unframer 3.1.0 → 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 +2 -1
- package/dist/exporter.d.ts.map +1 -1
- package/dist/exporter.js +39 -28
- 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 +189 -103
- 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 +40 -29
- 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 +189 -103
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/cli.ts +3 -0
- package/src/exporter.ts +58 -31
- 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 +189 -107
- package/src/styles/framer.css +13 -12
- 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,
|
|
@@ -19314,8 +19294,13 @@ var DimensionType = /* @__PURE__ */ ((DimensionType2) => {
|
|
|
19314
19294
|
DimensionType2[DimensionType2['Auto'] = 2] = 'Auto';
|
|
19315
19295
|
DimensionType2[DimensionType2['FractionOfFreeSpace'] = 3] = 'FractionOfFreeSpace';
|
|
19316
19296
|
DimensionType2[DimensionType2['Viewport'] = 4] = 'Viewport';
|
|
19297
|
+
DimensionType2[DimensionType2['FitImage'] = 5] = 'FitImage';
|
|
19317
19298
|
return DimensionType2;
|
|
19318
19299
|
})(DimensionType || {},);
|
|
19300
|
+
function isAutoDimensionType(dimensionType,) {
|
|
19301
|
+
if (isUndefined(dimensionType,)) return false;
|
|
19302
|
+
return dimensionType === 2 || dimensionType === 5;
|
|
19303
|
+
}
|
|
19319
19304
|
function isConstraintSupportingChild(child,) {
|
|
19320
19305
|
if (!isReactChild(child,) || !isReactElement(child,)) {
|
|
19321
19306
|
return false;
|
|
@@ -19326,7 +19311,7 @@ var ConstraintMask = {
|
|
|
19326
19311
|
// Modifies the constraint mask to remove invalid (mutually exclusive) options and returns the original.
|
|
19327
19312
|
// TODO: this removes major inconsistencies but probably needs to be merged with ConstraintSolver.
|
|
19328
19313
|
quickfix: (constraints) => {
|
|
19329
|
-
if (constraints.widthType
|
|
19314
|
+
if (isAutoDimensionType(constraints.widthType,) || isAutoDimensionType(constraints.heightType,)) {
|
|
19330
19315
|
constraints.aspectRatio = null;
|
|
19331
19316
|
}
|
|
19332
19317
|
if (isFiniteNumber(constraints.aspectRatio,)) {
|
|
@@ -19344,13 +19329,13 @@ var ConstraintMask = {
|
|
|
19344
19329
|
}
|
|
19345
19330
|
}
|
|
19346
19331
|
if (constraints.left && constraints.right) {
|
|
19347
|
-
if (constraints.fixedSize || constraints.widthType
|
|
19332
|
+
if (constraints.fixedSize || isAutoDimensionType(constraints.widthType,) || isFiniteNumber(constraints.maxWidth,)) {
|
|
19348
19333
|
constraints.right = false;
|
|
19349
19334
|
}
|
|
19350
19335
|
constraints.widthType = 0;
|
|
19351
19336
|
}
|
|
19352
19337
|
if (constraints.top && constraints.bottom) {
|
|
19353
|
-
if (constraints.fixedSize || constraints.heightType
|
|
19338
|
+
if (constraints.fixedSize || isAutoDimensionType(constraints.heightType,) || isFiniteNumber(constraints.maxHeight,)) {
|
|
19354
19339
|
constraints.bottom = false;
|
|
19355
19340
|
}
|
|
19356
19341
|
constraints.heightType = 0;
|
|
@@ -19459,7 +19444,7 @@ var ConstraintValues = {
|
|
|
19459
19444
|
const hOpposingPinsOffset = pinnedOffset(values.left, values.right,);
|
|
19460
19445
|
if (parentWidth && isFiniteNumber(hOpposingPinsOffset,)) {
|
|
19461
19446
|
width = parentWidth - hOpposingPinsOffset;
|
|
19462
|
-
} else if (autoSize && values.widthType
|
|
19447
|
+
} else if (autoSize && isAutoDimensionType(values.widthType,)) {
|
|
19463
19448
|
width = autoSize.width;
|
|
19464
19449
|
} else if (isFiniteNumber(values.width,)) {
|
|
19465
19450
|
switch (values.widthType) {
|
|
@@ -19476,6 +19461,7 @@ var ConstraintValues = {
|
|
|
19476
19461
|
}
|
|
19477
19462
|
break;
|
|
19478
19463
|
case 2:
|
|
19464
|
+
case 5:
|
|
19479
19465
|
break;
|
|
19480
19466
|
default:
|
|
19481
19467
|
assertNever(values.widthType,);
|
|
@@ -19484,7 +19470,7 @@ var ConstraintValues = {
|
|
|
19484
19470
|
const vOpposingPinsOffset = pinnedOffset(values.top, values.bottom,);
|
|
19485
19471
|
if (parentHeight && isFiniteNumber(vOpposingPinsOffset,)) {
|
|
19486
19472
|
height = parentHeight - vOpposingPinsOffset;
|
|
19487
|
-
} else if (autoSize && values.heightType
|
|
19473
|
+
} else if (autoSize && isAutoDimensionType(values.heightType,)) {
|
|
19488
19474
|
height = autoSize.height;
|
|
19489
19475
|
} else if (isFiniteNumber(values.height,)) {
|
|
19490
19476
|
switch (values.heightType) {
|
|
@@ -19501,6 +19487,7 @@ var ConstraintValues = {
|
|
|
19501
19487
|
}
|
|
19502
19488
|
break;
|
|
19503
19489
|
case 2:
|
|
19490
|
+
case 5:
|
|
19504
19491
|
break;
|
|
19505
19492
|
default:
|
|
19506
19493
|
assertNever(values.heightType,);
|
|
@@ -20565,9 +20552,10 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20565
20552
|
text-transform: var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
|
|
20566
20553
|
/* Cursor inherit to overwrite the user agent stylesheet on rich text links. */
|
|
20567
20554
|
cursor: var(--framer-custom-cursors, pointer);
|
|
20568
|
-
|
|
20569
|
-
|
|
20570
|
-
|
|
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);
|
|
20571
20559
|
}
|
|
20572
20560
|
`,
|
|
20573
20561
|
// Text decoration can't be applied to the nested spans of links because it breaks animations
|
|
@@ -20592,9 +20580,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20592
20580
|
color: ${
|
|
20593
20581
|
createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-link-text-color', '--framer-text-color',], '#000',)
|
|
20594
20582
|
};
|
|
20595
|
-
background-color: ${
|
|
20596
|
-
createRGBVariableFallbacks(['--framer-link-text-background-color', '--framer-text-background-color',], 'initial',)
|
|
20597
|
-
};
|
|
20583
|
+
background-color: ${createRGBVariableFallbacks(['--framer-link-text-background-color',], 'initial',)};
|
|
20598
20584
|
}
|
|
20599
20585
|
}
|
|
20600
20586
|
`, /* css */
|
|
@@ -20718,9 +20704,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20718
20704
|
color: var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000)));
|
|
20719
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));
|
|
20720
20706
|
text-transform: var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
|
|
20721
|
-
background-color: var(--framer-link-current-text-background-color, var(--framer-link-text-background-color,
|
|
20722
|
-
border-radius: var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius,
|
|
20723
|
-
padding: var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding,
|
|
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));
|
|
20724
20710
|
}
|
|
20725
20711
|
`, /* css */
|
|
20726
20712
|
`
|
|
@@ -20800,9 +20786,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20800
20786
|
color: var(--framer-link-hover-text-color, var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
|
|
20801
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));
|
|
20802
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))));
|
|
20803
|
-
background-color: var(--framer-link-hover-text-background-color, var(--framer-link-current-text-background-color, var(--framer-link-text-background-color,
|
|
20804
|
-
border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius,
|
|
20805
|
-
padding: var(--framer-link-hover-text-background-padding, var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding,
|
|
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)));
|
|
20806
20792
|
}
|
|
20807
20793
|
`, /* css */
|
|
20808
20794
|
`
|
|
@@ -20836,7 +20822,6 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20836
20822
|
'--framer-link-hover-text-background-color',
|
|
20837
20823
|
'--framer-link-current-text-background-color',
|
|
20838
20824
|
'--framer-link-text-background-color',
|
|
20839
|
-
'--framer-text-background-color',
|
|
20840
20825
|
], 'initial',)
|
|
20841
20826
|
};
|
|
20842
20827
|
}
|
|
@@ -20877,7 +20862,6 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20877
20862
|
'--framer-link-hover-text-background-color',
|
|
20878
20863
|
'--framer-link-current-text-background-color',
|
|
20879
20864
|
'--framer-link-text-background-color',
|
|
20880
|
-
'--framer-text-background-color',
|
|
20881
20865
|
], 'initial',)
|
|
20882
20866
|
};
|
|
20883
20867
|
}
|
|
@@ -23433,7 +23417,7 @@ var key = 'src';
|
|
|
23433
23417
|
var BackgroundImage = {
|
|
23434
23418
|
isImageObject: function (image,) {
|
|
23435
23419
|
if (!image || typeof image === 'string') return false;
|
|
23436
|
-
return key in image;
|
|
23420
|
+
return typeof image === 'object' && key in image;
|
|
23437
23421
|
},
|
|
23438
23422
|
};
|
|
23439
23423
|
function applyForwardOverrides(background, props,) {
|
|
@@ -23474,6 +23458,29 @@ function backgroundImageFromProps(props,) {
|
|
|
23474
23458
|
}
|
|
23475
23459
|
return applyForwardOverrides(backgroundImage, props,);
|
|
23476
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
|
+
}
|
|
23477
23484
|
function htmlElementAsMotionComponent(asElem,) {
|
|
23478
23485
|
return asElem && asElem !== 'search' && asElem !== 'slot' && asElem !== 'template' ? motion[asElem] : motion['div'];
|
|
23479
23486
|
}
|
|
@@ -24582,6 +24589,11 @@ var VisibleFrame = /* @__PURE__ */ forwardRef(function VisibleFrame2(props, forw
|
|
|
24582
24589
|
parentSize,
|
|
24583
24590
|
);
|
|
24584
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
|
+
}
|
|
24585
24597
|
return /* @__PURE__ */ jsxs(MotionComponent, {
|
|
24586
24598
|
...dataProps,
|
|
24587
24599
|
...motionProps,
|
|
@@ -34332,14 +34344,14 @@ function domWriteCreateUpdateSafeArea(safeAreaRef,) {
|
|
|
34332
34344
|
Object.assign(safeAreaRef.current.style, floatingPositionSafeAreaStyle(x, y, placement, anchorRect, calculatedRect,),);
|
|
34333
34345
|
};
|
|
34334
34346
|
}
|
|
34335
|
-
function domWriteUpdatePosition(floatingPositionRef, position, rect,) {
|
|
34347
|
+
function domWriteUpdatePosition(floatingPositionRef, position, rect, scrollX, scrollY,) {
|
|
34336
34348
|
if (!floatingPositionRef.current) return;
|
|
34337
34349
|
Object.assign(floatingPositionRef.current.style, {
|
|
34338
34350
|
position,
|
|
34339
34351
|
visibility: 'visible',
|
|
34340
34352
|
// Append "px" because we are assigning this object straight to style.
|
|
34341
|
-
left: ((rect == null ? void 0 : rect.x) ?? 0) +
|
|
34342
|
-
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',
|
|
34343
34355
|
},);
|
|
34344
34356
|
}
|
|
34345
34357
|
var FloatingStackingContext = /* @__PURE__ */ (() => {
|
|
@@ -34484,12 +34496,13 @@ function Floating({
|
|
|
34484
34496
|
let elementRect;
|
|
34485
34497
|
let safePlacement;
|
|
34486
34498
|
let calculatedRect;
|
|
34487
|
-
let scrolls;
|
|
34488
34499
|
let latestEvent;
|
|
34489
34500
|
let updateSafeArea;
|
|
34501
|
+
let scrollX = 0;
|
|
34502
|
+
let scrollY = 0;
|
|
34490
34503
|
const onRender = () => {
|
|
34491
34504
|
if (cleanupHasRun) return;
|
|
34492
|
-
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect,);
|
|
34505
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY,);
|
|
34493
34506
|
if (safeArea) updateSafeArea(anchorRect, calculatedRect, safePlacement, latestEvent,);
|
|
34494
34507
|
latestEvent = void 0;
|
|
34495
34508
|
};
|
|
@@ -34498,7 +34511,7 @@ function Floating({
|
|
|
34498
34511
|
if (latestEvent) {
|
|
34499
34512
|
onRender();
|
|
34500
34513
|
} else {
|
|
34501
|
-
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect,);
|
|
34514
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY,);
|
|
34502
34515
|
}
|
|
34503
34516
|
initialUpdateHasRun = true;
|
|
34504
34517
|
};
|
|
@@ -34508,6 +34521,13 @@ function Floating({
|
|
|
34508
34521
|
};
|
|
34509
34522
|
const domReadUpdateSafePlacementAndRect = () => {
|
|
34510
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
|
+
}
|
|
34511
34531
|
anchorRect = anchorRef.current.getBoundingClientRect();
|
|
34512
34532
|
const safePlacementAndRect = getSafePlacementRect(anchorRect, elementRect,);
|
|
34513
34533
|
safePlacement = safePlacementAndRect[0];
|
|
@@ -36165,64 +36185,77 @@ function isSamePage(a, b,) {
|
|
|
36165
36185
|
return aPathVariables.length === bPathVariables.length &&
|
|
36166
36186
|
Object.keys(aPathVariables,).every((key7) => aPathVariables[key7] === bPathVariables[key7]);
|
|
36167
36187
|
}
|
|
36168
|
-
|
|
36169
|
-
|
|
36170
|
-
|
|
36171
|
-
|
|
36172
|
-
|
|
36173
|
-
|
|
36174
|
-
localeCode,
|
|
36175
|
-
},) {
|
|
36176
|
-
return {
|
|
36177
|
-
abTestId,
|
|
36178
|
-
framerSiteId,
|
|
36179
|
-
routePath: routePath || '/',
|
|
36180
|
-
collectionItemId,
|
|
36181
|
-
framerLocale: localeCode,
|
|
36182
|
-
webPageId: routeId,
|
|
36183
|
-
};
|
|
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;
|
|
36184
36194
|
}
|
|
36185
|
-
|
|
36195
|
+
requestIdleCallback(setTimezoneAndLocaleForTracking,);
|
|
36196
|
+
var useSendPageView = (currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale,) => {
|
|
36186
36197
|
const framerSiteId = useContext(FormContext,);
|
|
36187
36198
|
const pageviewEventData = useRef3();
|
|
36188
36199
|
const skipFirstPageView = useRef3(true,);
|
|
36189
36200
|
useEffect(() => {
|
|
36190
|
-
|
|
36191
|
-
|
|
36192
|
-
|
|
36193
|
-
|
|
36194
|
-
|
|
36195
|
-
|
|
36196
|
-
|
|
36197
|
-
collectionItemId = (await utils.getRecordIdBySlug(slug, activeLocale || void 0,)) ?? null;
|
|
36198
|
-
}
|
|
36199
|
-
}
|
|
36200
|
-
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,
|
|
36201
36208
|
abTestId: currentRoute == null ? void 0 : currentRoute.abTestId,
|
|
36202
36209
|
framerSiteId: framerSiteId ?? null,
|
|
36203
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.
|
|
36204
|
-
|
|
36205
|
-
routePath: currentRoute == null ? void 0 : currentRoute.path,
|
|
36206
|
-
collectionItemId,
|
|
36207
|
-
|
|
36208
|
-
|
|
36209
|
-
|
|
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
|
+
}
|
|
36210
36245
|
void (async () => {
|
|
36211
|
-
const
|
|
36212
|
-
|
|
36246
|
+
const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
|
|
36247
|
+
const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
|
|
36248
|
+
pageviewEventData.current = eventData;
|
|
36213
36249
|
if (skipFirstPageView.current) {
|
|
36214
36250
|
skipFirstPageView.current = false;
|
|
36215
|
-
|
|
36251
|
+
} else {
|
|
36252
|
+
sendTrackingEvent('published_site_pageview', eventData, 'eager',);
|
|
36216
36253
|
}
|
|
36217
|
-
const eventData = await pageviewEventDataPromise;
|
|
36218
|
-
pageviewEventData.current = eventData;
|
|
36219
|
-
sendTrackingEvent('published_site_pageview', eventData, 'eager',);
|
|
36220
36254
|
})();
|
|
36221
36255
|
const listener = async (event) => {
|
|
36222
36256
|
if (event.persisted) {
|
|
36223
|
-
const
|
|
36224
|
-
|
|
36225
|
-
const eventData = await getFullPageviewEventData();
|
|
36257
|
+
const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
|
|
36258
|
+
const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
|
|
36226
36259
|
pageviewEventData.current = eventData;
|
|
36227
36260
|
sendTrackingEvent('published_site_pageview', eventData, 'eager',);
|
|
36228
36261
|
}
|
|
@@ -36231,7 +36264,7 @@ var useSendPageView = (currentRoute, currentRouteId, currentPathVariables, colle
|
|
|
36231
36264
|
return () => {
|
|
36232
36265
|
window.removeEventListener('pageshow', listener,);
|
|
36233
36266
|
};
|
|
36234
|
-
}, [currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale, framerSiteId,],);
|
|
36267
|
+
}, [currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale, framerSiteId,],);
|
|
36235
36268
|
return pageviewEventData;
|
|
36236
36269
|
};
|
|
36237
36270
|
var defaultLocaleId = 'default';
|
|
@@ -36343,6 +36376,7 @@ function Router({
|
|
|
36343
36376
|
return (fn) => fn();
|
|
36344
36377
|
}, [synchronousNavigationOnDesktop,],);
|
|
36345
36378
|
const isInitialNavigationRef = useRef3(true,);
|
|
36379
|
+
const currentPathnameWithHashRef = useRef3();
|
|
36346
36380
|
const currentRouteRef = useRef3(initialRoute,);
|
|
36347
36381
|
const currentPathVariablesRef = useRef3(initialPathVariables,);
|
|
36348
36382
|
const currentLocaleIdRef = useRef3(initialLocaleId,);
|
|
@@ -36438,12 +36472,13 @@ function Router({
|
|
|
36438
36472
|
transitionFn,
|
|
36439
36473
|
],);
|
|
36440
36474
|
const setCurrentRouteId = useCallback(
|
|
36441
|
-
(routeId, localeId, hash2, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL,) => {
|
|
36475
|
+
(routeId, localeId, hash2, pathnameWithHash, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL,) => {
|
|
36442
36476
|
isInitialNavigationRef.current = false;
|
|
36443
36477
|
const currentRouteId2 = currentRouteRef.current;
|
|
36444
36478
|
currentRouteRef.current = routeId;
|
|
36445
36479
|
currentPathVariablesRef.current = pathVariables;
|
|
36446
36480
|
currentLocaleIdRef.current = localeId;
|
|
36481
|
+
currentPathnameWithHashRef.current = pathnameWithHash;
|
|
36447
36482
|
scheduleSideEffect(() => {
|
|
36448
36483
|
updateScrollPosition(hash2, smoothScroll, isHistoryTransition,);
|
|
36449
36484
|
},);
|
|
@@ -36537,10 +36572,22 @@ function Router({
|
|
|
36537
36572
|
siteCanonicalURL,
|
|
36538
36573
|
}, ignorePushStateWrapper,);
|
|
36539
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
|
+
},);
|
|
36540
36586
|
setCurrentRouteId(
|
|
36541
36587
|
routeId,
|
|
36542
36588
|
currentRouteLocaleId,
|
|
36543
36589
|
routeElementId,
|
|
36590
|
+
pathnameWithHash,
|
|
36544
36591
|
pathVariables,
|
|
36545
36592
|
false,
|
|
36546
36593
|
nextRender,
|
|
@@ -36550,10 +36597,18 @@ function Router({
|
|
|
36550
36597
|
}, [routes, setCurrentRouteId, disableHistory, preserveQueryParams, siteCanonicalURL, monitorNextPaintAfterRender,],);
|
|
36551
36598
|
const getRoute = useGetRouteCallback(routes,);
|
|
36552
36599
|
const currentRouteId = currentRouteRef.current;
|
|
36600
|
+
const currentPathnameWithHash = currentPathnameWithHashRef.current;
|
|
36553
36601
|
const currentPathVariables = currentPathVariablesRef.current;
|
|
36554
36602
|
const currentRoute = routes[currentRouteId];
|
|
36555
36603
|
const currentRoutePath = currentRoute == null ? void 0 : currentRoute.path;
|
|
36556
|
-
const pageviewEventData = useSendPageView(
|
|
36604
|
+
const pageviewEventData = useSendPageView(
|
|
36605
|
+
currentRoute,
|
|
36606
|
+
currentRouteId,
|
|
36607
|
+
currentPathnameWithHash,
|
|
36608
|
+
currentPathVariables,
|
|
36609
|
+
collectionUtils,
|
|
36610
|
+
activeLocale,
|
|
36611
|
+
);
|
|
36557
36612
|
const isInitialNavigation = isInitialNavigationRef.current;
|
|
36558
36613
|
const api = useMemo2(() => ({
|
|
36559
36614
|
navigate,
|
|
@@ -36606,7 +36661,7 @@ function Router({
|
|
|
36606
36661
|
/* @__PURE__ */ jsx3(MarkSuspenseEffects.Start, {},),
|
|
36607
36662
|
/* @__PURE__ */ jsx3(WithLayoutTemplate, {
|
|
36608
36663
|
LayoutTemplate,
|
|
36609
|
-
routeId: currentRouteId,
|
|
36664
|
+
routeId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
|
|
36610
36665
|
style: defaultPageStyle,
|
|
36611
36666
|
children: (inLayoutTemplate) => {
|
|
36612
36667
|
return /* @__PURE__ */ jsx3(Fragment, {
|
|
@@ -44446,7 +44501,11 @@ try {
|
|
|
44446
44501
|
} catch {}
|
|
44447
44502
|
var postLogEntry;
|
|
44448
44503
|
try {
|
|
44449
|
-
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
|
+
) {
|
|
44450
44509
|
postLogEntry = (entry) => {
|
|
44451
44510
|
var _a;
|
|
44452
44511
|
try {
|
|
@@ -44460,7 +44519,7 @@ try {
|
|
|
44460
44519
|
parts,
|
|
44461
44520
|
printed,
|
|
44462
44521
|
};
|
|
44463
|
-
(_a = window.
|
|
44522
|
+
(_a = window.parent) == null ? void 0 : _a.postMessage(data2, getServiceMap().app,);
|
|
44464
44523
|
} catch {}
|
|
44465
44524
|
};
|
|
44466
44525
|
}
|
|
@@ -45481,11 +45540,11 @@ function getAssetOwnerType(asset,) {
|
|
|
45481
45540
|
async function loadFontsWithOpenType(source,) {
|
|
45482
45541
|
switch (source) {
|
|
45483
45542
|
case 'google': {
|
|
45484
|
-
const supportedFonts = await import('./framer-chunks/google-
|
|
45543
|
+
const supportedFonts = await import('./framer-chunks/google-2KFYDWCN-PJC2DDXK.js');
|
|
45485
45544
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
45486
45545
|
}
|
|
45487
45546
|
case 'fontshare': {
|
|
45488
|
-
const supportedFonts = await import('./framer-chunks/fontshare-
|
|
45547
|
+
const supportedFonts = await import('./framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js');
|
|
45489
45548
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
45490
45549
|
}
|
|
45491
45550
|
default:
|
|
@@ -45495,11 +45554,11 @@ async function loadFontsWithOpenType(source,) {
|
|
|
45495
45554
|
async function loadFontToOpenTypeFeatures(source,) {
|
|
45496
45555
|
switch (source) {
|
|
45497
45556
|
case 'google': {
|
|
45498
|
-
const features = await import('./framer-chunks/google-
|
|
45557
|
+
const features = await import('./framer-chunks/google-HSMCYMMG-DWNQGSHN.js');
|
|
45499
45558
|
return features == null ? void 0 : features.default;
|
|
45500
45559
|
}
|
|
45501
45560
|
case 'fontshare': {
|
|
45502
|
-
const features = await import('./framer-chunks/fontshare-
|
|
45561
|
+
const features = await import('./framer-chunks/fontshare-Y53BJZLK-EUQIV252.js');
|
|
45503
45562
|
return features == null ? void 0 : features.default;
|
|
45504
45563
|
}
|
|
45505
45564
|
case 'framer': {
|
|
@@ -46047,10 +46106,10 @@ function loadVariationAxes(source,) {
|
|
|
46047
46106
|
const axes = (async () => {
|
|
46048
46107
|
switch (source) {
|
|
46049
46108
|
case 'google': {
|
|
46050
|
-
return (await import('./framer-chunks/google-
|
|
46109
|
+
return (await import('./framer-chunks/google-S367OFIE-AWJEPMSF.js')).default;
|
|
46051
46110
|
}
|
|
46052
46111
|
case 'fontshare': {
|
|
46053
|
-
return (await import('./framer-chunks/fontshare-
|
|
46112
|
+
return (await import('./framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js')).default;
|
|
46054
46113
|
}
|
|
46055
46114
|
default:
|
|
46056
46115
|
assertNever(source,);
|
|
@@ -47143,12 +47202,35 @@ var Image2 = /* @__PURE__ */ React4.forwardRef(function Image3(props, ref,) {
|
|
|
47143
47202
|
children,
|
|
47144
47203
|
alt,
|
|
47145
47204
|
draggable,
|
|
47205
|
+
fitImageDimension,
|
|
47146
47206
|
style: styleFromProps,
|
|
47147
47207
|
...rest
|
|
47148
47208
|
} = props;
|
|
47149
47209
|
const style2 = {
|
|
47150
47210
|
...styleFromProps,
|
|
47151
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
|
+
}
|
|
47152
47234
|
if (background) {
|
|
47153
47235
|
delete style2.background;
|
|
47154
47236
|
}
|
|
@@ -49408,7 +49490,7 @@ var TextComponent = /* @__PURE__ */ (() => {
|
|
|
49408
49490
|
} = this.props;
|
|
49409
49491
|
if (this.props.transformTemplate) return this.props.transformTemplate;
|
|
49410
49492
|
const frame2 = this.frame;
|
|
49411
|
-
const isDOMLayoutAutoSized = _usesDOMRect && (widthType
|
|
49493
|
+
const isDOMLayoutAutoSized = _usesDOMRect && (isAutoDimensionType(widthType,) || isAutoDimensionType(heightType,));
|
|
49412
49494
|
const hasTransformTemplate = !frame2 || !RenderTarget.hasRestrictions() || __fromCanvasComponent || isDOMLayoutAutoSized;
|
|
49413
49495
|
if (hasTransformTemplate) return transformTemplate(this.props.center,);
|
|
49414
49496
|
}
|