unframer 3.0.1 → 3.0.4

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 (115) hide show
  1. package/dist/cli.js +1 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/cli.test.js +14 -6
  4. package/dist/cli.test.js.map +1 -1
  5. package/dist/example-code.test.js +1 -1
  6. package/dist/exporter.d.ts +0 -14
  7. package/dist/exporter.d.ts.map +1 -1
  8. package/dist/exporter.js +23 -192
  9. package/dist/exporter.js.map +1 -1
  10. package/dist/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.d.ts +115 -0
  11. package/dist/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.d.ts.map +1 -0
  12. package/dist/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js +8 -0
  13. package/dist/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js.map +1 -0
  14. package/dist/framer-chunks/fontshare-622CVMZZ-HFPH543A.d.ts +781 -0
  15. package/dist/framer-chunks/fontshare-622CVMZZ-HFPH543A.d.ts.map +1 -0
  16. package/dist/framer-chunks/fontshare-622CVMZZ-HFPH543A.js +8 -0
  17. package/dist/framer-chunks/fontshare-622CVMZZ-HFPH543A.js.map +1 -0
  18. package/dist/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.d.ts +634 -0
  19. package/dist/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.d.ts.map +1 -0
  20. package/dist/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js +8 -0
  21. package/dist/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js.map +1 -0
  22. package/dist/framer-chunks/google-3ASCFEEO-3R47BR2A.d.ts +1561 -0
  23. package/dist/framer-chunks/google-3ASCFEEO-3R47BR2A.d.ts.map +1 -0
  24. package/dist/framer-chunks/google-3ASCFEEO-3R47BR2A.js +8 -0
  25. package/dist/framer-chunks/google-3ASCFEEO-3R47BR2A.js.map +1 -0
  26. package/dist/framer-chunks/google-C62SNV32-LCI4F7VO.d.ts +3546 -0
  27. package/dist/framer-chunks/google-C62SNV32-LCI4F7VO.d.ts.map +1 -0
  28. package/dist/framer-chunks/google-C62SNV32-LCI4F7VO.js +8 -0
  29. package/dist/framer-chunks/google-C62SNV32-LCI4F7VO.js.map +1 -0
  30. package/dist/framer-chunks/google-FDB6LUFQ-PFSUZGKF.d.ts +10258 -0
  31. package/dist/framer-chunks/google-FDB6LUFQ-PFSUZGKF.d.ts.map +1 -0
  32. package/dist/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js +8 -0
  33. package/dist/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js.map +1 -0
  34. package/dist/framer.js +1230 -223
  35. package/dist/generated/api-client.js.map +1 -1
  36. package/dist/typescript.d.ts +20 -0
  37. package/dist/typescript.d.ts.map +1 -0
  38. package/dist/typescript.js +169 -0
  39. package/dist/typescript.js.map +1 -0
  40. package/dist/unframer-loader.js.map +1 -1
  41. package/dist/version.d.ts +1 -1
  42. package/dist/version.js +1 -1
  43. package/esm/cli.js +1 -0
  44. package/esm/cli.js.map +1 -1
  45. package/esm/cli.test.js +9 -1
  46. package/esm/cli.test.js.map +1 -1
  47. package/esm/example-code.test.js +1 -1
  48. package/esm/exporter.d.ts +0 -14
  49. package/esm/exporter.d.ts.map +1 -1
  50. package/esm/exporter.js +20 -187
  51. package/esm/exporter.js.map +1 -1
  52. package/esm/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.d.ts +115 -0
  53. package/esm/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.d.ts.map +1 -0
  54. package/esm/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js +5 -0
  55. package/esm/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js.map +1 -0
  56. package/esm/framer-chunks/fontshare-622CVMZZ-HFPH543A.d.ts +781 -0
  57. package/esm/framer-chunks/fontshare-622CVMZZ-HFPH543A.d.ts.map +1 -0
  58. package/esm/framer-chunks/fontshare-622CVMZZ-HFPH543A.js +5 -0
  59. package/esm/framer-chunks/fontshare-622CVMZZ-HFPH543A.js.map +1 -0
  60. package/esm/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.d.ts +634 -0
  61. package/esm/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.d.ts.map +1 -0
  62. package/esm/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js +5 -0
  63. package/esm/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js.map +1 -0
  64. package/esm/framer-chunks/google-3ASCFEEO-3R47BR2A.d.ts +1561 -0
  65. package/esm/framer-chunks/google-3ASCFEEO-3R47BR2A.d.ts.map +1 -0
  66. package/esm/framer-chunks/google-3ASCFEEO-3R47BR2A.js +5 -0
  67. package/esm/framer-chunks/google-3ASCFEEO-3R47BR2A.js.map +1 -0
  68. package/esm/framer-chunks/google-C62SNV32-LCI4F7VO.d.ts +3546 -0
  69. package/esm/framer-chunks/google-C62SNV32-LCI4F7VO.d.ts.map +1 -0
  70. package/esm/framer-chunks/google-C62SNV32-LCI4F7VO.js +5 -0
  71. package/esm/framer-chunks/google-C62SNV32-LCI4F7VO.js.map +1 -0
  72. package/esm/framer-chunks/google-FDB6LUFQ-PFSUZGKF.d.ts +10258 -0
  73. package/esm/framer-chunks/google-FDB6LUFQ-PFSUZGKF.d.ts.map +1 -0
  74. package/esm/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js +5 -0
  75. package/esm/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js.map +1 -0
  76. package/esm/framer.js +1230 -224
  77. package/esm/generated/api-client.js.map +1 -1
  78. package/esm/typescript.d.ts +20 -0
  79. package/esm/typescript.d.ts.map +1 -0
  80. package/esm/typescript.js +165 -0
  81. package/esm/typescript.js.map +1 -0
  82. package/esm/unframer-loader.js.map +1 -1
  83. package/esm/version.d.ts +1 -1
  84. package/esm/version.js +1 -1
  85. package/package.json +6 -3
  86. package/src/cli.test.ts +8 -1
  87. package/src/cli.ts +1 -1
  88. package/src/example-code.test.ts +1 -1
  89. package/src/exporter.ts +25 -211
  90. package/src/framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js +7 -0
  91. package/src/framer-chunks/fontshare-622CVMZZ-HFPH543A.js +7 -0
  92. package/src/framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js +7 -0
  93. package/src/framer-chunks/google-3ASCFEEO-3R47BR2A.js +7 -0
  94. package/src/framer-chunks/google-C62SNV32-LCI4F7VO.js +7 -0
  95. package/src/framer-chunks/google-FDB6LUFQ-PFSUZGKF.js +7 -0
  96. package/src/framer.js +1170 -215
  97. package/src/generated/api-client.d.ts +790 -1042
  98. package/src/generated/api-client.js +5 -5
  99. package/src/styles/framer.css +1963 -0
  100. package/src/styles/reset.css +33 -0
  101. package/src/typescript.ts +196 -0
  102. package/src/unframer-loader.ts +1 -1
  103. package/src/version.ts +1 -1
  104. package/dist/generated/api-client.test.d.ts +0 -2
  105. package/dist/generated/api-client.test.d.ts.map +0 -1
  106. package/dist/generated/api-client.test.js +0 -3
  107. package/dist/generated/api-client.test.js.map +0 -1
  108. package/esm/generated/api-client.test.d.ts +0 -1
  109. package/esm/generated/api-client.test.d.ts.map +0 -1
  110. package/esm/generated/api-client.test.js +0 -2
  111. package/esm/generated/api-client.test.js.map +0 -1
  112. package/src/generated/api-client.d.ts.map +0 -1
  113. package/src/generated/api-client.js.map +0 -1
  114. package/src/generated/api-client.test.d.ts +0 -1
  115. package/src/generated/api-client.test.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/generated/api-client.js"],"names":[],"mappings":";;AAAA,oCAuBC;AAvBM,KAAK,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE;IACtC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE;QACtC,oCAAoC;QACpC,kDAAkD;QAClD,qBAAqB;QACrB,4CAA4C;QAC5C,QAAQ;QACR,iBAAiB;QACjB,KAAK;QACL,+BAA+B;QAC/B,0BAA0B;QAC1B,iDAAiD;QACjD,QAAQ;QACR,sBAAsB;QACtB,KAAK;QACL,OAAO;YACH,OAAO;YACH,yFAAyF;aAC5F,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACjB,CAAC;AACD,iFAAiF"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/generated/api-client.js"],"names":[],"mappings":";;AAAA,oCAuBC;AAvBM,KAAK,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE;IACtC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE;QACtC,oCAAoC;QACpC,kDAAkD;QAClD,qBAAqB;QACrB,4CAA4C;QAC5C,QAAQ;QACR,iBAAiB;QACjB,KAAK;QACL,+BAA+B;QAC/B,0BAA0B;QAC1B,iDAAiD;QACjD,QAAQ;QACR,sBAAsB;QACtB,KAAK;QACL,OAAO;YACH,OAAO;YACP,yFAAyF;aACxF,CAAC;QACN,CAAC;KACJ,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,iFAAiF"}
@@ -0,0 +1,20 @@
1
+ import { PropertyControls } from './framer.js';
2
+ export declare function componentCamelCase(str: string): string;
3
+ /**
4
+ * Generates TypeDoc comments that will be injected into JSX files
5
+ * instead of generating separate .d.ts files
6
+ */
7
+ export declare function propControlsToTypedocComments({ locales, componentImportedName, propertyControls, logger, includeLocaleTypes, }: {
8
+ propertyControls: PropertyControls;
9
+ componentImportedName: string;
10
+ locales?: Array<{
11
+ slug: string;
12
+ }>;
13
+ logger: any;
14
+ includeLocaleTypes?: boolean;
15
+ }): {
16
+ headerComment: string;
17
+ responsiveComment: string;
18
+ defaultExportComment: string;
19
+ };
20
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../src/typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE/E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAoC7C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,EAC1C,OAAO,EACP,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,EACN,kBAA0B,GAC7B,EAAE;IACC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC/B;;;;EA0IA"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.componentCamelCase = componentCamelCase;
4
+ exports.propControlsToTypedocComments = propControlsToTypedocComments;
5
+ const compat_js_1 = require("./compat.js");
6
+ const framer_js_1 = require("./framer.js");
7
+ function componentCamelCase(str) {
8
+ str = str?.replace(/\.jsx?$/, '');
9
+ if (!str) {
10
+ return 'FramerComponent';
11
+ }
12
+ // Take last part after slashes
13
+ str = str.split('/').filter(Boolean).pop() || '';
14
+ // Replace all non-alphanumeric characters with space
15
+ // This handles spaces, special chars, underscores, hyphens, etc.
16
+ str = str.replace(/[^a-zA-Z0-9]+/g, ' ');
17
+ // Convert to camelCase: split by spaces, capitalize each word except first
18
+ const words = str.trim().split(/\s+/).filter(Boolean);
19
+ if (words.length === 0) {
20
+ return 'FramerComponent';
21
+ }
22
+ str = words
23
+ .map((word, index) => {
24
+ // First word: capitalize only if it starts with lowercase
25
+ if (index === 0) {
26
+ return word[0].toUpperCase() + word.slice(1);
27
+ }
28
+ // Other words: always capitalize first letter
29
+ return word[0].toUpperCase() + word.slice(1);
30
+ })
31
+ .join('');
32
+ // If component name starts with a number, add prefix 'Framer'
33
+ if (/^[0-9]/.test(str)) {
34
+ str = 'Framer' + str;
35
+ }
36
+ str = str + 'FramerComponent';
37
+ return str;
38
+ }
39
+ /**
40
+ * Generates TypeDoc comments that will be injected into JSX files
41
+ * instead of generating separate .d.ts files
42
+ */
43
+ function propControlsToTypedocComments({ locales, componentImportedName, propertyControls, logger, includeLocaleTypes = false, }) {
44
+ try {
45
+ const types = Object.entries(propertyControls || {})
46
+ .map(([key, value]) => {
47
+ if (!value) {
48
+ return;
49
+ }
50
+ const typescriptType = (value) => {
51
+ value.type;
52
+ switch (value.type) {
53
+ case framer_js_1.ControlType.Color:
54
+ return 'string';
55
+ case framer_js_1.ControlType.Boolean:
56
+ return 'boolean';
57
+ case framer_js_1.ControlType.Number:
58
+ return 'number';
59
+ case framer_js_1.ControlType.String:
60
+ return 'string';
61
+ case framer_js_1.ControlType.Enum: {
62
+ // @ts-expect-error
63
+ const options = value.optionTitles || value.options;
64
+ return options.map((x) => `'${x}'`).join(' | ');
65
+ }
66
+ case framer_js_1.ControlType.File:
67
+ return 'string';
68
+ case framer_js_1.ControlType.Image:
69
+ return 'string';
70
+ case framer_js_1.ControlType.ComponentInstance:
71
+ return 'React.ReactNode';
72
+ case framer_js_1.ControlType.Array:
73
+ // @ts-expect-error
74
+ return `${typescriptType(value.control)}[]`;
75
+ case framer_js_1.ControlType.Object:
76
+ // @ts-expect-error
77
+ return `{${Object.entries(value.controls)
78
+ .map(([k, v]) => {
79
+ // @ts-expect-error
80
+ return `${k}: ${typescriptType(v)}`;
81
+ })
82
+ .join(', ')}`;
83
+ case framer_js_1.ControlType.Date:
84
+ return 'string | Date';
85
+ case framer_js_1.ControlType.Link:
86
+ return 'string';
87
+ case framer_js_1.ControlType.ResponsiveImage:
88
+ return `{src: string, srcSet?: string, alt?: string}`;
89
+ case framer_js_1.ControlType.FusedNumber:
90
+ return 'number';
91
+ case framer_js_1.ControlType.Transition:
92
+ return 'any';
93
+ case framer_js_1.ControlType.EventHandler:
94
+ return 'Function';
95
+ }
96
+ };
97
+ let name = (0, compat_js_1.propCamelCaseJustLikeFramer)(value.title || key || '');
98
+ if (!name) {
99
+ return '';
100
+ }
101
+ return ` * ${name}?: ${typescriptType(value)} // ${value.title || name}`;
102
+ })
103
+ .filter(Boolean)
104
+ .join('\n');
105
+ const componentName = componentImportedName;
106
+ const defaultPropsJsDoc = [
107
+ ' * children?: React.ReactNode',
108
+ includeLocaleTypes ? ' * locale?: Locale' : null,
109
+ ' * style?: React.CSSProperties',
110
+ ' * className?: string',
111
+ ' * id?: string',
112
+ ' * ref?: any',
113
+ ' * width?: any',
114
+ ' * height?: any',
115
+ ' * layoutId?: string',
116
+ ].filter(Boolean).join('\n');
117
+ // Generate header comment with type definitions
118
+ let headerComment = '';
119
+ if (includeLocaleTypes) {
120
+ headerComment += '/**\n';
121
+ headerComment += ' * @typedef Locale\n';
122
+ // Generate union type from locales if available
123
+ const localeType = (() => {
124
+ if (locales && Array.isArray(locales) && locales.length > 0) {
125
+ return locales.map((locale) => `'${locale.slug}'`).join(' | ');
126
+ }
127
+ return 'string';
128
+ })();
129
+ headerComment += ` * ${localeType}\n`;
130
+ headerComment += ' */\n\n';
131
+ }
132
+ headerComment += '/**\n';
133
+ headerComment += ' * @typedef {{\n';
134
+ headerComment += defaultPropsJsDoc;
135
+ if (types) {
136
+ headerComment += '\n' + types;
137
+ }
138
+ headerComment += `\n}} Props\n`;
139
+ headerComment += '\n */';
140
+ // Generate responsive comment
141
+ let responsiveComment = '/**\n';
142
+ responsiveComment += ' * @type {import("unframer").UnframerBreakpoint}\n';
143
+ responsiveComment += ' * Represents a responsive breakpoint for unframer.\n';
144
+ responsiveComment += ' */\n\n';
145
+ responsiveComment += '/**\n';
146
+ responsiveComment += ' * @typedef VariantsMap\n';
147
+ responsiveComment += " * Partial record of UnframerBreakpoint to Props.variant, with a mandatory 'base' key.\n";
148
+ responsiveComment += " * { [key in UnframerBreakpoint]?: Props['variant'] } & { base: Props['variant'] }\n";
149
+ responsiveComment += ' */\n\n';
150
+ responsiveComment += `/**\n * Renders ${componentName} for all breakpoints with a variants map. Variant prop is inferred per breakpoint.\n * @function\n * @param {Omit<Props, 'variant'> & {variants?: VariantsMap}} props\n * @returns {any}\n */`;
151
+ // Generate default export comment - use inline function type instead of referencing undefined type
152
+ const defaultExportComment = `/** @type {function(Props): any} */`;
153
+ return {
154
+ headerComment,
155
+ responsiveComment,
156
+ defaultExportComment,
157
+ };
158
+ }
159
+ catch (e) {
160
+ logger.error(e.message);
161
+ logger.error('cannot generate typedoc comments', e.stack);
162
+ return {
163
+ headerComment: '',
164
+ responsiveComment: '',
165
+ defaultExportComment: '',
166
+ };
167
+ }
168
+ }
169
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../src/typescript.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"unframer-loader.js","sourceRoot":"","sources":["../src/unframer-loader.ts"],"names":[],"mappings":";;AAEA,0BAWC;AAbD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,IAAI,CAAC,CAAA;AAElE,KAAK,UAAU,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc;IAC5D,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO;YACH,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC;YAC3B,6DAA6D;YAC7D,YAAY,EAAE,IAAI,EAAE,wDAAwD;SAC/E,CAAA;IACL,CAAC;IAGD,OAAO,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"unframer-loader.js","sourceRoot":"","sources":["../src/unframer-loader.ts"],"names":[],"mappings":";;AAEA,0BAWC;AAbD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,IAAI,CAAC,CAAA;AAElE,KAAK,UAAU,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc;IAE5D,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO;YACH,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC;YAC3B,6DAA6D;YAC7D,YAAY,EAAE,IAAI,EAAE,wDAAwD;SAC/E,CAAA;IACL,CAAC;IAED,OAAO,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;AAC7D,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "3.0.1";
1
+ export declare const version = "3.0.4";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '3.0.1';
4
+ exports.version = '3.0.4';
5
5
  //# sourceMappingURL=version.js.map
package/esm/cli.js CHANGED
@@ -199,6 +199,7 @@ export async function configFromFetch({ projectId, externalPackages = [], allExt
199
199
  }) || [];
200
200
  const config = {
201
201
  ...data,
202
+ pageBackgroundColor: data.project?.pageBackgroundColor || '',
202
203
  breakpoints: defaultBreakpointSizes,
203
204
  outDir,
204
205
  externalPackages,
package/esm/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/esm/cli.test.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { expect, test } from 'vitest';
2
- import { componentCamelCase, extractTokenInfo, findRelativeLinks, } from './exporter.js';
2
+ import { extractTokenInfo, findRelativeLinks, } from './exporter.js';
3
+ import { componentCamelCase } from './typescript.js';
3
4
  import { componentNameToPath } from './utils.js';
4
5
  test('componentNameToPath', () => {
5
6
  expect(componentNameToPath('LogoTicker')).toMatchInlineSnapshot(`"logo-ticker"`);
@@ -14,6 +15,13 @@ test('componentCamelCase', () => {
14
15
  expect(componentCamelCase('nav')).toMatchInlineSnapshot(`"NavFramerComponent"`);
15
16
  expect(componentCamelCase('framer_nav')).toMatchInlineSnapshot(`"FramerNavFramerComponent"`);
16
17
  expect(componentCamelCase('shared/nav/framer-nav')).toMatchInlineSnapshot(`"FramerNavFramerComponent"`);
18
+ // Test cases with spaces and special characters
19
+ expect(componentCamelCase('hero section')).toMatchInlineSnapshot(`"HeroSectionFramerComponent"`);
20
+ expect(componentCamelCase('hero-section with spaces')).toMatchInlineSnapshot(`"HeroSectionWithSpacesFramerComponent"`);
21
+ expect(componentCamelCase('component@#$name')).toMatchInlineSnapshot(`"ComponentNameFramerComponent"`);
22
+ expect(componentCamelCase('123-component')).toMatchInlineSnapshot(`"Framer123ComponentFramerComponent"`);
23
+ expect(componentCamelCase('component!!name??test')).toMatchInlineSnapshot(`"ComponentNameTestFramerComponent"`);
24
+ expect(componentCamelCase(' multiple spaces ')).toMatchInlineSnapshot(`"MultipleSpacesFramerComponent"`);
17
25
  });
18
26
  test('findRelativeLinks', () => {
19
27
  expect(findRelativeLinks(`
@@ -1 +1 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAC3D,eAAe,CAClB,CAAA;IACD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;IACxE,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC,qBAAqB,CACvE,2BAA2B,CAC9B,CAAA;IACD,MAAM,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CACrE,yBAAyB,CAC5B,CAAA;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAC3D,6BAA6B,CAChC,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAC3D,6BAA6B,CAChC,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CACpD,uBAAuB,CAC1B,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CACnD,sBAAsB,CACzB,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAC1D,4BAA4B,CAC/B,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CACrE,4BAA4B,CAC/B,CAAA;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC3B,MAAM,CACF,iBAAiB,CAAC;;;;;KAKrB,CAAC,CACD,CAAC,qBAAqB,CAAC;;;;;KAKvB,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,IAAI,CACA,kBAAkB,EAClB,KAAK,IAAI,EAAE;IACP,MAAM,GAAG,GAAG;;;;;;;;;;SAUX,CAAA;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAqCpC,CAAC,CAAA;AACN,CAAC,EACD,IAAI,GAAG,EAAE,CACZ,CAAA"}
1
+ {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EACH,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAC3D,eAAe,CAClB,CAAA;IACD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;IACxE,MAAM,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC,qBAAqB,CACvE,2BAA2B,CAC9B,CAAA;IACD,MAAM,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CACrE,yBAAyB,CAC5B,CAAA;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAC3D,6BAA6B,CAChC,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAC3D,6BAA6B,CAChC,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CACpD,uBAAuB,CAC1B,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CACnD,sBAAsB,CACzB,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAC1D,4BAA4B,CAC/B,CAAA;IACD,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CACrE,4BAA4B,CAC/B,CAAA;IACD,gDAAgD;IAChD,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAA;IAChG,MAAM,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC,wCAAwC,CAAC,CAAA;IACtH,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,CAAA;IACtG,MAAM,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,qCAAqC,CAAC,CAAA;IACxG,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC,oCAAoC,CAAC,CAAA;IAC/G,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC,iCAAiC,CAAC,CAAA;AAChH,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC3B,MAAM,CACF,iBAAiB,CAAC;;;;;KAKrB,CAAC,CACD,CAAC,qBAAqB,CAAC;;;;;KAKvB,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,IAAI,CACA,kBAAkB,EAClB,KAAK,IAAI,EAAE;IACP,MAAM,GAAG,GAAG;;;;;;;;;;SAUX,CAAA;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAqCpC,CAAC,CAAA;AACN,CAAC,EACD,IAAI,GAAG,EAAE,CACZ,CAAA"}
@@ -26,7 +26,7 @@ describe('createExampleComponentCode', () => {
26
26
 
27
27
  export default function App() {
28
28
  return (
29
- <div className='flex flex-col items-center gap-3 '>
29
+ <div className='flex flex-col items-center gap-3 bg-[rgb(8,_8, 7)]'>
30
30
  <NavigationFramerComponent.Responsive
31
31
  ctaVariant={"Primary"}
32
32
  />
package/esm/exporter.d.ts CHANGED
@@ -61,19 +61,6 @@ export declare function extractPropControlsUnsafe(filename: any, name: any): Pro
61
61
  propertyControls?: PropertyControls;
62
62
  fonts?: ComponentFontBundle[];
63
63
  }>;
64
- /**
65
- * Generates TypeDoc comments that will be injected into JSX files
66
- * instead of generating separate .d.ts files
67
- */
68
- export declare function propControlsToTypedocComments({ config, fileName, controls, }: {
69
- controls: PropertyControls;
70
- fileName: string;
71
- config: Config;
72
- }): {
73
- headerComment: string;
74
- responsiveComment: string;
75
- defaultExportComment: string;
76
- };
77
64
  export declare function parsePropertyControls(code: string): string | null;
78
65
  type ExtractedTokenInfo = {
79
66
  tokenName: string;
@@ -81,7 +68,6 @@ type ExtractedTokenInfo = {
81
68
  defaultValue: string;
82
69
  };
83
70
  export declare function extractTokenInfo(code: string): ExtractedTokenInfo[];
84
- export declare function componentCamelCase(str: string): string;
85
71
  export declare function indentWithTabs(str: string, tabs: string): string;
86
72
  export declare function createExampleComponentCode({ outDir, config, }: {
87
73
  outDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAKxE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAkB9B,OAAO,EACH,mBAAmB,EAOtB,MAAM,UAAU,CAAA;AAUjB,OAAO,EAGH,gBAAgB,EAEnB,MAAM,aAAa,CAAA;AAgBpB,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,MAAM,CAAC,EACzB,MAAM,EACN,GAAG,EAAE,GAAQ,EACb,KAAa,EACb,MAA6C,GAChD,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;CACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsrBA;AAID,wBAAgB,qBAAqB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;;;CAAA,+BA+BjD;AAED,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;;;CAAA,oBAyB1C;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACtC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAChC,OAAO,EAAE,MAAM,CAAA;CAClB,UAaA;AAED,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,UAAU,EAAE,EACpB,YAAY,GAAE,OAAO,GAAG,OAAiB,UAqD5C;AACD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,YAY7C;AA2ID,wBAAsB,yBAAyB,CAC3C,QAAQ,KAAA,EACR,IAAI,KAAA,GACL,OAAO,CAAC;IACP,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAC,CAuED;AAWD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,iBAqCjD;AAED,KAAK,kBAAkB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE9B,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA2DnE;AA2DD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAMvD;AAED,wBAAsB,0BAA0B,CAAC,EAC7C,MAAM,EACN,MAAM,GACT,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACjB;;;GA4DA;AAED,KAAK,YAAY,GAAG;IAChB,UAAU,EAAE,KAAK,CAAC;QACd,iBAAiB,EAAE,MAAM,CAAA;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,aAAa,EAAE,MAAM,CAAA;QACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KACtC,CAAC,CAAA;CACL,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAyB5E"}
package/esm/exporter.js CHANGED
@@ -12,8 +12,9 @@ import { babelPluginJsxTransform, removeJsxExpressionContainer, } from './babel-
12
12
  import { babelPluginTypedoc } from './babel-typedoc.js';
13
13
  import { propCamelCaseJustLikeFramer } from './compat.js';
14
14
  import { breakpointsStyles, defaultBreakpointSizes, getFontsStyles, groupBy, logFontsUsage, } from './css.js';
15
+ import { propControlsToTypedocComments, componentCamelCase, } from './typescript.js';
15
16
  import { defaultExternalPackages, esbuildPluginBundleDependencies, resolveRedirect, } from './esbuild';
16
- import { ControlType, combinedCSSRules, } from './framer.js';
17
+ import { ControlType, } from './framer.js';
17
18
  import { notifyError } from './sentry';
18
19
  import { kebabCase, logger, spinner, stackblitzDemoExample, terminalMarkdown, } from './utils.js';
19
20
  import { installPackagesBatch } from './package-manager.js';
@@ -34,16 +35,21 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
34
35
  function getFilePaths(filePath, outDir) {
35
36
  const baseName = path.basename(filePath);
36
37
  const dirName = path.dirname(filePath);
38
+ const relativeDirname = path.relative(outDir, dirName);
39
+ // chunks are imported, which means they should not have the temp_ prefix or imports will fail
40
+ if (relativeDirname === 'chunks') {
41
+ return {
42
+ tempJsPath: path.resolve(outDir, filePath),
43
+ finalJsPath: path.resolve(outDir, filePath),
44
+ jsxPath: path.resolve(outDir, filePath.replace(/\.js$/, '.jsx')),
45
+ };
46
+ }
37
47
  const tempFileName = tempJsPrefix + baseName;
38
48
  const tempFilePath = path.join(dirName, tempFileName);
39
49
  return {
40
- originalPath: filePath,
41
50
  tempJsPath: path.resolve(outDir, tempFilePath),
42
51
  finalJsPath: path.resolve(outDir, filePath),
43
52
  jsxPath: path.resolve(outDir, filePath.replace(/\.js$/, '.jsx')),
44
- tempFilePath,
45
- baseName,
46
- dirName,
47
53
  };
48
54
  }
49
55
  spinner.start('exporting components...');
@@ -243,7 +249,7 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
243
249
  const paths = getFilePaths(file.path, out);
244
250
  const prefix = `// @ts-nocheck\n` + `/* eslint-disable */\n` + doNotEditComment;
245
251
  const codeJs = prefix + file.text;
246
- logger.log(`writing temp JS`, path.relative(out, paths.tempFilePath));
252
+ logger.log(`writing temp JS`, path.relative(out, paths.tempJsPath));
247
253
  await fs.promises.mkdir(path.dirname(paths.tempJsPath), {
248
254
  recursive: true,
249
255
  });
@@ -284,10 +290,13 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
284
290
  ...x,
285
291
  fileName: path.basename(file.path),
286
292
  })));
293
+ const componentImportedName = componentCamelCase(name);
287
294
  const typedocComments = propControlsToTypedocComments({
288
- controls: propertyControls,
289
- fileName: name,
290
- config,
295
+ propertyControls: propertyControls,
296
+ logger,
297
+ componentImportedName,
298
+ locales: config.locales,
299
+ includeLocaleTypes: true,
291
300
  });
292
301
  logger.log(`Generated TypeDoc comments for ${name}: ${!!typedocComments.headerComment}`);
293
302
  await fs.promises.mkdir(out, { recursive: true });
@@ -313,14 +322,11 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
313
322
  });
314
323
  const cssString = doNotEditComment +
315
324
  '/* This css file has all the necessary styles to run all your components */\n' +
316
- '\n' +
317
- resetCssStyles +
325
+ '@import "unframer/styles/reset.css";\n' +
326
+ '@import "unframer/styles/framer.css";\n' +
318
327
  getStyleTokensCss(tokens || []) +
319
328
  breakpointsStyles(breakpoints) +
320
329
  '\n\n' +
321
- combinedCSSRules
322
- .map((x) => (x?.startsWith(' ') ? dedent(x) : x))
323
- .join('\n') +
324
330
  getFontsStyles(allFonts);
325
331
  await fs.promises.writeFile(path.resolve(out, 'styles.css'), cssString, 'utf-8');
326
332
  logFontsUsage(allFonts)
@@ -835,140 +841,6 @@ function safeJsonParse(text) {
835
841
  return null;
836
842
  }
837
843
  }
838
- /**
839
- * Generates TypeDoc comments that will be injected into JSX files
840
- * instead of generating separate .d.ts files
841
- */
842
- export function propControlsToTypedocComments({ config, fileName, controls, }) {
843
- try {
844
- const types = Object.entries(controls || {})
845
- .map(([key, value]) => {
846
- if (!value) {
847
- return;
848
- }
849
- const typescriptType = (value) => {
850
- value.type;
851
- switch (value.type) {
852
- case ControlType.Color:
853
- return 'string';
854
- case ControlType.Boolean:
855
- return 'boolean';
856
- case ControlType.Number:
857
- return 'number';
858
- case ControlType.String:
859
- return 'string';
860
- case ControlType.Enum: {
861
- // @ts-expect-error
862
- const options = value.optionTitles || value.options;
863
- return options.map((x) => `'${x}'`).join(' | ');
864
- }
865
- case ControlType.File:
866
- return 'string';
867
- case ControlType.Image:
868
- return 'string';
869
- case ControlType.ComponentInstance:
870
- return 'React.ReactNode';
871
- case ControlType.Array:
872
- // @ts-expect-error
873
- return `${typescriptType(value.control)}[]`;
874
- case ControlType.Object:
875
- // @ts-expect-error
876
- return `{${Object.entries(value.controls)
877
- .map(([k, v]) => {
878
- // @ts-expect-error
879
- return `${k}: ${typescriptType(v)}`;
880
- })
881
- .join(', ')}`;
882
- case ControlType.Date:
883
- return 'string | Date';
884
- case ControlType.Link:
885
- return 'string';
886
- case ControlType.ResponsiveImage:
887
- return `{src: string, srcSet?: string, alt?: string}`;
888
- case ControlType.FusedNumber:
889
- return 'number';
890
- case ControlType.Transition:
891
- return 'any';
892
- case ControlType.EventHandler:
893
- return 'Function';
894
- }
895
- };
896
- let name = propCamelCaseJustLikeFramer(value.title || key || '');
897
- if (!name) {
898
- return '';
899
- }
900
- return ` * ${name}?: ${typescriptType(value)} // ${value.title || name}`;
901
- })
902
- .filter(Boolean)
903
- .join('\n');
904
- const componentName = componentCamelCase(fileName);
905
- const defaultPropsJsDoc = [
906
- ' * children?: React.ReactNode',
907
- ' * locale?: Locale',
908
- ' * style?: React.CSSProperties',
909
- ' * className?: string',
910
- ' * id?: string',
911
- ' * ref?: any',
912
- ' * width?: any',
913
- ' * height?: any',
914
- ' * layoutId?: string',
915
- ].join('\n');
916
- // Generate header comment with type definitions
917
- let headerComment = '/**\n';
918
- headerComment += ' * @typedef Locale\n';
919
- // Generate union type from config.locales if available
920
- const localeType = (() => {
921
- if (config?.locales &&
922
- Array.isArray(config.locales) &&
923
- config.locales.length > 0) {
924
- return config.locales
925
- .map((locale) => `'${locale.slug}'`)
926
- .join(' | ');
927
- }
928
- return 'string';
929
- })();
930
- headerComment += ` * ${localeType}\n`;
931
- headerComment += ' */\n\n';
932
- headerComment += '/**\n';
933
- headerComment +=
934
- ' * @typedef {{\n';
935
- headerComment += defaultPropsJsDoc;
936
- if (types) {
937
- headerComment += '\n' + types;
938
- }
939
- headerComment += `\n}} Props\n`;
940
- headerComment += '\n */\n\n';
941
- headerComment += '/**\n';
942
- headerComment += ' * @type {import("unframer").UnframerBreakpoint}\n';
943
- headerComment += ' * Represents a responsive breakpoint for unframer.\n';
944
- headerComment += ' */\n\n';
945
- headerComment += '/**\n';
946
- headerComment += ' * @typedef VariantsMap\n';
947
- headerComment +=
948
- " * Partial record of UnframerBreakpoint to Props.variant, with a mandatory 'base' key.\n";
949
- headerComment +=
950
- " * { [key in UnframerBreakpoint]?: Props['variant'] } & { base: Props['variant'] }\n";
951
- headerComment += ' */';
952
- // Generate responsive comment
953
- const responsiveComment = `/**\n * Renders ${componentName} for all breakpoints with a variants map. Variant prop is inferred per breakpoint.\n * @function\n * @param {Omit<Props, 'variant'> & {variants?: VariantsMap}} props\n * @returns {any}\n */`;
954
- // Generate default export comment - use inline function type instead of referencing undefined type
955
- const defaultExportComment = `/** @type {function(Props): any} */`;
956
- return {
957
- headerComment,
958
- responsiveComment,
959
- defaultExportComment,
960
- };
961
- }
962
- catch (e) {
963
- logger.error(e.message);
964
- logger.error('cannot generate typedoc comments', e.stack);
965
- return {
966
- headerComment: '',
967
- responsiveComment: '',
968
- defaultExportComment: '',
969
- };
970
- }
971
- }
972
844
  export function parsePropertyControls(code) {
973
845
  const start = code.indexOf('addPropertyControls(');
974
846
  if (start === -1) {
@@ -1068,19 +940,6 @@ function splitOnce(str, separator) {
1068
940
  }
1069
941
  return [str.slice(0, index), str.slice(index + 1)];
1070
942
  }
1071
- export function componentCamelCase(str) {
1072
- str = str?.replace(/\.jsx?$/, '');
1073
- if (!str) {
1074
- return 'FramerComponent';
1075
- }
1076
- // Take last part after slashes
1077
- str = str.split('/').filter(Boolean).pop() || '';
1078
- str = str.replace(/-([\w])/g, (g) => g[1].toUpperCase());
1079
- str = str.replace(/_([a-z])/g, (g) => g[1].toUpperCase());
1080
- str = str[0].toUpperCase() + str.slice(1);
1081
- str = str + 'FramerComponent';
1082
- return str;
1083
- }
1084
943
  const breakpointVariants = ['mobile', 'tablet', 'desktop'];
1085
944
  function getVariantsFromPropControls(propControls) {
1086
945
  if (!propControls?.variant) {
@@ -1108,32 +967,6 @@ function findExampleProperty(propertyControls) {
1108
967
  }
1109
968
  return propCamelCaseJustLikeFramer(stringProp[1]?.title || '');
1110
969
  }
1111
- // these styles are global styles injected by Framer in the generated websites, without them things like icons can look weird
1112
- const resetCssStyles = `
1113
-
1114
- :root {
1115
- -webkit-font-smoothing: antialiased;
1116
- -moz-osx-font-smoothing: grayscale;
1117
- }
1118
-
1119
- * {
1120
- box-sizing: border-box;
1121
- -webkit-font-smoothing: inherit;
1122
- }
1123
-
1124
- .unframer h1, .unframer h2, .unframer h3, .unframer h4, .unframer h5, .unframer h6, .unframer p, .unframer figure {
1125
- margin: 0;
1126
- }
1127
-
1128
- .unframer {
1129
- line-height: normal;
1130
- }
1131
-
1132
- .unframer, .unframer input, .unframer textarea, .unframer select, .unframer button {
1133
- font-size: 12px;
1134
- font-family: sans-serif;
1135
- }
1136
- `;
1137
970
  async function recursiveReaddir(dir) {
1138
971
  const dirents = await fs.promises.readdir(dir, { withFileTypes: true });
1139
972
  const files = await Promise.all(dirents.map((dirent) => {