unframer 2.26.0 → 2.27.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/css.d.ts.map +1 -1
- package/dist/css.js +7 -6
- package/dist/css.js.map +1 -1
- package/dist/exporter.d.ts.map +1 -1
- package/dist/exporter.js +0 -1
- package/dist/exporter.js.map +1 -1
- package/dist/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.d.ts +115 -0
- package/dist/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.d.ts.map +1 -0
- package/dist/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.js +8 -0
- package/dist/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.js.map +1 -0
- package/dist/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.d.ts +781 -0
- package/dist/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.d.ts.map +1 -0
- package/dist/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.js +8 -0
- package/dist/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.js.map +1 -0
- package/dist/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.d.ts +634 -0
- package/dist/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.d.ts.map +1 -0
- package/dist/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.js +8 -0
- package/dist/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.js.map +1 -0
- package/dist/framer-chunks/google-42BCYVR5-QT55MZO3.d.ts +3231 -0
- package/dist/framer-chunks/google-42BCYVR5-QT55MZO3.d.ts.map +1 -0
- package/dist/framer-chunks/google-42BCYVR5-QT55MZO3.js +8 -0
- package/dist/framer-chunks/google-42BCYVR5-QT55MZO3.js.map +1 -0
- package/dist/framer.d.ts.map +1 -1
- package/dist/framer.js +745 -443
- package/dist/framer.js.map +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +18 -0
- package/dist/react.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/css.d.ts.map +1 -1
- package/esm/css.js +7 -6
- package/esm/css.js.map +1 -1
- package/esm/exporter.d.ts.map +1 -1
- package/esm/exporter.js +1 -2
- package/esm/exporter.js.map +1 -1
- package/esm/framer-chunks/chunk-22NYTOTD.d.ts +14 -0
- package/esm/framer-chunks/chunk-22NYTOTD.d.ts.map +1 -0
- package/esm/framer-chunks/chunk-22NYTOTD.js +99 -0
- package/esm/framer-chunks/chunk-22NYTOTD.js.map +1 -0
- package/esm/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.d.ts +115 -0
- package/esm/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.js +5 -0
- package/esm/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.js.map +1 -0
- package/esm/framer-chunks/fontshare-GSJIWLGZ-7BHTUG6K.d.ts +115 -0
- package/esm/framer-chunks/fontshare-GSJIWLGZ-7BHTUG6K.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-GSJIWLGZ-7BHTUG6K.js +5 -0
- package/esm/framer-chunks/fontshare-GSJIWLGZ-7BHTUG6K.js.map +1 -0
- package/esm/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.d.ts +781 -0
- package/esm/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.js +5 -0
- package/esm/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.js.map +1 -0
- package/esm/framer-chunks/fontshare-SSHBFVID-ZX5Y6FJ4.d.ts +781 -0
- package/esm/framer-chunks/fontshare-SSHBFVID-ZX5Y6FJ4.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-SSHBFVID-ZX5Y6FJ4.js +5 -0
- package/esm/framer-chunks/fontshare-SSHBFVID-ZX5Y6FJ4.js.map +1 -0
- package/esm/framer-chunks/fontshare-X6MCIXW5-FUMOBUA2.d.ts +634 -0
- package/esm/framer-chunks/fontshare-X6MCIXW5-FUMOBUA2.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-X6MCIXW5-FUMOBUA2.js +5 -0
- package/esm/framer-chunks/fontshare-X6MCIXW5-FUMOBUA2.js.map +1 -0
- package/esm/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.d.ts +634 -0
- package/esm/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.js +5 -0
- package/esm/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.js.map +1 -0
- package/esm/framer-chunks/framer-font-TNC5DMGA-XVG7BST3.d.ts +18 -0
- package/esm/framer-chunks/framer-font-TNC5DMGA-XVG7BST3.d.ts.map +1 -0
- package/esm/framer-chunks/framer-font-TNC5DMGA-XVG7BST3.js +5 -0
- package/esm/framer-chunks/framer-font-TNC5DMGA-XVG7BST3.js.map +1 -0
- package/esm/framer-chunks/google-3GQMHAEU-KEOTHDV6.d.ts +9827 -0
- package/esm/framer-chunks/google-3GQMHAEU-KEOTHDV6.d.ts.map +1 -0
- package/esm/framer-chunks/google-3GQMHAEU-KEOTHDV6.js +5 -0
- package/esm/framer-chunks/google-3GQMHAEU-KEOTHDV6.js.map +1 -0
- package/esm/framer-chunks/google-42BCYVR5-PDCHFNPY.d.ts +3231 -0
- package/esm/framer-chunks/google-42BCYVR5-PDCHFNPY.d.ts.map +1 -0
- package/esm/framer-chunks/google-42BCYVR5-PDCHFNPY.js +5 -0
- package/esm/framer-chunks/google-42BCYVR5-PDCHFNPY.js.map +1 -0
- package/esm/framer-chunks/google-42BCYVR5-QT55MZO3.d.ts +3231 -0
- package/esm/framer-chunks/google-42BCYVR5-QT55MZO3.d.ts.map +1 -0
- package/esm/framer-chunks/google-42BCYVR5-QT55MZO3.js +5 -0
- package/esm/framer-chunks/google-42BCYVR5-QT55MZO3.js.map +1 -0
- package/esm/framer-chunks/google-LHIHIYDX-FZZ6UXE7.d.ts +1499 -0
- package/esm/framer-chunks/google-LHIHIYDX-FZZ6UXE7.d.ts.map +1 -0
- package/esm/framer-chunks/google-LHIHIYDX-FZZ6UXE7.js +5 -0
- package/esm/framer-chunks/google-LHIHIYDX-FZZ6UXE7.js.map +1 -0
- package/esm/framer.d.ts.map +1 -1
- package/esm/framer.js +739 -439
- package/esm/framer.js.map +1 -1
- package/esm/react.d.ts.map +1 -1
- package/esm/react.js +18 -0
- package/esm/react.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/css.ts +7 -6
- package/src/exporter.ts +0 -1
- package/src/framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.js +7 -0
- package/src/framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.js +7 -0
- package/src/framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.js +7 -0
- package/src/framer-chunks/google-42BCYVR5-QT55MZO3.js +7 -0
- package/src/framer.js +763 -449
- package/src/react.tsx +24 -0
- package/src/version.ts +1 -1
package/src/framer.js
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
__toESM,
|
|
14
14
|
} from './framer-chunks/chunk-A2PMVMFI.js';
|
|
15
15
|
|
|
16
|
-
// /:https://app.framerstatic.com/chunk-
|
|
16
|
+
// /:https://app.framerstatic.com/chunk-BLFSVU7M.mjs
|
|
17
17
|
import { createContext, } from 'react';
|
|
18
18
|
import { useEffect, useLayoutEffect, } from 'react';
|
|
19
19
|
import { useCallback, useContext, useId, } from 'react';
|
|
@@ -3542,6 +3542,97 @@ function getComputedStyle2(element, name,) {
|
|
|
3542
3542
|
const computedStyle = window.getComputedStyle(element,);
|
|
3543
3543
|
return isCSSVar(name,) ? computedStyle.getPropertyValue(name,) : computedStyle[name];
|
|
3544
3544
|
}
|
|
3545
|
+
function isSVGElement(element,) {
|
|
3546
|
+
return isObject(element,) && 'ownerSVGElement' in element;
|
|
3547
|
+
}
|
|
3548
|
+
var resizeHandlers = /* @__PURE__ */ new WeakMap();
|
|
3549
|
+
var observer;
|
|
3550
|
+
var getSize = (borderBoxAxis, svgAxis, htmlAxis,) => (target, borderBoxSize,) => {
|
|
3551
|
+
if (borderBoxSize && borderBoxSize[0]) {
|
|
3552
|
+
return borderBoxSize[0][borderBoxAxis + 'Size'];
|
|
3553
|
+
} else if (isSVGElement(target,) && 'getBBox' in target) {
|
|
3554
|
+
return target.getBBox()[svgAxis];
|
|
3555
|
+
} else {
|
|
3556
|
+
return target[htmlAxis];
|
|
3557
|
+
}
|
|
3558
|
+
};
|
|
3559
|
+
var getWidth = /* @__PURE__ */ getSize('inline', 'width', 'offsetWidth',);
|
|
3560
|
+
var getHeight = /* @__PURE__ */ getSize('block', 'height', 'offsetHeight',);
|
|
3561
|
+
function notifyTarget({
|
|
3562
|
+
target,
|
|
3563
|
+
borderBoxSize,
|
|
3564
|
+
},) {
|
|
3565
|
+
var _a;
|
|
3566
|
+
(_a = resizeHandlers.get(target,)) == null ? void 0 : _a.forEach((handler) => {
|
|
3567
|
+
handler(target, {
|
|
3568
|
+
get width() {
|
|
3569
|
+
return getWidth(target, borderBoxSize,);
|
|
3570
|
+
},
|
|
3571
|
+
get height() {
|
|
3572
|
+
return getHeight(target, borderBoxSize,);
|
|
3573
|
+
},
|
|
3574
|
+
},);
|
|
3575
|
+
},);
|
|
3576
|
+
}
|
|
3577
|
+
function notifyAll(entries,) {
|
|
3578
|
+
entries.forEach(notifyTarget,);
|
|
3579
|
+
}
|
|
3580
|
+
function createResizeObserver() {
|
|
3581
|
+
if (typeof ResizeObserver === 'undefined') return;
|
|
3582
|
+
observer = new ResizeObserver(notifyAll,);
|
|
3583
|
+
}
|
|
3584
|
+
function resizeElement(target, handler,) {
|
|
3585
|
+
if (!observer) createResizeObserver();
|
|
3586
|
+
const elements = resolveElements(target,);
|
|
3587
|
+
elements.forEach((element) => {
|
|
3588
|
+
let elementHandlers = resizeHandlers.get(element,);
|
|
3589
|
+
if (!elementHandlers) {
|
|
3590
|
+
elementHandlers = /* @__PURE__ */ new Set();
|
|
3591
|
+
resizeHandlers.set(element, elementHandlers,);
|
|
3592
|
+
}
|
|
3593
|
+
elementHandlers.add(handler,);
|
|
3594
|
+
observer == null ? void 0 : observer.observe(element,);
|
|
3595
|
+
},);
|
|
3596
|
+
return () => {
|
|
3597
|
+
elements.forEach((element) => {
|
|
3598
|
+
const elementHandlers = resizeHandlers.get(element,);
|
|
3599
|
+
elementHandlers == null ? void 0 : elementHandlers.delete(handler,);
|
|
3600
|
+
if (!(elementHandlers == null ? void 0 : elementHandlers.size)) {
|
|
3601
|
+
observer == null ? void 0 : observer.unobserve(element,);
|
|
3602
|
+
}
|
|
3603
|
+
},);
|
|
3604
|
+
};
|
|
3605
|
+
}
|
|
3606
|
+
var windowCallbacks = /* @__PURE__ */ new Set();
|
|
3607
|
+
var windowResizeHandler;
|
|
3608
|
+
function createWindowResizeHandler() {
|
|
3609
|
+
windowResizeHandler = () => {
|
|
3610
|
+
const info = {
|
|
3611
|
+
get width() {
|
|
3612
|
+
return window.innerWidth;
|
|
3613
|
+
},
|
|
3614
|
+
get height() {
|
|
3615
|
+
return window.innerHeight;
|
|
3616
|
+
},
|
|
3617
|
+
};
|
|
3618
|
+
windowCallbacks.forEach((callback) => callback(info,));
|
|
3619
|
+
};
|
|
3620
|
+
window.addEventListener('resize', windowResizeHandler,);
|
|
3621
|
+
}
|
|
3622
|
+
function resizeWindow(callback,) {
|
|
3623
|
+
windowCallbacks.add(callback,);
|
|
3624
|
+
if (!windowResizeHandler) createWindowResizeHandler();
|
|
3625
|
+
return () => {
|
|
3626
|
+
windowCallbacks.delete(callback,);
|
|
3627
|
+
if (!windowCallbacks.size && typeof windowResizeHandler === 'function') {
|
|
3628
|
+
window.removeEventListener('resize', windowResizeHandler,);
|
|
3629
|
+
windowResizeHandler = void 0;
|
|
3630
|
+
}
|
|
3631
|
+
};
|
|
3632
|
+
}
|
|
3633
|
+
function resize(a, b,) {
|
|
3634
|
+
return typeof a === 'function' ? resizeWindow(a,) : resizeElement(a, b,);
|
|
3635
|
+
}
|
|
3545
3636
|
function observeTimeline(update, timeline,) {
|
|
3546
3637
|
let prevProgress;
|
|
3547
3638
|
const onFrame = () => {
|
|
@@ -3674,9 +3765,6 @@ function recordStats() {
|
|
|
3674
3765
|
frame.postRender(record, true,);
|
|
3675
3766
|
return reportStats;
|
|
3676
3767
|
}
|
|
3677
|
-
function isSVGElement(element,) {
|
|
3678
|
-
return isObject(element,) && 'ownerSVGElement' in element;
|
|
3679
|
-
}
|
|
3680
3768
|
function isSVGSVGElement(element,) {
|
|
3681
3769
|
return isSVGElement(element,) && element.tagName === 'svg';
|
|
3682
3770
|
}
|
|
@@ -8576,6 +8664,7 @@ function createProjectionNode2({
|
|
|
8576
8664
|
this.motionValue || (this.motionValue = motionValue(0,));
|
|
8577
8665
|
this.currentAnimation = animateSingleValue(this.motionValue, [0, 1e3,], {
|
|
8578
8666
|
...options,
|
|
8667
|
+
velocity: 0,
|
|
8579
8668
|
isSync: true,
|
|
8580
8669
|
onUpdate: (latest) => {
|
|
8581
8670
|
this.mixTargetDelta(latest,);
|
|
@@ -9435,102 +9524,6 @@ var domMin = {
|
|
|
9435
9524
|
function useMotionValueEvent(value, event, callback,) {
|
|
9436
9525
|
useInsertionEffect(() => value.on(event, callback,), [value, event, callback,],);
|
|
9437
9526
|
}
|
|
9438
|
-
var resizeHandlers = /* @__PURE__ */ new WeakMap();
|
|
9439
|
-
var observer;
|
|
9440
|
-
function getElementSize(target, borderBoxSize,) {
|
|
9441
|
-
if (borderBoxSize) {
|
|
9442
|
-
const {
|
|
9443
|
-
inlineSize,
|
|
9444
|
-
blockSize,
|
|
9445
|
-
} = borderBoxSize[0];
|
|
9446
|
-
return {
|
|
9447
|
-
width: inlineSize,
|
|
9448
|
-
height: blockSize,
|
|
9449
|
-
};
|
|
9450
|
-
} else if (isSVGElement(target,) && 'getBBox' in target) {
|
|
9451
|
-
return target.getBBox();
|
|
9452
|
-
} else {
|
|
9453
|
-
return {
|
|
9454
|
-
width: target.offsetWidth,
|
|
9455
|
-
height: target.offsetHeight,
|
|
9456
|
-
};
|
|
9457
|
-
}
|
|
9458
|
-
}
|
|
9459
|
-
function notifyTarget({
|
|
9460
|
-
target,
|
|
9461
|
-
contentRect,
|
|
9462
|
-
borderBoxSize,
|
|
9463
|
-
},) {
|
|
9464
|
-
var _a;
|
|
9465
|
-
(_a = resizeHandlers.get(target,)) == null ? void 0 : _a.forEach((handler) => {
|
|
9466
|
-
handler({
|
|
9467
|
-
target,
|
|
9468
|
-
contentSize: contentRect,
|
|
9469
|
-
get size() {
|
|
9470
|
-
return getElementSize(target, borderBoxSize,);
|
|
9471
|
-
},
|
|
9472
|
-
},);
|
|
9473
|
-
},);
|
|
9474
|
-
}
|
|
9475
|
-
function notifyAll(entries,) {
|
|
9476
|
-
entries.forEach(notifyTarget,);
|
|
9477
|
-
}
|
|
9478
|
-
function createResizeObserver() {
|
|
9479
|
-
if (typeof ResizeObserver === 'undefined') return;
|
|
9480
|
-
observer = new ResizeObserver(notifyAll,);
|
|
9481
|
-
}
|
|
9482
|
-
function resizeElement(target, handler,) {
|
|
9483
|
-
if (!observer) createResizeObserver();
|
|
9484
|
-
const elements = resolveElements(target,);
|
|
9485
|
-
elements.forEach((element) => {
|
|
9486
|
-
let elementHandlers = resizeHandlers.get(element,);
|
|
9487
|
-
if (!elementHandlers) {
|
|
9488
|
-
elementHandlers = /* @__PURE__ */ new Set();
|
|
9489
|
-
resizeHandlers.set(element, elementHandlers,);
|
|
9490
|
-
}
|
|
9491
|
-
elementHandlers.add(handler,);
|
|
9492
|
-
observer == null ? void 0 : observer.observe(element,);
|
|
9493
|
-
},);
|
|
9494
|
-
return () => {
|
|
9495
|
-
elements.forEach((element) => {
|
|
9496
|
-
const elementHandlers = resizeHandlers.get(element,);
|
|
9497
|
-
elementHandlers == null ? void 0 : elementHandlers.delete(handler,);
|
|
9498
|
-
if (!(elementHandlers == null ? void 0 : elementHandlers.size)) {
|
|
9499
|
-
observer == null ? void 0 : observer.unobserve(element,);
|
|
9500
|
-
}
|
|
9501
|
-
},);
|
|
9502
|
-
};
|
|
9503
|
-
}
|
|
9504
|
-
var windowCallbacks = /* @__PURE__ */ new Set();
|
|
9505
|
-
var windowResizeHandler;
|
|
9506
|
-
function createWindowResizeHandler() {
|
|
9507
|
-
windowResizeHandler = () => {
|
|
9508
|
-
const size = {
|
|
9509
|
-
width: window.innerWidth,
|
|
9510
|
-
height: window.innerHeight,
|
|
9511
|
-
};
|
|
9512
|
-
const info = {
|
|
9513
|
-
target: window,
|
|
9514
|
-
size,
|
|
9515
|
-
contentSize: size,
|
|
9516
|
-
};
|
|
9517
|
-
windowCallbacks.forEach((callback) => callback(info,));
|
|
9518
|
-
};
|
|
9519
|
-
window.addEventListener('resize', windowResizeHandler,);
|
|
9520
|
-
}
|
|
9521
|
-
function resizeWindow(callback,) {
|
|
9522
|
-
windowCallbacks.add(callback,);
|
|
9523
|
-
if (!windowResizeHandler) createWindowResizeHandler();
|
|
9524
|
-
return () => {
|
|
9525
|
-
windowCallbacks.delete(callback,);
|
|
9526
|
-
if (!windowCallbacks.size && windowResizeHandler) {
|
|
9527
|
-
windowResizeHandler = void 0;
|
|
9528
|
-
}
|
|
9529
|
-
};
|
|
9530
|
-
}
|
|
9531
|
-
function resize(a, b,) {
|
|
9532
|
-
return typeof a === 'function' ? resizeWindow(a,) : resizeElement(a, b,);
|
|
9533
|
-
}
|
|
9534
9527
|
var maxElapsed2 = 50;
|
|
9535
9528
|
var createAxisInfo = () => ({
|
|
9536
9529
|
current: 0,
|
|
@@ -11221,7 +11214,7 @@ function stagger(duration = 0.1, {
|
|
|
11221
11214
|
};
|
|
11222
11215
|
}
|
|
11223
11216
|
|
|
11224
|
-
// /:https://app.framerstatic.com/framer.
|
|
11217
|
+
// /:https://app.framerstatic.com/framer.6RBAH774.mjs
|
|
11225
11218
|
import { lazy as ReactLazy, } from 'react';
|
|
11226
11219
|
import React4 from 'react';
|
|
11227
11220
|
import { startTransition as startTransition2, } from 'react';
|
|
@@ -14624,6 +14617,213 @@ function patchRoutesForABTesting(routes, initialRouteId,) {
|
|
|
14624
14617
|
removeRoutesVariants(routes,);
|
|
14625
14618
|
return resolvedInitialRouteId;
|
|
14626
14619
|
}
|
|
14620
|
+
var mainTagId = 'main';
|
|
14621
|
+
var generatedPageDatasetKey = 'framerGeneratedPage';
|
|
14622
|
+
var searchIndexMetaName = 'framer-search-index';
|
|
14623
|
+
var searchIndexMetaSelector = `meta[name="${searchIndexMetaName}"]`;
|
|
14624
|
+
var endOfHeadStartMarker = '<!-- End of headStart -->';
|
|
14625
|
+
var endOfHeadEndMarker = '<!-- End of headEnd -->';
|
|
14626
|
+
var endOfBodyStartMarker = '<!-- End of bodyStart -->';
|
|
14627
|
+
var endOfBodyEndMarker = '<!-- End of bodyEnd -->';
|
|
14628
|
+
function assert(condition, ...msg) {
|
|
14629
|
+
var _a, _b;
|
|
14630
|
+
if (condition) return;
|
|
14631
|
+
const e = Error('Assertion Error' + (msg.length > 0 ? ': ' + msg.join(' ',) : ''),);
|
|
14632
|
+
if (e.stack) {
|
|
14633
|
+
try {
|
|
14634
|
+
const lines = e.stack.split('\n',);
|
|
14635
|
+
if ((_a = lines[1]) == null ? void 0 : _a.includes('assert',)) {
|
|
14636
|
+
lines.splice(1, 1,);
|
|
14637
|
+
e.stack = lines.join('\n',);
|
|
14638
|
+
} else if ((_b = lines[0]) == null ? void 0 : _b.includes('assert',)) {
|
|
14639
|
+
lines.splice(0, 1,);
|
|
14640
|
+
e.stack = lines.join('\n',);
|
|
14641
|
+
}
|
|
14642
|
+
} catch {}
|
|
14643
|
+
}
|
|
14644
|
+
throw e;
|
|
14645
|
+
}
|
|
14646
|
+
function assertNever(x, error,) {
|
|
14647
|
+
throw error || new Error(x ? `Unexpected value: ${x}` : 'Application entered invalid state',);
|
|
14648
|
+
}
|
|
14649
|
+
async function insertHTML(html, referenceNode, position = 'beforeend',) {
|
|
14650
|
+
let insertionParent, insertionPoint;
|
|
14651
|
+
switch (position) {
|
|
14652
|
+
case 'beforebegin':
|
|
14653
|
+
assert(referenceNode.parentNode, 'Can\'t use \'beforebegin\' with a referenceNode at the top level',);
|
|
14654
|
+
insertionParent = referenceNode.parentNode;
|
|
14655
|
+
insertionPoint = referenceNode;
|
|
14656
|
+
break;
|
|
14657
|
+
case 'afterend':
|
|
14658
|
+
assert(referenceNode.parentNode, 'Can\'t use \'afterend\' with a referenceNode at the top level',);
|
|
14659
|
+
insertionParent = referenceNode.parentNode;
|
|
14660
|
+
insertionPoint = referenceNode.nextSibling;
|
|
14661
|
+
break;
|
|
14662
|
+
case 'afterbegin':
|
|
14663
|
+
insertionParent = referenceNode;
|
|
14664
|
+
insertionPoint = referenceNode.firstChild;
|
|
14665
|
+
break;
|
|
14666
|
+
case 'beforeend':
|
|
14667
|
+
insertionParent = referenceNode;
|
|
14668
|
+
insertionPoint = null;
|
|
14669
|
+
break;
|
|
14670
|
+
default:
|
|
14671
|
+
assertNever(position,);
|
|
14672
|
+
}
|
|
14673
|
+
const range = document.createRange();
|
|
14674
|
+
range.selectNodeContents(insertionParent,);
|
|
14675
|
+
const fragment = range.createContextualFragment(html,);
|
|
14676
|
+
await pump(fragment, insertionParent, insertionPoint,);
|
|
14677
|
+
}
|
|
14678
|
+
async function pump(sourceNode, targetParent, beforeNode,) {
|
|
14679
|
+
for (let node = sourceNode.firstChild; node; node = node.nextSibling) {
|
|
14680
|
+
if (node instanceof HTMLScriptElement) {
|
|
14681
|
+
await handleScript(node, targetParent, beforeNode,);
|
|
14682
|
+
continue;
|
|
14683
|
+
}
|
|
14684
|
+
const clone = node.cloneNode(false,);
|
|
14685
|
+
targetParent.insertBefore(clone, beforeNode,);
|
|
14686
|
+
if (node.firstChild) {
|
|
14687
|
+
await pump(node, clone, null,);
|
|
14688
|
+
}
|
|
14689
|
+
}
|
|
14690
|
+
}
|
|
14691
|
+
async function handleScript(node, parent, beforeNode,) {
|
|
14692
|
+
var _a;
|
|
14693
|
+
const script = node.cloneNode(true,);
|
|
14694
|
+
const isExternal = script.hasAttribute('src',);
|
|
14695
|
+
const isAsync = script.hasAttribute('async',);
|
|
14696
|
+
const isDefer = script.hasAttribute('defer',);
|
|
14697
|
+
const isModule = ((_a = script.getAttribute('type',)) == null ? void 0 : _a.toLowerCase()) === 'module';
|
|
14698
|
+
if (!isExternal || isAsync || isDefer || isModule) {
|
|
14699
|
+
parent.insertBefore(script, beforeNode,);
|
|
14700
|
+
} else {
|
|
14701
|
+
await execExternalBlockingScript(script, parent, beforeNode,);
|
|
14702
|
+
}
|
|
14703
|
+
}
|
|
14704
|
+
function execExternalBlockingScript(script, parent, beforeNode,) {
|
|
14705
|
+
return new Promise((resolve) => {
|
|
14706
|
+
script.onload = () => resolve();
|
|
14707
|
+
script.onerror = () => resolve();
|
|
14708
|
+
parent.insertBefore(script, beforeNode,);
|
|
14709
|
+
},);
|
|
14710
|
+
}
|
|
14711
|
+
function useMetadata(metadata,) {
|
|
14712
|
+
const {
|
|
14713
|
+
isInitialNavigation,
|
|
14714
|
+
} = useRouter();
|
|
14715
|
+
React2.useEffect(() => {
|
|
14716
|
+
if (metadata.robots) {
|
|
14717
|
+
let robotsTag = document.querySelector('meta[name="robots"]',);
|
|
14718
|
+
if (robotsTag) {
|
|
14719
|
+
robotsTag.setAttribute('content', metadata.robots,);
|
|
14720
|
+
} else {
|
|
14721
|
+
robotsTag = document.createElement('meta',);
|
|
14722
|
+
robotsTag.setAttribute('name', 'robots',);
|
|
14723
|
+
robotsTag.setAttribute('content', metadata.robots,);
|
|
14724
|
+
document.head.appendChild(robotsTag,);
|
|
14725
|
+
}
|
|
14726
|
+
}
|
|
14727
|
+
}, [metadata.robots,],);
|
|
14728
|
+
React2.useInsertionEffect(() => {
|
|
14729
|
+
var _a;
|
|
14730
|
+
document.title = metadata.title || '';
|
|
14731
|
+
if (metadata.viewport) {
|
|
14732
|
+
(_a = document.querySelector('meta[name="viewport"]',)) == null ? void 0 : _a.setAttribute('content', metadata.viewport,);
|
|
14733
|
+
}
|
|
14734
|
+
}, [metadata.title, metadata.viewport,],);
|
|
14735
|
+
React2.useEffect(() => {
|
|
14736
|
+
if (!isInitialNavigation) return;
|
|
14737
|
+
const mainTag = document.getElementById(mainTagId,);
|
|
14738
|
+
const isGeneratedPage = mainTag && mainTag.dataset[generatedPageDatasetKey] !== void 0;
|
|
14739
|
+
if (isGeneratedPage) return;
|
|
14740
|
+
void insertCustomHTML(
|
|
14741
|
+
metadata.customHTMLHeadStart,
|
|
14742
|
+
metadata.customHTMLHeadEnd,
|
|
14743
|
+
metadata.customHTMLBodyStart,
|
|
14744
|
+
metadata.customHTMLBodyEnd,
|
|
14745
|
+
);
|
|
14746
|
+
}, [],);
|
|
14747
|
+
}
|
|
14748
|
+
async function insertCustomHTML(customHTMLHeadStart, customHTMLHeadEnd, customHTMLBodyStart, customHTMLBodyEnd,) {
|
|
14749
|
+
let endOfHeadStart;
|
|
14750
|
+
let endOfHeadEnd;
|
|
14751
|
+
let endOfBodyStart;
|
|
14752
|
+
let endOfBodyEnd;
|
|
14753
|
+
if (customHTMLHeadStart || customHTMLHeadEnd) {
|
|
14754
|
+
const {
|
|
14755
|
+
start: start2,
|
|
14756
|
+
end,
|
|
14757
|
+
} = findCommentMarkers(
|
|
14758
|
+
document.head.childNodes,
|
|
14759
|
+
customHTMLHeadStart ? endOfHeadStartMarker : void 0,
|
|
14760
|
+
customHTMLHeadEnd ? endOfHeadEndMarker : void 0,
|
|
14761
|
+
);
|
|
14762
|
+
endOfHeadStart = start2;
|
|
14763
|
+
endOfHeadEnd = end;
|
|
14764
|
+
}
|
|
14765
|
+
if (customHTMLBodyStart || customHTMLBodyEnd) {
|
|
14766
|
+
const {
|
|
14767
|
+
start: start2,
|
|
14768
|
+
end,
|
|
14769
|
+
} = findCommentMarkers(
|
|
14770
|
+
document.body.childNodes,
|
|
14771
|
+
customHTMLBodyStart ? endOfBodyStartMarker : void 0,
|
|
14772
|
+
customHTMLBodyEnd ? endOfBodyEndMarker : void 0,
|
|
14773
|
+
);
|
|
14774
|
+
endOfBodyStart = start2;
|
|
14775
|
+
endOfBodyEnd = end;
|
|
14776
|
+
}
|
|
14777
|
+
if (customHTMLHeadStart && endOfHeadStart) {
|
|
14778
|
+
await insertHTML(customHTMLHeadStart, endOfHeadStart, 'beforebegin',);
|
|
14779
|
+
}
|
|
14780
|
+
if (customHTMLHeadEnd && endOfHeadEnd) {
|
|
14781
|
+
await insertHTML(customHTMLHeadEnd, endOfHeadEnd, 'beforebegin',);
|
|
14782
|
+
}
|
|
14783
|
+
if (customHTMLBodyStart && endOfBodyStart) {
|
|
14784
|
+
await insertHTML(customHTMLBodyStart, endOfBodyStart, 'beforebegin',);
|
|
14785
|
+
}
|
|
14786
|
+
if (customHTMLBodyEnd && endOfBodyEnd) {
|
|
14787
|
+
await insertHTML(customHTMLBodyEnd, endOfBodyEnd, 'beforebegin',);
|
|
14788
|
+
}
|
|
14789
|
+
}
|
|
14790
|
+
function findCommentMarkers(nodes, startMarker, endMarker,) {
|
|
14791
|
+
if (!startMarker && !endMarker) {
|
|
14792
|
+
return {
|
|
14793
|
+
start: void 0,
|
|
14794
|
+
end: void 0,
|
|
14795
|
+
};
|
|
14796
|
+
}
|
|
14797
|
+
let start2;
|
|
14798
|
+
let end;
|
|
14799
|
+
let i = 0;
|
|
14800
|
+
let j = nodes.length - 1;
|
|
14801
|
+
while (i <= j) {
|
|
14802
|
+
const startNode = nodes[i];
|
|
14803
|
+
const endNode = nodes[j];
|
|
14804
|
+
if (
|
|
14805
|
+
!start2 && (startNode == null ? void 0 : startNode.nodeType) === Node.COMMENT_NODE && startMarker &&
|
|
14806
|
+
`<!--${startNode.nodeValue}-->` === startMarker
|
|
14807
|
+
) {
|
|
14808
|
+
start2 = startNode;
|
|
14809
|
+
if (!endMarker) break;
|
|
14810
|
+
}
|
|
14811
|
+
if (
|
|
14812
|
+
!end && (endNode == null ? void 0 : endNode.nodeType) === Node.COMMENT_NODE && endMarker &&
|
|
14813
|
+
`<!--${endNode.nodeValue}-->` === endMarker
|
|
14814
|
+
) {
|
|
14815
|
+
end = endNode;
|
|
14816
|
+
if (!startMarker) break;
|
|
14817
|
+
}
|
|
14818
|
+
if (start2 && end) break;
|
|
14819
|
+
i++;
|
|
14820
|
+
j--;
|
|
14821
|
+
}
|
|
14822
|
+
return {
|
|
14823
|
+
start: start2,
|
|
14824
|
+
end,
|
|
14825
|
+
};
|
|
14826
|
+
}
|
|
14627
14827
|
var warningMessages = /* @__PURE__ */ new Set();
|
|
14628
14828
|
function warnOnce2(keyMessage, ...rest) {
|
|
14629
14829
|
if (warningMessages.has(keyMessage,)) return;
|
|
@@ -14806,6 +15006,9 @@ function roundWithOffset(value, offset,) {
|
|
|
14806
15006
|
}
|
|
14807
15007
|
return Math.round(value - offset,) + offset;
|
|
14808
15008
|
}
|
|
15009
|
+
function roundToHalfPixel(value,) {
|
|
15010
|
+
return Math.round(value * 2,) / 2;
|
|
15011
|
+
}
|
|
14809
15012
|
function Point(x, y,) {
|
|
14810
15013
|
return {
|
|
14811
15014
|
x,
|
|
@@ -14933,27 +15136,6 @@ function Point(x, y,) {
|
|
|
14933
15136
|
}
|
|
14934
15137
|
Point2.sortClockwise = sortClockwise;
|
|
14935
15138
|
})(Point || (Point = {}),);
|
|
14936
|
-
function assert(condition, ...msg) {
|
|
14937
|
-
var _a, _b;
|
|
14938
|
-
if (condition) return;
|
|
14939
|
-
const e = Error('Assertion Error' + (msg.length > 0 ? ': ' + msg.join(' ',) : ''),);
|
|
14940
|
-
if (e.stack) {
|
|
14941
|
-
try {
|
|
14942
|
-
const lines = e.stack.split('\n',);
|
|
14943
|
-
if ((_a = lines[1]) == null ? void 0 : _a.includes('assert',)) {
|
|
14944
|
-
lines.splice(1, 1,);
|
|
14945
|
-
e.stack = lines.join('\n',);
|
|
14946
|
-
} else if ((_b = lines[0]) == null ? void 0 : _b.includes('assert',)) {
|
|
14947
|
-
lines.splice(0, 1,);
|
|
14948
|
-
e.stack = lines.join('\n',);
|
|
14949
|
-
}
|
|
14950
|
-
} catch {}
|
|
14951
|
-
}
|
|
14952
|
-
throw e;
|
|
14953
|
-
}
|
|
14954
|
-
function assertNever(x, error,) {
|
|
14955
|
-
throw error || new Error(x ? `Unexpected value: ${x}` : 'Application entered invalid state',);
|
|
14956
|
-
}
|
|
14957
15139
|
var BezierDefaults = {
|
|
14958
15140
|
curve: 'ease',
|
|
14959
15141
|
duration: 1,
|
|
@@ -17190,7 +17372,10 @@ var Loop = class extends EventEmitter {
|
|
|
17190
17372
|
};
|
|
17191
17373
|
var MainLoop = /* @__PURE__ */ new Loop();
|
|
17192
17374
|
var RenderEnvironment = {
|
|
17193
|
-
target:
|
|
17375
|
+
target:
|
|
17376
|
+
// Enable static renderer when taking screenshots
|
|
17377
|
+
// in screenshot-site lambda
|
|
17378
|
+
safeWindow.location.origin === 'https://screenshot.framer.invalid' ? 'EXPORT' : 'PREVIEW',
|
|
17194
17379
|
zoom: 1,
|
|
17195
17380
|
};
|
|
17196
17381
|
function executeInRenderEnvironment(customEnvironment, task,) {
|
|
@@ -18449,11 +18634,21 @@ var Rect = {
|
|
|
18449
18634
|
return rect.x === other.x && rect.y === other.y && rect.width === other.width && rect.height === other.height;
|
|
18450
18635
|
},
|
|
18451
18636
|
/** @internal */
|
|
18637
|
+
from: (rect) => {
|
|
18638
|
+
return {
|
|
18639
|
+
x: rect.x,
|
|
18640
|
+
y: rect.y,
|
|
18641
|
+
width: rect.width,
|
|
18642
|
+
height: rect.height,
|
|
18643
|
+
};
|
|
18644
|
+
},
|
|
18645
|
+
/** @internal */
|
|
18452
18646
|
atOrigin: (size) => {
|
|
18453
18647
|
return {
|
|
18454
|
-
...size,
|
|
18455
18648
|
x: 0,
|
|
18456
18649
|
y: 0,
|
|
18650
|
+
width: size.width,
|
|
18651
|
+
height: size.height,
|
|
18457
18652
|
};
|
|
18458
18653
|
},
|
|
18459
18654
|
/** @internal */
|
|
@@ -18616,13 +18811,13 @@ var Rect = {
|
|
|
18616
18811
|
};
|
|
18617
18812
|
},
|
|
18618
18813
|
/** @internal */
|
|
18619
|
-
boundingRectFromPoints: (
|
|
18814
|
+
boundingRectFromPoints: (points) => {
|
|
18620
18815
|
let minX = Infinity;
|
|
18621
18816
|
let maxX = -Infinity;
|
|
18622
18817
|
let minY = Infinity;
|
|
18623
18818
|
let maxY = -Infinity;
|
|
18624
|
-
for (let i = 0; i <
|
|
18625
|
-
const point2 =
|
|
18819
|
+
for (let i = 0; i < points.length; i++) {
|
|
18820
|
+
const point2 = points[i];
|
|
18626
18821
|
minX = Math.min(minX, point2.x,);
|
|
18627
18822
|
maxX = Math.max(maxX, point2.x,);
|
|
18628
18823
|
minY = Math.min(minY, point2.y,);
|
|
@@ -18939,20 +19134,6 @@ var Rect = {
|
|
|
18939
19134
|
y: 0,
|
|
18940
19135
|
},);
|
|
18941
19136
|
},
|
|
18942
|
-
/** @internal */
|
|
18943
|
-
fromAny: (rect, defaults = {
|
|
18944
|
-
x: 0,
|
|
18945
|
-
y: 0,
|
|
18946
|
-
width: 0,
|
|
18947
|
-
height: 0,
|
|
18948
|
-
},) => {
|
|
18949
|
-
return {
|
|
18950
|
-
x: rect.x || defaults.x,
|
|
18951
|
-
y: rect.y || defaults.y,
|
|
18952
|
-
width: rect.width || defaults.width,
|
|
18953
|
-
height: rect.height || defaults.height,
|
|
18954
|
-
};
|
|
18955
|
-
},
|
|
18956
19137
|
delta: (a, b,) => {
|
|
18957
19138
|
const pointA = {
|
|
18958
19139
|
x: Rect.minX(a,),
|
|
@@ -19683,6 +19864,7 @@ var ControlType = /* @__PURE__ */ ((ControlType2) => {
|
|
|
19683
19864
|
ControlType2['MultiCollectionReference'] = 'multicollectionreference';
|
|
19684
19865
|
ControlType2['TrackingId'] = 'trackingid';
|
|
19685
19866
|
ControlType2['VectorSetItem'] = 'vectorsetitem';
|
|
19867
|
+
ControlType2['LinkRelValues'] = 'linkrelvalues';
|
|
19686
19868
|
return ControlType2;
|
|
19687
19869
|
})(ControlType || {},);
|
|
19688
19870
|
var isFlexboxGapSupportedCached;
|
|
@@ -21056,6 +21238,8 @@ function getControlDefaultValue(control,) {
|
|
|
21056
21238
|
return isObject2(control.defaultValue,) ? control.defaultValue : void 0;
|
|
21057
21239
|
case 'font':
|
|
21058
21240
|
return isObject2(control.defaultValue,) ? control.defaultValue : void 0;
|
|
21241
|
+
case 'linkrelvalues':
|
|
21242
|
+
return isArray(control.defaultValue,) ? control.defaultValue : void 0;
|
|
21059
21243
|
case 'object': {
|
|
21060
21244
|
const value = isObject2(control.defaultValue,) ? control.defaultValue : {};
|
|
21061
21245
|
if (isObject2(control.controls,)) {
|
|
@@ -22913,7 +23097,7 @@ function BackgroundImageComponent({
|
|
|
22913
23097
|
...props
|
|
22914
23098
|
},) {
|
|
22915
23099
|
const {
|
|
22916
|
-
|
|
23100
|
+
motionDivToDivBackgroundImage,
|
|
22917
23101
|
} = useLibraryFeatures();
|
|
22918
23102
|
if (layoutId) {
|
|
22919
23103
|
layoutId += '-background';
|
|
@@ -22928,6 +23112,7 @@ function BackgroundImageComponent({
|
|
|
22928
23112
|
width: Math.round(backgroundSize * image.pixelWidth,),
|
|
22929
23113
|
height: Math.round(backgroundSize * image.pixelHeight,),
|
|
22930
23114
|
};
|
|
23115
|
+
const roundedBackgroundSize = roundToHalfPixel(backgroundSize * (image.pixelWidth / 2),);
|
|
22931
23116
|
const imageSource = runtime.useImageSource(image, tileSize,);
|
|
22932
23117
|
fallbackWrapperStyles = {
|
|
22933
23118
|
...wrapperStyle,
|
|
@@ -22936,15 +23121,7 @@ function BackgroundImageComponent({
|
|
|
22936
23121
|
backgroundPosition: cssObjectPosition(image.positionX, image.positionY,),
|
|
22937
23122
|
opacity: void 0,
|
|
22938
23123
|
border: 0,
|
|
22939
|
-
|
|
22940
|
-
// so we need to multiply it by the pixelWidth to get the pixel
|
|
22941
|
-
// value for the backgroundSize so that the size of the tile is
|
|
22942
|
-
// a function of the image width + background size percentage.
|
|
22943
|
-
// e.g image is 64px/64px and backgroundSize is 0.05, the tile size
|
|
22944
|
-
// should be 3.2px
|
|
22945
|
-
// We divide the pixel width by 2 because we assume that most designers
|
|
22946
|
-
// will be working with 2x (retina) assets.
|
|
22947
|
-
backgroundSize: `${(backgroundSize * (image.pixelWidth / 2)).toFixed(2,)}px auto`,
|
|
23124
|
+
backgroundSize: `${roundedBackgroundSize}px auto`,
|
|
22948
23125
|
};
|
|
22949
23126
|
imageNode = null;
|
|
22950
23127
|
needsMotion = true;
|
|
@@ -22973,7 +23150,7 @@ function BackgroundImageComponent({
|
|
|
22973
23150
|
...wrapperStyle,
|
|
22974
23151
|
...getPlaceholderStyle(),
|
|
22975
23152
|
};
|
|
22976
|
-
return needsMotion || !
|
|
23153
|
+
return needsMotion || !motionDivToDivBackgroundImage
|
|
22977
23154
|
? /* @__PURE__ */ jsx3(motion.div, {
|
|
22978
23155
|
layoutId,
|
|
22979
23156
|
style: style2,
|
|
@@ -23130,7 +23307,13 @@ var isFirefox = () => safeNavigator && /Firefox\/\d+\.\d+$/u.test(safeNavigator.
|
|
|
23130
23307
|
var isFramerX = () => safeNavigator && /FramerX/u.test(safeNavigator.userAgent,);
|
|
23131
23308
|
var isEdge = () => safeNavigator && /Edg\//u.test(safeNavigator.userAgent,);
|
|
23132
23309
|
var isAndroid = () => safeNavigator && /android/iu.test(safeNavigator.userAgent,);
|
|
23133
|
-
var
|
|
23310
|
+
var iOSRegex = /iPhone|iPod|iPad/iu;
|
|
23311
|
+
var macIntelRegex = /MacIntel/iu;
|
|
23312
|
+
var isIOS = () => {
|
|
23313
|
+
if (!safeNavigator) return false;
|
|
23314
|
+
if (iOSRegex.test(safeNavigator.platform,)) return true;
|
|
23315
|
+
return macIntelRegex.test(safeNavigator.platform,) && safeNavigator.maxTouchPoints && safeNavigator.maxTouchPoints > 2;
|
|
23316
|
+
};
|
|
23134
23317
|
var isMacOS = () => safeNavigator && /Mac/u.test(safeNavigator.platform,);
|
|
23135
23318
|
var isWindows = () => safeNavigator && /Win/u.test(safeNavigator.platform,);
|
|
23136
23319
|
var isTouch = () => safeWindow.ontouchstart === null && safeWindow.ontouchmove === null && safeWindow.ontouchend === null;
|
|
@@ -24472,32 +24655,53 @@ function useStableRefWithObserver() {
|
|
|
24472
24655
|
return ref.current;
|
|
24473
24656
|
},
|
|
24474
24657
|
set current(value,) {
|
|
24475
|
-
if (
|
|
24658
|
+
if (value === ref.current) return;
|
|
24476
24659
|
ref.current = value;
|
|
24477
|
-
|
|
24478
|
-
|
|
24479
|
-
if (
|
|
24480
|
-
|
|
24481
|
-
|
|
24660
|
+
if (refCallback) refCallback(value,);
|
|
24661
|
+
cleanups.forEach((cleanup, callback,) => {
|
|
24662
|
+
if (cleanup) {
|
|
24663
|
+
cleanup();
|
|
24664
|
+
} else {
|
|
24665
|
+
callback(null,);
|
|
24666
|
+
}
|
|
24482
24667
|
},);
|
|
24483
|
-
if (
|
|
24484
|
-
cleanups.forEach((cleanup) => cleanup());
|
|
24668
|
+
if (value === null) {
|
|
24485
24669
|
cleanups.clear();
|
|
24670
|
+
callbacks.clear();
|
|
24671
|
+
return;
|
|
24486
24672
|
}
|
|
24673
|
+
callbacks.forEach((callback) => {
|
|
24674
|
+
const cleanup = callback(value,);
|
|
24675
|
+
cleanups.set(callback, cleanup,);
|
|
24676
|
+
},);
|
|
24487
24677
|
},
|
|
24488
|
-
|
|
24489
|
-
|
|
24678
|
+
/**
|
|
24679
|
+
* Adds `fn` to the list of callbacks to be called when the ref is updated.
|
|
24680
|
+
* Executes `fn` immediately if the ref already has a value.
|
|
24681
|
+
*/
|
|
24682
|
+
observe(fn,) {
|
|
24490
24683
|
callbacks.add(fn,);
|
|
24491
|
-
|
|
24684
|
+
const value = ref.current;
|
|
24685
|
+
if (value) {
|
|
24686
|
+
const cleanup = fn(value,);
|
|
24687
|
+
cleanups.set(fn, cleanup,);
|
|
24688
|
+
}
|
|
24492
24689
|
},
|
|
24690
|
+
/**
|
|
24691
|
+
* Removes `fn` from the list of callbacks.
|
|
24692
|
+
* Runs the cleanup for `fn` if it has been called before.
|
|
24693
|
+
*/
|
|
24493
24694
|
unobserve(fn,) {
|
|
24494
|
-
if (fn)
|
|
24495
|
-
|
|
24496
|
-
|
|
24497
|
-
|
|
24498
|
-
if (
|
|
24499
|
-
|
|
24500
|
-
|
|
24695
|
+
if (!fn) return;
|
|
24696
|
+
callbacks.delete(fn,);
|
|
24697
|
+
if (!cleanups.has(fn,)) return;
|
|
24698
|
+
const cleanupFn = cleanups.get(fn,);
|
|
24699
|
+
if (cleanupFn) {
|
|
24700
|
+
cleanupFn();
|
|
24701
|
+
} else {
|
|
24702
|
+
fn(null,);
|
|
24703
|
+
}
|
|
24704
|
+
cleanups.delete(fn,);
|
|
24501
24705
|
},
|
|
24502
24706
|
};
|
|
24503
24707
|
});
|
|
@@ -24512,27 +24716,20 @@ function useObserverRef(forwardedRef,) {
|
|
|
24512
24716
|
},);
|
|
24513
24717
|
}
|
|
24514
24718
|
function useRefEffect(ref, effect, deps,) {
|
|
24515
|
-
var _a;
|
|
24516
24719
|
const effectRef = useRef3();
|
|
24517
24720
|
const depsChangedRef = useRef3();
|
|
24518
24721
|
useMemoOne(() => {
|
|
24519
|
-
if (depsChangedRef.current !== void 0)
|
|
24722
|
+
if (depsChangedRef.current !== void 0) {
|
|
24723
|
+
depsChangedRef.current = true;
|
|
24724
|
+
}
|
|
24520
24725
|
}, deps ?? [{},],);
|
|
24521
24726
|
if (!ref) return;
|
|
24522
24727
|
const depsChanged = depsChangedRef.current;
|
|
24523
|
-
if (depsChanged)
|
|
24524
|
-
|
|
24525
|
-
if (!ref.cleanup(effectRef.current,)) {
|
|
24526
|
-
(_a = effectRef.current) == null ? void 0 : _a.call(effectRef, null,);
|
|
24527
|
-
}
|
|
24528
|
-
const value = ref.current;
|
|
24529
|
-
if (value) effect == null ? void 0 : effect(value,);
|
|
24530
|
-
}
|
|
24531
|
-
if (effectRef.current === effect) return;
|
|
24728
|
+
if (depsChanged === false) return;
|
|
24729
|
+
depsChangedRef.current = false;
|
|
24532
24730
|
ref.unobserve(effectRef.current,);
|
|
24731
|
+
ref.observe(effect,);
|
|
24533
24732
|
effectRef.current = effect;
|
|
24534
|
-
ref.observe(effect, depsChanged,);
|
|
24535
|
-
if (depsChangedRef.current === void 0) depsChangedRef.current = false;
|
|
24536
24733
|
}
|
|
24537
24734
|
var SharedIntersectionObserver = class {
|
|
24538
24735
|
constructor(options,) {
|
|
@@ -27377,7 +27574,7 @@ function collectBoxShadowsForProps(props, style2,) {
|
|
|
27377
27574
|
if (!boxShadow) return;
|
|
27378
27575
|
style2.boxShadow = boxShadow;
|
|
27379
27576
|
}
|
|
27380
|
-
function shadowForShape(boxShadows, rect, shapeId,
|
|
27577
|
+
function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, strokeWidth, strokeClipId, svgStrokeAttributes,) {
|
|
27381
27578
|
const definition = [];
|
|
27382
27579
|
let outsetElement = null;
|
|
27383
27580
|
let insetElement = null;
|
|
@@ -27461,6 +27658,7 @@ function shadowForShape(boxShadows, rect, shapeId, strokeAlpha, strokeWidth, str
|
|
|
27461
27658
|
/* @__PURE__ */ jsx3('use', {
|
|
27462
27659
|
href: shapeId.link,
|
|
27463
27660
|
fill: 'black',
|
|
27661
|
+
fillOpacity: fillEnabled ? void 0 : 0,
|
|
27464
27662
|
},),
|
|
27465
27663
|
],
|
|
27466
27664
|
},);
|
|
@@ -27471,9 +27669,10 @@ function shadowForShape(boxShadows, rect, shapeId, strokeAlpha, strokeWidth, str
|
|
|
27471
27669
|
children: /* @__PURE__ */ jsx3('use', {
|
|
27472
27670
|
...svgStrokeAttributes,
|
|
27473
27671
|
fill: 'black',
|
|
27672
|
+
fillOpacity: fillEnabled ? void 0 : 0,
|
|
27474
27673
|
stroke: 'black',
|
|
27475
|
-
strokeOpacity:
|
|
27476
|
-
strokeWidth:
|
|
27674
|
+
strokeOpacity: strokeEnabled ? void 0 : 0,
|
|
27675
|
+
strokeWidth: strokeEnabled ? strokeWidth : 0,
|
|
27477
27676
|
xlinkHref: shapeId.link,
|
|
27478
27677
|
clipPath: strokeClipId.urlLink,
|
|
27479
27678
|
},),
|
|
@@ -31956,7 +32155,7 @@ function useParallax(options, ref, visibilityStyle,) {
|
|
|
31956
32155
|
const visibility = useMotionValue(adjustPosition && originalPosition.current === null ? 'hidden' : visibilityStyle,);
|
|
31957
32156
|
const defaultValue = useMotionValue(0,);
|
|
31958
32157
|
useRefEffect(ref, (element) => {
|
|
31959
|
-
if (element === null) return;
|
|
32158
|
+
if (element === null || !parallaxTransformEnabled) return;
|
|
31960
32159
|
frame.read(() => {
|
|
31961
32160
|
var _a;
|
|
31962
32161
|
originalPosition.current = ((_a = element.getBoundingClientRect()) == null ? void 0 : _a.top) ?? 0;
|
|
@@ -31967,8 +32166,11 @@ function useParallax(options, ref, visibilityStyle,) {
|
|
|
31967
32166
|
visibility.set(visibilityStyle ?? 'initial',);
|
|
31968
32167
|
}
|
|
31969
32168
|
},);
|
|
31970
|
-
}, [adjustPosition,],);
|
|
31971
|
-
useOnRouteChange(() =>
|
|
32169
|
+
}, [adjustPosition, parallaxTransformEnabled,],);
|
|
32170
|
+
useOnRouteChange(() => {
|
|
32171
|
+
if (!parallaxTransformEnabled) return;
|
|
32172
|
+
parallaxY.set(0,);
|
|
32173
|
+
},);
|
|
31972
32174
|
return {
|
|
31973
32175
|
values: {
|
|
31974
32176
|
y: shouldReduceMotion || !parallaxTransformEnabled ? defaultValue : parallaxY,
|
|
@@ -32594,8 +32796,12 @@ function extractFXOptions(props,) {
|
|
|
32594
32796
|
},
|
|
32595
32797
|
loop: {},
|
|
32596
32798
|
forwardedProps: {},
|
|
32799
|
+
targetOpacityValue: props.__targetOpacity,
|
|
32800
|
+
withPerspective: props.__perspectiveFX,
|
|
32801
|
+
inSmartComponent: props.__smartComponentFX,
|
|
32597
32802
|
};
|
|
32598
32803
|
for (const key7 in props) {
|
|
32804
|
+
if (key7 === '__targetOpacity' || key7 === '__perspectiveFX' || key7 === '__smartComponentFX') continue;
|
|
32599
32805
|
const strippedKey = stripPrefixFromPrefixedKey(key7,);
|
|
32600
32806
|
if (strippedKey) {
|
|
32601
32807
|
for (const group of groupValues) {
|
|
@@ -32662,13 +32868,10 @@ var withFX = (Component17) =>
|
|
|
32662
32868
|
presence = {},
|
|
32663
32869
|
loop = {},
|
|
32664
32870
|
forwardedProps,
|
|
32871
|
+
targetOpacityValue,
|
|
32872
|
+
withPerspective,
|
|
32873
|
+
inSmartComponent = false,
|
|
32665
32874
|
} = extractFXOptions(props,);
|
|
32666
|
-
const {
|
|
32667
|
-
__targetOpacity: targetOpacityValue,
|
|
32668
|
-
__perspectiveFX: withPerspective,
|
|
32669
|
-
__smartComponentFX: inSmartComponent = false,
|
|
32670
|
-
} = props;
|
|
32671
|
-
const targetOpacity = useMotionValue(targetOpacityValue ?? 1,);
|
|
32672
32875
|
const observerRef = useObserverRef(forwardedRef,);
|
|
32673
32876
|
const {
|
|
32674
32877
|
values: presenceEffectValues,
|
|
@@ -32691,16 +32894,10 @@ var withFX = (Component17) =>
|
|
|
32691
32894
|
style: loopStyle,
|
|
32692
32895
|
} = useLoop(loop, observerRef,);
|
|
32693
32896
|
const fxValues = React4.useMemo(() => {
|
|
32897
|
+
const layerOpacity = new MotionValue(targetOpacityValue ?? 1,);
|
|
32694
32898
|
return {
|
|
32695
32899
|
scale: [appearEffectValues.scale, loopValues.scale, presenceEffectValues.scale, transformValues2.scale,],
|
|
32696
|
-
opacity: [
|
|
32697
|
-
appearEffectValues.opacity,
|
|
32698
|
-
loopValues.opacity,
|
|
32699
|
-
presenceEffectValues.opacity,
|
|
32700
|
-
// Ensure that the layers opacity is always represented.
|
|
32701
|
-
targetOpacity,
|
|
32702
|
-
transformValues2.opacity,
|
|
32703
|
-
],
|
|
32900
|
+
opacity: [appearEffectValues.opacity, loopValues.opacity, presenceEffectValues.opacity, layerOpacity, transformValues2.opacity,],
|
|
32704
32901
|
x: [appearEffectValues.x, loopValues.x, presenceEffectValues.x, transformValues2.x,],
|
|
32705
32902
|
y: [appearEffectValues.y, loopValues.y, parallaxValues.y, presenceEffectValues.y, transformValues2.y,],
|
|
32706
32903
|
rotate: [appearEffectValues.rotate, loopValues.rotate, presenceEffectValues.rotate, transformValues2.rotate,],
|
|
@@ -32714,7 +32911,7 @@ var withFX = (Component17) =>
|
|
|
32714
32911
|
// value here on purpose.
|
|
32715
32912
|
],
|
|
32716
32913
|
};
|
|
32717
|
-
}, [
|
|
32914
|
+
}, [targetOpacityValue, transformValues2, parallaxValues, appearEffectValues, loopValues, presenceEffectValues,],);
|
|
32718
32915
|
addMotionValueStyle(props.style, fxValues,);
|
|
32719
32916
|
const scale2 = useTransform(fxValues.scale, multiply,);
|
|
32720
32917
|
const opacity = useTransform(fxValues.opacity, multiply,);
|
|
@@ -33883,7 +34080,7 @@ function motionOriginFromFloatingPosition(placement = 'bottom', alignment = 'cen
|
|
|
33883
34080
|
assertNever(placement,);
|
|
33884
34081
|
}
|
|
33885
34082
|
}
|
|
33886
|
-
function
|
|
34083
|
+
function domReadGetAncestorInfo(anchorRef,) {
|
|
33887
34084
|
var _a;
|
|
33888
34085
|
let el = anchorRef.current;
|
|
33889
34086
|
const info = {
|
|
@@ -33899,12 +34096,11 @@ function getAncestorInfo(anchorRef,) {
|
|
|
33899
34096
|
}
|
|
33900
34097
|
return info;
|
|
33901
34098
|
}
|
|
33902
|
-
function
|
|
33903
|
-
|
|
33904
|
-
|
|
33905
|
-
return [startLoop, cancelLoop,];
|
|
34099
|
+
function domReadStartAnimationFrameLoop(onRead,) {
|
|
34100
|
+
frame.read(onRead, true,);
|
|
34101
|
+
return () => cancelFrame(onRead,);
|
|
33906
34102
|
}
|
|
33907
|
-
function
|
|
34103
|
+
function domWriteCreateUpdateSafeArea(safeAreaRef,) {
|
|
33908
34104
|
let x = 0;
|
|
33909
34105
|
let y = 0;
|
|
33910
34106
|
return (anchorRect, calculatedRect, placement, event,) => {
|
|
@@ -33915,7 +34111,7 @@ function createUpdateSafeArea(safeAreaRef,) {
|
|
|
33915
34111
|
Object.assign(safeAreaRef.current.style, floatingPositionSafeAreaStyle(x, y, placement, anchorRect, calculatedRect,),);
|
|
33916
34112
|
};
|
|
33917
34113
|
}
|
|
33918
|
-
function
|
|
34114
|
+
function domWriteUpdatePosition(floatingPositionRef, position, rect,) {
|
|
33919
34115
|
if (!floatingPositionRef.current) return;
|
|
33920
34116
|
Object.assign(floatingPositionRef.current.style, {
|
|
33921
34117
|
position,
|
|
@@ -33925,7 +34121,11 @@ function updatePosition(floatingPositionRef, position, rect,) {
|
|
|
33925
34121
|
top: ((rect == null ? void 0 : rect.y) ?? 0) + (position === 'fixed' ? 0 : safeWindow.scrollY) + 'px',
|
|
33926
34122
|
},);
|
|
33927
34123
|
}
|
|
33928
|
-
var FloatingStackingContext = /* @__PURE__ */
|
|
34124
|
+
var FloatingStackingContext = /* @__PURE__ */ (() => {
|
|
34125
|
+
const Context2 = React4.createContext(/* @__PURE__ */ new Set(),);
|
|
34126
|
+
Context2.displayName = 'FloatingStackingContext';
|
|
34127
|
+
return Context2;
|
|
34128
|
+
})();
|
|
33929
34129
|
function useDismissFloatingLayer(anchorRef, floatingPositionRef, safeAreaRef, {
|
|
33930
34130
|
safeArea,
|
|
33931
34131
|
onDismiss,
|
|
@@ -34050,69 +34250,90 @@ function Floating({
|
|
|
34050
34250
|
const [origin, updateOrigin,] = useDynamicMotionOrigin(placement, alignment,);
|
|
34051
34251
|
React4.useLayoutEffect(() => {
|
|
34052
34252
|
if (!refHasValue(anchorRef,) || !contentRef.current || !placement || !alignment) return;
|
|
34053
|
-
const {
|
|
34054
|
-
position,
|
|
34055
|
-
scrolls,
|
|
34056
|
-
} = getAncestorInfo(anchorRef,);
|
|
34057
|
-
const elementRect = contentRef.current.getBoundingClientRect();
|
|
34058
|
-
const initialAnchorRect = anchorRef.current.getBoundingClientRect();
|
|
34059
34253
|
const offset = {
|
|
34060
34254
|
x: offsetX ?? 0,
|
|
34061
34255
|
y: offsetY ?? 0,
|
|
34062
34256
|
};
|
|
34063
|
-
|
|
34064
|
-
|
|
34065
|
-
|
|
34066
|
-
|
|
34067
|
-
|
|
34068
|
-
|
|
34069
|
-
|
|
34070
|
-
height: safeWindow.innerHeight,
|
|
34071
|
-
}
|
|
34072
|
-
: void 0,
|
|
34073
|
-
collisionDetectionPadding,
|
|
34074
|
-
},);
|
|
34075
|
-
const [initialSafePlacement, initialCalculatedRect,] = getSafePlacementRect(initialAnchorRect, elementRect,);
|
|
34076
|
-
frame.update(() => {
|
|
34077
|
-
updateOrigin(initialSafePlacement,);
|
|
34078
|
-
},);
|
|
34079
|
-
frame.render(() => {
|
|
34080
|
-
if (!floatingPositionRef.current) return;
|
|
34081
|
-
updatePosition(floatingPositionRef, position, initialCalculatedRect,);
|
|
34082
|
-
},);
|
|
34083
|
-
const updateSafeArea = createUpdateSafeArea(safeAreaRef,);
|
|
34084
|
-
let anchorRect = initialAnchorRect;
|
|
34257
|
+
let getSafePlacementRect;
|
|
34258
|
+
let position;
|
|
34259
|
+
let cleanup;
|
|
34260
|
+
let cleanupHasRun = false;
|
|
34261
|
+
let initialUpdateHasRun = false;
|
|
34262
|
+
let anchorRect;
|
|
34263
|
+
let elementRect;
|
|
34085
34264
|
let safePlacement;
|
|
34086
34265
|
let calculatedRect;
|
|
34266
|
+
let scrolls;
|
|
34087
34267
|
let latestEvent;
|
|
34088
|
-
|
|
34089
|
-
updateOrigin(safePlacement,);
|
|
34090
|
-
};
|
|
34268
|
+
let updateSafeArea;
|
|
34091
34269
|
const onRender = () => {
|
|
34092
|
-
|
|
34270
|
+
if (cleanupHasRun) return;
|
|
34271
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect,);
|
|
34093
34272
|
if (safeArea) updateSafeArea(anchorRect, calculatedRect, safePlacement, latestEvent,);
|
|
34094
34273
|
latestEvent = void 0;
|
|
34095
34274
|
};
|
|
34096
|
-
const
|
|
34275
|
+
const initialRender = () => {
|
|
34276
|
+
updateSafeArea = domWriteCreateUpdateSafeArea(safeAreaRef,);
|
|
34277
|
+
if (latestEvent) {
|
|
34278
|
+
onRender();
|
|
34279
|
+
} else {
|
|
34280
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect,);
|
|
34281
|
+
}
|
|
34282
|
+
initialUpdateHasRun = true;
|
|
34283
|
+
};
|
|
34284
|
+
const onUpdate = () => {
|
|
34285
|
+
if (cleanupHasRun) return;
|
|
34286
|
+
updateOrigin(safePlacement,);
|
|
34287
|
+
};
|
|
34288
|
+
const domReadUpdateSafePlacementAndRect = () => {
|
|
34289
|
+
if (!getSafePlacementRect || cleanupHasRun) return;
|
|
34097
34290
|
anchorRect = anchorRef.current.getBoundingClientRect();
|
|
34098
34291
|
const safePlacementAndRect = getSafePlacementRect(anchorRect, elementRect,);
|
|
34099
34292
|
safePlacement = safePlacementAndRect[0];
|
|
34100
34293
|
calculatedRect = safePlacementAndRect[1];
|
|
34101
|
-
frame.update(onUpdate,);
|
|
34102
|
-
frame.render(onRender,);
|
|
34103
34294
|
};
|
|
34104
|
-
|
|
34105
|
-
|
|
34106
|
-
|
|
34295
|
+
frame.read(() => {
|
|
34296
|
+
if (cleanupHasRun || !contentRef.current) return;
|
|
34297
|
+
const ancestorInfo = domReadGetAncestorInfo(anchorRef,);
|
|
34298
|
+
position = ancestorInfo.position;
|
|
34299
|
+
elementRect = contentRef.current.getBoundingClientRect();
|
|
34300
|
+
getSafePlacementRect = makeGetSafePlacementFloatingPositionRect({
|
|
34301
|
+
placement,
|
|
34302
|
+
alignment,
|
|
34303
|
+
offset,
|
|
34304
|
+
collisionDetectionSize: collisionDetection
|
|
34305
|
+
? {
|
|
34306
|
+
width: safeWindow.innerWidth,
|
|
34307
|
+
height: safeWindow.innerHeight,
|
|
34308
|
+
}
|
|
34309
|
+
: void 0,
|
|
34310
|
+
collisionDetectionPadding,
|
|
34311
|
+
},);
|
|
34312
|
+
domReadUpdateSafePlacementAndRect();
|
|
34313
|
+
frame.update(onUpdate,);
|
|
34314
|
+
frame.render(initialRender,);
|
|
34315
|
+
if (!ancestorInfo.scrolls) return;
|
|
34316
|
+
cleanup = domReadStartAnimationFrameLoop(domReadUpdateSafePlacementAndRect,);
|
|
34317
|
+
},);
|
|
34318
|
+
if (!safeArea) {
|
|
34319
|
+
return () => {
|
|
34320
|
+
cleanup == null ? void 0 : cleanup();
|
|
34321
|
+
cleanupHasRun = true;
|
|
34322
|
+
};
|
|
34323
|
+
}
|
|
34107
34324
|
const handleMouseMove = (event) => {
|
|
34108
34325
|
latestEvent = event;
|
|
34109
|
-
|
|
34326
|
+
if (!initialUpdateHasRun) return;
|
|
34327
|
+
frame.read(domReadUpdateSafePlacementAndRect,);
|
|
34328
|
+
frame.update(onUpdate, false, true,);
|
|
34329
|
+
frame.render(onRender, false, true,);
|
|
34110
34330
|
};
|
|
34111
34331
|
const anchor = anchorRef.current;
|
|
34112
34332
|
anchor.addEventListener('mousemove', handleMouseMove,);
|
|
34113
34333
|
return () => {
|
|
34114
|
-
cancelAnimationFrameLoop == null ? void 0 : cancelAnimationFrameLoop();
|
|
34115
34334
|
anchor.removeEventListener('mousemove', handleMouseMove,);
|
|
34335
|
+
cleanup == null ? void 0 : cleanup();
|
|
34336
|
+
cleanupHasRun = true;
|
|
34116
34337
|
};
|
|
34117
34338
|
}, [safeArea, placement, alignment, offsetX, offsetY, anchorRef, collisionDetection, collisionDetectionPadding, updateOrigin,],);
|
|
34118
34339
|
const descendantContext = useDismissFloatingLayer(anchorRef, floatingPositionRef, safeAreaRef, {
|
|
@@ -34785,25 +35006,23 @@ var AnchorLinkTarget = /* @__PURE__ */ ((AnchorLinkTarget2) => {
|
|
|
34785
35006
|
AnchorLinkTarget2['_self'] = '_self';
|
|
34786
35007
|
return AnchorLinkTarget2;
|
|
34787
35008
|
})(AnchorLinkTarget || {},);
|
|
34788
|
-
function propsForLink(href,
|
|
35009
|
+
function propsForLink(href, options,) {
|
|
34789
35010
|
const isInternal = isInternalURL(href,);
|
|
34790
|
-
const
|
|
34791
|
-
|
|
34792
|
-
|
|
34793
|
-
|
|
34794
|
-
|
|
34795
|
-
|
|
34796
|
-
|
|
34797
|
-
|
|
34798
|
-
|
|
34799
|
-
|
|
34800
|
-
|
|
34801
|
-
|
|
34802
|
-
: {
|
|
34803
|
-
href,
|
|
34804
|
-
target,
|
|
34805
|
-
rel,
|
|
35011
|
+
const props = {
|
|
35012
|
+
href: href === '' || isValidURL(href, isInternal,) ? href : `https://${href}`,
|
|
35013
|
+
target: getTargetAttrValue(options == null ? void 0 : options.openInNewTab, isInternal,),
|
|
35014
|
+
rel: !isInternal ? combineRels('noopener', options == null ? void 0 : options.rel,) : void 0,
|
|
35015
|
+
};
|
|
35016
|
+
if (options == null ? void 0 : options.preserveParams) {
|
|
35017
|
+
props.href = forwardCurrentQueryParams(props.href ?? href,);
|
|
35018
|
+
props['data-framer-preserve-params'] = true;
|
|
35019
|
+
}
|
|
35020
|
+
if (options == null ? void 0 : options.trackLinkClick) {
|
|
35021
|
+
props.onClick = () => {
|
|
35022
|
+
void options.trackLinkClick(href,);
|
|
34806
35023
|
};
|
|
35024
|
+
}
|
|
35025
|
+
return props;
|
|
34807
35026
|
}
|
|
34808
35027
|
function getTargetAttrValue(openInNewTab, isInternal,) {
|
|
34809
35028
|
if (openInNewTab !== void 0) {
|
|
@@ -34811,6 +35030,12 @@ function getTargetAttrValue(openInNewTab, isInternal,) {
|
|
|
34811
35030
|
}
|
|
34812
35031
|
return isInternal ? void 0 : '_blank';
|
|
34813
35032
|
}
|
|
35033
|
+
function combineRels(rel, otherRel,) {
|
|
35034
|
+
if (rel && !otherRel) return rel;
|
|
35035
|
+
if (!rel && otherRel) return otherRel;
|
|
35036
|
+
if (rel && otherRel) return `${rel} ${otherRel}`;
|
|
35037
|
+
return void 0;
|
|
35038
|
+
}
|
|
34814
35039
|
function linkInfoKey(link,) {
|
|
34815
35040
|
var _a, _b;
|
|
34816
35041
|
return `${link.scopeId}:${link.nodeId}:${(_a = link.furthestExternalComponent) == null ? void 0 : _a.scopeId}:${
|
|
@@ -35076,17 +35301,17 @@ function createOnClickLinkHandler(router, routeId, href, trackLinkClick, element
|
|
|
35076
35301
|
performNavigation(router, routeId, elementId, combinedPathVariables, smoothScroll, track,);
|
|
35077
35302
|
};
|
|
35078
35303
|
}
|
|
35079
|
-
function propsForRoutePath(href,
|
|
35080
|
-
if (!currentRoute) return propsForLink(href,
|
|
35304
|
+
function propsForRoutePath(href, router, currentRoute, linkOptions, implicitPathVariables,) {
|
|
35305
|
+
if (!currentRoute) return propsForLink(href, linkOptions,);
|
|
35081
35306
|
const matchedRoute = findMatchingRouteAttributesForResolvedPath(router, href, implicitPathVariables,);
|
|
35082
|
-
if (!matchedRoute) return propsForLink(href,
|
|
35307
|
+
if (!matchedRoute) return propsForLink(href, linkOptions,);
|
|
35083
35308
|
const {
|
|
35084
35309
|
routeId,
|
|
35085
35310
|
route,
|
|
35086
35311
|
elementId,
|
|
35087
35312
|
pathVariables,
|
|
35088
35313
|
} = matchedRoute;
|
|
35089
|
-
if (!route) return propsForLink(href,
|
|
35314
|
+
if (!route) return propsForLink(href, linkOptions,);
|
|
35090
35315
|
const path = getPathForRoute(route, {
|
|
35091
35316
|
// If the link is resolved, we trust that the slugs are resolved.
|
|
35092
35317
|
currentRoutePath: currentRoute.path,
|
|
@@ -35099,12 +35324,20 @@ function propsForRoutePath(href, openInNewTab, router, currentRoute, trackLinkCl
|
|
|
35099
35324
|
// don't preserve query params for bots
|
|
35100
35325
|
siteCanonicalURL: router.siteCanonicalURL,
|
|
35101
35326
|
},);
|
|
35102
|
-
const anchorTarget = getTargetAttrValue(openInNewTab, true,);
|
|
35327
|
+
const anchorTarget = getTargetAttrValue(linkOptions.openInNewTab, true,);
|
|
35103
35328
|
return {
|
|
35104
35329
|
href: path,
|
|
35105
35330
|
target: anchorTarget,
|
|
35106
|
-
onClick: createOnClickLinkHandler(
|
|
35107
|
-
|
|
35331
|
+
onClick: createOnClickLinkHandler(
|
|
35332
|
+
router,
|
|
35333
|
+
routeId,
|
|
35334
|
+
path,
|
|
35335
|
+
linkOptions.trackLinkClick,
|
|
35336
|
+
elementId,
|
|
35337
|
+
pathVariables,
|
|
35338
|
+
linkOptions.smoothScroll,
|
|
35339
|
+
),
|
|
35340
|
+
navigate: () => performNavigation(router, routeId, elementId, pathVariables, linkOptions.smoothScroll,),
|
|
35108
35341
|
'data-framer-page-link-current': !elementId && currentRoute.id === routeId || void 0,
|
|
35109
35342
|
};
|
|
35110
35343
|
}
|
|
@@ -35114,6 +35347,8 @@ var Link = /* @__PURE__ */ withChildrenCanSuspend(/* @__PURE__ */ forwardRef(fun
|
|
|
35114
35347
|
openInNewTab,
|
|
35115
35348
|
smoothScroll,
|
|
35116
35349
|
clickTrackingId,
|
|
35350
|
+
relValues,
|
|
35351
|
+
preserveParams,
|
|
35117
35352
|
nodeId,
|
|
35118
35353
|
scopeId,
|
|
35119
35354
|
motionChild,
|
|
@@ -35137,7 +35372,13 @@ var Link = /* @__PURE__ */ withChildrenCanSuspend(/* @__PURE__ */ forwardRef(fun
|
|
|
35137
35372
|
const pageLink = isLinkToWebPage(href,) ? href : linkFromFramerPageLink(href,);
|
|
35138
35373
|
if (!pageLink) return {};
|
|
35139
35374
|
if (isString(pageLink,)) {
|
|
35140
|
-
return propsForRoutePath(pageLink,
|
|
35375
|
+
return propsForRoutePath(pageLink, router, currentRoute, {
|
|
35376
|
+
openInNewTab,
|
|
35377
|
+
trackLinkClick,
|
|
35378
|
+
rel: relValues == null ? void 0 : relValues.join(' ',),
|
|
35379
|
+
preserveParams,
|
|
35380
|
+
smoothScroll,
|
|
35381
|
+
}, implicitPathVariables,);
|
|
35141
35382
|
}
|
|
35142
35383
|
const {
|
|
35143
35384
|
routeId,
|
|
@@ -35153,7 +35394,18 @@ var Link = /* @__PURE__ */ withChildrenCanSuspend(/* @__PURE__ */ forwardRef(fun
|
|
|
35153
35394
|
navigate: () => performNavigation(router, routeId, elementId, pathVariables, smoothScroll,),
|
|
35154
35395
|
'data-framer-page-link-current': currentRoute && linkMatchesRoute(currentRoute, pageLink, implicitPathVariables,) || void 0,
|
|
35155
35396
|
};
|
|
35156
|
-
}, [
|
|
35397
|
+
}, [
|
|
35398
|
+
href,
|
|
35399
|
+
router,
|
|
35400
|
+
activeLocale,
|
|
35401
|
+
implicitPathVariables,
|
|
35402
|
+
openInNewTab,
|
|
35403
|
+
currentRoute,
|
|
35404
|
+
smoothScroll,
|
|
35405
|
+
trackLinkClick,
|
|
35406
|
+
relValues,
|
|
35407
|
+
preserveParams,
|
|
35408
|
+
],);
|
|
35157
35409
|
const hasRef = isValidElement(children,) && 'ref' in children;
|
|
35158
35410
|
const observerRef = useObserverRef(hasRef ? children.ref : void 0,);
|
|
35159
35411
|
useRefEffect(observerRef, (node) => {
|
|
@@ -35794,6 +36046,7 @@ function Router({
|
|
|
35794
36046
|
const scheduleSideEffect = useScheduleRenderSideEffects(dep,);
|
|
35795
36047
|
const startNavigation = useNavigationTransition();
|
|
35796
36048
|
const monitorNextPaintAfterRender = useMonitorNextPaintAfterRender('framer-route-change',);
|
|
36049
|
+
const isInitialNavigationRef = useRef3(true,);
|
|
35797
36050
|
const currentRouteRef = useRef3(initialRoute,);
|
|
35798
36051
|
const currentPathVariablesRef = useRef3(initialPathVariables,);
|
|
35799
36052
|
const currentLocaleIdRef = useRef3(initialLocaleId,);
|
|
@@ -35848,6 +36101,7 @@ function Router({
|
|
|
35848
36101
|
if (!localeResult) return;
|
|
35849
36102
|
const currentStatePaginationInfo = isHistoryState(window.history.state,) ? window.history.state.paginationInfo : void 0;
|
|
35850
36103
|
const currentPath = localeResult.path;
|
|
36104
|
+
isInitialNavigationRef.current = false;
|
|
35851
36105
|
currentPathVariablesRef.current = localeResult.pathVariables;
|
|
35852
36106
|
currentLocaleIdRef.current = nextLocale.id;
|
|
35853
36107
|
const updateURL = async (ignorePushStateWrapper = false,) => {
|
|
@@ -35888,6 +36142,7 @@ function Router({
|
|
|
35888
36142
|
],);
|
|
35889
36143
|
const setCurrentRouteId = useCallback(
|
|
35890
36144
|
(routeId, localeId, hash2, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL,) => {
|
|
36145
|
+
isInitialNavigationRef.current = false;
|
|
35891
36146
|
const currentRouteId2 = currentRouteRef.current;
|
|
35892
36147
|
currentRouteRef.current = routeId;
|
|
35893
36148
|
currentPathVariablesRef.current = pathVariables;
|
|
@@ -36002,6 +36257,7 @@ function Router({
|
|
|
36002
36257
|
const currentRoute = routes[currentRouteId];
|
|
36003
36258
|
const currentRoutePath = currentRoute == null ? void 0 : currentRoute.path;
|
|
36004
36259
|
const pageviewEventData = useSendPageView(currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale,);
|
|
36260
|
+
const isInitialNavigation = isInitialNavigationRef.current;
|
|
36005
36261
|
const api = useMemo2(() => ({
|
|
36006
36262
|
navigate,
|
|
36007
36263
|
getRoute,
|
|
@@ -36012,6 +36268,7 @@ function Router({
|
|
|
36012
36268
|
preserveQueryParams,
|
|
36013
36269
|
pageviewEventData,
|
|
36014
36270
|
siteCanonicalURL,
|
|
36271
|
+
isInitialNavigation,
|
|
36015
36272
|
}), [
|
|
36016
36273
|
navigate,
|
|
36017
36274
|
getRoute,
|
|
@@ -36022,6 +36279,7 @@ function Router({
|
|
|
36022
36279
|
preserveQueryParams,
|
|
36023
36280
|
siteCanonicalURL,
|
|
36024
36281
|
pageviewEventData,
|
|
36282
|
+
isInitialNavigation,
|
|
36025
36283
|
],);
|
|
36026
36284
|
if (!currentRoute) {
|
|
36027
36285
|
throw new Error(`Router cannot find route for ${currentRouteId}`,);
|
|
@@ -36831,6 +37089,7 @@ var CompatibilityDatabaseCollection = class {
|
|
|
36831
37089
|
assert(definition.type !== 'unknown', 'Invalid definition type',);
|
|
36832
37090
|
data2[key7] = {
|
|
36833
37091
|
type: definition.type,
|
|
37092
|
+
// biome-ignore lint/suspicious/noExplicitAny: Existing.
|
|
36834
37093
|
value,
|
|
36835
37094
|
};
|
|
36836
37095
|
}
|
|
@@ -37109,6 +37368,21 @@ function castRichText(value,) {
|
|
|
37109
37368
|
}
|
|
37110
37369
|
return null;
|
|
37111
37370
|
}
|
|
37371
|
+
function compareVectorSetItem(left, right,) {
|
|
37372
|
+
const leftValue = left.value;
|
|
37373
|
+
const rightValue = right.value;
|
|
37374
|
+
if (leftValue < rightValue) return -1;
|
|
37375
|
+
if (leftValue > rightValue) return 1;
|
|
37376
|
+
return 0;
|
|
37377
|
+
}
|
|
37378
|
+
function castVectorSetItem(value,) {
|
|
37379
|
+
switch (value == null ? void 0 : value.type) {
|
|
37380
|
+
case 'vectorsetitem': {
|
|
37381
|
+
return value;
|
|
37382
|
+
}
|
|
37383
|
+
}
|
|
37384
|
+
return null;
|
|
37385
|
+
}
|
|
37112
37386
|
function compareString(left, right, collation11,) {
|
|
37113
37387
|
let leftValue = left.value;
|
|
37114
37388
|
let rightValue = right.value;
|
|
@@ -37168,6 +37442,8 @@ var DatabaseValue = {
|
|
|
37168
37442
|
return castRichText(value,);
|
|
37169
37443
|
case 'string':
|
|
37170
37444
|
return castString(value,);
|
|
37445
|
+
case 'vectorsetitem':
|
|
37446
|
+
return castVectorSetItem(value,);
|
|
37171
37447
|
case 'unknown':
|
|
37172
37448
|
return value;
|
|
37173
37449
|
default:
|
|
@@ -37341,6 +37617,8 @@ var DatabaseValue = {
|
|
|
37341
37617
|
return `'${value.value}' /* Date */`;
|
|
37342
37618
|
case 'richtext':
|
|
37343
37619
|
return 'RichText';
|
|
37620
|
+
case 'vectorsetitem':
|
|
37621
|
+
return 'VectorSetItem';
|
|
37344
37622
|
case 'responsiveimage':
|
|
37345
37623
|
return 'ResponsiveImage';
|
|
37346
37624
|
case 'file':
|
|
@@ -37404,6 +37682,10 @@ function compare(left, right, collation11,) {
|
|
|
37404
37682
|
assert(left.type === right.type,);
|
|
37405
37683
|
return compareRichText(left, right,);
|
|
37406
37684
|
}
|
|
37685
|
+
case 'vectorsetitem': {
|
|
37686
|
+
assert(left.type === right.type,);
|
|
37687
|
+
return compareVectorSetItem(left, right,);
|
|
37688
|
+
}
|
|
37407
37689
|
case 'string': {
|
|
37408
37690
|
assert(left.type === right.type,);
|
|
37409
37691
|
return compareString(left, right, collation11,);
|
|
@@ -37641,7 +37923,7 @@ function calculateHash(name, ...values) {
|
|
|
37641
37923
|
},);
|
|
37642
37924
|
return Hash(`${name}(${hashes.join(', ',)})`,);
|
|
37643
37925
|
}
|
|
37644
|
-
var
|
|
37926
|
+
var RichTextResolver = class {
|
|
37645
37927
|
constructor(data2, pointer,) {
|
|
37646
37928
|
this.data = data2;
|
|
37647
37929
|
this.pointer = pointer;
|
|
@@ -37652,6 +37934,18 @@ var RichText = class {
|
|
|
37652
37934
|
return this.cached;
|
|
37653
37935
|
}
|
|
37654
37936
|
};
|
|
37937
|
+
var VectorSetItemResolver = class {
|
|
37938
|
+
constructor(data2, pointer,) {
|
|
37939
|
+
this.data = data2;
|
|
37940
|
+
this.pointer = pointer;
|
|
37941
|
+
__publicField(this, 'cached',);
|
|
37942
|
+
}
|
|
37943
|
+
resolve() {
|
|
37944
|
+
assert(this.data.resolveVectorSetItem, 'Can\'t resolve vector set item.',);
|
|
37945
|
+
this.cached ??= this.data.resolveVectorSetItem(this.pointer,);
|
|
37946
|
+
return this.cached;
|
|
37947
|
+
}
|
|
37948
|
+
};
|
|
37655
37949
|
var VIRTUAL_INDEX_FIELD = 'index';
|
|
37656
37950
|
var Metadata = class extends Set {
|
|
37657
37951
|
merge(other,) {
|
|
@@ -37740,7 +38034,14 @@ var FieldMetadata = class {
|
|
|
37740
38034
|
assert(this.collection, 'Rich text field must have a collection',);
|
|
37741
38035
|
return {
|
|
37742
38036
|
type: 'richtext',
|
|
37743
|
-
value: new
|
|
38037
|
+
value: new RichTextResolver(this.collection.data, value.value,),
|
|
38038
|
+
};
|
|
38039
|
+
}
|
|
38040
|
+
if ((value == null ? void 0 : value.type) === 'vectorsetitem') {
|
|
38041
|
+
assert(this.collection, 'Vector set item field must have a collection',);
|
|
38042
|
+
return {
|
|
38043
|
+
type: 'vectorsetitem',
|
|
38044
|
+
value: new VectorSetItemResolver(this.collection.data, value.value,),
|
|
37744
38045
|
};
|
|
37745
38046
|
}
|
|
37746
38047
|
return value ?? null;
|
|
@@ -40878,9 +41179,13 @@ var EnforcerResolve = class _EnforcerResolve extends EnforcerNode {
|
|
|
40878
41179
|
for (const tuple of input.tuples) {
|
|
40879
41180
|
for (const field of this.fields) {
|
|
40880
41181
|
const value = tuple.getValue(field,);
|
|
40881
|
-
if ((value == null ? void 0 : value.type)
|
|
40882
|
-
|
|
40883
|
-
|
|
41182
|
+
if ((value == null ? void 0 : value.type) === 'richtext') {
|
|
41183
|
+
assert(value.value instanceof RichTextResolver, 'Pointer must be wrapped',);
|
|
41184
|
+
void value.value.resolve();
|
|
41185
|
+
} else if ((value == null ? void 0 : value.type) === 'vectorsetitem') {
|
|
41186
|
+
assert(value.value instanceof VectorSetItemResolver, 'Pointer must be wrapped',);
|
|
41187
|
+
void value.value.resolve();
|
|
41188
|
+
}
|
|
40884
41189
|
}
|
|
40885
41190
|
}
|
|
40886
41191
|
const collectionItems = yield Promise.all(
|
|
@@ -41220,7 +41525,11 @@ ${stringifyQuery(query,)}`,);
|
|
|
41220
41525
|
}
|
|
41221
41526
|
async resolveValue(value,) {
|
|
41222
41527
|
if ((value == null ? void 0 : value.type) === 'richtext') {
|
|
41223
|
-
assert(value.value instanceof
|
|
41528
|
+
assert(value.value instanceof RichTextResolver, 'Pointer must be wrapped',);
|
|
41529
|
+
return value.value.resolve();
|
|
41530
|
+
}
|
|
41531
|
+
if ((value == null ? void 0 : value.type) === 'vectorsetitem') {
|
|
41532
|
+
assert(value.value instanceof VectorSetItemResolver, 'Pointer must be wrapped',);
|
|
41224
41533
|
return value.value.resolve();
|
|
41225
41534
|
}
|
|
41226
41535
|
if ((value == null ? void 0 : value.type) === 'array') {
|
|
@@ -42169,8 +42478,8 @@ function useRunCallbackIfElementIsInView() {
|
|
|
42169
42478
|
queuedMicrotask = true;
|
|
42170
42479
|
queueMicrotask(() => {
|
|
42171
42480
|
var _a;
|
|
42172
|
-
if (!isInViewRef.current) return;
|
|
42173
42481
|
queuedMicrotask = false;
|
|
42482
|
+
if (!isInViewRef.current) return;
|
|
42174
42483
|
(_a = callbackRef.current) == null ? void 0 : _a.call(callbackRef,);
|
|
42175
42484
|
},);
|
|
42176
42485
|
};
|
|
@@ -42519,6 +42828,11 @@ function tryToApplyOverride(Component17, override,) {
|
|
|
42519
42828
|
function valueWithMirroring(value, mirror,) {
|
|
42520
42829
|
return mirror ? wrap(0, 2, value,) : value;
|
|
42521
42830
|
}
|
|
42831
|
+
function singleFrame() {
|
|
42832
|
+
return new Promise((resolve) => {
|
|
42833
|
+
frame.postRender(() => resolve());
|
|
42834
|
+
},);
|
|
42835
|
+
}
|
|
42522
42836
|
var withV1StrokeFX = (Component17) =>
|
|
42523
42837
|
forwardRef((props, forwardedRef,) => {
|
|
42524
42838
|
const {
|
|
@@ -42547,11 +42861,11 @@ var withV1StrokeFX = (Component17) =>
|
|
|
42547
42861
|
let index = 0;
|
|
42548
42862
|
while (true) {
|
|
42549
42863
|
if (signal.signal.aborted) break;
|
|
42550
|
-
const mirror = strokeEffectLoopType === 'mirror';
|
|
42864
|
+
const mirror = strokeEffectLoop && strokeEffectLoopType === 'mirror';
|
|
42551
42865
|
const from = valueWithMirroring(index, mirror,);
|
|
42552
42866
|
const to = valueWithMirroring(index + 1, mirror,);
|
|
42553
|
-
await animate(offset, [from, to,], pathLengthTransition,);
|
|
42554
|
-
if (!strokeEffectLoop
|
|
42867
|
+
await Promise.all([animate(offset, [from, to,], pathLengthTransition,), singleFrame(),],);
|
|
42868
|
+
if (!strokeEffectLoop) break;
|
|
42555
42869
|
if (strokeEffectLoop && strokeEffectLoopType === 'repeat') continue;
|
|
42556
42870
|
index++;
|
|
42557
42871
|
}
|
|
@@ -43712,6 +44026,8 @@ var variantsNameToWeight = {
|
|
|
43712
44026
|
extrabold: 800,
|
|
43713
44027
|
'extrabold-italic': 800,
|
|
43714
44028
|
black: 900,
|
|
44029
|
+
extralight: 100,
|
|
44030
|
+
'extralight-italic': 100,
|
|
43715
44031
|
'black-italic': 900,
|
|
43716
44032
|
'extra-italic': 900,
|
|
43717
44033
|
'extra-italic-bold': 900,
|
|
@@ -43965,7 +44281,7 @@ async function loadFontsWithOpenType(source,) {
|
|
|
43965
44281
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
43966
44282
|
}
|
|
43967
44283
|
case 'fontshare': {
|
|
43968
|
-
const supportedFonts = await import('./framer-chunks/fontshare-
|
|
44284
|
+
const supportedFonts = await import('./framer-chunks/fontshare-GSJIWLGZ-3DSFZVD7.js');
|
|
43969
44285
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
43970
44286
|
}
|
|
43971
44287
|
default:
|
|
@@ -43979,7 +44295,7 @@ async function loadFontToOpenTypeFeatures(source,) {
|
|
|
43979
44295
|
return features == null ? void 0 : features.default;
|
|
43980
44296
|
}
|
|
43981
44297
|
case 'fontshare': {
|
|
43982
|
-
const features = await import('./framer-chunks/fontshare-
|
|
44298
|
+
const features = await import('./framer-chunks/fontshare-SSHBFVID-JIQZ2OLR.js');
|
|
43983
44299
|
return features == null ? void 0 : features.default;
|
|
43984
44300
|
}
|
|
43985
44301
|
case 'framer': {
|
|
@@ -44527,10 +44843,10 @@ function loadVariationAxes(source,) {
|
|
|
44527
44843
|
const axes = (async () => {
|
|
44528
44844
|
switch (source) {
|
|
44529
44845
|
case 'google': {
|
|
44530
|
-
return (await import('./framer-chunks/google-
|
|
44846
|
+
return (await import('./framer-chunks/google-42BCYVR5-QT55MZO3.js')).default;
|
|
44531
44847
|
}
|
|
44532
44848
|
case 'fontshare': {
|
|
44533
|
-
return (await import('./framer-chunks/fontshare-
|
|
44849
|
+
return (await import('./framer-chunks/fontshare-X6MCIXW5-UOB5XTBQ.js')).default;
|
|
44534
44850
|
}
|
|
44535
44851
|
default:
|
|
44536
44852
|
assertNever(source,);
|
|
@@ -44719,11 +45035,12 @@ var FontStore = class {
|
|
|
44719
45035
|
if (builtInFontLocator) {
|
|
44720
45036
|
const fontVariant = BuiltInFontSource.parseVariant(builtInFontLocator.variant,);
|
|
44721
45037
|
if (isSuccessfullyParsedFontVariant(fontVariant,)) {
|
|
45038
|
+
const family = builtInFontLocator.isVariable ? createVariableFontFamilyName(builtInFontLocator.name,) : builtInFontLocator.name;
|
|
44722
45039
|
return {
|
|
44723
45040
|
style: fontVariant.style,
|
|
44724
45041
|
weight: fontVariant.weight,
|
|
44725
45042
|
variant: builtInFontLocator.variant,
|
|
44726
|
-
family
|
|
45043
|
+
family,
|
|
44727
45044
|
source: 'builtIn',
|
|
44728
45045
|
category: void 0,
|
|
44729
45046
|
};
|
|
@@ -45644,16 +45961,105 @@ var trimSlugRegExp = /^-+|-+$/gu;
|
|
|
45644
45961
|
function slugify(value,) {
|
|
45645
45962
|
return value.toLowerCase().replace(nonSlugCharactersRegExp, '-',).replace(trimSlugRegExp, '',);
|
|
45646
45963
|
}
|
|
45647
|
-
var
|
|
45648
|
-
|
|
45649
|
-
|
|
45650
|
-
|
|
45651
|
-
|
|
45652
|
-
|
|
45653
|
-
|
|
45654
|
-
|
|
45655
|
-
|
|
45656
|
-
|
|
45964
|
+
var frameFromElement = (element) => {
|
|
45965
|
+
const frame2 = Rect.fromRect(element.getBoundingClientRect(),);
|
|
45966
|
+
frame2.x = frame2.x + safeWindow.scrollX;
|
|
45967
|
+
frame2.y = frame2.y + safeWindow.scrollY;
|
|
45968
|
+
return frame2;
|
|
45969
|
+
};
|
|
45970
|
+
var frameFromElements = (elements) => {
|
|
45971
|
+
return Rect.merge(...elements.map(frameFromElement,),);
|
|
45972
|
+
};
|
|
45973
|
+
var convertToPageFrame = (frame2, element,) => {
|
|
45974
|
+
const point2 = convertToPagePoint(frame2, element,);
|
|
45975
|
+
return {
|
|
45976
|
+
x: point2.x,
|
|
45977
|
+
y: point2.y,
|
|
45978
|
+
width: frame2.width,
|
|
45979
|
+
height: frame2.height,
|
|
45980
|
+
};
|
|
45981
|
+
};
|
|
45982
|
+
var convertFromPageFrame = (frame2, element,) => {
|
|
45983
|
+
const point2 = convertFromPagePoint(frame2, element,);
|
|
45984
|
+
return {
|
|
45985
|
+
x: point2.x,
|
|
45986
|
+
y: point2.y,
|
|
45987
|
+
width: frame2.width,
|
|
45988
|
+
height: frame2.height,
|
|
45989
|
+
};
|
|
45990
|
+
};
|
|
45991
|
+
var getPageFrame = (element) => {
|
|
45992
|
+
const rect = element.getBoundingClientRect();
|
|
45993
|
+
return {
|
|
45994
|
+
x: rect.left + safeWindow.scrollX,
|
|
45995
|
+
y: rect.top + safeWindow.scrollY,
|
|
45996
|
+
width: rect.width,
|
|
45997
|
+
height: rect.height,
|
|
45998
|
+
};
|
|
45999
|
+
};
|
|
46000
|
+
var fromEventForPage = (event) => {
|
|
46001
|
+
return {
|
|
46002
|
+
x: event.pageX,
|
|
46003
|
+
y: event.pageY,
|
|
46004
|
+
};
|
|
46005
|
+
};
|
|
46006
|
+
var fromEventForClient = (event) => {
|
|
46007
|
+
return {
|
|
46008
|
+
x: event.clientX,
|
|
46009
|
+
y: event.clientY,
|
|
46010
|
+
};
|
|
46011
|
+
};
|
|
46012
|
+
var convertToPagePoint = (point2, element,) => {
|
|
46013
|
+
const frame2 = getPageFrame(element,);
|
|
46014
|
+
return {
|
|
46015
|
+
x: point2.x + frame2.x,
|
|
46016
|
+
y: point2.y + frame2.y,
|
|
46017
|
+
};
|
|
46018
|
+
};
|
|
46019
|
+
var convertFromPagePoint = (point2, element,) => {
|
|
46020
|
+
const frame2 = getPageFrame(element,);
|
|
46021
|
+
return {
|
|
46022
|
+
x: point2.x - frame2.x,
|
|
46023
|
+
y: point2.y - frame2.y,
|
|
46024
|
+
};
|
|
46025
|
+
};
|
|
46026
|
+
var dispatchKeyDownEvent = (keyCode, options = {},) => {
|
|
46027
|
+
const keyboardEvent = new KeyboardEvent('keydown', {
|
|
46028
|
+
bubbles: true,
|
|
46029
|
+
keyCode,
|
|
46030
|
+
...options,
|
|
46031
|
+
},);
|
|
46032
|
+
const activeElement = document.activeElement;
|
|
46033
|
+
if (activeElement) {
|
|
46034
|
+
activeElement.dispatchEvent(keyboardEvent,);
|
|
46035
|
+
}
|
|
46036
|
+
};
|
|
46037
|
+
var DOM = {
|
|
46038
|
+
frameFromElement,
|
|
46039
|
+
frameFromElements,
|
|
46040
|
+
convertToPageFrame,
|
|
46041
|
+
convertFromPageFrame,
|
|
46042
|
+
getPageFrame,
|
|
46043
|
+
fromEventForPage,
|
|
46044
|
+
fromEventForClient,
|
|
46045
|
+
convertToPagePoint,
|
|
46046
|
+
convertFromPagePoint,
|
|
46047
|
+
};
|
|
46048
|
+
var parser;
|
|
46049
|
+
var supportsNativeParseHTML = /* @__PURE__ */ (() =>
|
|
46050
|
+
// Firefox has rare-random issues with the native parser: https://framer-team.slack.com/archives/C01B14R6E22/p1724159313153969
|
|
46051
|
+
!isFirefox() && typeof Document !== 'undefined' && typeof Document.parseHTMLUnsafe === 'function')();
|
|
46052
|
+
function domParser(html, type,) {
|
|
46053
|
+
if (supportsNativeParseHTML && !type) return Document.parseHTMLUnsafe(html,);
|
|
46054
|
+
parser ??= new DOMParser();
|
|
46055
|
+
return parser.parseFromString(html, type ?? 'text/html',);
|
|
46056
|
+
}
|
|
46057
|
+
function escapeHTML(value,) {
|
|
46058
|
+
return value.replaceAll('&', '&',).replaceAll('<', '<',).replaceAll('>', '>',).replaceAll('"', '"',).replaceAll(
|
|
46059
|
+
'\'',
|
|
46060
|
+
''',
|
|
46061
|
+
);
|
|
46062
|
+
}
|
|
45657
46063
|
var regex =
|
|
45658
46064
|
/(<([a-z]+)(?:\s+(?!href[\s=])[^=\s]+=(?:'[^']*'|"[^"]*"))*)(?:(\s+href\s*=)(?:'([^']*)'|"([^"]*)"))?((?:\s+[^=\s]+=(?:'[^']*'|"[^"]*"))*>)/gi;
|
|
45659
46065
|
function replaceFramerPageLinks(rawHTML, getRoute, currentRoute, implicitPathVariables,) {
|
|
@@ -45694,18 +46100,6 @@ function replaceFramerPageLinks(rawHTML, getRoute, currentRoute, implicitPathVar
|
|
|
45694
46100
|
function isShallowEqualArray(a, b,) {
|
|
45695
46101
|
return a.length === b.length && a.every((v, i,) => v === b[i]);
|
|
45696
46102
|
}
|
|
45697
|
-
var htmlEscapes = {
|
|
45698
|
-
'&': '&',
|
|
45699
|
-
'<': '<',
|
|
45700
|
-
'>': '>',
|
|
45701
|
-
'"': '"',
|
|
45702
|
-
'\'': ''',
|
|
45703
|
-
};
|
|
45704
|
-
var reUnescapedHtml = /[&<>"']/gu;
|
|
45705
|
-
var reHasUnescapedHtml = /* @__PURE__ */ (() => new RegExp(reUnescapedHtml.source,))();
|
|
45706
|
-
function escapeHTML2(str,) {
|
|
45707
|
-
return str && reHasUnescapedHtml.test(str,) ? str.replace(reUnescapedHtml, (chr) => htmlEscapes[chr] ?? '',) : str || '';
|
|
45708
|
-
}
|
|
45709
46103
|
var deprecatedRichTextPlaceholder = '{{ text-placeholder }}';
|
|
45710
46104
|
var richTextWrapperClassName = 'rich-text-wrapper';
|
|
45711
46105
|
var DeprecatedRichText = /* @__PURE__ */ React2.forwardRef(function Text(props, forwardedRef,) {
|
|
@@ -45769,12 +46163,12 @@ var DeprecatedRichText = /* @__PURE__ */ React2.forwardRef(function Text(props,
|
|
|
45769
46163
|
}
|
|
45770
46164
|
let innerHTML = '';
|
|
45771
46165
|
if (textOrOverride) {
|
|
45772
|
-
const escapedText =
|
|
46166
|
+
const escapedText = escapeHTML(textOrOverride,);
|
|
45773
46167
|
innerHTML = __htmlStructure ? __htmlStructure.replace(deprecatedRichTextPlaceholder, escapedText,) : `<p>${escapedText}</p>`;
|
|
45774
46168
|
} else if (html) {
|
|
45775
46169
|
innerHTML = html;
|
|
45776
46170
|
} else if (textFromDesign) {
|
|
45777
|
-
const escapedText =
|
|
46171
|
+
const escapedText = escapeHTML(textFromDesign,);
|
|
45778
46172
|
innerHTML = __htmlStructure ? __htmlStructure.replace(deprecatedRichTextPlaceholder, escapedText,) : `<p>${escapedText}</p>`;
|
|
45779
46173
|
} else if (htmlFromDesign) {
|
|
45780
46174
|
innerHTML = htmlFromDesign;
|
|
@@ -46333,34 +46727,44 @@ function createLineGroups(elements,) {
|
|
|
46333
46727
|
groups2.push(currentGroup,);
|
|
46334
46728
|
return groups2;
|
|
46335
46729
|
}
|
|
46336
|
-
var
|
|
46337
|
-
viewBoxScale,
|
|
46338
|
-
viewBox,
|
|
46339
|
-
children,
|
|
46340
|
-
...props
|
|
46341
|
-
}, ref,) => {
|
|
46730
|
+
var BaseSVG = /* @__PURE__ */ forwardRef(function BaseSVG2(props, forwardedRef,) {
|
|
46342
46731
|
return (
|
|
46343
46732
|
// biome-ignore lint/a11y/noSvgWithoutTitle: FIXME: FitText might be inaccessible to screen readers because it’s wrapped in an svg
|
|
46344
46733
|
/* @__PURE__ */
|
|
46345
|
-
jsx3(
|
|
46346
|
-
ref,
|
|
46734
|
+
jsx3('svg', {
|
|
46347
46735
|
...props,
|
|
46348
|
-
|
|
46349
|
-
children:
|
|
46350
|
-
width: '100%',
|
|
46351
|
-
height: '100%',
|
|
46352
|
-
className: 'framer-fit-text',
|
|
46353
|
-
transform: `scale(${viewBoxScale})`,
|
|
46354
|
-
style: {
|
|
46355
|
-
overflow: 'visible',
|
|
46356
|
-
transformOrigin: 'center center',
|
|
46357
|
-
},
|
|
46358
|
-
children,
|
|
46359
|
-
},),
|
|
46736
|
+
ref: forwardedRef,
|
|
46737
|
+
children: props.children,
|
|
46360
46738
|
},)
|
|
46361
46739
|
);
|
|
46362
46740
|
},);
|
|
46363
|
-
var
|
|
46741
|
+
var MotionSVG = /* @__PURE__ */ motion.create(BaseSVG,);
|
|
46742
|
+
var FitText = /* @__PURE__ */ forwardRef(function FitText2({
|
|
46743
|
+
viewBoxScale,
|
|
46744
|
+
viewBox,
|
|
46745
|
+
children,
|
|
46746
|
+
...props
|
|
46747
|
+
}, forwardedRef,) {
|
|
46748
|
+
return /* @__PURE__ */ jsx3(MotionSVG, {
|
|
46749
|
+
...props,
|
|
46750
|
+
ref: forwardedRef,
|
|
46751
|
+
viewBox,
|
|
46752
|
+
children: /* @__PURE__ */ jsx3(motion.foreignObject, {
|
|
46753
|
+
width: '100%',
|
|
46754
|
+
height: '100%',
|
|
46755
|
+
className: 'framer-fit-text',
|
|
46756
|
+
transform: `scale(${viewBoxScale})`,
|
|
46757
|
+
style: {
|
|
46758
|
+
overflow: 'visible',
|
|
46759
|
+
transformOrigin: 'center center',
|
|
46760
|
+
},
|
|
46761
|
+
children,
|
|
46762
|
+
},),
|
|
46763
|
+
},);
|
|
46764
|
+
},);
|
|
46765
|
+
var defaultFonts = [];
|
|
46766
|
+
var richTextContainerComponentType = 'RichTextContainer';
|
|
46767
|
+
var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(props, forwardedRef,) {
|
|
46364
46768
|
const {
|
|
46365
46769
|
__fromCanvasComponent = false,
|
|
46366
46770
|
_forwardedOverrideId,
|
|
@@ -46372,7 +46776,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
|
|
|
46372
46776
|
center,
|
|
46373
46777
|
children,
|
|
46374
46778
|
environment: environment2 = RenderTarget.current,
|
|
46375
|
-
fonts =
|
|
46779
|
+
fonts = defaultFonts,
|
|
46376
46780
|
height,
|
|
46377
46781
|
isEditable = false,
|
|
46378
46782
|
left,
|
|
@@ -46404,7 +46808,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
|
|
|
46404
46808
|
const inCodeComponent = useContext(ComponentContainerContext,);
|
|
46405
46809
|
const layoutId = useLayoutId2(props,);
|
|
46406
46810
|
const fallbackRef = useRef3(null,);
|
|
46407
|
-
const containerRef =
|
|
46811
|
+
const containerRef = forwardedRef ?? fallbackRef;
|
|
46408
46812
|
useMeasureLayout(props, containerRef,);
|
|
46409
46813
|
useLoadFonts(fonts, __fromCanvasComponent, containerRef,);
|
|
46410
46814
|
useInsertionEffect(() => {
|
|
@@ -46469,6 +46873,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
|
|
|
46469
46873
|
rest.layout = 'preserve-aspect';
|
|
46470
46874
|
}
|
|
46471
46875
|
const Component17 = htmlElementAsMotionComponent(props.as,);
|
|
46876
|
+
const dataFramerName = rest['data-framer-name'] ?? name;
|
|
46472
46877
|
if (isString(props.viewBox,)) {
|
|
46473
46878
|
if (props.as !== void 0) {
|
|
46474
46879
|
return /* @__PURE__ */ jsx3(Component17, {
|
|
@@ -46477,8 +46882,8 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
|
|
|
46477
46882
|
style: containerStyle,
|
|
46478
46883
|
layoutId,
|
|
46479
46884
|
transformTemplate: template,
|
|
46480
|
-
'data-framer-name':
|
|
46481
|
-
'data-framer-component-type':
|
|
46885
|
+
'data-framer-name': dataFramerName,
|
|
46886
|
+
'data-framer-component-type': richTextContainerComponentType,
|
|
46482
46887
|
children: /* @__PURE__ */ jsx3(FitText, {
|
|
46483
46888
|
viewBox,
|
|
46484
46889
|
viewBoxScale,
|
|
@@ -46498,8 +46903,8 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
|
|
|
46498
46903
|
viewBox,
|
|
46499
46904
|
viewBoxScale,
|
|
46500
46905
|
transformTemplate: template,
|
|
46501
|
-
'data-framer-name':
|
|
46502
|
-
'data-framer-component-type':
|
|
46906
|
+
'data-framer-name': dataFramerName,
|
|
46907
|
+
'data-framer-component-type': richTextContainerComponentType,
|
|
46503
46908
|
children: processedChildren,
|
|
46504
46909
|
},);
|
|
46505
46910
|
}
|
|
@@ -46510,8 +46915,8 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
|
|
|
46510
46915
|
style: containerStyle,
|
|
46511
46916
|
layoutId,
|
|
46512
46917
|
transformTemplate: template,
|
|
46513
|
-
'data-framer-name':
|
|
46514
|
-
'data-framer-component-type':
|
|
46918
|
+
'data-framer-name': dataFramerName,
|
|
46919
|
+
'data-framer-component-type': richTextContainerComponentType,
|
|
46515
46920
|
children: processedChildren,
|
|
46516
46921
|
},);
|
|
46517
46922
|
},);
|
|
@@ -46596,12 +47001,12 @@ function extractTextFromReactNode(node,) {
|
|
|
46596
47001
|
}
|
|
46597
47002
|
return '';
|
|
46598
47003
|
}
|
|
46599
|
-
var
|
|
47004
|
+
var RichText = /* @__PURE__ */ forwardRef(function RichText2({
|
|
46600
47005
|
children,
|
|
46601
47006
|
html,
|
|
46602
47007
|
htmlFromDesign,
|
|
46603
47008
|
...props
|
|
46604
|
-
},
|
|
47009
|
+
}, forwardedRef,) {
|
|
46605
47010
|
const content = html || children || htmlFromDesign;
|
|
46606
47011
|
if (isString(content,)) {
|
|
46607
47012
|
if (!props.stylesPresetsClassName && isObject2(props.stylesPresetsClassNames,)) {
|
|
@@ -46614,7 +47019,7 @@ var RichText2 = /* @__PURE__ */ forwardRef(function RichText3({
|
|
|
46614
47019
|
return /* @__PURE__ */ jsx3(DeprecatedRichText, {
|
|
46615
47020
|
...props,
|
|
46616
47021
|
...contentProp,
|
|
46617
|
-
ref,
|
|
47022
|
+
ref: forwardedRef,
|
|
46618
47023
|
},);
|
|
46619
47024
|
}
|
|
46620
47025
|
if (!props.stylesPresetsClassNames && isString(props.stylesPresetsClassName,)) {
|
|
@@ -46633,7 +47038,7 @@ var RichText2 = /* @__PURE__ */ forwardRef(function RichText3({
|
|
|
46633
47038
|
}
|
|
46634
47039
|
return /* @__PURE__ */ jsx3(RichTextContainer, {
|
|
46635
47040
|
...props,
|
|
46636
|
-
ref,
|
|
47041
|
+
ref: forwardedRef,
|
|
46637
47042
|
children: isValidElement(content,) ? content : void 0,
|
|
46638
47043
|
},);
|
|
46639
47044
|
},);
|
|
@@ -46833,99 +47238,6 @@ var ImagePatternElement = ({
|
|
|
46833
47238
|
}, href,),
|
|
46834
47239
|
},);
|
|
46835
47240
|
};
|
|
46836
|
-
var frameFromElement = (element) => {
|
|
46837
|
-
const frame2 = Rect.fromRect(element.getBoundingClientRect(),);
|
|
46838
|
-
frame2.x = frame2.x + safeWindow.scrollX;
|
|
46839
|
-
frame2.y = frame2.y + safeWindow.scrollY;
|
|
46840
|
-
return frame2;
|
|
46841
|
-
};
|
|
46842
|
-
var frameFromElements = (elements) => {
|
|
46843
|
-
return Rect.merge(...elements.map(frameFromElement,),);
|
|
46844
|
-
};
|
|
46845
|
-
var convertToPageFrame = (frame2, element,) => {
|
|
46846
|
-
const point2 = convertToPagePoint(frame2, element,);
|
|
46847
|
-
return {
|
|
46848
|
-
x: point2.x,
|
|
46849
|
-
y: point2.y,
|
|
46850
|
-
width: frame2.width,
|
|
46851
|
-
height: frame2.height,
|
|
46852
|
-
};
|
|
46853
|
-
};
|
|
46854
|
-
var convertFromPageFrame = (frame2, element,) => {
|
|
46855
|
-
const point2 = convertFromPagePoint(frame2, element,);
|
|
46856
|
-
return {
|
|
46857
|
-
x: point2.x,
|
|
46858
|
-
y: point2.y,
|
|
46859
|
-
width: frame2.width,
|
|
46860
|
-
height: frame2.height,
|
|
46861
|
-
};
|
|
46862
|
-
};
|
|
46863
|
-
var getPageFrame = (element) => {
|
|
46864
|
-
const rect = element.getBoundingClientRect();
|
|
46865
|
-
return {
|
|
46866
|
-
x: rect.left + safeWindow.scrollX,
|
|
46867
|
-
y: rect.top + safeWindow.scrollY,
|
|
46868
|
-
width: rect.width,
|
|
46869
|
-
height: rect.height,
|
|
46870
|
-
};
|
|
46871
|
-
};
|
|
46872
|
-
var fromEventForPage = (event) => {
|
|
46873
|
-
return {
|
|
46874
|
-
x: event.pageX,
|
|
46875
|
-
y: event.pageY,
|
|
46876
|
-
};
|
|
46877
|
-
};
|
|
46878
|
-
var fromEventForClient = (event) => {
|
|
46879
|
-
return {
|
|
46880
|
-
x: event.clientX,
|
|
46881
|
-
y: event.clientY,
|
|
46882
|
-
};
|
|
46883
|
-
};
|
|
46884
|
-
var convertToPagePoint = (point2, element,) => {
|
|
46885
|
-
const frame2 = getPageFrame(element,);
|
|
46886
|
-
return {
|
|
46887
|
-
x: point2.x + frame2.x,
|
|
46888
|
-
y: point2.y + frame2.y,
|
|
46889
|
-
};
|
|
46890
|
-
};
|
|
46891
|
-
var convertFromPagePoint = (point2, element,) => {
|
|
46892
|
-
const frame2 = getPageFrame(element,);
|
|
46893
|
-
return {
|
|
46894
|
-
x: point2.x - frame2.x,
|
|
46895
|
-
y: point2.y - frame2.y,
|
|
46896
|
-
};
|
|
46897
|
-
};
|
|
46898
|
-
var dispatchKeyDownEvent = (keyCode, options = {},) => {
|
|
46899
|
-
const keyboardEvent = new KeyboardEvent('keydown', {
|
|
46900
|
-
bubbles: true,
|
|
46901
|
-
keyCode,
|
|
46902
|
-
...options,
|
|
46903
|
-
},);
|
|
46904
|
-
const activeElement = document.activeElement;
|
|
46905
|
-
if (activeElement) {
|
|
46906
|
-
activeElement.dispatchEvent(keyboardEvent,);
|
|
46907
|
-
}
|
|
46908
|
-
};
|
|
46909
|
-
var DOM = {
|
|
46910
|
-
frameFromElement,
|
|
46911
|
-
frameFromElements,
|
|
46912
|
-
convertToPageFrame,
|
|
46913
|
-
convertFromPageFrame,
|
|
46914
|
-
getPageFrame,
|
|
46915
|
-
fromEventForPage,
|
|
46916
|
-
fromEventForClient,
|
|
46917
|
-
convertToPagePoint,
|
|
46918
|
-
convertFromPagePoint,
|
|
46919
|
-
};
|
|
46920
|
-
var parser;
|
|
46921
|
-
var supportsNativeParseHTML = /* @__PURE__ */ (() =>
|
|
46922
|
-
// Firefox has rare-random issues with the native parser: https://framer-team.slack.com/archives/C01B14R6E22/p1724159313153969
|
|
46923
|
-
!isFirefox() && typeof Document !== 'undefined' && typeof Document.parseHTMLUnsafe === 'function')();
|
|
46924
|
-
function domParser(html, type,) {
|
|
46925
|
-
if (supportsNativeParseHTML && !type) return Document.parseHTMLUnsafe(html,);
|
|
46926
|
-
parser ??= new DOMParser();
|
|
46927
|
-
return parser.parseFromString(html, type ?? 'text/html',);
|
|
46928
|
-
}
|
|
46929
47241
|
var useDOM = /* @__PURE__ */ isBrowser2();
|
|
46930
47242
|
var SharedSVGEntry = class {
|
|
46931
47243
|
constructor(id3, svg, innerHTML, viewBox, count = 0,) {
|
|
@@ -48392,7 +48704,6 @@ var Vector = /* @__PURE__ */ (() => {
|
|
|
48392
48704
|
strokeWidth,
|
|
48393
48705
|
idAttribute,
|
|
48394
48706
|
shadows,
|
|
48395
|
-
strokeAlpha,
|
|
48396
48707
|
name,
|
|
48397
48708
|
includeTransform,
|
|
48398
48709
|
isRootVectorNode,
|
|
@@ -48511,7 +48822,8 @@ var Vector = /* @__PURE__ */ (() => {
|
|
|
48511
48822
|
// can be larger than the path bounding box.
|
|
48512
48823
|
calculatedPathBoundingBox,
|
|
48513
48824
|
internalShapeId,
|
|
48514
|
-
|
|
48825
|
+
Boolean(fill,),
|
|
48826
|
+
strokeEnabled,
|
|
48515
48827
|
strokeWidth,
|
|
48516
48828
|
internalStrokeClipId,
|
|
48517
48829
|
svgStrokeAttributes,
|
|
@@ -49105,8 +49417,8 @@ var package_default = {
|
|
|
49105
49417
|
scripts: {
|
|
49106
49418
|
coverage: 'yarn :jest --coverage',
|
|
49107
49419
|
lint: 'yarn :eslint ./src --ext .ts,.tsx --format codeframe --quiet --cache',
|
|
49108
|
-
'lint:ci': 'yarn
|
|
49109
|
-
'lint:fix': 'yarn lint --fix
|
|
49420
|
+
'lint:ci': 'yarn lint --cache-strategy content --cache-location $HOME/.cache/eslint/framer-library',
|
|
49421
|
+
'lint:fix': 'yarn lint --fix',
|
|
49110
49422
|
test: 'yarn :jest',
|
|
49111
49423
|
watch: 'yarn :jest --watch',
|
|
49112
49424
|
postinstall: 'node postinstall.cjs',
|
|
@@ -49517,6 +49829,7 @@ export {
|
|
|
49517
49829
|
removeHiddenBreakpointLayersV2,
|
|
49518
49830
|
removeItem,
|
|
49519
49831
|
RenderTarget,
|
|
49832
|
+
resize,
|
|
49520
49833
|
resolveElements,
|
|
49521
49834
|
resolveLink,
|
|
49522
49835
|
ResolveLinks,
|
|
@@ -49525,7 +49838,7 @@ export {
|
|
|
49525
49838
|
reverseEasing,
|
|
49526
49839
|
rgba,
|
|
49527
49840
|
rgbUnit,
|
|
49528
|
-
|
|
49841
|
+
RichText,
|
|
49529
49842
|
roundedNumber,
|
|
49530
49843
|
roundedNumberString,
|
|
49531
49844
|
roundWithOffset,
|
|
@@ -49630,6 +49943,7 @@ export {
|
|
|
49630
49943
|
useLocalesForCurrentRoute,
|
|
49631
49944
|
useLocalizationInfo,
|
|
49632
49945
|
useMeasureLayout,
|
|
49946
|
+
useMetadata,
|
|
49633
49947
|
useMotionTemplate,
|
|
49634
49948
|
useMotionValue,
|
|
49635
49949
|
useMotionValueEvent,
|