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/src/framer.js
CHANGED
|
@@ -11214,7 +11214,7 @@ function stagger(duration = 0.1, {
|
|
|
11214
11214
|
};
|
|
11215
11215
|
}
|
|
11216
11216
|
|
|
11217
|
-
// /:https://app.framerstatic.com/framer.
|
|
11217
|
+
// /:https://app.framerstatic.com/framer.UWLYDHV3.mjs
|
|
11218
11218
|
import { lazy as ReactLazy, } from 'react';
|
|
11219
11219
|
import React4 from 'react';
|
|
11220
11220
|
import { startTransition as startTransition2, } from 'react';
|
|
@@ -12649,31 +12649,10 @@ function useRouteHandler(routeId, preload = false, elementId,) {
|
|
|
12649
12649
|
const handler = React4.useCallback(() => navigate == null ? void 0 : navigate(routeId, elementId,), [navigate, elementId, routeId,],);
|
|
12650
12650
|
return handler;
|
|
12651
12651
|
}
|
|
12652
|
-
var
|
|
12653
|
-
var visitorLocale;
|
|
12654
|
-
function setTimezoneAndLocaleForTracking() {
|
|
12655
|
-
const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions();
|
|
12656
|
-
timezone = resolvedDateTimeOptions.timeZone;
|
|
12657
|
-
visitorLocale = resolvedDateTimeOptions.locale;
|
|
12658
|
-
}
|
|
12659
|
-
requestIdleCallback(setTimezoneAndLocaleForTracking,);
|
|
12652
|
+
var pageviewEventVersion = 2;
|
|
12660
12653
|
function sendTrackingEvent(eventType, eventData, sendOn = 'lazy',) {
|
|
12661
|
-
|
|
12662
|
-
|
|
12663
|
-
safeWindow.__framer_events.push([eventType, {
|
|
12664
|
-
// Base properties common to all events
|
|
12665
|
-
referrer: null,
|
|
12666
|
-
// The first pageview event will always be sent before hydration, in a script in `exportToHTML.ts`.
|
|
12667
|
-
url: safeWindow.location.href,
|
|
12668
|
-
hostname: safeWindow.location.hostname || null,
|
|
12669
|
-
pathname: safeWindow.location.pathname || null,
|
|
12670
|
-
hash: safeWindow.location.hash || null,
|
|
12671
|
-
search: safeWindow.location.search || null,
|
|
12672
|
-
timezone,
|
|
12673
|
-
locale: visitorLocale,
|
|
12674
|
-
// Additional properties specific to custom events
|
|
12675
|
-
...eventData,
|
|
12676
|
-
}, sendOn,],);
|
|
12654
|
+
var _a;
|
|
12655
|
+
(_a = safeWindow.__framer_events) == null ? void 0 : _a.push([eventType, eventData, sendOn,],);
|
|
12677
12656
|
switch (eventType) {
|
|
12678
12657
|
case 'published_site_click': {
|
|
12679
12658
|
const {
|
|
@@ -13646,6 +13625,7 @@ function usePopStateHandler(currentRouteId, setCurrentRouteId,) {
|
|
|
13646
13625
|
routeId,
|
|
13647
13626
|
isString(localeId,) ? localeId : void 0,
|
|
13648
13627
|
isString(hash2,) ? hash2 : void 0,
|
|
13628
|
+
window.location.pathname + window.location.search + window.location.hash,
|
|
13649
13629
|
isObject2(pathVariables,) ? pathVariables : void 0,
|
|
13650
13630
|
true,
|
|
13651
13631
|
nextRender,
|
|
@@ -16609,6 +16589,14 @@ var P3Color = class _P3Color {
|
|
|
16609
16589
|
if (!value) return color2;
|
|
16610
16590
|
return value.toString('srgb',);
|
|
16611
16591
|
}
|
|
16592
|
+
static multiplyAlpha(color2, alpha2,) {
|
|
16593
|
+
return new _P3Color({
|
|
16594
|
+
r: color2.r,
|
|
16595
|
+
g: color2.g,
|
|
16596
|
+
b: color2.b,
|
|
16597
|
+
a: color2.a * alpha2,
|
|
16598
|
+
},);
|
|
16599
|
+
}
|
|
16612
16600
|
};
|
|
16613
16601
|
function clampRGB(color2,) {
|
|
16614
16602
|
return P3Color.srgbFromValue(color2,);
|
|
@@ -19306,8 +19294,13 @@ var DimensionType = /* @__PURE__ */ ((DimensionType2) => {
|
|
|
19306
19294
|
DimensionType2[DimensionType2['Auto'] = 2] = 'Auto';
|
|
19307
19295
|
DimensionType2[DimensionType2['FractionOfFreeSpace'] = 3] = 'FractionOfFreeSpace';
|
|
19308
19296
|
DimensionType2[DimensionType2['Viewport'] = 4] = 'Viewport';
|
|
19297
|
+
DimensionType2[DimensionType2['FitImage'] = 5] = 'FitImage';
|
|
19309
19298
|
return DimensionType2;
|
|
19310
19299
|
})(DimensionType || {},);
|
|
19300
|
+
function isAutoDimensionType(dimensionType,) {
|
|
19301
|
+
if (isUndefined(dimensionType,)) return false;
|
|
19302
|
+
return dimensionType === 2 || dimensionType === 5;
|
|
19303
|
+
}
|
|
19311
19304
|
function isConstraintSupportingChild(child,) {
|
|
19312
19305
|
if (!isReactChild(child,) || !isReactElement(child,)) {
|
|
19313
19306
|
return false;
|
|
@@ -19318,7 +19311,7 @@ var ConstraintMask = {
|
|
|
19318
19311
|
// Modifies the constraint mask to remove invalid (mutually exclusive) options and returns the original.
|
|
19319
19312
|
// TODO: this removes major inconsistencies but probably needs to be merged with ConstraintSolver.
|
|
19320
19313
|
quickfix: (constraints) => {
|
|
19321
|
-
if (constraints.widthType
|
|
19314
|
+
if (isAutoDimensionType(constraints.widthType,) || isAutoDimensionType(constraints.heightType,)) {
|
|
19322
19315
|
constraints.aspectRatio = null;
|
|
19323
19316
|
}
|
|
19324
19317
|
if (isFiniteNumber(constraints.aspectRatio,)) {
|
|
@@ -19336,13 +19329,13 @@ var ConstraintMask = {
|
|
|
19336
19329
|
}
|
|
19337
19330
|
}
|
|
19338
19331
|
if (constraints.left && constraints.right) {
|
|
19339
|
-
if (constraints.fixedSize || constraints.widthType
|
|
19332
|
+
if (constraints.fixedSize || isAutoDimensionType(constraints.widthType,) || isFiniteNumber(constraints.maxWidth,)) {
|
|
19340
19333
|
constraints.right = false;
|
|
19341
19334
|
}
|
|
19342
19335
|
constraints.widthType = 0;
|
|
19343
19336
|
}
|
|
19344
19337
|
if (constraints.top && constraints.bottom) {
|
|
19345
|
-
if (constraints.fixedSize || constraints.heightType
|
|
19338
|
+
if (constraints.fixedSize || isAutoDimensionType(constraints.heightType,) || isFiniteNumber(constraints.maxHeight,)) {
|
|
19346
19339
|
constraints.bottom = false;
|
|
19347
19340
|
}
|
|
19348
19341
|
constraints.heightType = 0;
|
|
@@ -19451,7 +19444,7 @@ var ConstraintValues = {
|
|
|
19451
19444
|
const hOpposingPinsOffset = pinnedOffset(values.left, values.right,);
|
|
19452
19445
|
if (parentWidth && isFiniteNumber(hOpposingPinsOffset,)) {
|
|
19453
19446
|
width = parentWidth - hOpposingPinsOffset;
|
|
19454
|
-
} else if (autoSize && values.widthType
|
|
19447
|
+
} else if (autoSize && isAutoDimensionType(values.widthType,)) {
|
|
19455
19448
|
width = autoSize.width;
|
|
19456
19449
|
} else if (isFiniteNumber(values.width,)) {
|
|
19457
19450
|
switch (values.widthType) {
|
|
@@ -19468,6 +19461,7 @@ var ConstraintValues = {
|
|
|
19468
19461
|
}
|
|
19469
19462
|
break;
|
|
19470
19463
|
case 2:
|
|
19464
|
+
case 5:
|
|
19471
19465
|
break;
|
|
19472
19466
|
default:
|
|
19473
19467
|
assertNever(values.widthType,);
|
|
@@ -19476,7 +19470,7 @@ var ConstraintValues = {
|
|
|
19476
19470
|
const vOpposingPinsOffset = pinnedOffset(values.top, values.bottom,);
|
|
19477
19471
|
if (parentHeight && isFiniteNumber(vOpposingPinsOffset,)) {
|
|
19478
19472
|
height = parentHeight - vOpposingPinsOffset;
|
|
19479
|
-
} else if (autoSize && values.heightType
|
|
19473
|
+
} else if (autoSize && isAutoDimensionType(values.heightType,)) {
|
|
19480
19474
|
height = autoSize.height;
|
|
19481
19475
|
} else if (isFiniteNumber(values.height,)) {
|
|
19482
19476
|
switch (values.heightType) {
|
|
@@ -19493,6 +19487,7 @@ var ConstraintValues = {
|
|
|
19493
19487
|
}
|
|
19494
19488
|
break;
|
|
19495
19489
|
case 2:
|
|
19490
|
+
case 5:
|
|
19496
19491
|
break;
|
|
19497
19492
|
default:
|
|
19498
19493
|
assertNever(values.heightType,);
|
|
@@ -20366,6 +20361,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20366
20361
|
li.framer-text,
|
|
20367
20362
|
ol.framer-text,
|
|
20368
20363
|
ul.framer-text,
|
|
20364
|
+
mark.framer-text,
|
|
20369
20365
|
span.framer-text:not([data-text-fill]) {
|
|
20370
20366
|
font-family: var(--framer-blockquote-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif));
|
|
20371
20367
|
font-style: var(--framer-blockquote-font-style, var(--framer-font-style, normal));
|
|
@@ -20391,6 +20387,24 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20391
20387
|
text-wrap: var(--framer-text-wrap-override, var(--framer-text-wrap));
|
|
20392
20388
|
}
|
|
20393
20389
|
`, /* css */
|
|
20390
|
+
`
|
|
20391
|
+
mark.framer-text,
|
|
20392
|
+
p.framer-text,
|
|
20393
|
+
div.framer-text,
|
|
20394
|
+
h1.framer-text,
|
|
20395
|
+
h2.framer-text,
|
|
20396
|
+
h3.framer-text,
|
|
20397
|
+
h4.framer-text,
|
|
20398
|
+
h5.framer-text,
|
|
20399
|
+
h6.framer-text,
|
|
20400
|
+
li.framer-text,
|
|
20401
|
+
ol.framer-text,
|
|
20402
|
+
ul.framer-text {
|
|
20403
|
+
background-color: var(--framer-blockquote-text-background-color, var(--framer-text-background-color, initial));
|
|
20404
|
+
border-radius: var(--framer-blockquote-text-background-radius, var(--framer-text-background-radius, initial));
|
|
20405
|
+
padding: var(--framer-blockquote-text-background-padding, var(--framer-text-background-padding, initial));
|
|
20406
|
+
}
|
|
20407
|
+
`, /* css */
|
|
20394
20408
|
`
|
|
20395
20409
|
@supports not (color: color(display-p3 1 1 1)) {
|
|
20396
20410
|
p.framer-text,
|
|
@@ -20408,6 +20422,12 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20408
20422
|
color: ${createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-text-color',], '#000',)};
|
|
20409
20423
|
-webkit-text-stroke-color: ${createRGBVariableFallbacks(['--framer-text-stroke-color',], 'initial',)};
|
|
20410
20424
|
}
|
|
20425
|
+
|
|
20426
|
+
mark.framer-text {
|
|
20427
|
+
background-color: ${
|
|
20428
|
+
createRGBVariableFallbacks(['--framer-blockquote-text-background-color', '--framer-text-background-color',], 'initial',)
|
|
20429
|
+
};
|
|
20430
|
+
}
|
|
20411
20431
|
}
|
|
20412
20432
|
`, /* css */
|
|
20413
20433
|
`
|
|
@@ -20532,6 +20552,10 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20532
20552
|
text-transform: var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
|
|
20533
20553
|
/* Cursor inherit to overwrite the user agent stylesheet on rich text links. */
|
|
20534
20554
|
cursor: var(--framer-custom-cursors, pointer);
|
|
20555
|
+
/* Don't inherit background styles from any parent text style. */
|
|
20556
|
+
background-color: var(--framer-link-text-background-color, initial);
|
|
20557
|
+
border-radius: var(--framer-link-text-background-radius, initial);
|
|
20558
|
+
padding: var(--framer-link-text-background-padding, initial);
|
|
20535
20559
|
}
|
|
20536
20560
|
`,
|
|
20537
20561
|
// Text decoration can't be applied to the nested spans of links because it breaks animations
|
|
@@ -20556,6 +20580,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20556
20580
|
color: ${
|
|
20557
20581
|
createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-link-text-color', '--framer-text-color',], '#000',)
|
|
20558
20582
|
};
|
|
20583
|
+
background-color: ${createRGBVariableFallbacks(['--framer-link-text-background-color',], 'initial',)};
|
|
20559
20584
|
}
|
|
20560
20585
|
}
|
|
20561
20586
|
`, /* css */
|
|
@@ -20599,6 +20624,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20599
20624
|
color: var(--framer-link-hover-text-color, var(--framer-blockquote-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
|
|
20600
20625
|
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));
|
|
20601
20626
|
text-transform: var(--framer-link-hover-text-transform, var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
|
|
20627
|
+
background-color: var(--framer-link-hover-text-background-color, var(--framer-link-text-background-color, var(--framer-text-background-color, initial)));
|
|
20628
|
+
border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-text-background-radius, var(--framer-text-background-radius, initial)));
|
|
20629
|
+
padding: var(--framer-link-hover-text-background-padding, var(--framer-link-text-background-padding, var(--framer-text-background-padding, initial)));
|
|
20602
20630
|
}
|
|
20603
20631
|
`, /* css */
|
|
20604
20632
|
`
|
|
@@ -20625,6 +20653,13 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20625
20653
|
'--framer-link-text-color',
|
|
20626
20654
|
'--framer-text-color',
|
|
20627
20655
|
], '#000',)
|
|
20656
|
+
};
|
|
20657
|
+
background-color: ${
|
|
20658
|
+
createRGBVariableFallbacks([
|
|
20659
|
+
'--framer-link-hover-text-background-color',
|
|
20660
|
+
'--framer-link-text-background-color',
|
|
20661
|
+
'--framer-text-background-color',
|
|
20662
|
+
], 'initial',)
|
|
20628
20663
|
};
|
|
20629
20664
|
}
|
|
20630
20665
|
}
|
|
@@ -20669,6 +20704,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20669
20704
|
color: var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000)));
|
|
20670
20705
|
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));
|
|
20671
20706
|
text-transform: var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
|
|
20707
|
+
background-color: var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, initial));
|
|
20708
|
+
border-radius: var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, initial));
|
|
20709
|
+
padding: var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, initial));
|
|
20672
20710
|
}
|
|
20673
20711
|
`, /* css */
|
|
20674
20712
|
`
|
|
@@ -20690,6 +20728,13 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20690
20728
|
span.framer-text[data-framer-page-link-current] span.framer-text:not([data-text-fill]) {
|
|
20691
20729
|
color: ${
|
|
20692
20730
|
createRGBVariableFallbacks(['--framer-link-current-text-color', '--framer-link-text-color', '--framer-text-color',], '#000',)
|
|
20731
|
+
};
|
|
20732
|
+
background-color: ${
|
|
20733
|
+
createRGBVariableFallbacks([
|
|
20734
|
+
'--framer-link-current-text-background-color',
|
|
20735
|
+
'--framer-link-text-background-color',
|
|
20736
|
+
'--framer-text-background-color',
|
|
20737
|
+
], 'initial',)
|
|
20693
20738
|
};
|
|
20694
20739
|
}
|
|
20695
20740
|
}
|
|
@@ -20719,6 +20764,13 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20719
20764
|
'--framer-code-text-color',
|
|
20720
20765
|
'--framer-text-color',
|
|
20721
20766
|
], '#000',)
|
|
20767
|
+
};
|
|
20768
|
+
background-color: ${
|
|
20769
|
+
createRGBVariableFallbacks([
|
|
20770
|
+
'--framer-link-current-text-background-color',
|
|
20771
|
+
'--framer-link-text-background-color',
|
|
20772
|
+
'--framer-text-background-color',
|
|
20773
|
+
], 'initial',)
|
|
20722
20774
|
};
|
|
20723
20775
|
}
|
|
20724
20776
|
}
|
|
@@ -20734,6 +20786,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20734
20786
|
color: var(--framer-link-hover-text-color, var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
|
|
20735
20787
|
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));
|
|
20736
20788
|
text-transform: var(--framer-link-hover-text-transform, var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
|
|
20789
|
+
background-color: var(--framer-link-hover-text-background-color, var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, initial)));
|
|
20790
|
+
border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, initial)));
|
|
20791
|
+
padding: var(--framer-link-hover-text-background-padding, var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, initial)));
|
|
20737
20792
|
}
|
|
20738
20793
|
`, /* css */
|
|
20739
20794
|
`
|
|
@@ -20761,6 +20816,13 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20761
20816
|
'--framer-code-text-color',
|
|
20762
20817
|
'--framer-text-color',
|
|
20763
20818
|
], '#000',)
|
|
20819
|
+
};
|
|
20820
|
+
background-color: ${
|
|
20821
|
+
createRGBVariableFallbacks([
|
|
20822
|
+
'--framer-link-hover-text-background-color',
|
|
20823
|
+
'--framer-link-current-text-background-color',
|
|
20824
|
+
'--framer-link-text-background-color',
|
|
20825
|
+
], 'initial',)
|
|
20764
20826
|
};
|
|
20765
20827
|
}
|
|
20766
20828
|
}
|
|
@@ -20775,6 +20837,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20775
20837
|
font-weight: var(--framer-code-font-weight, var(--framer-font-weight, 400));
|
|
20776
20838
|
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)))));
|
|
20777
20839
|
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));
|
|
20840
|
+
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))));
|
|
20841
|
+
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))));
|
|
20842
|
+
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))));
|
|
20778
20843
|
}
|
|
20779
20844
|
`, /* css */
|
|
20780
20845
|
`
|
|
@@ -20791,6 +20856,13 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20791
20856
|
'--framer-code-text-color',
|
|
20792
20857
|
'--framer-text-color',
|
|
20793
20858
|
], '#000',)
|
|
20859
|
+
};
|
|
20860
|
+
background-color: ${
|
|
20861
|
+
createRGBVariableFallbacks([
|
|
20862
|
+
'--framer-link-hover-text-background-color',
|
|
20863
|
+
'--framer-link-current-text-background-color',
|
|
20864
|
+
'--framer-link-text-background-color',
|
|
20865
|
+
], 'initial',)
|
|
20794
20866
|
};
|
|
20795
20867
|
}
|
|
20796
20868
|
}
|
|
@@ -20820,6 +20892,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20820
20892
|
--framer-line-height: 1.2em;
|
|
20821
20893
|
--framer-text-alignment: start;
|
|
20822
20894
|
--framer-font-open-type-features: normal;
|
|
20895
|
+
--framer-text-background-color: initial;
|
|
20896
|
+
--framer-text-background-radius: initial;
|
|
20897
|
+
--framer-text-background-padding: initial;
|
|
20823
20898
|
}
|
|
20824
20899
|
`, /* css */
|
|
20825
20900
|
`
|
|
@@ -21271,6 +21346,10 @@ var frameCSSRules = (isPreview) => {
|
|
|
21271
21346
|
return isPreview ? frameCSS : [];
|
|
21272
21347
|
};
|
|
21273
21348
|
var svgCSSRules = [`.svgContainer svg { display: block; }`,];
|
|
21349
|
+
var overflowClipFallbackCSSVariable = '--overflow-clip-fallback';
|
|
21350
|
+
var overflowClipFallbackCSSRules = /* @__PURE__ */ (() => [`@supports (not (overflow: clip)) {
|
|
21351
|
+
:root { ${overflowClipFallbackCSSVariable}: hidden; }
|
|
21352
|
+
}`,])();
|
|
21274
21353
|
var combineCSSRules =
|
|
21275
21354
|
(isPreview) => [
|
|
21276
21355
|
...willChangeTransformRules(isPreview,),
|
|
@@ -21290,6 +21369,7 @@ var combineCSSRules =
|
|
|
21290
21369
|
...svgCSSRules,
|
|
21291
21370
|
...resetCSS,
|
|
21292
21371
|
...hideScrollbars,
|
|
21372
|
+
...overflowClipFallbackCSSRules,
|
|
21293
21373
|
];
|
|
21294
21374
|
export var combinedCSSRules = /* @__PURE__ */ combineCSSRules(false,);
|
|
21295
21375
|
var combinedCSSRulesForPreview = /* @__PURE__ */ combineCSSRules(true,);
|
|
@@ -23019,13 +23099,6 @@ var isPropValid = /* @__PURE__ */ memoize((prop) =>
|
|
|
23019
23099
|
reactPropsRegex.test(prop,) || prop.charCodeAt(0,) === 111 && prop.charCodeAt(1,) === 110 && prop.charCodeAt(2,) < 91
|
|
23020
23100
|
/* Z+1 */
|
|
23021
23101
|
);
|
|
23022
|
-
var LibraryFeaturesContext = /* @__PURE__ */ React4.createContext(void 0,);
|
|
23023
|
-
LibraryFeaturesContext.displayName = 'LibraryFeaturesContext';
|
|
23024
|
-
var LibraryFeaturesProvider = /* @__PURE__ */ (() => LibraryFeaturesContext.Provider)();
|
|
23025
|
-
var useLibraryFeatures = () => {
|
|
23026
|
-
const context = React4.useContext(LibraryFeaturesContext,);
|
|
23027
|
-
return context ?? {};
|
|
23028
|
-
};
|
|
23029
23102
|
var mockWithWarning = (message) => {
|
|
23030
23103
|
return () => {
|
|
23031
23104
|
warnOnce2(message,);
|
|
@@ -23055,6 +23128,7 @@ var implementation = {
|
|
|
23055
23128
|
canRenderOptimizedCanvasImage() {
|
|
23056
23129
|
return false;
|
|
23057
23130
|
},
|
|
23131
|
+
isOnPageCanvas: false,
|
|
23058
23132
|
};
|
|
23059
23133
|
var isRuntimeInjected = false;
|
|
23060
23134
|
var runtimeProxy = {
|
|
@@ -23076,6 +23150,13 @@ function _injectRuntime(injectedRuntime,) {
|
|
|
23076
23150
|
Object.assign(implementation, injectedRuntime,);
|
|
23077
23151
|
isRuntimeInjected = true;
|
|
23078
23152
|
}
|
|
23153
|
+
var LibraryFeaturesContext = /* @__PURE__ */ React4.createContext(void 0,);
|
|
23154
|
+
LibraryFeaturesContext.displayName = 'LibraryFeaturesContext';
|
|
23155
|
+
var LibraryFeaturesProvider = /* @__PURE__ */ (() => LibraryFeaturesContext.Provider)();
|
|
23156
|
+
var useLibraryFeatures = () => {
|
|
23157
|
+
const context = React4.useContext(LibraryFeaturesContext,);
|
|
23158
|
+
return context ?? {};
|
|
23159
|
+
};
|
|
23079
23160
|
var wrapperStyle = {
|
|
23080
23161
|
position: 'absolute',
|
|
23081
23162
|
borderRadius: 'inherit',
|
|
@@ -23336,7 +23417,7 @@ var key = 'src';
|
|
|
23336
23417
|
var BackgroundImage = {
|
|
23337
23418
|
isImageObject: function (image,) {
|
|
23338
23419
|
if (!image || typeof image === 'string') return false;
|
|
23339
|
-
return key in image;
|
|
23420
|
+
return typeof image === 'object' && key in image;
|
|
23340
23421
|
},
|
|
23341
23422
|
};
|
|
23342
23423
|
function applyForwardOverrides(background, props,) {
|
|
@@ -23377,6 +23458,29 @@ function backgroundImageFromProps(props,) {
|
|
|
23377
23458
|
}
|
|
23378
23459
|
return applyForwardOverrides(backgroundImage, props,);
|
|
23379
23460
|
}
|
|
23461
|
+
function getIntrinsicSizeForBackgroundImage(background,) {
|
|
23462
|
+
if (!background) return void 0;
|
|
23463
|
+
if (background.pixelHeight && background.pixelWidth) {
|
|
23464
|
+
return {
|
|
23465
|
+
width: background.pixelWidth,
|
|
23466
|
+
height: background.pixelHeight,
|
|
23467
|
+
};
|
|
23468
|
+
}
|
|
23469
|
+
return parseImageSizeFromSrc(background.src,);
|
|
23470
|
+
}
|
|
23471
|
+
function parseImageSizeFromSrc(src,) {
|
|
23472
|
+
if (!src) return void 0;
|
|
23473
|
+
const url = new URL(src,);
|
|
23474
|
+
const width = url.searchParams.get('width',);
|
|
23475
|
+
const height = url.searchParams.get('height',);
|
|
23476
|
+
if (width && height) {
|
|
23477
|
+
return {
|
|
23478
|
+
width: parseInt(width,),
|
|
23479
|
+
height: parseInt(height,),
|
|
23480
|
+
};
|
|
23481
|
+
}
|
|
23482
|
+
return void 0;
|
|
23483
|
+
}
|
|
23380
23484
|
function htmlElementAsMotionComponent(asElem,) {
|
|
23381
23485
|
return asElem && asElem !== 'search' && asElem !== 'slot' && asElem !== 'template' ? motion[asElem] : motion['div'];
|
|
23382
23486
|
}
|
|
@@ -24358,7 +24462,7 @@ function useStyleAndRect(props,) {
|
|
|
24358
24462
|
}
|
|
24359
24463
|
const isRenderingStaticContent = isStaticRenderer();
|
|
24360
24464
|
if (props.positionSticky) {
|
|
24361
|
-
if (!isRenderingStaticContent || inCodeComponent) {
|
|
24465
|
+
if (!isRenderingStaticContent || runtime.isOnPageCanvas || inCodeComponent) {
|
|
24362
24466
|
resultStyle.position = 'sticky';
|
|
24363
24467
|
resultStyle.willChange = 'transform';
|
|
24364
24468
|
resultStyle.zIndex = 1;
|
|
@@ -24367,8 +24471,12 @@ function useStyleAndRect(props,) {
|
|
|
24367
24471
|
resultStyle.bottom = props.positionStickyBottom;
|
|
24368
24472
|
resultStyle.left = props.positionStickyLeft;
|
|
24369
24473
|
}
|
|
24370
|
-
} else if (isRenderingStaticContent
|
|
24371
|
-
|
|
24474
|
+
} else if (isRenderingStaticContent) {
|
|
24475
|
+
if (props.positionFixed) {
|
|
24476
|
+
resultStyle.position = runtime.isOnPageCanvas ? 'fixed' : 'absolute';
|
|
24477
|
+
} else if (props.positionAbsolute) {
|
|
24478
|
+
resultStyle.position = 'absolute';
|
|
24479
|
+
}
|
|
24372
24480
|
}
|
|
24373
24481
|
if ('rotate' in resultStyle && resultStyle.rotate === void 0) {
|
|
24374
24482
|
delete resultStyle.rotate;
|
|
@@ -24481,6 +24589,11 @@ var VisibleFrame = /* @__PURE__ */ forwardRef(function VisibleFrame2(props, forw
|
|
|
24481
24589
|
parentSize,
|
|
24482
24590
|
);
|
|
24483
24591
|
const MotionComponent = htmlElementAsMotionComponent(props.as,);
|
|
24592
|
+
const intrinsicSize = getIntrinsicSizeForBackgroundImage(backgroundImage,);
|
|
24593
|
+
if (props.fitImageDimension && intrinsicSize) {
|
|
24594
|
+
currentStyle[props.fitImageDimension] = 'auto';
|
|
24595
|
+
currentStyle.aspectRatio = intrinsicSize.width / intrinsicSize.height;
|
|
24596
|
+
}
|
|
24484
24597
|
return /* @__PURE__ */ jsxs(MotionComponent, {
|
|
24485
24598
|
...dataProps,
|
|
24486
24599
|
...motionProps,
|
|
@@ -34231,14 +34344,14 @@ function domWriteCreateUpdateSafeArea(safeAreaRef,) {
|
|
|
34231
34344
|
Object.assign(safeAreaRef.current.style, floatingPositionSafeAreaStyle(x, y, placement, anchorRect, calculatedRect,),);
|
|
34232
34345
|
};
|
|
34233
34346
|
}
|
|
34234
|
-
function domWriteUpdatePosition(floatingPositionRef, position, rect,) {
|
|
34347
|
+
function domWriteUpdatePosition(floatingPositionRef, position, rect, scrollX, scrollY,) {
|
|
34235
34348
|
if (!floatingPositionRef.current) return;
|
|
34236
34349
|
Object.assign(floatingPositionRef.current.style, {
|
|
34237
34350
|
position,
|
|
34238
34351
|
visibility: 'visible',
|
|
34239
34352
|
// Append "px" because we are assigning this object straight to style.
|
|
34240
|
-
left: ((rect == null ? void 0 : rect.x) ?? 0) +
|
|
34241
|
-
top: ((rect == null ? void 0 : rect.y) ?? 0) +
|
|
34353
|
+
left: ((rect == null ? void 0 : rect.x) ?? 0) + scrollX + 'px',
|
|
34354
|
+
top: ((rect == null ? void 0 : rect.y) ?? 0) + scrollY + 'px',
|
|
34242
34355
|
},);
|
|
34243
34356
|
}
|
|
34244
34357
|
var FloatingStackingContext = /* @__PURE__ */ (() => {
|
|
@@ -34383,12 +34496,13 @@ function Floating({
|
|
|
34383
34496
|
let elementRect;
|
|
34384
34497
|
let safePlacement;
|
|
34385
34498
|
let calculatedRect;
|
|
34386
|
-
let scrolls;
|
|
34387
34499
|
let latestEvent;
|
|
34388
34500
|
let updateSafeArea;
|
|
34501
|
+
let scrollX = 0;
|
|
34502
|
+
let scrollY = 0;
|
|
34389
34503
|
const onRender = () => {
|
|
34390
34504
|
if (cleanupHasRun) return;
|
|
34391
|
-
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect,);
|
|
34505
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY,);
|
|
34392
34506
|
if (safeArea) updateSafeArea(anchorRect, calculatedRect, safePlacement, latestEvent,);
|
|
34393
34507
|
latestEvent = void 0;
|
|
34394
34508
|
};
|
|
@@ -34397,7 +34511,7 @@ function Floating({
|
|
|
34397
34511
|
if (latestEvent) {
|
|
34398
34512
|
onRender();
|
|
34399
34513
|
} else {
|
|
34400
|
-
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect,);
|
|
34514
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY,);
|
|
34401
34515
|
}
|
|
34402
34516
|
initialUpdateHasRun = true;
|
|
34403
34517
|
};
|
|
@@ -34407,6 +34521,13 @@ function Floating({
|
|
|
34407
34521
|
};
|
|
34408
34522
|
const domReadUpdateSafePlacementAndRect = () => {
|
|
34409
34523
|
if (!getSafePlacementRect || cleanupHasRun) return;
|
|
34524
|
+
if (position === 'fixed') {
|
|
34525
|
+
scrollX = 0;
|
|
34526
|
+
scrollY = 0;
|
|
34527
|
+
} else {
|
|
34528
|
+
scrollX = safeWindow.scrollX;
|
|
34529
|
+
scrollY = safeWindow.scrollY;
|
|
34530
|
+
}
|
|
34410
34531
|
anchorRect = anchorRef.current.getBoundingClientRect();
|
|
34411
34532
|
const safePlacementAndRect = getSafePlacementRect(anchorRect, elementRect,);
|
|
34412
34533
|
safePlacement = safePlacementAndRect[0];
|
|
@@ -36064,64 +36185,77 @@ function isSamePage(a, b,) {
|
|
|
36064
36185
|
return aPathVariables.length === bPathVariables.length &&
|
|
36065
36186
|
Object.keys(aPathVariables,).every((key7) => aPathVariables[key7] === bPathVariables[key7]);
|
|
36066
36187
|
}
|
|
36067
|
-
|
|
36068
|
-
|
|
36069
|
-
|
|
36070
|
-
|
|
36071
|
-
|
|
36072
|
-
|
|
36073
|
-
localeCode,
|
|
36074
|
-
},) {
|
|
36075
|
-
return {
|
|
36076
|
-
abTestId,
|
|
36077
|
-
framerSiteId,
|
|
36078
|
-
routePath: routePath || '/',
|
|
36079
|
-
collectionItemId,
|
|
36080
|
-
framerLocale: localeCode,
|
|
36081
|
-
webPageId: routeId,
|
|
36082
|
-
};
|
|
36188
|
+
var timezone = null;
|
|
36189
|
+
var visitorLocale = null;
|
|
36190
|
+
function setTimezoneAndLocaleForTracking() {
|
|
36191
|
+
const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions();
|
|
36192
|
+
timezone = resolvedDateTimeOptions.timeZone;
|
|
36193
|
+
visitorLocale = resolvedDateTimeOptions.locale;
|
|
36083
36194
|
}
|
|
36084
|
-
|
|
36195
|
+
requestIdleCallback(setTimezoneAndLocaleForTracking,);
|
|
36196
|
+
var useSendPageView = (currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale,) => {
|
|
36085
36197
|
const framerSiteId = useContext(FormContext,);
|
|
36086
36198
|
const pageviewEventData = useRef3();
|
|
36087
36199
|
const skipFirstPageView = useRef3(true,);
|
|
36088
36200
|
useEffect(() => {
|
|
36089
|
-
|
|
36090
|
-
|
|
36091
|
-
|
|
36092
|
-
|
|
36093
|
-
|
|
36094
|
-
|
|
36095
|
-
|
|
36096
|
-
collectionItemId = (await utils.getRecordIdBySlug(slug, activeLocale || void 0,)) ?? null;
|
|
36097
|
-
}
|
|
36098
|
-
}
|
|
36099
|
-
return getPageviewEventData({
|
|
36201
|
+
function getFullPageviewEventData() {
|
|
36202
|
+
if (!timezone || !visitorLocale) setTimezoneAndLocaleForTracking();
|
|
36203
|
+
const currentLocation = currentPathnameWithHash
|
|
36204
|
+
? new URL(safeWindow.location.origin + currentPathnameWithHash,)
|
|
36205
|
+
: safeWindow.location;
|
|
36206
|
+
const eventData = {
|
|
36207
|
+
version: pageviewEventVersion,
|
|
36100
36208
|
abTestId: currentRoute == null ? void 0 : currentRoute.abTestId,
|
|
36101
36209
|
framerSiteId: framerSiteId ?? null,
|
|
36102
36210
|
// 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.
|
|
36103
|
-
|
|
36104
|
-
routePath: currentRoute == null ? void 0 : currentRoute.path,
|
|
36105
|
-
collectionItemId,
|
|
36106
|
-
|
|
36107
|
-
|
|
36108
|
-
|
|
36211
|
+
webPageId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
|
|
36212
|
+
routePath: (currentRoute == null ? void 0 : currentRoute.path) || '/',
|
|
36213
|
+
collectionItemId: null,
|
|
36214
|
+
framerLocale: (activeLocale == null ? void 0 : activeLocale.code) || null,
|
|
36215
|
+
referrer: null,
|
|
36216
|
+
// The first pageview event will always be sent before hydration, in a script in `exportToHTML.ts`.
|
|
36217
|
+
url: currentLocation.href,
|
|
36218
|
+
hostname: currentLocation.hostname,
|
|
36219
|
+
// Capture the current location before the user moves to a new page to prevent
|
|
36220
|
+
// tracking wrong pathnames due to a race condition caused by async operations
|
|
36221
|
+
// when resolving the collection item ID below
|
|
36222
|
+
pathname: currentLocation.pathname,
|
|
36223
|
+
search: currentLocation.search || null,
|
|
36224
|
+
hash: currentLocation.hash || null,
|
|
36225
|
+
timezone,
|
|
36226
|
+
locale: visitorLocale,
|
|
36227
|
+
};
|
|
36228
|
+
return (currentRoute == null ? void 0 : currentRoute.collectionId) && collectionUtils && currentPathVariables
|
|
36229
|
+
? (async () => {
|
|
36230
|
+
var _a;
|
|
36231
|
+
let collectionItemId = null;
|
|
36232
|
+
const utils = currentRoute.collectionId &&
|
|
36233
|
+
(await ((_a = collectionUtils[currentRoute.collectionId]) == null ? void 0 : _a.call(collectionUtils,)));
|
|
36234
|
+
const [slug,] = Object.values(currentPathVariables,);
|
|
36235
|
+
if (utils && typeof slug === 'string') {
|
|
36236
|
+
collectionItemId = (await utils.getRecordIdBySlug(slug, activeLocale || void 0,)) ?? null;
|
|
36237
|
+
}
|
|
36238
|
+
return {
|
|
36239
|
+
...eventData,
|
|
36240
|
+
collectionItemId,
|
|
36241
|
+
};
|
|
36242
|
+
})()
|
|
36243
|
+
: eventData;
|
|
36244
|
+
}
|
|
36109
36245
|
void (async () => {
|
|
36110
|
-
const
|
|
36111
|
-
|
|
36246
|
+
const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
|
|
36247
|
+
const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
|
|
36248
|
+
pageviewEventData.current = eventData;
|
|
36112
36249
|
if (skipFirstPageView.current) {
|
|
36113
36250
|
skipFirstPageView.current = false;
|
|
36114
|
-
|
|
36251
|
+
} else {
|
|
36252
|
+
sendTrackingEvent('published_site_pageview', eventData, 'eager',);
|
|
36115
36253
|
}
|
|
36116
|
-
const eventData = await pageviewEventDataPromise;
|
|
36117
|
-
pageviewEventData.current = eventData;
|
|
36118
|
-
sendTrackingEvent('published_site_pageview', eventData, 'eager',);
|
|
36119
36254
|
})();
|
|
36120
36255
|
const listener = async (event) => {
|
|
36121
36256
|
if (event.persisted) {
|
|
36122
|
-
const
|
|
36123
|
-
|
|
36124
|
-
const eventData = await getFullPageviewEventData();
|
|
36257
|
+
const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
|
|
36258
|
+
const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
|
|
36125
36259
|
pageviewEventData.current = eventData;
|
|
36126
36260
|
sendTrackingEvent('published_site_pageview', eventData, 'eager',);
|
|
36127
36261
|
}
|
|
@@ -36130,7 +36264,7 @@ var useSendPageView = (currentRoute, currentRouteId, currentPathVariables, colle
|
|
|
36130
36264
|
return () => {
|
|
36131
36265
|
window.removeEventListener('pageshow', listener,);
|
|
36132
36266
|
};
|
|
36133
|
-
}, [currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale, framerSiteId,],);
|
|
36267
|
+
}, [currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale, framerSiteId,],);
|
|
36134
36268
|
return pageviewEventData;
|
|
36135
36269
|
};
|
|
36136
36270
|
var defaultLocaleId = 'default';
|
|
@@ -36242,6 +36376,7 @@ function Router({
|
|
|
36242
36376
|
return (fn) => fn();
|
|
36243
36377
|
}, [synchronousNavigationOnDesktop,],);
|
|
36244
36378
|
const isInitialNavigationRef = useRef3(true,);
|
|
36379
|
+
const currentPathnameWithHashRef = useRef3();
|
|
36245
36380
|
const currentRouteRef = useRef3(initialRoute,);
|
|
36246
36381
|
const currentPathVariablesRef = useRef3(initialPathVariables,);
|
|
36247
36382
|
const currentLocaleIdRef = useRef3(initialLocaleId,);
|
|
@@ -36337,12 +36472,13 @@ function Router({
|
|
|
36337
36472
|
transitionFn,
|
|
36338
36473
|
],);
|
|
36339
36474
|
const setCurrentRouteId = useCallback(
|
|
36340
|
-
(routeId, localeId, hash2, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL,) => {
|
|
36475
|
+
(routeId, localeId, hash2, pathnameWithHash, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL,) => {
|
|
36341
36476
|
isInitialNavigationRef.current = false;
|
|
36342
36477
|
const currentRouteId2 = currentRouteRef.current;
|
|
36343
36478
|
currentRouteRef.current = routeId;
|
|
36344
36479
|
currentPathVariablesRef.current = pathVariables;
|
|
36345
36480
|
currentLocaleIdRef.current = localeId;
|
|
36481
|
+
currentPathnameWithHashRef.current = pathnameWithHash;
|
|
36346
36482
|
scheduleSideEffect(() => {
|
|
36347
36483
|
updateScrollPosition(hash2, smoothScroll, isHistoryTransition,);
|
|
36348
36484
|
},);
|
|
@@ -36436,10 +36572,22 @@ function Router({
|
|
|
36436
36572
|
siteCanonicalURL,
|
|
36437
36573
|
}, ignorePushStateWrapper,);
|
|
36438
36574
|
};
|
|
36575
|
+
const pathnameWithHash = getSitePrefix(siteCanonicalURL,) + getPathForRoute(newRoute, {
|
|
36576
|
+
currentRoutePath: currentRoute2 == null ? void 0 : currentRoute2.path,
|
|
36577
|
+
currentPathVariables: currentPathVariables2,
|
|
36578
|
+
hash: hash2,
|
|
36579
|
+
pathVariables,
|
|
36580
|
+
localeId: currentRouteLocaleId,
|
|
36581
|
+
preserveQueryParams,
|
|
36582
|
+
siteCanonicalURL,
|
|
36583
|
+
relative: false,
|
|
36584
|
+
// We need an absolute path for the hash
|
|
36585
|
+
},);
|
|
36439
36586
|
setCurrentRouteId(
|
|
36440
36587
|
routeId,
|
|
36441
36588
|
currentRouteLocaleId,
|
|
36442
36589
|
routeElementId,
|
|
36590
|
+
pathnameWithHash,
|
|
36443
36591
|
pathVariables,
|
|
36444
36592
|
false,
|
|
36445
36593
|
nextRender,
|
|
@@ -36449,10 +36597,18 @@ function Router({
|
|
|
36449
36597
|
}, [routes, setCurrentRouteId, disableHistory, preserveQueryParams, siteCanonicalURL, monitorNextPaintAfterRender,],);
|
|
36450
36598
|
const getRoute = useGetRouteCallback(routes,);
|
|
36451
36599
|
const currentRouteId = currentRouteRef.current;
|
|
36600
|
+
const currentPathnameWithHash = currentPathnameWithHashRef.current;
|
|
36452
36601
|
const currentPathVariables = currentPathVariablesRef.current;
|
|
36453
36602
|
const currentRoute = routes[currentRouteId];
|
|
36454
36603
|
const currentRoutePath = currentRoute == null ? void 0 : currentRoute.path;
|
|
36455
|
-
const pageviewEventData = useSendPageView(
|
|
36604
|
+
const pageviewEventData = useSendPageView(
|
|
36605
|
+
currentRoute,
|
|
36606
|
+
currentRouteId,
|
|
36607
|
+
currentPathnameWithHash,
|
|
36608
|
+
currentPathVariables,
|
|
36609
|
+
collectionUtils,
|
|
36610
|
+
activeLocale,
|
|
36611
|
+
);
|
|
36456
36612
|
const isInitialNavigation = isInitialNavigationRef.current;
|
|
36457
36613
|
const api = useMemo2(() => ({
|
|
36458
36614
|
navigate,
|
|
@@ -36505,7 +36661,7 @@ function Router({
|
|
|
36505
36661
|
/* @__PURE__ */ jsx3(MarkSuspenseEffects.Start, {},),
|
|
36506
36662
|
/* @__PURE__ */ jsx3(WithLayoutTemplate, {
|
|
36507
36663
|
LayoutTemplate,
|
|
36508
|
-
routeId: currentRouteId,
|
|
36664
|
+
routeId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
|
|
36509
36665
|
style: defaultPageStyle,
|
|
36510
36666
|
children: (inLayoutTemplate) => {
|
|
36511
36667
|
return /* @__PURE__ */ jsx3(Fragment, {
|
|
@@ -44065,6 +44221,9 @@ function assert2(condition, ...msg) {
|
|
|
44065
44221
|
}
|
|
44066
44222
|
var missing = Symbol('missing',);
|
|
44067
44223
|
var frozenEmptyArray = Object.freeze([],);
|
|
44224
|
+
function emptyArray() {
|
|
44225
|
+
return frozenEmptyArray;
|
|
44226
|
+
}
|
|
44068
44227
|
var errorReporter;
|
|
44069
44228
|
function reportError({
|
|
44070
44229
|
error: maybeError,
|
|
@@ -44342,7 +44501,11 @@ try {
|
|
|
44342
44501
|
} catch {}
|
|
44343
44502
|
var postLogEntry;
|
|
44344
44503
|
try {
|
|
44345
|
-
if (
|
|
44504
|
+
if (
|
|
44505
|
+
typeof window !== 'undefined' && !!window.postMessage && window.parent !== window &&
|
|
44506
|
+
// Don't post messages to the top-level site from the Editor Bar
|
|
44507
|
+
!window.location.pathname.startsWith('/edit',)
|
|
44508
|
+
) {
|
|
44346
44509
|
postLogEntry = (entry) => {
|
|
44347
44510
|
var _a;
|
|
44348
44511
|
try {
|
|
@@ -44356,7 +44519,7 @@ try {
|
|
|
44356
44519
|
parts,
|
|
44357
44520
|
printed,
|
|
44358
44521
|
};
|
|
44359
|
-
(_a = window.
|
|
44522
|
+
(_a = window.parent) == null ? void 0 : _a.postMessage(data2, getServiceMap().app,);
|
|
44360
44523
|
} catch {}
|
|
44361
44524
|
};
|
|
44362
44525
|
}
|
|
@@ -45377,11 +45540,11 @@ function getAssetOwnerType(asset,) {
|
|
|
45377
45540
|
async function loadFontsWithOpenType(source,) {
|
|
45378
45541
|
switch (source) {
|
|
45379
45542
|
case 'google': {
|
|
45380
|
-
const supportedFonts = await import('./framer-chunks/google-
|
|
45543
|
+
const supportedFonts = await import('./framer-chunks/google-2KFYDWCN-PJC2DDXK.js');
|
|
45381
45544
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
45382
45545
|
}
|
|
45383
45546
|
case 'fontshare': {
|
|
45384
|
-
const supportedFonts = await import('./framer-chunks/fontshare-
|
|
45547
|
+
const supportedFonts = await import('./framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js');
|
|
45385
45548
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
45386
45549
|
}
|
|
45387
45550
|
default:
|
|
@@ -45391,11 +45554,11 @@ async function loadFontsWithOpenType(source,) {
|
|
|
45391
45554
|
async function loadFontToOpenTypeFeatures(source,) {
|
|
45392
45555
|
switch (source) {
|
|
45393
45556
|
case 'google': {
|
|
45394
|
-
const features = await import('./framer-chunks/google-
|
|
45557
|
+
const features = await import('./framer-chunks/google-HSMCYMMG-DWNQGSHN.js');
|
|
45395
45558
|
return features == null ? void 0 : features.default;
|
|
45396
45559
|
}
|
|
45397
45560
|
case 'fontshare': {
|
|
45398
|
-
const features = await import('./framer-chunks/fontshare-
|
|
45561
|
+
const features = await import('./framer-chunks/fontshare-Y53BJZLK-EUQIV252.js');
|
|
45399
45562
|
return features == null ? void 0 : features.default;
|
|
45400
45563
|
}
|
|
45401
45564
|
case 'framer': {
|
|
@@ -45943,10 +46106,10 @@ function loadVariationAxes(source,) {
|
|
|
45943
46106
|
const axes = (async () => {
|
|
45944
46107
|
switch (source) {
|
|
45945
46108
|
case 'google': {
|
|
45946
|
-
return (await import('./framer-chunks/google-
|
|
46109
|
+
return (await import('./framer-chunks/google-S367OFIE-AWJEPMSF.js')).default;
|
|
45947
46110
|
}
|
|
45948
46111
|
case 'fontshare': {
|
|
45949
|
-
return (await import('./framer-chunks/fontshare-
|
|
46112
|
+
return (await import('./framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js')).default;
|
|
45950
46113
|
}
|
|
45951
46114
|
default:
|
|
45952
46115
|
assertNever(source,);
|
|
@@ -47039,12 +47202,35 @@ var Image2 = /* @__PURE__ */ React4.forwardRef(function Image3(props, ref,) {
|
|
|
47039
47202
|
children,
|
|
47040
47203
|
alt,
|
|
47041
47204
|
draggable,
|
|
47205
|
+
fitImageDimension,
|
|
47042
47206
|
style: styleFromProps,
|
|
47043
47207
|
...rest
|
|
47044
47208
|
} = props;
|
|
47045
47209
|
const style2 = {
|
|
47046
47210
|
...styleFromProps,
|
|
47047
47211
|
};
|
|
47212
|
+
const intrinsicSize = useMemo2(() => getIntrinsicSizeForBackgroundImage(background,), [background,],);
|
|
47213
|
+
const [fallbackIntrinsicSize, setFallbackIntrinsicSize,] = useState();
|
|
47214
|
+
React4.useLayoutEffect(() => {
|
|
47215
|
+
if (!(background == null ? void 0 : background.src)) return;
|
|
47216
|
+
if (!fitImageDimension) return;
|
|
47217
|
+
if (intrinsicSize) return;
|
|
47218
|
+
const img = document.createElement('img',);
|
|
47219
|
+
img.onload = () => {
|
|
47220
|
+
if (img.naturalWidth && img.naturalHeight) {
|
|
47221
|
+
setFallbackIntrinsicSize({
|
|
47222
|
+
width: img.naturalWidth,
|
|
47223
|
+
height: img.naturalHeight,
|
|
47224
|
+
},);
|
|
47225
|
+
}
|
|
47226
|
+
};
|
|
47227
|
+
img.src = background.src;
|
|
47228
|
+
}, [background == null ? void 0 : background.src, fitImageDimension, intrinsicSize,],);
|
|
47229
|
+
const size = intrinsicSize ?? fallbackIntrinsicSize;
|
|
47230
|
+
if (fitImageDimension && size) {
|
|
47231
|
+
style2[fitImageDimension] = 'auto';
|
|
47232
|
+
style2.aspectRatio = size.width / size.height;
|
|
47233
|
+
}
|
|
47048
47234
|
if (background) {
|
|
47049
47235
|
delete style2.background;
|
|
47050
47236
|
}
|
|
@@ -49304,7 +49490,7 @@ var TextComponent = /* @__PURE__ */ (() => {
|
|
|
49304
49490
|
} = this.props;
|
|
49305
49491
|
if (this.props.transformTemplate) return this.props.transformTemplate;
|
|
49306
49492
|
const frame2 = this.frame;
|
|
49307
|
-
const isDOMLayoutAutoSized = _usesDOMRect && (widthType
|
|
49493
|
+
const isDOMLayoutAutoSized = _usesDOMRect && (isAutoDimensionType(widthType,) || isAutoDimensionType(heightType,));
|
|
49308
49494
|
const hasTransformTemplate = !frame2 || !RenderTarget.hasRestrictions() || __fromCanvasComponent || isDOMLayoutAutoSized;
|
|
49309
49495
|
if (hasTransformTemplate) return transformTemplate(this.props.center,);
|
|
49310
49496
|
}
|
|
@@ -50331,8 +50517,9 @@ function addFonts(component, passedFonts, flags,) {
|
|
|
50331
50517
|
},);
|
|
50332
50518
|
}
|
|
50333
50519
|
function getFonts(component,) {
|
|
50520
|
+
if (!component) return emptyArray();
|
|
50334
50521
|
const fonts = component.fonts;
|
|
50335
|
-
return fonts ??
|
|
50522
|
+
return fonts ?? emptyArray();
|
|
50336
50523
|
}
|
|
50337
50524
|
function getFontsFromSharedStyle(fonts,) {
|
|
50338
50525
|
if (fonts.length === 0) {
|