unframer 2.6.6 → 2.7.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.
package/dist/utils.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export declare function terminalMarkdown(markdown: string): string | Promise<string>;
1
2
  export declare const logger: {
2
3
  log(...args: any[]): void;
3
4
  green(...args: any[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;CAUlB,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,4BAEhD;AAGD,eAAO,MAAM,MAAM;;;;CAUlB,CAAA"}
package/dist/utils.js CHANGED
@@ -4,7 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.logger = void 0;
7
+ exports.terminalMarkdown = terminalMarkdown;
7
8
  const picocolors_1 = __importDefault(require("picocolors"));
9
+ const marked_1 = require("marked");
10
+ const marked_terminal_1 = require("marked-terminal");
11
+ marked_1.marked.use((0, marked_terminal_1.markedTerminal)());
12
+ function terminalMarkdown(markdown) {
13
+ return (0, marked_1.marked)(markdown);
14
+ }
8
15
  const prefix = '[unframer]';
9
16
  exports.logger = {
10
17
  log(...args) {
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA6B;AAE7B,MAAM,MAAM,GAAG,YAAY,CAAA;AACd,QAAA,MAAM,GAAG;IAClB,GAAG,CAAC,GAAG,IAAI;QACP,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAOA,4CAEC;AATD,4DAA6B;AAE7B,mCAA+B;AAC/B,qDAAgD;AAEhD,eAAM,CAAC,GAAG,CAAC,IAAA,gCAAc,GAAE,CAAC,CAAA;AAE5B,SAAgB,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,MAAM,GAAG,YAAY,CAAA;AACd,QAAA,MAAM,GAAG;IAClB,GAAG,CAAC,GAAG,IAAI;QACP,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA"}
package/esm/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,GAAG,mBAAkB,CAAA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,GAAG,mBAAkB,CAAA"}
package/esm/cli.js CHANGED
@@ -7,74 +7,78 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { bundle } from './exporter.js';
11
- import JSON from 'json5';
12
10
  import { setMaxListeners } from 'events';
13
- import chokidar from 'chokidar';
14
- import fs from 'fs-extra';
11
+ import JSON from 'json5';
12
+ import { bundle } from './exporter.js';
13
+ import { cac } from 'cac';
15
14
  import findUp from 'find-up';
15
+ import fs from 'fs-extra';
16
16
  import path, { basename } from 'path';
17
- const configNames = ['unframer.config.json', 'unframer.json'];
18
- import { cac } from 'cac';
19
17
  import { logger } from './utils.js';
18
+ const configNames = ['unframer.config.json', 'unframer.json'];
20
19
  export const cli = cac('unframer');
21
- cli.command('', 'Run unframer')
22
- .option('--watch', 'Watch for Framer and unframer.config.json changes')
23
- .action(function main(options) {
20
+ let defaultOutDir = 'framer';
21
+ function nameToFolder(name) {
22
+ return name
23
+ .replace(/[^a-zA-Z0-9]/g, '-') // Replace non-alphanumeric with dash
24
+ .replace(/-+/g, '-') // Replace multiple dashes with single dash
25
+ .replace(/^-|-$/g, '') // Remove leading/trailing dashes
26
+ .toLowerCase();
27
+ }
28
+ cli.command('[projectId]', 'Run unframer with optional project ID')
29
+ .option('--outDir <dir>', 'Output directory', { default: defaultOutDir })
30
+ .action(function main(projectId, options) {
24
31
  return __awaiter(this, void 0, void 0, function* () {
32
+ const outDir = options.outDir;
33
+ if (projectId) {
34
+ logger.log(`Fetching config for project ${projectId}`);
35
+ const response = yield fetch(new URL(`/api/plugins/reactExportPlugin/project/${projectId}`, process.env.UNFRAMER_SERVER_URL || 'https://unframer.co').toString());
36
+ if (!response.ok) {
37
+ console.error(`Failed to fetch Framer config`);
38
+ logger.error('Response: ' + (yield response.text()));
39
+ return;
40
+ }
41
+ const data = yield response.json();
42
+ return processConfig({
43
+ config: {
44
+ outDir,
45
+ components: Object.fromEntries(data.components.map((c) => [
46
+ nameToFolder(c.name),
47
+ c.url,
48
+ ])),
49
+ tokens: data.colorStyles,
50
+ },
51
+ watch: false,
52
+ configBasename: 'remote config',
53
+ signal: new AbortController().signal,
54
+ });
55
+ }
25
56
  fixOldUnframerPath();
26
57
  const cwd = process.cwd();
27
- const watch = process.argv.includes('--watch');
28
58
  logger.log(`Looking for ${configNames.join(', ')} in ${cwd}`);
29
59
  const configPath = yield findUp(configNames, { cwd });
30
60
  if (!configPath) {
31
61
  logger.log(`No ${configNames.join(', ')} found`);
32
62
  return;
33
63
  }
34
- let configBasename = basename(configPath);
64
+ const configBasename = basename(configPath);
35
65
  const configContent = fs.readFileSync(configPath, 'utf8');
36
66
  if (!configContent) {
37
67
  logger.log(`No ${configBasename} contents found`);
38
68
  return;
39
69
  }
40
- let config = JSON.parse(configContent);
70
+ const config = JSON.parse(configContent);
71
+ if (outDir !== defaultOutDir) {
72
+ config.outDir = outDir;
73
+ }
41
74
  let controller = new AbortController();
42
75
  setMaxListeners(0, controller.signal);
43
76
  processConfig({
44
77
  config,
45
- watch,
78
+ watch: false,
46
79
  signal: controller.signal,
47
80
  configBasename,
48
81
  });
49
- if (!watch) {
50
- return;
51
- }
52
- const watcher = chokidar.watch(configPath, {
53
- persistent: true,
54
- });
55
- watcher.on('change', (path) => __awaiter(this, void 0, void 0, function* () {
56
- logger.log(`${configBasename} changed`);
57
- console.log();
58
- controller.abort();
59
- controller = new AbortController();
60
- setMaxListeners(0, controller.signal);
61
- const newConfig = safeJsonParse(fs.readFileSync(configPath, 'utf8'));
62
- if (!newConfig) {
63
- logger.log(`Invalid ${configBasename} file`);
64
- return;
65
- }
66
- const newNames = getNewNames(config, newConfig);
67
- if (newNames.length) {
68
- logger.log(`New components found: ${newNames.join(', ')}`);
69
- yield processConfig({
70
- config: Object.assign(Object.assign({}, newConfig), { components: pluck(newConfig.components, newNames) }),
71
- watch,
72
- configBasename,
73
- // signal: controller.signal,
74
- });
75
- }
76
- config = newConfig;
77
- }));
78
82
  });
79
83
  });
80
84
  const defaultConfig = `{
@@ -96,6 +100,8 @@ function fixOldUnframerPath() {
96
100
  }
97
101
  return false;
98
102
  }
103
+ const version = require('../package.json').version;
104
+ cli.version(version).help();
99
105
  cli.command('init', 'Init the unframer.config.json config').action((options) => __awaiter(void 0, void 0, void 0, function* () {
100
106
  let fixed = fixOldUnframerPath();
101
107
  if (fixed) {
@@ -105,8 +111,6 @@ cli.command('init', 'Init the unframer.config.json config').action((options) =>
105
111
  const p = path.resolve(process.cwd(), 'unframer.config.json');
106
112
  console.log(`${p} file created`);
107
113
  }));
108
- const version = require('../package.json').version;
109
- cli.version(version).help();
110
114
  function safeJsonParse(json) {
111
115
  try {
112
116
  return JSON.parse(json);
@@ -147,6 +151,7 @@ function processConfig(_a) {
147
151
  breakpoints,
148
152
  cwd: installDir,
149
153
  watch,
154
+ tokens: config.tokens,
150
155
  signal,
151
156
  });
152
157
  }
package/esm/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
package/esm/css.js CHANGED
@@ -70,7 +70,7 @@ export function getFontsStyles(_fontsDefs) {
70
70
  str += dedent `
71
71
  @font-face {
72
72
  font-family: '${x.family}';
73
- src: url(${x.url});\n`;
73
+ src: url('${x.url}');\n`;
74
74
  if (x.style) {
75
75
  str += ` font-style: ${x.style};\n`;
76
76
  }
package/esm/css.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","sourceRoot":"","sources":["../src/css.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css.js","sourceRoot":"","sources":["../src/css.ts"],"names":[],"mappings":"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"}
package/esm/exporter.d.ts CHANGED
@@ -1,9 +1,16 @@
1
1
  import { PropertyControls } from './framer';
2
2
  import { ComponentFontBundle } from './css.js';
3
- export declare function bundle({ cwd: out, watch, components, breakpoints, signal, }: {
3
+ export type StyleToken = {
4
+ id: string;
5
+ name?: string;
6
+ lightColor: string;
7
+ darkColor: string;
8
+ };
9
+ export declare function bundle({ cwd: out, watch, components, tokens, breakpoints, signal, }: {
4
10
  cwd?: string | undefined;
5
11
  watch?: boolean | undefined;
6
12
  components?: Record<string, string> | undefined;
13
+ tokens?: StyleToken[] | undefined;
7
14
  breakpoints?: {
8
15
  readonly base: 0;
9
16
  readonly sm: 320;
@@ -21,7 +28,12 @@ export declare function bundle({ cwd: out, watch, components, breakpoints, signa
21
28
  componentName: string;
22
29
  propertyControls: PropertyControls<any, any> | undefined;
23
30
  }[];
24
- }>;
31
+ } | undefined>;
32
+ export declare function getDarkModeSelector(opts: {
33
+ darkModeType?: 'class' | 'media';
34
+ content: string;
35
+ }): string;
36
+ export declare function getStyleTokensCss(tokens: StyleToken[], darkModeType?: 'class' | 'media'): string;
25
37
  export declare function findRelativeLinks(text: string): number[];
26
38
  export declare function extractPropControlsSafe(text: any, name: any): Promise<PropertyControls<any, any> | undefined>;
27
39
  export declare function extractPropControlsUnsafe(filename: any, name: any): Promise<{
@@ -30,12 +42,12 @@ export declare function extractPropControlsUnsafe(filename: any, name: any): Pro
30
42
  }>;
31
43
  export declare function propControlsToType(controls: PropertyControls, fileName: any): string;
32
44
  export declare function parsePropertyControls(code: string): string | null;
33
- type TokenInfo = {
45
+ type ExtractedTokenInfo = {
34
46
  tokenName: string;
35
47
  metadata?: Record<string, any>;
36
48
  defaultValue: string;
37
49
  };
38
- export declare function extractTokenInfo(code: string): TokenInfo[];
50
+ export declare function extractTokenInfo(code: string): ExtractedTokenInfo[];
39
51
  export declare function componentCamelCase(str: string): string;
40
52
  export {};
41
53
  //# sourceMappingURL=exporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AASA,OAAO,EAIH,gBAAgB,EAEnB,MAAM,UAAU,CAAA;AAKjB,OAAO,EAEH,mBAAmB,EAKtB,MAAM,UAAU,CAAA;AAiBjB,wBAAsB,MAAM,CAAC,EACzB,GAAG,EAAE,GAAQ,EACb,KAAa,EACb,UAAyC,EACzC,WAAmC,EACnC,MAA6C,GAChD;;;;;;;;;;;;;CAAA;;;;;;;;GAkSA;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,YAY7C;AAED,wBAAsB,uBAAuB,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,mDAmCvD;AAmGD,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,CA2BD;AAWD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,KAAA,UA4FtE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,iBAqCjD;AAED,KAAK,SAAS,GAAG;IACb,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,SAAS,EAAE,CA2D1D;AASD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAU7C"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AASA,OAAO,EAIH,gBAAgB,EAEnB,MAAM,UAAU,CAAA;AAKjB,OAAO,EAEH,mBAAmB,EAKtB,MAAM,UAAU,CAAA;AAiBjB,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,MAAM,CAAC,EACzB,GAAG,EAAE,GAAQ,EACb,KAAa,EACb,UAAyC,EACzC,MAA2B,EAC3B,WAAmC,EACnC,MAA6C,GAChD;;;;;;;;;;;;;;CAAA;;;;;;;;eAkWA;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,UA6B5C;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,YAY7C;AAED,wBAAsB,uBAAuB,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,mDAmCvD;AAmGD,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,CA2BD;AAWD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,KAAA,UA6FtE;AAED,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;AASD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAU7C"}
package/esm/exporter.js CHANGED
@@ -18,7 +18,7 @@ import path from 'path';
18
18
  import { exec } from 'child_process';
19
19
  import { breakpointsStyles, getFontsStyles, groupBy, logFontsUsage, } from './css.js';
20
20
  import dedent from 'dedent';
21
- import { logger } from './utils.js';
21
+ import { logger, terminalMarkdown } from './utils.js';
22
22
  import { esbuildPluginBundleDependencies, resolveRedirect, externalPackages, } from './esbuild';
23
23
  function validateUrl(url) {
24
24
  try {
@@ -29,7 +29,7 @@ function validateUrl(url) {
29
29
  }
30
30
  }
31
31
  export function bundle(_a) {
32
- return __awaiter(this, arguments, void 0, function* ({ cwd: out = '', watch = false, components = {}, breakpoints = {}, signal = undefined, }) {
32
+ return __awaiter(this, arguments, void 0, function* ({ cwd: out = '', watch = false, components = {}, tokens = [], breakpoints = {}, signal = undefined, }) {
33
33
  out || (out = path.resolve(process.cwd(), 'example'));
34
34
  out = path.resolve(out);
35
35
  try {
@@ -112,6 +112,7 @@ export function bundle(_a) {
112
112
  .catch(() => null);
113
113
  let codeNew = `// @ts-nocheck\n` +
114
114
  `/* eslint-disable */\n` +
115
+ '/* This file was generated by Unframer, do not edit manually */\n' +
115
116
  dprint.format(resultPathAbs, file.text, {
116
117
  lineWidth: 140,
117
118
  quoteStyle: 'alwaysSingle',
@@ -135,7 +136,10 @@ export function bundle(_a) {
135
136
  const sema = new Sema(10);
136
137
  const packageJson = path.resolve(out, 'package.json');
137
138
  fs.writeFileSync(packageJson, JSON.stringify({ type: 'module' }), 'utf-8');
138
- const propControlsData = yield Promise.all(result.outputFiles.map((file) => __awaiter(this, void 0, void 0, function* () {
139
+ if (!(result === null || result === void 0 ? void 0 : result.outputFiles)) {
140
+ throw new Error('Failed to generate result');
141
+ }
142
+ const propControlsData = yield Promise.all(result === null || result === void 0 ? void 0 : result.outputFiles.map((file) => __awaiter(this, void 0, void 0, function* () {
139
143
  try {
140
144
  yield sema.acquire();
141
145
  const name = path.basename(file.path).replace(/\.js$/, '');
@@ -164,7 +168,10 @@ export function bundle(_a) {
164
168
  sema.release();
165
169
  }
166
170
  }))).finally(() => fs.rmSync(packageJson));
167
- const cssString = '/* This css file has all the necessary styles to run all your components */\n' +
171
+ const cssString = '/* This file was generated by Unframer, do not edit manually */\n' +
172
+ '/* This css file has all the necessary styles to run all your components */\n' +
173
+ '\n' +
174
+ getStyleTokensCss(tokens) +
168
175
  breakpointsStyles(breakpoints) +
169
176
  '\n\n' +
170
177
  combinedCSSRules
@@ -196,10 +203,12 @@ export function bundle(_a) {
196
203
  if (watch) {
197
204
  logger.log('waiting for components or config changes');
198
205
  }
199
- const tokensCss = "/* This css file contains your color variables, sometimes these get desynced when updated in Framer so it's good that you copy and paste this snippet into your app css */\n" +
200
- '/* Bug: https://www.framer.community/c/bugs/color-style-unlinks-when-copying-component-between-projects-resulting-in-potential-value-discrepancy */\n' +
201
- getTokensCss({ out, result });
202
- fs.writeFileSync(path.resolve(out, 'tokens.css'), tokensCss, 'utf-8');
206
+ if (!(tokens === null || tokens === void 0 ? void 0 : tokens.length)) {
207
+ const tokensCss = "/* This css file contains your color variables, sometimes these get desynced when updated in Framer so it's good that you copy and paste this snippet into your app css */\n" +
208
+ '/* Bug: https://www.framer.community/c/bugs/color-style-unlinks-when-copying-component-between-projects-resulting-in-potential-value-discrepancy */\n' +
209
+ getTokensCss({ out, result });
210
+ fs.writeFileSync(path.resolve(out, 'tokens.css'), tokensCss, 'utf-8');
211
+ }
203
212
  const res = {
204
213
  components: Object.entries(components).map(([name, v]) => {
205
214
  const propControls = propControlsData.find((x) => (x === null || x === void 0 ? void 0 : x.name) === name);
@@ -218,50 +227,135 @@ export function bundle(_a) {
218
227
  if (!watch) {
219
228
  const result = yield rebuild();
220
229
  yield buildContext.dispose();
230
+ console.log(terminalMarkdown(dedent `
231
+ # How to use the Framer components
232
+
233
+ The components are exported to the \`framer\` directory (or the directory you specified in the config).
234
+ Each component has a \`.Responsive\` variant that allows you to specify different variants for different breakpoints.
235
+ The breakpoints are:
236
+ - base: 0-319px
237
+ - sm: 320-767px
238
+ - md: 768-959px
239
+ - lg: 960-1199px
240
+ - xl: 1200-1535px
241
+ - 2xl: 1536px+
242
+
243
+ You can import the components like this:
244
+
245
+ \`\`\`tsx
246
+ import './framer/styles.css'
247
+ import Logos from './framer/logos'
248
+
249
+ export default function App() {
250
+ return (
251
+ <div>
252
+ <Logos.Responsive
253
+ variants={{
254
+ lg: 'Desktop',
255
+ md: 'Tablet',
256
+ base: 'Mobile',
257
+ }}
258
+ />
259
+ </div>
260
+ );
261
+ };
262
+ \`\`\`
263
+
264
+ It's very important to import the \`styles.css\` file to include the necessary styles for the components.
265
+
266
+ You can also use the components without the responsive wrapper:
267
+
268
+ \`\`\`tsx
269
+ import './framer/styles.css'
270
+ import Logos from './framer/logos'
271
+
272
+ export default function App() {
273
+ return (
274
+ <div>
275
+ <Logos variant="Desktop" />
276
+ </div>
277
+ );
278
+ };
279
+ \`\`\`
280
+ `));
221
281
  return result;
222
282
  }
223
- // when user press ctrl+c dispose
224
- process.on('SIGINT', () => __awaiter(this, void 0, void 0, function* () {
225
- yield buildContext.cancel();
226
- buildContext.dispose();
227
- }));
228
- process.on('SIGABRT', () => __awaiter(this, void 0, void 0, function* () {
229
- yield buildContext.cancel();
230
- buildContext.dispose();
231
- }));
232
- signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', () => __awaiter(this, void 0, void 0, function* () {
233
- yield buildContext.cancel();
234
- buildContext.dispose();
235
- }));
236
- const res = yield rebuild();
237
- /**
238
- * Get resolved URLs for all components and also wait for 1 second if it took less time than that
239
- */
240
- const getResolvedUrls = () => Promise.all([
241
- ...Object.values(components).map((u) => {
242
- const url = new URL(u);
243
- url.searchParams.set('ts', Date.now().toString());
244
- return resolveRedirect({ url: url.toString(), signal });
245
- }),
246
- new Promise((res) => setTimeout(res, 5000)),
247
- ]);
248
- let prevUrls = yield getResolvedUrls();
249
- while (!(signal === null || signal === void 0 ? void 0 : signal.aborted)) {
250
- const urls = yield getResolvedUrls();
251
- const changed = urls
252
- .map((x, i) => (x !== prevUrls[i] ? i : null))
253
- .filter(Boolean);
254
- if (!(changed === null || changed === void 0 ? void 0 : changed.length)) {
255
- continue;
256
- }
257
- const changedNames = Object.keys(components).filter((_, i) => changed.includes(i));
258
- logger.log(`found new component URLs for ${changedNames.join(', ')}`);
259
- prevUrls = urls;
260
- yield rebuild();
261
- }
262
- return res;
283
+ // // when user press ctrl+c dispose
284
+ // process.on('SIGINT', async () => {
285
+ // await buildContext.cancel()
286
+ // buildContext.dispose()
287
+ // })
288
+ // process.on('SIGABRT', async () => {
289
+ // await buildContext.cancel()
290
+ // buildContext.dispose()
291
+ // })
292
+ // signal?.addEventListener('abort', async () => {
293
+ // await buildContext.cancel()
294
+ // buildContext.dispose()
295
+ // })
296
+ // const res = await rebuild()
297
+ // /**
298
+ // * Get resolved URLs for all components and also wait for 1 second if it took less time than that
299
+ // */
300
+ // const getResolvedUrls = () =>
301
+ // Promise.all([
302
+ // ...Object.values(components).map((u) => {
303
+ // const url = new URL(u)
304
+ // url.searchParams.set('ts', Date.now().toString())
305
+ // return resolveRedirect({ url: url.toString(), signal })
306
+ // }),
307
+ // new Promise((res) => setTimeout(res, 5000)),
308
+ // ])
309
+ // let prevUrls = await getResolvedUrls()
310
+ // while (!signal?.aborted) {
311
+ // const urls = await getResolvedUrls()
312
+ // const changed = urls
313
+ // .map((x, i) => (x !== prevUrls[i] ? i : null))
314
+ // .filter(Boolean)
315
+ // if (!changed?.length) {
316
+ // continue
317
+ // }
318
+ // const changedNames = Object.keys(components).filter((_, i) =>
319
+ // changed.includes(i),
320
+ // )
321
+ // logger.log(`found new component URLs for ${changedNames.join(', ')}`)
322
+ // prevUrls = urls
323
+ // await rebuild()
324
+ // }
325
+ // return res
263
326
  });
264
327
  }
328
+ export function getDarkModeSelector(opts) {
329
+ const { darkModeType = 'class', content } = opts;
330
+ if (darkModeType === 'media') {
331
+ return ('@media (prefers-color-scheme: dark) {\n' +
332
+ ' :root {\n' +
333
+ content +
334
+ '\n' +
335
+ ' }\n' +
336
+ '}');
337
+ }
338
+ return '.dark:root {\n' + content + '\n' + '}';
339
+ }
340
+ export function getStyleTokensCss(tokens, darkModeType = 'class') {
341
+ if (!(tokens === null || tokens === void 0 ? void 0 : tokens.length)) {
342
+ return '';
343
+ }
344
+ const lightTokens = tokens
345
+ .map((token) => ' --token-' + token.id + ': ' + token.lightColor + ';')
346
+ .join('\n');
347
+ const darkTokens = tokens
348
+ .map((token) => ' --token-' + token.id + ': ' + token.darkColor + ';')
349
+ .join('\n');
350
+ return (':root {\n' +
351
+ lightTokens +
352
+ '\n' +
353
+ '}\n\n' +
354
+ getDarkModeSelector({
355
+ darkModeType,
356
+ content: darkTokens,
357
+ }));
358
+ }
265
359
  function decapitalize(str) {
266
360
  return str.charAt(0).toLowerCase() + str.slice(1);
267
361
  }
@@ -485,6 +579,7 @@ export function propControlsToType(controls, fileName) {
485
579
  .map((line) => ` ${line}`)
486
580
  .join('\n') + '\n';
487
581
  let t = '';
582
+ t += '/* This file was generated by Unframer, do not edit manually */\n';
488
583
  t += 'import * as React from "react"\n\n';
489
584
  t += 'import { UnframerBreakpoint } from "unframer"\n\n';
490
585
  t += `export interface Props {\n${defaultPropsTypes}${types}\n}\n\n`;