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/dist/framer.js
CHANGED
|
@@ -10959,7 +10959,7 @@ function stagger(duration = 0.1, { startDelay = 0, from = 0, ease: ease2, } = {}
|
|
|
10959
10959
|
return startDelay + delay2;
|
|
10960
10960
|
};
|
|
10961
10961
|
}
|
|
10962
|
-
// /:https://app.framerstatic.com/framer.
|
|
10962
|
+
// /:https://app.framerstatic.com/framer.UWLYDHV3.mjs
|
|
10963
10963
|
const react_10 = require("react");
|
|
10964
10964
|
const react_11 = __importDefault(require("react"));
|
|
10965
10965
|
const react_12 = require("react");
|
|
@@ -12431,33 +12431,10 @@ function useRouteHandler(routeId, preload = false, elementId) {
|
|
|
12431
12431
|
const handler = react_11.default.useCallback(() => navigate == null ? void 0 : navigate(routeId, elementId), [navigate, elementId, routeId,]);
|
|
12432
12432
|
return handler;
|
|
12433
12433
|
}
|
|
12434
|
-
var
|
|
12435
|
-
var visitorLocale;
|
|
12436
|
-
function setTimezoneAndLocaleForTracking() {
|
|
12437
|
-
const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions();
|
|
12438
|
-
timezone = resolvedDateTimeOptions.timeZone;
|
|
12439
|
-
visitorLocale = resolvedDateTimeOptions.locale;
|
|
12440
|
-
}
|
|
12441
|
-
requestIdleCallback(setTimezoneAndLocaleForTracking);
|
|
12434
|
+
var pageviewEventVersion = 2;
|
|
12442
12435
|
function sendTrackingEvent(eventType, eventData, sendOn = 'lazy') {
|
|
12443
|
-
|
|
12444
|
-
|
|
12445
|
-
if (!timezone || !visitorLocale)
|
|
12446
|
-
setTimezoneAndLocaleForTracking();
|
|
12447
|
-
safeWindow.__framer_events.push([eventType, {
|
|
12448
|
-
// Base properties common to all events
|
|
12449
|
-
referrer: null,
|
|
12450
|
-
// The first pageview event will always be sent before hydration, in a script in `exportToHTML.ts`.
|
|
12451
|
-
url: safeWindow.location.href,
|
|
12452
|
-
hostname: safeWindow.location.hostname || null,
|
|
12453
|
-
pathname: safeWindow.location.pathname || null,
|
|
12454
|
-
hash: safeWindow.location.hash || null,
|
|
12455
|
-
search: safeWindow.location.search || null,
|
|
12456
|
-
timezone,
|
|
12457
|
-
locale: visitorLocale,
|
|
12458
|
-
// Additional properties specific to custom events
|
|
12459
|
-
...eventData,
|
|
12460
|
-
}, sendOn,]);
|
|
12436
|
+
var _a;
|
|
12437
|
+
(_a = safeWindow.__framer_events) == null ? void 0 : _a.push([eventType, eventData, sendOn,]);
|
|
12461
12438
|
switch (eventType) {
|
|
12462
12439
|
case 'published_site_click': {
|
|
12463
12440
|
const { trackingId, href, } = eventData;
|
|
@@ -13361,7 +13338,7 @@ function usePopStateHandler(currentRouteId, setCurrentRouteId) {
|
|
|
13361
13338
|
const stopMonitoringINPRelatedInputs = monitorINPRelatedInputs();
|
|
13362
13339
|
void nextRender.promise.finally(stopMonitoringINPRelatedInputs);
|
|
13363
13340
|
const changeRoute = () => {
|
|
13364
|
-
setCurrentRouteId(routeId, isString(localeId) ? localeId : void 0, isString(hash2) ? hash2 : void 0, isObject2(pathVariables) ? pathVariables : void 0, true, nextRender, false);
|
|
13341
|
+
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);
|
|
13365
13342
|
};
|
|
13366
13343
|
const viewTransition = await startViewTransition2(currentRouteId.current, routeId, changeRoute);
|
|
13367
13344
|
const navigationTransition = (_d = window.navigation) == null ? void 0 : _d.transition;
|
|
@@ -16175,6 +16152,14 @@ var P3Color = class _P3Color {
|
|
|
16175
16152
|
return color2;
|
|
16176
16153
|
return value.toString('srgb');
|
|
16177
16154
|
}
|
|
16155
|
+
static multiplyAlpha(color2, alpha2) {
|
|
16156
|
+
return new _P3Color({
|
|
16157
|
+
r: color2.r,
|
|
16158
|
+
g: color2.g,
|
|
16159
|
+
b: color2.b,
|
|
16160
|
+
a: color2.a * alpha2,
|
|
16161
|
+
});
|
|
16162
|
+
}
|
|
16178
16163
|
};
|
|
16179
16164
|
function clampRGB(color2) {
|
|
16180
16165
|
return P3Color.srgbFromValue(color2);
|
|
@@ -18845,9 +18830,15 @@ var DimensionType = /* @__PURE__ */ ((DimensionType2) => {
|
|
|
18845
18830
|
DimensionType2[DimensionType2['Auto'] = 2] = 'Auto';
|
|
18846
18831
|
DimensionType2[DimensionType2['FractionOfFreeSpace'] = 3] = 'FractionOfFreeSpace';
|
|
18847
18832
|
DimensionType2[DimensionType2['Viewport'] = 4] = 'Viewport';
|
|
18833
|
+
DimensionType2[DimensionType2['FitImage'] = 5] = 'FitImage';
|
|
18848
18834
|
return DimensionType2;
|
|
18849
18835
|
})(DimensionType || {});
|
|
18850
18836
|
exports.DimensionType = DimensionType;
|
|
18837
|
+
function isAutoDimensionType(dimensionType) {
|
|
18838
|
+
if (isUndefined(dimensionType))
|
|
18839
|
+
return false;
|
|
18840
|
+
return dimensionType === 2 || dimensionType === 5;
|
|
18841
|
+
}
|
|
18851
18842
|
function isConstraintSupportingChild(child) {
|
|
18852
18843
|
if (!isReactChild(child) || !isReactElement(child)) {
|
|
18853
18844
|
return false;
|
|
@@ -18858,7 +18849,7 @@ var ConstraintMask = {
|
|
|
18858
18849
|
// Modifies the constraint mask to remove invalid (mutually exclusive) options and returns the original.
|
|
18859
18850
|
// TODO: this removes major inconsistencies but probably needs to be merged with ConstraintSolver.
|
|
18860
18851
|
quickfix: (constraints) => {
|
|
18861
|
-
if (constraints.widthType
|
|
18852
|
+
if (isAutoDimensionType(constraints.widthType) || isAutoDimensionType(constraints.heightType)) {
|
|
18862
18853
|
constraints.aspectRatio = null;
|
|
18863
18854
|
}
|
|
18864
18855
|
if (isFiniteNumber(constraints.aspectRatio)) {
|
|
@@ -18876,13 +18867,13 @@ var ConstraintMask = {
|
|
|
18876
18867
|
}
|
|
18877
18868
|
}
|
|
18878
18869
|
if (constraints.left && constraints.right) {
|
|
18879
|
-
if (constraints.fixedSize || constraints.widthType
|
|
18870
|
+
if (constraints.fixedSize || isAutoDimensionType(constraints.widthType) || isFiniteNumber(constraints.maxWidth)) {
|
|
18880
18871
|
constraints.right = false;
|
|
18881
18872
|
}
|
|
18882
18873
|
constraints.widthType = 0;
|
|
18883
18874
|
}
|
|
18884
18875
|
if (constraints.top && constraints.bottom) {
|
|
18885
|
-
if (constraints.fixedSize || constraints.heightType
|
|
18876
|
+
if (constraints.fixedSize || isAutoDimensionType(constraints.heightType) || isFiniteNumber(constraints.maxHeight)) {
|
|
18886
18877
|
constraints.bottom = false;
|
|
18887
18878
|
}
|
|
18888
18879
|
constraints.heightType = 0;
|
|
@@ -18992,7 +18983,7 @@ var ConstraintValues = {
|
|
|
18992
18983
|
if (parentWidth && isFiniteNumber(hOpposingPinsOffset)) {
|
|
18993
18984
|
width = parentWidth - hOpposingPinsOffset;
|
|
18994
18985
|
}
|
|
18995
|
-
else if (autoSize && values.widthType
|
|
18986
|
+
else if (autoSize && isAutoDimensionType(values.widthType)) {
|
|
18996
18987
|
width = autoSize.width;
|
|
18997
18988
|
}
|
|
18998
18989
|
else if (isFiniteNumber(values.width)) {
|
|
@@ -19010,6 +19001,7 @@ var ConstraintValues = {
|
|
|
19010
19001
|
}
|
|
19011
19002
|
break;
|
|
19012
19003
|
case 2:
|
|
19004
|
+
case 5:
|
|
19013
19005
|
break;
|
|
19014
19006
|
default:
|
|
19015
19007
|
assertNever(values.widthType);
|
|
@@ -19019,7 +19011,7 @@ var ConstraintValues = {
|
|
|
19019
19011
|
if (parentHeight && isFiniteNumber(vOpposingPinsOffset)) {
|
|
19020
19012
|
height = parentHeight - vOpposingPinsOffset;
|
|
19021
19013
|
}
|
|
19022
|
-
else if (autoSize && values.heightType
|
|
19014
|
+
else if (autoSize && isAutoDimensionType(values.heightType)) {
|
|
19023
19015
|
height = autoSize.height;
|
|
19024
19016
|
}
|
|
19025
19017
|
else if (isFiniteNumber(values.height)) {
|
|
@@ -19037,6 +19029,7 @@ var ConstraintValues = {
|
|
|
19037
19029
|
}
|
|
19038
19030
|
break;
|
|
19039
19031
|
case 2:
|
|
19032
|
+
case 5:
|
|
19040
19033
|
break;
|
|
19041
19034
|
default:
|
|
19042
19035
|
assertNever(values.heightType);
|
|
@@ -19912,6 +19905,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19912
19905
|
li.framer-text,
|
|
19913
19906
|
ol.framer-text,
|
|
19914
19907
|
ul.framer-text,
|
|
19908
|
+
mark.framer-text,
|
|
19915
19909
|
span.framer-text:not([data-text-fill]) {
|
|
19916
19910
|
font-family: var(--framer-blockquote-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif));
|
|
19917
19911
|
font-style: var(--framer-blockquote-font-style, var(--framer-font-style, normal));
|
|
@@ -19937,6 +19931,24 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19937
19931
|
text-wrap: var(--framer-text-wrap-override, var(--framer-text-wrap));
|
|
19938
19932
|
}
|
|
19939
19933
|
`, /* css */
|
|
19934
|
+
`
|
|
19935
|
+
mark.framer-text,
|
|
19936
|
+
p.framer-text,
|
|
19937
|
+
div.framer-text,
|
|
19938
|
+
h1.framer-text,
|
|
19939
|
+
h2.framer-text,
|
|
19940
|
+
h3.framer-text,
|
|
19941
|
+
h4.framer-text,
|
|
19942
|
+
h5.framer-text,
|
|
19943
|
+
h6.framer-text,
|
|
19944
|
+
li.framer-text,
|
|
19945
|
+
ol.framer-text,
|
|
19946
|
+
ul.framer-text {
|
|
19947
|
+
background-color: var(--framer-blockquote-text-background-color, var(--framer-text-background-color, initial));
|
|
19948
|
+
border-radius: var(--framer-blockquote-text-background-radius, var(--framer-text-background-radius, initial));
|
|
19949
|
+
padding: var(--framer-blockquote-text-background-padding, var(--framer-text-background-padding, initial));
|
|
19950
|
+
}
|
|
19951
|
+
`, /* css */
|
|
19940
19952
|
`
|
|
19941
19953
|
@supports not (color: color(display-p3 1 1 1)) {
|
|
19942
19954
|
p.framer-text,
|
|
@@ -19954,6 +19966,10 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
19954
19966
|
color: ${createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-text-color',], '#000')};
|
|
19955
19967
|
-webkit-text-stroke-color: ${createRGBVariableFallbacks(['--framer-text-stroke-color',], 'initial')};
|
|
19956
19968
|
}
|
|
19969
|
+
|
|
19970
|
+
mark.framer-text {
|
|
19971
|
+
background-color: ${createRGBVariableFallbacks(['--framer-blockquote-text-background-color', '--framer-text-background-color',], 'initial')};
|
|
19972
|
+
}
|
|
19957
19973
|
}
|
|
19958
19974
|
`, /* css */
|
|
19959
19975
|
`
|
|
@@ -20076,6 +20092,10 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20076
20092
|
text-transform: var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
|
|
20077
20093
|
/* Cursor inherit to overwrite the user agent stylesheet on rich text links. */
|
|
20078
20094
|
cursor: var(--framer-custom-cursors, pointer);
|
|
20095
|
+
/* Don't inherit background styles from any parent text style. */
|
|
20096
|
+
background-color: var(--framer-link-text-background-color, initial);
|
|
20097
|
+
border-radius: var(--framer-link-text-background-radius, initial);
|
|
20098
|
+
padding: var(--framer-link-text-background-padding, initial);
|
|
20079
20099
|
}
|
|
20080
20100
|
`,
|
|
20081
20101
|
// Text decoration can't be applied to the nested spans of links because it breaks animations
|
|
@@ -20098,6 +20118,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20098
20118
|
span.framer-text[data-nested-link],
|
|
20099
20119
|
span.framer-text[data-nested-link] span.framer-text:not([data-text-fill]) {
|
|
20100
20120
|
color: ${createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-link-text-color', '--framer-text-color',], '#000')};
|
|
20121
|
+
background-color: ${createRGBVariableFallbacks(['--framer-link-text-background-color',], 'initial')};
|
|
20101
20122
|
}
|
|
20102
20123
|
}
|
|
20103
20124
|
`, /* css */
|
|
@@ -20139,6 +20160,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20139
20160
|
color: var(--framer-link-hover-text-color, var(--framer-blockquote-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
|
|
20140
20161
|
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));
|
|
20141
20162
|
text-transform: var(--framer-link-hover-text-transform, var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
|
|
20163
|
+
background-color: var(--framer-link-hover-text-background-color, var(--framer-link-text-background-color, var(--framer-text-background-color, initial)));
|
|
20164
|
+
border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-text-background-radius, var(--framer-text-background-radius, initial)));
|
|
20165
|
+
padding: var(--framer-link-hover-text-background-padding, var(--framer-link-text-background-padding, var(--framer-text-background-padding, initial)));
|
|
20142
20166
|
}
|
|
20143
20167
|
`, /* css */
|
|
20144
20168
|
`
|
|
@@ -20164,6 +20188,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20164
20188
|
'--framer-link-text-color',
|
|
20165
20189
|
'--framer-text-color',
|
|
20166
20190
|
], '#000')};
|
|
20191
|
+
background-color: ${createRGBVariableFallbacks([
|
|
20192
|
+
'--framer-link-hover-text-background-color',
|
|
20193
|
+
'--framer-link-text-background-color',
|
|
20194
|
+
'--framer-text-background-color',
|
|
20195
|
+
], 'initial')};
|
|
20167
20196
|
}
|
|
20168
20197
|
}
|
|
20169
20198
|
`, /* css */
|
|
@@ -20205,6 +20234,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20205
20234
|
color: var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000)));
|
|
20206
20235
|
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));
|
|
20207
20236
|
text-transform: var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
|
|
20237
|
+
background-color: var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, initial));
|
|
20238
|
+
border-radius: var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, initial));
|
|
20239
|
+
padding: var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, initial));
|
|
20208
20240
|
}
|
|
20209
20241
|
`, /* css */
|
|
20210
20242
|
`
|
|
@@ -20225,6 +20257,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20225
20257
|
span.framer-text[data-framer-page-link-current],
|
|
20226
20258
|
span.framer-text[data-framer-page-link-current] span.framer-text:not([data-text-fill]) {
|
|
20227
20259
|
color: ${createRGBVariableFallbacks(['--framer-link-current-text-color', '--framer-link-text-color', '--framer-text-color',], '#000')};
|
|
20260
|
+
background-color: ${createRGBVariableFallbacks([
|
|
20261
|
+
'--framer-link-current-text-background-color',
|
|
20262
|
+
'--framer-link-text-background-color',
|
|
20263
|
+
'--framer-text-background-color',
|
|
20264
|
+
], 'initial')};
|
|
20228
20265
|
}
|
|
20229
20266
|
}
|
|
20230
20267
|
`, /* css */
|
|
@@ -20252,6 +20289,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20252
20289
|
'--framer-code-text-color',
|
|
20253
20290
|
'--framer-text-color',
|
|
20254
20291
|
], '#000')};
|
|
20292
|
+
background-color: ${createRGBVariableFallbacks([
|
|
20293
|
+
'--framer-link-current-text-background-color',
|
|
20294
|
+
'--framer-link-text-background-color',
|
|
20295
|
+
'--framer-text-background-color',
|
|
20296
|
+
], 'initial')};
|
|
20255
20297
|
}
|
|
20256
20298
|
}
|
|
20257
20299
|
`, /* css */
|
|
@@ -20266,6 +20308,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20266
20308
|
color: var(--framer-link-hover-text-color, var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
|
|
20267
20309
|
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));
|
|
20268
20310
|
text-transform: var(--framer-link-hover-text-transform, var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
|
|
20311
|
+
background-color: var(--framer-link-hover-text-background-color, var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, initial)));
|
|
20312
|
+
border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, initial)));
|
|
20313
|
+
padding: var(--framer-link-hover-text-background-padding, var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, initial)));
|
|
20269
20314
|
}
|
|
20270
20315
|
`, /* css */
|
|
20271
20316
|
`
|
|
@@ -20292,6 +20337,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20292
20337
|
'--framer-code-text-color',
|
|
20293
20338
|
'--framer-text-color',
|
|
20294
20339
|
], '#000')};
|
|
20340
|
+
background-color: ${createRGBVariableFallbacks([
|
|
20341
|
+
'--framer-link-hover-text-background-color',
|
|
20342
|
+
'--framer-link-current-text-background-color',
|
|
20343
|
+
'--framer-link-text-background-color',
|
|
20344
|
+
], 'initial')};
|
|
20295
20345
|
}
|
|
20296
20346
|
}
|
|
20297
20347
|
`, /* css */
|
|
@@ -20305,6 +20355,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20305
20355
|
font-weight: var(--framer-code-font-weight, var(--framer-font-weight, 400));
|
|
20306
20356
|
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)))));
|
|
20307
20357
|
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));
|
|
20358
|
+
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))));
|
|
20359
|
+
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))));
|
|
20360
|
+
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))));
|
|
20308
20361
|
}
|
|
20309
20362
|
`, /* css */
|
|
20310
20363
|
`
|
|
@@ -20320,6 +20373,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20320
20373
|
'--framer-code-text-color',
|
|
20321
20374
|
'--framer-text-color',
|
|
20322
20375
|
], '#000')};
|
|
20376
|
+
background-color: ${createRGBVariableFallbacks([
|
|
20377
|
+
'--framer-link-hover-text-background-color',
|
|
20378
|
+
'--framer-link-current-text-background-color',
|
|
20379
|
+
'--framer-link-text-background-color',
|
|
20380
|
+
], 'initial')};
|
|
20323
20381
|
}
|
|
20324
20382
|
}
|
|
20325
20383
|
`, /* css */
|
|
@@ -20348,6 +20406,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
|
|
|
20348
20406
|
--framer-line-height: 1.2em;
|
|
20349
20407
|
--framer-text-alignment: start;
|
|
20350
20408
|
--framer-font-open-type-features: normal;
|
|
20409
|
+
--framer-text-background-color: initial;
|
|
20410
|
+
--framer-text-background-radius: initial;
|
|
20411
|
+
--framer-text-background-padding: initial;
|
|
20351
20412
|
}
|
|
20352
20413
|
`, /* css */
|
|
20353
20414
|
`
|
|
@@ -20801,6 +20862,10 @@ var frameCSSRules = (isPreview) => {
|
|
|
20801
20862
|
return isPreview ? frameCSS : [];
|
|
20802
20863
|
};
|
|
20803
20864
|
var svgCSSRules = [`.svgContainer svg { display: block; }`,];
|
|
20865
|
+
var overflowClipFallbackCSSVariable = '--overflow-clip-fallback';
|
|
20866
|
+
var overflowClipFallbackCSSRules = /* @__PURE__ */ (() => [`@supports (not (overflow: clip)) {
|
|
20867
|
+
:root { ${overflowClipFallbackCSSVariable}: hidden; }
|
|
20868
|
+
}`,])();
|
|
20804
20869
|
var combineCSSRules = (isPreview) => [
|
|
20805
20870
|
...willChangeTransformRules(isPreview),
|
|
20806
20871
|
...componentCSSRules,
|
|
@@ -20819,6 +20884,7 @@ var combineCSSRules = (isPreview) => [
|
|
|
20819
20884
|
...svgCSSRules,
|
|
20820
20885
|
...resetCSS,
|
|
20821
20886
|
...hideScrollbars,
|
|
20887
|
+
...overflowClipFallbackCSSRules,
|
|
20822
20888
|
];
|
|
20823
20889
|
exports.combinedCSSRules = combineCSSRules(false);
|
|
20824
20890
|
var combinedCSSRulesForPreview = /* @__PURE__ */ combineCSSRules(true);
|
|
@@ -22536,14 +22602,6 @@ var reactPropsRegex = /^(?:children|dangerouslySetInnerHTML|key|ref|autoFocus|de
|
|
|
22536
22602
|
var isPropValid = /* @__PURE__ */ memoize((prop) => reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91
|
|
22537
22603
|
/* Z+1 */
|
|
22538
22604
|
);
|
|
22539
|
-
var LibraryFeaturesContext = /* @__PURE__ */ react_11.default.createContext(void 0);
|
|
22540
|
-
LibraryFeaturesContext.displayName = 'LibraryFeaturesContext';
|
|
22541
|
-
var LibraryFeaturesProvider = /* @__PURE__ */ (() => LibraryFeaturesContext.Provider)();
|
|
22542
|
-
exports.LibraryFeaturesProvider = LibraryFeaturesProvider;
|
|
22543
|
-
var useLibraryFeatures = () => {
|
|
22544
|
-
const context = react_11.default.useContext(LibraryFeaturesContext);
|
|
22545
|
-
return context ?? {};
|
|
22546
|
-
};
|
|
22547
22605
|
var mockWithWarning = (message) => {
|
|
22548
22606
|
return () => {
|
|
22549
22607
|
warnOnce2(message);
|
|
@@ -22573,6 +22631,7 @@ var implementation = {
|
|
|
22573
22631
|
canRenderOptimizedCanvasImage() {
|
|
22574
22632
|
return false;
|
|
22575
22633
|
},
|
|
22634
|
+
isOnPageCanvas: false,
|
|
22576
22635
|
};
|
|
22577
22636
|
var isRuntimeInjected = false;
|
|
22578
22637
|
var runtimeProxy = {
|
|
@@ -22594,6 +22653,14 @@ function _injectRuntime(injectedRuntime) {
|
|
|
22594
22653
|
Object.assign(implementation, injectedRuntime);
|
|
22595
22654
|
isRuntimeInjected = true;
|
|
22596
22655
|
}
|
|
22656
|
+
var LibraryFeaturesContext = /* @__PURE__ */ react_11.default.createContext(void 0);
|
|
22657
|
+
LibraryFeaturesContext.displayName = 'LibraryFeaturesContext';
|
|
22658
|
+
var LibraryFeaturesProvider = /* @__PURE__ */ (() => LibraryFeaturesContext.Provider)();
|
|
22659
|
+
exports.LibraryFeaturesProvider = LibraryFeaturesProvider;
|
|
22660
|
+
var useLibraryFeatures = () => {
|
|
22661
|
+
const context = react_11.default.useContext(LibraryFeaturesContext);
|
|
22662
|
+
return context ?? {};
|
|
22663
|
+
};
|
|
22597
22664
|
var wrapperStyle = {
|
|
22598
22665
|
position: 'absolute',
|
|
22599
22666
|
borderRadius: 'inherit',
|
|
@@ -22835,7 +22902,7 @@ var BackgroundImage = {
|
|
|
22835
22902
|
isImageObject: function (image) {
|
|
22836
22903
|
if (!image || typeof image === 'string')
|
|
22837
22904
|
return false;
|
|
22838
|
-
return key in image;
|
|
22905
|
+
return typeof image === 'object' && key in image;
|
|
22839
22906
|
},
|
|
22840
22907
|
};
|
|
22841
22908
|
exports.BackgroundImage = BackgroundImage;
|
|
@@ -22871,6 +22938,31 @@ function backgroundImageFromProps(props) {
|
|
|
22871
22938
|
}
|
|
22872
22939
|
return applyForwardOverrides(backgroundImage, props);
|
|
22873
22940
|
}
|
|
22941
|
+
function getIntrinsicSizeForBackgroundImage(background) {
|
|
22942
|
+
if (!background)
|
|
22943
|
+
return void 0;
|
|
22944
|
+
if (background.pixelHeight && background.pixelWidth) {
|
|
22945
|
+
return {
|
|
22946
|
+
width: background.pixelWidth,
|
|
22947
|
+
height: background.pixelHeight,
|
|
22948
|
+
};
|
|
22949
|
+
}
|
|
22950
|
+
return parseImageSizeFromSrc(background.src);
|
|
22951
|
+
}
|
|
22952
|
+
function parseImageSizeFromSrc(src) {
|
|
22953
|
+
if (!src)
|
|
22954
|
+
return void 0;
|
|
22955
|
+
const url = new URL(src);
|
|
22956
|
+
const width = url.searchParams.get('width');
|
|
22957
|
+
const height = url.searchParams.get('height');
|
|
22958
|
+
if (width && height) {
|
|
22959
|
+
return {
|
|
22960
|
+
width: parseInt(width),
|
|
22961
|
+
height: parseInt(height),
|
|
22962
|
+
};
|
|
22963
|
+
}
|
|
22964
|
+
return void 0;
|
|
22965
|
+
}
|
|
22874
22966
|
function htmlElementAsMotionComponent(asElem) {
|
|
22875
22967
|
return asElem && asElem !== 'search' && asElem !== 'slot' && asElem !== 'template' ? motion[asElem] : motion['div'];
|
|
22876
22968
|
}
|
|
@@ -23864,7 +23956,7 @@ function useStyleAndRect(props) {
|
|
|
23864
23956
|
}
|
|
23865
23957
|
const isRenderingStaticContent = isStaticRenderer();
|
|
23866
23958
|
if (props.positionSticky) {
|
|
23867
|
-
if (!isRenderingStaticContent || inCodeComponent) {
|
|
23959
|
+
if (!isRenderingStaticContent || runtime.isOnPageCanvas || inCodeComponent) {
|
|
23868
23960
|
resultStyle.position = 'sticky';
|
|
23869
23961
|
resultStyle.willChange = 'transform';
|
|
23870
23962
|
resultStyle.zIndex = 1;
|
|
@@ -23874,8 +23966,13 @@ function useStyleAndRect(props) {
|
|
|
23874
23966
|
resultStyle.left = props.positionStickyLeft;
|
|
23875
23967
|
}
|
|
23876
23968
|
}
|
|
23877
|
-
else if (isRenderingStaticContent
|
|
23878
|
-
|
|
23969
|
+
else if (isRenderingStaticContent) {
|
|
23970
|
+
if (props.positionFixed) {
|
|
23971
|
+
resultStyle.position = runtime.isOnPageCanvas ? 'fixed' : 'absolute';
|
|
23972
|
+
}
|
|
23973
|
+
else if (props.positionAbsolute) {
|
|
23974
|
+
resultStyle.position = 'absolute';
|
|
23975
|
+
}
|
|
23879
23976
|
}
|
|
23880
23977
|
if ('rotate' in resultStyle && resultStyle.rotate === void 0) {
|
|
23881
23978
|
delete resultStyle.rotate;
|
|
@@ -23980,6 +24077,11 @@ var VisibleFrame = /* @__PURE__ */ (0, react_7.forwardRef)(function VisibleFrame
|
|
|
23980
24077
|
],
|
|
23981
24078
|
}), parentSize);
|
|
23982
24079
|
const MotionComponent = htmlElementAsMotionComponent(props.as);
|
|
24080
|
+
const intrinsicSize = getIntrinsicSizeForBackgroundImage(backgroundImage);
|
|
24081
|
+
if (props.fitImageDimension && intrinsicSize) {
|
|
24082
|
+
currentStyle[props.fitImageDimension] = 'auto';
|
|
24083
|
+
currentStyle.aspectRatio = intrinsicSize.width / intrinsicSize.height;
|
|
24084
|
+
}
|
|
23983
24085
|
return /* @__PURE__ */ (0, jsx_runtime_2.jsxs)(MotionComponent, {
|
|
23984
24086
|
...dataProps,
|
|
23985
24087
|
...motionProps,
|
|
@@ -33331,15 +33433,15 @@ function domWriteCreateUpdateSafeArea(safeAreaRef) {
|
|
|
33331
33433
|
Object.assign(safeAreaRef.current.style, floatingPositionSafeAreaStyle(x, y, placement, anchorRect, calculatedRect));
|
|
33332
33434
|
};
|
|
33333
33435
|
}
|
|
33334
|
-
function domWriteUpdatePosition(floatingPositionRef, position, rect) {
|
|
33436
|
+
function domWriteUpdatePosition(floatingPositionRef, position, rect, scrollX, scrollY) {
|
|
33335
33437
|
if (!floatingPositionRef.current)
|
|
33336
33438
|
return;
|
|
33337
33439
|
Object.assign(floatingPositionRef.current.style, {
|
|
33338
33440
|
position,
|
|
33339
33441
|
visibility: 'visible',
|
|
33340
33442
|
// Append "px" because we are assigning this object straight to style.
|
|
33341
|
-
left: ((rect == null ? void 0 : rect.x) ?? 0) +
|
|
33342
|
-
top: ((rect == null ? void 0 : rect.y) ?? 0) +
|
|
33443
|
+
left: ((rect == null ? void 0 : rect.x) ?? 0) + scrollX + 'px',
|
|
33444
|
+
top: ((rect == null ? void 0 : rect.y) ?? 0) + scrollY + 'px',
|
|
33343
33445
|
});
|
|
33344
33446
|
}
|
|
33345
33447
|
var FloatingStackingContext = /* @__PURE__ */ (() => {
|
|
@@ -33466,13 +33568,14 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
|
|
|
33466
33568
|
let elementRect;
|
|
33467
33569
|
let safePlacement;
|
|
33468
33570
|
let calculatedRect;
|
|
33469
|
-
let scrolls;
|
|
33470
33571
|
let latestEvent;
|
|
33471
33572
|
let updateSafeArea;
|
|
33573
|
+
let scrollX = 0;
|
|
33574
|
+
let scrollY = 0;
|
|
33472
33575
|
const onRender = () => {
|
|
33473
33576
|
if (cleanupHasRun)
|
|
33474
33577
|
return;
|
|
33475
|
-
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect);
|
|
33578
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY);
|
|
33476
33579
|
if (safeArea)
|
|
33477
33580
|
updateSafeArea(anchorRect, calculatedRect, safePlacement, latestEvent);
|
|
33478
33581
|
latestEvent = void 0;
|
|
@@ -33483,7 +33586,7 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
|
|
|
33483
33586
|
onRender();
|
|
33484
33587
|
}
|
|
33485
33588
|
else {
|
|
33486
|
-
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect);
|
|
33589
|
+
domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY);
|
|
33487
33590
|
}
|
|
33488
33591
|
initialUpdateHasRun = true;
|
|
33489
33592
|
};
|
|
@@ -33495,6 +33598,14 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
|
|
|
33495
33598
|
const domReadUpdateSafePlacementAndRect = () => {
|
|
33496
33599
|
if (!getSafePlacementRect || cleanupHasRun)
|
|
33497
33600
|
return;
|
|
33601
|
+
if (position === 'fixed') {
|
|
33602
|
+
scrollX = 0;
|
|
33603
|
+
scrollY = 0;
|
|
33604
|
+
}
|
|
33605
|
+
else {
|
|
33606
|
+
scrollX = safeWindow.scrollX;
|
|
33607
|
+
scrollY = safeWindow.scrollY;
|
|
33608
|
+
}
|
|
33498
33609
|
anchorRect = anchorRef.current.getBoundingClientRect();
|
|
33499
33610
|
const safePlacementAndRect = getSafePlacementRect(anchorRect, elementRect);
|
|
33500
33611
|
safePlacement = safePlacementAndRect[0];
|
|
@@ -35067,57 +35178,79 @@ function isSamePage(a, b) {
|
|
|
35067
35178
|
return aPathVariables.length === bPathVariables.length &&
|
|
35068
35179
|
Object.keys(aPathVariables).every((key7) => aPathVariables[key7] === bPathVariables[key7]);
|
|
35069
35180
|
}
|
|
35070
|
-
|
|
35071
|
-
|
|
35072
|
-
|
|
35073
|
-
|
|
35074
|
-
|
|
35075
|
-
|
|
35076
|
-
framerLocale: localeCode,
|
|
35077
|
-
webPageId: routeId,
|
|
35078
|
-
};
|
|
35181
|
+
var timezone = null;
|
|
35182
|
+
var visitorLocale = null;
|
|
35183
|
+
function setTimezoneAndLocaleForTracking() {
|
|
35184
|
+
const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions();
|
|
35185
|
+
timezone = resolvedDateTimeOptions.timeZone;
|
|
35186
|
+
visitorLocale = resolvedDateTimeOptions.locale;
|
|
35079
35187
|
}
|
|
35080
|
-
|
|
35188
|
+
requestIdleCallback(setTimezoneAndLocaleForTracking);
|
|
35189
|
+
var useSendPageView = (currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale) => {
|
|
35081
35190
|
const framerSiteId = (0, react_3.useContext)(FormContext);
|
|
35082
35191
|
const pageviewEventData = (0, react_4.useRef)();
|
|
35083
35192
|
const skipFirstPageView = (0, react_4.useRef)(true);
|
|
35084
35193
|
(0, react_2.useEffect)(() => {
|
|
35085
|
-
|
|
35086
|
-
|
|
35087
|
-
|
|
35088
|
-
|
|
35089
|
-
|
|
35090
|
-
|
|
35091
|
-
|
|
35092
|
-
|
|
35093
|
-
}
|
|
35094
|
-
}
|
|
35095
|
-
return getPageviewEventData({
|
|
35194
|
+
function getFullPageviewEventData() {
|
|
35195
|
+
if (!timezone || !visitorLocale)
|
|
35196
|
+
setTimezoneAndLocaleForTracking();
|
|
35197
|
+
const currentLocation = currentPathnameWithHash
|
|
35198
|
+
? new URL(safeWindow.location.origin + currentPathnameWithHash)
|
|
35199
|
+
: safeWindow.location;
|
|
35200
|
+
const eventData = {
|
|
35201
|
+
version: pageviewEventVersion,
|
|
35096
35202
|
abTestId: currentRoute == null ? void 0 : currentRoute.abTestId,
|
|
35097
35203
|
framerSiteId: framerSiteId ?? null,
|
|
35098
35204
|
// 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.
|
|
35099
|
-
|
|
35100
|
-
routePath: currentRoute == null ? void 0 : currentRoute.path,
|
|
35101
|
-
collectionItemId,
|
|
35102
|
-
|
|
35103
|
-
|
|
35104
|
-
|
|
35205
|
+
webPageId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
|
|
35206
|
+
routePath: (currentRoute == null ? void 0 : currentRoute.path) || '/',
|
|
35207
|
+
collectionItemId: null,
|
|
35208
|
+
framerLocale: (activeLocale == null ? void 0 : activeLocale.code) || null,
|
|
35209
|
+
referrer: null,
|
|
35210
|
+
// The first pageview event will always be sent before hydration, in a script in `exportToHTML.ts`.
|
|
35211
|
+
url: currentLocation.href,
|
|
35212
|
+
hostname: currentLocation.hostname,
|
|
35213
|
+
// Capture the current location before the user moves to a new page to prevent
|
|
35214
|
+
// tracking wrong pathnames due to a race condition caused by async operations
|
|
35215
|
+
// when resolving the collection item ID below
|
|
35216
|
+
pathname: currentLocation.pathname,
|
|
35217
|
+
search: currentLocation.search || null,
|
|
35218
|
+
hash: currentLocation.hash || null,
|
|
35219
|
+
timezone,
|
|
35220
|
+
locale: visitorLocale,
|
|
35221
|
+
};
|
|
35222
|
+
return (currentRoute == null ? void 0 : currentRoute.collectionId) && collectionUtils && currentPathVariables
|
|
35223
|
+
? (async () => {
|
|
35224
|
+
var _a;
|
|
35225
|
+
let collectionItemId = null;
|
|
35226
|
+
const utils = currentRoute.collectionId &&
|
|
35227
|
+
(await ((_a = collectionUtils[currentRoute.collectionId]) == null ? void 0 : _a.call(collectionUtils)));
|
|
35228
|
+
const [slug,] = Object.values(currentPathVariables);
|
|
35229
|
+
if (utils && typeof slug === 'string') {
|
|
35230
|
+
collectionItemId = (await utils.getRecordIdBySlug(slug, activeLocale || void 0)) ?? null;
|
|
35231
|
+
}
|
|
35232
|
+
return {
|
|
35233
|
+
...eventData,
|
|
35234
|
+
collectionItemId,
|
|
35235
|
+
};
|
|
35236
|
+
})()
|
|
35237
|
+
: eventData;
|
|
35238
|
+
}
|
|
35105
35239
|
void (async () => {
|
|
35106
|
-
const
|
|
35107
|
-
|
|
35240
|
+
const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
|
|
35241
|
+
const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
|
|
35242
|
+
pageviewEventData.current = eventData;
|
|
35108
35243
|
if (skipFirstPageView.current) {
|
|
35109
35244
|
skipFirstPageView.current = false;
|
|
35110
|
-
return;
|
|
35111
35245
|
}
|
|
35112
|
-
|
|
35113
|
-
|
|
35114
|
-
|
|
35246
|
+
else {
|
|
35247
|
+
sendTrackingEvent('published_site_pageview', eventData, 'eager');
|
|
35248
|
+
}
|
|
35115
35249
|
})();
|
|
35116
35250
|
const listener = async (event) => {
|
|
35117
35251
|
if (event.persisted) {
|
|
35118
|
-
const
|
|
35119
|
-
|
|
35120
|
-
const eventData = await getFullPageviewEventData();
|
|
35252
|
+
const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
|
|
35253
|
+
const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
|
|
35121
35254
|
pageviewEventData.current = eventData;
|
|
35122
35255
|
sendTrackingEvent('published_site_pageview', eventData, 'eager');
|
|
35123
35256
|
}
|
|
@@ -35126,7 +35259,7 @@ var useSendPageView = (currentRoute, currentRouteId, currentPathVariables, colle
|
|
|
35126
35259
|
return () => {
|
|
35127
35260
|
window.removeEventListener('pageshow', listener);
|
|
35128
35261
|
};
|
|
35129
|
-
}, [currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale, framerSiteId,]);
|
|
35262
|
+
}, [currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale, framerSiteId,]);
|
|
35130
35263
|
return pageviewEventData;
|
|
35131
35264
|
};
|
|
35132
35265
|
var defaultLocaleId = 'default';
|
|
@@ -35229,6 +35362,7 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
|
|
|
35229
35362
|
return (fn) => fn();
|
|
35230
35363
|
}, [synchronousNavigationOnDesktop,]);
|
|
35231
35364
|
const isInitialNavigationRef = (0, react_4.useRef)(true);
|
|
35365
|
+
const currentPathnameWithHashRef = (0, react_4.useRef)();
|
|
35232
35366
|
const currentRouteRef = (0, react_4.useRef)(initialRoute);
|
|
35233
35367
|
const currentPathVariablesRef = (0, react_4.useRef)(initialPathVariables);
|
|
35234
35368
|
const currentLocaleIdRef = (0, react_4.useRef)(initialLocaleId);
|
|
@@ -35314,12 +35448,13 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
|
|
|
35314
35448
|
monitorNextPaintAfterRender,
|
|
35315
35449
|
transitionFn,
|
|
35316
35450
|
]);
|
|
35317
|
-
const setCurrentRouteId = (0, react_3.useCallback)((routeId, localeId, hash2, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL) => {
|
|
35451
|
+
const setCurrentRouteId = (0, react_3.useCallback)((routeId, localeId, hash2, pathnameWithHash, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL) => {
|
|
35318
35452
|
isInitialNavigationRef.current = false;
|
|
35319
35453
|
const currentRouteId2 = currentRouteRef.current;
|
|
35320
35454
|
currentRouteRef.current = routeId;
|
|
35321
35455
|
currentPathVariablesRef.current = pathVariables;
|
|
35322
35456
|
currentLocaleIdRef.current = localeId;
|
|
35457
|
+
currentPathnameWithHashRef.current = pathnameWithHash;
|
|
35323
35458
|
scheduleSideEffect(() => {
|
|
35324
35459
|
updateScrollPosition(hash2, smoothScroll, isHistoryTransition);
|
|
35325
35460
|
});
|
|
@@ -35405,14 +35540,26 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
|
|
|
35405
35540
|
siteCanonicalURL,
|
|
35406
35541
|
}, ignorePushStateWrapper);
|
|
35407
35542
|
};
|
|
35408
|
-
|
|
35543
|
+
const pathnameWithHash = getSitePrefix(siteCanonicalURL) + getPathForRoute(newRoute, {
|
|
35544
|
+
currentRoutePath: currentRoute2 == null ? void 0 : currentRoute2.path,
|
|
35545
|
+
currentPathVariables: currentPathVariables2,
|
|
35546
|
+
hash: hash2,
|
|
35547
|
+
pathVariables,
|
|
35548
|
+
localeId: currentRouteLocaleId,
|
|
35549
|
+
preserveQueryParams,
|
|
35550
|
+
siteCanonicalURL,
|
|
35551
|
+
relative: false,
|
|
35552
|
+
// We need an absolute path for the hash
|
|
35553
|
+
});
|
|
35554
|
+
setCurrentRouteId(routeId, currentRouteLocaleId, routeElementId, pathnameWithHash, pathVariables, false, nextRender, smoothScroll, disableHistory ? void 0 : updateURL);
|
|
35409
35555
|
}, [routes, setCurrentRouteId, disableHistory, preserveQueryParams, siteCanonicalURL, monitorNextPaintAfterRender,]);
|
|
35410
35556
|
const getRoute = useGetRouteCallback(routes);
|
|
35411
35557
|
const currentRouteId = currentRouteRef.current;
|
|
35558
|
+
const currentPathnameWithHash = currentPathnameWithHashRef.current;
|
|
35412
35559
|
const currentPathVariables = currentPathVariablesRef.current;
|
|
35413
35560
|
const currentRoute = routes[currentRouteId];
|
|
35414
35561
|
const currentRoutePath = currentRoute == null ? void 0 : currentRoute.path;
|
|
35415
|
-
const pageviewEventData = useSendPageView(currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale);
|
|
35562
|
+
const pageviewEventData = useSendPageView(currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale);
|
|
35416
35563
|
const isInitialNavigation = isInitialNavigationRef.current;
|
|
35417
35564
|
const api = (0, react_4.useMemo)(() => ({
|
|
35418
35565
|
navigate,
|
|
@@ -35465,7 +35612,7 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
|
|
|
35465
35612
|
/* @__PURE__ */ (0, jsx_runtime_1.jsx)(MarkSuspenseEffects.Start, {}),
|
|
35466
35613
|
/* @__PURE__ */ (0, jsx_runtime_1.jsx)(WithLayoutTemplate, {
|
|
35467
35614
|
LayoutTemplate,
|
|
35468
|
-
routeId: currentRouteId,
|
|
35615
|
+
routeId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
|
|
35469
35616
|
style: defaultPageStyle,
|
|
35470
35617
|
children: (inLayoutTemplate) => {
|
|
35471
35618
|
return /* @__PURE__ */ (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {
|
|
@@ -42889,6 +43036,9 @@ function assert2(condition, ...msg) {
|
|
|
42889
43036
|
}
|
|
42890
43037
|
var missing = Symbol('missing');
|
|
42891
43038
|
var frozenEmptyArray = Object.freeze([]);
|
|
43039
|
+
function emptyArray() {
|
|
43040
|
+
return frozenEmptyArray;
|
|
43041
|
+
}
|
|
42892
43042
|
var errorReporter;
|
|
42893
43043
|
function reportError({ error: maybeError, tags, extras, critical, caller, }) {
|
|
42894
43044
|
assert2(errorReporter, 'Set up an error callback with setErrorReporter, or configure Sentry with initializeEnvironment');
|
|
@@ -43191,7 +43341,9 @@ try {
|
|
|
43191
43341
|
catch { }
|
|
43192
43342
|
var postLogEntry;
|
|
43193
43343
|
try {
|
|
43194
|
-
if (typeof window !== 'undefined' && !!window.postMessage && window.
|
|
43344
|
+
if (typeof window !== 'undefined' && !!window.postMessage && window.parent !== window &&
|
|
43345
|
+
// Don't post messages to the top-level site from the Editor Bar
|
|
43346
|
+
!window.location.pathname.startsWith('/edit')) {
|
|
43195
43347
|
postLogEntry = (entry) => {
|
|
43196
43348
|
var _a;
|
|
43197
43349
|
try {
|
|
@@ -43205,7 +43357,7 @@ try {
|
|
|
43205
43357
|
parts,
|
|
43206
43358
|
printed,
|
|
43207
43359
|
};
|
|
43208
|
-
(_a = window.
|
|
43360
|
+
(_a = window.parent) == null ? void 0 : _a.postMessage(data2, getServiceMap().app);
|
|
43209
43361
|
}
|
|
43210
43362
|
catch { }
|
|
43211
43363
|
};
|
|
@@ -44287,11 +44439,11 @@ function getAssetOwnerType(asset) {
|
|
|
44287
44439
|
async function loadFontsWithOpenType(source) {
|
|
44288
44440
|
switch (source) {
|
|
44289
44441
|
case 'google': {
|
|
44290
|
-
const supportedFonts = await import('./framer-chunks/google-
|
|
44442
|
+
const supportedFonts = await import('./framer-chunks/google-2KFYDWCN-PJC2DDXK.js');
|
|
44291
44443
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
44292
44444
|
}
|
|
44293
44445
|
case 'fontshare': {
|
|
44294
|
-
const supportedFonts = await import('./framer-chunks/fontshare-
|
|
44446
|
+
const supportedFonts = await import('./framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js');
|
|
44295
44447
|
return supportedFonts == null ? void 0 : supportedFonts.default;
|
|
44296
44448
|
}
|
|
44297
44449
|
default:
|
|
@@ -44301,11 +44453,11 @@ async function loadFontsWithOpenType(source) {
|
|
|
44301
44453
|
async function loadFontToOpenTypeFeatures(source) {
|
|
44302
44454
|
switch (source) {
|
|
44303
44455
|
case 'google': {
|
|
44304
|
-
const features = await import('./framer-chunks/google-
|
|
44456
|
+
const features = await import('./framer-chunks/google-HSMCYMMG-DWNQGSHN.js');
|
|
44305
44457
|
return features == null ? void 0 : features.default;
|
|
44306
44458
|
}
|
|
44307
44459
|
case 'fontshare': {
|
|
44308
|
-
const features = await import('./framer-chunks/fontshare-
|
|
44460
|
+
const features = await import('./framer-chunks/fontshare-Y53BJZLK-EUQIV252.js');
|
|
44309
44461
|
return features == null ? void 0 : features.default;
|
|
44310
44462
|
}
|
|
44311
44463
|
case 'framer': {
|
|
@@ -44830,10 +44982,10 @@ function loadVariationAxes(source) {
|
|
|
44830
44982
|
const axes = (async () => {
|
|
44831
44983
|
switch (source) {
|
|
44832
44984
|
case 'google': {
|
|
44833
|
-
return (await import('./framer-chunks/google-
|
|
44985
|
+
return (await import('./framer-chunks/google-S367OFIE-AWJEPMSF.js')).default;
|
|
44834
44986
|
}
|
|
44835
44987
|
case 'fontshare': {
|
|
44836
|
-
return (await import('./framer-chunks/fontshare-
|
|
44988
|
+
return (await import('./framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js')).default;
|
|
44837
44989
|
}
|
|
44838
44990
|
default:
|
|
44839
44991
|
assertNever(source);
|
|
@@ -45770,10 +45922,35 @@ var styles3 = /* @__PURE__ */ (() => [
|
|
|
45770
45922
|
var FormSelect = /* @__PURE__ */ withCSS(Select, styles3, 'framer-lib-form-select');
|
|
45771
45923
|
exports.FormSelect = FormSelect;
|
|
45772
45924
|
var Image2 = /* @__PURE__ */ react_11.default.forwardRef(function Image3(props, ref) {
|
|
45773
|
-
const { background, children, alt, draggable, style: styleFromProps, ...rest } = props;
|
|
45925
|
+
const { background, children, alt, draggable, fitImageDimension, style: styleFromProps, ...rest } = props;
|
|
45774
45926
|
const style2 = {
|
|
45775
45927
|
...styleFromProps,
|
|
45776
45928
|
};
|
|
45929
|
+
const intrinsicSize = (0, react_4.useMemo)(() => getIntrinsicSizeForBackgroundImage(background), [background,]);
|
|
45930
|
+
const [fallbackIntrinsicSize, setFallbackIntrinsicSize,] = (0, react_4.useState)();
|
|
45931
|
+
react_11.default.useLayoutEffect(() => {
|
|
45932
|
+
if (!(background == null ? void 0 : background.src))
|
|
45933
|
+
return;
|
|
45934
|
+
if (!fitImageDimension)
|
|
45935
|
+
return;
|
|
45936
|
+
if (intrinsicSize)
|
|
45937
|
+
return;
|
|
45938
|
+
const img = document.createElement('img');
|
|
45939
|
+
img.onload = () => {
|
|
45940
|
+
if (img.naturalWidth && img.naturalHeight) {
|
|
45941
|
+
setFallbackIntrinsicSize({
|
|
45942
|
+
width: img.naturalWidth,
|
|
45943
|
+
height: img.naturalHeight,
|
|
45944
|
+
});
|
|
45945
|
+
}
|
|
45946
|
+
};
|
|
45947
|
+
img.src = background.src;
|
|
45948
|
+
}, [background == null ? void 0 : background.src, fitImageDimension, intrinsicSize,]);
|
|
45949
|
+
const size = intrinsicSize ?? fallbackIntrinsicSize;
|
|
45950
|
+
if (fitImageDimension && size) {
|
|
45951
|
+
style2[fitImageDimension] = 'auto';
|
|
45952
|
+
style2.aspectRatio = size.width / size.height;
|
|
45953
|
+
}
|
|
45777
45954
|
if (background) {
|
|
45778
45955
|
delete style2.background;
|
|
45779
45956
|
}
|
|
@@ -47899,7 +48076,7 @@ var TextComponent = /* @__PURE__ */ (() => {
|
|
|
47899
48076
|
if (this.props.transformTemplate)
|
|
47900
48077
|
return this.props.transformTemplate;
|
|
47901
48078
|
const frame2 = this.frame;
|
|
47902
|
-
const isDOMLayoutAutoSized = _usesDOMRect && (widthType
|
|
48079
|
+
const isDOMLayoutAutoSized = _usesDOMRect && (isAutoDimensionType(widthType) || isAutoDimensionType(heightType));
|
|
47903
48080
|
const hasTransformTemplate = !frame2 || !RenderTarget.hasRestrictions() || __fromCanvasComponent || isDOMLayoutAutoSized;
|
|
47904
48081
|
if (hasTransformTemplate)
|
|
47905
48082
|
return transformTemplate(this.props.center);
|
|
@@ -48839,8 +49016,10 @@ function addFonts(component, passedFonts, flags) {
|
|
|
48839
49016
|
});
|
|
48840
49017
|
}
|
|
48841
49018
|
function getFonts(component) {
|
|
49019
|
+
if (!component)
|
|
49020
|
+
return emptyArray();
|
|
48842
49021
|
const fonts = component.fonts;
|
|
48843
|
-
return fonts ??
|
|
49022
|
+
return fonts ?? emptyArray();
|
|
48844
49023
|
}
|
|
48845
49024
|
function getFontsFromSharedStyle(fonts) {
|
|
48846
49025
|
if (fonts.length === 0) {
|