@makeswift/runtime 0.4.2 → 0.5.1
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/Box.cjs.js +35 -273
- package/dist/Box.cjs.js.map +1 -1
- package/dist/Box.es.js +34 -272
- package/dist/Box.es.js.map +1 -1
- package/dist/Button.cjs.js +4 -4
- package/dist/Button.es.js +5 -5
- package/dist/Carousel.cjs.js +8 -7
- package/dist/Carousel.cjs.js.map +1 -1
- package/dist/Carousel.es.js +7 -6
- package/dist/Carousel.es.js.map +1 -1
- package/dist/Countdown.cjs.js +3 -3
- package/dist/Countdown.es.js +4 -4
- package/dist/Divider.cjs.js +3 -3
- package/dist/Divider.es.js +4 -4
- package/dist/Embed.cjs.js +5 -4
- package/dist/Embed.cjs.js.map +1 -1
- package/dist/Embed.es.js +5 -4
- package/dist/Embed.es.js.map +1 -1
- package/dist/Form.cjs.js +4 -4
- package/dist/Form.es.js +5 -5
- package/dist/Image.cjs.js +21 -13
- package/dist/Image.cjs.js.map +1 -1
- package/dist/Image.es.js +22 -14
- package/dist/Image.es.js.map +1 -1
- package/dist/LiveProvider.cjs.js +62 -0
- package/dist/LiveProvider.cjs.js.map +1 -0
- package/dist/LiveProvider.es.js +60 -0
- package/dist/LiveProvider.es.js.map +1 -0
- package/dist/Navigation.cjs.js +9 -6
- package/dist/Navigation.cjs.js.map +1 -1
- package/dist/Navigation.es.js +9 -6
- package/dist/Navigation.es.js.map +1 -1
- package/dist/{react-builder-preview.cjs.js → PreviewProvider.cjs.js} +43 -16
- package/dist/PreviewProvider.cjs.js.map +1 -0
- package/dist/{react-builder-preview.es.js → PreviewProvider.es.js} +47 -15
- package/dist/PreviewProvider.es.js.map +1 -0
- package/dist/Root.cjs.js +10 -8
- package/dist/Root.cjs.js.map +1 -1
- package/dist/Root.es.js +8 -6
- package/dist/Root.es.js.map +1 -1
- package/dist/SocialLinks.cjs.js +5 -5
- package/dist/SocialLinks.es.js +6 -6
- package/dist/Text.cjs.js +4 -4
- package/dist/Text.cjs.js.map +1 -1
- package/dist/Text.es.js +5 -5
- package/dist/Text.es.js.map +1 -1
- package/dist/Video.cjs.js +3 -3
- package/dist/Video.es.js +4 -4
- package/dist/actions.es.js +1 -1
- package/dist/components.cjs.js +15 -12
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +14 -11
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +70 -69
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs2.js +710 -92
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs3.js +107 -20
- package/dist/index.cjs3.js.map +1 -1
- package/dist/index.cjs4.js +59 -0
- package/dist/index.cjs4.js.map +1 -0
- package/dist/index.es.js +65 -68
- package/dist/index.es.js.map +1 -1
- package/dist/index.es2.js +707 -93
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es3.js +103 -21
- package/dist/index.es3.js.map +1 -1
- package/dist/index.es4.js +58 -0
- package/dist/index.es4.js.map +1 -0
- package/dist/next-version.cjs.js +10 -0
- package/dist/next-version.cjs.js.map +1 -0
- package/dist/next-version.es.js +5 -0
- package/dist/next-version.es.js.map +1 -0
- package/dist/next.cjs.js +3 -3
- package/dist/next.es.js +4 -4
- package/dist/react-page.es.js +1 -1
- package/dist/react.cjs.js +4 -4
- package/dist/react.es.js +4 -4
- package/dist/types/src/components/builtin/Box/Box.d.ts +18 -26
- package/dist/types/src/components/builtin/Box/Box.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Box/animations.d.ts +13 -60
- package/dist/types/src/components/builtin/Box/animations.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
- package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
- package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -1
- package/dist/types/src/components/hooks/useMediaQuery.d.ts +1 -1
- package/dist/types/src/components/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
- package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +1 -254
- package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
- package/dist/types/src/components/shared/Link/index.d.ts.map +1 -1
- package/dist/types/src/components/shared/grid-item.d.ts +9 -6
- package/dist/types/src/components/shared/grid-item.d.ts.map +1 -1
- package/dist/types/src/next/client.d.ts +1 -0
- package/dist/types/src/next/client.d.ts.map +1 -1
- package/dist/types/src/next/index.d.ts.map +1 -1
- package/dist/types/src/next/next-version.d.ts +3 -0
- package/dist/types/src/next/next-version.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/components/LiveProvider.d.ts +11 -0
- package/dist/types/src/runtimes/react/components/LiveProvider.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/components/PreviewProvider.d.ts +11 -0
- package/dist/types/src/runtimes/react/components/PreviewProvider.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/index.d.ts +3 -1
- package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
- package/dist/types/src/state/react-builder-preview.d.ts +3 -1
- package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
- package/dist/useIsomorphicLayoutEffect.cjs.js +6 -0
- package/dist/useIsomorphicLayoutEffect.cjs.js.map +1 -0
- package/dist/useIsomorphicLayoutEffect.es.js +5 -0
- package/dist/useIsomorphicLayoutEffect.es.js.map +1 -0
- package/package.json +4 -4
- package/dist/grid-item.cjs.js +0 -592
- package/dist/grid-item.cjs.js.map +0 -1
- package/dist/grid-item.es.js +0 -584
- package/dist/grid-item.es.js.map +0 -1
- package/dist/react-builder-preview.cjs.js.map +0 -1
- package/dist/react-builder-preview.es.js.map +0 -1
- package/dist/useMediaQuery.cjs.js +0 -26
- package/dist/useMediaQuery.cjs.js.map +0 -1
- package/dist/useMediaQuery.es.js +0 -25
- package/dist/useMediaQuery.es.js.map +0 -1
package/dist/Box.cjs.js
CHANGED
|
@@ -32,26 +32,25 @@ var __objRest = (source, exclude) => {
|
|
|
32
32
|
};
|
|
33
33
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
34
34
|
var React = require("react");
|
|
35
|
-
var framerMotion = require("framer-motion");
|
|
36
35
|
var css = require("@emotion/css");
|
|
36
|
+
var uuid = require("uuid");
|
|
37
37
|
var next = require("./index.cjs.js");
|
|
38
38
|
var jsxRuntime = require("react/jsx-runtime");
|
|
39
|
-
require("
|
|
40
|
-
require("./slot.cjs.js");
|
|
41
|
-
var useMediaQuery = require("./useMediaQuery.cjs.js");
|
|
39
|
+
var index = require("./index.cjs2.js");
|
|
42
40
|
var boxModels = require("./box-models.cjs.js");
|
|
43
|
-
var gridItem = require("./grid-item.cjs.js");
|
|
44
41
|
require("use-sync-external-store/shim/with-selector");
|
|
42
|
+
require("next/dynamic");
|
|
45
43
|
require("./react-page.cjs.js");
|
|
46
44
|
require("redux");
|
|
47
45
|
require("redux-thunk");
|
|
48
46
|
require("./actions.cjs.js");
|
|
47
|
+
require("./slot.cjs.js");
|
|
49
48
|
require("./control.cjs.js");
|
|
50
|
-
require("next/dynamic");
|
|
51
|
-
require("slate");
|
|
52
|
-
require("./types.cjs.js");
|
|
53
49
|
require("./text-input.cjs.js");
|
|
54
50
|
require("./combobox.cjs.js");
|
|
51
|
+
require("use-sync-external-store/shim");
|
|
52
|
+
require("slate");
|
|
53
|
+
require("./types.cjs.js");
|
|
55
54
|
require("color");
|
|
56
55
|
require("scroll-into-view-if-needed");
|
|
57
56
|
require("react-dom");
|
|
@@ -65,9 +64,12 @@ require("http-proxy");
|
|
|
65
64
|
require("set-cookie-parser");
|
|
66
65
|
require("uuid/v4");
|
|
67
66
|
require("corporate-ipsum");
|
|
68
|
-
require("css-box-model");
|
|
69
67
|
require("next/image");
|
|
68
|
+
require("./useIsomorphicLayoutEffect.cjs.js");
|
|
70
69
|
require("react-player");
|
|
70
|
+
require("./next-version.cjs.js");
|
|
71
|
+
require("next/package.json");
|
|
72
|
+
require("css-box-model");
|
|
71
73
|
var Placeholder = React.forwardRef(function Placeholder2(_a, ref) {
|
|
72
74
|
var _b = _a, {
|
|
73
75
|
hide = false
|
|
@@ -107,238 +109,6 @@ var Placeholder = React.forwardRef(function Placeholder2(_a, ref) {
|
|
|
107
109
|
})
|
|
108
110
|
}));
|
|
109
111
|
});
|
|
110
|
-
const defaultExitedProps = {
|
|
111
|
-
opacity: 0,
|
|
112
|
-
x: 0,
|
|
113
|
-
y: 0,
|
|
114
|
-
scale: 1
|
|
115
|
-
};
|
|
116
|
-
const boxAnimations = {
|
|
117
|
-
none: {
|
|
118
|
-
entered: {
|
|
119
|
-
opacity: 1
|
|
120
|
-
},
|
|
121
|
-
exited: __spreadProps(__spreadValues({}, defaultExitedProps), {
|
|
122
|
-
opacity: 1
|
|
123
|
-
}),
|
|
124
|
-
transition: {}
|
|
125
|
-
},
|
|
126
|
-
fadeIn: {
|
|
127
|
-
exited: defaultExitedProps,
|
|
128
|
-
entered: {
|
|
129
|
-
opacity: 1
|
|
130
|
-
},
|
|
131
|
-
transition: {}
|
|
132
|
-
},
|
|
133
|
-
fadeLeft: {
|
|
134
|
-
exited: __spreadProps(__spreadValues({}, defaultExitedProps), {
|
|
135
|
-
x: 60
|
|
136
|
-
}),
|
|
137
|
-
entered: {
|
|
138
|
-
opacity: 1,
|
|
139
|
-
x: 0
|
|
140
|
-
},
|
|
141
|
-
transition: {
|
|
142
|
-
x: {
|
|
143
|
-
type: "tween",
|
|
144
|
-
ease: [0.165, 0.84, 0.44, 1]
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
fadeRight: {
|
|
149
|
-
exited: __spreadProps(__spreadValues({}, defaultExitedProps), {
|
|
150
|
-
x: -60
|
|
151
|
-
}),
|
|
152
|
-
entered: {
|
|
153
|
-
opacity: 1,
|
|
154
|
-
x: 0
|
|
155
|
-
},
|
|
156
|
-
transition: {
|
|
157
|
-
x: {
|
|
158
|
-
type: "tween",
|
|
159
|
-
ease: [0.165, 0.84, 0.44, 1]
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
fadeUp: {
|
|
164
|
-
exited: __spreadProps(__spreadValues({}, defaultExitedProps), {
|
|
165
|
-
y: 80
|
|
166
|
-
}),
|
|
167
|
-
entered: {
|
|
168
|
-
opacity: 1,
|
|
169
|
-
y: 0
|
|
170
|
-
},
|
|
171
|
-
transition: {
|
|
172
|
-
y: {
|
|
173
|
-
type: "tween",
|
|
174
|
-
ease: [0.165, 0.84, 0.44, 1]
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
fadeDown: {
|
|
179
|
-
exited: __spreadProps(__spreadValues({}, defaultExitedProps), {
|
|
180
|
-
y: -80
|
|
181
|
-
}),
|
|
182
|
-
entered: {
|
|
183
|
-
opacity: 1,
|
|
184
|
-
y: 0
|
|
185
|
-
},
|
|
186
|
-
transition: {
|
|
187
|
-
y: {
|
|
188
|
-
type: "tween",
|
|
189
|
-
ease: [0.165, 0.84, 0.44, 1]
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
blurIn: {
|
|
194
|
-
exited: __spreadProps(__spreadValues({}, defaultExitedProps), {
|
|
195
|
-
filter: "blur(20px)"
|
|
196
|
-
}),
|
|
197
|
-
entered: {
|
|
198
|
-
opacity: 1,
|
|
199
|
-
filter: "blur(0px)"
|
|
200
|
-
},
|
|
201
|
-
transition: {}
|
|
202
|
-
},
|
|
203
|
-
scaleDown: {
|
|
204
|
-
exited: __spreadProps(__spreadValues({}, defaultExitedProps), {
|
|
205
|
-
scale: 1.2
|
|
206
|
-
}),
|
|
207
|
-
entered: {
|
|
208
|
-
opacity: 1,
|
|
209
|
-
scale: 1
|
|
210
|
-
},
|
|
211
|
-
transition: {
|
|
212
|
-
scale: {
|
|
213
|
-
type: "tween",
|
|
214
|
-
ease: [0.165, 0.84, 0.44, 1]
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
},
|
|
218
|
-
scaleUp: {
|
|
219
|
-
exited: __spreadProps(__spreadValues({}, defaultExitedProps), {
|
|
220
|
-
scale: 0.75
|
|
221
|
-
}),
|
|
222
|
-
entered: {
|
|
223
|
-
opacity: 1,
|
|
224
|
-
scale: 1
|
|
225
|
-
},
|
|
226
|
-
transition: {
|
|
227
|
-
scale: {
|
|
228
|
-
type: "tween",
|
|
229
|
-
ease: [0.165, 0.84, 0.44, 1]
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
const mergeCustomTransitionWithDefault = (transitions, props) => transitions ? Object.keys(transitions).reduce((a, c) => __spreadProps(__spreadValues({}, a), {
|
|
235
|
-
[c]: __spreadValues(__spreadValues({}, transitions[c]), props)
|
|
236
|
-
}), props) : props;
|
|
237
|
-
const useElementOnScreen = (element, options) => {
|
|
238
|
-
const [isVisible, setIsVisible] = React.useState(false);
|
|
239
|
-
React.useEffect(() => {
|
|
240
|
-
const observer = new IntersectionObserver(intersectionCallback, options);
|
|
241
|
-
if (element)
|
|
242
|
-
observer.observe(element);
|
|
243
|
-
return () => {
|
|
244
|
-
if (element)
|
|
245
|
-
observer.unobserve(element);
|
|
246
|
-
};
|
|
247
|
-
function intersectionCallback([entry]) {
|
|
248
|
-
if (entry == null ? void 0 : entry.isIntersecting) {
|
|
249
|
-
setIsVisible(true);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}, [element, options]);
|
|
253
|
-
return isVisible;
|
|
254
|
-
};
|
|
255
|
-
const useBoxAnimations = (_c) => {
|
|
256
|
-
var _d = _c, {
|
|
257
|
-
boxElement,
|
|
258
|
-
elements
|
|
259
|
-
} = _d, props = __objRest(_d, [
|
|
260
|
-
"boxElement",
|
|
261
|
-
"elements"
|
|
262
|
-
]);
|
|
263
|
-
const reducedMotion = framerMotion.useReducedMotion();
|
|
264
|
-
const boxAnimateType = useMediaQuery.useMediaQuery(props.boxAnimateType) || next.DEFAULT_BOX_ANIMATE_TYPE;
|
|
265
|
-
const boxAnimateDuration = useMediaQuery.useMediaQuery(props.boxAnimateDuration) || next.DEFAULT_BOX_ANIMATE_DURATION;
|
|
266
|
-
const boxAnimateDelay = useMediaQuery.useMediaQuery(props.boxAnimateDelay) || next.DEFAULT_BOX_ANIMATE_DELAY;
|
|
267
|
-
const itemAnimateType = useMediaQuery.useMediaQuery(props.itemAnimateType) || next.DEFAULT_ITEM_ANIMATE_TYPE;
|
|
268
|
-
const itemAnimateDuration = useMediaQuery.useMediaQuery(props.itemAnimateDuration) || next.DEFAULT_ITEM_ANIMATE_DURATION;
|
|
269
|
-
const itemAnimateDelay = useMediaQuery.useMediaQuery(props.itemAnimateDelay) || next.DEFAULT_ITEM_ANIMATE_DELAY;
|
|
270
|
-
const itemStaggerDuration = useMediaQuery.useMediaQuery(props.itemStaggerDuration) || next.DEFAULT_ITEM_STAGGER_DURATION;
|
|
271
|
-
const isBoxVisible = useElementOnScreen(boxElement, {
|
|
272
|
-
root: null,
|
|
273
|
-
rootMargin: `0px 0px -10% 0px`,
|
|
274
|
-
threshold: 0.2
|
|
275
|
-
});
|
|
276
|
-
const itemControls = framerMotion.useAnimation();
|
|
277
|
-
const boxControls = framerMotion.useAnimation();
|
|
278
|
-
const setSequence = React.useCallback((variant) => {
|
|
279
|
-
boxControls.stop();
|
|
280
|
-
itemControls.stop();
|
|
281
|
-
boxControls.set(variant);
|
|
282
|
-
itemControls.set(variant);
|
|
283
|
-
}, [boxControls, itemControls]);
|
|
284
|
-
const playSequence = React.useCallback(() => {
|
|
285
|
-
boxControls.stop();
|
|
286
|
-
itemControls.stop();
|
|
287
|
-
boxControls.set("exited");
|
|
288
|
-
itemControls.set("exited");
|
|
289
|
-
boxControls.start("entered");
|
|
290
|
-
itemControls.start("entered");
|
|
291
|
-
}, [boxControls, itemControls]);
|
|
292
|
-
React.useEffect(() => {
|
|
293
|
-
if (isBoxVisible) {
|
|
294
|
-
setSequence("entered");
|
|
295
|
-
}
|
|
296
|
-
}, [elements == null ? void 0 : elements.map((e) => e.key).sort().join(), setSequence]);
|
|
297
|
-
React.useEffect(() => {
|
|
298
|
-
if (isBoxVisible) {
|
|
299
|
-
playSequence();
|
|
300
|
-
}
|
|
301
|
-
}, [isBoxVisible, boxAnimateType, boxAnimateDuration, boxAnimateDelay, itemAnimateType, itemAnimateDuration, itemAnimateDelay, itemStaggerDuration, reducedMotion, playSequence]);
|
|
302
|
-
const boxVariant = boxAnimations[boxAnimateType];
|
|
303
|
-
const itemVariant = boxAnimations[itemAnimateType];
|
|
304
|
-
return {
|
|
305
|
-
initial: {
|
|
306
|
-
container: reducedMotion ? "entered" : "exited",
|
|
307
|
-
parent: reducedMotion ? "entered" : "exited"
|
|
308
|
-
},
|
|
309
|
-
animate: {
|
|
310
|
-
container: reducedMotion ? void 0 : boxControls,
|
|
311
|
-
parent: reducedMotion ? void 0 : itemControls
|
|
312
|
-
},
|
|
313
|
-
variants: {
|
|
314
|
-
container: {
|
|
315
|
-
exited: boxVariant.exited,
|
|
316
|
-
entered: boxVariant.entered
|
|
317
|
-
},
|
|
318
|
-
child: {
|
|
319
|
-
exited: itemVariant.exited,
|
|
320
|
-
entered: itemVariant.entered
|
|
321
|
-
}
|
|
322
|
-
},
|
|
323
|
-
transition: {
|
|
324
|
-
container: mergeCustomTransitionWithDefault(boxVariant.transition, {
|
|
325
|
-
delay: boxAnimateDelay,
|
|
326
|
-
duration: boxAnimateDuration
|
|
327
|
-
}),
|
|
328
|
-
parent: {
|
|
329
|
-
delayChildren: itemAnimateDelay,
|
|
330
|
-
staggerChildren: itemStaggerDuration,
|
|
331
|
-
duration: itemAnimateDuration
|
|
332
|
-
},
|
|
333
|
-
child: mergeCustomTransitionWithDefault(itemVariant.transition, {
|
|
334
|
-
duration: itemAnimateDuration
|
|
335
|
-
})
|
|
336
|
-
},
|
|
337
|
-
key: {
|
|
338
|
-
container: boxAnimateType + boxAnimateDuration + boxAnimateDelay + itemAnimateType + itemAnimateDuration + itemAnimateDelay + itemStaggerDuration + reducedMotion
|
|
339
|
-
}
|
|
340
|
-
};
|
|
341
|
-
};
|
|
342
112
|
const Box = React.forwardRef(function Box2({
|
|
343
113
|
id,
|
|
344
114
|
backgrounds,
|
|
@@ -364,8 +134,6 @@ const Box = React.forwardRef(function Box2({
|
|
|
364
134
|
}, ref) {
|
|
365
135
|
const innerRef = React.useRef(null);
|
|
366
136
|
const [boxElement, setBoxElement] = React.useState(null);
|
|
367
|
-
const hasAnimations = boxAnimateType != null || itemAnimateType != null;
|
|
368
|
-
const Grid = hasAnimations ? framerMotion.motion.div : "div";
|
|
369
137
|
React.useImperativeHandle(ref, () => ({
|
|
370
138
|
getBoxModel() {
|
|
371
139
|
var _a, _b, _c, _d;
|
|
@@ -405,38 +173,35 @@ const Box = React.forwardRef(function Box2({
|
|
|
405
173
|
const gridItemClassName = next.useStyle(next.responsiveStyle([verticalAlign], ([alignItems = "flex-start"]) => ({
|
|
406
174
|
alignItems
|
|
407
175
|
})));
|
|
408
|
-
const
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
variants,
|
|
412
|
-
transition,
|
|
413
|
-
key
|
|
414
|
-
} = useBoxAnimations({
|
|
176
|
+
const [animationClassName, replayAnimation] = index.useBoxAnimation(boxElement, boxAnimateType, boxAnimateDuration, boxAnimateDelay, itemAnimateType);
|
|
177
|
+
const [key, setKey] = React.useState(() => uuid.v4());
|
|
178
|
+
const animationProps = {
|
|
415
179
|
boxAnimateType,
|
|
416
180
|
boxAnimateDuration,
|
|
417
181
|
boxAnimateDelay,
|
|
418
|
-
itemAnimateDelay,
|
|
419
182
|
itemAnimateType,
|
|
420
183
|
itemAnimateDuration,
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
184
|
+
itemAnimateDelay,
|
|
185
|
+
itemStaggerDuration
|
|
186
|
+
};
|
|
187
|
+
const prevAnimationProps = React.useRef(animationProps);
|
|
188
|
+
React.useEffect(() => {
|
|
189
|
+
if (!index.areBoxAnimationPropsEqual(prevAnimationProps.current, animationProps)) {
|
|
190
|
+
replayAnimation();
|
|
191
|
+
setKey(uuid.v4());
|
|
192
|
+
prevAnimationProps.current = animationProps;
|
|
193
|
+
}
|
|
194
|
+
}, [replayAnimation, animationProps]);
|
|
195
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index.BackgroundsContainer, {
|
|
426
196
|
ref: setBoxElement,
|
|
427
|
-
hasAnimations,
|
|
428
197
|
id,
|
|
429
198
|
className: css.cx(width, margin, borderRadius, next.useStyle({
|
|
430
199
|
display: "flex"
|
|
431
200
|
}), next.useStyle(next.responsiveStyle([height], ([alignSelf = "auto"]) => ({
|
|
432
201
|
alignSelf
|
|
433
|
-
})))),
|
|
202
|
+
}))), animationClassName),
|
|
434
203
|
backgrounds,
|
|
435
|
-
|
|
436
|
-
initial: initial == null ? void 0 : initial.container,
|
|
437
|
-
variants: variants == null ? void 0 : variants.container,
|
|
438
|
-
transition: transition == null ? void 0 : transition.container,
|
|
439
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Grid, {
|
|
204
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
440
205
|
ref: innerRef,
|
|
441
206
|
className: css.cx(padding, boxShadow, border, next.useStyle({
|
|
442
207
|
display: "flex",
|
|
@@ -445,26 +210,23 @@ const Box = React.forwardRef(function Box2({
|
|
|
445
210
|
}), next.useStyle(next.responsiveStyle([verticalAlign], ([alignContent = "flex-start"]) => ({
|
|
446
211
|
alignContent
|
|
447
212
|
})))),
|
|
448
|
-
|
|
449
|
-
initial: initial == null ? void 0 : initial.parent,
|
|
450
|
-
transition: transition == null ? void 0 : transition.parent,
|
|
451
|
-
children: children && children.elements.length > 0 ? children.elements.map((child, index) => /* @__PURE__ */ jsxRuntime.jsx(gridItem.GridItem, {
|
|
452
|
-
as: hasAnimations ? framerMotion.motion.div : "div",
|
|
213
|
+
children: children && children.elements.length > 0 ? children.elements.map((child, index$1) => /* @__PURE__ */ jsxRuntime.jsx(index.GridItem, {
|
|
453
214
|
className: gridItemClassName,
|
|
454
215
|
grid: children.columns,
|
|
455
|
-
index,
|
|
216
|
+
index: index$1,
|
|
217
|
+
itemAnimateDuration,
|
|
218
|
+
itemAnimateDelay,
|
|
219
|
+
itemStaggerDuration,
|
|
456
220
|
columnGap,
|
|
457
221
|
rowGap,
|
|
458
|
-
variants: variants == null ? void 0 : variants.child,
|
|
459
|
-
transition: transition == null ? void 0 : transition.child,
|
|
460
222
|
children: /* @__PURE__ */ jsxRuntime.jsx(next.Element, {
|
|
461
223
|
element: child
|
|
462
224
|
})
|
|
463
225
|
}, child.key)) : /* @__PURE__ */ jsxRuntime.jsx(Placeholder, {
|
|
464
226
|
hide: hidePlaceholder
|
|
465
227
|
})
|
|
466
|
-
})
|
|
467
|
-
}
|
|
228
|
+
}, key)
|
|
229
|
+
});
|
|
468
230
|
});
|
|
469
231
|
exports["default"] = Box;
|
|
470
232
|
//# sourceMappingURL=Box.cjs.js.map
|
package/dist/Box.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.cjs.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/animations.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import {\n TargetAndTransition,\n Transition,\n useAnimation,\n useReducedMotion,\n Variants,\n MotionProps,\n} from 'framer-motion'\nimport { TransitionMap } from 'framer-motion/types/types'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport { ResponsiveValue } from '../../../prop-controllers'\nimport { useMediaQuery } from '../../hooks'\nimport { Element } from '../../../state/react-page'\nimport {\n BoxAnimateIn,\n DEFAULT_BOX_ANIMATE_DELAY,\n DEFAULT_BOX_ANIMATE_DURATION,\n DEFAULT_BOX_ANIMATE_TYPE,\n DEFAULT_ITEM_ANIMATE_DELAY,\n DEFAULT_ITEM_ANIMATE_DURATION,\n DEFAULT_ITEM_ANIMATE_TYPE,\n DEFAULT_ITEM_STAGGER_DURATION,\n} from './constants'\n\nconst defaultExitedProps = {\n opacity: 0,\n x: 0,\n y: 0,\n scale: 1,\n}\n\ntype BoxAnimationVariants = {\n entered: TargetAndTransition\n exited: TargetAndTransition\n}\n\nexport const boxAnimations: {\n [key in BoxAnimateIn]: {\n transition: TransitionMap\n } & BoxAnimationVariants\n} = {\n none: {\n entered: {\n opacity: 1,\n },\n exited: {\n ...defaultExitedProps,\n opacity: 1,\n },\n transition: {},\n },\n fadeIn: {\n exited: defaultExitedProps,\n entered: {\n opacity: 1,\n },\n transition: {},\n },\n fadeLeft: {\n exited: {\n ...defaultExitedProps,\n x: 60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeRight: {\n exited: {\n ...defaultExitedProps,\n x: -60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeUp: {\n exited: {\n ...defaultExitedProps,\n y: 80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeDown: {\n exited: {\n ...defaultExitedProps,\n y: -80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n blurIn: {\n exited: {\n ...defaultExitedProps,\n filter: 'blur(20px)',\n },\n entered: {\n opacity: 1,\n filter: 'blur(0px)',\n },\n transition: {},\n },\n scaleDown: {\n exited: {\n ...defaultExitedProps,\n scale: 1.2,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n scaleUp: {\n exited: {\n ...defaultExitedProps,\n scale: 0.75,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n}\n\nconst mergeCustomTransitionWithDefault = (\n transitions: TransitionMap,\n props: Transition,\n): TransitionMap | Transition =>\n transitions\n ? Object.keys(transitions).reduce(\n (a, c) => ({\n ...a,\n [c]: {\n ...transitions[c as string],\n ...props,\n },\n }),\n props,\n )\n : props\n\nexport type BoxAnimationType = {\n containerAnimationProps: {\n transition: Transition\n variants: Variants\n }\n parentAnimationProps: {\n transition: Transition\n }\n childAnimationProps: {\n transition: Transition\n variants: Variants\n }\n}\n\nconst useElementOnScreen = (element: HTMLElement | null, options: IntersectionObserverInit) => {\n const [isVisible, setIsVisible] = useState(false)\n\n useEffect(() => {\n const observer = new IntersectionObserver(intersectionCallback, options)\n\n if (element) observer.observe(element)\n\n return () => {\n if (element) observer.unobserve(element)\n }\n\n function intersectionCallback([entry]: IntersectionObserverEntry[]) {\n if (entry?.isIntersecting) {\n setIsVisible(true)\n }\n }\n }, [element, options])\n\n return isVisible\n}\n\ntype UseBoxAnimationsPayload = {\n initial?: { container: MotionProps['initial']; parent: MotionProps['initial'] }\n animate?: { container: MotionProps['animate']; parent: MotionProps['animate'] }\n variants?: { container: MotionProps['variants']; child: MotionProps['variants'] }\n transition?: {\n container: MotionProps['transition']\n parent: MotionProps['transition']\n child: MotionProps['transition']\n }\n key?: { container: string }\n}\n\nexport const useBoxAnimations = ({\n boxElement,\n elements,\n ...props\n}: {\n boxAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n boxAnimateDuration: ResponsiveValue<number> | undefined\n boxAnimateDelay: ResponsiveValue<number> | undefined\n itemAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n itemAnimateDuration: ResponsiveValue<number> | undefined\n itemAnimateDelay: ResponsiveValue<number> | undefined\n itemStaggerDuration: ResponsiveValue<number> | undefined\n boxElement: HTMLElement | null\n elements: Element[] | undefined\n}): UseBoxAnimationsPayload => {\n const reducedMotion = useReducedMotion()\n const boxAnimateType = useMediaQuery(props.boxAnimateType) || DEFAULT_BOX_ANIMATE_TYPE\n const boxAnimateDuration = useMediaQuery(props.boxAnimateDuration) || DEFAULT_BOX_ANIMATE_DURATION\n const boxAnimateDelay = useMediaQuery(props.boxAnimateDelay) || DEFAULT_BOX_ANIMATE_DELAY\n const itemAnimateType = useMediaQuery(props.itemAnimateType) || DEFAULT_ITEM_ANIMATE_TYPE\n const itemAnimateDuration =\n useMediaQuery(props.itemAnimateDuration) || DEFAULT_ITEM_ANIMATE_DURATION\n const itemAnimateDelay = useMediaQuery(props.itemAnimateDelay) || DEFAULT_ITEM_ANIMATE_DELAY\n const itemStaggerDuration =\n useMediaQuery(props.itemStaggerDuration) || DEFAULT_ITEM_STAGGER_DURATION\n\n const isBoxVisible = useElementOnScreen(boxElement, {\n root: null,\n rootMargin: `0px 0px -10% 0px`,\n threshold: 0.2,\n })\n\n const itemControls = useAnimation()\n const boxControls = useAnimation()\n\n const setSequence = useCallback(\n (variant: keyof BoxAnimationVariants) => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set(variant)\n itemControls.set(variant)\n },\n [boxControls, itemControls],\n )\n\n const playSequence = useCallback(() => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set('exited')\n itemControls.set('exited')\n boxControls.start('entered')\n itemControls.start('entered')\n }, [boxControls, itemControls])\n\n useEffect(() => {\n if (isBoxVisible) {\n setSequence('entered')\n }\n }, [\n elements\n ?.map(e => e.key)\n .sort()\n .join(),\n setSequence,\n ])\n\n useEffect(() => {\n if (isBoxVisible) {\n playSequence()\n }\n }, [\n isBoxVisible,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n reducedMotion,\n playSequence,\n ])\n\n const boxVariant = boxAnimations[boxAnimateType]\n const itemVariant = boxAnimations[itemAnimateType]\n\n return {\n initial: {\n container: reducedMotion ? 'entered' : 'exited',\n parent: reducedMotion ? 'entered' : 'exited',\n },\n animate: {\n container: reducedMotion ? undefined : boxControls,\n parent: reducedMotion ? undefined : itemControls,\n },\n variants: {\n container: {\n exited: boxVariant.exited,\n entered: boxVariant.entered,\n },\n child: {\n exited: itemVariant.exited,\n entered: itemVariant.entered,\n },\n },\n transition: {\n container: mergeCustomTransitionWithDefault(boxVariant.transition, {\n delay: boxAnimateDelay,\n duration: boxAnimateDuration,\n }),\n parent: {\n delayChildren: itemAnimateDelay,\n staggerChildren: itemStaggerDuration,\n duration: itemAnimateDuration,\n },\n child: mergeCustomTransitionWithDefault(itemVariant.transition, {\n duration: itemAnimateDuration,\n }),\n },\n key: {\n container:\n boxAnimateType +\n boxAnimateDuration +\n boxAnimateDelay +\n itemAnimateType +\n itemAnimateDuration +\n itemAnimateDelay +\n itemStaggerDuration +\n reducedMotion,\n },\n }\n}\n","import { forwardRef, Ref, useImperativeHandle, useRef, useState } from 'react'\nimport { motion } from 'framer-motion'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { useBoxAnimations } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n const hasAnimations = boxAnimateType != null || itemAnimateType != null\n const Grid = hasAnimations ? motion.div : 'div'\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const { initial, animate, variants, transition, key } = useBoxAnimations({\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n boxElement,\n elements: children?.elements,\n })\n\n return (\n <BackgroundsContainer\n ref={setBoxElement}\n hasAnimations={hasAnimations}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n )}\n backgrounds={backgrounds}\n animate={animate?.container}\n initial={initial?.container}\n variants={variants?.container}\n transition={transition?.container}\n key={key?.container}\n >\n <Grid\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({ alignContent })),\n ),\n )}\n animate={animate?.parent}\n initial={initial?.parent}\n transition={transition?.parent}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n as={hasAnimations ? motion.div : 'div'}\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n columnGap={columnGap}\n rowGap={rowGap}\n // @ts-ignore: `variants` is not a prop for `div`, but it is for `motion.div`.\n variants={variants?.child}\n transition={transition?.child}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </Grid>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","defaultExitedProps","opacity","x","y","scale","boxAnimations","none","entered","exited","transition","fadeIn","fadeLeft","type","ease","fadeRight","fadeUp","fadeDown","blurIn","filter","scaleDown","scaleUp","mergeCustomTransitionWithDefault","transitions","props","Object","keys","reduce","a","c","useElementOnScreen","element","options","isVisible","setIsVisible","useState","useEffect","observer","IntersectionObserver","intersectionCallback","observe","unobserve","entry","isIntersecting","useBoxAnimations","boxElement","elements","reducedMotion","useReducedMotion","boxAnimateType","useMediaQuery","DEFAULT_BOX_ANIMATE_TYPE","boxAnimateDuration","DEFAULT_BOX_ANIMATE_DURATION","boxAnimateDelay","DEFAULT_BOX_ANIMATE_DELAY","itemAnimateType","DEFAULT_ITEM_ANIMATE_TYPE","itemAnimateDuration","DEFAULT_ITEM_ANIMATE_DURATION","itemAnimateDelay","DEFAULT_ITEM_ANIMATE_DELAY","itemStaggerDuration","DEFAULT_ITEM_STAGGER_DURATION","isBoxVisible","root","rootMargin","threshold","itemControls","useAnimation","boxControls","setSequence","useCallback","variant","stop","set","playSequence","start","map","e","key","sort","join","boxVariant","itemVariant","initial","container","parent","animate","undefined","variants","child","delay","duration","delayChildren","staggerChildren","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","innerRef","useRef","setBoxElement","hasAnimations","Grid","motion","div","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","BackgroundsContainer","cx","display","alignSelf","flexWrap","alignContent","length","index","GridItem","columns","Element"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Box.cjs.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import { forwardRef, Ref, useEffect, useImperativeHandle, useRef, useState } from 'react'\nimport { cx } from '@emotion/css'\nimport { v4 as uuid } from 'uuid'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { areBoxAnimationPropsEqual, BoxAnimationProps, useBoxAnimation } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n} & BoxAnimationProps\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const [animationClassName, replayAnimation] = useBoxAnimation(\n boxElement,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n )\n\n const [key, setKey] = useState(() => uuid())\n\n const animationProps = {\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n }\n\n const prevAnimationProps = useRef(animationProps)\n useEffect(() => {\n if (!areBoxAnimationPropsEqual(prevAnimationProps.current, animationProps)) {\n replayAnimation()\n setKey(uuid())\n prevAnimationProps.current = animationProps\n }\n }, [replayAnimation, animationProps])\n\n return (\n <BackgroundsContainer\n ref={setBoxElement}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n animationClassName,\n )}\n backgrounds={backgrounds}\n >\n <div\n ref={innerRef}\n key={key}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({ alignContent })),\n ),\n )}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n itemAnimateDuration={itemAnimateDuration}\n itemAnimateDelay={itemAnimateDelay}\n itemStaggerDuration={itemStaggerDuration}\n columnGap={columnGap}\n rowGap={rowGap}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </div>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","boxAnimateType","boxAnimateDuration","boxAnimateDelay","itemAnimateDelay","itemAnimateType","itemAnimateDuration","itemStaggerDuration","innerRef","useRef","boxElement","setBoxElement","useState","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","animationClassName","replayAnimation","useBoxAnimation","key","setKey","uuid","animationProps","prevAnimationProps","useEffect","areBoxAnimationPropsEqual","BackgroundsContainer","cx","display","alignSelf","flexWrap","alignContent","elements","length","map","child","index","GridItem","columns","Element"],"mappings":"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"}
|