@figma/code-connect 1.1.4 → 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 (81) hide show
  1. package/dist/connect/api.d.ts +38 -6
  2. package/dist/connect/api.d.ts.map +1 -1
  3. package/dist/connect/external_types.d.ts +2 -1
  4. package/dist/connect/external_types.d.ts.map +1 -1
  5. package/dist/connect/external_types.js +5 -1
  6. package/dist/connect/external_types.js.map +1 -1
  7. package/dist/connect/intrinsics.d.ts +4 -1
  8. package/dist/connect/intrinsics.d.ts.map +1 -1
  9. package/dist/connect/intrinsics.js +76 -36
  10. package/dist/connect/intrinsics.js.map +1 -1
  11. package/dist/connect/modifiers.d.ts +29 -0
  12. package/dist/connect/modifiers.d.ts.map +1 -0
  13. package/dist/connect/modifiers.js +109 -0
  14. package/dist/connect/modifiers.js.map +1 -0
  15. package/dist/connect/parser_common.d.ts +3 -3
  16. package/dist/connect/parser_common.d.ts.map +1 -1
  17. package/dist/connect/parser_common.js +18 -18
  18. package/dist/connect/parser_common.js.map +1 -1
  19. package/dist/connect/wizard/embeddings.d.ts +13 -0
  20. package/dist/connect/wizard/embeddings.d.ts.map +1 -0
  21. package/dist/connect/wizard/embeddings.js +22 -0
  22. package/dist/connect/wizard/embeddings.js.map +1 -0
  23. package/dist/connect/wizard/helpers.d.ts +2 -0
  24. package/dist/connect/wizard/helpers.d.ts.map +1 -1
  25. package/dist/connect/wizard/helpers.js +16 -1
  26. package/dist/connect/wizard/helpers.js.map +1 -1
  27. package/dist/connect/wizard/prop_mapping.d.ts +7 -17
  28. package/dist/connect/wizard/prop_mapping.d.ts.map +1 -1
  29. package/dist/connect/wizard/prop_mapping.js +103 -97
  30. package/dist/connect/wizard/prop_mapping.js.map +1 -1
  31. package/dist/connect/wizard/prop_mapping_helpers.d.ts +71 -0
  32. package/dist/connect/wizard/prop_mapping_helpers.d.ts.map +1 -0
  33. package/dist/connect/wizard/prop_mapping_helpers.js +176 -0
  34. package/dist/connect/wizard/prop_mapping_helpers.js.map +1 -0
  35. package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
  36. package/dist/connect/wizard/run_wizard.js +48 -23
  37. package/dist/connect/wizard/run_wizard.js.map +1 -1
  38. package/dist/connect/wizard/signature_extraction.d.ts +2 -4
  39. package/dist/connect/wizard/signature_extraction.d.ts.map +1 -1
  40. package/dist/connect/wizard/signature_extraction.js +119 -33
  41. package/dist/connect/wizard/signature_extraction.js.map +1 -1
  42. package/dist/html/external.d.ts +1 -1
  43. package/dist/html/external.d.ts.map +1 -1
  44. package/dist/html/external.js +6 -5
  45. package/dist/html/external.js.map +1 -1
  46. package/dist/html/index_html.d.ts +1 -1
  47. package/dist/html/index_html.d.ts.map +1 -1
  48. package/dist/html/parser.d.ts.map +1 -1
  49. package/dist/html/parser.js +16 -12
  50. package/dist/html/parser.js.map +1 -1
  51. package/dist/html/parser_template_helpers.d.ts +8 -0
  52. package/dist/html/parser_template_helpers.d.ts.map +1 -1
  53. package/dist/html/parser_template_helpers.js +19 -3
  54. package/dist/html/parser_template_helpers.js.map +1 -1
  55. package/dist/html/types.d.ts +1 -1
  56. package/dist/html/types.d.ts.map +1 -1
  57. package/dist/react/create.d.ts.map +1 -1
  58. package/dist/react/create.js +31 -19
  59. package/dist/react/create.js.map +1 -1
  60. package/dist/react/external.d.ts +1 -2
  61. package/dist/react/external.d.ts.map +1 -1
  62. package/dist/react/external.js +1 -4
  63. package/dist/react/external.js.map +1 -1
  64. package/dist/react/index_react.d.ts +25 -2
  65. package/dist/react/index_react.d.ts.map +1 -1
  66. package/dist/react/index_react.js.map +1 -1
  67. package/dist/react/parser.d.ts +37 -14
  68. package/dist/react/parser.d.ts.map +1 -1
  69. package/dist/react/parser.js +102 -194
  70. package/dist/react/parser.js.map +1 -1
  71. package/dist/react/parser_template_helpers.d.ts +5 -1
  72. package/dist/react/parser_template_helpers.d.ts.map +1 -1
  73. package/dist/react/parser_template_helpers.js +20 -3
  74. package/dist/react/parser_template_helpers.js.map +1 -1
  75. package/dist/react/types.d.ts +6 -2
  76. package/dist/react/types.d.ts.map +1 -1
  77. package/dist/storybook/convert.js +1 -1
  78. package/dist/storybook/convert.js.map +1 -1
  79. package/dist/storybook/external.d.ts +2 -2
  80. package/dist/storybook/external.d.ts.map +1 -1
  81. package/package.json +9 -8
@@ -4,43 +4,129 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extractSignature = void 0;
7
- const typescript_1 = __importDefault(require("typescript"));
8
- const parser_1 = require("../../react/parser");
9
- function extractSignature({ nameToFind, sourceFilePath, projectInfo, }) {
10
- const { tsProgram } = projectInfo;
11
- const checker = tsProgram.getTypeChecker();
12
- // Get source file
13
- const sourceFile = tsProgram.getSourceFile(sourceFilePath);
14
- if (!sourceFile) {
15
- throw new Error(`Could not find source for file: ${sourceFilePath}`);
16
- }
17
- for (const statement of sourceFile.statements) {
18
- if (!(typescript_1.default.isFunctionDeclaration(statement) || typescript_1.default.isVariableStatement(statement))) {
19
- continue;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const find_up_1 = __importDefault(require("find-up"));
10
+ const ts_morph_1 = require("ts-morph");
11
+ const DEFAULT_COMPONENT = 'DefaultComponent';
12
+ const REACT_INTERFACE_NAMES = ['HTMLAttributes', 'Attributes', 'AriaAttributes', 'DOMAttributes'];
13
+ const IGNORE_REACT_PROPS = ['ref', 'key'];
14
+ let tsMorphProject;
15
+ function extractSignature({ nameToFind, sourceFilePath, }) {
16
+ if (!tsMorphProject) {
17
+ const tsConfigFilePath = findTsConfigPath(path_1.default.dirname(sourceFilePath));
18
+ const options = tsConfigFilePath
19
+ ? { tsConfigFilePath }
20
+ : {
21
+ compilerOptions: {
22
+ target: ts_morph_1.ScriptTarget.ESNext,
23
+ module: ts_morph_1.ts.ModuleKind.CommonJS,
24
+ jsx: ts_morph_1.ts.JsxEmit.React,
25
+ esModuleInterop: true,
26
+ skipLibCheck: true,
27
+ lib: ['ES2021'],
28
+ strict: true,
29
+ rootDir: 'src',
30
+ },
31
+ };
32
+ tsMorphProject = new ts_morph_1.Project(options);
33
+ }
34
+ tsMorphProject.addSourceFileAtPath(sourceFilePath);
35
+ const signatureSourcePath = path_1.default.join(path_1.default.dirname(sourceFilePath), 'extracted_signature.ts');
36
+ const signatureSourceFile = tsMorphProject.createSourceFile(signatureSourcePath);
37
+ const filename = path_1.default.parse(sourceFilePath).name.split('.')[0];
38
+ if (nameToFind === 'default') {
39
+ signatureSourceFile.addImportDeclaration({
40
+ defaultImport: DEFAULT_COMPONENT,
41
+ moduleSpecifier: `./${filename}`,
42
+ });
43
+ }
44
+ else {
45
+ signatureSourceFile.addImportDeclaration({
46
+ namedImports: [nameToFind],
47
+ moduleSpecifier: `./${filename}`,
48
+ });
49
+ }
50
+ /**
51
+ * Flatten the component's props type by creating a virtual TS source file
52
+ * and adding this type alias, which has the effect of flattening any inherited
53
+ * types down to a single type, then extract the final type from this new type
54
+ */
55
+ signatureSourceFile.addTypeAlias({
56
+ name: 'ExtractFinalType',
57
+ typeParameters: ['T'],
58
+ type: 'T extends infer R ? { [K in keyof R]: R[K] } : never',
59
+ });
60
+ const typeAlias = signatureSourceFile.addTypeAlias({
61
+ name: '__FinalType',
62
+ type: `ExtractFinalType<React.ComponentProps<typeof ${nameToFind === 'default' ? DEFAULT_COMPONENT : nameToFind}>>`,
63
+ });
64
+ let type = typeAlias.getType();
65
+ // For simplicity, if top-level type is a union, use the first type
66
+ if (type.isUnion()) {
67
+ type = type.getUnionTypes()[0];
68
+ }
69
+ if (!type.isObject()) {
70
+ tsMorphProject.removeSourceFile(signatureSourceFile);
71
+ throw new Error('Props not an object: ' + type.getText());
72
+ }
73
+ else {
74
+ const props = type.getProperties();
75
+ const result = {};
76
+ for (const prop of props) {
77
+ const propString = getPropString(prop, signatureSourceFile);
78
+ if (propString) {
79
+ result[prop.getName()] = propString;
80
+ }
20
81
  }
21
- if (!statement.modifiers?.some((modifier) => modifier.kind === typescript_1.default.SyntaxKind.ExportKeyword)) {
22
- continue;
82
+ tsMorphProject.removeSourceFile(signatureSourceFile);
83
+ return result;
84
+ }
85
+ }
86
+ exports.extractSignature = extractSignature;
87
+ function getPropString(prop, sourceFile) {
88
+ if (IGNORE_REACT_PROPS.includes(prop.getName())) {
89
+ return null;
90
+ }
91
+ const [declaration] = prop.getDeclarations();
92
+ const parent = declaration.getParentOrThrow().compilerNode;
93
+ if (ts_morph_1.ts.isInterfaceDeclaration(parent)) {
94
+ const parentInterfaceName = parent.name.getText();
95
+ // Skip props that are inherited from React types
96
+ if (REACT_INTERFACE_NAMES.includes(parentInterfaceName)) {
97
+ return null;
23
98
  }
24
- const name = typescript_1.default.isFunctionDeclaration(statement)
25
- ? statement.name?.text
26
- : statement.declarationList.declarations?.[0].name.getText(sourceFile);
27
- if (name === nameToFind ||
28
- (nameToFind === 'default' &&
29
- statement.modifiers.some((modifier) => modifier.kind === typescript_1.default.SyntaxKind.DefaultKeyword))) {
30
- const symbol = typescript_1.default.isFunctionDeclaration(statement)
31
- ? statement.name && checker.getSymbolAtLocation(statement.name)
32
- : checker.getSymbolAtLocation(statement.declarationList.declarations[0].name);
33
- if (!symbol) {
34
- throw new Error(`Could not find symbol for ${name}`);
99
+ if (parent.heritageClauses && parent.heritageClauses[0].getText().includes('HTMLAttributes')) {
100
+ // If interface extends HTMLAttributes, only allow props defined in interface
101
+ // TODO will fail if extends multiple interfaces and prop defined in one of them - could recursively check
102
+ if (!parent.members.some((m) => m.name?.getText() === prop.getName())) {
103
+ return null;
35
104
  }
36
- const signature = (0, parser_1.extractComponentTypeSignature)(symbol, checker, sourceFile);
37
- if (!signature) {
38
- throw new Error(`Could not find signature for ${name}`);
39
- }
40
- return signature;
41
105
  }
42
106
  }
43
- throw new Error('No function or variable signatures found');
107
+ const compilerProp = prop.compilerSymbol;
108
+ const checker = tsMorphProject.getTypeChecker().compilerObject;
109
+ const propType = prop.getTypeAtLocation(sourceFile).compilerType;
110
+ let propTypeString = checker.typeToString(propType);
111
+ if (propType.isUnion()) {
112
+ // Get the types of the union
113
+ const unionTypes = propType.types;
114
+ // Map each type to its string representation and join them with a |
115
+ propTypeString = unionTypes.map((type) => checker.typeToString(type)).join(' | ');
116
+ }
117
+ return compilerProp.flags & ts_morph_1.ts.SymbolFlags.Optional
118
+ ? `?${propTypeString.replace(/undefined \| /g, '')}`
119
+ : propTypeString;
120
+ }
121
+ function findTsConfigPath(dir) {
122
+ let tsConfigPath = undefined;
123
+ find_up_1.default.sync((currentDir) => {
124
+ const pathToTry = path_1.default.join(currentDir, 'tsconfig.json');
125
+ if (fs_1.default.existsSync(pathToTry)) {
126
+ tsConfigPath = pathToTry;
127
+ return find_up_1.default.stop;
128
+ }
129
+ }, { cwd: dir });
130
+ return tsConfigPath;
44
131
  }
45
- exports.extractSignature = extractSignature;
46
132
  //# sourceMappingURL=signature_extraction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature_extraction.js","sourceRoot":"","sources":["../../../src/connect/wizard/signature_extraction.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA2B;AAE3B,+CAAkE;AAElE,SAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,cAAc,EACd,WAAW,GAKZ;IACC,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAA;IAEjC,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,EAAE,CAAA;IAE1C,kBAAkB;IAClB,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,cAAc,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,oBAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,oBAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAChF,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5F,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,oBAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI;YACtB,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAExE,IACE,IAAI,KAAK,UAAU;YACnB,CAAC,UAAU,KAAK,SAAS;gBACvB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EACzF,CAAC;YACD,MAAM,MAAM,GAAG,oBAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC;gBAChD,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC/D,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,SAAS,GAAG,IAAA,sCAA6B,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;YAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAA;YACzD,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;AAC7D,CAAC;AAtDD,4CAsDC"}
1
+ {"version":3,"file":"signature_extraction.js","sourceRoot":"","sources":["../../../src/connect/wizard/signature_extraction.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,sDAA4B;AAC5B,uCAAwE;AAExE,MAAM,iBAAiB,GAAG,kBAAkB,CAAA;AAC5C,MAAM,qBAAqB,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;AACjG,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEzC,IAAI,cAAuB,CAAA;AAC3B,SAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,cAAc,GAIf;IACC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,gBAAgB;YAC9B,CAAC,CAAC,EAAE,gBAAgB,EAAE;YACtB,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,MAAM,EAAE,uBAAY,CAAC,MAAM;oBAC3B,MAAM,EAAE,aAAE,CAAC,UAAU,CAAC,QAAQ;oBAC9B,GAAG,EAAE,aAAE,CAAC,OAAO,CAAC,KAAK;oBACrB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,GAAG,EAAE,CAAC,QAAQ,CAAC;oBACf,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,KAAK;iBACf;aACF,CAAA;QACL,cAAc,GAAG,IAAI,kBAAO,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,cAAc,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;IAClD,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,wBAAwB,CAAC,CAAA;IAE7F,MAAM,mBAAmB,GAAG,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;IAEhF,MAAM,QAAQ,GAAG,cAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,mBAAmB,CAAC,oBAAoB,CAAC;YACvC,aAAa,EAAE,iBAAiB;YAChC,eAAe,EAAE,KAAK,QAAQ,EAAE;SACjC,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,mBAAmB,CAAC,oBAAoB,CAAC;YACvC,YAAY,EAAE,CAAC,UAAU,CAAC;YAC1B,eAAe,EAAE,KAAK,QAAQ,EAAE;SACjC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,YAAY,CAAC;QAC/B,IAAI,EAAE,kBAAkB;QACxB,cAAc,EAAE,CAAC,GAAG,CAAC;QACrB,IAAI,EAAE,sDAAsD;KAC7D,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gDAAgD,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,IAAI;KACpH,CAAC,CAAA;IAEF,IAAI,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;IAE9B,mEAAmE;IACnE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrB,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;QACpD,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3D,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAElC,MAAM,MAAM,GAA2B,EAAE,CAAA;QAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;YAC3D,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAA;YACrC,CAAC;QACH,CAAC;QAED,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AArFD,4CAqFC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,UAAsB;IACzD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;IAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAA;IAE1D,IAAI,aAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAEjD,iDAAiD;QACjD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7F,6EAA6E;YAC7E,0GAA0G;YAC1G,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACtE,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAA;IAExC,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,cAAc,CAAA;IAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,YAAY,CAAA;IAChE,IAAI,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEnD,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACvB,6BAA6B;QAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAA;QAEjC,oEAAoE;QACpE,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnF,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,GAAG,aAAE,CAAC,WAAW,CAAC,QAAQ;QACjD,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE;QACpD,CAAC,CAAC,cAAc,CAAA;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,YAAY,GAAuB,SAAS,CAAA;IAEhD,iBAAM,CAAC,IAAI,CACT,CAAC,UAAU,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QAExD,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,YAAY,GAAG,SAAS,CAAA;YACxB,OAAO,iBAAM,CAAC,IAAI,CAAA;QACpB,CAAC;IACH,CAAC,EACD,EAAE,GAAG,EAAE,GAAG,EAAE,CACb,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC"}
@@ -2,7 +2,7 @@ import { booleanType, enumType, stringType, nestedPropsType, classNameType, text
2
2
  import { HtmlTemplateString } from './template_literal';
3
3
  import { HtmlMeta } from './types';
4
4
  declare function connectType<P = {}>(_figmaNodeUrl: string, _meta?: HtmlMeta<P>): void;
5
- declare function instanceType(_figmaPropName: string): HtmlTemplateString;
6
5
  declare function childrenType(_layers: string | string[]): HtmlTemplateString;
6
+ export declare function instanceType<T = HtmlTemplateString>(_figmaPropName: string): T;
7
7
  export { booleanType as boolean, enumType as enum, stringType as string, nestedPropsType as nestedProps, classNameType as className, textContentType as textContent, connectType as connect, instanceType as instance, childrenType as children, };
8
8
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../src/html/external.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAG;AAEjF,iBAAS,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB,CAIhE;AAED,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAIpE;AAED,OAAO,EACL,WAAW,IAAI,OAAO,EACtB,QAAQ,IAAI,IAAI,EAChB,UAAU,IAAI,MAAM,EACpB,eAAe,IAAI,WAAW,EAC9B,aAAa,IAAI,SAAS,EAC1B,eAAe,IAAI,WAAW,EAC9B,WAAW,IAAI,OAAO,EACtB,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,GACzB,CAAA"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../src/html/external.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAG;AAEjF,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAIpE;AAED,wBAAgB,YAAY,CAAC,CAAC,GAAG,kBAAkB,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,CAI9E;AAED,OAAO,EACL,WAAW,IAAI,OAAO,EACtB,QAAQ,IAAI,IAAI,EAChB,UAAU,IAAI,MAAM,EACpB,eAAe,IAAI,WAAW,EAC9B,aAAa,IAAI,SAAS,EAC1B,eAAe,IAAI,WAAW,EAC9B,WAAW,IAAI,OAAO,EACtB,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,GACzB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.children = exports.instance = exports.connect = exports.textContent = exports.className = exports.nestedProps = exports.string = exports.enum = exports.boolean = void 0;
3
+ exports.children = exports.instance = exports.connect = exports.textContent = exports.className = exports.nestedProps = exports.string = exports.enum = exports.boolean = exports.instanceType = void 0;
4
4
  const external_types_1 = require("../connect/external_types");
5
5
  Object.defineProperty(exports, "boolean", { enumerable: true, get: function () { return external_types_1.booleanType; } });
6
6
  Object.defineProperty(exports, "enum", { enumerable: true, get: function () { return external_types_1.enumType; } });
@@ -10,16 +10,17 @@ Object.defineProperty(exports, "className", { enumerable: true, get: function ()
10
10
  Object.defineProperty(exports, "textContent", { enumerable: true, get: function () { return external_types_1.textContentType; } });
11
11
  function connectType(_figmaNodeUrl, _meta) { }
12
12
  exports.connect = connectType;
13
- function instanceType(_figmaPropName) {
13
+ function childrenType(_layers) {
14
14
  return {
15
15
  __tag: 'HtmlTemplateString',
16
16
  };
17
17
  }
18
- exports.instance = instanceType;
19
- function childrenType(_layers) {
18
+ exports.children = childrenType;
19
+ function instanceType(_figmaPropName) {
20
20
  return {
21
21
  __tag: 'HtmlTemplateString',
22
22
  };
23
23
  }
24
- exports.children = childrenType;
24
+ exports.instanceType = instanceType;
25
+ exports.instance = instanceType;
25
26
  //# sourceMappingURL=external.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/html/external.ts"],"names":[],"mappings":";;;AAAA,8DAOkC;AAmBjB,wFAzBf,4BAAW,OAyBW;AACV,qFAzBZ,yBAAQ,OAyBQ;AACF,uFAzBd,2BAAU,OAyBU;AACD,4FAzBnB,gCAAe,OAyBe;AACb,0FAzBjB,8BAAa,OAyBa;AACP,4FAzBnB,gCAAe,OAyBe;AApBhC,SAAS,WAAW,CAAS,aAAqB,EAAE,KAAmB,IAAS,CAAC;AAqBhE,8BAAO;AAnBxB,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO;QACL,KAAK,EAAE,oBAAoB;KAC5B,CAAA;AACH,CAAC;AAgBiB,gCAAQ;AAd1B,SAAS,YAAY,CAAC,OAA0B;IAC9C,OAAO;QACL,KAAK,EAAE,oBAAoB;KAC5B,CAAA;AACH,CAAC;AAWiB,gCAAQ"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/html/external.ts"],"names":[],"mappings":";;;AAAA,8DAOkC;AAmBjB,wFAzBf,4BAAW,OAyBW;AACV,qFAzBZ,yBAAQ,OAyBQ;AACF,uFAzBd,2BAAU,OAyBU;AACD,4FAzBnB,gCAAe,OAyBe;AACb,0FAzBjB,8BAAa,OAyBa;AACP,4FAzBnB,gCAAe,OAyBe;AApBhC,SAAS,WAAW,CAAS,aAAqB,EAAE,KAAmB,IAAS,CAAC;AAqBhE,8BAAO;AAnBxB,SAAS,YAAY,CAAC,OAA0B;IAC9C,OAAO;QACL,KAAK,EAAE,oBAAoB;KAC5B,CAAA;AACH,CAAC;AAiBiB,gCAAQ;AAf1B,SAAgB,YAAY,CAAyB,cAAsB;IACzE,OAAO;QACL,KAAK,EAAE,oBAAoB;KACvB,CAAA;AACR,CAAC;AAJD,oCAIC;AAUiB,gCAAQ"}
@@ -3,7 +3,7 @@ import { FigmaConnectClient } from '../client/figma_client';
3
3
  import { html, HtmlTemplateString } from './template_literal';
4
4
  import { HtmlMeta } from './types';
5
5
  declare const _client: FigmaConnectClient;
6
- declare const _figma: FigmaConnectAPI<HtmlTemplateString> & {
6
+ declare const _figma: FigmaConnectAPI<HtmlTemplateString, HtmlTemplateString> & {
7
7
  /**
8
8
  * Defines a code snippet that displays in Figma when a component is selected.
9
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index_html.d.ts","sourceRoot":"","sources":["../../src/html/index_html.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAoB,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,QAAA,MAAM,OAAO,EAAE,kBAAgC,CAAA;AAC/C,QAAA,MAAM,MAAM,EAAE,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAClD;;;;;OAKG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAE9D;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IAEvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,SAAS,EACvD,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,KAAK,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;IAEpD;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAE1C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACX,CAAA;AACT,QAAA,MAAM,KAAK,aAAO,CAAA;AAElB,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAA;AAC5D,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index_html.d.ts","sourceRoot":"","sources":["../../src/html/index_html.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAoB,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,QAAA,MAAM,OAAO,EAAE,kBAAgC,CAAA;AAC/C,QAAA,MAAM,MAAM,EAAE,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,GAAG;IACtE;;;;;OAKG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAE9D;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IAEvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,SAAS,EACvD,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,KAAK,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;IAEpD;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAE1C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACX,CAAA;AACT,QAAA,MAAM,KAAK,aAAO,CAAA;AAElB,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAA;AAC5D,eAAe,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/html/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,MAAM,YAAY,CAAA;AAOjE,OAAO,EAAsB,YAAY,EAAoB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAEL,aAAa,EAOb,YAAY,EACb,MAAM,0BAA0B,CAAA;AAyKjC;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,EAAE,CAAC,aAAa,EACrB,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;EA4L5B;AAiID,wBAAsB,YAAY,CAChC,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,aAAa,EAAE,aAAa,EAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,GAChC,OAAO,CAAC,eAAe,CAAC,CA6D1B"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/html/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,MAAM,YAAY,CAAA;AAMjE,OAAO,EAAsB,YAAY,EAAoB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAEL,aAAa,EAOb,YAAY,EACb,MAAM,0BAA0B,CAAA;AAyKjC;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,EAAE,CAAC,aAAa,EACrB,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;EAuM5B;AAiID,wBAAsB,YAAY,CAChC,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,aAAa,EAAE,aAAa,EAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,GAChC,OAAO,CAAC,eAAe,CAAC,CA6D1B"}
@@ -55,9 +55,9 @@ function getHtmlTaggedTemplateNode(node) {
55
55
  * extract information which is used in generating the template:
56
56
  * 1. A dictionary of template placeholders which correspond to HTML attribute
57
57
  * values. The key is the placeholder index, and the value is the attribute
58
- * name. We use this to render attribute placeholders appropriately (either
59
- * in quotes for strings, or as either the attribute name or nothing for
60
- * booleans).
58
+ * name. The attribute name is unused (it used to be used in the output, but
59
+ * we need to preserve case to support Angular, which JSDOM can't do unless
60
+ * you use XHTML mode, and that doesn't support attributes without a value).
61
61
  * 2. Whether the template is "nestable" or not. A template is considered
62
62
  * nestable if it has only one top level element.
63
63
  *
@@ -68,9 +68,9 @@ function getHtmlTaggedTemplateNode(node) {
68
68
  * detect.
69
69
  * 2. Use JSDOM to turn this into a DOM.
70
70
  * 3. Iterate over every node in the DOM, and if the node has any attributes
71
- * starting `__FIGMA_PLACEHOLDER`, store the info of these attributes.
72
- * This allows us to know which template literal placeholders correspond to
73
- * HTML attributes when we construct the template.
71
+ * starting `__FIGMA_PLACEHOLDER`, store the info of these attributes. This
72
+ * allows us to know which template literal placeholders correspond to HTML
73
+ * attributes when we construct the template.
74
74
  */
75
75
  function getInfoFromDom(templateExp, parserContext) {
76
76
  let htmlString;
@@ -266,7 +266,7 @@ function parseExampleTemplate(exp, parserContext, propMappings) {
266
266
  }
267
267
  // If the next placeholder is an attribute, then match the start of the
268
268
  // attribute (`attribute=`) at the end of this chunk, so that we can
269
- // remove it from the example code
269
+ // remove it from the example code and store the attribute name
270
270
  const attributeMatches = html.match(/(.*\s)([^\s]+)="?$/s);
271
271
  if (nextPlaceholderIsAttribute && attributeMatches) {
272
272
  // attributeMatches should always have matched here, but we check it
@@ -278,6 +278,11 @@ function parseExampleTemplate(exp, parserContext, propMappings) {
278
278
  // If we are in this block, we know that we've matched an attribute, so
279
279
  // store whether it ends with a quote
280
280
  insideAttributeWithQuotes = html.endsWith('"');
281
+ // Return the attribute name so we can use it to construct the attribute
282
+ // in the output. We do this rather than extract it from the HTML with
283
+ // JSDOM because we want to preserve case, but do not want to parse the
284
+ // doc as XHTML, so there's no way to do it otherwise.
285
+ return attributeMatches[2];
281
286
  }
282
287
  else {
283
288
  // No attribute to remove, just add the code
@@ -286,27 +291,26 @@ function parseExampleTemplate(exp, parserContext, propMappings) {
286
291
  }
287
292
  }
288
293
  // Process the first chunk, which is a special case as it is not in templateSpans
289
- handleHtmlChunk(transformedTemplate.head.text, attributePlaceholders[0] !== undefined);
294
+ let maybeAttributeName = handleHtmlChunk(transformedTemplate.head.text, attributePlaceholders[0] !== undefined);
290
295
  // For each section of the template string, check that the expression is a
291
296
  // prop placeholder, then add the appropriate template function call
292
297
  transformedTemplate.templateSpans.forEach((part, index) => {
293
298
  if (!typescript_1.default.isCallExpression(part.expression)) {
294
- throw new parser_common_1.ParserError(`Expected an call expression as a placeholder in the template, got ${typescript_1.SyntaxKind[part.expression.kind]}`, { sourceFile, node: part.expression });
299
+ throw new parser_common_1.ParserError(`Expected a call expression as a placeholder in the template, got ${typescript_1.SyntaxKind[part.expression.kind]}`, { sourceFile, node: part.expression });
295
300
  }
296
301
  const propNameArg = part.expression.arguments[0];
297
302
  if (!typescript_1.default.isStringLiteral(propNameArg)) {
298
303
  throw new parser_common_1.ParserError(`Expected a string literal as the argument to the placeholder call, got ${typescript_1.SyntaxKind[propNameArg.kind]}`, { sourceFile, node: propNameArg });
299
304
  }
300
305
  const propVariableName = propNameArg.text;
301
- referencedProps.add(propVariableName);
302
306
  if (attributePlaceholders[index]) {
303
- exampleCode += `\${_fcc_renderHtmlAttribute('${attributePlaceholders[index]}', ${propVariableName})}`;
307
+ exampleCode += `\${_fcc_renderHtmlAttribute('${maybeAttributeName}', ${propVariableName})}`;
304
308
  }
305
309
  else {
306
310
  exampleCode += `\${_fcc_renderHtmlValue(${propVariableName})}`;
307
311
  }
308
312
  // Process the next chunk
309
- handleHtmlChunk(part.literal.text, attributePlaceholders[index + 1] !== undefined);
313
+ maybeAttributeName = handleHtmlChunk(part.literal.text, attributePlaceholders[index + 1] !== undefined);
310
314
  });
311
315
  }
312
316
  else if (templateNode.template.kind === typescript_1.default.SyntaxKind.FirstTemplateToken) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/html/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/html/parser.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,10 @@
1
+ export declare function _fcc_templateString($value: string): {
2
+ readonly $value: string;
3
+ readonly $type: "template-string";
4
+ };
5
+ export declare function _fcc_object($value: Record<string, any>): {
6
+ readonly $value: Record<string, any>;
7
+ readonly $type: "object";
8
+ };
1
9
  export declare function getParsedTemplateHelpersString(): string;
2
10
  //# sourceMappingURL=parser_template_helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser_template_helpers.d.ts","sourceRoot":"","sources":["../../src/html/parser_template_helpers.ts"],"names":[],"mappings":"AA4DA,wBAAgB,8BAA8B,WAE7C"}
1
+ {"version":3,"file":"parser_template_helpers.d.ts","sourceRoot":"","sources":["../../src/html/parser_template_helpers.ts"],"names":[],"mappings":"AAQA,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM;;;EAKjD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;EAMtD;AAqDD,wBAAgB,8BAA8B,WAI7C"}
@@ -5,7 +5,22 @@
5
5
  // can't be resolved when executing the templates from the unit tests inside
6
6
  // `new Function()`
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.getParsedTemplateHelpersString = void 0;
8
+ exports.getParsedTemplateHelpersString = exports._fcc_object = exports._fcc_templateString = void 0;
9
+ function _fcc_templateString($value) {
10
+ return {
11
+ $value,
12
+ $type: 'template-string',
13
+ };
14
+ }
15
+ exports._fcc_templateString = _fcc_templateString;
16
+ function _fcc_object($value) {
17
+ return {
18
+ $value,
19
+ $type: 'object',
20
+ ...$value,
21
+ };
22
+ }
23
+ exports._fcc_object = _fcc_object;
9
24
  /**
10
25
  * Render a value to HTML, following sensible rules according to the type.
11
26
  *
@@ -53,7 +68,6 @@ function _fcc_renderHtmlAttribute(name, value) {
53
68
  }
54
69
  }
55
70
  else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint') {
56
- // Some types might not make sense here but we'll allow anything to be stringified
57
71
  return `${name}="${value.toString().replaceAll('\n', '\\n').replaceAll('"', '\\"')}"`;
58
72
  }
59
73
  else {
@@ -62,7 +76,9 @@ function _fcc_renderHtmlAttribute(name, value) {
62
76
  }
63
77
  }
64
78
  function getParsedTemplateHelpersString() {
65
- return [_fcc_renderHtmlValue, _fcc_renderHtmlAttribute].map((fn) => fn.toString()).join('\n');
79
+ return [_fcc_templateString, _fcc_object, _fcc_renderHtmlValue, _fcc_renderHtmlAttribute]
80
+ .map((fn) => fn.toString())
81
+ .join('\n');
66
82
  }
67
83
  exports.getParsedTemplateHelpersString = getParsedTemplateHelpersString;
68
84
  //# sourceMappingURL=parser_template_helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser_template_helpers.js","sourceRoot":"","sources":["../../src/html/parser_template_helpers.ts"],"names":[],"mappings":";AAAA,0BAA0B;AAC1B,iFAAiF;AACjF,6EAA6E;AAC7E,4EAA4E;AAC5E,mBAAmB;;;AAInB;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAU;IACtC,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,IAAI,CAAA,GAAG,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO,EAAE,CAAA;IACX,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAAC,IAAY,EAAE,KAAU;IACxD,iEAAiE;IACjE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,CAAA;IACX,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/F,kFAAkF;QAClF,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;IACvF,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,OAAO,GAAG,IAAI,2CAA2C,OAAO,KAAK,kBAAkB,CAAA;IACzF,CAAC;AACH,CAAC;AAED,SAAgB,8BAA8B;IAC5C,OAAO,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC/F,CAAC;AAFD,wEAEC"}
1
+ {"version":3,"file":"parser_template_helpers.js","sourceRoot":"","sources":["../../src/html/parser_template_helpers.ts"],"names":[],"mappings":";AAAA,0BAA0B;AAC1B,iFAAiF;AACjF,6EAA6E;AAC7E,4EAA4E;AAC5E,mBAAmB;;;AAInB,SAAgB,mBAAmB,CAAC,MAAc;IAChD,OAAO;QACL,MAAM;QACN,KAAK,EAAE,iBAAiB;KAChB,CAAA;AACZ,CAAC;AALD,kDAKC;AAED,SAAgB,WAAW,CAAC,MAA2B;IACrD,OAAO;QACL,MAAM;QACN,KAAK,EAAE,QAAQ;QACf,GAAG,MAAM;KACD,CAAA;AACZ,CAAC;AAND,kCAMC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAU;IACtC,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,IAAI,CAAA,GAAG,KAAK,EAAE,CAAA;IAC7B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO,EAAE,CAAA;IACX,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAAC,IAAY,EAAE,KAAU;IACxD,iEAAiE;IACjE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,CAAA;IACX,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/F,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;IACvF,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,OAAO,GAAG,IAAI,2CAA2C,OAAO,KAAK,kBAAkB,CAAA;IACzF,CAAC;AACH,CAAC;AAED,SAAgB,8BAA8B;IAC5C,OAAO,CAAC,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE,wBAAwB,CAAC;SACtF,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAJD,wEAIC"}
@@ -1,6 +1,6 @@
1
1
  import { FigmaConnectMeta } from '../connect/api';
2
2
  import { HtmlTemplateString } from './template_literal';
3
- export type HtmlMeta<P> = Required<Pick<FigmaConnectMeta<P, HtmlTemplateString>, 'example'>> & FigmaConnectMeta<P, HtmlTemplateString> & {
3
+ export type HtmlMeta<P> = Required<Pick<FigmaConnectMeta<P, P, HtmlTemplateString>, 'example'>> & FigmaConnectMeta<P, P, HtmlTemplateString> & {
4
4
  /**
5
5
  * A list of import statements that will render in the Code Snippet in Figma.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/html/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,SAAS,CAAC,CAAC,GAC1F,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/html/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,EAAE,SAAS,CAAC,CAAC,GAC7F,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,GAAG;IAC3C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/react/create.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAmC,MAAM,uBAAuB,CAAA;AAIlF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,WAU9C;AA8CD,wBAAgB,+BAA+B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAqBzF;AAgCD,wBAAgB,uCAAuC,CAAC,GAAG,EAAE,MAAM,eAWlE;AA2CD,wBAAgB,aAAa,CAAC,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,UAkBzE;AAwED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,CA0EhD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/react/create.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAmC,MAAM,uBAAuB,CAAA;AAIlF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,WAU9C;AA8CD,wBAAgB,+BAA+B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAqBzF;AAgCD,wBAAgB,uCAAuC,CAAC,GAAG,EAAE,MAAM,eAWlE;AA+CD,wBAAgB,aAAa,CAAC,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,UAkBzE;AAwED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAkFhD"}
@@ -151,7 +151,7 @@ function generatePropsFromMapping(component, propMapping) {
151
151
  }
152
152
  }
153
153
  const usedFigmaPropsSet = getSetOfAllPropsReferencedInPropMapping(propMapping);
154
- for (const [propName, propDef] of Object.entries(component.componentPropertyDefinitions)) {
154
+ for (const [propName, propDef] of Object.entries(component.componentPropertyDefinitions || {})) {
155
155
  if (!usedFigmaPropsSet.has(propName)) {
156
156
  const propMapping = generateSinglePropMappingFromFigmaProp(propName, propDef);
157
157
  if (propMapping) {
@@ -160,8 +160,10 @@ function generatePropsFromMapping(component, propMapping) {
160
160
  }
161
161
  }
162
162
  return `{
163
- // These props were automatically mapped based on your linked code:
164
- ${mappedProps.join(',\n')},
163
+ ${mappedProps.length
164
+ ? `// These props were automatically mapped based on your linked code:
165
+ ${mappedProps.join(',\n')},`
166
+ : ''}
165
167
  ${unmappedProps.length
166
168
  ? `// No matching props could be found for these Figma properties:
167
169
  ${unmappedProps
@@ -261,34 +263,44 @@ async function createReactCodeConnect(payload) {
261
263
  sourceFilepath,
262
264
  normalizedName,
263
265
  });
264
- const hasPropMapping = propMapping && Object.keys(propMapping).length > 0;
266
+ const hasAnyMappedProps = propMapping && Object.keys(propMapping).length > 0;
265
267
  const importName = sourceFilepath && sourceExport
266
268
  ? sourceExport === 'default'
267
269
  ? (0, create_1.normalizeComponentName)(sourceFilename)
268
270
  : sourceExport
269
271
  : normalizedName;
270
- const codeConnect = `
271
- import React from 'react'
272
- import ${sourceExport === 'default' ? importName : `{ ${importName} }`} from '${importsPath}'
273
- import figma from '@figma/code-connect'
274
-
275
- ${hasPropMapping
276
- ? `/**
277
- * -- This file was auto-generated by Code Connect --
272
+ let comment = '';
273
+ if (propMapping && hasAnyMappedProps) {
274
+ comment = `
278
275
  * \`props\` includes a mapping from your code props to Figma properties.
279
276
  * You should check this is correct, and update the \`example\` function
280
- * to return the code example you'd like to see in Figma
281
- */`
282
- : `/**
283
- * -- This file was auto-generated by Code Connect --
277
+ * to return the code example you'd like to see in Figma`;
278
+ }
279
+ else if (propMapping && !hasAnyMappedProps) {
280
+ comment = `
281
+ * None of your props could be automatically mapped to Figma properties.
282
+ * You should update the \`props\` object to include a mapping from your
283
+ * code props to Figma properties, and update the \`example\` function to
284
+ * return the code example you'd like to see in Figma`;
285
+ }
286
+ else {
287
+ comment = `
284
288
  * \`props\` includes a mapping from Figma properties and variants to
285
289
  * suggested values. You should update this to match the props of your
286
290
  * code component, and update the \`example\` function to return the
287
- * code example you'd like to see in Figma
288
- */`}
291
+ * code example you'd like to see in Figma`;
292
+ }
293
+ const codeConnect = `
294
+ import React from 'react'
295
+ import ${sourceExport === 'default' ? importName : `{ ${importName} }`} from '${importsPath}'
296
+ import figma from '@figma/code-connect'
297
+
298
+ /**
299
+ * -- This file was auto-generated by Code Connect --${comment}
300
+ */
289
301
 
290
302
  figma.connect(${importName}, "${figmaNodeUrl}", {
291
- props: ${hasPropMapping ? generatePropsFromMapping(component, propMapping) : generateProps(component)},
303
+ props: ${propMapping ? generatePropsFromMapping(component, propMapping) : generateProps(component)},
292
304
  example: (props) => ${generateExample(importName, payload.reactTypeSignature, propMapping)},
293
305
  })
294
306
  `;