@figma/code-connect 1.1.3 → 1.2.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.
Files changed (90) hide show
  1. package/README.md +2 -2
  2. package/dist/common/updates.js +1 -1
  3. package/dist/common/updates.js.map +1 -1
  4. package/dist/connect/api.d.ts +38 -6
  5. package/dist/connect/api.d.ts.map +1 -1
  6. package/dist/connect/create.d.ts.map +1 -1
  7. package/dist/connect/create.js +3 -0
  8. package/dist/connect/create.js.map +1 -1
  9. package/dist/connect/external_types.d.ts +2 -1
  10. package/dist/connect/external_types.d.ts.map +1 -1
  11. package/dist/connect/external_types.js +5 -1
  12. package/dist/connect/external_types.js.map +1 -1
  13. package/dist/connect/intrinsics.d.ts +4 -1
  14. package/dist/connect/intrinsics.d.ts.map +1 -1
  15. package/dist/connect/intrinsics.js +76 -36
  16. package/dist/connect/intrinsics.js.map +1 -1
  17. package/dist/connect/modifiers.d.ts +29 -0
  18. package/dist/connect/modifiers.d.ts.map +1 -0
  19. package/dist/connect/modifiers.js +109 -0
  20. package/dist/connect/modifiers.js.map +1 -0
  21. package/dist/connect/parser_common.d.ts +3 -3
  22. package/dist/connect/parser_common.d.ts.map +1 -1
  23. package/dist/connect/parser_common.js +18 -18
  24. package/dist/connect/parser_common.js.map +1 -1
  25. package/dist/connect/parser_executable_types.d.ts +21 -19
  26. package/dist/connect/parser_executable_types.d.ts.map +1 -1
  27. package/dist/connect/parser_executable_types.js.map +1 -1
  28. package/dist/connect/wizard/embeddings.d.ts +13 -0
  29. package/dist/connect/wizard/embeddings.d.ts.map +1 -0
  30. package/dist/connect/wizard/embeddings.js +22 -0
  31. package/dist/connect/wizard/embeddings.js.map +1 -0
  32. package/dist/connect/wizard/helpers.d.ts +2 -0
  33. package/dist/connect/wizard/helpers.d.ts.map +1 -1
  34. package/dist/connect/wizard/helpers.js +16 -1
  35. package/dist/connect/wizard/helpers.js.map +1 -1
  36. package/dist/connect/wizard/prop_mapping.d.ts +20 -10
  37. package/dist/connect/wizard/prop_mapping.d.ts.map +1 -1
  38. package/dist/connect/wizard/prop_mapping.js +156 -48
  39. package/dist/connect/wizard/prop_mapping.js.map +1 -1
  40. package/dist/connect/wizard/prop_mapping_helpers.d.ts +71 -0
  41. package/dist/connect/wizard/prop_mapping_helpers.d.ts.map +1 -0
  42. package/dist/connect/wizard/prop_mapping_helpers.js +176 -0
  43. package/dist/connect/wizard/prop_mapping_helpers.js.map +1 -0
  44. package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
  45. package/dist/connect/wizard/run_wizard.js +48 -16
  46. package/dist/connect/wizard/run_wizard.js.map +1 -1
  47. package/dist/connect/wizard/signature_extraction.d.ts +2 -4
  48. package/dist/connect/wizard/signature_extraction.d.ts.map +1 -1
  49. package/dist/connect/wizard/signature_extraction.js +119 -33
  50. package/dist/connect/wizard/signature_extraction.js.map +1 -1
  51. package/dist/html/external.d.ts +1 -1
  52. package/dist/html/external.d.ts.map +1 -1
  53. package/dist/html/external.js +6 -5
  54. package/dist/html/external.js.map +1 -1
  55. package/dist/html/index_html.d.ts +1 -1
  56. package/dist/html/index_html.d.ts.map +1 -1
  57. package/dist/html/parser.d.ts.map +1 -1
  58. package/dist/html/parser.js +16 -12
  59. package/dist/html/parser.js.map +1 -1
  60. package/dist/html/parser_template_helpers.d.ts +8 -0
  61. package/dist/html/parser_template_helpers.d.ts.map +1 -1
  62. package/dist/html/parser_template_helpers.js +19 -3
  63. package/dist/html/parser_template_helpers.js.map +1 -1
  64. package/dist/html/types.d.ts +1 -1
  65. package/dist/html/types.d.ts.map +1 -1
  66. package/dist/react/create.d.ts.map +1 -1
  67. package/dist/react/create.js +69 -22
  68. package/dist/react/create.js.map +1 -1
  69. package/dist/react/external.d.ts +1 -2
  70. package/dist/react/external.d.ts.map +1 -1
  71. package/dist/react/external.js +1 -4
  72. package/dist/react/external.js.map +1 -1
  73. package/dist/react/index_react.d.ts +25 -2
  74. package/dist/react/index_react.d.ts.map +1 -1
  75. package/dist/react/index_react.js.map +1 -1
  76. package/dist/react/parser.d.ts +38 -14
  77. package/dist/react/parser.d.ts.map +1 -1
  78. package/dist/react/parser.js +128 -215
  79. package/dist/react/parser.js.map +1 -1
  80. package/dist/react/parser_template_helpers.d.ts +5 -1
  81. package/dist/react/parser_template_helpers.d.ts.map +1 -1
  82. package/dist/react/parser_template_helpers.js +20 -3
  83. package/dist/react/parser_template_helpers.js.map +1 -1
  84. package/dist/react/types.d.ts +6 -2
  85. package/dist/react/types.d.ts.map +1 -1
  86. package/dist/storybook/convert.js +1 -1
  87. package/dist/storybook/convert.js.map +1 -1
  88. package/dist/storybook/external.d.ts +2 -2
  89. package/dist/storybook/external.d.ts.map +1 -1
  90. package/package.json +12 -10
package/README.md CHANGED
@@ -11,7 +11,7 @@ Code Connect is easy to set up, easy to maintain, type-safe, and extensible. Out
11
11
 
12
12
  ## CLI installation
13
13
 
14
- To install Code Connect locally to a React project, you can follow the instructions in the [React README](https://github.com/figma/code-connect/blob/main/cli/README.md#installation).
14
+ To install Code Connect locally to a React project, you can follow the instructions in the [React README](https://github.com/figma/code-connect/blob/main/docs/react.md#installation).
15
15
 
16
16
  For other platforms, you first need to have Node.js v16 or newer installed on your computer. You can check if you already have Node.js installed and which version by running `node -v`. If you need to install Node.js, instructions for all platforms can be found [on the Node.js website](https://nodejs.org/en/download/package-manager).
17
17
 
@@ -38,7 +38,7 @@ Every platform supports some common configuration options, in addition to any pl
38
38
 
39
39
  ### `include` and `exclude`
40
40
 
41
- `include` and `exclude` are lists of globs for where to parse Code Connect files, and for where to search for your component code when using the [interactive setup](https://github.com/figma/code-connect/blob/main/cli/README.md#interactive-setup). `include` and `exclude` paths must be relative to the location of the config file.
41
+ `include` and `exclude` are lists of globs for where to parse Code Connect files, and for where to search for your component code when using the [interactive setup](https://github.com/figma/code-connect/blob/main/docs/react.md#interactive-setup). `include` and `exclude` paths must be relative to the location of the config file.
42
42
 
43
43
  ```jsonp
44
44
  {
@@ -84,7 +84,7 @@ function maybeShowUpdateMessage() {
84
84
  if (updatedVersionAvailable) {
85
85
  logging_1.logger.warn(`\nA new version of the Figma CLI is available. v${require('../../package.json').version} is currently installed, and the latest version available is v${updatedVersionAvailable}.
86
86
 
87
- To update, run ${chalk_1.default.whiteBright('npm install @figma/code-connect@latest')} for React, or ${chalk_1.default.whiteBright('npm install -g @figma/code-connect@latest')} for other targets (or if you have Code Connect installed globally).`);
87
+ To update, run ${chalk_1.default.whiteBright('npm install @figma/code-connect@latest')} for React or HTML, or ${chalk_1.default.whiteBright('npm install -g @figma/code-connect@latest')} for other targets (or if you have Code Connect installed globally).`);
88
88
  }
89
89
  if (message) {
90
90
  logging_1.logger.warn(`\n${message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/common/updates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/common/updates.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,38 @@
1
1
  /// <reference types="react" />
2
2
  export type EnumValue = string | boolean | number | symbol | undefined | JSX.Element | Function | Object;
3
- export interface FigmaConnectAPI<InstanceChildrenT> {
3
+ /**
4
+ * These types are intended to be returned by figma helper functions for exposing the
5
+ * supported output modifiers for that type. There's no implementation for these types,
6
+ * they are resolved to primitive types when the `props` object is passed to `example`.
7
+ */
8
+ export interface ConnectedComponent {
9
+ /**
10
+ * Returns the resolved props of the connected component. This is useful for accessing
11
+ * the `props` object of a child in a parent context. For example:
12
+ * ```ts
13
+ * figma.connect("parent", {
14
+ * props: {
15
+ * iconProps: figma.instance("Icon").getProps(),
16
+ * },
17
+ * example: (iconProps) => <IconButton iconId={iconProps.iconId} />,
18
+ * }
19
+ */
20
+ getProps<T = any>(): T;
21
+ /**
22
+ * Renders the instance with the provided render function. The function is passed the resolved
23
+ * `props` of the nested connected component. This is useful for dynamically rendering a child
24
+ * component depending on parent context. For example:
25
+ * ```ts
26
+ * figma.connect("parent", {
27
+ * props: {
28
+ * icon: figma.instance("Icon").render(({ iconId }) => <Button.Icon iconId={iconId} />),
29
+ * },
30
+ * example: ({ icon }) => <Button icon={icon}/>,
31
+ * }
32
+ */
33
+ render<T = unknown>(renderFunction: (props: T) => JSX.Element): JSX.Element;
34
+ }
35
+ export interface FigmaConnectAPI<InstanceChildrenT, ChildrenT> {
4
36
  /**
5
37
  * Maps a Figma Variant property to a set if values for the connected component. This prop is replaced
6
38
  * with values from the Figma instance when viewed in Dev Mode. For example:
@@ -43,7 +75,7 @@ export interface FigmaConnectAPI<InstanceChildrenT> {
43
75
  *
44
76
  * @param figmaPropName The name of the property on the Figma component
45
77
  */
46
- instance(figmaPropName: string): InstanceChildrenT;
78
+ instance<T = InstanceChildrenT>(figmaPropName: string): T;
47
79
  /**
48
80
  * Maps a Figma instance layer to a nested code example. For example:
49
81
  * ```ts
@@ -64,7 +96,7 @@ export interface FigmaConnectAPI<InstanceChildrenT> {
64
96
  *
65
97
  * @param figmaPropName The name of the property on the Figma component
66
98
  */
67
- children(layerNames: string | string[]): InstanceChildrenT;
99
+ children(layerNames: string | string[]): ChildrenT;
68
100
  /**
69
101
  * Creates a className string by joining an array of strings. The argument supports both
70
102
  * string literals and nested functions like `figma.enum` and `figma.boolean` that return
@@ -103,7 +135,7 @@ export interface FigmaConnectLink {
103
135
  name: string;
104
136
  url: string;
105
137
  }
106
- export interface FigmaConnectMeta<T = {}, ExampleFnReturnT = unknown, ExtraExampleT = never> {
138
+ export interface FigmaConnectMeta<PropsT = {}, ResolvedPropsT = {}, ExampleFnReturnT = unknown, ExtraExampleT = never> {
107
139
  /**
108
140
  * Restricts this figma connect to any variants that fullfill the given filter.
109
141
  * The filter is a map of Figma variant names to values. Example:
@@ -127,14 +159,14 @@ export interface FigmaConnectMeta<T = {}, ExampleFnReturnT = unknown, ExtraExamp
127
159
  * }),
128
160
  * }
129
161
  */
130
- props?: T;
162
+ props?: PropsT;
131
163
  /**
132
164
  * The code example to display in Figma. Any mapped `props` are passed to the component,
133
165
  * where those values will be replaced with the mapped value when inspecting that instance in Figma.
134
166
  * @param props
135
167
  * @returns
136
168
  */
137
- example?: ((props: T) => ExampleFnReturnT) | ExtraExampleT;
169
+ example?: ((props: ResolvedPropsT) => ExampleFnReturnT) | ExtraExampleT;
138
170
  /**
139
171
  * A list of links that will display in Figma along with the examples
140
172
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/connect/api.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,GAAG,CAAC,OAAO,GACX,QAAQ,GACR,MAAM,CAAA;AASV,MAAM,WAAW,eAAe,CAAC,iBAAiB;IAChD;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;IAEpF;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAErC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAElD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,iBAAiB,CAAA;IAE1D;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAAA;IAEpD;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEnC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CACzB,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAKD,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,gBAAgB,GAAG,OAAO,EAAE,aAAa,GAAG,KAAK;IACzF;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAA;IAEnD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,CAAC,CAAA;IAET;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,CAAC,GAAG,aAAa,CAAA;IAE1D;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC3B"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/connect/api.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,GAAG,CAAC,OAAO,GACX,QAAQ,GACR,MAAM,CAAA;AAEV;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAA;IACtB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;CAC5E;AASD,MAAM,WAAW,eAAe,CAAC,iBAAiB,EAAE,SAAS;IAC3D;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;IAEpF;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAErC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,CAAC,GAAG,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC,CAAA;IAEzD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;IAElD;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAAA;IAEpD;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEnC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CACzB,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAKD,MAAM,WAAW,gBAAgB,CAC/B,MAAM,GAAG,EAAE,EACX,cAAc,GAAG,EAAE,EACnB,gBAAgB,GAAG,OAAO,EAC1B,aAAa,GAAG,KAAK;IAErB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAA;IAEnD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,gBAAgB,CAAC,GAAG,aAAa,CAAA;IAEvE;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"AAWA,OAAO,EAAqC,WAAW,EAAE,MAAM,WAAW,CAAA;AAM1E,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,UAQlD;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,GACZ,EAAE,gBAAgB,iBAuGlB"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"AAWA,OAAO,EAAqC,WAAW,EAAE,MAAM,WAAW,CAAA;AAM1E,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,UAQlD;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,GACZ,EAAE,gBAAgB,iBA0GlB"}
@@ -70,6 +70,9 @@ async function createCodeConnectFromUrl({ accessToken, figmaNodeUrl, outFile, ou
70
70
  if (response.status === 200) {
71
71
  logging_1.logger.info('Parsing response');
72
72
  const component = (0, helpers_1.findComponentsInDocument)(response.data.document, nodeIds)[0];
73
+ if (component === undefined) {
74
+ (0, logging_1.exitWithError)('Could not find a component in the provided URL');
75
+ }
73
76
  const normalizedName = normalizeComponentName(component.name);
74
77
  const payload = {
75
78
  mode: 'CREATE',
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAKkB;AAClB,+CAA2C;AAC3C,4CAAmB;AACnB,qDAAwD;AACxD,+CAAyD;AACzD,6DAAiE;AAEjE,4CAAwD;AAExD,uEAAuF;AACvF,+DAAgD;AAChD,2CAAsD;AAStD,SAAgB,sBAAsB,CAAC,IAAY;IACjD,6EAA6E;IAC7E,OAAO,IAAI;SACR,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC;SACR,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC;AARD,wDAQC;AAEM,KAAK,UAAU,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,GACM;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,YAAY,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,CAAC,YAAY,CAAC,CAAC,CAAA;QAE5C,MAAM,MAAM,GACV,IAAA,0BAAS,EAAC,YAAY,IAAI,EAAE,CAAC,GAAG,iBAAiB,OAAO,iBAAiB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QAE9F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAA,uBAAa,EACX,6CAA6C,YAAY,8BAA8B,CACxF,CAAA;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAA,uBAAa,EACX,6CAA6C,YAAY,kCAAkC,CAC5F,CAAA;QACH,CAAC;QAED,gBAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC;YAChE,CAAC,CAAC;gBACE,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CACd,YAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAC5E;aACF;YACH,CAAC,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,MAAM,EAAE;gBACtB,OAAO,EAAE,IAAA,2BAAU,EAAC,WAAW,CAAC;aACjC,CAAC,CAAA;QAEN,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,gBAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC/B,MAAM,SAAS,GAAG,IAAA,kCAAwB,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9E,MAAM,cAAc,GAAG,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAE7D,MAAM,OAAO,GAAyB;gBACpC,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE;gBAC/D,eAAe,EAAE,OAAO;gBACxB,SAAS,EAAE;oBACT,YAAY;oBACZ,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,cAAc;oBACd,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,4BAA4B,EAAE,SAAS,CAAC,4BAA4B;iBACrE;gBACD,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAA;YAED,gBAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;YAE/C,IAAI,MAA6C,CAAA;YAEjD,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC1C,MAAM,GAAG,MAAM,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAA;YAChD,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAChD,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAU;oBAC7B,iEAAiE;oBACjE,iDAAiD;oBACjD,WAAW,CAAC,MAA2C,EACvD,OAAO,EACP,WAAW,CAAC,OAAO,CACpB,CAAA;oBAED,MAAM,GAAG,+CAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBAC9C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,IAAA,gCAAS,EAAC,CAAC,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,mCAAc,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAErD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAA,uBAAa,EAAC,4CAA4C,CAAC,CAAA;YAC7D,CAAC;YAED,gBAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;YACzD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,gBAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,0DAA0D,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YACzF,gBAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAA,oBAAY,EAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,gBAAM,CAAC,KAAK,CACV,uCAAuC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CACtI,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,KAAK,CAAC,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACpE,CAAC;YACD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,IAAA,iCAAuB,EAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AA7GD,4DA6GC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { PropMapping, ValueOf, EnumValue } from './api';
1
+ import { PropMapping, ValueOf, EnumValue, ConnectedComponent } from './api';
2
2
  export declare function booleanType(_figmaPropName: string): boolean;
3
3
  export declare function enumType<V extends EnumValue>(_figmaPropName: string, _valueMapping: PropMapping<Record<string, V>>): ValueOf<Record<string, V>>;
4
4
  export declare function stringType(_figmaPropName: string): string;
5
5
  export declare function nestedPropsType<T>(_layer: string, props: T): T;
6
6
  export declare function classNameType(_className: (string | undefined)[]): string;
7
7
  export declare function textContentType(_layer: string): string;
8
+ export declare function instanceType<T = ConnectedComponent>(_figmaPropName: string): T;
8
9
  //# sourceMappingURL=external_types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external_types.d.ts","sourceRoot":"","sources":["../../src/connect/external_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvD,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAA;AAW5D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAC1C,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAE5B;AAED,wBAAgB,UAAU,CAAC,cAAc,EAAE,MAAM,UAEhD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAE1D;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,UAE/D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,UAE7C"}
1
+ {"version":3,"file":"external_types.d.ts","sourceRoot":"","sources":["../../src/connect/external_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAE3E,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAA;AAW5D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAC1C,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAE5B;AAED,wBAAgB,UAAU,CAAC,cAAc,EAAE,MAAM,UAEhD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAE1D;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,UAE/D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,UAE7C;AAED,wBAAgB,YAAY,CAAC,CAAC,GAAG,kBAAkB,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,CAE9E"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.textContentType = exports.classNameType = exports.nestedPropsType = exports.stringType = exports.enumType = exports.booleanType = void 0;
3
+ exports.instanceType = exports.textContentType = exports.classNameType = exports.nestedPropsType = exports.stringType = exports.enumType = exports.booleanType = void 0;
4
4
  function booleanType(_figmaPropName, _valueMapping) {
5
5
  if (_valueMapping) {
6
6
  return enumType(_figmaPropName, _valueMapping);
@@ -28,4 +28,8 @@ function textContentType(_layer) {
28
28
  return '';
29
29
  }
30
30
  exports.textContentType = textContentType;
31
+ function instanceType(_figmaPropName) {
32
+ return undefined;
33
+ }
34
+ exports.instanceType = instanceType;
31
35
  //# sourceMappingURL=external_types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external_types.js","sourceRoot":"","sources":["../../src/connect/external_types.ts"],"names":[],"mappings":";;;AAGA,SAAgB,WAAW,CACzB,cAAsB,EACtB,aAA2C;IAE3C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAI,cAAc,EAAE,aAAa,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AARD,kCAQC;AAED,SAAgB,QAAQ,CACtB,cAAsB,EACtB,aAA6C;IAE7C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAA+B,CAAA;AACtE,CAAC;AALD,4BAKC;AAED,SAAgB,UAAU,CAAC,cAAsB;IAC/C,OAAO,EAAE,CAAA;AACX,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe,CAAI,MAAc,EAAE,KAAQ;IACzD,OAAO,KAAK,CAAA;AACd,CAAC;AAFD,0CAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC9D,OAAO,EAAE,CAAA;AACX,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,EAAE,CAAA;AACX,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"external_types.js","sourceRoot":"","sources":["../../src/connect/external_types.ts"],"names":[],"mappings":";;;AAGA,SAAgB,WAAW,CACzB,cAAsB,EACtB,aAA2C;IAE3C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAI,cAAc,EAAE,aAAa,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AARD,kCAQC;AAED,SAAgB,QAAQ,CACtB,cAAsB,EACtB,aAA6C;IAE7C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAA+B,CAAA;AACtE,CAAC;AALD,4BAKC;AAED,SAAgB,UAAU,CAAC,cAAsB;IAC/C,OAAO,EAAE,CAAA;AACX,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe,CAAI,MAAc,EAAE,KAAQ;IACzD,OAAO,KAAK,CAAA;AACd,CAAC;AAFD,0CAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC9D,OAAO,EAAE,CAAA;AACX,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,EAAE,CAAA;AACX,CAAC;AAFD,0CAEC;AAED,SAAgB,YAAY,CAAyB,cAAsB;IACzE,OAAO,SAAc,CAAA;AACvB,CAAC;AAFD,oCAEC"}
@@ -1,6 +1,7 @@
1
1
  import * as ts from 'typescript';
2
2
  import { ParserContext } from './parser_common';
3
3
  import { FCCValue } from '../react/parser_template_helpers';
4
+ import { Modifier } from './modifiers';
4
5
  export declare const API_PREFIX = "figma";
5
6
  export declare const FIGMA_CONNECT_CALL = "figma.connect";
6
7
  export declare enum IntrinsicKind {
@@ -16,6 +17,7 @@ export declare enum IntrinsicKind {
16
17
  export interface IntrinsicBase {
17
18
  kind: IntrinsicKind;
18
19
  args: {};
20
+ modifiers?: Modifier[];
19
21
  }
20
22
  export type ValueMappingKind = FCCValue | Intrinsic;
21
23
  export interface FigmaBoolean extends IntrinsicBase {
@@ -79,8 +81,9 @@ export type Intrinsic = FigmaBoolean | FigmaEnum | FigmaString | FigmaInstance |
79
81
  * @returns
80
82
  */
81
83
  export declare function parseIntrinsic(exp: ts.CallExpression, parserContext: ParserContext): Intrinsic;
84
+ export declare function valueToString(value: ValueMappingKind, childLayer?: string): string;
82
85
  export declare function valueMappingToString(valueMapping: ValueMapping, childLayer?: string): string;
83
- export declare function intrinsicToString({ kind, args }: Intrinsic, childLayer?: string): string;
86
+ export declare function intrinsicToString({ kind, args, modifiers }: Intrinsic, childLayer?: string): string;
84
87
  /**
85
88
  * Parses the `props` field in a `figma.connect()` call, returning a mapping of
86
89
  * prop names to their respective intrinsic types
@@ -1 +1 @@
1
- {"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../../src/connect/intrinsics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,EAAiB,aAAa,EAAe,MAAM,iBAAiB,CAAA;AAS3E,OAAO,EACL,QAAQ,EAMT,MAAM,kCAAkC,CAAA;AAIzC,eAAO,MAAM,UAAU,UAAU,CAAA;AACjC,eAAO,MAAM,kBAAkB,kBAA0B,CAAA;AAEzD,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;IAC5B,SAAS,cAAc;IACvB,WAAW,iBAAiB;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,EAAE,CAAA;CACT;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEnD,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAA;IAC3B,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,gBAAgB,CAAC,CAAA;KAC1D,CAAA;CACF;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;AAE3D,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,IAAI,EAAE,aAAa,CAAC,IAAI,CAAA;IACxB,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,YAAY,CAAA;KAC3B,CAAA;CACF;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAA;IAC1B,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAA;IAC5B,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAA;IAC5B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;CACF;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,IAAI,EAAE,aAAa,CAAC,WAAW,CAAA;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KACjC,CAAA;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,IAAI,EAAE,aAAa,CAAC,SAAS,CAAA;IAC7B,IAAI,EAAE;QACJ,SAAS,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;KAClC,CAAA;CACF;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,IAAI,EAAE,aAAa,CAAC,WAAW,CAAA;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,SAAS,GACT,WAAW,GACX,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,gBAAgB,CAAA;AAuQpB;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,GAAG,SAAS,CAW9F;AAUD,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAiD5F;AAID,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAuDxF;AAoCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,EAAE,CAAC,uBAAuB,EACzC,aAAa,EAAE,aAAa,GAC3B,YAAY,CAQd;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../../src/connect/intrinsics.ts"],"names":[],"mappings":"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"}
@@ -23,13 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.parsePropsObject = exports.intrinsicToString = exports.valueMappingToString = exports.parseIntrinsic = exports.IntrinsicKind = exports.FIGMA_CONNECT_CALL = exports.API_PREFIX = void 0;
26
+ exports.parsePropsObject = exports.intrinsicToString = exports.valueMappingToString = exports.valueToString = exports.parseIntrinsic = exports.IntrinsicKind = exports.FIGMA_CONNECT_CALL = exports.API_PREFIX = void 0;
27
27
  const ts = __importStar(require("typescript"));
28
28
  const parser_common_1 = require("./parser_common");
29
29
  const compiler_1 = require("../typescript/compiler");
30
30
  const compiler_2 = require("../typescript/compiler");
31
31
  const compiler_3 = require("../typescript/compiler");
32
32
  const parser_template_helpers_1 = require("../react/parser_template_helpers");
33
+ const modifiers_1 = require("./modifiers");
33
34
  exports.API_PREFIX = 'figma';
34
35
  exports.FIGMA_CONNECT_CALL = `${exports.API_PREFIX}.connect`;
35
36
  var IntrinsicKind;
@@ -58,7 +59,7 @@ function makeIntrinsic(intrinsicName, obj) {
58
59
  const name = `${exports.API_PREFIX}.${intrinsicName}`;
59
60
  Intrinsics[name] = {
60
61
  match: (exp) => {
61
- return ts.isCallExpression(exp) && exp.getText().startsWith(name);
62
+ return ts.isCallExpression(exp) && exp.getText().replace(/\s/g, '').startsWith(name);
62
63
  },
63
64
  ...obj(name),
64
65
  };
@@ -243,7 +244,39 @@ makeIntrinsic('textContent', (name) => {
243
244
  function parseIntrinsic(exp, parserContext) {
244
245
  for (const key in Intrinsics) {
245
246
  if (Intrinsics[key].match(exp)) {
246
- return Intrinsics[key].parse(exp, parserContext);
247
+ // Chained call expressions in TS are nested with the innermost call expression
248
+ // being the first in the chain. We need to reverse the chain so that the intrinsic
249
+ // is the first element in the array. The TS AST looks like this for a().b():
250
+ // CallExpression [a().b()] ->
251
+ // PropertyAccessExpression [a().b] ->
252
+ // CallExpression [a()]
253
+ let callChain = [];
254
+ let current = exp;
255
+ while (current) {
256
+ if (ts.isCallExpression(current)) {
257
+ callChain.push(current);
258
+ current = current.expression;
259
+ }
260
+ else if (ts.isPropertyAccessExpression(current)) {
261
+ current = current.expression;
262
+ }
263
+ else {
264
+ current = null;
265
+ }
266
+ }
267
+ // If there's only one call expression just return the matching intrinsic
268
+ callChain = callChain.reverse();
269
+ if (callChain.length <= 1) {
270
+ return Intrinsics[key].parse(exp, parserContext);
271
+ }
272
+ // The first call expression is the intrinsic itself, and any following call
273
+ // expressions are modifiers
274
+ const intrinsic = Intrinsics[key].parse(callChain.shift(), parserContext);
275
+ const modifiers = callChain.map((modifier) => (0, modifiers_1.parseModifier)(modifier, parserContext));
276
+ return {
277
+ ...intrinsic,
278
+ modifiers,
279
+ };
247
280
  }
248
281
  }
249
282
  throw new parser_common_1.ParserError(`Unknown intrinsic: ${exp.getText()}`, {
@@ -259,59 +292,66 @@ exports.parseIntrinsic = parseIntrinsic;
259
292
  function replaceNewlines(str) {
260
293
  return str.toString().replaceAll('\n', '\\n').replaceAll("'", "\\'");
261
294
  }
295
+ function valueToString(value, childLayer) {
296
+ if (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'undefined') {
297
+ return `${value}`;
298
+ }
299
+ if (typeof value === 'string') {
300
+ return `'${replaceNewlines(value)}'`;
301
+ }
302
+ if ('kind' in value) {
303
+ // Mappings can be nested, e.g. an enum value can be figma.instance(...)
304
+ return `${intrinsicToString(value, childLayer)}`;
305
+ }
306
+ // Convert objects to strings
307
+ const str = typeof value.$value === 'string' ? value.$value : `${JSON.stringify(value.$value)}`;
308
+ const v = replaceNewlines(str);
309
+ switch (value.$type) {
310
+ case 'function':
311
+ return `_fcc_function('${v}')`;
312
+ case 'identifier':
313
+ return `_fcc_identifier('${v}')`;
314
+ case 'object':
315
+ // Don't pass the object itself wrapped in quotes - this helper needs to instantiate the actual
316
+ // object, as it may be used in the snippet code
317
+ return `_fcc_object(${v})`;
318
+ case 'template-string':
319
+ return `_fcc_templateString('${v}')`;
320
+ case 'jsx-element':
321
+ return `_fcc_jsxElement('${v}')`;
322
+ default:
323
+ throw new parser_common_1.InternalError(`Unknown helper type: ${value}`);
324
+ }
325
+ }
326
+ exports.valueToString = valueToString;
262
327
  function valueMappingToString(valueMapping, childLayer) {
263
328
  // For enums (and booleans with a valueMapping provided), convert the
264
329
  // value mapping to an object.
265
330
  return ('{\n' +
266
331
  Object.entries(valueMapping)
267
332
  .map(([key, value]) => {
268
- if (typeof value === 'boolean' ||
269
- typeof value === 'number' ||
270
- typeof value === 'undefined') {
271
- return `"${key}": ${value}`;
272
- }
273
- if (typeof value === 'string') {
274
- return `"${key}": '${replaceNewlines(value)}'`;
275
- }
276
- if ('kind' in value) {
277
- // Mappings can be nested, e.g. an enum value can be figma.instance(...)
278
- return `"${key}": ${intrinsicToString(value, childLayer)}`;
279
- }
280
- // Convert objects to strings
281
- const str = typeof value.$value === 'string' ? value.$value : `${JSON.stringify(value.$value)}`;
282
- const v = replaceNewlines(str);
283
- switch (value.$type) {
284
- case 'function':
285
- return `"${key}": _fcc_function('${v}')`;
286
- case 'identifier':
287
- return `"${key}": _fcc_identifier('${v}')`;
288
- case 'object':
289
- // Don't pass the object itself wrapped in quotes - this helper needs to instantiate the actual
290
- // object, as it may be used in the snippet code
291
- return `"${key}": _fcc_object(${v})`;
292
- case 'template-string':
293
- return `"${key}": _fcc_templateString('${v}')`;
294
- case 'jsx-element':
295
- return `"${key}": _fcc_jsxElement('${v}')`;
296
- default:
297
- throw new parser_common_1.InternalError(`Unknown helper type: ${value}`);
298
- }
333
+ return `"${key}": ${valueToString(value, childLayer)}`;
299
334
  })
300
335
  .join(',\n') +
301
336
  '}');
302
337
  }
303
338
  exports.valueMappingToString = valueMappingToString;
304
339
  let nestedLayerCount = 0;
305
- function intrinsicToString({ kind, args }, childLayer) {
340
+ function intrinsicToString({ kind, args, modifiers = [] }, childLayer) {
306
341
  const selector = childLayer ?? `figma.currentLayer`;
307
342
  switch (kind) {
308
343
  case IntrinsicKind.String:
344
+ return `${selector}.__properties__.string('${args.figmaPropName}')`;
309
345
  case IntrinsicKind.Instance: {
310
346
  // Outputs:
311
347
  // `const propName = figma.properties.string('propName')`, or
312
348
  // `const propName = figma.properties.boolean('propName')`, or
313
349
  // `const propName = figma.properties.instance('propName')`
314
- return `${selector}.__properties__.${kind}('${args.figmaPropName}')`;
350
+ if (modifiers.length > 0) {
351
+ const instance = `${selector}.__properties__.__instance__('${args.figmaPropName}')`;
352
+ return [instance, ...modifiers.map(modifiers_1.modifierToString)].join('.');
353
+ }
354
+ return `${selector}.__properties__.instance('${args.figmaPropName}')`;
315
355
  }
316
356
  case IntrinsicKind.Boolean: {
317
357
  if (args.valueMapping) {
@@ -1 +1 @@
1
- {"version":3,"file":"intrinsics.js","sourceRoot":"","sources":["../../src/connect/intrinsics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intrinsics.js","sourceRoot":"","sources":["../../src/connect/intrinsics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import * as ts from 'typescript';
2
+ import { ParserContext } from './parser_common';
3
+ export declare enum ModifierKind {
4
+ GetProps = "getProps",
5
+ Render = "render"
6
+ }
7
+ export interface ModifierBase {
8
+ kind: ModifierKind;
9
+ }
10
+ export interface GetPropsModifier extends ModifierBase {
11
+ kind: ModifierKind.GetProps;
12
+ }
13
+ export interface RenderModifier extends ModifierBase {
14
+ kind: ModifierKind.Render;
15
+ args: {
16
+ renderFn: {
17
+ code: string;
18
+ imports: {
19
+ statement: string;
20
+ file: string;
21
+ }[];
22
+ referencedProps: Set<string>;
23
+ };
24
+ };
25
+ }
26
+ export type Modifier = GetPropsModifier | RenderModifier;
27
+ export declare function parseModifier(exp: ts.CallExpression, parserContext: ParserContext): Modifier;
28
+ export declare function modifierToString(modifier: Modifier): string;
29
+ //# sourceMappingURL=modifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modifiers.d.ts","sourceRoot":"","sources":["../../src/connect/modifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAe,MAAM,iBAAiB,CAAA;AAG5D,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAA;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAA;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,YAAY,CAAC,MAAM,CAAA;IACzB,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE;gBAAE,SAAS,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;YAC9C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;SAC7B,CAAA;KACF,CAAA;CACF;AAED,MAAM,MAAM,QAAQ,GAAG,gBAAgB,GAAG,cAAc,CAAA;AA8ExD,wBAAgB,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,GAAG,QAAQ,CAW5F;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,UAYlD"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.modifierToString = exports.parseModifier = exports.ModifierKind = void 0;
27
+ const ts = __importStar(require("typescript"));
28
+ const parser_common_1 = require("./parser_common");
29
+ const parser_1 = require("../react/parser");
30
+ var ModifierKind;
31
+ (function (ModifierKind) {
32
+ ModifierKind["GetProps"] = "getProps";
33
+ ModifierKind["Render"] = "render";
34
+ })(ModifierKind || (exports.ModifierKind = ModifierKind = {}));
35
+ const Modifiers = {
36
+ ...getInstanceModifiers(),
37
+ };
38
+ function makeModifier(modifierName, modifier) {
39
+ return {
40
+ match: (exp) => {
41
+ return (ts.isCallExpression(exp) &&
42
+ ts.isPropertyAccessExpression(exp.expression) &&
43
+ exp.expression.name.getText() === modifierName);
44
+ },
45
+ parse: modifier,
46
+ };
47
+ }
48
+ function getInstanceModifiers() {
49
+ return {
50
+ getProps: makeModifier('getProps', () => {
51
+ return {
52
+ kind: ModifierKind.GetProps,
53
+ };
54
+ }),
55
+ render: makeModifier('render', (exp, parserContext) => {
56
+ const renderFunction = exp.arguments?.[0];
57
+ if (renderFunction &&
58
+ (ts.isArrowFunction(renderFunction) ||
59
+ ts.isFunctionExpression(renderFunction) ||
60
+ ts.isFunctionDeclaration(renderFunction)) &&
61
+ (0, parser_1.findJSXElement)(renderFunction)) {
62
+ const { code, imports, referencedProps } = (0, parser_1.parseRenderFunctionExpression)(renderFunction, parserContext);
63
+ return {
64
+ kind: ModifierKind.Render,
65
+ args: {
66
+ renderFn: {
67
+ code,
68
+ imports,
69
+ referencedProps,
70
+ },
71
+ },
72
+ };
73
+ }
74
+ else {
75
+ throw new parser_common_1.ParserError('first argument to render() must be a render function that returns a single JSX element', {
76
+ node: exp,
77
+ sourceFile: parserContext.sourceFile,
78
+ });
79
+ }
80
+ }),
81
+ };
82
+ }
83
+ function parseModifier(exp, parserContext) {
84
+ for (const key in Modifiers) {
85
+ if (Modifiers[key].match(exp)) {
86
+ return Modifiers[key].parse(exp, parserContext);
87
+ }
88
+ }
89
+ throw new parser_common_1.ParserError(`Unknown modifier: ${exp.getText()}`, {
90
+ node: exp,
91
+ sourceFile: parserContext.sourceFile,
92
+ });
93
+ }
94
+ exports.parseModifier = parseModifier;
95
+ function modifierToString(modifier) {
96
+ switch (modifier.kind) {
97
+ case ModifierKind.GetProps: {
98
+ return '__getProps__()';
99
+ }
100
+ case ModifierKind.Render: {
101
+ const { code, referencedProps } = modifier.args.renderFn;
102
+ return `__renderWithFn__(({${Array.from(referencedProps).join(',')}}) => ${code})`;
103
+ }
104
+ default:
105
+ throw new Error('Unknown modifier');
106
+ }
107
+ }
108
+ exports.modifierToString = modifierToString;
109
+ //# sourceMappingURL=modifiers.js.map