unframer 2.5.3 → 2.6.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/esbuild.d.ts.map +1 -1
- package/dist/esbuild.js +4 -1
- package/dist/esbuild.js.map +1 -1
- package/dist/framer.d.ts +274 -67
- package/dist/framer.d.ts.map +1 -1
- package/dist/framer.js +1063 -893
- package/dist/framer.js.map +1 -1
- package/dist/react.d.ts +11 -1
- package/dist/react.d.ts.map +1 -1
- package/esm/esbuild.d.ts.map +1 -1
- package/esm/esbuild.js +4 -1
- package/esm/esbuild.js.map +1 -1
- package/esm/framer.d.ts +274 -67
- package/esm/framer.d.ts.map +1 -1
- package/esm/framer.js +1062 -892
- package/esm/framer.js.map +1 -1
- package/esm/react.d.ts +11 -1
- package/esm/react.d.ts.map +1 -1
- package/package.json +7 -2
- package/src/esbuild.ts +8 -1
- package/src/framer.d.ts +274 -67
- package/src/framer.js +831 -606
package/src/framer.js
CHANGED
|
@@ -146,7 +146,7 @@ var SwitchLayoutGroupContext = createContext({},);
|
|
|
146
146
|
var LazyContext = createContext({
|
|
147
147
|
strict: false,
|
|
148
148
|
},);
|
|
149
|
-
var Queue = class {
|
|
149
|
+
var Queue = /*#__PURE__*/ class {
|
|
150
150
|
constructor() {
|
|
151
151
|
this.order = [];
|
|
152
152
|
this.scheduled = /* @__PURE__ */ new Set();
|
|
@@ -1606,7 +1606,7 @@ function flushKeyframeResolvers() {
|
|
|
1606
1606
|
readAllKeyframes();
|
|
1607
1607
|
measureAllKeyframes();
|
|
1608
1608
|
}
|
|
1609
|
-
var KeyframeResolver = class {
|
|
1609
|
+
var KeyframeResolver = /*#__PURE__*/ class {
|
|
1610
1610
|
constructor(unresolvedKeyframes, onComplete, name, motionValue2, element, isAsync = false,) {
|
|
1611
1611
|
this.isComplete = false;
|
|
1612
1612
|
this.isAsync = false;
|
|
@@ -1878,7 +1878,7 @@ function getFinalKeyframe(keyframes2, {
|
|
|
1878
1878
|
const index = repeat && repeatType !== 'loop' && repeat % 2 === 1 ? 0 : resolvedKeyframes.length - 1;
|
|
1879
1879
|
return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
|
|
1880
1880
|
}
|
|
1881
|
-
var BaseAnimation = class {
|
|
1881
|
+
var BaseAnimation = /*#__PURE__*/ class {
|
|
1882
1882
|
constructor({
|
|
1883
1883
|
autoplay = true,
|
|
1884
1884
|
delay: delay2 = 0,
|
|
@@ -2011,7 +2011,7 @@ var generators = {
|
|
|
2011
2011
|
spring,
|
|
2012
2012
|
};
|
|
2013
2013
|
var percentToProgress = (percent2) => percent2 / 100;
|
|
2014
|
-
var MainThreadAnimation = class extends BaseAnimation {
|
|
2014
|
+
var MainThreadAnimation = /*#__PURE__*/ class extends BaseAnimation {
|
|
2015
2015
|
constructor({
|
|
2016
2016
|
KeyframeResolver: KeyframeResolver$1 = KeyframeResolver,
|
|
2017
2017
|
...options
|
|
@@ -2491,7 +2491,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
|
|
|
2491
2491
|
}
|
|
2492
2492
|
}
|
|
2493
2493
|
}
|
|
2494
|
-
var DOMKeyframesResolver = class extends KeyframeResolver {
|
|
2494
|
+
var DOMKeyframesResolver = /*#__PURE__*/ class extends KeyframeResolver {
|
|
2495
2495
|
constructor(unresolvedKeyframes, onComplete, name, motionValue2,) {
|
|
2496
2496
|
super(
|
|
2497
2497
|
unresolvedKeyframes,
|
|
@@ -2702,7 +2702,7 @@ function pregenerateKeyframes(keyframes2, options,) {
|
|
|
2702
2702
|
ease: 'linear',
|
|
2703
2703
|
};
|
|
2704
2704
|
}
|
|
2705
|
-
var AcceleratedAnimation = class extends BaseAnimation {
|
|
2705
|
+
var AcceleratedAnimation = /*#__PURE__*/ class extends BaseAnimation {
|
|
2706
2706
|
constructor(options,) {
|
|
2707
2707
|
super(options,);
|
|
2708
2708
|
const {
|
|
@@ -2974,7 +2974,7 @@ function moveItem([...arr], fromIndex, toIndex,) {
|
|
|
2974
2974
|
}
|
|
2975
2975
|
return arr;
|
|
2976
2976
|
}
|
|
2977
|
-
var SubscriptionManager = class {
|
|
2977
|
+
var SubscriptionManager = /*#__PURE__*/ class {
|
|
2978
2978
|
constructor() {
|
|
2979
2979
|
this.subscriptions = [];
|
|
2980
2980
|
}
|
|
@@ -3008,7 +3008,7 @@ var isFloat = (value) => {
|
|
|
3008
3008
|
var collectMotionValues = {
|
|
3009
3009
|
current: void 0,
|
|
3010
3010
|
};
|
|
3011
|
-
var MotionValue = class {
|
|
3011
|
+
var MotionValue = /*#__PURE__*/ class {
|
|
3012
3012
|
/**
|
|
3013
3013
|
* @param init - The initiating value
|
|
3014
3014
|
* @param config - Optional configuration options
|
|
@@ -3342,7 +3342,7 @@ function observeTimeline(update, timeline,) {
|
|
|
3342
3342
|
return () => cancelFrame(onFrame,);
|
|
3343
3343
|
}
|
|
3344
3344
|
var supportsScrollTimeline = memo(() => window.ScrollTimeline !== void 0);
|
|
3345
|
-
var GroupPlaybackControls = class {
|
|
3345
|
+
var GroupPlaybackControls = /*#__PURE__*/ class {
|
|
3346
3346
|
constructor(animations2,) {
|
|
3347
3347
|
this.stop = () => this.runAll('stop',);
|
|
3348
3348
|
this.animations = animations2.filter(Boolean,);
|
|
@@ -3871,14 +3871,14 @@ function createState() {
|
|
|
3871
3871
|
exit: createTypeState(),
|
|
3872
3872
|
};
|
|
3873
3873
|
}
|
|
3874
|
-
var Feature = class {
|
|
3874
|
+
var Feature = /*#__PURE__*/ class {
|
|
3875
3875
|
constructor(node,) {
|
|
3876
3876
|
this.isMounted = false;
|
|
3877
3877
|
this.node = node;
|
|
3878
3878
|
}
|
|
3879
3879
|
update() {}
|
|
3880
3880
|
};
|
|
3881
|
-
var AnimationFeature = class extends Feature {
|
|
3881
|
+
var AnimationFeature = /*#__PURE__*/ class extends Feature {
|
|
3882
3882
|
/**
|
|
3883
3883
|
* We dynamically generate the AnimationState manager as it contains a reference
|
|
3884
3884
|
* to the underlying animation library. We only want to load that if we load this,
|
|
@@ -3917,7 +3917,7 @@ var AnimationFeature = class extends Feature {
|
|
|
3917
3917
|
unmount() {}
|
|
3918
3918
|
};
|
|
3919
3919
|
var id = 0;
|
|
3920
|
-
var ExitAnimationFeature = class extends Feature {
|
|
3920
|
+
var ExitAnimationFeature = /*#__PURE__*/ class extends Feature {
|
|
3921
3921
|
constructor() {
|
|
3922
3922
|
super(...arguments,);
|
|
3923
3923
|
this.id = id++;
|
|
@@ -4035,7 +4035,7 @@ function isPresent(context,) {
|
|
|
4035
4035
|
return context === null ? true : context.isPresent;
|
|
4036
4036
|
}
|
|
4037
4037
|
var compareByDepth = (a, b,) => a.depth - b.depth;
|
|
4038
|
-
var FlatTree = class {
|
|
4038
|
+
var FlatTree = /*#__PURE__*/ class {
|
|
4039
4039
|
constructor() {
|
|
4040
4040
|
this.children = [];
|
|
4041
4041
|
this.isDirty = false;
|
|
@@ -4157,7 +4157,7 @@ function getClosestProjectingNode(visualElement,) {
|
|
|
4157
4157
|
if (!visualElement) return void 0;
|
|
4158
4158
|
return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent,);
|
|
4159
4159
|
}
|
|
4160
|
-
var VisualElement = class {
|
|
4160
|
+
var VisualElement = /*#__PURE__*/ class {
|
|
4161
4161
|
/**
|
|
4162
4162
|
* This method takes React props and returns found MotionValues. For example, HTML
|
|
4163
4163
|
* MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.
|
|
@@ -5053,13 +5053,13 @@ function addHoverEvent(node, isActive,) {
|
|
|
5053
5053
|
passive: !node.getProps()[callbackName],
|
|
5054
5054
|
},);
|
|
5055
5055
|
}
|
|
5056
|
-
var HoverGesture = class extends Feature {
|
|
5056
|
+
var HoverGesture = /*#__PURE__*/ class extends Feature {
|
|
5057
5057
|
mount() {
|
|
5058
5058
|
this.unmount = pipe(addHoverEvent(this.node, true,), addHoverEvent(this.node, false,),);
|
|
5059
5059
|
}
|
|
5060
5060
|
unmount() {}
|
|
5061
5061
|
};
|
|
5062
|
-
var FocusGesture = class extends Feature {
|
|
5062
|
+
var FocusGesture = /*#__PURE__*/ class extends Feature {
|
|
5063
5063
|
constructor() {
|
|
5064
5064
|
super(...arguments,);
|
|
5065
5065
|
this.isActive = false;
|
|
@@ -5102,7 +5102,7 @@ function fireSyntheticPointerEvent(name, handler,) {
|
|
|
5102
5102
|
const syntheticPointerEvent = new PointerEvent('pointer' + name,);
|
|
5103
5103
|
handler(syntheticPointerEvent, extractEventInfo(syntheticPointerEvent,),);
|
|
5104
5104
|
}
|
|
5105
|
-
var PressGesture = class extends Feature {
|
|
5105
|
+
var PressGesture = /*#__PURE__*/ class extends Feature {
|
|
5106
5106
|
constructor() {
|
|
5107
5107
|
super(...arguments,);
|
|
5108
5108
|
this.removeStartListeners = noop;
|
|
@@ -5257,7 +5257,7 @@ var thresholdNames = {
|
|
|
5257
5257
|
some: 0,
|
|
5258
5258
|
all: 1,
|
|
5259
5259
|
};
|
|
5260
|
-
var InViewFeature = class extends Feature {
|
|
5260
|
+
var InViewFeature = /*#__PURE__*/ class extends Feature {
|
|
5261
5261
|
constructor() {
|
|
5262
5262
|
super(...arguments,);
|
|
5263
5263
|
this.hasEnteredView = false;
|
|
@@ -5339,7 +5339,7 @@ var gestureAnimations = {
|
|
|
5339
5339
|
Feature: HoverGesture,
|
|
5340
5340
|
},
|
|
5341
5341
|
};
|
|
5342
|
-
var PanSession = class {
|
|
5342
|
+
var PanSession = /*#__PURE__*/ class {
|
|
5343
5343
|
constructor(event, handlers, {
|
|
5344
5344
|
transformPagePoint,
|
|
5345
5345
|
contextWindow,
|
|
@@ -5755,7 +5755,7 @@ var getContextWindow = ({
|
|
|
5755
5755
|
return current ? current.ownerDocument.defaultView : null;
|
|
5756
5756
|
};
|
|
5757
5757
|
var elementDragControls = /* @__PURE__ */ new WeakMap();
|
|
5758
|
-
var VisualElementDragControls = class {
|
|
5758
|
+
var VisualElementDragControls = /*#__PURE__*/ class {
|
|
5759
5759
|
constructor(visualElement,) {
|
|
5760
5760
|
this.openGlobalLock = null;
|
|
5761
5761
|
this.isDragging = false;
|
|
@@ -6195,7 +6195,7 @@ function getCurrentDirection(offset, lockThreshold = 10,) {
|
|
|
6195
6195
|
}
|
|
6196
6196
|
return direction;
|
|
6197
6197
|
}
|
|
6198
|
-
var DragGesture = class extends Feature {
|
|
6198
|
+
var DragGesture = /*#__PURE__*/ class extends Feature {
|
|
6199
6199
|
constructor(node,) {
|
|
6200
6200
|
super(node,);
|
|
6201
6201
|
this.removeGroupControls = noop;
|
|
@@ -6221,7 +6221,7 @@ var asyncHandler = (handler) => (event, info,) => {
|
|
|
6221
6221
|
frame.postRender(() => handler(event, info,));
|
|
6222
6222
|
}
|
|
6223
6223
|
};
|
|
6224
|
-
var PanGesture = class extends Feature {
|
|
6224
|
+
var PanGesture = /*#__PURE__*/ class extends Feature {
|
|
6225
6225
|
constructor() {
|
|
6226
6226
|
super(...arguments,);
|
|
6227
6227
|
this.removePointerDownListener = noop;
|
|
@@ -6313,7 +6313,7 @@ var correctBoxShadow = {
|
|
|
6313
6313
|
return template(shadow,);
|
|
6314
6314
|
},
|
|
6315
6315
|
};
|
|
6316
|
-
var MeasureLayoutWithContext = class extends Component {
|
|
6316
|
+
var MeasureLayoutWithContext = /*#__PURE__*/ class extends Component {
|
|
6317
6317
|
/**
|
|
6318
6318
|
* This only mounts projection nodes for components that
|
|
6319
6319
|
* need measuring, we might want to do it for all components
|
|
@@ -6537,7 +6537,7 @@ function boxEqualsRounded(a, b,) {
|
|
|
6537
6537
|
function aspectRatio(box,) {
|
|
6538
6538
|
return calcLength(box.x,) / calcLength(box.y,);
|
|
6539
6539
|
}
|
|
6540
|
-
var NodeStack = class {
|
|
6540
|
+
var NodeStack = /*#__PURE__*/ class {
|
|
6541
6541
|
constructor() {
|
|
6542
6542
|
this.members = [];
|
|
6543
6543
|
}
|
|
@@ -7544,16 +7544,16 @@ function createProjectionNode({
|
|
|
7544
7544
|
if (!this.isVisible) {
|
|
7545
7545
|
return hiddenVisibility;
|
|
7546
7546
|
}
|
|
7547
|
-
const
|
|
7547
|
+
const styles4 = {
|
|
7548
7548
|
visibility: '',
|
|
7549
7549
|
};
|
|
7550
7550
|
const transformTemplate2 = this.getTransformTemplate();
|
|
7551
7551
|
if (this.needsReset) {
|
|
7552
7552
|
this.needsReset = false;
|
|
7553
|
-
|
|
7554
|
-
|
|
7555
|
-
|
|
7556
|
-
return
|
|
7553
|
+
styles4.opacity = '';
|
|
7554
|
+
styles4.pointerEvents = resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents,) || '';
|
|
7555
|
+
styles4.transform = transformTemplate2 ? transformTemplate2(this.latestValues, '',) : 'none';
|
|
7556
|
+
return styles4;
|
|
7557
7557
|
}
|
|
7558
7558
|
const lead = this.getLead();
|
|
7559
7559
|
if (!this.projectionDelta || !this.layout || !lead.target) {
|
|
@@ -7571,17 +7571,17 @@ function createProjectionNode({
|
|
|
7571
7571
|
}
|
|
7572
7572
|
const valuesToRender = lead.animationValues || lead.latestValues;
|
|
7573
7573
|
this.applyTransformsToTarget();
|
|
7574
|
-
|
|
7574
|
+
styles4.transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender,);
|
|
7575
7575
|
if (transformTemplate2) {
|
|
7576
|
-
|
|
7576
|
+
styles4.transform = transformTemplate2(valuesToRender, styles4.transform,);
|
|
7577
7577
|
}
|
|
7578
7578
|
const {
|
|
7579
7579
|
x,
|
|
7580
7580
|
y,
|
|
7581
7581
|
} = this.projectionDelta;
|
|
7582
|
-
|
|
7582
|
+
styles4.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`;
|
|
7583
7583
|
if (lead.animationValues) {
|
|
7584
|
-
|
|
7584
|
+
styles4.opacity = lead === this
|
|
7585
7585
|
? (_b = (_a = valuesToRender.opacity) !== null && _a !== void 0 ? _a : this.latestValues.opacity) !== null && _b !== void 0
|
|
7586
7586
|
? _b
|
|
7587
7587
|
: 1
|
|
@@ -7589,7 +7589,7 @@ function createProjectionNode({
|
|
|
7589
7589
|
? this.latestValues.opacity
|
|
7590
7590
|
: valuesToRender.opacityExit;
|
|
7591
7591
|
} else {
|
|
7592
|
-
|
|
7592
|
+
styles4.opacity = lead === this
|
|
7593
7593
|
? valuesToRender.opacity !== void 0 ? valuesToRender.opacity : ''
|
|
7594
7594
|
: valuesToRender.opacityExit !== void 0
|
|
7595
7595
|
? valuesToRender.opacityExit
|
|
@@ -7601,22 +7601,22 @@ function createProjectionNode({
|
|
|
7601
7601
|
correct,
|
|
7602
7602
|
applyTo,
|
|
7603
7603
|
} = scaleCorrectors[key7];
|
|
7604
|
-
const corrected =
|
|
7604
|
+
const corrected = styles4.transform === 'none' ? valuesToRender[key7] : correct(valuesToRender[key7], lead,);
|
|
7605
7605
|
if (applyTo) {
|
|
7606
7606
|
const num = applyTo.length;
|
|
7607
7607
|
for (let i = 0; i < num; i++) {
|
|
7608
|
-
|
|
7608
|
+
styles4[applyTo[i]] = corrected;
|
|
7609
7609
|
}
|
|
7610
7610
|
} else {
|
|
7611
|
-
|
|
7611
|
+
styles4[key7] = corrected;
|
|
7612
7612
|
}
|
|
7613
7613
|
}
|
|
7614
7614
|
if (this.options.layoutId) {
|
|
7615
|
-
|
|
7615
|
+
styles4.pointerEvents = lead === this
|
|
7616
7616
|
? resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents,) || ''
|
|
7617
7617
|
: 'none';
|
|
7618
7618
|
}
|
|
7619
|
-
return
|
|
7619
|
+
return styles4;
|
|
7620
7620
|
}
|
|
7621
7621
|
clearSnapshot() {
|
|
7622
7622
|
this.resumeFrom = this.snapshot = void 0;
|
|
@@ -7842,7 +7842,7 @@ var drag = {
|
|
|
7842
7842
|
MeasureLayout,
|
|
7843
7843
|
},
|
|
7844
7844
|
};
|
|
7845
|
-
var DOMVisualElement = class extends VisualElement {
|
|
7845
|
+
var DOMVisualElement = /*#__PURE__*/ class extends VisualElement {
|
|
7846
7846
|
constructor() {
|
|
7847
7847
|
super(...arguments,);
|
|
7848
7848
|
this.KeyframeResolver = DOMKeyframesResolver;
|
|
@@ -7864,7 +7864,7 @@ var DOMVisualElement = class extends VisualElement {
|
|
|
7864
7864
|
function getComputedStyle2(element,) {
|
|
7865
7865
|
return window.getComputedStyle(element,);
|
|
7866
7866
|
}
|
|
7867
|
-
var HTMLVisualElement = class extends DOMVisualElement {
|
|
7867
|
+
var HTMLVisualElement = /*#__PURE__*/ class extends DOMVisualElement {
|
|
7868
7868
|
constructor() {
|
|
7869
7869
|
super(...arguments,);
|
|
7870
7870
|
this.type = 'html';
|
|
@@ -7908,7 +7908,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
|
|
|
7908
7908
|
renderHTML(instance, renderState, styleProp, projection,);
|
|
7909
7909
|
}
|
|
7910
7910
|
};
|
|
7911
|
-
var SVGVisualElement = class extends DOMVisualElement {
|
|
7911
|
+
var SVGVisualElement = /*#__PURE__*/ class extends DOMVisualElement {
|
|
7912
7912
|
constructor() {
|
|
7913
7913
|
super(...arguments,);
|
|
7914
7914
|
this.type = 'svg';
|
|
@@ -8000,7 +8000,7 @@ function useForceUpdate() {
|
|
|
8000
8000
|
function useUnmountEffect(callback,) {
|
|
8001
8001
|
return useEffect(() => () => callback(), [],);
|
|
8002
8002
|
}
|
|
8003
|
-
var PopChildMeasure = class extends React2.Component {
|
|
8003
|
+
var PopChildMeasure = /*#__PURE__*/ class extends React2.Component {
|
|
8004
8004
|
getSnapshotBeforeUpdate(prevProps,) {
|
|
8005
8005
|
const element = this.props.childRef.current;
|
|
8006
8006
|
if (element && prevProps.isPresent && !this.props.isPresent) {
|
|
@@ -9115,7 +9115,7 @@ function useTime() {
|
|
|
9115
9115
|
useAnimationFrame((t) => time2.set(t,));
|
|
9116
9116
|
return time2;
|
|
9117
9117
|
}
|
|
9118
|
-
var WillChangeMotionValue = class extends MotionValue {
|
|
9118
|
+
var WillChangeMotionValue = /*#__PURE__*/ class extends MotionValue {
|
|
9119
9119
|
constructor() {
|
|
9120
9120
|
super(...arguments,);
|
|
9121
9121
|
this.members = [];
|
|
@@ -9640,7 +9640,7 @@ function useInView(ref, {
|
|
|
9640
9640
|
}, [root, ref, margin, once, amount,],);
|
|
9641
9641
|
return isInView;
|
|
9642
9642
|
}
|
|
9643
|
-
var DragControls = class {
|
|
9643
|
+
var DragControls = /*#__PURE__*/ class {
|
|
9644
9644
|
constructor() {
|
|
9645
9645
|
this.componentControls = /* @__PURE__ */ new Set();
|
|
9646
9646
|
}
|
|
@@ -9832,7 +9832,7 @@ function startOptimizedAppearAnimation(element, name, keyframes2, options, onRea
|
|
|
9832
9832
|
}
|
|
9833
9833
|
}
|
|
9834
9834
|
var createObject = () => ({});
|
|
9835
|
-
var StateVisualElement = class extends VisualElement {
|
|
9835
|
+
var StateVisualElement = /*#__PURE__*/ class extends VisualElement {
|
|
9836
9836
|
build() {}
|
|
9837
9837
|
measureInstanceViewportBox() {
|
|
9838
9838
|
return createBox();
|
|
@@ -9996,7 +9996,7 @@ var cancelSync = stepsOrder.reduce((acc, key7,) => {
|
|
|
9996
9996
|
return acc;
|
|
9997
9997
|
}, {},);
|
|
9998
9998
|
|
|
9999
|
-
// https :https://app.framerstatic.com/framer.
|
|
9999
|
+
// https :https://app.framerstatic.com/framer.VEJ3JK5Y.js
|
|
10000
10000
|
|
|
10001
10001
|
import React4 from 'react';
|
|
10002
10002
|
import { startTransition as startTransition2, } from 'react';
|
|
@@ -10011,7 +10011,7 @@ var require_hsluv = __commonJS({
|
|
|
10011
10011
|
value: true,
|
|
10012
10012
|
},);
|
|
10013
10013
|
exports.Hsluv = void 0;
|
|
10014
|
-
var Hsluv2 = class {
|
|
10014
|
+
var Hsluv2 = /*#__PURE__*/ class {
|
|
10015
10015
|
constructor() {
|
|
10016
10016
|
this.hex = '#000000';
|
|
10017
10017
|
this.rgb_r = 0;
|
|
@@ -11686,9 +11686,9 @@ function renderPage(Page4, defaultPageStyle,) {
|
|
|
11686
11686
|
};
|
|
11687
11687
|
return React4.isValidElement(Page4,) ? React4.cloneElement(Page4, style,) : React4.createElement(Page4, style,);
|
|
11688
11688
|
}
|
|
11689
|
-
var NotFoundError = class extends Error {};
|
|
11690
|
-
var ErrorBoundaryCaughtError = class extends Error {};
|
|
11691
|
-
var ErrorBoundary = class extends Component {
|
|
11689
|
+
var NotFoundError = /*#__PURE__*/ class extends Error {};
|
|
11690
|
+
var ErrorBoundaryCaughtError = /*#__PURE__*/ class extends Error {};
|
|
11691
|
+
var ErrorBoundary = /*#__PURE__*/ class extends Component {
|
|
11692
11692
|
constructor(props,) {
|
|
11693
11693
|
super(props,);
|
|
11694
11694
|
this.state = {
|
|
@@ -12833,7 +12833,7 @@ function RoutesProvider({
|
|
|
12833
12833
|
children,
|
|
12834
12834
|
},);
|
|
12835
12835
|
}
|
|
12836
|
-
var SuspenseErrorBoundary = class extends Component {
|
|
12836
|
+
var SuspenseErrorBoundary = /*#__PURE__*/ class extends Component {
|
|
12837
12837
|
constructor() {
|
|
12838
12838
|
super(...arguments,);
|
|
12839
12839
|
this.state = {
|
|
@@ -13435,7 +13435,7 @@ function deprecationWarning(removedItem, removalVersion, replacement,) {
|
|
|
13435
13435
|
const warningText = `Deprecation warning: ${removedItem} will be removed in version ${removalVersion}${replacementText}.`;
|
|
13436
13436
|
warnOnce2(warningText,);
|
|
13437
13437
|
}
|
|
13438
|
-
var Observers = class {
|
|
13438
|
+
var Observers = /*#__PURE__*/ class {
|
|
13439
13439
|
constructor() {
|
|
13440
13440
|
__publicField(this, 'observers', /* @__PURE__ */ new Set(),);
|
|
13441
13441
|
__publicField(this, 'transactions', {},);
|
|
@@ -13555,7 +13555,7 @@ function animatableInterpolation(value, currentInterpolation,) {
|
|
|
13555
13555
|
},
|
|
13556
13556
|
};
|
|
13557
13557
|
}
|
|
13558
|
-
var AnimatableValue = class {
|
|
13558
|
+
var AnimatableValue = /*#__PURE__*/ class {
|
|
13559
13559
|
constructor(value,) {
|
|
13560
13560
|
this.value = value;
|
|
13561
13561
|
__publicField(this, 'observers', new Observers(),);
|
|
@@ -13747,7 +13747,7 @@ function controlPointsForCurve(curve,) {
|
|
|
13747
13747
|
return [0.42, 0, 0.58, 1,];
|
|
13748
13748
|
}
|
|
13749
13749
|
}
|
|
13750
|
-
var BezierAnimator = class {
|
|
13750
|
+
var BezierAnimator = /*#__PURE__*/ class {
|
|
13751
13751
|
constructor(options, interpolation,) {
|
|
13752
13752
|
this.interpolation = interpolation;
|
|
13753
13753
|
__publicField(this, 'unitBezier',);
|
|
@@ -13802,7 +13802,7 @@ var BezierAnimator = class {
|
|
|
13802
13802
|
return 1 / (200 * duration);
|
|
13803
13803
|
}
|
|
13804
13804
|
};
|
|
13805
|
-
var UnitBezier = class {
|
|
13805
|
+
var UnitBezier = /*#__PURE__*/ class {
|
|
13806
13806
|
constructor(point1, point2,) {
|
|
13807
13807
|
__publicField(this, 'a',);
|
|
13808
13808
|
__publicField(this, 'b',);
|
|
@@ -13848,7 +13848,7 @@ var UnitBezier = class {
|
|
|
13848
13848
|
return t2;
|
|
13849
13849
|
}
|
|
13850
13850
|
};
|
|
13851
|
-
var Integrator = class {
|
|
13851
|
+
var Integrator = /*#__PURE__*/ class {
|
|
13852
13852
|
constructor(accelerationFunction,) {
|
|
13853
13853
|
__publicField(this, 'accelerationForState',);
|
|
13854
13854
|
this.accelerationForState = accelerationFunction;
|
|
@@ -13883,7 +13883,7 @@ var Integrator = class {
|
|
|
13883
13883
|
return output;
|
|
13884
13884
|
}
|
|
13885
13885
|
};
|
|
13886
|
-
var FrictionAnimator = class {
|
|
13886
|
+
var FrictionAnimator = /*#__PURE__*/ class {
|
|
13887
13887
|
constructor(options,) {
|
|
13888
13888
|
__publicField(this, 'options',);
|
|
13889
13889
|
__publicField(this, 'state',);
|
|
@@ -14061,7 +14061,7 @@ function isDampingDurationSpringOptions(options,) {
|
|
|
14061
14061
|
}
|
|
14062
14062
|
return typeof options.dampingRatio === 'number' || typeof options.duration === 'number' || typeof options.mass === 'number';
|
|
14063
14063
|
}
|
|
14064
|
-
var SpringAnimator = class {
|
|
14064
|
+
var SpringAnimator = /*#__PURE__*/ class {
|
|
14065
14065
|
constructor(options, interpolation,) {
|
|
14066
14066
|
this.interpolation = interpolation;
|
|
14067
14067
|
__publicField(this, 'options',);
|
|
@@ -14148,7 +14148,7 @@ var Defaults = {
|
|
|
14148
14148
|
tolerance: 1,
|
|
14149
14149
|
},
|
|
14150
14150
|
};
|
|
14151
|
-
var InertialScrollAnimator = class {
|
|
14151
|
+
var InertialScrollAnimator = /*#__PURE__*/ class {
|
|
14152
14152
|
constructor(options,) {
|
|
14153
14153
|
__publicField(this, 'options',);
|
|
14154
14154
|
__publicField(this, 'current',);
|
|
@@ -15390,7 +15390,7 @@ var DefaultInterpolationOptions = {
|
|
|
15390
15390
|
colorModel: 'husl',
|
|
15391
15391
|
/* HUSL */
|
|
15392
15392
|
};
|
|
15393
|
-
var ValueInterpolation = class {
|
|
15393
|
+
var ValueInterpolation = /*#__PURE__*/ class {
|
|
15394
15394
|
/**
|
|
15395
15395
|
* @internal
|
|
15396
15396
|
*/
|
|
@@ -15443,7 +15443,7 @@ var Defaults2 = /* @__PURE__ */ (() => ({
|
|
|
15443
15443
|
delta: 1 / 60,
|
|
15444
15444
|
maxValues: 1e4,
|
|
15445
15445
|
}))();
|
|
15446
|
-
var PrecalculatedAnimator = class {
|
|
15446
|
+
var PrecalculatedAnimator = /*#__PURE__*/ class {
|
|
15447
15447
|
constructor(options,) {
|
|
15448
15448
|
__publicField(this, 'animator',);
|
|
15449
15449
|
__publicField(this, 'values',);
|
|
@@ -15510,7 +15510,7 @@ var PrecalculatedAnimator = class {
|
|
|
15510
15510
|
}
|
|
15511
15511
|
};
|
|
15512
15512
|
var EventEmitter3 = /* @__PURE__ */ (() => require_eventemitter3().EventEmitter)();
|
|
15513
|
-
var EventEmitter = class {
|
|
15513
|
+
var EventEmitter = /*#__PURE__*/ class {
|
|
15514
15514
|
constructor() {
|
|
15515
15515
|
__publicField(this, '_emitter', new EventEmitter3(),);
|
|
15516
15516
|
}
|
|
@@ -15626,7 +15626,7 @@ var _raf = (f) => {
|
|
|
15626
15626
|
var __raf = /* @__PURE__ */ (() => safeWindow['requestAnimationFrame'] || _raf)();
|
|
15627
15627
|
var raf = (f) => __raf(f,);
|
|
15628
15628
|
var LoopTimeStep = /* @__PURE__ */ (() => 1 / 60)();
|
|
15629
|
-
var Loop = class extends EventEmitter {
|
|
15629
|
+
var Loop = /*#__PURE__*/ class extends EventEmitter {
|
|
15630
15630
|
/**
|
|
15631
15631
|
* @internal
|
|
15632
15632
|
*/
|
|
@@ -15833,7 +15833,7 @@ var RenderTarget = {
|
|
|
15833
15833
|
return false;
|
|
15834
15834
|
},
|
|
15835
15835
|
};
|
|
15836
|
-
var AnimationDriver = class {
|
|
15836
|
+
var AnimationDriver = /*#__PURE__*/ class {
|
|
15837
15837
|
constructor(animator, updateCallback, finishedCallback,) {
|
|
15838
15838
|
this.animator = animator;
|
|
15839
15839
|
this.updateCallback = updateCallback;
|
|
@@ -15859,7 +15859,7 @@ var AnimationDriver = class {
|
|
|
15859
15859
|
return this.animator.isFinished();
|
|
15860
15860
|
}
|
|
15861
15861
|
};
|
|
15862
|
-
var MainLoopAnimationDriver = class extends AnimationDriver {
|
|
15862
|
+
var MainLoopAnimationDriver = /*#__PURE__*/ class extends AnimationDriver {
|
|
15863
15863
|
play() {
|
|
15864
15864
|
if (RenderEnvironment.target !== RenderTarget.preview) {
|
|
15865
15865
|
this.finishedCallback && this.finishedCallback(false,);
|
|
@@ -15880,7 +15880,7 @@ var DefaultDeprecatedAnimationOptions = {
|
|
|
15880
15880
|
colorModel: 'husl',
|
|
15881
15881
|
/* HUSL */
|
|
15882
15882
|
};
|
|
15883
|
-
var FramerAnimation = class {
|
|
15883
|
+
var FramerAnimation = /*#__PURE__*/ class {
|
|
15884
15884
|
/**
|
|
15885
15885
|
* @internal
|
|
15886
15886
|
*/
|
|
@@ -16573,7 +16573,7 @@ function getColorsFromTheme(theme, type,) {
|
|
|
16573
16573
|
screenColor: isDarkTheme ? '#333' : '#eee',
|
|
16574
16574
|
};
|
|
16575
16575
|
}
|
|
16576
|
-
var ErrorBoundary2 = class extends Component {
|
|
16576
|
+
var ErrorBoundary2 = /*#__PURE__*/ class extends Component {
|
|
16577
16577
|
constructor() {
|
|
16578
16578
|
super(...arguments,);
|
|
16579
16579
|
__publicField(this, 'state', {},);
|
|
@@ -18189,6 +18189,12 @@ function useConstraints(props,) {
|
|
|
18189
18189
|
const calculatedRect = calculateRect(props, parentSize, true,);
|
|
18190
18190
|
return calculatedRect;
|
|
18191
18191
|
}
|
|
18192
|
+
function isAutoSized({
|
|
18193
|
+
width,
|
|
18194
|
+
height,
|
|
18195
|
+
},) {
|
|
18196
|
+
return width === 'auto' || width === 'min-content' || height === 'auto' || height === 'min-content';
|
|
18197
|
+
}
|
|
18192
18198
|
var ControlType = /* @__PURE__ */ ((ControlType2) => {
|
|
18193
18199
|
ControlType2['Boolean'] = 'boolean';
|
|
18194
18200
|
ControlType2['Number'] = 'number';
|
|
@@ -18217,6 +18223,7 @@ var ControlType = /* @__PURE__ */ ((ControlType2) => {
|
|
|
18217
18223
|
ControlType2['Cursor'] = 'cursor';
|
|
18218
18224
|
ControlType2['Padding'] = 'padding';
|
|
18219
18225
|
ControlType2['BorderRadius'] = 'borderradius';
|
|
18226
|
+
ControlType2['CollectionReference'] = 'collectionreference';
|
|
18220
18227
|
return ControlType2;
|
|
18221
18228
|
})(ControlType || {},);
|
|
18222
18229
|
var isFlexboxGapSupportedCached;
|
|
@@ -19075,8 +19082,8 @@ var didInject = false;
|
|
|
19075
19082
|
function injectComponentCSSRules() {
|
|
19076
19083
|
if (didInject) return;
|
|
19077
19084
|
didInject = true;
|
|
19078
|
-
const
|
|
19079
|
-
for (const rule of
|
|
19085
|
+
const styles4 = RenderTarget.current() === RenderTarget.preview ? combinedCSSRulesForPreview : combinedCSSRules;
|
|
19086
|
+
for (const rule of styles4) {
|
|
19080
19087
|
injectCSSRule(rule, void 0, void 0,);
|
|
19081
19088
|
}
|
|
19082
19089
|
}
|
|
@@ -19122,6 +19129,7 @@ function getControlDefaultValue(control,) {
|
|
|
19122
19129
|
try {
|
|
19123
19130
|
switch (control.type) {
|
|
19124
19131
|
case 'string':
|
|
19132
|
+
case 'collectionreference':
|
|
19125
19133
|
case 'color':
|
|
19126
19134
|
case 'date':
|
|
19127
19135
|
case 'link':
|
|
@@ -21252,28 +21260,28 @@ function backgroundImageFromProps(props,) {
|
|
|
21252
21260
|
}
|
|
21253
21261
|
function collectBorderStyleForProps(props, style, collapseEqualBorders = true,) {
|
|
21254
21262
|
const {
|
|
21255
|
-
borderWidth
|
|
21263
|
+
borderWidth,
|
|
21256
21264
|
borderStyle,
|
|
21257
21265
|
borderColor,
|
|
21258
21266
|
} = props;
|
|
21259
|
-
if (!
|
|
21267
|
+
if (!borderWidth) {
|
|
21260
21268
|
return;
|
|
21261
21269
|
}
|
|
21262
21270
|
let borderTop;
|
|
21263
21271
|
let borderBottom;
|
|
21264
21272
|
let borderLeft;
|
|
21265
21273
|
let borderRight;
|
|
21266
|
-
if (typeof
|
|
21274
|
+
if (typeof borderWidth === 'number') {
|
|
21267
21275
|
borderTop =
|
|
21268
21276
|
borderBottom =
|
|
21269
21277
|
borderLeft =
|
|
21270
21278
|
borderRight =
|
|
21271
|
-
|
|
21279
|
+
borderWidth;
|
|
21272
21280
|
} else {
|
|
21273
|
-
borderTop =
|
|
21274
|
-
borderBottom =
|
|
21275
|
-
borderLeft =
|
|
21276
|
-
borderRight =
|
|
21281
|
+
borderTop = borderWidth.top || 0;
|
|
21282
|
+
borderBottom = borderWidth.bottom || 0;
|
|
21283
|
+
borderLeft = borderWidth.left || 0;
|
|
21284
|
+
borderRight = borderWidth.right || 0;
|
|
21277
21285
|
}
|
|
21278
21286
|
if (borderTop === 0 && borderBottom === 0 && borderLeft === 0 && borderRight === 0) {
|
|
21279
21287
|
return;
|
|
@@ -21422,7 +21430,7 @@ function useForceUpdate3() {
|
|
|
21422
21430
|
}
|
|
21423
21431
|
var ResizeObserverPolyfill = /* @__PURE__ */ (() => require_resize_observer_umd().ResizeObserver)();
|
|
21424
21432
|
var DEFAULT_SIZE = 200;
|
|
21425
|
-
var SharedObserver = class {
|
|
21433
|
+
var SharedObserver = /*#__PURE__*/ class {
|
|
21426
21434
|
constructor() {
|
|
21427
21435
|
__publicField(this, 'sharedResizeObserver',);
|
|
21428
21436
|
__publicField(this, 'callbacks', /* @__PURE__ */ new WeakMap(),);
|
|
@@ -21753,6 +21761,7 @@ function resetSetStyle(element, key7, toValue, microtask2 = true,) {
|
|
|
21753
21761
|
}
|
|
21754
21762
|
}
|
|
21755
21763
|
var Layer = /* @__PURE__ */ (() => {
|
|
21764
|
+
/*#__PURE__*/
|
|
21756
21765
|
class Layer2 extends Component {
|
|
21757
21766
|
constructor() {
|
|
21758
21767
|
super(...arguments,);
|
|
@@ -22483,12 +22492,6 @@ function resolveParentSize(props, unwrappedProps, rect, inCodeComponent,) {
|
|
|
22483
22492
|
}
|
|
22484
22493
|
return 0;
|
|
22485
22494
|
}
|
|
22486
|
-
function isAutoSized({
|
|
22487
|
-
width,
|
|
22488
|
-
height,
|
|
22489
|
-
},) {
|
|
22490
|
-
return width === 'auto' || width === 'min-content' || height === 'auto' || height === 'min-content';
|
|
22491
|
-
}
|
|
22492
22495
|
function EmptyState({
|
|
22493
22496
|
title = '',
|
|
22494
22497
|
description = 'Click and drag the connector to any frame on the canvas \u2192',
|
|
@@ -22590,7 +22593,7 @@ var SharedLayoutContext = /* @__PURE__ */ React4.createContext({
|
|
|
22590
22593
|
scheduleProjectionDidUpdate: () => {},
|
|
22591
22594
|
initLead: () => {},
|
|
22592
22595
|
},);
|
|
22593
|
-
var SharedLayoutRoot = class extends Component {
|
|
22596
|
+
var SharedLayoutRoot = /*#__PURE__*/ class extends Component {
|
|
22594
22597
|
constructor() {
|
|
22595
22598
|
super(...arguments,);
|
|
22596
22599
|
__publicField(this, 'shouldAnimate', false,);
|
|
@@ -22673,7 +22676,7 @@ function MagicMotionCrossfadeRoot(props,) {
|
|
|
22673
22676
|
children: props.children,
|
|
22674
22677
|
},);
|
|
22675
22678
|
}
|
|
22676
|
-
var SharedIntersectionObserver = class {
|
|
22679
|
+
var SharedIntersectionObserver = /*#__PURE__*/ class {
|
|
22677
22680
|
constructor(options,) {
|
|
22678
22681
|
__publicField(this, 'sharedIntersectionObserver',);
|
|
22679
22682
|
__publicField(this, 'callbacks', /* @__PURE__ */ new WeakMap(),);
|
|
@@ -22817,7 +22820,7 @@ function pointForEvent(event, customTarget = null,) {
|
|
|
22817
22820
|
};
|
|
22818
22821
|
return point2;
|
|
22819
22822
|
}
|
|
22820
|
-
var FramerEvent = class {
|
|
22823
|
+
var FramerEvent = /*#__PURE__*/ class {
|
|
22821
22824
|
/**
|
|
22822
22825
|
* @internal
|
|
22823
22826
|
*/
|
|
@@ -22924,7 +22927,7 @@ var DraggingContext = /* @__PURE__ */ React4.createContext({
|
|
|
22924
22927
|
dragging: false,
|
|
22925
22928
|
},);
|
|
22926
22929
|
function WithDragging(Component15,) {
|
|
22927
|
-
const _WithDraggingHOC = class extends React4.Component {
|
|
22930
|
+
const _WithDraggingHOC = /*#__PURE__*/ class extends React4.Component {
|
|
22928
22931
|
constructor(props, defaultProps,) {
|
|
22929
22932
|
super(props, defaultProps,);
|
|
22930
22933
|
__publicField(this, 'state', {
|
|
@@ -23743,7 +23746,7 @@ var ObservableObject = /* @__PURE__ */ (() => {
|
|
|
23743
23746
|
};
|
|
23744
23747
|
return ObservableObject2;
|
|
23745
23748
|
})();
|
|
23746
|
-
var ObservableObjectProxyHandler = class {
|
|
23749
|
+
var ObservableObjectProxyHandler = /*#__PURE__*/ class {
|
|
23747
23750
|
constructor() {
|
|
23748
23751
|
__publicField(this, 'set', (target, key7, value, receiver,) => {
|
|
23749
23752
|
if (key7 === $private) {
|
|
@@ -24419,7 +24422,7 @@ function applyLayoutProp(style, props, key7,) {
|
|
|
24419
24422
|
}
|
|
24420
24423
|
}
|
|
24421
24424
|
var DeprecatedFrame = /* @__PURE__ */ (() => {
|
|
24422
|
-
const _DeprecatedFrameInner = class extends Layer {
|
|
24425
|
+
const _DeprecatedFrameInner = /*#__PURE__*/ class extends Layer {
|
|
24423
24426
|
constructor() {
|
|
24424
24427
|
super(...arguments,);
|
|
24425
24428
|
__publicField(this, 'element', null,);
|
|
@@ -24800,7 +24803,7 @@ var Frame = /* @__PURE__ */ (() => {
|
|
|
24800
24803
|
FrameInner['displayName'] = 'Frame';
|
|
24801
24804
|
return FrameInner;
|
|
24802
24805
|
})();
|
|
24803
|
-
var LayoutTree = class extends Component {
|
|
24806
|
+
var LayoutTree = /*#__PURE__*/ class extends Component {
|
|
24804
24807
|
constructor() {
|
|
24805
24808
|
super(...arguments,);
|
|
24806
24809
|
__publicField(this, 'layoutMaybeMutated',);
|
|
@@ -25238,7 +25241,7 @@ var allAnimatableProperties = {
|
|
|
25238
25241
|
originZ: 0,
|
|
25239
25242
|
opacity: 1,
|
|
25240
25243
|
};
|
|
25241
|
-
var NavigatorMock = class {
|
|
25244
|
+
var NavigatorMock = /*#__PURE__*/ class {
|
|
25242
25245
|
constructor() {
|
|
25243
25246
|
__publicField(this, 'warning', () => {
|
|
25244
25247
|
warnOnce2('The Navigator API is only available inside of Framer: https://www.framer.com/',);
|
|
@@ -26292,7 +26295,7 @@ var NavigationTransitionType = /* @__PURE__ */ ((NavigationTransitionType2) => {
|
|
|
26292
26295
|
return NavigationTransitionType2;
|
|
26293
26296
|
})(NavigationTransitionType || {},);
|
|
26294
26297
|
function WithNavigator(BaseComponent, navigationTransition, navigationTransitionDirection, NavigationTarget, navigationTransitionOptions,) {
|
|
26295
|
-
const InternalWithNavigator = class extends React4.Component {
|
|
26298
|
+
const InternalWithNavigator = /*#__PURE__*/ class extends React4.Component {
|
|
26296
26299
|
render() {
|
|
26297
26300
|
return /* @__PURE__ */ jsx(NavigationContext.Consumer, {
|
|
26298
26301
|
children: (navigation) => {
|
|
@@ -27793,7 +27796,7 @@ function stateName(state,) {
|
|
|
27793
27796
|
function containsBitmask(value, bitmask,) {
|
|
27794
27797
|
return (value & bitmask) !== 0;
|
|
27795
27798
|
}
|
|
27796
|
-
var GestureRecognizer = class {
|
|
27799
|
+
var GestureRecognizer = /*#__PURE__*/ class {
|
|
27797
27800
|
constructor() {
|
|
27798
27801
|
__publicField(this, '_state', 2,/* Possible */
|
|
27799
27802
|
);
|
|
@@ -27869,7 +27872,7 @@ var GestureRecognizer = class {
|
|
|
27869
27872
|
}
|
|
27870
27873
|
}
|
|
27871
27874
|
};
|
|
27872
|
-
var MouseWheelGestureRecognizer = class extends GestureRecognizer {
|
|
27875
|
+
var MouseWheelGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer {
|
|
27873
27876
|
constructor() {
|
|
27874
27877
|
super(...arguments,);
|
|
27875
27878
|
__publicField(this, 'startEvent',);
|
|
@@ -27914,7 +27917,7 @@ var MouseWheelGestureRecognizer = class extends GestureRecognizer {
|
|
|
27914
27917
|
this.onMouseWheelEnd(event,);
|
|
27915
27918
|
}
|
|
27916
27919
|
};
|
|
27917
|
-
var PanGestureRecognizer = class extends GestureRecognizer {
|
|
27920
|
+
var PanGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer {
|
|
27918
27921
|
constructor() {
|
|
27919
27922
|
super(...arguments,);
|
|
27920
27923
|
__publicField(this, 'startEvent',);
|
|
@@ -27989,7 +27992,7 @@ var PanGestureRecognizer = class extends GestureRecognizer {
|
|
|
27989
27992
|
}
|
|
27990
27993
|
}
|
|
27991
27994
|
};
|
|
27992
|
-
var TapGestureRecognizer = class extends GestureRecognizer {
|
|
27995
|
+
var TapGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer {
|
|
27993
27996
|
constructor() {
|
|
27994
27997
|
super(...arguments,);
|
|
27995
27998
|
__publicField(this, 'eventType', 'tap',);
|
|
@@ -28019,7 +28022,7 @@ var TapGestureRecognizer = class extends GestureRecognizer {
|
|
|
28019
28022
|
}
|
|
28020
28023
|
}
|
|
28021
28024
|
};
|
|
28022
|
-
var FramerEventSession = class {
|
|
28025
|
+
var FramerEventSession = /*#__PURE__*/ class {
|
|
28023
28026
|
constructor(dispatcher, customOrigin,) {
|
|
28024
28027
|
__publicField(this, 'events', [],);
|
|
28025
28028
|
__publicField(this, 'recognizers', [],);
|
|
@@ -28179,7 +28182,7 @@ var FramerEventSession = class {
|
|
|
28179
28182
|
return subtract(event.devicePoint, this.startEvent.devicePoint,);
|
|
28180
28183
|
}
|
|
28181
28184
|
};
|
|
28182
|
-
var MouseEventListener = class extends Component {
|
|
28185
|
+
var MouseEventListener = /*#__PURE__*/ class extends Component {
|
|
28183
28186
|
constructor() {
|
|
28184
28187
|
super(...arguments,);
|
|
28185
28188
|
__publicField(this, 'domMouseDown', (originalEvent) => {
|
|
@@ -28231,7 +28234,7 @@ var MouseEventListener = class extends Component {
|
|
|
28231
28234
|
safeWindow.removeEventListener('wheel', this.domMouseWheel,);
|
|
28232
28235
|
}
|
|
28233
28236
|
};
|
|
28234
|
-
var TouchEventListener = class extends Component {
|
|
28237
|
+
var TouchEventListener = /*#__PURE__*/ class extends Component {
|
|
28235
28238
|
constructor() {
|
|
28236
28239
|
super(...arguments,);
|
|
28237
28240
|
__publicField(this, 'domTouchStart', (originalEvent) => {
|
|
@@ -29278,7 +29281,7 @@ function useObserveData() {
|
|
|
29278
29281
|
const context = React4.useContext(DataObserverContext,);
|
|
29279
29282
|
return !isNaN(context.update,);
|
|
29280
29283
|
}
|
|
29281
|
-
var DataObserver = class extends Component {
|
|
29284
|
+
var DataObserver = /*#__PURE__*/ class extends Component {
|
|
29282
29285
|
constructor() {
|
|
29283
29286
|
super(...arguments,);
|
|
29284
29287
|
__publicField(this, 'observers', [],);
|
|
@@ -29622,7 +29625,6 @@ function usePresenceAnimation(
|
|
|
29622
29625
|
const [isPresent2, safeToRemove,] = usePresence();
|
|
29623
29626
|
const lastPresence = useRef(false,);
|
|
29624
29627
|
const effect = useConstant2(() => {
|
|
29625
|
-
var _a;
|
|
29626
29628
|
const base = initial ?? style;
|
|
29627
29629
|
if (!isObject2(base,)) {
|
|
29628
29630
|
return {
|
|
@@ -29631,7 +29633,7 @@ function usePresenceAnimation(
|
|
|
29631
29633
|
}
|
|
29632
29634
|
const defaults = {};
|
|
29633
29635
|
for (const key7 in base) {
|
|
29634
|
-
const value = isObject2(base,) ?
|
|
29636
|
+
const value = isObject2(base,) ? base[key7] : void 0;
|
|
29635
29637
|
if (!isNumber2(value,)) continue;
|
|
29636
29638
|
defaults[key7] = value;
|
|
29637
29639
|
}
|
|
@@ -29860,6 +29862,7 @@ function useStyleAppearEffect(options, ref,) {
|
|
|
29860
29862
|
}
|
|
29861
29863
|
return new Promise((resolve) => {
|
|
29862
29864
|
if (shouldReduceMotion && key7 !== 'opacity') {
|
|
29865
|
+
if (isNumber2(toValue,)) effect.values[key7].set(toValue,);
|
|
29863
29866
|
resolve();
|
|
29864
29867
|
} else {
|
|
29865
29868
|
const opts = {
|
|
@@ -30436,7 +30439,7 @@ var withGeneratedLayoutId = (Component15) =>
|
|
|
30436
30439
|
ref,
|
|
30437
30440
|
},);
|
|
30438
30441
|
},);
|
|
30439
|
-
var ContainerErrorBoundary = class extends Component {
|
|
30442
|
+
var ContainerErrorBoundary = /*#__PURE__*/ class extends Component {
|
|
30440
30443
|
constructor() {
|
|
30441
30444
|
super(...arguments,);
|
|
30442
30445
|
__publicField(this, 'state', {
|
|
@@ -31408,7 +31411,7 @@ function Floating({
|
|
|
31408
31411
|
);
|
|
31409
31412
|
}
|
|
31410
31413
|
var GeneratedComponentContext = /* @__PURE__ */ React4.createContext(void 0,);
|
|
31411
|
-
var LazyValue = class {
|
|
31414
|
+
var LazyValue = /*#__PURE__*/ class {
|
|
31412
31415
|
constructor(resolver,) {
|
|
31413
31416
|
this.resolver = resolver;
|
|
31414
31417
|
__publicField(this, 'status',);
|
|
@@ -32033,10 +32036,248 @@ function resolvePageScope(pageLink, router,) {
|
|
|
32033
32036
|
preserveQueryParams: false,
|
|
32034
32037
|
},);
|
|
32035
32038
|
}
|
|
32039
|
+
var salt = 'framer';
|
|
32040
|
+
var difficulty = 3;
|
|
32041
|
+
var tokenLength = 30;
|
|
32042
|
+
var maxTime = 3e3;
|
|
32043
|
+
async function calculateProofOfWork() {
|
|
32044
|
+
const target = '0'.repeat(difficulty,);
|
|
32045
|
+
const startTime = Date.now();
|
|
32046
|
+
let processing = true;
|
|
32047
|
+
while (processing) {
|
|
32048
|
+
const timestamp = Date.now();
|
|
32049
|
+
if (timestamp - startTime > maxTime) {
|
|
32050
|
+
processing = false;
|
|
32051
|
+
return;
|
|
32052
|
+
}
|
|
32053
|
+
const nonce = randomCharacters(tokenLength,);
|
|
32054
|
+
const secret = `${timestamp}:${nonce}`;
|
|
32055
|
+
const hash2 = await sha256(salt + secret,);
|
|
32056
|
+
if (hash2.startsWith(target,)) {
|
|
32057
|
+
return {
|
|
32058
|
+
secret,
|
|
32059
|
+
hash: hash2,
|
|
32060
|
+
};
|
|
32061
|
+
}
|
|
32062
|
+
}
|
|
32063
|
+
return;
|
|
32064
|
+
}
|
|
32065
|
+
async function sha256(text,) {
|
|
32066
|
+
const buffer = new TextEncoder().encode(text,);
|
|
32067
|
+
const hashBuffer = await crypto.subtle.digest('SHA-256', buffer,);
|
|
32068
|
+
return Array.from(new Uint8Array(hashBuffer,),).map((b) => b.toString(16,).padStart(2, '0',)).join('',);
|
|
32069
|
+
}
|
|
32070
|
+
function randomCharacters(count,) {
|
|
32071
|
+
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
32072
|
+
let result = '';
|
|
32073
|
+
const charactersLength = characters.length;
|
|
32074
|
+
for (let i = 0; i < count; i++) {
|
|
32075
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength,),);
|
|
32076
|
+
}
|
|
32077
|
+
return result;
|
|
32078
|
+
}
|
|
32079
|
+
function getEncodedFormFieldsHeader(data2,) {
|
|
32080
|
+
return Array.from(data2.keys(),).map(encodeURIComponent,).join(',',);
|
|
32081
|
+
}
|
|
32082
|
+
function formReducer({
|
|
32083
|
+
state,
|
|
32084
|
+
}, {
|
|
32085
|
+
type,
|
|
32086
|
+
},) {
|
|
32087
|
+
switch (type) {
|
|
32088
|
+
case 'complete':
|
|
32089
|
+
case 'incomplete':
|
|
32090
|
+
if (state === 'error') {
|
|
32091
|
+
return {
|
|
32092
|
+
state: 'error',
|
|
32093
|
+
};
|
|
32094
|
+
}
|
|
32095
|
+
return {
|
|
32096
|
+
state: type,
|
|
32097
|
+
};
|
|
32098
|
+
case 'submit':
|
|
32099
|
+
return {
|
|
32100
|
+
state: 'pending',
|
|
32101
|
+
};
|
|
32102
|
+
case 'success':
|
|
32103
|
+
return {
|
|
32104
|
+
state: 'success',
|
|
32105
|
+
};
|
|
32106
|
+
case 'error':
|
|
32107
|
+
return {
|
|
32108
|
+
state: 'error',
|
|
32109
|
+
};
|
|
32110
|
+
default:
|
|
32111
|
+
assertNever(type,);
|
|
32112
|
+
}
|
|
32113
|
+
}
|
|
32114
|
+
function stateCanSubmitForm(state,) {
|
|
32115
|
+
return state.state === 'incomplete' || state.state === 'complete';
|
|
32116
|
+
}
|
|
32117
|
+
function preventDefault(e,) {
|
|
32118
|
+
e.preventDefault();
|
|
32119
|
+
}
|
|
32120
|
+
var FormContext = React4.createContext(void 0,);
|
|
32121
|
+
var FormContainer = /* @__PURE__ */ React4.forwardRef(({
|
|
32122
|
+
action,
|
|
32123
|
+
children,
|
|
32124
|
+
redirectUrl,
|
|
32125
|
+
onSuccess,
|
|
32126
|
+
onError,
|
|
32127
|
+
onLoading,
|
|
32128
|
+
...props
|
|
32129
|
+
}, ref,) => {
|
|
32130
|
+
const router = useRouter();
|
|
32131
|
+
const [state, dispatch,] = React4.useReducer(formReducer, {
|
|
32132
|
+
state: 'incomplete',
|
|
32133
|
+
},);
|
|
32134
|
+
const {
|
|
32135
|
+
activeLocale,
|
|
32136
|
+
} = useLocaleInfo();
|
|
32137
|
+
const projectHash = useContext3(FormContext,);
|
|
32138
|
+
const callbacks = React4.useRef({
|
|
32139
|
+
onSuccess,
|
|
32140
|
+
onError,
|
|
32141
|
+
onLoading,
|
|
32142
|
+
},);
|
|
32143
|
+
callbacks.current = {
|
|
32144
|
+
onSuccess,
|
|
32145
|
+
onError,
|
|
32146
|
+
onLoading,
|
|
32147
|
+
};
|
|
32148
|
+
async function redirectTo(link,) {
|
|
32149
|
+
var _a, _b;
|
|
32150
|
+
if (isLinkToWebPage(link,)) {
|
|
32151
|
+
if (!router) return;
|
|
32152
|
+
const route = (_a = router.getRoute) == null ? void 0 : _a.call(router, link.webPageId,);
|
|
32153
|
+
if (!route) return;
|
|
32154
|
+
const {
|
|
32155
|
+
unresolvedHashSlugs,
|
|
32156
|
+
unresolvedPathSlugs,
|
|
32157
|
+
} = link;
|
|
32158
|
+
const resolvedSlugs = await resolveSlugs(unresolvedPathSlugs, unresolvedHashSlugs, router.collectionUtils, activeLocale,);
|
|
32159
|
+
const combinedPathVariables = Object.assign(
|
|
32160
|
+
{},
|
|
32161
|
+
router.currentPathVariables,
|
|
32162
|
+
link.pathVariables,
|
|
32163
|
+
resolvedSlugs == null ? void 0 : resolvedSlugs.path,
|
|
32164
|
+
);
|
|
32165
|
+
const combinedHashVariables = Object.assign(
|
|
32166
|
+
{},
|
|
32167
|
+
router.currentPathVariables,
|
|
32168
|
+
link.pathVariables,
|
|
32169
|
+
link.hashVariables,
|
|
32170
|
+
resolvedSlugs == null ? void 0 : resolvedSlugs.hash,
|
|
32171
|
+
);
|
|
32172
|
+
const element = getHashForRoute(link.hash, route, combinedHashVariables,);
|
|
32173
|
+
(_b = router.navigate) == null ? void 0 : _b.call(router, link.webPageId, element, combinedPathVariables,);
|
|
32174
|
+
return;
|
|
32175
|
+
}
|
|
32176
|
+
if (!safeWindow) return;
|
|
32177
|
+
safeWindow.open(link, '_blank',);
|
|
32178
|
+
}
|
|
32179
|
+
const handleSubmit = async (event) => {
|
|
32180
|
+
var _a, _b, _c, _d, _e, _f;
|
|
32181
|
+
event.preventDefault();
|
|
32182
|
+
if (!action || !projectHash) return;
|
|
32183
|
+
const data2 = new FormData(event.currentTarget,);
|
|
32184
|
+
for (const [key7, value,] of data2) {
|
|
32185
|
+
if (value instanceof File) data2.delete(key7,);
|
|
32186
|
+
}
|
|
32187
|
+
try {
|
|
32188
|
+
dispatch({
|
|
32189
|
+
type: 'submit',
|
|
32190
|
+
},);
|
|
32191
|
+
(_b = (_a = callbacks.current).onLoading) == null ? void 0 : _b.call(_a,);
|
|
32192
|
+
await submitForm(action, data2, projectHash,);
|
|
32193
|
+
dispatch({
|
|
32194
|
+
type: 'success',
|
|
32195
|
+
},);
|
|
32196
|
+
(_d = (_c = callbacks.current).onSuccess) == null ? void 0 : _d.call(_c,);
|
|
32197
|
+
if (redirectUrl) {
|
|
32198
|
+
await redirectTo(redirectUrl,);
|
|
32199
|
+
}
|
|
32200
|
+
} catch (error) {
|
|
32201
|
+
dispatch({
|
|
32202
|
+
type: 'error',
|
|
32203
|
+
},);
|
|
32204
|
+
(_f = (_e = callbacks.current).onError) == null ? void 0 : _f.call(_e,);
|
|
32205
|
+
console.error(error,);
|
|
32206
|
+
}
|
|
32207
|
+
};
|
|
32208
|
+
const handleKeyDown = (event) => {
|
|
32209
|
+
const {
|
|
32210
|
+
target: input,
|
|
32211
|
+
currentTarget: form,
|
|
32212
|
+
key: key7,
|
|
32213
|
+
} = event;
|
|
32214
|
+
const isTextArea = input instanceof HTMLTextAreaElement;
|
|
32215
|
+
if (isTextArea) return;
|
|
32216
|
+
if (key7 === 'Enter' && form.checkValidity()) {
|
|
32217
|
+
event.preventDefault();
|
|
32218
|
+
void handleSubmit(event,);
|
|
32219
|
+
}
|
|
32220
|
+
};
|
|
32221
|
+
const checkValidity = (e) => {
|
|
32222
|
+
dispatch({
|
|
32223
|
+
type: anyEmptyRequiredFields(e.currentTarget,) ? 'incomplete' : 'complete',
|
|
32224
|
+
},);
|
|
32225
|
+
};
|
|
32226
|
+
return /* @__PURE__ */ jsx(motion.form, {
|
|
32227
|
+
...props,
|
|
32228
|
+
onSubmit: stateCanSubmitForm(state,) ? handleSubmit : preventDefault,
|
|
32229
|
+
onKeyDown: handleKeyDown,
|
|
32230
|
+
onChange: checkValidity,
|
|
32231
|
+
ref,
|
|
32232
|
+
children: children(state,),
|
|
32233
|
+
},);
|
|
32234
|
+
},);
|
|
32235
|
+
function anyEmptyRequiredFields(element,) {
|
|
32236
|
+
if (element.children.length === 0) return false;
|
|
32237
|
+
for (const child of element.children) {
|
|
32238
|
+
if (child instanceof HTMLInputElement || child instanceof HTMLTextAreaElement || child instanceof HTMLSelectElement) {
|
|
32239
|
+
if (child.required && child.value === '') return true;
|
|
32240
|
+
} else {
|
|
32241
|
+
const result = anyEmptyRequiredFields(child,);
|
|
32242
|
+
if (result) return true;
|
|
32243
|
+
}
|
|
32244
|
+
}
|
|
32245
|
+
return false;
|
|
32246
|
+
}
|
|
32247
|
+
async function submitForm(action, data2, projectHash,) {
|
|
32248
|
+
const proofOfWork = await calculateProofOfWork();
|
|
32249
|
+
if (!proofOfWork) {
|
|
32250
|
+
throw new Error('Failed to calculate proof of work',);
|
|
32251
|
+
}
|
|
32252
|
+
const response = await fetch(action, {
|
|
32253
|
+
body: data2,
|
|
32254
|
+
method: 'POST',
|
|
32255
|
+
headers: {
|
|
32256
|
+
'Framer-Site-Id': projectHash,
|
|
32257
|
+
'Framer-POW': proofOfWork.secret,
|
|
32258
|
+
'Framer-Form-Fields': getEncodedFormFieldsHeader(data2,),
|
|
32259
|
+
},
|
|
32260
|
+
},);
|
|
32261
|
+
if (response.ok) {
|
|
32262
|
+
return response;
|
|
32263
|
+
} else {
|
|
32264
|
+
const body = await response.json();
|
|
32265
|
+
const error = 'Failed to submit form';
|
|
32266
|
+
if (responseHasError(body,)) {
|
|
32267
|
+
throw new Error(`${error} - ${body.error.message}`,);
|
|
32268
|
+
}
|
|
32269
|
+
throw new Error(error,);
|
|
32270
|
+
}
|
|
32271
|
+
}
|
|
32272
|
+
function responseHasError(response,) {
|
|
32273
|
+
return typeof response === 'object' && response !== null && 'error' in response && isObject2(response.error,) &&
|
|
32274
|
+
'message' in response.error && typeof response.error.message === 'string';
|
|
32275
|
+
}
|
|
32036
32276
|
function PageRoot({
|
|
32037
32277
|
RootComponent,
|
|
32038
32278
|
isWebsite,
|
|
32039
32279
|
routeId,
|
|
32280
|
+
framerSiteId,
|
|
32040
32281
|
pathVariables,
|
|
32041
32282
|
routes,
|
|
32042
32283
|
collectionUtils,
|
|
@@ -32057,21 +32298,24 @@ function PageRoot({
|
|
|
32057
32298
|
return /* @__PURE__ */ jsx(MotionConfig, {
|
|
32058
32299
|
reducedMotion: isReducedMotion ? 'user' : 'never',
|
|
32059
32300
|
children: /* @__PURE__ */ jsx(CustomCursorHost, {
|
|
32060
|
-
children: /* @__PURE__ */ jsx(
|
|
32061
|
-
|
|
32062
|
-
|
|
32063
|
-
|
|
32064
|
-
|
|
32065
|
-
|
|
32066
|
-
|
|
32067
|
-
|
|
32068
|
-
|
|
32069
|
-
|
|
32070
|
-
|
|
32071
|
-
|
|
32072
|
-
|
|
32073
|
-
|
|
32074
|
-
|
|
32301
|
+
children: /* @__PURE__ */ jsx(FormContext.Provider, {
|
|
32302
|
+
value: framerSiteId,
|
|
32303
|
+
children: /* @__PURE__ */ jsx(Router, {
|
|
32304
|
+
initialRoute: routeId,
|
|
32305
|
+
initialPathVariables: pathVariables,
|
|
32306
|
+
initialLocaleId: localeId,
|
|
32307
|
+
routes,
|
|
32308
|
+
collectionUtils,
|
|
32309
|
+
notFoundPage,
|
|
32310
|
+
locales,
|
|
32311
|
+
defaultPageStyle: {
|
|
32312
|
+
minHeight: '100vh',
|
|
32313
|
+
width: 'auto',
|
|
32314
|
+
},
|
|
32315
|
+
preserveQueryParams,
|
|
32316
|
+
enableImproveInpDuringHydration,
|
|
32317
|
+
addHydrationMarkers,
|
|
32318
|
+
},),
|
|
32075
32319
|
},),
|
|
32076
32320
|
},),
|
|
32077
32321
|
},);
|
|
@@ -32401,7 +32645,7 @@ async function getCollection(collection, locale,) {
|
|
|
32401
32645
|
}
|
|
32402
32646
|
return collection;
|
|
32403
32647
|
}
|
|
32404
|
-
var CompatibilityDatabaseCollection = class {
|
|
32648
|
+
var CompatibilityDatabaseCollection = /*#__PURE__*/ class {
|
|
32405
32649
|
constructor(collection, locale,) {
|
|
32406
32650
|
this.collection = collection;
|
|
32407
32651
|
this.locale = locale;
|
|
@@ -32636,12 +32880,12 @@ function compare(left, right, collation,) {
|
|
|
32636
32880
|
}
|
|
32637
32881
|
}
|
|
32638
32882
|
var INDEX_IDENTIFIER = 'index';
|
|
32639
|
-
var ScalarExpression = class {
|
|
32883
|
+
var ScalarExpression = /*#__PURE__*/ class {
|
|
32640
32884
|
static from(expression, schema,) {
|
|
32641
32885
|
return convertExpression(expression, schema, void 0,);
|
|
32642
32886
|
}
|
|
32643
32887
|
};
|
|
32644
|
-
var ScalarIdentifier = class extends ScalarExpression {
|
|
32888
|
+
var ScalarIdentifier = /*#__PURE__*/ class extends ScalarExpression {
|
|
32645
32889
|
constructor(schema, name,) {
|
|
32646
32890
|
super();
|
|
32647
32891
|
this.schema = schema;
|
|
@@ -32673,7 +32917,7 @@ var ScalarIdentifier = class extends ScalarExpression {
|
|
|
32673
32917
|
return false;
|
|
32674
32918
|
}
|
|
32675
32919
|
};
|
|
32676
|
-
var ScalarLiteralValue = class extends ScalarExpression {
|
|
32920
|
+
var ScalarLiteralValue = /*#__PURE__*/ class extends ScalarExpression {
|
|
32677
32921
|
constructor(definition, value,) {
|
|
32678
32922
|
super();
|
|
32679
32923
|
this.definition = definition;
|
|
@@ -32755,7 +32999,7 @@ var ScalarLiteralValue = class extends ScalarExpression {
|
|
|
32755
32999
|
return true;
|
|
32756
33000
|
}
|
|
32757
33001
|
};
|
|
32758
|
-
var ScalarFunctionCall = class extends ScalarExpression {
|
|
33002
|
+
var ScalarFunctionCall = /*#__PURE__*/ class extends ScalarExpression {
|
|
32759
33003
|
constructor(argumentExpressions,) {
|
|
32760
33004
|
super();
|
|
32761
33005
|
this.argumentExpressions = argumentExpressions;
|
|
@@ -32781,7 +33025,7 @@ var ScalarFunctionCall = class extends ScalarExpression {
|
|
|
32781
33025
|
},);
|
|
32782
33026
|
}
|
|
32783
33027
|
};
|
|
32784
|
-
var ScalarFunctionCallContains = class extends ScalarFunctionCall {
|
|
33028
|
+
var ScalarFunctionCallContains = /*#__PURE__*/ class extends ScalarFunctionCall {
|
|
32785
33029
|
constructor() {
|
|
32786
33030
|
super(...arguments,);
|
|
32787
33031
|
__publicField(this, 'definition', ScalarFunctionCallContains.getDefinition(),);
|
|
@@ -32817,7 +33061,7 @@ var ScalarFunctionCallContains = class extends ScalarFunctionCall {
|
|
|
32817
33061
|
};
|
|
32818
33062
|
}
|
|
32819
33063
|
};
|
|
32820
|
-
var ScalarFunctionCallStartsWith = class extends ScalarFunctionCall {
|
|
33064
|
+
var ScalarFunctionCallStartsWith = /*#__PURE__*/ class extends ScalarFunctionCall {
|
|
32821
33065
|
constructor() {
|
|
32822
33066
|
super(...arguments,);
|
|
32823
33067
|
__publicField(this, 'definition', ScalarFunctionCallStartsWith.getDefinition(),);
|
|
@@ -32853,7 +33097,7 @@ var ScalarFunctionCallStartsWith = class extends ScalarFunctionCall {
|
|
|
32853
33097
|
};
|
|
32854
33098
|
}
|
|
32855
33099
|
};
|
|
32856
|
-
var ScalarFunctionCallEndsWith = class extends ScalarFunctionCall {
|
|
33100
|
+
var ScalarFunctionCallEndsWith = /*#__PURE__*/ class extends ScalarFunctionCall {
|
|
32857
33101
|
constructor() {
|
|
32858
33102
|
super(...arguments,);
|
|
32859
33103
|
__publicField(this, 'definition', ScalarFunctionCallEndsWith.getDefinition(),);
|
|
@@ -32889,7 +33133,7 @@ var ScalarFunctionCallEndsWith = class extends ScalarFunctionCall {
|
|
|
32889
33133
|
};
|
|
32890
33134
|
}
|
|
32891
33135
|
};
|
|
32892
|
-
var ScalarCase = class extends ScalarExpression {
|
|
33136
|
+
var ScalarCase = /*#__PURE__*/ class extends ScalarExpression {
|
|
32893
33137
|
constructor(valueExpression, conditions, elseExpression,) {
|
|
32894
33138
|
super();
|
|
32895
33139
|
this.valueExpression = valueExpression;
|
|
@@ -32985,13 +33229,13 @@ var ScalarCase = class extends ScalarExpression {
|
|
|
32985
33229
|
},);
|
|
32986
33230
|
}
|
|
32987
33231
|
};
|
|
32988
|
-
var ScalarCaseCondition = class {
|
|
33232
|
+
var ScalarCaseCondition = /*#__PURE__*/ class {
|
|
32989
33233
|
constructor(whenExpression, thenExpression,) {
|
|
32990
33234
|
this.whenExpression = whenExpression;
|
|
32991
33235
|
this.thenExpression = thenExpression;
|
|
32992
33236
|
}
|
|
32993
33237
|
};
|
|
32994
|
-
var ScalarUnaryOperation = class extends ScalarExpression {
|
|
33238
|
+
var ScalarUnaryOperation = /*#__PURE__*/ class extends ScalarExpression {
|
|
32995
33239
|
constructor(valueExpression,) {
|
|
32996
33240
|
super();
|
|
32997
33241
|
this.valueExpression = valueExpression;
|
|
@@ -33004,7 +33248,7 @@ var ScalarUnaryOperation = class extends ScalarExpression {
|
|
|
33004
33248
|
return this.valueExpression.canEvaluate();
|
|
33005
33249
|
}
|
|
33006
33250
|
};
|
|
33007
|
-
var ScalarUnaryOperationNot = class extends ScalarUnaryOperation {
|
|
33251
|
+
var ScalarUnaryOperationNot = /*#__PURE__*/ class extends ScalarUnaryOperation {
|
|
33008
33252
|
constructor() {
|
|
33009
33253
|
super(...arguments,);
|
|
33010
33254
|
__publicField(this, 'definition', ScalarUnaryOperationNot.getDefinition(),);
|
|
@@ -33026,7 +33270,7 @@ var ScalarUnaryOperationNot = class extends ScalarUnaryOperation {
|
|
|
33026
33270
|
};
|
|
33027
33271
|
}
|
|
33028
33272
|
};
|
|
33029
|
-
var ScalarLogicalOperation = class extends ScalarExpression {
|
|
33273
|
+
var ScalarLogicalOperation = /*#__PURE__*/ class extends ScalarExpression {
|
|
33030
33274
|
constructor(operandExpressions,) {
|
|
33031
33275
|
super();
|
|
33032
33276
|
this.operandExpressions = operandExpressions;
|
|
@@ -33051,7 +33295,7 @@ var ScalarLogicalOperation = class extends ScalarExpression {
|
|
|
33051
33295
|
},);
|
|
33052
33296
|
}
|
|
33053
33297
|
};
|
|
33054
|
-
var ScalarLogicalOperationAnd = class extends ScalarLogicalOperation {
|
|
33298
|
+
var ScalarLogicalOperationAnd = /*#__PURE__*/ class extends ScalarLogicalOperation {
|
|
33055
33299
|
constructor() {
|
|
33056
33300
|
super(...arguments,);
|
|
33057
33301
|
__publicField(this, 'operator', 'AND',);
|
|
@@ -33067,7 +33311,7 @@ var ScalarLogicalOperationAnd = class extends ScalarLogicalOperation {
|
|
|
33067
33311
|
};
|
|
33068
33312
|
}
|
|
33069
33313
|
};
|
|
33070
|
-
var ScalarLogicalOperationOr = class extends ScalarLogicalOperation {
|
|
33314
|
+
var ScalarLogicalOperationOr = /*#__PURE__*/ class extends ScalarLogicalOperation {
|
|
33071
33315
|
constructor() {
|
|
33072
33316
|
super(...arguments,);
|
|
33073
33317
|
__publicField(this, 'operator', 'OR',);
|
|
@@ -33083,7 +33327,7 @@ var ScalarLogicalOperationOr = class extends ScalarLogicalOperation {
|
|
|
33083
33327
|
};
|
|
33084
33328
|
}
|
|
33085
33329
|
};
|
|
33086
|
-
var ScalarComparison = class extends ScalarExpression {
|
|
33330
|
+
var ScalarComparison = /*#__PURE__*/ class extends ScalarExpression {
|
|
33087
33331
|
constructor(leftExpression, rightExpression,) {
|
|
33088
33332
|
super();
|
|
33089
33333
|
this.leftExpression = leftExpression;
|
|
@@ -33111,7 +33355,7 @@ var ScalarComparison = class extends ScalarExpression {
|
|
|
33111
33355
|
return this.leftExpression.canEvaluate() && this.rightExpression.canEvaluate();
|
|
33112
33356
|
}
|
|
33113
33357
|
};
|
|
33114
|
-
var ScalarComparisonEquals = class extends ScalarComparison {
|
|
33358
|
+
var ScalarComparisonEquals = /*#__PURE__*/ class extends ScalarComparison {
|
|
33115
33359
|
constructor() {
|
|
33116
33360
|
super(...arguments,);
|
|
33117
33361
|
__publicField(this, 'operator', '=',);
|
|
@@ -33125,7 +33369,7 @@ var ScalarComparisonEquals = class extends ScalarComparison {
|
|
|
33125
33369
|
};
|
|
33126
33370
|
}
|
|
33127
33371
|
};
|
|
33128
|
-
var ScalarComparisonNotEquals = class extends ScalarComparison {
|
|
33372
|
+
var ScalarComparisonNotEquals = /*#__PURE__*/ class extends ScalarComparison {
|
|
33129
33373
|
constructor() {
|
|
33130
33374
|
super(...arguments,);
|
|
33131
33375
|
__publicField(this, 'operator', '!=',);
|
|
@@ -33139,7 +33383,7 @@ var ScalarComparisonNotEquals = class extends ScalarComparison {
|
|
|
33139
33383
|
};
|
|
33140
33384
|
}
|
|
33141
33385
|
};
|
|
33142
|
-
var ScalarComparisonLessThan = class extends ScalarComparison {
|
|
33386
|
+
var ScalarComparisonLessThan = /*#__PURE__*/ class extends ScalarComparison {
|
|
33143
33387
|
constructor() {
|
|
33144
33388
|
super(...arguments,);
|
|
33145
33389
|
__publicField(this, 'operator', '<',);
|
|
@@ -33153,7 +33397,7 @@ var ScalarComparisonLessThan = class extends ScalarComparison {
|
|
|
33153
33397
|
};
|
|
33154
33398
|
}
|
|
33155
33399
|
};
|
|
33156
|
-
var ScalarComparisonLessThanOrEqual = class extends ScalarComparison {
|
|
33400
|
+
var ScalarComparisonLessThanOrEqual = /*#__PURE__*/ class extends ScalarComparison {
|
|
33157
33401
|
constructor() {
|
|
33158
33402
|
super(...arguments,);
|
|
33159
33403
|
__publicField(this, 'operator', '<=',);
|
|
@@ -33167,7 +33411,7 @@ var ScalarComparisonLessThanOrEqual = class extends ScalarComparison {
|
|
|
33167
33411
|
};
|
|
33168
33412
|
}
|
|
33169
33413
|
};
|
|
33170
|
-
var ScalarComparisonGreaterThan = class extends ScalarComparison {
|
|
33414
|
+
var ScalarComparisonGreaterThan = /*#__PURE__*/ class extends ScalarComparison {
|
|
33171
33415
|
constructor() {
|
|
33172
33416
|
super(...arguments,);
|
|
33173
33417
|
__publicField(this, 'operator', '>',);
|
|
@@ -33181,7 +33425,7 @@ var ScalarComparisonGreaterThan = class extends ScalarComparison {
|
|
|
33181
33425
|
};
|
|
33182
33426
|
}
|
|
33183
33427
|
};
|
|
33184
|
-
var ScalarComparisonGreaterThanOrEqual = class extends ScalarComparison {
|
|
33428
|
+
var ScalarComparisonGreaterThanOrEqual = /*#__PURE__*/ class extends ScalarComparison {
|
|
33185
33429
|
constructor() {
|
|
33186
33430
|
super(...arguments,);
|
|
33187
33431
|
__publicField(this, 'operator', '>=',);
|
|
@@ -33195,7 +33439,7 @@ var ScalarComparisonGreaterThanOrEqual = class extends ScalarComparison {
|
|
|
33195
33439
|
};
|
|
33196
33440
|
}
|
|
33197
33441
|
};
|
|
33198
|
-
var ScalarTypeCast = class extends ScalarExpression {
|
|
33442
|
+
var ScalarTypeCast = /*#__PURE__*/ class extends ScalarExpression {
|
|
33199
33443
|
constructor(valueExpression,) {
|
|
33200
33444
|
super();
|
|
33201
33445
|
this.valueExpression = valueExpression;
|
|
@@ -33211,7 +33455,7 @@ var ScalarTypeCast = class extends ScalarExpression {
|
|
|
33211
33455
|
return this.valueExpression.canEvaluate();
|
|
33212
33456
|
}
|
|
33213
33457
|
};
|
|
33214
|
-
var ScalarTypeCastBoolean = class extends ScalarTypeCast {
|
|
33458
|
+
var ScalarTypeCastBoolean = /*#__PURE__*/ class extends ScalarTypeCast {
|
|
33215
33459
|
constructor() {
|
|
33216
33460
|
super(...arguments,);
|
|
33217
33461
|
__publicField(this, 'dataType', 'BOOLEAN',);
|
|
@@ -33241,7 +33485,7 @@ function convertToBoolean(value,) {
|
|
|
33241
33485
|
}
|
|
33242
33486
|
return false;
|
|
33243
33487
|
}
|
|
33244
|
-
var ScalarTypeCastDate = class extends ScalarTypeCast {
|
|
33488
|
+
var ScalarTypeCastDate = /*#__PURE__*/ class extends ScalarTypeCast {
|
|
33245
33489
|
constructor() {
|
|
33246
33490
|
super(...arguments,);
|
|
33247
33491
|
__publicField(this, 'dataType', 'DATE',);
|
|
@@ -33279,7 +33523,7 @@ function convertToDate(value,) {
|
|
|
33279
33523
|
}
|
|
33280
33524
|
return null;
|
|
33281
33525
|
}
|
|
33282
|
-
var ScalarTypeCastNumber = class extends ScalarTypeCast {
|
|
33526
|
+
var ScalarTypeCastNumber = /*#__PURE__*/ class extends ScalarTypeCast {
|
|
33283
33527
|
constructor() {
|
|
33284
33528
|
super(...arguments,);
|
|
33285
33529
|
__publicField(this, 'dataType', 'NUMBER',);
|
|
@@ -33316,7 +33560,7 @@ function convertToNumber(value,) {
|
|
|
33316
33560
|
}
|
|
33317
33561
|
return null;
|
|
33318
33562
|
}
|
|
33319
|
-
var ScalarTypeCastString = class extends ScalarTypeCast {
|
|
33563
|
+
var ScalarTypeCastString = /*#__PURE__*/ class extends ScalarTypeCast {
|
|
33320
33564
|
constructor() {
|
|
33321
33565
|
super(...arguments,);
|
|
33322
33566
|
__publicField(this, 'dataType', 'STRING',);
|
|
@@ -33764,7 +34008,7 @@ function stringifyExecutionTime(self2, total,) {
|
|
|
33764
34008
|
function stringifyItems(items,) {
|
|
33765
34009
|
return `(items: ${items})`;
|
|
33766
34010
|
}
|
|
33767
|
-
var QueryPlan = class {
|
|
34011
|
+
var QueryPlan = /*#__PURE__*/ class {
|
|
33768
34012
|
constructor() {
|
|
33769
34013
|
__publicField(this, 'executionTime', 0,);
|
|
33770
34014
|
__publicField(this, 'itemCount', 0,);
|
|
@@ -33777,7 +34021,7 @@ var QueryPlan = class {
|
|
|
33777
34021
|
return result;
|
|
33778
34022
|
}
|
|
33779
34023
|
};
|
|
33780
|
-
var ScanCollectionPlan = class extends QueryPlan {
|
|
34024
|
+
var ScanCollectionPlan = /*#__PURE__*/ class extends QueryPlan {
|
|
33781
34025
|
constructor(collection,) {
|
|
33782
34026
|
super();
|
|
33783
34027
|
this.collection = collection;
|
|
@@ -33791,7 +34035,7 @@ var ScanCollectionPlan = class extends QueryPlan {
|
|
|
33791
34035
|
return this.collection.scanItems();
|
|
33792
34036
|
}
|
|
33793
34037
|
};
|
|
33794
|
-
var LookupIndexPlan = class extends QueryPlan {
|
|
34038
|
+
var LookupIndexPlan = /*#__PURE__*/ class extends QueryPlan {
|
|
33795
34039
|
constructor(index, query,) {
|
|
33796
34040
|
super();
|
|
33797
34041
|
this.index = index;
|
|
@@ -33831,7 +34075,7 @@ var LookupIndexPlan = class extends QueryPlan {
|
|
|
33831
34075
|
return this.index.lookupItems(this.query,);
|
|
33832
34076
|
}
|
|
33833
34077
|
};
|
|
33834
|
-
var UnionPlan = class extends QueryPlan {
|
|
34078
|
+
var UnionPlan = /*#__PURE__*/ class extends QueryPlan {
|
|
33835
34079
|
constructor(childPlans,) {
|
|
33836
34080
|
super();
|
|
33837
34081
|
this.childPlans = childPlans;
|
|
@@ -33861,7 +34105,7 @@ var UnionPlan = class extends QueryPlan {
|
|
|
33861
34105
|
return (result == null ? void 0 : result.items()) ?? [];
|
|
33862
34106
|
}
|
|
33863
34107
|
};
|
|
33864
|
-
var IntersectionPlan = class extends QueryPlan {
|
|
34108
|
+
var IntersectionPlan = /*#__PURE__*/ class extends QueryPlan {
|
|
33865
34109
|
constructor(childPlans,) {
|
|
33866
34110
|
super();
|
|
33867
34111
|
this.childPlans = childPlans;
|
|
@@ -33891,7 +34135,7 @@ var IntersectionPlan = class extends QueryPlan {
|
|
|
33891
34135
|
return (result == null ? void 0 : result.items()) ?? [];
|
|
33892
34136
|
}
|
|
33893
34137
|
};
|
|
33894
|
-
var ResolveItemsPlan = class extends QueryPlan {
|
|
34138
|
+
var ResolveItemsPlan = /*#__PURE__*/ class extends QueryPlan {
|
|
33895
34139
|
constructor(childPlan, collection, richTextResolver, select,) {
|
|
33896
34140
|
super();
|
|
33897
34141
|
this.childPlan = childPlan;
|
|
@@ -33921,7 +34165,7 @@ var ResolveItemsPlan = class extends QueryPlan {
|
|
|
33921
34165
|
return this.collection.resolveItems(childPointers,);
|
|
33922
34166
|
}
|
|
33923
34167
|
};
|
|
33924
|
-
var FilterItemsPlan = class extends QueryPlan {
|
|
34168
|
+
var FilterItemsPlan = /*#__PURE__*/ class extends QueryPlan {
|
|
33925
34169
|
constructor(childPlan, filterExpression,) {
|
|
33926
34170
|
super();
|
|
33927
34171
|
this.childPlan = childPlan;
|
|
@@ -33943,7 +34187,7 @@ var FilterItemsPlan = class extends QueryPlan {
|
|
|
33943
34187
|
},);
|
|
33944
34188
|
}
|
|
33945
34189
|
};
|
|
33946
|
-
var SortItemsPlan = class extends QueryPlan {
|
|
34190
|
+
var SortItemsPlan = /*#__PURE__*/ class extends QueryPlan {
|
|
33947
34191
|
constructor(childPlan, orderExpressions, collection,) {
|
|
33948
34192
|
super();
|
|
33949
34193
|
this.childPlan = childPlan;
|
|
@@ -33992,14 +34236,14 @@ var SortItemsPlan = class extends QueryPlan {
|
|
|
33992
34236
|
},);
|
|
33993
34237
|
}
|
|
33994
34238
|
};
|
|
33995
|
-
var ScalarOrderExpression = class {
|
|
34239
|
+
var ScalarOrderExpression = /*#__PURE__*/ class {
|
|
33996
34240
|
constructor(expression, direction, collation,) {
|
|
33997
34241
|
this.expression = expression;
|
|
33998
34242
|
this.direction = direction;
|
|
33999
34243
|
this.collation = collation;
|
|
34000
34244
|
}
|
|
34001
34245
|
};
|
|
34002
|
-
var SliceItemsPlan = class extends QueryPlan {
|
|
34246
|
+
var SliceItemsPlan = /*#__PURE__*/ class extends QueryPlan {
|
|
34003
34247
|
constructor(childPlan, offsetExpression, limitExpression,) {
|
|
34004
34248
|
super();
|
|
34005
34249
|
this.childPlan = childPlan;
|
|
@@ -34036,7 +34280,7 @@ var SliceItemsPlan = class extends QueryPlan {
|
|
|
34036
34280
|
return childItems.slice(offset, offset + limit,);
|
|
34037
34281
|
}
|
|
34038
34282
|
};
|
|
34039
|
-
var DatabaseItemMap = class extends Map {
|
|
34283
|
+
var DatabaseItemMap = /*#__PURE__*/ class extends Map {
|
|
34040
34284
|
constructor(items = [],) {
|
|
34041
34285
|
super();
|
|
34042
34286
|
for (const item of items) {
|
|
@@ -34067,7 +34311,7 @@ var DatabaseItemMap = class extends Map {
|
|
|
34067
34311
|
return [...values,];
|
|
34068
34312
|
}
|
|
34069
34313
|
};
|
|
34070
|
-
var RichTextResolver = class {
|
|
34314
|
+
var RichTextResolver = /*#__PURE__*/ class {
|
|
34071
34315
|
constructor(collection,) {
|
|
34072
34316
|
this.collection = collection;
|
|
34073
34317
|
__publicField(this, 'cache', /* @__PURE__ */ new Map(),);
|
|
@@ -34218,7 +34462,7 @@ function getDatabaseCollection({
|
|
|
34218
34462
|
}
|
|
34219
34463
|
assertNever(data2, 'Unsupported collection type',);
|
|
34220
34464
|
}
|
|
34221
|
-
var QueryEngine = class {
|
|
34465
|
+
var QueryEngine = /*#__PURE__*/ class {
|
|
34222
34466
|
async query(query, locale,) {
|
|
34223
34467
|
const collection = getDatabaseCollection(query.from, locale,);
|
|
34224
34468
|
const richTextResolver = new RichTextResolver(collection,);
|
|
@@ -34449,7 +34693,7 @@ function createScanCollectionPlan(collection, expression,) {
|
|
|
34449
34693
|
const plan = new ScanCollectionPlan(collection,);
|
|
34450
34694
|
return new FilterItemsPlan(plan, expression,);
|
|
34451
34695
|
}
|
|
34452
|
-
var AnimationCollector = class {
|
|
34696
|
+
var AnimationCollector = /*#__PURE__*/ class {
|
|
34453
34697
|
constructor() {
|
|
34454
34698
|
__publicField(this, 'entries', /* @__PURE__ */ new Map(),);
|
|
34455
34699
|
}
|
|
@@ -35074,7 +35318,7 @@ function usePrototypeNavigate({
|
|
|
35074
35318
|
return false;
|
|
35075
35319
|
};
|
|
35076
35320
|
}
|
|
35077
|
-
var QueryCache = class {
|
|
35321
|
+
var QueryCache = /*#__PURE__*/ class {
|
|
35078
35322
|
constructor(queryEngine2,) {
|
|
35079
35323
|
this.queryEngine = queryEngine2;
|
|
35080
35324
|
__publicField(this, 'cache', /* @__PURE__ */ new Map(),);
|
|
@@ -36190,7 +36434,7 @@ var FontSourceNames = /* @__PURE__ */ ((FontSourceNames2) => {
|
|
|
36190
36434
|
return FontSourceNames2;
|
|
36191
36435
|
})(FontSourceNames || {},);
|
|
36192
36436
|
var systemFontFamilyName = 'System Default';
|
|
36193
|
-
var LocalFontSource = class {
|
|
36437
|
+
var LocalFontSource = /*#__PURE__*/ class {
|
|
36194
36438
|
constructor() {
|
|
36195
36439
|
__publicField(this, 'name', 'local',/* Local */
|
|
36196
36440
|
);
|
|
@@ -36270,8 +36514,8 @@ var LocalFontSource = class {
|
|
|
36270
36514
|
};
|
|
36271
36515
|
const aliases = /* @__PURE__ */ new Map();
|
|
36272
36516
|
const weights = [400, 100, 200, 300, 500, 600, 700, 800, 900,];
|
|
36273
|
-
const
|
|
36274
|
-
for (const style of
|
|
36517
|
+
const styles4 = ['normal', 'italic',];
|
|
36518
|
+
for (const style of styles4) {
|
|
36275
36519
|
for (const weight of weights) {
|
|
36276
36520
|
const variant = createVariantName(weight, style,);
|
|
36277
36521
|
const alias = `__SystemDefault-${weight}-${style}__`;
|
|
@@ -36332,7 +36576,7 @@ function getCustomFontName(fileName, properties,) {
|
|
|
36332
36576
|
const variant = properties.font.preferredSubFamily === '' ? properties.font.fontSubFamily : properties.font.preferredSubFamily;
|
|
36333
36577
|
return `${fontFamily} ${variant}`;
|
|
36334
36578
|
}
|
|
36335
|
-
var CustomFontSource = class {
|
|
36579
|
+
var CustomFontSource = /*#__PURE__*/ class {
|
|
36336
36580
|
constructor() {
|
|
36337
36581
|
__publicField(this, 'name', 'custom',/* Custom */
|
|
36338
36582
|
);
|
|
@@ -36500,7 +36744,7 @@ var weightNameToNumber = {
|
|
|
36500
36744
|
};
|
|
36501
36745
|
var weightNames = /* @__PURE__ */ Object.keys(weightNameToNumber,);
|
|
36502
36746
|
var allowedVariantsRegex = /* @__PURE__ */ (() => new RegExp(`^(?:${[...weightNames, 'italic',].join('|',)})`, 'u',))();
|
|
36503
|
-
var FontshareSource = class {
|
|
36747
|
+
var FontshareSource = /*#__PURE__*/ class {
|
|
36504
36748
|
constructor() {
|
|
36505
36749
|
__publicField(this, 'name', 'fontshare',/* Fontshare */
|
|
36506
36750
|
);
|
|
@@ -36638,7 +36882,7 @@ var weightNameToNumber2 = {
|
|
|
36638
36882
|
ExtraBold: 800,
|
|
36639
36883
|
Black: 900,
|
|
36640
36884
|
};
|
|
36641
|
-
var FramerFontSource = class {
|
|
36885
|
+
var FramerFontSource = /*#__PURE__*/ class {
|
|
36642
36886
|
constructor() {
|
|
36643
36887
|
__publicField(this, 'name', 'framer',/* Framer */
|
|
36644
36888
|
);
|
|
@@ -36699,7 +36943,7 @@ var FramerFontSource = class {
|
|
|
36699
36943
|
}
|
|
36700
36944
|
};
|
|
36701
36945
|
var googleFontSelectorPrefix = 'GF;';
|
|
36702
|
-
var GoogleFontSource = class {
|
|
36946
|
+
var GoogleFontSource = /*#__PURE__*/ class {
|
|
36703
36947
|
constructor() {
|
|
36704
36948
|
__publicField(this, 'name', 'google',/* Google */
|
|
36705
36949
|
);
|
|
@@ -36806,7 +37050,7 @@ function mapToKnownCategory2(category,) {
|
|
|
36806
37050
|
var import_fontfaceobserver = __toESM(require_fontfaceobserver_standalone(), 1,);
|
|
36807
37051
|
var FONT_LOADING_TIMEOUT = 5e3;
|
|
36808
37052
|
var MAX_RETRIES = 3;
|
|
36809
|
-
var FontLoadingError = class extends Error {
|
|
37053
|
+
var FontLoadingError = /*#__PURE__*/ class extends Error {
|
|
36810
37054
|
constructor(message,) {
|
|
36811
37055
|
super(message,);
|
|
36812
37056
|
this.name = 'FontLoadingError';
|
|
@@ -36879,7 +37123,7 @@ async function isFontReady(family, style, weight,) {
|
|
|
36879
37123
|
}`,);
|
|
36880
37124
|
}
|
|
36881
37125
|
}
|
|
36882
|
-
var FontStore = class {
|
|
37126
|
+
var FontStore = /*#__PURE__*/ class {
|
|
36883
37127
|
constructor() {
|
|
36884
37128
|
__publicField(this, 'enabled', false,);
|
|
36885
37129
|
__publicField(this, 'bySelector', /* @__PURE__ */ new Map(),);
|
|
@@ -37336,194 +37580,6 @@ function isPageOrScroll(identifier,) {
|
|
|
37336
37580
|
if (identifier === 'framer/Scroll') return true;
|
|
37337
37581
|
return false;
|
|
37338
37582
|
}
|
|
37339
|
-
var salt = 'framer';
|
|
37340
|
-
var difficulty = 3;
|
|
37341
|
-
var tokenLength = 30;
|
|
37342
|
-
var maxTime = 3e3;
|
|
37343
|
-
async function calculateProofOfWork() {
|
|
37344
|
-
const target = '0'.repeat(difficulty,);
|
|
37345
|
-
const startTime = Date.now();
|
|
37346
|
-
let processing = true;
|
|
37347
|
-
while (processing) {
|
|
37348
|
-
const timestamp = Date.now();
|
|
37349
|
-
if (timestamp - startTime > maxTime) {
|
|
37350
|
-
processing = false;
|
|
37351
|
-
return;
|
|
37352
|
-
}
|
|
37353
|
-
const nonce = randomCharacters(tokenLength,);
|
|
37354
|
-
const secret = `${timestamp}:${nonce}`;
|
|
37355
|
-
const hash2 = await sha256(salt + secret,);
|
|
37356
|
-
if (hash2.startsWith(target,)) {
|
|
37357
|
-
return {
|
|
37358
|
-
secret,
|
|
37359
|
-
hash: hash2,
|
|
37360
|
-
};
|
|
37361
|
-
}
|
|
37362
|
-
}
|
|
37363
|
-
return;
|
|
37364
|
-
}
|
|
37365
|
-
async function sha256(text,) {
|
|
37366
|
-
const buffer = new TextEncoder().encode(text,);
|
|
37367
|
-
const hashBuffer = await crypto.subtle.digest('SHA-256', buffer,);
|
|
37368
|
-
return Array.from(new Uint8Array(hashBuffer,),).map((b) => b.toString(16,).padStart(2, '0',)).join('',);
|
|
37369
|
-
}
|
|
37370
|
-
function randomCharacters(count,) {
|
|
37371
|
-
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
37372
|
-
let result = '';
|
|
37373
|
-
const charactersLength = characters.length;
|
|
37374
|
-
for (let i = 0; i < count; i++) {
|
|
37375
|
-
result += characters.charAt(Math.floor(Math.random() * charactersLength,),);
|
|
37376
|
-
}
|
|
37377
|
-
return result;
|
|
37378
|
-
}
|
|
37379
|
-
function formReducer(_state, {
|
|
37380
|
-
type,
|
|
37381
|
-
},) {
|
|
37382
|
-
switch (type) {
|
|
37383
|
-
case 'submit':
|
|
37384
|
-
return {
|
|
37385
|
-
state: 'pending',
|
|
37386
|
-
};
|
|
37387
|
-
case 'success':
|
|
37388
|
-
return {
|
|
37389
|
-
state: 'success',
|
|
37390
|
-
};
|
|
37391
|
-
case 'error':
|
|
37392
|
-
return {
|
|
37393
|
-
state: 'error',
|
|
37394
|
-
};
|
|
37395
|
-
default:
|
|
37396
|
-
assertNever(type,);
|
|
37397
|
-
}
|
|
37398
|
-
}
|
|
37399
|
-
function preventDefault(e,) {
|
|
37400
|
-
e.preventDefault();
|
|
37401
|
-
}
|
|
37402
|
-
var FormContainer = /* @__PURE__ */ React4.forwardRef(({
|
|
37403
|
-
action,
|
|
37404
|
-
formId,
|
|
37405
|
-
disabled,
|
|
37406
|
-
children,
|
|
37407
|
-
redirectUrl,
|
|
37408
|
-
onSuccess,
|
|
37409
|
-
onError,
|
|
37410
|
-
...props
|
|
37411
|
-
}, ref,) => {
|
|
37412
|
-
const [state, dispatch,] = React4.useReducer(formReducer, {
|
|
37413
|
-
state: disabled ? 'disabled' : void 0,
|
|
37414
|
-
},);
|
|
37415
|
-
const router = useRouter();
|
|
37416
|
-
const {
|
|
37417
|
-
activeLocale,
|
|
37418
|
-
} = useLocaleInfo();
|
|
37419
|
-
const isSubmitEnabled = state.state === void 0;
|
|
37420
|
-
async function redirectTo(link,) {
|
|
37421
|
-
var _a, _b;
|
|
37422
|
-
if (isLinkToWebPage(link,)) {
|
|
37423
|
-
if (!router) return;
|
|
37424
|
-
const route = (_a = router.getRoute) == null ? void 0 : _a.call(router, link.webPageId,);
|
|
37425
|
-
if (!route) return;
|
|
37426
|
-
const {
|
|
37427
|
-
unresolvedHashSlugs,
|
|
37428
|
-
unresolvedPathSlugs,
|
|
37429
|
-
} = link;
|
|
37430
|
-
const resolvedSlugs = await resolveSlugs(unresolvedPathSlugs, unresolvedHashSlugs, router.collectionUtils, activeLocale,);
|
|
37431
|
-
const combinedPathVariables = Object.assign(
|
|
37432
|
-
{},
|
|
37433
|
-
router.currentPathVariables,
|
|
37434
|
-
link.pathVariables,
|
|
37435
|
-
resolvedSlugs == null ? void 0 : resolvedSlugs.path,
|
|
37436
|
-
);
|
|
37437
|
-
const combinedHashVariables = Object.assign(
|
|
37438
|
-
{},
|
|
37439
|
-
router.currentPathVariables,
|
|
37440
|
-
link.pathVariables,
|
|
37441
|
-
link.hashVariables,
|
|
37442
|
-
resolvedSlugs == null ? void 0 : resolvedSlugs.hash,
|
|
37443
|
-
);
|
|
37444
|
-
const element = getHashForRoute(link.hash, route, combinedHashVariables,);
|
|
37445
|
-
(_b = router.navigate) == null ? void 0 : _b.call(router, link.webPageId, element, combinedPathVariables,);
|
|
37446
|
-
return;
|
|
37447
|
-
}
|
|
37448
|
-
if (!safeWindow) return;
|
|
37449
|
-
safeWindow.open(link, '_blank',);
|
|
37450
|
-
}
|
|
37451
|
-
const handleSubmit = async (event) => {
|
|
37452
|
-
event.preventDefault();
|
|
37453
|
-
if (!action) return;
|
|
37454
|
-
const data2 = new FormData(event.currentTarget,);
|
|
37455
|
-
for (const [key7, value,] of data2) {
|
|
37456
|
-
if (value instanceof File) data2.delete(key7,);
|
|
37457
|
-
}
|
|
37458
|
-
try {
|
|
37459
|
-
dispatch({
|
|
37460
|
-
type: 'submit',
|
|
37461
|
-
},);
|
|
37462
|
-
await submitForm(action, data2,);
|
|
37463
|
-
dispatch({
|
|
37464
|
-
type: 'success',
|
|
37465
|
-
},);
|
|
37466
|
-
onSuccess == null ? void 0 : onSuccess();
|
|
37467
|
-
if (redirectUrl) {
|
|
37468
|
-
await redirectTo(redirectUrl,);
|
|
37469
|
-
}
|
|
37470
|
-
} catch (error) {
|
|
37471
|
-
dispatch({
|
|
37472
|
-
type: 'error',
|
|
37473
|
-
},);
|
|
37474
|
-
onError == null ? void 0 : onError();
|
|
37475
|
-
}
|
|
37476
|
-
};
|
|
37477
|
-
const handleKeyDown = (event) => {
|
|
37478
|
-
const {
|
|
37479
|
-
target: input,
|
|
37480
|
-
currentTarget: form,
|
|
37481
|
-
key: key7,
|
|
37482
|
-
} = event;
|
|
37483
|
-
const isTextArea = input instanceof HTMLTextAreaElement;
|
|
37484
|
-
if (isTextArea) return;
|
|
37485
|
-
if (key7 === 'Enter' && form.checkValidity()) {
|
|
37486
|
-
event.preventDefault();
|
|
37487
|
-
void handleSubmit(event,);
|
|
37488
|
-
}
|
|
37489
|
-
};
|
|
37490
|
-
return /* @__PURE__ */ jsx(motion.form, {
|
|
37491
|
-
...props,
|
|
37492
|
-
'data-formid': formId,
|
|
37493
|
-
onSubmit: isSubmitEnabled ? handleSubmit : preventDefault,
|
|
37494
|
-
onKeyDown: handleKeyDown,
|
|
37495
|
-
ref,
|
|
37496
|
-
children: children(state,),
|
|
37497
|
-
},);
|
|
37498
|
-
},);
|
|
37499
|
-
async function submitForm(action, data2,) {
|
|
37500
|
-
const proofOfWork = await calculateProofOfWork();
|
|
37501
|
-
if (!proofOfWork) {
|
|
37502
|
-
throw new Error('Failed to calculate proof of work',);
|
|
37503
|
-
}
|
|
37504
|
-
const response = await fetch(action, {
|
|
37505
|
-
body: data2,
|
|
37506
|
-
method: 'POST',
|
|
37507
|
-
headers: {
|
|
37508
|
-
'Framer-POW': proofOfWork.secret,
|
|
37509
|
-
'Framer-POW-Enforce': 'true',
|
|
37510
|
-
},
|
|
37511
|
-
},);
|
|
37512
|
-
if (response.ok) {
|
|
37513
|
-
return response;
|
|
37514
|
-
} else {
|
|
37515
|
-
const body = await response.json();
|
|
37516
|
-
const error = 'Failed to submit form';
|
|
37517
|
-
if (responseHasError(body,)) {
|
|
37518
|
-
throw new Error(`${error} - ${body.error.message}`,);
|
|
37519
|
-
}
|
|
37520
|
-
throw new Error(error,);
|
|
37521
|
-
}
|
|
37522
|
-
}
|
|
37523
|
-
function responseHasError(response,) {
|
|
37524
|
-
return typeof response === 'object' && response !== null && 'error' in response && isObject2(response.error,) &&
|
|
37525
|
-
'message' in response.error && typeof response.error.message === 'string';
|
|
37526
|
-
}
|
|
37527
37583
|
var FormInputStyleVariableNames = /* @__PURE__ */ ((FormInputStyleVariableNames2) => {
|
|
37528
37584
|
FormInputStyleVariableNames2['Padding'] = '--framer-input-padding';
|
|
37529
37585
|
FormInputStyleVariableNames2['BorderRadiusTopLeft'] = '--framer-input-border-radius-top-left';
|
|
@@ -37552,7 +37608,6 @@ var FormInputStyleVariableNames = /* @__PURE__ */ ((FormInputStyleVariableNames2
|
|
|
37552
37608
|
FormInputStyleVariableNames2['FocusedBackground'] = '--framer-input-focused-background';
|
|
37553
37609
|
FormInputStyleVariableNames2['FocusedBoxShadow'] = '--framer-input-focused-box-shadow';
|
|
37554
37610
|
FormInputStyleVariableNames2['FocusedTransition'] = '--framer-input-focused-transition';
|
|
37555
|
-
FormInputStyleVariableNames2['BooleanCheckedIconURL'] = '--framer-input-boolean-icon';
|
|
37556
37611
|
FormInputStyleVariableNames2['BooleanCheckedBackground'] = '--framer-input-boolean-checked-background';
|
|
37557
37612
|
FormInputStyleVariableNames2['BooleanCheckedBorderColor'] = '--framer-input-boolean-checked-border-color';
|
|
37558
37613
|
FormInputStyleVariableNames2['BooleanCheckedBorderWidth'] = '--framer-input-boolean-checked-border-width';
|
|
@@ -37560,14 +37615,17 @@ var FormInputStyleVariableNames = /* @__PURE__ */ ((FormInputStyleVariableNames2
|
|
|
37560
37615
|
FormInputStyleVariableNames2['BooleanCheckedBoxShadow'] = '--framer-input-boolean-checked-box-shadow';
|
|
37561
37616
|
FormInputStyleVariableNames2['BooleanCheckedTransition'] = '--framer-input-boolean-checked-transition';
|
|
37562
37617
|
FormInputStyleVariableNames2['InvalidTextColor'] = '--framer-input-invalid-text-color';
|
|
37618
|
+
FormInputStyleVariableNames2['IconBackgroundImage'] = '--framer-input-icon-image';
|
|
37619
|
+
FormInputStyleVariableNames2['IconMaskImage'] = '--framer-input-icon-mask-image';
|
|
37620
|
+
FormInputStyleVariableNames2['IconColor'] = '--framer-input-icon-color';
|
|
37563
37621
|
return FormInputStyleVariableNames2;
|
|
37564
37622
|
})(FormInputStyleVariableNames || {},);
|
|
37565
37623
|
var Var = FormInputStyleVariableNames;
|
|
37566
|
-
var inputClassName =
|
|
37567
|
-
var inputWrapperClassName =
|
|
37568
|
-
var emptyValueClassName =
|
|
37569
|
-
var forcedFocusClassName =
|
|
37570
|
-
var forcedCheckedClassName =
|
|
37624
|
+
var inputClassName = 'framer-form-input';
|
|
37625
|
+
var inputWrapperClassName = 'framer-form-input-wrapper';
|
|
37626
|
+
var emptyValueClassName = 'framer-form-input-empty';
|
|
37627
|
+
var forcedFocusClassName = 'framer-form-input-forced-focus';
|
|
37628
|
+
var forcedCheckedClassName = 'framer-form-input-forced-checked';
|
|
37571
37629
|
function cssValue(value,) {
|
|
37572
37630
|
if (typeof value === 'number') return value;
|
|
37573
37631
|
if (value.startsWith('--',)) return css.variable(value,);
|
|
@@ -37577,7 +37635,8 @@ function cssValue(value,) {
|
|
|
37577
37635
|
function css(selector, declaration,) {
|
|
37578
37636
|
let output = ' ';
|
|
37579
37637
|
for (const key7 in declaration) {
|
|
37580
|
-
|
|
37638
|
+
const value = declaration[key7];
|
|
37639
|
+
output += `${key7.replace(/([A-Z])/gu, '-$1',).toLowerCase()}: ${cssValue(value,)}; `;
|
|
37581
37640
|
}
|
|
37582
37641
|
return selector + ' {' + output + '}';
|
|
37583
37642
|
}
|
|
@@ -37593,51 +37652,34 @@ function css(selector, declaration,) {
|
|
|
37593
37652
|
}
|
|
37594
37653
|
css2.variable = variable;
|
|
37595
37654
|
})(css || (css = {}),);
|
|
37596
|
-
var sharedInputCSS = [
|
|
37597
|
-
|
|
37598
|
-
|
|
37599
|
-
|
|
37600
|
-
|
|
37601
|
-
|
|
37602
|
-
|
|
37603
|
-
|
|
37604
|
-
|
|
37605
|
-
|
|
37606
|
-
|
|
37607
|
-
|
|
37608
|
-
|
|
37609
|
-
|
|
37610
|
-
|
|
37611
|
-
|
|
37612
|
-
|
|
37613
|
-
|
|
37614
|
-
|
|
37615
|
-
|
|
37616
|
-
|
|
37617
|
-
|
|
37618
|
-
|
|
37619
|
-
|
|
37620
|
-
|
|
37621
|
-
|
|
37622
|
-
|
|
37623
|
-
|
|
37624
|
-
background: ${css.variable(Var.FocusedBackground, Var.Background,)};
|
|
37625
|
-
box-shadow: ${css.variable(Var.FocusedBoxShadow, Var.BoxShadow,)};
|
|
37626
|
-
}`,
|
|
37627
|
-
`.${inputWrapperClassName}:focus-within::after, .${inputWrapperClassName}.${forcedFocusClassName}::after {
|
|
37628
|
-
border-color: ${css.variable(Var.FocusedBorderColor, Var.BorderColor,)};
|
|
37629
|
-
border-style: ${css.variable(Var.FocusedBorderStyle, Var.BorderStyle,)};
|
|
37630
|
-
border-top-width: ${css.variable(Var.FocusedBorderWidth, Var.BorderTopWidth,)};
|
|
37631
|
-
border-right-width: ${css.variable(Var.FocusedBorderWidth, Var.BorderRightWidth,)};
|
|
37632
|
-
border-bottom-width: ${css.variable(Var.FocusedBorderWidth, Var.BorderBottomWidth,)};
|
|
37633
|
-
border-left-width: ${css.variable(Var.FocusedBorderWidth, Var.BorderLeftWidth,)};
|
|
37634
|
-
}`,
|
|
37635
|
-
])();
|
|
37636
|
-
var inputBorderCSS = [
|
|
37637
|
-
`.${inputWrapperClassName} {
|
|
37638
|
-
position: relative;
|
|
37639
|
-
}`,
|
|
37640
|
-
`.${inputWrapperClassName}:after {
|
|
37655
|
+
var sharedInputCSS = [
|
|
37656
|
+
css(`.${inputClassName}`, {
|
|
37657
|
+
padding: css.variable(Var.Padding,),
|
|
37658
|
+
background: 'transparent',
|
|
37659
|
+
fontFamily: css.variable(Var.FontFamily,),
|
|
37660
|
+
fontWeight: css.variable(Var.FontWeight,),
|
|
37661
|
+
fontSize: css.variable(Var.FontSize,),
|
|
37662
|
+
color: css.variable(Var.FontColor,),
|
|
37663
|
+
border: 'none',
|
|
37664
|
+
textOverflow: 'ellipsis',
|
|
37665
|
+
whiteSpace: 'nowrap',
|
|
37666
|
+
overflow: 'hidden',
|
|
37667
|
+
width: '100%',
|
|
37668
|
+
height: '100%',
|
|
37669
|
+
letterSpacing: css.variable(Var.FontLetterSpacing,),
|
|
37670
|
+
textAlign: css.variable(Var.FontTextAlignment,),
|
|
37671
|
+
lineHeight: css.variable(Var.FontLineHeight,),
|
|
37672
|
+
},),
|
|
37673
|
+
css(`.${inputClassName}:focus-visible`, {
|
|
37674
|
+
outline: 'none',
|
|
37675
|
+
},),
|
|
37676
|
+
];
|
|
37677
|
+
var inputWrapperCSS = /* @__PURE__ */ (() => [css(`.${inputWrapperClassName}`, {
|
|
37678
|
+
overflow: 'hidden',
|
|
37679
|
+
},),])();
|
|
37680
|
+
var inputBorderAllSides =
|
|
37681
|
+
`var(${Var.BorderTopWidth}) var(${Var.BorderRightWidth}) var(${Var.BorderBottomWidth}) var(${Var.BorderLeftWidth})`;
|
|
37682
|
+
var inputBorderCSS = [`.${inputWrapperClassName}:after {
|
|
37641
37683
|
content: "";
|
|
37642
37684
|
pointer-events: none;
|
|
37643
37685
|
box-sizing: border-box;
|
|
@@ -37658,8 +37700,84 @@ var inputBorderCSS = [
|
|
|
37658
37700
|
border-style: var(${Var.BorderStyle});
|
|
37659
37701
|
transition: var(${Var.FocusedTransition});
|
|
37660
37702
|
transition-property: border-color, border-width, border-style, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius;
|
|
37661
|
-
}`,
|
|
37662
|
-
|
|
37703
|
+
}`,];
|
|
37704
|
+
var customValidityKey = 'customError';
|
|
37705
|
+
var validKey = 'valid';
|
|
37706
|
+
function isRelevantValidityStateKey(key7,) {
|
|
37707
|
+
return key7 !== customValidityKey && key7 !== validKey;
|
|
37708
|
+
}
|
|
37709
|
+
function isInvalid(validity,) {
|
|
37710
|
+
for (const key7 in validity) {
|
|
37711
|
+
if (!isRelevantValidityStateKey(key7,)) continue;
|
|
37712
|
+
if ((validity == null ? void 0 : validity[key7]) === true) return true;
|
|
37713
|
+
}
|
|
37714
|
+
return false;
|
|
37715
|
+
}
|
|
37716
|
+
function useCustomValidity(onValid, onInvalid, onChange, onBlur, onFocus,) {
|
|
37717
|
+
const isValidRef = React4.useRef(null,);
|
|
37718
|
+
const handleInvalid = React4.useCallback((e) => {
|
|
37719
|
+
if (!onInvalid) return;
|
|
37720
|
+
if (isValidRef.current === false) return;
|
|
37721
|
+
isValidRef.current = false;
|
|
37722
|
+
e.currentTarget.setCustomValidity(' ',);
|
|
37723
|
+
e.currentTarget.reportValidity();
|
|
37724
|
+
onInvalid(e,);
|
|
37725
|
+
}, [onInvalid,],);
|
|
37726
|
+
const handleChange = React4.useCallback((e) => {
|
|
37727
|
+
onChange == null ? void 0 : onChange(e,);
|
|
37728
|
+
if (!onInvalid && !onValid) return;
|
|
37729
|
+
const validity = e.target.validity;
|
|
37730
|
+
if (isValidRef.current === false && !isInvalid(validity,)) {
|
|
37731
|
+
e.currentTarget.setCustomValidity('',);
|
|
37732
|
+
e.target.reportValidity();
|
|
37733
|
+
isValidRef.current = true;
|
|
37734
|
+
onValid == null ? void 0 : onValid();
|
|
37735
|
+
}
|
|
37736
|
+
}, [onInvalid, onValid, onChange,],);
|
|
37737
|
+
const handleBlur = React4.useCallback((e) => {
|
|
37738
|
+
if (!onInvalid) {
|
|
37739
|
+
onBlur == null ? void 0 : onBlur(e,);
|
|
37740
|
+
return;
|
|
37741
|
+
}
|
|
37742
|
+
if (isValidRef.current === false) return;
|
|
37743
|
+
const validity = e.currentTarget.validity;
|
|
37744
|
+
if (isInvalid(validity,)) {
|
|
37745
|
+
handleInvalid(e,);
|
|
37746
|
+
return;
|
|
37747
|
+
}
|
|
37748
|
+
onBlur == null ? void 0 : onBlur(e,);
|
|
37749
|
+
}, [handleInvalid, onBlur, onInvalid,],);
|
|
37750
|
+
return React4.useMemo(() => {
|
|
37751
|
+
return {
|
|
37752
|
+
onInvalid: handleInvalid,
|
|
37753
|
+
onChange: handleChange,
|
|
37754
|
+
onBlur: handleBlur,
|
|
37755
|
+
onFocus,
|
|
37756
|
+
};
|
|
37757
|
+
}, [handleInvalid, handleChange, handleBlur, onFocus,],);
|
|
37758
|
+
}
|
|
37759
|
+
var iconSpacing = 10;
|
|
37760
|
+
var iconSize = 16;
|
|
37761
|
+
var inputIconCSSDeclaration = {
|
|
37762
|
+
content: '',
|
|
37763
|
+
display: 'block',
|
|
37764
|
+
position: 'absolute',
|
|
37765
|
+
right: 0,
|
|
37766
|
+
top: 0,
|
|
37767
|
+
bottom: 0,
|
|
37768
|
+
width: `${iconSize}px`,
|
|
37769
|
+
boxSizing: 'content-box',
|
|
37770
|
+
// Offset the icon inwards by the padding.
|
|
37771
|
+
margin: css.variable(Var.Padding,),
|
|
37772
|
+
marginLeft: 0,
|
|
37773
|
+
border: 'none',
|
|
37774
|
+
pointerEvents: 'none',
|
|
37775
|
+
backgroundRepeat: 'no-repeat',
|
|
37776
|
+
backgroundSize: `${iconSize}px`,
|
|
37777
|
+
maskRepeat: 'no-repeat',
|
|
37778
|
+
maskSize: `${iconSize}px`,
|
|
37779
|
+
backgroundColor: css.variable(Var.IconColor,),
|
|
37780
|
+
};
|
|
37663
37781
|
var passwordManagerIgnoreDataProps = {
|
|
37664
37782
|
// 1Password
|
|
37665
37783
|
'data-1p-ignore': true,
|
|
@@ -37679,146 +37797,202 @@ var PlainTextInput = /* @__PURE__ */ React4.forwardRef(function FormPlainTextInp
|
|
|
37679
37797
|
inputName,
|
|
37680
37798
|
max,
|
|
37681
37799
|
min,
|
|
37682
|
-
onBlur,
|
|
37683
|
-
onFocus,
|
|
37684
|
-
onInvalid,
|
|
37685
37800
|
placeholder,
|
|
37686
37801
|
required,
|
|
37687
37802
|
step: step2,
|
|
37688
37803
|
style,
|
|
37689
37804
|
type,
|
|
37690
|
-
value
|
|
37805
|
+
// We use a defaultValue instead of a value so that the input remains
|
|
37806
|
+
// uncontrolled by React. This is important because we want the user
|
|
37807
|
+
// to be able to provide an initial value in the property panel, and for
|
|
37808
|
+
// the value to be editable by the user in the preview.
|
|
37809
|
+
defaultValue,
|
|
37691
37810
|
autofillEnabled,
|
|
37692
|
-
|
|
37693
|
-
...rest
|
|
37694
|
-
} = props;
|
|
37695
|
-
const [hasValue, setHasValue,] = React4.useState(!!value,);
|
|
37696
|
-
const dataProps = autofillEnabled === false ? passwordManagerIgnoreDataProps : void 0;
|
|
37697
|
-
const eventProps = {
|
|
37811
|
+
onChange,
|
|
37698
37812
|
onBlur,
|
|
37699
|
-
onFocus,
|
|
37700
37813
|
onInvalid,
|
|
37701
|
-
|
|
37702
|
-
|
|
37814
|
+
onFocus,
|
|
37815
|
+
onValid,
|
|
37816
|
+
...rest
|
|
37817
|
+
} = props;
|
|
37818
|
+
const [hasValue, setHasValue,] = React4.useState(!!defaultValue,);
|
|
37819
|
+
const handleChange = React4.useCallback((e) => {
|
|
37703
37820
|
const newValue = e.target.value;
|
|
37821
|
+
onChange == null ? void 0 : onChange(e,);
|
|
37704
37822
|
setHasValue(!!newValue,);
|
|
37705
|
-
}, [],);
|
|
37706
|
-
|
|
37707
|
-
|
|
37708
|
-
|
|
37709
|
-
|
|
37710
|
-
|
|
37711
|
-
|
|
37712
|
-
|
|
37713
|
-
|
|
37714
|
-
|
|
37715
|
-
|
|
37716
|
-
|
|
37717
|
-
className: cx(inputWrapperClassName, canvasPreviewClassName, className2,),
|
|
37718
|
-
...rest,
|
|
37719
|
-
children: /* @__PURE__ */ jsx(motion.textarea, {
|
|
37720
|
-
id: inputName,
|
|
37721
|
-
...dataProps,
|
|
37722
|
-
...eventProps,
|
|
37723
|
-
required,
|
|
37724
|
-
autoFocus,
|
|
37725
|
-
name: inputName,
|
|
37726
|
-
placeholder,
|
|
37727
|
-
className: cx(inputClassName, canvasPreviewClassName,),
|
|
37728
|
-
value,
|
|
37729
|
-
},),
|
|
37730
|
-
},);
|
|
37731
|
-
default:
|
|
37732
|
-
return /* @__PURE__ */ jsx(motion.div, {
|
|
37733
|
-
ref,
|
|
37734
|
-
style,
|
|
37735
|
-
className: cx(inputWrapperClassName, canvasPreviewClassName, className2,),
|
|
37736
|
-
...rest,
|
|
37737
|
-
children: /* @__PURE__ */ jsx(motion.input, {
|
|
37738
|
-
id: inputName,
|
|
37739
|
-
...dataProps,
|
|
37740
|
-
...eventProps,
|
|
37741
|
-
type,
|
|
37742
|
-
required,
|
|
37743
|
-
autoFocus,
|
|
37744
|
-
name: inputName,
|
|
37745
|
-
placeholder,
|
|
37746
|
-
className: cx(inputClassName, canvasPreviewClassName, !hasValue && emptyValueClassName,),
|
|
37747
|
-
onChange,
|
|
37748
|
-
value,
|
|
37749
|
-
min,
|
|
37750
|
-
max,
|
|
37751
|
-
step: step2,
|
|
37752
|
-
},),
|
|
37753
|
-
},);
|
|
37823
|
+
}, [onChange,],);
|
|
37824
|
+
const eventHandlers = useCustomValidity(onValid, onInvalid, handleChange, onBlur, onFocus,);
|
|
37825
|
+
useEffect(() => {
|
|
37826
|
+
setHasValue(!!defaultValue,);
|
|
37827
|
+
}, [defaultValue,],);
|
|
37828
|
+
const dataProps = autofillEnabled === false ? passwordManagerIgnoreDataProps : void 0;
|
|
37829
|
+
if (type === 'hidden') {
|
|
37830
|
+
return /* @__PURE__ */ jsx(motion.input, {
|
|
37831
|
+
type: 'hidden',
|
|
37832
|
+
name: inputName,
|
|
37833
|
+
defaultValue,
|
|
37834
|
+
},);
|
|
37754
37835
|
}
|
|
37836
|
+
return /* @__PURE__ */ jsx(motion.div, {
|
|
37837
|
+
ref,
|
|
37838
|
+
style,
|
|
37839
|
+
className: cx(textInputWrapperClassName, inputWrapperClassName, className2,),
|
|
37840
|
+
...rest,
|
|
37841
|
+
children: type === 'textarea'
|
|
37842
|
+
? /* @__PURE__ */ createElement(motion.textarea, {
|
|
37843
|
+
...dataProps,
|
|
37844
|
+
...eventHandlers,
|
|
37845
|
+
key: defaultValue,
|
|
37846
|
+
required,
|
|
37847
|
+
autoFocus,
|
|
37848
|
+
name: inputName,
|
|
37849
|
+
placeholder,
|
|
37850
|
+
className: inputClassName,
|
|
37851
|
+
defaultValue,
|
|
37852
|
+
},)
|
|
37853
|
+
: /* @__PURE__ */ createElement(motion.input, {
|
|
37854
|
+
...dataProps,
|
|
37855
|
+
...eventHandlers,
|
|
37856
|
+
key: defaultValue,
|
|
37857
|
+
type,
|
|
37858
|
+
required,
|
|
37859
|
+
autoFocus,
|
|
37860
|
+
name: inputName,
|
|
37861
|
+
placeholder,
|
|
37862
|
+
className: cx(inputClassName, !hasValue && emptyValueClassName,),
|
|
37863
|
+
defaultValue,
|
|
37864
|
+
min,
|
|
37865
|
+
max,
|
|
37866
|
+
step: step2,
|
|
37867
|
+
},),
|
|
37868
|
+
},);
|
|
37755
37869
|
},);
|
|
37756
|
-
var
|
|
37757
|
-
var
|
|
37758
|
-
var
|
|
37759
|
-
|
|
37760
|
-
|
|
37761
|
-
|
|
37762
|
-
|
|
37763
|
-
|
|
37764
|
-
var
|
|
37765
|
-
|
|
37766
|
-
|
|
37767
|
-
|
|
37768
|
-
|
|
37769
|
-
|
|
37770
|
-
|
|
37771
|
-
|
|
37772
|
-
|
|
37773
|
-
|
|
37774
|
-
|
|
37775
|
-
|
|
37776
|
-
|
|
37777
|
-
|
|
37778
|
-
|
|
37779
|
-
|
|
37780
|
-
|
|
37781
|
-
|
|
37782
|
-
|
|
37783
|
-
|
|
37784
|
-
|
|
37785
|
-
|
|
37786
|
-
|
|
37787
|
-
|
|
37788
|
-
|
|
37789
|
-
|
|
37790
|
-
|
|
37791
|
-
|
|
37792
|
-
|
|
37793
|
-
|
|
37794
|
-
|
|
37795
|
-
|
|
37796
|
-
|
|
37797
|
-
|
|
37798
|
-
|
|
37799
|
-
|
|
37800
|
-
|
|
37801
|
-
|
|
37802
|
-
|
|
37803
|
-
|
|
37804
|
-
|
|
37805
|
-
|
|
37806
|
-
|
|
37807
|
-
|
|
37808
|
-
|
|
37809
|
-
|
|
37810
|
-
|
|
37811
|
-
|
|
37812
|
-
|
|
37813
|
-
|
|
37814
|
-
|
|
37870
|
+
var iconSize2 = 16;
|
|
37871
|
+
var textInputWrapperClassName = 'framer-form-text-input';
|
|
37872
|
+
var defaultTextareaResizerIcon =
|
|
37873
|
+
'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path d="m1.5 8 7-7M9 5.5l-3 3" stroke="%23999" stroke-width="1.5" stroke-linecap="round"></path></svg>';
|
|
37874
|
+
var defaultDateIconMaskImage =
|
|
37875
|
+
'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="rgb(153, 153, 153)" d="M3 5a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2H3Z" opacity=".3"/><path fill="transparent" stroke="rgb(153, 153, 153)" stroke-width="1.5" d="M3.25 5.25a2 2 0 0 1 2-2h5.5a2 2 0 0 1 2 2v5.5a2 2 0 0 1-2 2h-5.5a2 2 0 0 1-2-2ZM3 6.75h9.5"/></svg>';
|
|
37876
|
+
var defaultTimeIconMaskImage =
|
|
37877
|
+
'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="transparent" stroke="rgb(153, 153, 153)" stroke-width="1.5" d="M2.5 8a5.5 5.5 0 1 1 11 0 5.5 5.5 0 1 1-11 0Z"/><path fill="transparent" stroke="rgb(153, 153, 153)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M7.75 8.25v-3m0 3h2"/></svg>';
|
|
37878
|
+
var styles = /* @__PURE__ */ (() => [
|
|
37879
|
+
...sharedInputCSS,
|
|
37880
|
+
...inputBorderCSS,
|
|
37881
|
+
...inputWrapperCSS,
|
|
37882
|
+
css(`.${inputWrapperClassName}`, {
|
|
37883
|
+
boxShadow: css.variable('--framer-input-box-shadow',/* BoxShadow */
|
|
37884
|
+
),
|
|
37885
|
+
borderTopLeftRadius: css.variable('--framer-input-border-radius-top-left',/* BorderRadiusTopLeft */
|
|
37886
|
+
),
|
|
37887
|
+
borderTopRightRadius: css.variable('--framer-input-border-radius-top-right',/* BorderRadiusTopRight */
|
|
37888
|
+
),
|
|
37889
|
+
borderBottomRightRadius: css.variable('--framer-input-border-radius-bottom-right',/* BorderRadiusBottomRight */
|
|
37890
|
+
),
|
|
37891
|
+
borderBottomLeftRadius: css.variable('--framer-input-border-radius-bottom-left',/* BorderRadiusBottomLeft */
|
|
37892
|
+
),
|
|
37893
|
+
background: css.variable('--framer-input-background',/* Background */
|
|
37894
|
+
),
|
|
37895
|
+
transition: css.variable('--framer-input-focused-transition',/* FocusedTransition */
|
|
37896
|
+
),
|
|
37897
|
+
transitionProperty: 'background, box-shadow',
|
|
37898
|
+
},),
|
|
37899
|
+
css(`.${textInputWrapperClassName} .${inputClassName}::placeholder`, {
|
|
37900
|
+
color: css.variable('--framer-input-placeholder-color',/* PlaceholderColor */
|
|
37901
|
+
),
|
|
37902
|
+
},),
|
|
37903
|
+
css(`.${textInputWrapperClassName} .${inputClassName}[type="date"], .${textInputWrapperClassName} .${inputClassName}[type="time"]`, {
|
|
37904
|
+
'-webkit-appearance': 'none',
|
|
37905
|
+
appearance: 'none',
|
|
37906
|
+
},),
|
|
37907
|
+
// iOS only fix for centered date & time inputs: https://github.com/tailwindlabs/tailwindcss-forms/pull/144
|
|
37908
|
+
css(`.${textInputWrapperClassName} .${inputClassName}::-webkit-date-and-time-value`, {
|
|
37909
|
+
textAlign: 'start',
|
|
37910
|
+
},),
|
|
37911
|
+
css(`.${textInputWrapperClassName} textarea`, {
|
|
37912
|
+
display: 'flex',
|
|
37913
|
+
resize: css.variable('--framer-textarea-resize',/* Resize */
|
|
37914
|
+
),
|
|
37915
|
+
overflowY: 'scroll',
|
|
37916
|
+
minHeight: 'inherit',
|
|
37917
|
+
maxHeight: 'inherit',
|
|
37918
|
+
whiteSpace: 'break-spaces',
|
|
37919
|
+
},),
|
|
37920
|
+
// This targets the resize handle in WebKit browsers. Unfortunately, it is not
|
|
37921
|
+
// possible in CSS to target the resize handle in Firefox, so FF will always
|
|
37922
|
+
// show the native resize handle.
|
|
37923
|
+
css(`.${textInputWrapperClassName} textarea::-webkit-resizer`, {
|
|
37924
|
+
background: `no-repeat url('${defaultTextareaResizerIcon}')`,
|
|
37925
|
+
},),
|
|
37926
|
+
css(`.${textInputWrapperClassName} textarea::-webkit-scrollbar`, {
|
|
37927
|
+
cursor: 'pointer',
|
|
37928
|
+
background: 'transparent',
|
|
37929
|
+
},),
|
|
37930
|
+
css(`.${textInputWrapperClassName} textarea::-webkit-scrollbar-thumb:window-inactive`, {
|
|
37931
|
+
opacity: 0,
|
|
37932
|
+
},),
|
|
37933
|
+
css(`.${textInputWrapperClassName} textarea::-webkit-scrollbar-corner`, {
|
|
37934
|
+
background: 'none',
|
|
37935
|
+
backgroundColor: 'transparent',
|
|
37936
|
+
outline: 'none',
|
|
37937
|
+
},),
|
|
37938
|
+
css(`.${textInputWrapperClassName} .${inputClassName}.${emptyValueClassName}::-webkit-datetime-edit`, {
|
|
37939
|
+
color: css.variable('--framer-input-placeholder-color',/* PlaceholderColor */
|
|
37940
|
+
),
|
|
37941
|
+
// This tells safari to use the color for the shadow dom elements.
|
|
37942
|
+
'-webkit-text-fill-color': css.variable('--framer-input-placeholder-color',/* PlaceholderColor */
|
|
37943
|
+
),
|
|
37944
|
+
},),
|
|
37945
|
+
css(
|
|
37946
|
+
`.${textInputWrapperClassName} .${inputClassName}[type="date"]::before, .${textInputWrapperClassName} .${inputClassName}[type="time"]::before`,
|
|
37947
|
+
{
|
|
37948
|
+
...inputIconCSSDeclaration,
|
|
37949
|
+
paddingLeft: `${iconSpacing}px`,
|
|
37950
|
+
maskPosition: `${iconSpacing}px center`,
|
|
37951
|
+
backgroundPosition: `${iconSpacing}px center`,
|
|
37952
|
+
},
|
|
37953
|
+
),
|
|
37954
|
+
css(`.${textInputWrapperClassName} .${inputClassName}[type="date"]::before`, {
|
|
37955
|
+
maskImage: css.variable('--framer-input-icon-mask-image', `url('${defaultDateIconMaskImage}')`,),
|
|
37956
|
+
backgroundImage: css.variable('--framer-input-icon-image',/* IconBackgroundImage */
|
|
37957
|
+
),
|
|
37958
|
+
},),
|
|
37959
|
+
css(`.${textInputWrapperClassName} .${inputClassName}[type="time"]::before`, {
|
|
37960
|
+
maskImage: css.variable('--framer-input-icon-mask-image', `url('${defaultTimeIconMaskImage}')`,),
|
|
37961
|
+
backgroundImage: css.variable('--framer-input-icon-image',/* IconBackgroundImage */
|
|
37962
|
+
),
|
|
37963
|
+
},),
|
|
37964
|
+
// Hide the native date picker icon, but still allow the user to click it.
|
|
37965
|
+
css(`.${textInputWrapperClassName} .${inputClassName}::-webkit-calendar-picker-indicator`, {
|
|
37966
|
+
opacity: 0,
|
|
37967
|
+
padding: css.variable('--framer-input-padding',/* Padding */
|
|
37968
|
+
),
|
|
37969
|
+
paddingRight: 0,
|
|
37970
|
+
paddingLeft: `${iconSpacing}px`,
|
|
37971
|
+
width: `${iconSize2}px`,
|
|
37972
|
+
height: `${iconSize2}px`,
|
|
37973
|
+
},),
|
|
37974
|
+
css(`.${textInputWrapperClassName}:focus-within, .${textInputWrapperClassName}.${forcedFocusClassName}`, {
|
|
37975
|
+
boxShadow: css.variable('--framer-input-focused-box-shadow', '--framer-input-box-shadow',/* BoxShadow */
|
|
37976
|
+
),
|
|
37977
|
+
background: css.variable('--framer-input-focused-background', '--framer-input-background',/* Background */
|
|
37978
|
+
),
|
|
37979
|
+
},),
|
|
37980
|
+
css(`.${textInputWrapperClassName}:focus-within::after, .${textInputWrapperClassName}.${forcedFocusClassName}::after`, {
|
|
37981
|
+
borderColor: css.variable('--framer-input-focused-border-color', '--framer-input-border-color',/* BorderColor */
|
|
37982
|
+
),
|
|
37983
|
+
borderStyle: css.variable('--framer-input-focused-border-style', '--framer-input-border-style',/* BorderStyle */
|
|
37984
|
+
),
|
|
37985
|
+
borderWidth: css.variable('--framer-input-focused-border-width', inputBorderAllSides,),
|
|
37986
|
+
},),
|
|
37987
|
+
])();
|
|
37988
|
+
var FormPlainTextInput2 = /* @__PURE__ */ withCSS(PlainTextInput, styles,);
|
|
37815
37989
|
var className = 'framer-form-boolean-input';
|
|
37816
37990
|
var BooleanInput = /* @__PURE__ */ React4.forwardRef(function FormPlainTextInput3(props, ref,) {
|
|
37817
37991
|
const {
|
|
37818
37992
|
inputName,
|
|
37819
37993
|
type = 'checkbox',
|
|
37820
37994
|
defaultChecked,
|
|
37821
|
-
|
|
37995
|
+
onValid,
|
|
37822
37996
|
...rest
|
|
37823
37997
|
} = props;
|
|
37824
37998
|
const isCanvas = useIsOnFramerCanvas();
|
|
@@ -37829,24 +38003,23 @@ var BooleanInput = /* @__PURE__ */ React4.forwardRef(function FormPlainTextInput
|
|
|
37829
38003
|
: {
|
|
37830
38004
|
defaultChecked,
|
|
37831
38005
|
};
|
|
38006
|
+
const eventHandlers = useCustomValidity(onValid, props.onInvalid, props.onChange, props.onBlur, props.onFocus,);
|
|
37832
38007
|
return /* @__PURE__ */ jsx(motion.input, {
|
|
37833
38008
|
...rest,
|
|
37834
38009
|
...attributes,
|
|
38010
|
+
...eventHandlers,
|
|
37835
38011
|
readOnly: isCanvas,
|
|
37836
38012
|
ref,
|
|
37837
|
-
id: inputName,
|
|
37838
38013
|
type,
|
|
37839
38014
|
name: inputName,
|
|
37840
|
-
className: cx(className, props.className,
|
|
38015
|
+
className: cx(className, props.className,),
|
|
37841
38016
|
},);
|
|
37842
38017
|
},);
|
|
37843
38018
|
var defaultCheckedIcon =
|
|
37844
|
-
|
|
37845
|
-
var borderWidth =
|
|
37846
|
-
`var(${'--framer-input-border-top-width'}) var(${'--framer-input-border-right-width'}) var(${'--framer-input-border-bottom-width'}) var(${'--framer-input-border-left-width'})`;
|
|
38019
|
+
'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M 4 8 L 6.5 10.5 L 11.5 5.5" fill="transparent" stroke-width="2" stroke="rgb(255, 255, 255)" stroke-linecap="round" stroke-linejoin="round"></path></svg>';
|
|
37847
38020
|
var borderRadius =
|
|
37848
38021
|
`var(${'--framer-input-border-radius-top-left'}) var(${'--framer-input-border-radius-top-right'}) var(${'--framer-input-border-radius-bottom-right'}) var(${'--framer-input-border-radius-bottom-left'})`;
|
|
37849
|
-
var
|
|
38022
|
+
var styles2 = /* @__PURE__ */ (() => [
|
|
37850
38023
|
css(`.${className}`, {
|
|
37851
38024
|
'-webkit-appearance': 'none',
|
|
37852
38025
|
// background-color: #fff; fixes a bug on iOS where the checkbox shows
|
|
@@ -37872,7 +38045,7 @@ var styles = /* @__PURE__ */ (() => [
|
|
|
37872
38045
|
borderColor: css.variable('--framer-input-border-color', 'transparent',),
|
|
37873
38046
|
borderRadius,
|
|
37874
38047
|
borderStyle: '--framer-input-border-style',
|
|
37875
|
-
borderWidth,
|
|
38048
|
+
borderWidth: inputBorderAllSides,
|
|
37876
38049
|
boxSizing: 'border-box',
|
|
37877
38050
|
content: '',
|
|
37878
38051
|
display: 'block',
|
|
@@ -37884,22 +38057,31 @@ var styles = /* @__PURE__ */ (() => [
|
|
|
37884
38057
|
// The before element is used to display the check mark icon. It is
|
|
37885
38058
|
// faded in when the input is checked.
|
|
37886
38059
|
css(`.${className}::before`, {
|
|
37887
|
-
|
|
37888
|
-
// mark. Radio inputs will be code-generated with a "none" value for the
|
|
37889
|
-
// variable if an image isn't provided which will prevent this fallback
|
|
37890
|
-
// in those cases.
|
|
37891
|
-
backgroundImage: css.variable('--framer-input-boolean-icon', `url('${defaultCheckedIcon}')`,),
|
|
38060
|
+
...inputIconCSSDeclaration,
|
|
37892
38061
|
backgroundPosition: 'center',
|
|
37893
|
-
backgroundRepeat: 'no-repeat',
|
|
37894
38062
|
backgroundSize: 'contain',
|
|
37895
|
-
|
|
37896
|
-
|
|
38063
|
+
maskPosition: 'center',
|
|
38064
|
+
maskSize: 'contain',
|
|
37897
38065
|
height: '100%',
|
|
37898
38066
|
opacity: 0,
|
|
37899
38067
|
transition: '--framer-input-boolean-checked-transition',
|
|
37900
38068
|
transitionProperty: 'opacity',
|
|
37901
38069
|
width: '100%',
|
|
37902
38070
|
},),
|
|
38071
|
+
// The BooleanInput component shows an svg check mark icon whenever an
|
|
38072
|
+
// image url isn't provided. That's not an intuitive system for radios
|
|
38073
|
+
// however, where we never want to show the default check mark.
|
|
38074
|
+
css(`.${className}[type="checkbox"]::before`, {
|
|
38075
|
+
backgroundImage: css.variable('--framer-input-icon-image',/* IconBackgroundImage */
|
|
38076
|
+
),
|
|
38077
|
+
maskImage: css.variable('--framer-input-icon-mask-image', `url('${defaultCheckedIcon}')`,),
|
|
38078
|
+
},),
|
|
38079
|
+
css(`.${className}[type="radio"]::before`, {
|
|
38080
|
+
backgroundImage: css.variable('--framer-input-icon-image',/* IconBackgroundImage */
|
|
38081
|
+
),
|
|
38082
|
+
maskImage: css.variable('--framer-input-icon-mask-image',/* IconMaskImage */
|
|
38083
|
+
),
|
|
38084
|
+
},),
|
|
37903
38085
|
css(`.${className}:checked, .${className}.${forcedCheckedClassName}`, {
|
|
37904
38086
|
// When not set, the styles when checked shouldn't clear the default
|
|
37905
38087
|
// styles.
|
|
@@ -37916,7 +38098,7 @@ var styles = /* @__PURE__ */ (() => [
|
|
|
37916
38098
|
// styles.
|
|
37917
38099
|
borderColor: css.variable('--framer-input-boolean-checked-border-color', '--framer-input-border-color', 'transparent',),
|
|
37918
38100
|
borderStyle: css.variable('--framer-input-boolean-checked-border-style', '--framer-input-border-style', 'solid',),
|
|
37919
|
-
borderWidth: css.variable('--framer-input-boolean-checked-border-width',
|
|
38101
|
+
borderWidth: css.variable('--framer-input-boolean-checked-border-width', inputBorderAllSides,),
|
|
37920
38102
|
},),
|
|
37921
38103
|
css(`.${className}:focus, .${className}.${forcedFocusClassName}`, {
|
|
37922
38104
|
backgroundColor: css.variable('--framer-input-focused-background', '--framer-input-background',/* Background */
|
|
@@ -37932,7 +38114,7 @@ var styles = /* @__PURE__ */ (() => [
|
|
|
37932
38114
|
// styles.
|
|
37933
38115
|
borderColor: css.variable('--framer-input-focused-border-color', '--framer-input-border-color', 'transparent',),
|
|
37934
38116
|
borderStyle: css.variable('--framer-input-focused-border-style', '--framer-input-border-style', 'solid',),
|
|
37935
|
-
borderWidth: css.variable('--framer-input-focused-border-width',
|
|
38117
|
+
borderWidth: css.variable('--framer-input-focused-border-width', inputBorderAllSides,),
|
|
37936
38118
|
},),
|
|
37937
38119
|
css(`.${className}:focus:checked`, {
|
|
37938
38120
|
backgroundColor: css.variable(
|
|
@@ -37955,40 +38137,40 @@ var styles = /* @__PURE__ */ (() => [
|
|
|
37955
38137
|
'--framer-input-border-style',
|
|
37956
38138
|
'solid',
|
|
37957
38139
|
),
|
|
37958
|
-
borderWidth: css.variable('--framer-input-focused-border-width', '--framer-input-boolean-checked-border-width',
|
|
38140
|
+
borderWidth: css.variable('--framer-input-focused-border-width', '--framer-input-boolean-checked-border-width', inputBorderAllSides,),
|
|
37959
38141
|
},),
|
|
37960
38142
|
])();
|
|
37961
|
-
var FormBooleanInput = /* @__PURE__ */ withCSS(BooleanInput,
|
|
38143
|
+
var FormBooleanInput = /* @__PURE__ */ withCSS(BooleanInput, styles2,);
|
|
37962
38144
|
var Select = /* @__PURE__ */ React4.forwardRef(function Select2(props, measureRef,) {
|
|
37963
38145
|
const {
|
|
37964
38146
|
autoFocus,
|
|
37965
38147
|
className: className2,
|
|
37966
38148
|
inputName,
|
|
37967
|
-
onBlur,
|
|
37968
|
-
onFocus,
|
|
37969
|
-
onInvalid,
|
|
37970
38149
|
required,
|
|
37971
|
-
|
|
38150
|
+
defaultValue,
|
|
37972
38151
|
selectOptions,
|
|
37973
38152
|
style,
|
|
37974
|
-
|
|
38153
|
+
onValid,
|
|
38154
|
+
onChange,
|
|
38155
|
+
onBlur,
|
|
38156
|
+
onInvalid,
|
|
38157
|
+
onFocus,
|
|
37975
38158
|
...rest
|
|
37976
38159
|
} = props;
|
|
38160
|
+
const eventHandlers = useCustomValidity(onValid, onInvalid, onChange, onBlur, onFocus,);
|
|
38161
|
+
const key7 = Array.isArray(defaultValue,) ? defaultValue[0] : defaultValue;
|
|
37977
38162
|
return /* @__PURE__ */ jsx(motion.div, {
|
|
37978
38163
|
ref: measureRef,
|
|
37979
38164
|
style,
|
|
37980
|
-
className: cx(inputWrapperClassName, selectWrapperClassName,
|
|
38165
|
+
className: cx(inputWrapperClassName, selectWrapperClassName, className2,),
|
|
37981
38166
|
...rest,
|
|
37982
38167
|
children: /* @__PURE__ */ jsx(motion.select, {
|
|
37983
|
-
id: inputName,
|
|
37984
38168
|
name: inputName,
|
|
37985
38169
|
autoFocus,
|
|
37986
38170
|
required,
|
|
37987
|
-
className:
|
|
37988
|
-
defaultValue
|
|
37989
|
-
|
|
37990
|
-
onFocus,
|
|
37991
|
-
onInvalid,
|
|
38171
|
+
className: inputClassName,
|
|
38172
|
+
defaultValue,
|
|
38173
|
+
...eventHandlers,
|
|
37992
38174
|
children: selectOptions == null ? void 0 : selectOptions.map((option, index,) => {
|
|
37993
38175
|
switch (option.type) {
|
|
37994
38176
|
case 'divider':
|
|
@@ -38001,41 +38183,84 @@ var Select = /* @__PURE__ */ React4.forwardRef(function Select2(props, measureRe
|
|
|
38001
38183
|
}, index,);
|
|
38002
38184
|
}
|
|
38003
38185
|
},),
|
|
38004
|
-
},
|
|
38186
|
+
}, key7,),
|
|
38005
38187
|
},);
|
|
38006
38188
|
},);
|
|
38007
38189
|
var selectWrapperClassName = 'framer-form-select-wrapper';
|
|
38008
38190
|
var selectArrowSize = 16;
|
|
38009
|
-
var
|
|
38010
|
-
|
|
38011
|
-
|
|
38012
|
-
|
|
38013
|
-
|
|
38014
|
-
|
|
38015
|
-
|
|
38016
|
-
|
|
38017
|
-
|
|
38018
|
-
|
|
38019
|
-
|
|
38020
|
-
|
|
38021
|
-
|
|
38022
|
-
|
|
38023
|
-
|
|
38024
|
-
|
|
38025
|
-
|
|
38026
|
-
|
|
38027
|
-
|
|
38028
|
-
|
|
38029
|
-
|
|
38030
|
-
|
|
38031
|
-
|
|
38032
|
-
|
|
38033
|
-
|
|
38034
|
-
|
|
38035
|
-
|
|
38036
|
-
|
|
38037
|
-
|
|
38038
|
-
|
|
38191
|
+
var defaultSelectCaretMaskImage =
|
|
38192
|
+
/* @__PURE__ */ (() =>
|
|
38193
|
+
`data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="${selectArrowSize}" height="${selectArrowSize}"><path d="M 3.5 6 L 8 10.5 L 12.5 6" fill="transparent" stroke-width="1.5" stroke="rgb(153, 153, 153)" stroke-linecap="round" stroke-linejoin="round"></path></svg>`)();
|
|
38194
|
+
var styles3 = /* @__PURE__ */ (() => [
|
|
38195
|
+
...sharedInputCSS,
|
|
38196
|
+
...inputBorderCSS,
|
|
38197
|
+
...inputWrapperCSS,
|
|
38198
|
+
css(`.${selectWrapperClassName}`, {
|
|
38199
|
+
// First we use the complete padding string, which may be any valid
|
|
38200
|
+
// padding string (10px, 10px 10px, 10px 10px 10px, or 10px 10px
|
|
38201
|
+
// 10px 10px), and use it to set only the right padding. This pushes
|
|
38202
|
+
// the actual select away from the arrow by 1x.
|
|
38203
|
+
padding: css.variable('--framer-input-padding',/* Padding */
|
|
38204
|
+
),
|
|
38205
|
+
paddingTop: 0,
|
|
38206
|
+
paddingBottom: 0,
|
|
38207
|
+
paddingLeft: 0,
|
|
38208
|
+
background: css.variable('--framer-input-background',/* Background */
|
|
38209
|
+
),
|
|
38210
|
+
borderTopLeftRadius: css.variable('--framer-input-border-radius-top-left',/* BorderRadiusTopLeft */
|
|
38211
|
+
),
|
|
38212
|
+
borderTopRightRadius: css.variable('--framer-input-border-radius-top-right',/* BorderRadiusTopRight */
|
|
38213
|
+
),
|
|
38214
|
+
borderBottomRightRadius: css.variable('--framer-input-border-radius-bottom-right',/* BorderRadiusBottomRight */
|
|
38215
|
+
),
|
|
38216
|
+
borderBottomLeftRadius: css.variable('--framer-input-border-radius-bottom-left',/* BorderRadiusBottomLeft */
|
|
38217
|
+
),
|
|
38218
|
+
boxShadow: css.variable('--framer-input-box-shadow',/* BoxShadow */
|
|
38219
|
+
),
|
|
38220
|
+
transition: css.variable('--framer-input-focused-transition',/* FocusedTransition */
|
|
38221
|
+
),
|
|
38222
|
+
transitionProperty: 'background, box-shadow',
|
|
38223
|
+
},),
|
|
38224
|
+
css(`.${selectWrapperClassName} select`, {
|
|
38225
|
+
appearance: 'none',
|
|
38226
|
+
'-webkit-appearance': 'none',
|
|
38227
|
+
// Then we use the complete padding string again as the margin for
|
|
38228
|
+
// the select. This moves the select 2x the padding right away from
|
|
38229
|
+
// the arrow.
|
|
38230
|
+
padding: css.variable('--framer-input-padding',/* Padding */
|
|
38231
|
+
),
|
|
38232
|
+
// Overwrite the values inherited from .${inputClassName}. On a
|
|
38233
|
+
// select, these values are on the wrapper.
|
|
38234
|
+
background: 'transparent',
|
|
38235
|
+
},),
|
|
38236
|
+
css(`.${selectWrapperClassName}::before`, {
|
|
38237
|
+
...inputIconCSSDeclaration,
|
|
38238
|
+
paddingLeft: `${iconSpacing}px`,
|
|
38239
|
+
backgroundPosition: `${iconSpacing}px center`,
|
|
38240
|
+
maskPosition: `${iconSpacing}px center`,
|
|
38241
|
+
backgroundImage: css.variable('--framer-input-icon-image',/* IconBackgroundImage */
|
|
38242
|
+
),
|
|
38243
|
+
maskImage: css.variable('--framer-input-icon-mask-image', `url('${defaultSelectCaretMaskImage}')`,),
|
|
38244
|
+
},),
|
|
38245
|
+
css(`.${selectWrapperClassName} select:required:invalid`, {
|
|
38246
|
+
color: css.variable('--framer-input-invalid-text-color',/* InvalidTextColor */
|
|
38247
|
+
),
|
|
38248
|
+
},),
|
|
38249
|
+
css(`.${selectWrapperClassName}:focus-within, .${selectWrapperClassName}.${forcedFocusClassName}`, {
|
|
38250
|
+
background: css.variable('--framer-input-focused-background', '--framer-input-background',/* Background */
|
|
38251
|
+
),
|
|
38252
|
+
boxShadow: css.variable('--framer-input-focused-box-shadow', '--framer-input-box-shadow',/* BoxShadow */
|
|
38253
|
+
),
|
|
38254
|
+
},),
|
|
38255
|
+
css(`.${selectWrapperClassName}:focus-within::after, .${selectWrapperClassName}.${forcedFocusClassName}::after`, {
|
|
38256
|
+
borderColor: css.variable('--framer-input-focused-border-color', '--framer-input-border-color',/* BorderColor */
|
|
38257
|
+
),
|
|
38258
|
+
borderStyle: css.variable('--framer-input-focused-border-style', '--framer-input-border-style',/* BorderStyle */
|
|
38259
|
+
),
|
|
38260
|
+
borderWidth: css.variable('--framer-input-focused-border-width', inputBorderAllSides,),
|
|
38261
|
+
},),
|
|
38262
|
+
])();
|
|
38263
|
+
var FormSelect = /* @__PURE__ */ withCSS(Select, styles3,);
|
|
38039
38264
|
var Image2 = /* @__PURE__ */ React4.forwardRef(function Image3(props, ref,) {
|
|
38040
38265
|
const {
|
|
38041
38266
|
background,
|
|
@@ -38142,7 +38367,7 @@ function convertCodeComponentContainer(componentDefinitionProvider, node, conver
|
|
|
38142
38367
|
),
|
|
38143
38368
|
];
|
|
38144
38369
|
}
|
|
38145
|
-
var CodeComponentPresentation = class {
|
|
38370
|
+
var CodeComponentPresentation = /*#__PURE__*/ class {
|
|
38146
38371
|
constructor(id3, componentIdentifier, packageVersion, props, children, codeOverrideIdentifier,) {
|
|
38147
38372
|
this.id = id3;
|
|
38148
38373
|
this.componentIdentifier = componentIdentifier;
|
|
@@ -38854,7 +39079,7 @@ var ImagePatternElement = ({
|
|
|
38854
39079
|
},);
|
|
38855
39080
|
};
|
|
38856
39081
|
var useDOM = /* @__PURE__ */ isBrowser2();
|
|
38857
|
-
var SharedSVGEntry = class {
|
|
39082
|
+
var SharedSVGEntry = /*#__PURE__*/ class {
|
|
38858
39083
|
constructor(id3, svg, innerHTML, viewBox, count = 0,) {
|
|
38859
39084
|
this.id = id3;
|
|
38860
39085
|
this.svg = svg;
|
|
@@ -38863,7 +39088,7 @@ var SharedSVGEntry = class {
|
|
|
38863
39088
|
this.count = count;
|
|
38864
39089
|
}
|
|
38865
39090
|
};
|
|
38866
|
-
var SharedSVGManager = class {
|
|
39091
|
+
var SharedSVGManager = /*#__PURE__*/ class {
|
|
38867
39092
|
constructor() {
|
|
38868
39093
|
__publicField(this, 'entries', /* @__PURE__ */ new Map(),);
|
|
38869
39094
|
}
|
|
@@ -39856,7 +40081,7 @@ function getTabIndexProps(tabIndex,) {
|
|
|
39856
40081
|
};
|
|
39857
40082
|
}
|
|
39858
40083
|
var keys22 = /* @__PURE__ */ new Map();
|
|
39859
|
-
var InternalID = class {
|
|
40084
|
+
var InternalID = /*#__PURE__*/ class {
|
|
39860
40085
|
constructor(id3,) {
|
|
39861
40086
|
this.id = id3;
|
|
39862
40087
|
__publicField(this, '_link', null,);
|
|
@@ -39887,7 +40112,7 @@ var InternalID = class {
|
|
|
39887
40112
|
}
|
|
39888
40113
|
};
|
|
39889
40114
|
var PathSegmentOuter = /* @__PURE__ */ (() => {
|
|
39890
|
-
const _PathSegment = class {
|
|
40115
|
+
const _PathSegment = /*#__PURE__*/ class {
|
|
39891
40116
|
constructor(value,) {
|
|
39892
40117
|
__publicField(this, '__class', 'PathSegment',);
|
|
39893
40118
|
__publicField(this, 'x', 0,);
|
|
@@ -40142,7 +40367,7 @@ function transformString(transform2,) {
|
|
|
40142
40367
|
}
|
|
40143
40368
|
return result;
|
|
40144
40369
|
}
|
|
40145
|
-
var LinearGradientElement = class extends Component {
|
|
40370
|
+
var LinearGradientElement = /*#__PURE__*/ class extends Component {
|
|
40146
40371
|
render() {
|
|
40147
40372
|
const {
|
|
40148
40373
|
id: id3,
|
|
@@ -40168,7 +40393,7 @@ var LinearGradientElement = class extends Component {
|
|
|
40168
40393
|
},);
|
|
40169
40394
|
}
|
|
40170
40395
|
};
|
|
40171
|
-
var RadialGradientElement = class extends Component {
|
|
40396
|
+
var RadialGradientElement = /*#__PURE__*/ class extends Component {
|
|
40172
40397
|
render() {
|
|
40173
40398
|
const {
|
|
40174
40399
|
centerAnchorX,
|
|
@@ -40196,7 +40421,7 @@ var RadialGradientElement = class extends Component {
|
|
|
40196
40421
|
},);
|
|
40197
40422
|
}
|
|
40198
40423
|
};
|
|
40199
|
-
var SVGRoot = class extends Component {
|
|
40424
|
+
var SVGRoot = /*#__PURE__*/ class extends Component {
|
|
40200
40425
|
render() {
|
|
40201
40426
|
const {
|
|
40202
40427
|
children,
|