unframer 0.7.1 → 1.0.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/README.md CHANGED
@@ -77,9 +77,9 @@ export default function App() {
77
77
  {/* Changes component variant based on breakpoint */}
78
78
  <Logos.Responsive
79
79
  variants={{
80
- Desktop: 'Logo Ticker',
81
- Tablet: 'Logo Ticker - M',
82
- Mobile: 'Logo Ticker - M',
80
+ lg: 'Desktop Variant',
81
+ md: 'Tablet Variant',
82
+ base: 'Mobile Variant',
83
83
  }}
84
84
  />
85
85
  </div>
@@ -106,9 +106,9 @@ export default function App() {
106
106
  <Logos.responsive
107
107
  className='!w-full'
108
108
  variants={{
109
- Desktop: 'Logo Ticker',
110
- Tablet: 'Logo Ticker - M',
111
- Mobile: 'Logo Ticker - M',
109
+ lg: 'Desktop',
110
+ md: 'Tablet',
111
+ base: 'Mobile',
112
112
  }}
113
113
  />
114
114
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,SAAS,CAAA;AAQlD,OAAO,EAGH,gBAAgB,EACnB,MAAM,gCAAgC,CAAA;AAQvC,eAAO,MAAM,MAAM;;;CAOlB,CAAA;AAYD,wBAAsB,MAAM,CAAC,EACzB,GAAG,EAAE,GAAQ,EACb,UAAyC,EACzC,MAAqC,GACxC;;;;CAAA,iBAyIA;AAMD,wBAAsB,uBAAuB,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,mDAmCvD;AAED,wBAAsB,yBAAyB,CAAC,QAAQ,KAAA,EAAE,IAAI,KAAA,gBA2B7D;AAWD,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,UA8E7D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,iBAqCjD;AAWD,wBAAgB,+BAA+B,CAAC,EAC5C,MAA6C,GAChD;;CAAA,UAmIA;AAED,wBAAsB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,gBAYtE;AAED,wBAAsB,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,+BAa1D"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,SAAS,CAAA;AAQlD,OAAO,EAGH,gBAAgB,EACnB,MAAM,gCAAgC,CAAA;AAQvC,eAAO,MAAM,MAAM;;;CAOlB,CAAA;AAYD,wBAAsB,MAAM,CAAC,EACzB,GAAG,EAAE,GAAQ,EACb,UAAyC,EACzC,MAAqC,GACxC;;;;CAAA,iBAyJA;AAMD,wBAAsB,uBAAuB,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,mDAmCvD;AAED,wBAAsB,yBAAyB,CAAC,QAAQ,KAAA,EAAE,IAAI,KAAA,gBA2B7D;AAWD,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,UA0F7D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,iBAqCjD;AAWD,wBAAgB,+BAA+B,CAAC,EAC5C,MAA6C,GAChD;;CAAA,UAmIA;AAED,wBAAsB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,gBAYtE;AAED,wBAAsB,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,+BAa1D"}
package/dist/exporter.js CHANGED
@@ -29,10 +29,7 @@ function validateUrl(url) {
29
29
  export async function bundle({ cwd: out = '', components = {}, signal = new AbortController().signal, }) {
30
30
  out ||= path.resolve(process.cwd(), 'example');
31
31
  out = path.resolve(out);
32
- try {
33
- fs.rmSync(out, { recursive: true, force: true });
34
- }
35
- catch (e) { }
32
+ const prevFiles = fs.readdirSync(out).map((x) => path.resolve(out, x));
36
33
  fs.mkdirSync(path.resolve(out), { recursive: true });
37
34
  const result = await build({
38
35
  // entryPoints: {
@@ -90,11 +87,26 @@ export async function bundle({ cwd: out = '', components = {}, signal = new Abor
90
87
  },
91
88
  },
92
89
  ],
93
- write: true,
90
+ write: false,
94
91
  // outfile: 'dist/example.js',
95
92
  outdir: out,
96
93
  // outfile: path.resolve(cwd, sourcefile),
97
94
  });
95
+ for (let file of result.outputFiles) {
96
+ const abs = path.resolve(out, file.path);
97
+ const existing = await fs.promises
98
+ .readFile(file.path, 'utf-8')
99
+ .catch(() => null);
100
+ if (existing === file.text) {
101
+ continue;
102
+ }
103
+ fs.writeFileSync(abs, file.text, 'utf-8');
104
+ }
105
+ const outFiles = result.outputFiles.map((x) => path.resolve(out, x.path));
106
+ const filesToDelete = prevFiles.filter((x) => !outFiles.includes(x));
107
+ for (let file of filesToDelete) {
108
+ fs.rmSync(file);
109
+ }
98
110
  fs.writeFileSync(path.resolve(out, 'meta.json'), JSON.stringify(result.metafile, null, 2), 'utf-8');
99
111
  if (signal.aborted) {
100
112
  throw new Error('aborted');
@@ -172,7 +184,7 @@ export async function extractPropControlsSafe(text, name) {
172
184
  return propControls;
173
185
  }
174
186
  catch (e) {
175
- console.error(`Cannot get property controls for ${name}`, e.stack);
187
+ logger.error(`Cannot get property controls for ${name}`, e.stack);
176
188
  }
177
189
  }
178
190
  export async function extractPropControlsUnsafe(filename, name) {
@@ -191,7 +203,7 @@ export async function extractPropControlsUnsafe(filename, name) {
191
203
  return safeJsonParse(stdout);
192
204
  }
193
205
  catch (e) {
194
- console.error(`Cannot get property controls for ${name}`, e.stack);
206
+ logger.error(`Cannot get property controls for ${name}`, e.stack);
195
207
  }
196
208
  finally {
197
209
  fs.rmSync(packageJson);
@@ -264,18 +276,29 @@ export function propControlsToType(controls) {
264
276
  if (!name) {
265
277
  return '';
266
278
  }
267
- return ` ${JSON.stringify(name)}?: ${typescriptType(value)}`;
279
+ return ` ${JSON.stringify(name)}?: ${typescriptType(value)}`;
268
280
  })
269
281
  .filter(Boolean)
270
282
  .join('\n');
271
- const defaultPropsTypes = ` children?: React.ReactNode\n style?: React.CSSProperties\n className?: string\n id?: string\n width?: any\n height?: any\n layoutId?: string\n`;
283
+ const defaultPropsTypes = [
284
+ 'children?: React.ReactNode',
285
+ 'style?: React.CSSProperties',
286
+ 'className?: string',
287
+ 'id?: string',
288
+ 'width?: any',
289
+ 'height?: any',
290
+ 'layoutId?: string',
291
+ ]
292
+ .map((line) => ` ${line}`)
293
+ .join('\n') + '\n';
272
294
  let t = '';
273
- t += 'import * as React from "react"\n';
274
- t += `export interface Props {\n${defaultPropsTypes}${types}\n}\n`;
275
- t += `const Component = (props: Props) => any\n`;
276
- t += `export default Component\n`;
277
- t += `type Breakpoint = 'Desktop' | 'Tablet' | 'Mobile'\n`;
278
- t += `Component.Responsive = (props: Omit<Props, 'variant'> & {variants: Record<Breakpoint, Props['variant']>}) => any\n`;
295
+ t += 'import * as React from "react"\n\n';
296
+ t += 'import { UnframerBreakpoint } from "unframer"\n\n';
297
+ t += `export interface Props {\n${defaultPropsTypes}${types}\n}\n\n`;
298
+ t += `const Component = (props: Props) => any\n\n`;
299
+ t += `type VariantsMap = Partial<Record<UnframerBreakpoint, Props['variant']>> & { base: Props['variant'] }\n\n`;
300
+ t += `Component.Responsive = (props: Omit<Props, 'variant'> & {variants: VariantsMap}) => any\n\n`;
301
+ t += `export default Component\n\n`;
279
302
  return t;
280
303
  }
281
304
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"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"}
package/dist/react.d.ts CHANGED
@@ -1,4 +1,13 @@
1
1
  import { ComponentType } from 'react';
2
+ declare const breakpointSizes: {
3
+ readonly base: 0;
4
+ readonly sm: 320;
5
+ readonly md: 768;
6
+ readonly lg: 960;
7
+ readonly xl: 1200;
8
+ readonly '2xl': 1536;
9
+ };
10
+ export type UnframerBreakpoint = keyof typeof breakpointSizes;
2
11
  export declare function FramerStyles({ Components }: {
3
12
  Components?: any[] | undefined;
4
13
  }): any;
@@ -7,9 +16,10 @@ export declare const WithFramerBreakpoints: import("react").ForwardRefExoticComp
7
16
  variant?: any;
8
17
  className?: string | undefined;
9
18
  }>;
10
- variants?: Record<"Desktop" | "Tablet" | "Mobile", any> | undefined;
19
+ variants: Record<"base" | "sm" | "md" | "lg" | "xl" | "2xl", any>;
11
20
  } & Omit<{
12
21
  variant?: any;
13
22
  className?: string | undefined;
14
23
  }, "variant"> & import("react").RefAttributes<unknown>>;
24
+ export {};
15
25
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EAKhB,MAAM,OAAO,CAAA;AAsId,wBAAgB,YAAY,CAAC,EAAE,UAAwB,EAAE;;CAAA,GAAG,GAAG,CA6C9D;AAED,eAAO,MAAM,qBAAqB;;kBACM,GAAG;;;;;cAAH,GAAG;;uDA+EzC,CAAA"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EAKhB,MAAM,OAAO,CAAA;AA+Cd,QAAA,MAAM,eAAe;;;;;;;CAOX,CAAA;AAOV,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,eAAe,CAAA;AAsF7D,wBAAgB,YAAY,CAAC,EAAE,UAAwB,EAAE;;CAAA,GAAG,GAAG,CA6C9D;AAED,eAAO,MAAM,qBAAqB;;kBACM,GAAG;;;;;cAAH,GAAG;;uDA2EzC,CAAA"}
package/dist/react.js CHANGED
@@ -9,41 +9,6 @@ function getFonts(component) {
9
9
  function classNames(...args) {
10
10
  return args.filter(Boolean).join(' ');
11
11
  }
12
- const defaultBreakpoints = ['Desktop', 'Tablet', 'Mobile'];
13
- let defaultMap = Object.fromEntries(defaultBreakpoints.map((x) => [x, x]));
14
- function getClassMap(breakpoints) {
15
- const classMap = {
16
- Desktop: '',
17
- Tablet: '',
18
- Mobile: '',
19
- };
20
- if (breakpoints.length === 1) {
21
- classMap[breakpoints[0]] = 'FramerDesktop FramerTablet FramerMobile';
22
- }
23
- else if (breakpoints.length === 2) {
24
- if (breakpoints.includes('Desktop')) {
25
- classMap.Desktop = 'Desktop';
26
- classMap[breakpoints.find((b) => b !== 'Desktop')] =
27
- 'FramerTablet FramerMobile';
28
- }
29
- else if (breakpoints.includes('Tablet')) {
30
- classMap.Tablet = 'Tablet';
31
- classMap[breakpoints.find((b) => b !== 'Tablet')] =
32
- 'FramerDesktop FramerMobile';
33
- }
34
- else {
35
- classMap.Mobile = 'Mobile';
36
- classMap[breakpoints.find((b) => b !== 'Mobile')] =
37
- 'FramerDesktop FramerTablet';
38
- }
39
- }
40
- else if (breakpoints.length === 3) {
41
- classMap.Desktop = 'FramerDesktop';
42
- classMap.Tablet = 'FramerTablet';
43
- classMap.Mobile = 'FramerMobile';
44
- }
45
- return classMap;
46
- }
47
12
  function deduplicateByKey(arr, key) {
48
13
  let map = new Map();
49
14
  for (let item of arr) {
@@ -74,44 +39,78 @@ function getFontsStyles(Components) {
74
39
  return str;
75
40
  }
76
41
  const breakpointSizes = {
77
- Desktop: 1024,
78
- Tablet: 768,
79
- Mobile: 0,
42
+ base: 0,
43
+ sm: 320,
44
+ md: 768,
45
+ lg: 960,
46
+ xl: 1200,
47
+ '2xl': 1536,
80
48
  };
49
+ // breakpoints from the higher to the lower
50
+ const defaultBreakpoints = Object.keys(breakpointSizes).reverse();
81
51
  function getBreakpointNameFromWindowWidth(windowWidth) {
82
52
  return defaultBreakpoints.find((name) => windowWidth >= breakpointSizes[name]);
83
53
  }
84
- const breakpointsStyles = `
54
+ const breakpointsStyles = /* css */ `
55
+ /* Base */
56
+ @media (min-width: ${breakpointSizes.base}px) and (max-width: ${breakpointSizes.sm - 1}px) {
57
+ .unframer-hidden.unframer-base {
58
+ display: contents;
59
+ }
60
+ }
85
61
 
86
- .FramerTablet,
87
- .FramerMobile,
88
- .FramerDesktop {
89
- display: none;
62
+ /* Small */
63
+ @media (min-width: ${breakpointSizes.sm}px) and (max-width: ${breakpointSizes.md - 1}px) {
64
+ .unframer-hidden.unframer-sm {
65
+ display: contents;
66
+ }
90
67
  }
91
68
 
92
- @media (min-width: ${breakpointSizes.Desktop}px) {
93
- .FramerDesktop {
69
+ /* Medium */
70
+ @media (min-width: ${breakpointSizes.md}px) and (max-width: ${breakpointSizes.lg - 1}px) {
71
+ .unframer-hidden.unframer-md {
94
72
  display: contents;
95
73
  }
96
74
  }
97
75
 
98
- @media (min-width: ${breakpointSizes.Tablet}px) and (max-width: ${breakpointSizes.Desktop}px) {
99
- .FramerTablet {
76
+ /* Large */
77
+ @media (min-width: ${breakpointSizes.lg}px) and (max-width: ${breakpointSizes.xl - 1}px) {
78
+ .unframer-hidden.unframer-lg {
100
79
  display: contents;
101
80
  }
102
81
  }
103
82
 
104
- @media (max-width: ${breakpointSizes.Tablet}px) {
105
- .FramerMobile {
83
+ /* Extra Large */
84
+ @media (min-width: ${breakpointSizes.xl}px) and (max-width: ${breakpointSizes['2xl'] - 1}px) {
85
+ .unframer-hidden.unframer-xl {
106
86
  display: contents;
107
87
  }
108
88
  }
109
89
 
110
- .contents {
111
- display: contents;
90
+ /* 2 Extra Large */
91
+ @media (min-width: ${breakpointSizes['2xl']}px) {
92
+ .unframer-hidden.unframer-2xl {
93
+ display: contents;
94
+ }
112
95
  }
113
96
 
97
+ .unframer-hidden {
98
+ display: none;
99
+ }
114
100
  `;
101
+ function fillBreakpoints(breakpoints) {
102
+ const breakpointsOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl'];
103
+ const filledBreakpoints = { ...breakpoints };
104
+ for (let i = 1; i < breakpointsOrder.length; i++) {
105
+ const currentBreakpoint = breakpointsOrder[i];
106
+ const previousBreakpoint = breakpointsOrder[i - 1];
107
+ if (!filledBreakpoints[currentBreakpoint]) {
108
+ filledBreakpoints[currentBreakpoint] =
109
+ filledBreakpoints[previousBreakpoint];
110
+ }
111
+ }
112
+ return filledBreakpoints;
113
+ }
115
114
  const nothing = () => {
116
115
  return () => { };
117
116
  };
@@ -132,7 +131,7 @@ export function FramerStyles({ Components = [] }) {
132
131
  __html: combinedCSSRules.join('\n'),
133
132
  }, suppressHydrationWarning: true, hidden: true }, 'combinedCSSRules')] }));
134
133
  }
135
- export const WithFramerBreakpoints = forwardRef(function WithFramerBreakpoints({ Component, variants: breakpointsMap = defaultMap, ...rest }, ref) {
134
+ export const WithFramerBreakpoints = forwardRef(function WithFramerBreakpoints({ Component, variants: _breakpointsMap, ...rest }, ref) {
136
135
  const id = useId();
137
136
  const currentBreakpoint = useSyncExternalStore(onResize, () => {
138
137
  // console.log('window.innerWidth', window.innerWidth)
@@ -142,34 +141,24 @@ export const WithFramerBreakpoints = forwardRef(function WithFramerBreakpoints({
142
141
  // on server and during hydration
143
142
  return '';
144
143
  });
145
- // const [isMounted, setIsMounted] = useState(false)
146
- // useEffect(() => {
147
- // setIsMounted(true)
148
- // }, [])
149
144
  const parts = useMemo(() => {
150
- const variants = [];
151
- for (let breakpointName in breakpointsMap) {
152
- const realVariant = breakpointsMap[breakpointName];
145
+ const allBreakpoints = fillBreakpoints(_breakpointsMap);
146
+ const variants = {};
147
+ for (let breakpointName of Object.keys(allBreakpoints)) {
148
+ const realVariant = allBreakpoints[breakpointName];
153
149
  if (!realVariant) {
154
150
  continue;
155
151
  }
156
152
  if (currentBreakpoint && currentBreakpoint !== breakpointName) {
157
153
  continue;
158
154
  }
159
- let mapped = defaultBreakpoints.filter((x) => breakpointsMap[x]);
160
- const existingVariant = variants.find((x) => x.variant === realVariant);
161
- let className = classNames(existingVariant?.className, getClassMap(mapped)[breakpointName]);
162
- if (existingVariant) {
163
- existingVariant.className = className;
164
- }
165
- else {
166
- variants.push({ className, variant: realVariant });
167
- }
155
+ let className = classNames(variants[realVariant]?.className || 'unframer-hidden', `unframer-${breakpointName}`);
156
+ variants[realVariant] = { className, variant: realVariant };
168
157
  }
169
- return variants.map(({ className, variant }) => {
158
+ return Object.values(variants).map(({ className, variant }) => {
170
159
  return (_jsx("div", { className: className, children: _jsx(LayoutGroup, { id: id + variant, children: _jsx(Component, { ref: ref, ...rest, variant: variant }, variant) }, variant) }, variant));
171
160
  });
172
- }, [currentBreakpoint, rest, breakpointsMap]);
161
+ }, [currentBreakpoint, rest, _breakpointsMap]);
173
162
  return parts;
174
163
  });
175
164
  const onResize = (callback) => {
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unframer",
3
- "version": "0.7.1",
3
+ "version": "1.0.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "repository": "https://github.com/remorses/unframer",
package/src/exporter.ts CHANGED
@@ -44,9 +44,8 @@ export async function bundle({
44
44
  }) {
45
45
  out ||= path.resolve(process.cwd(), 'example')
46
46
  out = path.resolve(out)
47
- try {
48
- fs.rmSync(out, { recursive: true, force: true })
49
- } catch (e) {}
47
+ const prevFiles = fs.readdirSync(out).map((x) => path.resolve(out, x))
48
+
50
49
  fs.mkdirSync(path.resolve(out), { recursive: true })
51
50
 
52
51
  const result = await build({
@@ -116,13 +115,30 @@ export async function bundle({
116
115
  },
117
116
  },
118
117
  ],
119
- write: true,
118
+ write: false,
120
119
 
121
120
  // outfile: 'dist/example.js',
122
121
  outdir: out,
123
122
  // outfile: path.resolve(cwd, sourcefile),
124
123
  })
125
124
 
125
+ for (let file of result.outputFiles!) {
126
+ const abs = path.resolve(out, file.path)
127
+ const existing = await fs.promises
128
+ .readFile(file.path, 'utf-8')
129
+ .catch(() => null)
130
+ if (existing === file.text) {
131
+ continue
132
+ }
133
+ fs.writeFileSync(abs, file.text, 'utf-8')
134
+ }
135
+
136
+ const outFiles = result.outputFiles.map((x) => path.resolve(out, x.path))
137
+ const filesToDelete = prevFiles.filter((x) => !outFiles.includes(x))
138
+ for (let file of filesToDelete) {
139
+ fs.rmSync(file)
140
+ }
141
+
126
142
  fs.writeFileSync(
127
143
  path.resolve(out, 'meta.json'),
128
144
  JSON.stringify(result.metafile, null, 2),
@@ -217,7 +233,7 @@ export async function extractPropControlsSafe(text, name) {
217
233
  }
218
234
  return propControls
219
235
  } catch (e: any) {
220
- console.error(`Cannot get property controls for ${name}`, e.stack)
236
+ logger.error(`Cannot get property controls for ${name}`, e.stack)
221
237
  }
222
238
  }
223
239
 
@@ -244,7 +260,7 @@ export async function extractPropControlsUnsafe(filename, name) {
244
260
  // console.log(stdout)
245
261
  return safeJsonParse(stdout)
246
262
  } catch (e: any) {
247
- console.error(`Cannot get property controls for ${name}`, e.stack)
263
+ logger.error(`Cannot get property controls for ${name}`, e.stack)
248
264
  } finally {
249
265
  fs.rmSync(packageJson)
250
266
  }
@@ -318,19 +334,31 @@ export function propControlsToType(controls?: PropertyControls) {
318
334
  if (!name) {
319
335
  return ''
320
336
  }
321
- return ` ${JSON.stringify(name)}?: ${typescriptType(value)}`
337
+ return ` ${JSON.stringify(name)}?: ${typescriptType(value)}`
322
338
  })
323
339
  .filter(Boolean)
324
340
  .join('\n')
325
341
 
326
- const defaultPropsTypes = ` children?: React.ReactNode\n style?: React.CSSProperties\n className?: string\n id?: string\n width?: any\n height?: any\n layoutId?: string\n`
342
+ const defaultPropsTypes =
343
+ [
344
+ 'children?: React.ReactNode',
345
+ 'style?: React.CSSProperties',
346
+ 'className?: string',
347
+ 'id?: string',
348
+ 'width?: any',
349
+ 'height?: any',
350
+ 'layoutId?: string',
351
+ ]
352
+ .map((line) => ` ${line}`)
353
+ .join('\n') + '\n'
327
354
  let t = ''
328
- t += 'import * as React from "react"\n'
329
- t += `export interface Props {\n${defaultPropsTypes}${types}\n}\n`
330
- t += `const Component = (props: Props) => any\n`
331
- t += `export default Component\n`
332
- t += `type Breakpoint = 'Desktop' | 'Tablet' | 'Mobile'\n`
333
- t += `Component.Responsive = (props: Omit<Props, 'variant'> & {variants: Record<Breakpoint, Props['variant']>}) => any\n`
355
+ t += 'import * as React from "react"\n\n'
356
+ t += 'import { UnframerBreakpoint } from "unframer"\n\n'
357
+ t += `export interface Props {\n${defaultPropsTypes}${types}\n}\n\n`
358
+ t += `const Component = (props: Props) => any\n\n`
359
+ t += `type VariantsMap = Partial<Record<UnframerBreakpoint, Props['variant']>> & { base: Props['variant'] }\n\n`
360
+ t += `Component.Responsive = (props: Omit<Props, 'variant'> & {variants: VariantsMap}) => any\n\n`
361
+ t += `export default Component\n\n`
334
362
 
335
363
  return t
336
364
  } catch (e: any) {
package/src/react.tsx CHANGED
@@ -19,46 +19,6 @@ function classNames(...args) {
19
19
  return args.filter(Boolean).join(' ')
20
20
  }
21
21
 
22
- const defaultBreakpoints = ['Desktop', 'Tablet', 'Mobile'] as const
23
-
24
- type Breakpoint = (typeof defaultBreakpoints)[number]
25
-
26
- let defaultMap: Record<Breakpoint, string> = Object.fromEntries(
27
- defaultBreakpoints.map((x) => [x, x]),
28
- ) as any
29
-
30
- function getClassMap(breakpoints: Breakpoint[]): Record<Breakpoint, string> {
31
- const classMap: Record<Breakpoint, string> = {
32
- Desktop: '',
33
- Tablet: '',
34
- Mobile: '',
35
- }
36
-
37
- if (breakpoints.length === 1) {
38
- classMap[breakpoints[0]] = 'FramerDesktop FramerTablet FramerMobile'
39
- } else if (breakpoints.length === 2) {
40
- if (breakpoints.includes('Desktop')) {
41
- classMap.Desktop = 'Desktop'
42
- classMap[breakpoints.find((b) => b !== 'Desktop')!] =
43
- 'FramerTablet FramerMobile'
44
- } else if (breakpoints.includes('Tablet')) {
45
- classMap.Tablet = 'Tablet'
46
- classMap[breakpoints.find((b) => b !== 'Tablet')!] =
47
- 'FramerDesktop FramerMobile'
48
- } else {
49
- classMap.Mobile = 'Mobile'
50
- classMap[breakpoints.find((b) => b !== 'Mobile')!] =
51
- 'FramerDesktop FramerTablet'
52
- }
53
- } else if (breakpoints.length === 3) {
54
- classMap.Desktop = 'FramerDesktop'
55
- classMap.Tablet = 'FramerTablet'
56
- classMap.Mobile = 'FramerMobile'
57
- }
58
-
59
- return classMap
60
- }
61
-
62
22
  function deduplicateByKey<T>(arr: T[], key: (k: T) => string) {
63
23
  let map = new Map()
64
24
  for (let item of arr) {
@@ -95,11 +55,21 @@ function getFontsStyles(Components) {
95
55
  return str
96
56
  }
97
57
 
98
- const breakpointSizes: Record<(typeof defaultBreakpoints)[number], number> = {
99
- Desktop: 1024,
100
- Tablet: 768,
101
- Mobile: 0,
102
- }
58
+ const breakpointSizes = {
59
+ base: 0,
60
+ sm: 320,
61
+ md: 768,
62
+ lg: 960,
63
+ xl: 1200,
64
+ '2xl': 1536,
65
+ } as const
66
+
67
+ // breakpoints from the higher to the lower
68
+ const defaultBreakpoints = Object.keys(
69
+ breakpointSizes,
70
+ ).reverse() as UnframerBreakpoint[]
71
+
72
+ export type UnframerBreakpoint = keyof typeof breakpointSizes
103
73
 
104
74
  function getBreakpointNameFromWindowWidth(windowWidth: number) {
105
75
  return defaultBreakpoints.find(
@@ -107,37 +77,80 @@ function getBreakpointNameFromWindowWidth(windowWidth: number) {
107
77
  )
108
78
  }
109
79
 
110
- const breakpointsStyles = `
80
+ const breakpointsStyles = /* css */ `
81
+ /* Base */
82
+ @media (min-width: ${breakpointSizes.base}px) and (max-width: ${
83
+ breakpointSizes.sm - 1
84
+ }px) {
85
+ .unframer-hidden.unframer-base {
86
+ display: contents;
87
+ }
88
+ }
111
89
 
112
- .FramerTablet,
113
- .FramerMobile,
114
- .FramerDesktop {
115
- display: none;
90
+ /* Small */
91
+ @media (min-width: ${breakpointSizes.sm}px) and (max-width: ${
92
+ breakpointSizes.md - 1
93
+ }px) {
94
+ .unframer-hidden.unframer-sm {
95
+ display: contents;
96
+ }
116
97
  }
117
98
 
118
- @media (min-width: ${breakpointSizes.Desktop}px) {
119
- .FramerDesktop {
99
+ /* Medium */
100
+ @media (min-width: ${breakpointSizes.md}px) and (max-width: ${
101
+ breakpointSizes.lg - 1
102
+ }px) {
103
+ .unframer-hidden.unframer-md {
120
104
  display: contents;
121
105
  }
122
106
  }
123
107
 
124
- @media (min-width: ${breakpointSizes.Tablet}px) and (max-width: ${breakpointSizes.Desktop}px) {
125
- .FramerTablet {
108
+ /* Large */
109
+ @media (min-width: ${breakpointSizes.lg}px) and (max-width: ${
110
+ breakpointSizes.xl - 1
111
+ }px) {
112
+ .unframer-hidden.unframer-lg {
126
113
  display: contents;
127
114
  }
128
115
  }
129
116
 
130
- @media (max-width: ${breakpointSizes.Tablet}px) {
131
- .FramerMobile {
117
+ /* Extra Large */
118
+ @media (min-width: ${breakpointSizes.xl}px) and (max-width: ${
119
+ breakpointSizes['2xl'] - 1
120
+ }px) {
121
+ .unframer-hidden.unframer-xl {
132
122
  display: contents;
133
123
  }
134
124
  }
135
125
 
136
- .contents {
137
- display: contents;
126
+ /* 2 Extra Large */
127
+ @media (min-width: ${breakpointSizes['2xl']}px) {
128
+ .unframer-hidden.unframer-2xl {
129
+ display: contents;
130
+ }
138
131
  }
139
132
 
133
+ .unframer-hidden {
134
+ display: none;
135
+ }
140
136
  `
137
+ type Breakpoints = Record<UnframerBreakpoint, string>
138
+
139
+ function fillBreakpoints(breakpoints: Breakpoints): Breakpoints {
140
+ const breakpointsOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl']
141
+ const filledBreakpoints: Breakpoints = { ...breakpoints }
142
+
143
+ for (let i = 1; i < breakpointsOrder.length; i++) {
144
+ const currentBreakpoint = breakpointsOrder[i]
145
+ const previousBreakpoint = breakpointsOrder[i - 1]
146
+
147
+ if (!filledBreakpoints[currentBreakpoint]) {
148
+ filledBreakpoints[currentBreakpoint] =
149
+ filledBreakpoints[previousBreakpoint]
150
+ }
151
+ }
152
+ return filledBreakpoints
153
+ }
141
154
 
142
155
  const nothing = () => {
143
156
  return () => {}
@@ -194,11 +207,14 @@ export const WithFramerBreakpoints = forwardRef(function WithFramerBreakpoints<
194
207
  >(
195
208
  {
196
209
  Component,
197
- variants: breakpointsMap = defaultMap,
210
+ variants: _breakpointsMap,
198
211
  ...rest
199
212
  }: {
200
213
  Component: T
201
- variants?: Record<Breakpoint, ComponentPropsWithoutRef<T>['variant']>
214
+ variants: Record<
215
+ UnframerBreakpoint,
216
+ ComponentPropsWithoutRef<T>['variant']
217
+ >
202
218
  } & Omit<ComponentPropsWithoutRef<T>, 'variant'>,
203
219
  ref,
204
220
  ): any {
@@ -218,15 +234,15 @@ export const WithFramerBreakpoints = forwardRef(function WithFramerBreakpoints<
218
234
  return ''
219
235
  },
220
236
  )
221
- // const [isMounted, setIsMounted] = useState(false)
222
- // useEffect(() => {
223
- // setIsMounted(true)
224
- // }, [])
225
237
 
226
238
  const parts = useMemo(() => {
227
- const variants = [] as { className: string; variant: string }[]
228
- for (let breakpointName in breakpointsMap) {
229
- const realVariant = breakpointsMap[breakpointName]
239
+ const allBreakpoints = fillBreakpoints(_breakpointsMap)
240
+ const variants = {} as Record<
241
+ string,
242
+ { className: string; variant: string }
243
+ >
244
+ for (let breakpointName of Object.keys(allBreakpoints)) {
245
+ const realVariant = allBreakpoints[breakpointName]
230
246
  if (!realVariant) {
231
247
  continue
232
248
  }
@@ -234,21 +250,14 @@ export const WithFramerBreakpoints = forwardRef(function WithFramerBreakpoints<
234
250
  continue
235
251
  }
236
252
 
237
- let mapped = defaultBreakpoints.filter((x) => breakpointsMap[x])
238
- const existingVariant = variants.find(
239
- (x) => x.variant === realVariant,
240
- )
241
253
  let className = classNames(
242
- existingVariant?.className,
243
- getClassMap(mapped)[breakpointName],
254
+ variants[realVariant]?.className || 'unframer-hidden',
255
+ `unframer-${breakpointName}`,
244
256
  )
245
- if (existingVariant) {
246
- existingVariant.className = className
247
- } else {
248
- variants.push({ className, variant: realVariant })
249
- }
257
+ variants[realVariant] = { className, variant: realVariant }
250
258
  }
251
- return variants.map(({ className, variant }) => {
259
+
260
+ return Object.values(variants).map(({ className, variant }) => {
252
261
  return (
253
262
  <div key={variant} className={className}>
254
263
  <LayoutGroup key={variant} id={id + variant}>
@@ -266,7 +275,7 @@ export const WithFramerBreakpoints = forwardRef(function WithFramerBreakpoints<
266
275
  </div>
267
276
  )
268
277
  })
269
- }, [currentBreakpoint, rest, breakpointsMap])
278
+ }, [currentBreakpoint, rest, _breakpointsMap])
270
279
 
271
280
  return parts
272
281
  })