unframer 3.0.6 → 3.2.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/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -1
- package/dist/exporter.d.ts +3 -2
- package/dist/exporter.d.ts.map +1 -1
- package/dist/exporter.js +45 -23
- package/dist/exporter.js.map +1 -1
- package/dist/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.d.ts +634 -0
- package/dist/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.d.ts.map +1 -0
- package/dist/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js +8 -0
- package/dist/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js.map +1 -0
- package/dist/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.d.ts +115 -0
- package/dist/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.d.ts.map +1 -0
- package/dist/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js +8 -0
- package/dist/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js.map +1 -0
- package/dist/framer-chunks/fontshare-Y53BJZLK-EUQIV252.d.ts +781 -0
- package/dist/framer-chunks/fontshare-Y53BJZLK-EUQIV252.d.ts.map +1 -0
- package/dist/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js +8 -0
- package/dist/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js.map +1 -0
- package/dist/framer-chunks/google-2KFYDWCN-PJC2DDXK.d.ts +1566 -0
- package/dist/framer-chunks/google-2KFYDWCN-PJC2DDXK.d.ts.map +1 -0
- package/dist/framer-chunks/google-2KFYDWCN-PJC2DDXK.js +8 -0
- package/dist/framer-chunks/google-2KFYDWCN-PJC2DDXK.js.map +1 -0
- package/dist/framer-chunks/google-HSMCYMMG-DWNQGSHN.d.ts +10293 -0
- package/dist/framer-chunks/google-HSMCYMMG-DWNQGSHN.d.ts.map +1 -0
- package/dist/framer-chunks/google-HSMCYMMG-DWNQGSHN.js +8 -0
- package/dist/framer-chunks/google-HSMCYMMG-DWNQGSHN.js.map +1 -0
- package/dist/framer-chunks/google-S367OFIE-AWJEPMSF.d.ts +3588 -0
- package/dist/framer-chunks/google-S367OFIE-AWJEPMSF.d.ts.map +1 -0
- package/dist/framer-chunks/google-S367OFIE-AWJEPMSF.js +8 -0
- package/dist/framer-chunks/google-S367OFIE-AWJEPMSF.js.map +1 -0
- package/dist/framer.js +282 -103
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +21 -16
- package/dist/react.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/cli.d.ts.map +1 -1
- package/esm/cli.js +3 -0
- package/esm/cli.js.map +1 -1
- package/esm/exporter.d.ts +2 -1
- package/esm/exporter.d.ts.map +1 -1
- package/esm/exporter.js +46 -24
- package/esm/exporter.js.map +1 -1
- package/esm/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.d.ts +634 -0
- package/esm/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js +5 -0
- package/esm/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js.map +1 -0
- package/esm/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.d.ts +115 -0
- package/esm/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js +5 -0
- package/esm/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js.map +1 -0
- package/esm/framer-chunks/fontshare-Y53BJZLK-EUQIV252.d.ts +781 -0
- package/esm/framer-chunks/fontshare-Y53BJZLK-EUQIV252.d.ts.map +1 -0
- package/esm/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js +5 -0
- package/esm/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js.map +1 -0
- package/esm/framer-chunks/google-2KFYDWCN-PJC2DDXK.d.ts +1566 -0
- package/esm/framer-chunks/google-2KFYDWCN-PJC2DDXK.d.ts.map +1 -0
- package/esm/framer-chunks/google-2KFYDWCN-PJC2DDXK.js +5 -0
- package/esm/framer-chunks/google-2KFYDWCN-PJC2DDXK.js.map +1 -0
- package/esm/framer-chunks/google-HSMCYMMG-DWNQGSHN.d.ts +10293 -0
- package/esm/framer-chunks/google-HSMCYMMG-DWNQGSHN.d.ts.map +1 -0
- package/esm/framer-chunks/google-HSMCYMMG-DWNQGSHN.js +5 -0
- package/esm/framer-chunks/google-HSMCYMMG-DWNQGSHN.js.map +1 -0
- package/esm/framer-chunks/google-S367OFIE-AWJEPMSF.d.ts +3588 -0
- package/esm/framer-chunks/google-S367OFIE-AWJEPMSF.d.ts.map +1 -0
- package/esm/framer-chunks/google-S367OFIE-AWJEPMSF.js +5 -0
- package/esm/framer-chunks/google-S367OFIE-AWJEPMSF.js.map +1 -0
- package/esm/framer.js +281 -102
- package/esm/react.d.ts.map +1 -1
- package/esm/react.js +21 -16
- package/esm/react.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +2 -2
- package/src/cli.ts +3 -0
- package/src/exporter.ts +61 -23
- package/src/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js +7 -0
- package/src/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js +7 -0
- package/src/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js +7 -0
- package/src/framer-chunks/google-2KFYDWCN-PJC2DDXK.js +7 -0
- package/src/framer-chunks/google-HSMCYMMG-DWNQGSHN.js +7 -0
- package/src/framer-chunks/google-S367OFIE-AWJEPMSF.js +7 -0
- package/src/framer.js +291 -104
- package/src/react.tsx +52 -16
- package/src/styles/framer.css +52 -1
- package/src/version.ts +1 -1
package/esm/framer.js
CHANGED
|
@@ -10499,7 +10499,7 @@ function stagger(duration = 0.1, { startDelay = 0, from = 0, ease: ease2, } = {}
|
|
|
10499
10499
|
return startDelay + delay2;
|
|
10500
10500
|
};
|
|
10501
10501
|
}
|
|
10502
|
-
// /:https://app.framerstatic.com/framer.
|
|
10502
|
+
// /:https://app.framerstatic.com/framer.UWLYDHV3.mjs
|
|
10503
10503
|
import { lazy as ReactLazy, } from 'react';
|
|
10504
10504
|
import React4 from 'react';
|
|
10505
10505
|
import { startTransition as startTransition2, } from 'react';
|
|
@@ -11971,33 +11971,10 @@ function useRouteHandler(routeId, preload = false, elementId) {
|
|
|
11971
11971
|
const handler = React4.useCallback(() => navigate == null ? void 0 : navigate(routeId, elementId), [navigate, elementId, routeId,]);
|
|
11972
11972
|
return handler;
|
|
11973
11973
|
}
|
|
11974
|
-
var
|
|
11975
|
-
var visitorLocale;
|
|
11976
|
-
function setTimezoneAndLocaleForTracking() {
|
|
11977
|
-
const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions();
|
|
11978
|
-
timezone = resolvedDateTimeOptions.timeZone;
|
|
11979
|
-
visitorLocale = resolvedDateTimeOptions.locale;
|
|
11980
|
-
}
|
|
11981
|
-
requestIdleCallback(setTimezoneAndLocaleForTracking);
|
|
11974
|
+
var pageviewEventVersion = 2;
|
|
11982
11975
|
function sendTrackingEvent(eventType, eventData, sendOn = 'lazy') {
|
|
11983
|
-
|
|
11984
|
-
|
|
11985
|
-
if (!timezone || !visitorLocale)
|
|
11986
|
-
setTimezoneAndLocaleForTracking();
|
|
11987
|
-
safeWindow.__framer_events.push([eventType, {
|
|
11988
|
-
// Base properties common to all events
|
|
11989
|
-
referrer: null,
|
|
11990
|
-
// The first pageview event will always be sent before hydration, in a script in `exportToHTML.ts`.
|
|
11991
|
-
url: safeWindow.location.href,
|
|
11992
|
-
hostname: safeWindow.location.hostname || null,
|
|
11993
|
-
pathname: safeWindow.location.pathname || null,
|
|
11994
|
-
hash: safeWindow.location.hash || null,
|
|
11995
|
-
search: safeWindow.location.search || null,
|
|
11996
|
-
timezone,
|
|
11997
|
-
locale: visitorLocale,
|
|
11998
|
-
// Additional properties specific to custom events
|
|
11999
|
-
...eventData,
|
|
12000
|
-
}, sendOn,]);
|
|
11976
|
+
var _a;
|
|
11977
|
+
(_a = safeWindow.__framer_events) == null ? void 0 : _a.push([eventType, eventData, sendOn,]);
|
|
12001
11978
|
switch (eventType) {
|
|
12002
11979
|
case 'published_site_click': {
|
|
12003
11980
|
const { trackingId, href, } = eventData;
|
|
@@ -12901,7 +12878,7 @@ function usePopStateHandler(currentRouteId, setCurrentRouteId) {
|
|
|
12901
12878
|
const stopMonitoringINPRelatedInputs = monitorINPRelatedInputs();
|
|
12902
12879
|
void nextRender.promise.finally(stopMonitoringINPRelatedInputs);
|
|
12903
12880
|
const changeRoute = () => {
|
|
12904
|
-
setCurrentRouteId(routeId, isString(localeId) ? localeId : void 0, isString(hash2) ? hash2 : void 0, isObject2(pathVariables) ? pathVariables : void 0, true, nextRender, false);
|
|
12881
|
+
setCurrentRouteId(routeId, isString(localeId) ? localeId : void 0, isString(hash2) ? hash2 : void 0, window.location.pathname + window.location.search + window.location.hash, isObject2(pathVariables) ? pathVariables : void 0, true, nextRender, false);
|
|
12905
12882
|
};
|
|
12906
12883
|
const viewTransition = await startViewTransition2(currentRouteId.current, routeId, changeRoute);
|
|
12907
12884
|
const navigationTransition = (_d = window.navigation) == null ? void 0 : _d.transition;
|
|
@@ -15708,6 +15685,14 @@ var P3Color = class _P3Color {
|
|
|
15708
15685
|
return color2;
|
|
15709
15686
|
return value.toString('srgb');
|
|
15710
15687
|
}
|
|
15688
|
+
static multiplyAlpha(color2, alpha2) {
|
|
15689
|
+
return new _P3Color({
|
|
15690
|
+
r: color2.r,
|
|
15691
|
+
g: color2.g,
|
|
15692
|
+
b: color2.b,
|
|
15693
|
+
a: color2.a * alpha2,
|
|
15694
|
+
});
|
|
15695
|
+
}
|
|
15711
15696
|
};
|
|
15712
15697
|
function clampRGB(color2) {
|
|
15713
15698
|
return P3Color.srgbFromValue(color2);
|
|
@@ -18367,8 +18352,14 @@ var DimensionType = /* @__PURE__ */ ((DimensionType2) => {
|
|
|
18367
18352
|
DimensionType2[DimensionType2['Auto'] = 2] = 'Auto';
|
|
18368
18353
|
DimensionType2[DimensionType2['FractionOfFreeSpace'] = 3] = 'FractionOfFreeSpace';
|
|
18369
18354
|
DimensionType2[DimensionType2['Viewport'] = 4] = 'Viewport';
|
|
18355
|
+
DimensionType2[DimensionType2['FitImage'] = 5] = 'FitImage';
|
|
18370
18356
|
return DimensionType2;
|
|
18371
18357
|
})(DimensionType || {});
|
|
18358
|
+
function isAutoDimensionType(dimensionType) {
|
|
18359
|
+
if (isUndefined(dimensionType))
|
|
18360
|
+
return false;
|
|
18361
|
+
return dimensionType === 2 || dimensionType === 5;
|
|
18362
|
+
}
|
|
18372
18363
|
function isConstraintSupportingChild(child) {
|
|
18373
18364
|
if (!isReactChild(child) || !isReactElement(child)) {
|
|
18374
18365
|
return false;
|
|
@@ -18379,7 +18370,7 @@ var ConstraintMask = {
|
|
|
18379
18370
|
// Modifies the constraint mask to remove invalid (mutually exclusive) options and returns the original.
|
|
18380
18371
|
// TODO: this removes major inconsistencies but probably needs to be merged with ConstraintSolver.
|
|
18381
18372
|
quickfix: (constraints) => {
|
|
18382
|
-
if (constraints.widthType
|
|
18373
|
+
if (isAutoDimensionType(constraints.widthType) || isAutoDimensionType(constraints.heightType)) {
|
|
18383
18374
|
constraints.aspectRatio = null;
|
|
18384
18375
|
}
|
|
18385
18376
|
if (isFiniteNumber(constraints.aspectRatio)) {
|
|
@@ -18397,13 +18388,13 @@ var ConstraintMask = {
|
|
|
18397
18388
|
}
|
|
18398
18389
|
}
|
|
18399
18390
|
if (constraints.left && constraints.right) {
|
|
18400
|
-
if (constraints.fixedSize || constraints.widthType
|
|
18391
|
+
if (constraints.fixedSize || isAutoDimensionType(constraints.widthType) || isFiniteNumber(constraints.maxWidth)) {
|
|
18401
18392
|
constraints.right = false;
|
|
18402
18393
|
}
|
|
18403
18394
|
constraints.widthType = 0;
|
|
18404
18395
|
}
|
|
18405
18396
|
if (constraints.top && constraints.bottom) {
|
|
18406
|
-
if (constraints.fixedSize || constraints.heightType
|
|
18397
|
+
if (constraints.fixedSize || isAutoDimensionType(constraints.heightType) || isFiniteNumber(constraints.maxHeight)) {
|
|
18407
18398
|
constraints.bottom = false;
|
|
18408
18399
|
}
|
|
18409
18400
|
constraints.heightType = 0;
|
|
@@ -18512,7 +18503,7 @@ var ConstraintValues = {
|
|
|
18512
18503
|
if (parentWidth && isFiniteNumber(hOpposingPinsOffset)) {
|
|
18513
18504
|
width = parentWidth - hOpposingPinsOffset;
|
|
18514
18505
|
}
|
|
18515
|
-
else if (autoSize && values.widthType
|
|
18506
|
+
else if (autoSize && isAutoDimensionType(values.widthType)) {
|
|
18516
18507
|
width = autoSize.width;
|
|
18517
18508
|
}
|
|
18518
18509
|
else if (isFiniteNumber(values.width)) {
|
|
@@ -18530,6 +18521,7 @@ var ConstraintValues = {
|
|
|
18530
18521
|
}
|
|
18531
18522
|
break;
|
|
18532
18523
|
case 2:
|
|
18524
|
+
case 5:
|
|
18533
18525
|
break;
|
|
18534
18526
|
default:
|
|
18535
18527
|
assertNever(values.widthType);
|
|
@@ -18539,7 +18531,7 @@ var ConstraintValues = {
|
|
|
18539
18531
|
if (parentHeight && isFiniteNumber(vOpposingPinsOffset)) {
|
|
18540
18532
|
height = parentHeight - vOpposingPinsOffset;
|
|
18541
18533
|
}
|
|
18542
|
-
else if (autoSize && values.heightType
|
|
18534
|
+
else if (autoSize && isAutoDimensionType(values.heightType)) {
|
|
18543
18535
|
height = autoSize.height;
|
|
18544
18536
|
}
|
|
18545
18537
|
else if (isFiniteNumber(values.height)) {
|
|
@@ -18557,6 +18549,7 @@ var ConstraintValues = {
|
|
|
18557
18549
|
}
|
|
18558
18550
|
break;
|
|
18559
18551
|
case 2:
|
|
18552
|
+
case 5:
|
|
18560
18553
|
break;
|
|
18561
18554
|
default:
|
|
18562
18555
|
assertNever(values.heightType);
|
|
@@ -19429,6 +19422,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19429
19422
|
li.framer-text,
|
|
19430
19423
|
ol.framer-text,
|
|
19431
19424
|
ul.framer-text,
|
|
19425
|
+
mark.framer-text,
|
|
19432
19426
|
span.framer-text:not([data-text-fill]) {
|
|
19433
19427
|
font-family: var(--framer-blockquote-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif));
|
|
19434
19428
|
font-style: var(--framer-blockquote-font-style, var(--framer-font-style, normal));
|
|
@@ -19454,6 +19448,24 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19454
19448
|
text-wrap: var(--framer-text-wrap-override, var(--framer-text-wrap));
|
|
19455
19449
|
}
|
|
19456
19450
|
`, /* css */
|
|
19451
|
+
`
|
|
19452
|
+
mark.framer-text,
|
|
19453
|
+
p.framer-text,
|
|
19454
|
+
div.framer-text,
|
|
19455
|
+
h1.framer-text,
|
|
19456
|
+
h2.framer-text,
|
|
19457
|
+
h3.framer-text,
|
|
19458
|
+
h4.framer-text,
|
|
19459
|
+
h5.framer-text,
|
|
19460
|
+
h6.framer-text,
|
|
19461
|
+
li.framer-text,
|
|
19462
|
+
ol.framer-text,
|
|
19463
|
+
ul.framer-text {
|
|
19464
|
+
background-color: var(--framer-blockquote-text-background-color, var(--framer-text-background-color, initial));
|
|
19465
|
+
border-radius: var(--framer-blockquote-text-background-radius, var(--framer-text-background-radius, initial));
|
|
19466
|
+
padding: var(--framer-blockquote-text-background-padding, var(--framer-text-background-padding, initial));
|
|
19467
|
+
}
|
|
19468
|
+
`, /* css */
|
|
19457
19469
|
`
|
|
19458
19470
|
@supports not (color: color(display-p3 1 1 1)) {
|
|
19459
19471
|
p.framer-text,
|
|
@@ -19471,6 +19483,10 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19471
19483
|
color: ${createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-text-color',], '#000')};
|
|
19472
19484
|
-webkit-text-stroke-color: ${createRGBVariableFallbacks(['--framer-text-stroke-color',], 'initial')};
|
|
19473
19485
|
}
|
|
19486
|
+
|
|
19487
|
+
mark.framer-text {
|
|
19488
|
+
background-color: ${createRGBVariableFallbacks(['--framer-blockquote-text-background-color', '--framer-text-background-color',], 'initial')};
|
|
19489
|
+
}
|
|
19474
19490
|
}
|
|
19475
19491
|
`, /* css */
|
|
19476
19492
|
`
|
|
@@ -19593,6 +19609,10 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19593
19609
|
text-transform: var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
|
|
19594
19610
|
/* Cursor inherit to overwrite the user agent stylesheet on rich text links. */
|
|
19595
19611
|
cursor: var(--framer-custom-cursors, pointer);
|
|
19612
|
+
/* Don't inherit background styles from any parent text style. */
|
|
19613
|
+
background-color: var(--framer-link-text-background-color, initial);
|
|
19614
|
+
border-radius: var(--framer-link-text-background-radius, initial);
|
|
19615
|
+
padding: var(--framer-link-text-background-padding, initial);
|
|
19596
19616
|
}
|
|
19597
19617
|
`,
|
|
19598
19618
|
// Text decoration can't be applied to the nested spans of links because it breaks animations
|
|
@@ -19615,6 +19635,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19615
19635
|
span.framer-text[data-nested-link],
|
|
19616
19636
|
span.framer-text[data-nested-link] span.framer-text:not([data-text-fill]) {
|
|
19617
19637
|
color: ${createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-link-text-color', '--framer-text-color',], '#000')};
|
|
19638
|
+
background-color: ${createRGBVariableFallbacks(['--framer-link-text-background-color',], 'initial')};
|
|
19618
19639
|
}
|
|
19619
19640
|
}
|
|
19620
19641
|
`, /* css */
|
|
@@ -19656,6 +19677,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19656
19677
|
color: var(--framer-link-hover-text-color, var(--framer-blockquote-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
|
|
19657
19678
|
font-size: calc(var(--framer-link-hover-font-size, var(--framer-blockquote-font-size, var(--framer-font-size, 16px))) * var(--framer-font-size-scale, 1));
|
|
19658
19679
|
text-transform: var(--framer-link-hover-text-transform, var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
|
|
19680
|
+
background-color: var(--framer-link-hover-text-background-color, var(--framer-link-text-background-color, var(--framer-text-background-color, initial)));
|
|
19681
|
+
border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-text-background-radius, var(--framer-text-background-radius, initial)));
|
|
19682
|
+
padding: var(--framer-link-hover-text-background-padding, var(--framer-link-text-background-padding, var(--framer-text-background-padding, initial)));
|
|
19659
19683
|
}
|
|
19660
19684
|
`, /* css */
|
|
19661
19685
|
`
|
|
@@ -19681,6 +19705,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19681
19705
|
'--framer-link-text-color',
|
|
19682
19706
|
'--framer-text-color',
|
|
19683
19707
|
], '#000')};
|
|
19708
|
+
background-color: ${createRGBVariableFallbacks([
|
|
19709
|
+
'--framer-link-hover-text-background-color',
|
|
19710
|
+
'--framer-link-text-background-color',
|
|
19711
|
+
'--framer-text-background-color',
|
|
19712
|
+
], 'initial')};
|
|
19684
19713
|
}
|
|
19685
19714
|
}
|
|
19686
19715
|
`, /* css */
|
|
@@ -19722,6 +19751,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19722
19751
|
color: var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000)));
|
|
19723
19752
|
font-size: calc(var(--framer-link-current-font-size, var(--framer-link-font-size, var(--framer-font-size, 16px))) * var(--framer-font-size-scale, 1));
|
|
19724
19753
|
text-transform: var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
|
|
19754
|
+
background-color: var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, initial));
|
|
19755
|
+
border-radius: var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, initial));
|
|
19756
|
+
padding: var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, initial));
|
|
19725
19757
|
}
|
|
19726
19758
|
`, /* css */
|
|
19727
19759
|
`
|
|
@@ -19742,6 +19774,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19742
19774
|
span.framer-text[data-framer-page-link-current],
|
|
19743
19775
|
span.framer-text[data-framer-page-link-current] span.framer-text:not([data-text-fill]) {
|
|
19744
19776
|
color: ${createRGBVariableFallbacks(['--framer-link-current-text-color', '--framer-link-text-color', '--framer-text-color',], '#000')};
|
|
19777
|
+
background-color: ${createRGBVariableFallbacks([
|
|
19778
|
+
'--framer-link-current-text-background-color',
|
|
19779
|
+
'--framer-link-text-background-color',
|
|
19780
|
+
'--framer-text-background-color',
|
|
19781
|
+
], 'initial')};
|
|
19745
19782
|
}
|
|
19746
19783
|
}
|
|
19747
19784
|
`, /* css */
|
|
@@ -19769,6 +19806,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19769
19806
|
'--framer-code-text-color',
|
|
19770
19807
|
'--framer-text-color',
|
|
19771
19808
|
], '#000')};
|
|
19809
|
+
background-color: ${createRGBVariableFallbacks([
|
|
19810
|
+
'--framer-link-current-text-background-color',
|
|
19811
|
+
'--framer-link-text-background-color',
|
|
19812
|
+
'--framer-text-background-color',
|
|
19813
|
+
], 'initial')};
|
|
19772
19814
|
}
|
|
19773
19815
|
}
|
|
19774
19816
|
`, /* css */
|
|
@@ -19783,6 +19825,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19783
19825
|
color: var(--framer-link-hover-text-color, var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
|
|
19784
19826
|
font-size: calc(var(--framer-link-hover-font-size, var(--framer-link-current-font-size, var(--framer-link-font-size, var(--framer-font-size, 16px)))) * var(--framer-font-size-scale, 1));
|
|
19785
19827
|
text-transform: var(--framer-link-hover-text-transform, var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
|
|
19828
|
+
background-color: var(--framer-link-hover-text-background-color, var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, initial)));
|
|
19829
|
+
border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, initial)));
|
|
19830
|
+
padding: var(--framer-link-hover-text-background-padding, var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, initial)));
|
|
19786
19831
|
}
|
|
19787
19832
|
`, /* css */
|
|
19788
19833
|
`
|
|
@@ -19809,6 +19854,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19809
19854
|
'--framer-code-text-color',
|
|
19810
19855
|
'--framer-text-color',
|
|
19811
19856
|
], '#000')};
|
|
19857
|
+
background-color: ${createRGBVariableFallbacks([
|
|
19858
|
+
'--framer-link-hover-text-background-color',
|
|
19859
|
+
'--framer-link-current-text-background-color',
|
|
19860
|
+
'--framer-link-text-background-color',
|
|
19861
|
+
], 'initial')};
|
|
19812
19862
|
}
|
|
19813
19863
|
}
|
|
19814
19864
|
`, /* css */
|
|
@@ -19822,6 +19872,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19822
19872
|
font-weight: var(--framer-code-font-weight, var(--framer-font-weight, 400));
|
|
19823
19873
|
color: var(--framer-link-hover-text-color, var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-code-text-color, var(--framer-text-color, #000)))));
|
|
19824
19874
|
font-size: calc(var(--framer-link-hover-font-size, var(--framer-link-current-font-size, var(--framer-link-font-size, var(--framer-font-size, 16px)))) * var(--framer-font-size-scale, 1));
|
|
19875
|
+
background-color: var(--framer-link-hover-text-background-color, var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, var(--framer-text-background-color, initial))));
|
|
19876
|
+
border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, var(--framer-text-background-radius, initial))));
|
|
19877
|
+
padding: var(--framer-link-hover-text-background-padding, var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, var(--framer-text-background-padding, initial))));
|
|
19825
19878
|
}
|
|
19826
19879
|
`, /* css */
|
|
19827
19880
|
`
|
|
@@ -19837,6 +19890,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19837
19890
|
'--framer-code-text-color',
|
|
19838
19891
|
'--framer-text-color',
|
|
19839
19892
|
], '#000')};
|
|
19893
|
+
background-color: ${createRGBVariableFallbacks([
|
|
19894
|
+
'--framer-link-hover-text-background-color',
|
|
19895
|
+
'--framer-link-current-text-background-color',
|
|
19896
|
+
'--framer-link-text-background-color',
|
|
19897
|
+
], 'initial')};
|
|
19840
19898
|
}
|
|
19841
19899
|
}
|
|
19842
19900
|
`, /* css */
|
|
@@ -19865,6 +19923,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19865
19923
|
--framer-line-height: 1.2em;
|
|
19866
19924
|
--framer-text-alignment: start;
|
|
19867
19925
|
--framer-font-open-type-features: normal;
|
|
19926
|
+
--framer-text-background-color: initial;
|
|
19927
|
+
--framer-text-background-radius: initial;
|
|
19928
|
+
--framer-text-background-padding: initial;
|
|
19868
19929
|
}
|
|
19869
19930
|
`, /* css */
|
|
19870
19931
|
`
|
|
@@ -20318,6 +20379,10 @@ var frameCSSRules = (isPreview) => {
|
|
|
20318
20379
|
return isPreview ? frameCSS : [];
|
|
20319
20380
|
};
|
|
20320
20381
|
var svgCSSRules = [`.svgContainer svg { display: block; }`,];
|
|
20382
|
+
var overflowClipFallbackCSSVariable = '--overflow-clip-fallback';
|
|
20383
|
+
var overflowClipFallbackCSSRules = /* @__PURE__ */ (() => [`@supports (not (overflow: clip)) {
|
|
20384
|
+
:root { ${overflowClipFallbackCSSVariable}: hidden; }
|
|
20385
|
+
}`,])();
|
|
20321
20386
|
var combineCSSRules = (isPreview) => [
|
|
20322
20387
|
...willChangeTransformRules(isPreview),
|
|
20323
20388
|
...componentCSSRules,
|
|
@@ -20336,6 +20401,7 @@ var combineCSSRules = (isPreview) => [
|
|
|
20336
20401
|
...svgCSSRules,
|
|
20337
20402
|
...resetCSS,
|
|
20338
20403
|
...hideScrollbars,
|
|
20404
|
+
...overflowClipFallbackCSSRules,
|
|
20339
20405
|
];
|
|
20340
20406
|
export var combinedCSSRules = /* @__PURE__ */ combineCSSRules(false);
|
|
20341
20407
|
var combinedCSSRulesForPreview = /* @__PURE__ */ combineCSSRules(true);
|
|
@@ -22049,13 +22115,6 @@ var reactPropsRegex = /^(?:children|dangerouslySetInnerHTML|key|ref|autoFocus|de
|
|
|
22049
22115
|
var isPropValid = /* @__PURE__ */ memoize((prop) => reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91
|
|
22050
22116
|
/* Z+1 */
|
|
22051
22117
|
);
|
|
22052
|
-
var LibraryFeaturesContext = /* @__PURE__ */ React4.createContext(void 0);
|
|
22053
|
-
LibraryFeaturesContext.displayName = 'LibraryFeaturesContext';
|
|
22054
|
-
var LibraryFeaturesProvider = /* @__PURE__ */ (() => LibraryFeaturesContext.Provider)();
|
|
22055
|
-
var useLibraryFeatures = () => {
|
|
22056
|
-
const context = React4.useContext(LibraryFeaturesContext);
|
|
22057
|
-
return context ?? {};
|
|
22058
|
-
};
|
|
22059
22118
|
var mockWithWarning = (message) => {
|
|
22060
22119
|
return () => {
|
|
22061
22120
|
warnOnce2(message);
|
|
@@ -22085,6 +22144,7 @@ var implementation = {
|
|
|
22085
22144
|
canRenderOptimizedCanvasImage() {
|
|
22086
22145
|
return false;
|
|
22087
22146
|
},
|
|
22147
|
+
isOnPageCanvas: false,
|
|
22088
22148
|
};
|
|
22089
22149
|
var isRuntimeInjected = false;
|
|
22090
22150
|
var runtimeProxy = {
|
|
@@ -22106,6 +22166,13 @@ function _injectRuntime(injectedRuntime) {
|
|
|
22106
22166
|
Object.assign(implementation, injectedRuntime);
|
|
22107
22167
|
isRuntimeInjected = true;
|
|
22108
22168
|
}
|
|
22169
|
+
var LibraryFeaturesContext = /* @__PURE__ */ React4.createContext(void 0);
|
|
22170
|
+
LibraryFeaturesContext.displayName = 'LibraryFeaturesContext';
|
|
22171
|
+
var LibraryFeaturesProvider = /* @__PURE__ */ (() => LibraryFeaturesContext.Provider)();
|
|
22172
|
+
var useLibraryFeatures = () => {
|
|
22173
|
+
const context = React4.useContext(LibraryFeaturesContext);
|
|
22174
|
+
return context ?? {};
|
|
22175
|
+
};
|
|
22109
22176
|
var wrapperStyle = {
|
|
22110
22177
|
position: 'absolute',
|
|
22111
22178
|
borderRadius: 'inherit',
|
|
@@ -22347,7 +22414,7 @@ var BackgroundImage = {
|
|
|
22347
22414
|
isImageObject: function (image) {
|
|
22348
22415
|
if (!image || typeof image === 'string')
|
|
22349
22416
|
return false;
|
|
22350
|
-
return key in image;
|
|
22417
|
+
return typeof image === 'object' && key in image;
|
|
22351
22418
|
},
|
|
22352
22419
|
};
|
|
22353
22420
|
function applyForwardOverrides(background, props) {
|
|
@@ -22382,6 +22449,31 @@ function backgroundImageFromProps(props) {
|
|
|
22382
22449
|
}
|
|
22383
22450
|
return applyForwardOverrides(backgroundImage, props);
|
|
22384
22451
|
}
|
|
22452
|
+
function getIntrinsicSizeForBackgroundImage(background) {
|
|
22453
|
+
if (!background)
|
|
22454
|
+
return void 0;
|
|
22455
|
+
if (background.pixelHeight && background.pixelWidth) {
|
|
22456
|
+
return {
|
|
22457
|
+
width: background.pixelWidth,
|
|
22458
|
+
height: background.pixelHeight,
|
|
22459
|
+
};
|
|
22460
|
+
}
|
|
22461
|
+
return parseImageSizeFromSrc(background.src);
|
|
22462
|
+
}
|
|
22463
|
+
function parseImageSizeFromSrc(src) {
|
|
22464
|
+
if (!src)
|
|
22465
|
+
return void 0;
|
|
22466
|
+
const url = new URL(src);
|
|
22467
|
+
const width = url.searchParams.get('width');
|
|
22468
|
+
const height = url.searchParams.get('height');
|
|
22469
|
+
if (width && height) {
|
|
22470
|
+
return {
|
|
22471
|
+
width: parseInt(width),
|
|
22472
|
+
height: parseInt(height),
|
|
22473
|
+
};
|
|
22474
|
+
}
|
|
22475
|
+
return void 0;
|
|
22476
|
+
}
|
|
22385
22477
|
function htmlElementAsMotionComponent(asElem) {
|
|
22386
22478
|
return asElem && asElem !== 'search' && asElem !== 'slot' && asElem !== 'template' ? motion[asElem] : motion['div'];
|
|
22387
22479
|
}
|
|
@@ -23368,7 +23460,7 @@ function useStyleAndRect(props) {
|
|
|
23368
23460
|
}
|
|
23369
23461
|
const isRenderingStaticContent = isStaticRenderer();
|
|
23370
23462
|
if (props.positionSticky) {
|
|
23371
|
-
if (!isRenderingStaticContent || inCodeComponent) {
|
|
23463
|
+
if (!isRenderingStaticContent || runtime.isOnPageCanvas || inCodeComponent) {
|
|
23372
23464
|
resultStyle.position = 'sticky';
|
|
23373
23465
|
resultStyle.willChange = 'transform';
|
|
23374
23466
|
resultStyle.zIndex = 1;
|
|
@@ -23378,8 +23470,13 @@ function useStyleAndRect(props) {
|
|
|
23378
23470
|
resultStyle.left = props.positionStickyLeft;
|
|
23379
23471
|
}
|
|
23380
23472
|
}
|
|
23381
|
-
else if (isRenderingStaticContent
|
|
23382
|
-
|
|
23473
|
+
else if (isRenderingStaticContent) {
|
|
23474
|
+
if (props.positionFixed) {
|
|
23475
|
+
resultStyle.position = runtime.isOnPageCanvas ? 'fixed' : 'absolute';
|
|
23476
|
+
}
|
|
23477
|
+
else if (props.positionAbsolute) {
|
|
23478
|
+
resultStyle.position = 'absolute';
|
|
23479
|
+
}
|
|
23383
23480
|
}
|
|
23384
23481
|
if ('rotate' in resultStyle && resultStyle.rotate === void 0) {
|
|
23385
23482
|
delete resultStyle.rotate;
|
|
@@ -23484,6 +23581,11 @@ var VisibleFrame = /* @__PURE__ */ forwardRef(function VisibleFrame2(props, forw
|
|
|
23484
23581
|
],
|
|
23485
23582
|
}), parentSize);
|
|
23486
23583
|
const MotionComponent = htmlElementAsMotionComponent(props.as);
|
|
23584
|
+
const intrinsicSize = getIntrinsicSizeForBackgroundImage(backgroundImage);
|
|
23585
|
+
if (props.fitImageDimension && intrinsicSize) {
|
|
23586
|
+
currentStyle[props.fitImageDimension] = 'auto';
|
|
23587
|
+
currentStyle.aspectRatio = intrinsicSize.width / intrinsicSize.height;
|
|
23588
|
+
}
|
|
23487
23589
|
return /* @__PURE__ */ jsxs(MotionComponent, {
|
|
23488
23590
|
...dataProps,
|
|
23489
23591
|
...motionProps,
|
|
@@ -32791,15 +32893,15 @@ function domWriteCreateUpdateSafeArea(safeAreaRef) {
|
|
|
32791
32893
|
Object.assign(safeAreaRef.current.style, floatingPositionSafeAreaStyle(x, y, placement, anchorRect, calculatedRect));
|
|
32792
32894
|
};
|
|
32793
32895
|
}
|
|
32794
|
-
function domWriteUpdatePosition(floatingPositionRef, position, rect) {
|
|
32896
|
+
function domWriteUpdatePosition(floatingPositionRef, position, rect, scrollX, scrollY) {
|
|
32795
32897
|
if (!floatingPositionRef.current)
|
|
32796
32898
|
return;
|
|
32797
32899
|
Object.assign(floatingPositionRef.current.style, {
|
|
32798
32900
|
position,
|
|
32799
32901
|
visibility: 'visible',
|
|
32800
32902
|
// Append "px" because we are assigning this object straight to style.
|
|
32801
|
-
left: ((rect == null ? void 0 : rect.x) ?? 0) +
|
|
32802
|
-
top: ((rect == null ? void 0 : rect.y) ?? 0) +
|
|
32903
|
+
left: ((rect == null ? void 0 : rect.x) ?? 0) + scrollX + 'px',
|
|
32904
|
+
top: ((rect == null ? void 0 : rect.y) ?? 0) + scrollY + 'px',
|
|
32803
32905
|
});
|
|
32804
32906
|
}
|
|
32805
32907
|
var FloatingStackingContext = /* @__PURE__ */ (() => {
|
|
@@ -32926,13 +33028,14 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
|
|
|
32926
33028
|
let elementRect;
|
|
32927
33029
|
let safePlacement;
|
|
32928
33030
|
let calculatedRect;
|
|
32929
|
-
let scrolls;
|
|
32930
33031
|
let latestEvent;
|
|
32931
33032
|
let updateSafeArea;
|
|
33033
|
+
let scrollX = 0;
|
|
33034
|
+
let scrollY = 0;
|
|
32932
33035
|
const onRender = () => {
|
|
32933
33036
|
if (cleanupHasRun)
|
|
32934
33037
|
return;
|
|
32935
|
-
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect);
|
|
33038
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY);
|
|
32936
33039
|
if (safeArea)
|
|
32937
33040
|
updateSafeArea(anchorRect, calculatedRect, safePlacement, latestEvent);
|
|
32938
33041
|
latestEvent = void 0;
|
|
@@ -32943,7 +33046,7 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
|
|
|
32943
33046
|
onRender();
|
|
32944
33047
|
}
|
|
32945
33048
|
else {
|
|
32946
|
-
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect);
|
|
33049
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY);
|
|
32947
33050
|
}
|
|
32948
33051
|
initialUpdateHasRun = true;
|
|
32949
33052
|
};
|
|
@@ -32955,6 +33058,14 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
|
|
|
32955
33058
|
const domReadUpdateSafePlacementAndRect = () => {
|
|
32956
33059
|
if (!getSafePlacementRect || cleanupHasRun)
|
|
32957
33060
|
return;
|
|
33061
|
+
if (position === 'fixed') {
|
|
33062
|
+
scrollX = 0;
|
|
33063
|
+
scrollY = 0;
|
|
33064
|
+
}
|
|
33065
|
+
else {
|
|
33066
|
+
scrollX = safeWindow.scrollX;
|
|
33067
|
+
scrollY = safeWindow.scrollY;
|
|
33068
|
+
}
|
|
32958
33069
|
anchorRect = anchorRef.current.getBoundingClientRect();
|
|
32959
33070
|
const safePlacementAndRect = getSafePlacementRect(anchorRect, elementRect);
|
|
32960
33071
|
safePlacement = safePlacementAndRect[0];
|
|
@@ -34517,57 +34628,79 @@ function isSamePage(a, b) {
|
|
|
34517
34628
|
return aPathVariables.length === bPathVariables.length &&
|
|
34518
34629
|
Object.keys(aPathVariables).every((key7) => aPathVariables[key7] === bPathVariables[key7]);
|
|
34519
34630
|
}
|
|
34520
|
-
|
|
34521
|
-
|
|
34522
|
-
|
|
34523
|
-
|
|
34524
|
-
|
|
34525
|
-
|
|
34526
|
-
framerLocale: localeCode,
|
|
34527
|
-
webPageId: routeId,
|
|
34528
|
-
};
|
|
34631
|
+
var timezone = null;
|
|
34632
|
+
var visitorLocale = null;
|
|
34633
|
+
function setTimezoneAndLocaleForTracking() {
|
|
34634
|
+
const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions();
|
|
34635
|
+
timezone = resolvedDateTimeOptions.timeZone;
|
|
34636
|
+
visitorLocale = resolvedDateTimeOptions.locale;
|
|
34529
34637
|
}
|
|
34530
|
-
|
|
34638
|
+
requestIdleCallback(setTimezoneAndLocaleForTracking);
|
|
34639
|
+
var useSendPageView = (currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale) => {
|
|
34531
34640
|
const framerSiteId = useContext(FormContext);
|
|
34532
34641
|
const pageviewEventData = useRef3();
|
|
34533
34642
|
const skipFirstPageView = useRef3(true);
|
|
34534
34643
|
useEffect(() => {
|
|
34535
|
-
|
|
34536
|
-
|
|
34537
|
-
|
|
34538
|
-
|
|
34539
|
-
|
|
34540
|
-
|
|
34541
|
-
|
|
34542
|
-
|
|
34543
|
-
}
|
|
34544
|
-
}
|
|
34545
|
-
return getPageviewEventData({
|
|
34644
|
+
function getFullPageviewEventData() {
|
|
34645
|
+
if (!timezone || !visitorLocale)
|
|
34646
|
+
setTimezoneAndLocaleForTracking();
|
|
34647
|
+
const currentLocation = currentPathnameWithHash
|
|
34648
|
+
? new URL(safeWindow.location.origin + currentPathnameWithHash)
|
|
34649
|
+
: safeWindow.location;
|
|
34650
|
+
const eventData = {
|
|
34651
|
+
version: pageviewEventVersion,
|
|
34546
34652
|
abTestId: currentRoute == null ? void 0 : currentRoute.abTestId,
|
|
34547
34653
|
framerSiteId: framerSiteId ?? null,
|
|
34548
34654
|
// If we are in a variant route, let's use the variant ID as the route ID instead, so that the analytics panel will be able to show the correct tracking data.
|
|
34549
|
-
|
|
34550
|
-
routePath: currentRoute == null ? void 0 : currentRoute.path,
|
|
34551
|
-
collectionItemId,
|
|
34552
|
-
|
|
34553
|
-
|
|
34554
|
-
|
|
34655
|
+
webPageId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
|
|
34656
|
+
routePath: (currentRoute == null ? void 0 : currentRoute.path) || '/',
|
|
34657
|
+
collectionItemId: null,
|
|
34658
|
+
framerLocale: (activeLocale == null ? void 0 : activeLocale.code) || null,
|
|
34659
|
+
referrer: null,
|
|
34660
|
+
// The first pageview event will always be sent before hydration, in a script in `exportToHTML.ts`.
|
|
34661
|
+
url: currentLocation.href,
|
|
34662
|
+
hostname: currentLocation.hostname,
|
|
34663
|
+
// Capture the current location before the user moves to a new page to prevent
|
|
34664
|
+
// tracking wrong pathnames due to a race condition caused by async operations
|
|
34665
|
+
// when resolving the collection item ID below
|
|
34666
|
+
pathname: currentLocation.pathname,
|
|
34667
|
+
search: currentLocation.search || null,
|
|
34668
|
+
hash: currentLocation.hash || null,
|
|
34669
|
+
timezone,
|
|
34670
|
+
locale: visitorLocale,
|
|
34671
|
+
};
|
|
34672
|
+
return (currentRoute == null ? void 0 : currentRoute.collectionId) && collectionUtils && currentPathVariables
|
|
34673
|
+
? (async () => {
|
|
34674
|
+
var _a;
|
|
34675
|
+
let collectionItemId = null;
|
|
34676
|
+
const utils = currentRoute.collectionId &&
|
|
34677
|
+
(await ((_a = collectionUtils[currentRoute.collectionId]) == null ? void 0 : _a.call(collectionUtils)));
|
|
34678
|
+
const [slug,] = Object.values(currentPathVariables);
|
|
34679
|
+
if (utils && typeof slug === 'string') {
|
|
34680
|
+
collectionItemId = (await utils.getRecordIdBySlug(slug, activeLocale || void 0)) ?? null;
|
|
34681
|
+
}
|
|
34682
|
+
return {
|
|
34683
|
+
...eventData,
|
|
34684
|
+
collectionItemId,
|
|
34685
|
+
};
|
|
34686
|
+
})()
|
|
34687
|
+
: eventData;
|
|
34688
|
+
}
|
|
34555
34689
|
void (async () => {
|
|
34556
|
-
const
|
|
34557
|
-
|
|
34690
|
+
const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
|
|
34691
|
+
const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
|
|
34692
|
+
pageviewEventData.current = eventData;
|
|
34558
34693
|
if (skipFirstPageView.current) {
|
|
34559
34694
|
skipFirstPageView.current = false;
|
|
34560
|
-
return;
|
|
34561
34695
|
}
|
|
34562
|
-
|
|
34563
|
-
|
|
34564
|
-
|
|
34696
|
+
else {
|
|
34697
|
+
sendTrackingEvent('published_site_pageview', eventData, 'eager');
|
|
34698
|
+
}
|
|
34565
34699
|
})();
|
|
34566
34700
|
const listener = async (event) => {
|
|
34567
34701
|
if (event.persisted) {
|
|
34568
|
-
const
|
|
34569
|
-
|
|
34570
|
-
const eventData = await getFullPageviewEventData();
|
|
34702
|
+
const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
|
|
34703
|
+
const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
|
|
34571
34704
|
pageviewEventData.current = eventData;
|
|
34572
34705
|
sendTrackingEvent('published_site_pageview', eventData, 'eager');
|
|
34573
34706
|
}
|
|
@@ -34576,7 +34709,7 @@ var useSendPageView = (currentRoute, currentRouteId, currentPathVariables, colle
|
|
|
34576
34709
|
return () => {
|
|
34577
34710
|
window.removeEventListener('pageshow', listener);
|
|
34578
34711
|
};
|
|
34579
|
-
}, [currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale, framerSiteId,]);
|
|
34712
|
+
}, [currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale, framerSiteId,]);
|
|
34580
34713
|
return pageviewEventData;
|
|
34581
34714
|
};
|
|
34582
34715
|
var defaultLocaleId = 'default';
|
|
@@ -34679,6 +34812,7 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
|
|
|
34679
34812
|
return (fn) => fn();
|
|
34680
34813
|
}, [synchronousNavigationOnDesktop,]);
|
|
34681
34814
|
const isInitialNavigationRef = useRef3(true);
|
|
34815
|
+
const currentPathnameWithHashRef = useRef3();
|
|
34682
34816
|
const currentRouteRef = useRef3(initialRoute);
|
|
34683
34817
|
const currentPathVariablesRef = useRef3(initialPathVariables);
|
|
34684
34818
|
const currentLocaleIdRef = useRef3(initialLocaleId);
|
|
@@ -34764,12 +34898,13 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
|
|
|
34764
34898
|
monitorNextPaintAfterRender,
|
|
34765
34899
|
transitionFn,
|
|
34766
34900
|
]);
|
|
34767
|
-
const setCurrentRouteId = useCallback((routeId, localeId, hash2, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL) => {
|
|
34901
|
+
const setCurrentRouteId = useCallback((routeId, localeId, hash2, pathnameWithHash, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL) => {
|
|
34768
34902
|
isInitialNavigationRef.current = false;
|
|
34769
34903
|
const currentRouteId2 = currentRouteRef.current;
|
|
34770
34904
|
currentRouteRef.current = routeId;
|
|
34771
34905
|
currentPathVariablesRef.current = pathVariables;
|
|
34772
34906
|
currentLocaleIdRef.current = localeId;
|
|
34907
|
+
currentPathnameWithHashRef.current = pathnameWithHash;
|
|
34773
34908
|
scheduleSideEffect(() => {
|
|
34774
34909
|
updateScrollPosition(hash2, smoothScroll, isHistoryTransition);
|
|
34775
34910
|
});
|
|
@@ -34855,14 +34990,26 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
|
|
|
34855
34990
|
siteCanonicalURL,
|
|
34856
34991
|
}, ignorePushStateWrapper);
|
|
34857
34992
|
};
|
|
34858
|
-
|
|
34993
|
+
const pathnameWithHash = getSitePrefix(siteCanonicalURL) + getPathForRoute(newRoute, {
|
|
34994
|
+
currentRoutePath: currentRoute2 == null ? void 0 : currentRoute2.path,
|
|
34995
|
+
currentPathVariables: currentPathVariables2,
|
|
34996
|
+
hash: hash2,
|
|
34997
|
+
pathVariables,
|
|
34998
|
+
localeId: currentRouteLocaleId,
|
|
34999
|
+
preserveQueryParams,
|
|
35000
|
+
siteCanonicalURL,
|
|
35001
|
+
relative: false,
|
|
35002
|
+
// We need an absolute path for the hash
|
|
35003
|
+
});
|
|
35004
|
+
setCurrentRouteId(routeId, currentRouteLocaleId, routeElementId, pathnameWithHash, pathVariables, false, nextRender, smoothScroll, disableHistory ? void 0 : updateURL);
|
|
34859
35005
|
}, [routes, setCurrentRouteId, disableHistory, preserveQueryParams, siteCanonicalURL, monitorNextPaintAfterRender,]);
|
|
34860
35006
|
const getRoute = useGetRouteCallback(routes);
|
|
34861
35007
|
const currentRouteId = currentRouteRef.current;
|
|
35008
|
+
const currentPathnameWithHash = currentPathnameWithHashRef.current;
|
|
34862
35009
|
const currentPathVariables = currentPathVariablesRef.current;
|
|
34863
35010
|
const currentRoute = routes[currentRouteId];
|
|
34864
35011
|
const currentRoutePath = currentRoute == null ? void 0 : currentRoute.path;
|
|
34865
|
-
const pageviewEventData = useSendPageView(currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale);
|
|
35012
|
+
const pageviewEventData = useSendPageView(currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale);
|
|
34866
35013
|
const isInitialNavigation = isInitialNavigationRef.current;
|
|
34867
35014
|
const api = useMemo2(() => ({
|
|
34868
35015
|
navigate,
|
|
@@ -34915,7 +35062,7 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
|
|
|
34915
35062
|
/* @__PURE__ */ jsx3(MarkSuspenseEffects.Start, {}),
|
|
34916
35063
|
/* @__PURE__ */ jsx3(WithLayoutTemplate, {
|
|
34917
35064
|
LayoutTemplate,
|
|
34918
|
-
routeId: currentRouteId,
|
|
35065
|
+
routeId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
|
|
34919
35066
|
style: defaultPageStyle,
|
|
34920
35067
|
children: (inLayoutTemplate) => {
|
|
34921
35068
|
return /* @__PURE__ */ jsx3(Fragment, {
|
|
@@ -42322,6 +42469,9 @@ function assert2(condition, ...msg) {
|
|
|
42322
42469
|
}
|
|
42323
42470
|
var missing = Symbol('missing');
|
|
42324
42471
|
var frozenEmptyArray = Object.freeze([]);
|
|
42472
|
+
function emptyArray() {
|
|
42473
|
+
return frozenEmptyArray;
|
|
42474
|
+
}
|
|
42325
42475
|
var errorReporter;
|
|
42326
42476
|
function reportError({ error: maybeError, tags, extras, critical, caller, }) {
|
|
42327
42477
|
assert2(errorReporter, 'Set up an error callback with setErrorReporter, or configure Sentry with initializeEnvironment');
|
|
@@ -42624,7 +42774,9 @@ try {
|
|
|
42624
42774
|
catch { }
|
|
42625
42775
|
var postLogEntry;
|
|
42626
42776
|
try {
|
|
42627
|
-
if (typeof window !== 'undefined' && !!window.postMessage && window.
|
|
42777
|
+
if (typeof window !== 'undefined' && !!window.postMessage && window.parent !== window &&
|
|
42778
|
+
// Don't post messages to the top-level site from the Editor Bar
|
|
42779
|
+
!window.location.pathname.startsWith('/edit')) {
|
|
42628
42780
|
postLogEntry = (entry) => {
|
|
42629
42781
|
var _a;
|
|
42630
42782
|
try {
|
|
@@ -42638,7 +42790,7 @@ try {
|
|
|
42638
42790
|
parts,
|
|
42639
42791
|
printed,
|
|
42640
42792
|
};
|
|
42641
|
-
(_a = window.
|
|
42793
|
+
(_a = window.parent) == null ? void 0 : _a.postMessage(data2, getServiceMap().app);
|
|
42642
42794
|
}
|
|
42643
42795
|
catch { }
|
|
42644
42796
|
};
|
|
@@ -43720,11 +43872,11 @@ function getAssetOwnerType(asset) {
|
|
|
43720
43872
|
async function loadFontsWithOpenType(source) {
|
|
43721
43873
|
switch (source) {
|
|
43722
43874
|
case 'google': {
|
|
43723
|
-
const supportedFonts = await import('./framer-chunks/google-
|
|
43875
|
+
const supportedFonts = await import('./framer-chunks/google-2KFYDWCN-PJC2DDXK.js');
|
|
43724
43876
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
43725
43877
|
}
|
|
43726
43878
|
case 'fontshare': {
|
|
43727
|
-
const supportedFonts = await import('./framer-chunks/fontshare-
|
|
43879
|
+
const supportedFonts = await import('./framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js');
|
|
43728
43880
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
43729
43881
|
}
|
|
43730
43882
|
default:
|
|
@@ -43734,11 +43886,11 @@ async function loadFontsWithOpenType(source) {
|
|
|
43734
43886
|
async function loadFontToOpenTypeFeatures(source) {
|
|
43735
43887
|
switch (source) {
|
|
43736
43888
|
case 'google': {
|
|
43737
|
-
const features = await import('./framer-chunks/google-
|
|
43889
|
+
const features = await import('./framer-chunks/google-HSMCYMMG-DWNQGSHN.js');
|
|
43738
43890
|
return features == null ? void 0 : features.default;
|
|
43739
43891
|
}
|
|
43740
43892
|
case 'fontshare': {
|
|
43741
|
-
const features = await import('./framer-chunks/fontshare-
|
|
43893
|
+
const features = await import('./framer-chunks/fontshare-Y53BJZLK-EUQIV252.js');
|
|
43742
43894
|
return features == null ? void 0 : features.default;
|
|
43743
43895
|
}
|
|
43744
43896
|
case 'framer': {
|
|
@@ -44262,10 +44414,10 @@ function loadVariationAxes(source) {
|
|
|
44262
44414
|
const axes = (async () => {
|
|
44263
44415
|
switch (source) {
|
|
44264
44416
|
case 'google': {
|
|
44265
|
-
return (await import('./framer-chunks/google-
|
|
44417
|
+
return (await import('./framer-chunks/google-S367OFIE-AWJEPMSF.js')).default;
|
|
44266
44418
|
}
|
|
44267
44419
|
case 'fontshare': {
|
|
44268
|
-
return (await import('./framer-chunks/fontshare-
|
|
44420
|
+
return (await import('./framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js')).default;
|
|
44269
44421
|
}
|
|
44270
44422
|
default:
|
|
44271
44423
|
assertNever(source);
|
|
@@ -45197,10 +45349,35 @@ var styles3 = /* @__PURE__ */ (() => [
|
|
|
45197
45349
|
])();
|
|
45198
45350
|
var FormSelect = /* @__PURE__ */ withCSS(Select, styles3, 'framer-lib-form-select');
|
|
45199
45351
|
var Image2 = /* @__PURE__ */ React4.forwardRef(function Image3(props, ref) {
|
|
45200
|
-
const { background, children, alt, draggable, style: styleFromProps, ...rest } = props;
|
|
45352
|
+
const { background, children, alt, draggable, fitImageDimension, style: styleFromProps, ...rest } = props;
|
|
45201
45353
|
const style2 = {
|
|
45202
45354
|
...styleFromProps,
|
|
45203
45355
|
};
|
|
45356
|
+
const intrinsicSize = useMemo2(() => getIntrinsicSizeForBackgroundImage(background), [background,]);
|
|
45357
|
+
const [fallbackIntrinsicSize, setFallbackIntrinsicSize,] = useState();
|
|
45358
|
+
React4.useLayoutEffect(() => {
|
|
45359
|
+
if (!(background == null ? void 0 : background.src))
|
|
45360
|
+
return;
|
|
45361
|
+
if (!fitImageDimension)
|
|
45362
|
+
return;
|
|
45363
|
+
if (intrinsicSize)
|
|
45364
|
+
return;
|
|
45365
|
+
const img = document.createElement('img');
|
|
45366
|
+
img.onload = () => {
|
|
45367
|
+
if (img.naturalWidth && img.naturalHeight) {
|
|
45368
|
+
setFallbackIntrinsicSize({
|
|
45369
|
+
width: img.naturalWidth,
|
|
45370
|
+
height: img.naturalHeight,
|
|
45371
|
+
});
|
|
45372
|
+
}
|
|
45373
|
+
};
|
|
45374
|
+
img.src = background.src;
|
|
45375
|
+
}, [background == null ? void 0 : background.src, fitImageDimension, intrinsicSize,]);
|
|
45376
|
+
const size = intrinsicSize ?? fallbackIntrinsicSize;
|
|
45377
|
+
if (fitImageDimension && size) {
|
|
45378
|
+
style2[fitImageDimension] = 'auto';
|
|
45379
|
+
style2.aspectRatio = size.width / size.height;
|
|
45380
|
+
}
|
|
45204
45381
|
if (background) {
|
|
45205
45382
|
delete style2.background;
|
|
45206
45383
|
}
|
|
@@ -47317,7 +47494,7 @@ var TextComponent = /* @__PURE__ */ (() => {
|
|
|
47317
47494
|
if (this.props.transformTemplate)
|
|
47318
47495
|
return this.props.transformTemplate;
|
|
47319
47496
|
const frame2 = this.frame;
|
|
47320
|
-
const isDOMLayoutAutoSized = _usesDOMRect && (widthType
|
|
47497
|
+
const isDOMLayoutAutoSized = _usesDOMRect && (isAutoDimensionType(widthType) || isAutoDimensionType(heightType));
|
|
47321
47498
|
const hasTransformTemplate = !frame2 || !RenderTarget.hasRestrictions() || __fromCanvasComponent || isDOMLayoutAutoSized;
|
|
47322
47499
|
if (hasTransformTemplate)
|
|
47323
47500
|
return transformTemplate(this.props.center);
|
|
@@ -48251,8 +48428,10 @@ function addFonts(component, passedFonts, flags) {
|
|
|
48251
48428
|
});
|
|
48252
48429
|
}
|
|
48253
48430
|
function getFonts(component) {
|
|
48431
|
+
if (!component)
|
|
48432
|
+
return emptyArray();
|
|
48254
48433
|
const fonts = component.fonts;
|
|
48255
|
-
return fonts ??
|
|
48434
|
+
return fonts ?? emptyArray();
|
|
48256
48435
|
}
|
|
48257
48436
|
function getFontsFromSharedStyle(fonts) {
|
|
48258
48437
|
if (fonts.length === 0) {
|