unframer 2.2.1 → 2.3.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/esm/react.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ComponentType } from 'react';
2
- import { breakpointSizes } from './css.js';
3
- export type UnframerBreakpoint = keyof typeof breakpointSizes;
2
+ import { defaultBreakpointSizes } from './css.js';
3
+ export type UnframerBreakpoint = keyof typeof defaultBreakpointSizes;
4
4
  /**
5
5
  * @deprecated Use styles.css import instead
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EAKhB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,eAAe,EAAqC,MAAM,UAAU,CAAA;AAW7E,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,eAAe,CAAA;AA+B7D;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,UAAwB,EAAE;;CAAA,GAAG,GAAG,CAiD9D;AAED,eAAO,MAAM,qBAAqB;;kBACM,GAAG;;;;;cAAH,GAAG;;uDA2EzC,CAAA"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EAKhB,MAAM,OAAO,CAAA;AACd,OAAO,EAEH,sBAAsB,EAEzB,MAAM,UAAU,CAAA;AAWjB,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,sBAAsB,CAAA;AA8BpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,UAAwB,EAAE;;CAAA,GAAG,GAAG,CAmD9D;AAED,eAAO,MAAM,qBAAqB;;kBACM,GAAG;;;;;cAAH,GAAG;;uDA2EzC,CAAA"}
package/esm/react.js CHANGED
@@ -13,14 +13,14 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  import { combinedCSSRules } from './framer';
15
15
  import { forwardRef, useId, useMemo, useSyncExternalStore, } from 'react';
16
- import { breakpointSizes, breakpointsStyles, getFontsStyles } from './css.js';
16
+ import { breakpointsStyles, defaultBreakpointSizes, getFontsStyles, } from './css.js';
17
17
  function classNames(...args) {
18
18
  return args.filter(Boolean).join(' ');
19
19
  }
20
20
  // breakpoints from the higher to the lower
21
- const defaultBreakpoints = Object.keys(breakpointSizes).reverse();
21
+ const defaultBreakpoints = Object.keys(defaultBreakpointSizes).reverse();
22
22
  function getBreakpointNameFromWindowWidth(windowWidth) {
23
- return defaultBreakpoints.find((name) => windowWidth >= breakpointSizes[name]);
23
+ return defaultBreakpoints.find((name) => windowWidth >= defaultBreakpointSizes[name]);
24
24
  }
25
25
  function fillBreakpoints(breakpoints) {
26
26
  const breakpointsOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl'];
@@ -43,7 +43,9 @@ const nothing = () => {
43
43
  */
44
44
  export function FramerStyles({ Components = [] }) {
45
45
  const isClient = useSyncExternalStore(nothing, () => true, () => false);
46
- const breakpoints = (_jsx("style", { dangerouslySetInnerHTML: { __html: breakpointsStyles }, suppressHydrationWarning: true, hidden: true }, 'breakpointsStyles'));
46
+ const breakpoints = (_jsx("style", { dangerouslySetInnerHTML: {
47
+ __html: breakpointsStyles(defaultBreakpointSizes),
48
+ }, suppressHydrationWarning: true, hidden: true }, 'breakpointsStyles'));
47
49
  const fonts = (_jsx("style", { dangerouslySetInnerHTML: {
48
50
  __html: getFontsStyles(Components.map((x) => x.fonts || []).flat()),
49
51
  }, suppressHydrationWarning: true, hidden: true }, 'fonts'));
package/esm/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,7 +1,8 @@
1
1
  {
2
2
  "name": "unframer",
3
- "version": "2.2.1",
3
+ "version": "2.3.0",
4
4
  "description": "",
5
+ "sideEffects": false,
5
6
  "repository": "https://github.com/remorses/unframer",
6
7
  "bin": "bin.js",
7
8
  "files": [
@@ -43,16 +44,27 @@
43
44
  "json5": "^2.2.3",
44
45
  "native-fetch": "^4.0.2",
45
46
  "picocolors": "^1.0.0",
46
- "real-framer-motion": "npm:framer-motion@11.0.14",
47
+ "real-framer-motion": "npm:framer-motion@11.1.7",
47
48
  "tmp": "^0.2.1"
48
49
  },
49
50
  "devDependencies": {
51
+ "@babel/core": "^7.24.5",
52
+ "@babel/helper-annotate-as-pure": "^7.22.5",
53
+ "@babel/helper-environment-visitor": "^7.22.20",
54
+ "@babel/helper-split-export-declaration": "^7.24.5",
55
+ "@babel/plugin-transform-react-pure-annotations": "^7.24.1",
56
+ "@babel/traverse": "^7.24.5",
57
+ "@babel/types": "^7.24.5",
58
+ "@types/babel__core": "^7.20.5",
59
+ "@types/babel__traverse": "^7.20.5",
50
60
  "@types/fs-extra": "^11.0.1",
51
61
  "@types/node": "^20.5.7",
52
62
  "@xmorse/deployment-utils": "^0.1.0",
63
+ "openai": "^4.40.2",
53
64
  "posthtml": "^0.16.6",
54
- "react": "^18.2.0",
55
- "react-dom": "^18.2.0"
65
+ "react": "^18.3.0",
66
+ "react-dom": "^18.3.0",
67
+ "tiktoken": "^1.0.14"
56
68
  },
57
69
  "scripts": {
58
70
  "build": "rm -rf dist && tsc -m esnext --outDir esm && tsc && cp ../README.md ./README.md && cp ./src/framer.d.ts ./dist/framer.d.ts && cp ./src/framer.d.ts ./esm/framer.d.ts",
package/src/cli.tsx CHANGED
@@ -10,6 +10,7 @@ import path from 'path'
10
10
  const configName = 'unframer.json'
11
11
  import { cac } from 'cac'
12
12
  import { logger } from './utils.js'
13
+ import { BreakpointSizes } from './css.js'
13
14
 
14
15
  export const cli = cac()
15
16
 
@@ -123,6 +124,7 @@ type Config = {
123
124
  components: {
124
125
  [name: string]: string
125
126
  }
127
+ breakpoints?: BreakpointSizes
126
128
  outDir?: string
127
129
  }
128
130
  async function processConfig({
@@ -135,7 +137,7 @@ async function processConfig({
135
137
  signal?: AbortSignal
136
138
  }) {
137
139
  try {
138
- const { components, outDir } = config || {}
140
+ const { components, breakpoints, outDir } = config || {}
139
141
  const installDir = path.resolve(process.cwd(), outDir || 'framer')
140
142
  if (!components) {
141
143
  logger.log(`No components found in ${configName}`)
@@ -144,6 +146,7 @@ async function processConfig({
144
146
 
145
147
  await bundle({
146
148
  components,
149
+ breakpoints,
147
150
  cwd: installDir,
148
151
  watch,
149
152
  signal,
package/src/css.ts CHANGED
@@ -1,15 +1,6 @@
1
1
  import dedent from 'dedent'
2
2
  import { ComponentFont } from './framer.js'
3
3
 
4
- export const breakpointSizes = {
5
- base: 0,
6
- sm: 320,
7
- md: 768,
8
- lg: 960,
9
- xl: 1200,
10
- '2xl': 1536,
11
- } as const
12
-
13
4
  function deduplicateByKey<T>(arr: T[], key: (k: T) => string): T[] {
14
5
  let map = new Map()
15
6
  for (let item of arr) {
@@ -121,11 +112,24 @@ export function getFontsStyles(_fontsDefs: ComponentFontBundle[]) {
121
112
  return str
122
113
  }
123
114
 
124
- export const breakpointsStyles = /* css */ `
115
+ export const defaultBreakpointSizes = {
116
+ base: 0,
117
+ sm: 320,
118
+ md: 768,
119
+ lg: 960,
120
+ xl: 1200,
121
+ '2xl': 1536,
122
+ } as const
123
+
124
+ export type BreakpointSizes = typeof defaultBreakpointSizes
125
+
126
+ export const breakpointsStyles = (breakpointSizes?: BreakpointSizes) => {
127
+ breakpointSizes = { ...defaultBreakpointSizes, ...breakpointSizes }
128
+ return /* css */ `
125
129
  /* Base */
126
130
  @media (min-width: ${breakpointSizes.base}px) and (max-width: ${
127
- breakpointSizes.sm - 1
128
- }px) {
131
+ breakpointSizes.sm - 1
132
+ }px) {
129
133
  .unframer-hidden.unframer-base {
130
134
  display: contents;
131
135
  }
@@ -133,8 +137,8 @@ export const breakpointsStyles = /* css */ `
133
137
 
134
138
  /* Small */
135
139
  @media (min-width: ${breakpointSizes.sm}px) and (max-width: ${
136
- breakpointSizes.md - 1
137
- }px) {
140
+ breakpointSizes.md - 1
141
+ }px) {
138
142
  .unframer-hidden.unframer-sm {
139
143
  display: contents;
140
144
  }
@@ -142,8 +146,8 @@ export const breakpointsStyles = /* css */ `
142
146
 
143
147
  /* Medium */
144
148
  @media (min-width: ${breakpointSizes.md}px) and (max-width: ${
145
- breakpointSizes.lg - 1
146
- }px) {
149
+ breakpointSizes.lg - 1
150
+ }px) {
147
151
  .unframer-hidden.unframer-md {
148
152
  display: contents;
149
153
  }
@@ -151,8 +155,8 @@ export const breakpointsStyles = /* css */ `
151
155
 
152
156
  /* Large */
153
157
  @media (min-width: ${breakpointSizes.lg}px) and (max-width: ${
154
- breakpointSizes.xl - 1
155
- }px) {
158
+ breakpointSizes.xl - 1
159
+ }px) {
156
160
  .unframer-hidden.unframer-lg {
157
161
  display: contents;
158
162
  }
@@ -160,8 +164,8 @@ export const breakpointsStyles = /* css */ `
160
164
 
161
165
  /* Extra Large */
162
166
  @media (min-width: ${breakpointSizes.xl}px) and (max-width: ${
163
- breakpointSizes['2xl'] - 1
164
- }px) {
167
+ breakpointSizes['2xl'] - 1
168
+ }px) {
165
169
  .unframer-hidden.unframer-xl {
166
170
  display: contents;
167
171
  }
@@ -178,6 +182,7 @@ export const breakpointsStyles = /* css */ `
178
182
  display: none;
179
183
  }
180
184
  `
185
+ }
181
186
 
182
187
  export function groupBy<T>(arr: T[], key: (x: T) => string) {
183
188
  const map = new Map<string, T[]>()
package/src/exporter.ts CHANGED
@@ -19,6 +19,7 @@ import fs from 'fs'
19
19
  import path from 'path'
20
20
  import { exec, execSync } from 'child_process'
21
21
  import {
22
+ BreakpointSizes,
22
23
  ComponentFontBundle,
23
24
  breakpointsStyles,
24
25
  getFontsStyles,
@@ -45,6 +46,7 @@ export async function bundle({
45
46
  cwd: out = '',
46
47
  watch = false,
47
48
  components = {} as Record<string, string>,
49
+ breakpoints = {} as BreakpointSizes,
48
50
  signal = undefined as AbortSignal | undefined,
49
51
  }) {
50
52
  out ||= path.resolve(process.cwd(), 'example')
@@ -220,7 +222,7 @@ export async function bundle({
220
222
 
221
223
  const cssString =
222
224
  '/* This css file has all the necessary styles to run all your components */\n' +
223
- breakpointsStyles +
225
+ breakpointsStyles(breakpoints) +
224
226
  '\n\n' +
225
227
  combinedCSSRules
226
228
  .map((x) => (x?.startsWith(' ') ? dedent(x) : x))