unframer 2.6.0 → 2.6.1

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/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 = /*#__PURE__*/ class {
149
+ var Queue = 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 = /*#__PURE__*/ class {
1609
+ var KeyframeResolver = 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 = /*#__PURE__*/ class {
1881
+ var BaseAnimation = 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 = /*#__PURE__*/ class extends BaseAnimation {
2014
+ var MainThreadAnimation = 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 = /*#__PURE__*/ class extends KeyframeResolver {
2494
+ var DOMKeyframesResolver = 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 = /*#__PURE__*/ class extends BaseAnimation {
2705
+ var AcceleratedAnimation = 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 = /*#__PURE__*/ class {
2977
+ var SubscriptionManager = 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 = /*#__PURE__*/ class {
3011
+ var MotionValue = 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 = /*#__PURE__*/ class {
3345
+ var GroupPlaybackControls = 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 = /*#__PURE__*/ class {
3874
+ var Feature = 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 = /*#__PURE__*/ class extends Feature {
3881
+ var AnimationFeature = 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 = /*#__PURE__*/ class extends Feature {
3917
3917
  unmount() {}
3918
3918
  };
3919
3919
  var id = 0;
3920
- var ExitAnimationFeature = /*#__PURE__*/ class extends Feature {
3920
+ var ExitAnimationFeature = 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 = /*#__PURE__*/ class {
4038
+ var FlatTree = 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 = /*#__PURE__*/ class {
4160
+ var VisualElement = 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 = /*#__PURE__*/ class extends Feature {
5056
+ var HoverGesture = 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 = /*#__PURE__*/ class extends Feature {
5062
+ var FocusGesture = 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 = /*#__PURE__*/ class extends Feature {
5105
+ var PressGesture = 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 = /*#__PURE__*/ class extends Feature {
5260
+ var InViewFeature = 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 = /*#__PURE__*/ class {
5342
+ var PanSession = 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 = /*#__PURE__*/ class {
5758
+ var VisualElementDragControls = 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 = /*#__PURE__*/ class extends Feature {
6198
+ var DragGesture = 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 = /*#__PURE__*/ class extends Feature {
6224
+ var PanGesture = 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 = /*#__PURE__*/ class extends Component {
6316
+ var MeasureLayoutWithContext = 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 = /*#__PURE__*/ class {
6540
+ var NodeStack = class {
6541
6541
  constructor() {
6542
6542
  this.members = [];
6543
6543
  }
@@ -7842,7 +7842,7 @@ var drag = {
7842
7842
  MeasureLayout,
7843
7843
  },
7844
7844
  };
7845
- var DOMVisualElement = /*#__PURE__*/ class extends VisualElement {
7845
+ var DOMVisualElement = class extends VisualElement {
7846
7846
  constructor() {
7847
7847
  super(...arguments,);
7848
7848
  this.KeyframeResolver = DOMKeyframesResolver;
@@ -7864,7 +7864,7 @@ var DOMVisualElement = /*#__PURE__*/ class extends VisualElement {
7864
7864
  function getComputedStyle2(element,) {
7865
7865
  return window.getComputedStyle(element,);
7866
7866
  }
7867
- var HTMLVisualElement = /*#__PURE__*/ class extends DOMVisualElement {
7867
+ var HTMLVisualElement = class extends DOMVisualElement {
7868
7868
  constructor() {
7869
7869
  super(...arguments,);
7870
7870
  this.type = 'html';
@@ -7908,7 +7908,7 @@ var HTMLVisualElement = /*#__PURE__*/ class extends DOMVisualElement {
7908
7908
  renderHTML(instance, renderState, styleProp, projection,);
7909
7909
  }
7910
7910
  };
7911
- var SVGVisualElement = /*#__PURE__*/ class extends DOMVisualElement {
7911
+ var SVGVisualElement = 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 = /*#__PURE__*/ class extends React2.Component {
8003
+ var PopChildMeasure = 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 = /*#__PURE__*/ class extends MotionValue {
9118
+ var WillChangeMotionValue = 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 = /*#__PURE__*/ class {
9643
+ var DragControls = 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 = /*#__PURE__*/ class extends VisualElement {
9835
+ var StateVisualElement = 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.VEJ3JK5Y.js
9999
+ // https :https://app.framerstatic.com/framer.K4XHQ4DX.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 = /*#__PURE__*/ class {
10014
+ var Hsluv2 = 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 = /*#__PURE__*/ class extends Error {};
11690
- var ErrorBoundaryCaughtError = /*#__PURE__*/ class extends Error {};
11691
- var ErrorBoundary = /*#__PURE__*/ class extends Component {
11689
+ var NotFoundError = class extends Error {};
11690
+ var ErrorBoundaryCaughtError = class extends Error {};
11691
+ var ErrorBoundary = 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 = /*#__PURE__*/ class extends Component {
12836
+ var SuspenseErrorBoundary = 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 = /*#__PURE__*/ class {
13438
+ var Observers = 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 = /*#__PURE__*/ class {
13558
+ var AnimatableValue = 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 = /*#__PURE__*/ class {
13750
+ var BezierAnimator = class {
13751
13751
  constructor(options, interpolation,) {
13752
13752
  this.interpolation = interpolation;
13753
13753
  __publicField(this, 'unitBezier',);
@@ -13802,7 +13802,7 @@ var BezierAnimator = /*#__PURE__*/ class {
13802
13802
  return 1 / (200 * duration);
13803
13803
  }
13804
13804
  };
13805
- var UnitBezier = /*#__PURE__*/ class {
13805
+ var UnitBezier = class {
13806
13806
  constructor(point1, point2,) {
13807
13807
  __publicField(this, 'a',);
13808
13808
  __publicField(this, 'b',);
@@ -13848,7 +13848,7 @@ var UnitBezier = /*#__PURE__*/ class {
13848
13848
  return t2;
13849
13849
  }
13850
13850
  };
13851
- var Integrator = /*#__PURE__*/ class {
13851
+ var Integrator = class {
13852
13852
  constructor(accelerationFunction,) {
13853
13853
  __publicField(this, 'accelerationForState',);
13854
13854
  this.accelerationForState = accelerationFunction;
@@ -13883,7 +13883,7 @@ var Integrator = /*#__PURE__*/ class {
13883
13883
  return output;
13884
13884
  }
13885
13885
  };
13886
- var FrictionAnimator = /*#__PURE__*/ class {
13886
+ var FrictionAnimator = 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 = /*#__PURE__*/ class {
14064
+ var SpringAnimator = 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 = /*#__PURE__*/ class {
14151
+ var InertialScrollAnimator = 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 = /*#__PURE__*/ class {
15393
+ var ValueInterpolation = 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 = /*#__PURE__*/ class {
15446
+ var PrecalculatedAnimator = class {
15447
15447
  constructor(options,) {
15448
15448
  __publicField(this, 'animator',);
15449
15449
  __publicField(this, 'values',);
@@ -15510,7 +15510,7 @@ var PrecalculatedAnimator = /*#__PURE__*/ class {
15510
15510
  }
15511
15511
  };
15512
15512
  var EventEmitter3 = /* @__PURE__ */ (() => require_eventemitter3().EventEmitter)();
15513
- var EventEmitter = /*#__PURE__*/ class {
15513
+ var EventEmitter = 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 = /*#__PURE__*/ class extends EventEmitter {
15629
+ var Loop = 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 = /*#__PURE__*/ class {
15836
+ var AnimationDriver = class {
15837
15837
  constructor(animator, updateCallback, finishedCallback,) {
15838
15838
  this.animator = animator;
15839
15839
  this.updateCallback = updateCallback;
@@ -15859,7 +15859,7 @@ var AnimationDriver = /*#__PURE__*/ class {
15859
15859
  return this.animator.isFinished();
15860
15860
  }
15861
15861
  };
15862
- var MainLoopAnimationDriver = /*#__PURE__*/ class extends AnimationDriver {
15862
+ var MainLoopAnimationDriver = 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 = /*#__PURE__*/ class {
15883
+ var FramerAnimation = 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 = /*#__PURE__*/ class extends Component {
16576
+ var ErrorBoundary2 = class extends Component {
16577
16577
  constructor() {
16578
16578
  super(...arguments,);
16579
16579
  __publicField(this, 'state', {},);
@@ -18481,16 +18481,16 @@ var richTextCSSRules = [
18481
18481
  ol.framer-text,
18482
18482
  ul.framer-text,
18483
18483
  span.framer-text:not([data-text-fill]) {
18484
- font-family: var(--framer-font-family, Inter, Inter Placeholder, sans-serif);
18485
- font-style: var(--framer-font-style, normal);
18486
- font-weight: var(--framer-font-weight, 400);
18487
- color: var(--framer-text-color, #000);
18488
- font-size: calc(var(--framer-font-size, 16px) * var(--framer-font-size-scale, 1));
18489
- letter-spacing: var(--framer-letter-spacing, 0);
18490
- text-transform: var(--framer-text-transform, none);
18491
- text-decoration: var(--framer-text-decoration, none);
18492
- line-height: var(--framer-line-height, 1.2em);
18493
- text-align: var(--framer-text-alignment, start);
18484
+ font-family: var(--framer-blockquote-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif));
18485
+ font-style: var(--framer-blockquote-font-style, var(--framer-font-style, normal));
18486
+ font-weight: var(--framer-blockquote-font-weight, var(--framer-font-weight, 400));
18487
+ color: var(--framer-blockquote-text-color, var(--framer-text-color, #000));
18488
+ font-size: calc(var(--framer-blockquote-font-size, var(--framer-font-size, 16px)) * var(--framer-font-size-scale, 1));
18489
+ letter-spacing: var(--framer-blockquote-letter-spacing, var(--framer-letter-spacing, 0));
18490
+ text-transform: var(--framer-blockquote-text-transform, var(--framer-text-transform, none));
18491
+ text-decoration: var(--framer-blockquote-text-decoration, var(--framer-text-decoration, none));
18492
+ line-height: var(--framer-blockquote-line-height, var(--framer-line-height, 1.2em));
18493
+ text-align: var(--framer-blockquote-text-alignment, var(--framer-text-alignment, start));
18494
18494
  -webkit-text-stroke-width: var(--framer-text-stroke-width, initial);
18495
18495
  -webkit-text-stroke-color: var(--framer-text-stroke-color, initial);
18496
18496
  }
@@ -18503,23 +18503,23 @@ var richTextCSSRules = [
18503
18503
  `, /* css */
18504
18504
  `
18505
18505
  strong.framer-text {
18506
- font-family: var(--framer-font-family-bold);
18507
- font-style: var(--framer-font-style-bold);
18508
- font-weight: var(--framer-font-weight-bold, bolder);
18506
+ font-family: var(--framer-blockquote-font-family-bold, var(--framer-font-family-bold));
18507
+ font-style: var(--framer-blockquote-font-style-bold, var(--framer-font-style-bold));
18508
+ font-weight: var(--framer-blockquote-font-weight-bold, var(--framer-font-weight-bold, bolder));
18509
18509
  }
18510
18510
  `, /* css */
18511
18511
  `
18512
18512
  em.framer-text {
18513
- font-family: var(--framer-font-family-italic);
18514
- font-style: var(--framer-font-style-italic, italic);
18515
- font-weight: var(--framer-font-weight-italic);
18513
+ font-family: var(--framer-blockquote-font-family-italic, var(--framer-font-family-italic));
18514
+ font-style: var(--framer-blockquote-font-style-italic, var(--framer-font-style-italic, italic));
18515
+ font-weight: var(--framer-blockquote-font-weight-italic, var(--framer-font-weight-italic));
18516
18516
  }
18517
18517
  `, /* css */
18518
18518
  `
18519
18519
  em.framer-text > strong.framer-text {
18520
- font-family: var(--framer-font-family-bold-italic);
18521
- font-style: var(--framer-font-style-bold-italic, italic);
18522
- font-weight: var(--framer-font-weight-bold-italic, bolder);
18520
+ font-family: var(--framer-blockquote-font-family-bold-italic, var(--framer-font-family-bold-italic));
18521
+ font-style: var(--framer-blockquote-font-style-bold-italic, var(--framer-font-style-bold-italic, italic));
18522
+ font-weight: var(--framer-blockquote-font-weight-bold-italic, var(--framer-font-weight-bold-italic, bolder));
18523
18523
  }
18524
18524
  `, /* css */
18525
18525
  `
@@ -18534,7 +18534,7 @@ var richTextCSSRules = [
18534
18534
  ol.framer-text:not(:first-child),
18535
18535
  ul.framer-text:not(:first-child),
18536
18536
  .framer-image.framer-text:not(:first-child) {
18537
- margin-top: var(--framer-paragraph-spacing, 0);
18537
+ margin-top: var(--framer-blockquote-paragraph-spacing, var(--framer-paragraph-spacing, 0));
18538
18538
  }
18539
18539
  `,
18540
18540
  // The first child of a list item is a paragraph. If the second child is a
@@ -18563,8 +18563,8 @@ var richTextCSSRules = [
18563
18563
  -webkit-background-clip: text;
18564
18564
  /* make this a transparent color if you want to visualise the clipping */
18565
18565
  -webkit-text-fill-color: transparent;
18566
- padding: max(0em, calc(calc(1.3em - var(--framer-line-height, 1.3em)) / 2));
18567
- margin: min(0em, calc(calc(1.3em - var(--framer-line-height, 1.3em)) / -2));
18566
+ padding: max(0em, calc(calc(1.3em - var(--framer-blockquote-line-height, var(--framer-line-height, 1.3em))) / 2));
18567
+ margin: min(0em, calc(calc(1.3em - var(--framer-blockquote-line-height, var(--framer-line-height, 1.3em))) / -2));
18568
18568
  }
18569
18569
  `, /* css */
18570
18570
  `
@@ -18579,6 +18579,15 @@ var richTextCSSRules = [
18579
18579
  line-height: var(--framer-line-height, 1.2em);
18580
18580
  }
18581
18581
  `, /* css */
18582
+ `
18583
+ blockquote.framer-text {
18584
+ margin-block-start: initial;
18585
+ margin-block-end: initial;
18586
+ margin-inline-start: initial;
18587
+ margin-inline-end: initial;
18588
+ unicode-bidi: initial;
18589
+ }
18590
+ `, /* css */
18582
18591
  `
18583
18592
  a.framer-text,
18584
18593
  a.framer-text span.framer-text:not([data-text-fill]) {
@@ -21430,7 +21439,7 @@ function useForceUpdate3() {
21430
21439
  }
21431
21440
  var ResizeObserverPolyfill = /* @__PURE__ */ (() => require_resize_observer_umd().ResizeObserver)();
21432
21441
  var DEFAULT_SIZE = 200;
21433
- var SharedObserver = /*#__PURE__*/ class {
21442
+ var SharedObserver = class {
21434
21443
  constructor() {
21435
21444
  __publicField(this, 'sharedResizeObserver',);
21436
21445
  __publicField(this, 'callbacks', /* @__PURE__ */ new WeakMap(),);
@@ -21761,7 +21770,6 @@ function resetSetStyle(element, key7, toValue, microtask2 = true,) {
21761
21770
  }
21762
21771
  }
21763
21772
  var Layer = /* @__PURE__ */ (() => {
21764
- /*#__PURE__*/
21765
21773
  class Layer2 extends Component {
21766
21774
  constructor() {
21767
21775
  super(...arguments,);
@@ -22593,7 +22601,7 @@ var SharedLayoutContext = /* @__PURE__ */ React4.createContext({
22593
22601
  scheduleProjectionDidUpdate: () => {},
22594
22602
  initLead: () => {},
22595
22603
  },);
22596
- var SharedLayoutRoot = /*#__PURE__*/ class extends Component {
22604
+ var SharedLayoutRoot = class extends Component {
22597
22605
  constructor() {
22598
22606
  super(...arguments,);
22599
22607
  __publicField(this, 'shouldAnimate', false,);
@@ -22676,7 +22684,7 @@ function MagicMotionCrossfadeRoot(props,) {
22676
22684
  children: props.children,
22677
22685
  },);
22678
22686
  }
22679
- var SharedIntersectionObserver = /*#__PURE__*/ class {
22687
+ var SharedIntersectionObserver = class {
22680
22688
  constructor(options,) {
22681
22689
  __publicField(this, 'sharedIntersectionObserver',);
22682
22690
  __publicField(this, 'callbacks', /* @__PURE__ */ new WeakMap(),);
@@ -22820,7 +22828,7 @@ function pointForEvent(event, customTarget = null,) {
22820
22828
  };
22821
22829
  return point2;
22822
22830
  }
22823
- var FramerEvent = /*#__PURE__*/ class {
22831
+ var FramerEvent = class {
22824
22832
  /**
22825
22833
  * @internal
22826
22834
  */
@@ -22927,7 +22935,7 @@ var DraggingContext = /* @__PURE__ */ React4.createContext({
22927
22935
  dragging: false,
22928
22936
  },);
22929
22937
  function WithDragging(Component15,) {
22930
- const _WithDraggingHOC = /*#__PURE__*/ class extends React4.Component {
22938
+ const _WithDraggingHOC = class extends React4.Component {
22931
22939
  constructor(props, defaultProps,) {
22932
22940
  super(props, defaultProps,);
22933
22941
  __publicField(this, 'state', {
@@ -23746,7 +23754,7 @@ var ObservableObject = /* @__PURE__ */ (() => {
23746
23754
  };
23747
23755
  return ObservableObject2;
23748
23756
  })();
23749
- var ObservableObjectProxyHandler = /*#__PURE__*/ class {
23757
+ var ObservableObjectProxyHandler = class {
23750
23758
  constructor() {
23751
23759
  __publicField(this, 'set', (target, key7, value, receiver,) => {
23752
23760
  if (key7 === $private) {
@@ -24422,7 +24430,7 @@ function applyLayoutProp(style, props, key7,) {
24422
24430
  }
24423
24431
  }
24424
24432
  var DeprecatedFrame = /* @__PURE__ */ (() => {
24425
- const _DeprecatedFrameInner = /*#__PURE__*/ class extends Layer {
24433
+ const _DeprecatedFrameInner = class extends Layer {
24426
24434
  constructor() {
24427
24435
  super(...arguments,);
24428
24436
  __publicField(this, 'element', null,);
@@ -24803,7 +24811,7 @@ var Frame = /* @__PURE__ */ (() => {
24803
24811
  FrameInner['displayName'] = 'Frame';
24804
24812
  return FrameInner;
24805
24813
  })();
24806
- var LayoutTree = /*#__PURE__*/ class extends Component {
24814
+ var LayoutTree = class extends Component {
24807
24815
  constructor() {
24808
24816
  super(...arguments,);
24809
24817
  __publicField(this, 'layoutMaybeMutated',);
@@ -25241,7 +25249,7 @@ var allAnimatableProperties = {
25241
25249
  originZ: 0,
25242
25250
  opacity: 1,
25243
25251
  };
25244
- var NavigatorMock = /*#__PURE__*/ class {
25252
+ var NavigatorMock = class {
25245
25253
  constructor() {
25246
25254
  __publicField(this, 'warning', () => {
25247
25255
  warnOnce2('The Navigator API is only available inside of Framer: https://www.framer.com/',);
@@ -26295,7 +26303,7 @@ var NavigationTransitionType = /* @__PURE__ */ ((NavigationTransitionType2) => {
26295
26303
  return NavigationTransitionType2;
26296
26304
  })(NavigationTransitionType || {},);
26297
26305
  function WithNavigator(BaseComponent, navigationTransition, navigationTransitionDirection, NavigationTarget, navigationTransitionOptions,) {
26298
- const InternalWithNavigator = /*#__PURE__*/ class extends React4.Component {
26306
+ const InternalWithNavigator = class extends React4.Component {
26299
26307
  render() {
26300
26308
  return /* @__PURE__ */ jsx(NavigationContext.Consumer, {
26301
26309
  children: (navigation) => {
@@ -27796,7 +27804,7 @@ function stateName(state,) {
27796
27804
  function containsBitmask(value, bitmask,) {
27797
27805
  return (value & bitmask) !== 0;
27798
27806
  }
27799
- var GestureRecognizer = /*#__PURE__*/ class {
27807
+ var GestureRecognizer = class {
27800
27808
  constructor() {
27801
27809
  __publicField(this, '_state', 2,/* Possible */
27802
27810
  );
@@ -27872,7 +27880,7 @@ var GestureRecognizer = /*#__PURE__*/ class {
27872
27880
  }
27873
27881
  }
27874
27882
  };
27875
- var MouseWheelGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer {
27883
+ var MouseWheelGestureRecognizer = class extends GestureRecognizer {
27876
27884
  constructor() {
27877
27885
  super(...arguments,);
27878
27886
  __publicField(this, 'startEvent',);
@@ -27917,7 +27925,7 @@ var MouseWheelGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer
27917
27925
  this.onMouseWheelEnd(event,);
27918
27926
  }
27919
27927
  };
27920
- var PanGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer {
27928
+ var PanGestureRecognizer = class extends GestureRecognizer {
27921
27929
  constructor() {
27922
27930
  super(...arguments,);
27923
27931
  __publicField(this, 'startEvent',);
@@ -27992,7 +28000,7 @@ var PanGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer {
27992
28000
  }
27993
28001
  }
27994
28002
  };
27995
- var TapGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer {
28003
+ var TapGestureRecognizer = class extends GestureRecognizer {
27996
28004
  constructor() {
27997
28005
  super(...arguments,);
27998
28006
  __publicField(this, 'eventType', 'tap',);
@@ -28022,7 +28030,7 @@ var TapGestureRecognizer = /*#__PURE__*/ class extends GestureRecognizer {
28022
28030
  }
28023
28031
  }
28024
28032
  };
28025
- var FramerEventSession = /*#__PURE__*/ class {
28033
+ var FramerEventSession = class {
28026
28034
  constructor(dispatcher, customOrigin,) {
28027
28035
  __publicField(this, 'events', [],);
28028
28036
  __publicField(this, 'recognizers', [],);
@@ -28182,7 +28190,7 @@ var FramerEventSession = /*#__PURE__*/ class {
28182
28190
  return subtract(event.devicePoint, this.startEvent.devicePoint,);
28183
28191
  }
28184
28192
  };
28185
- var MouseEventListener = /*#__PURE__*/ class extends Component {
28193
+ var MouseEventListener = class extends Component {
28186
28194
  constructor() {
28187
28195
  super(...arguments,);
28188
28196
  __publicField(this, 'domMouseDown', (originalEvent) => {
@@ -28234,7 +28242,7 @@ var MouseEventListener = /*#__PURE__*/ class extends Component {
28234
28242
  safeWindow.removeEventListener('wheel', this.domMouseWheel,);
28235
28243
  }
28236
28244
  };
28237
- var TouchEventListener = /*#__PURE__*/ class extends Component {
28245
+ var TouchEventListener = class extends Component {
28238
28246
  constructor() {
28239
28247
  super(...arguments,);
28240
28248
  __publicField(this, 'domTouchStart', (originalEvent) => {
@@ -29281,7 +29289,7 @@ function useObserveData() {
29281
29289
  const context = React4.useContext(DataObserverContext,);
29282
29290
  return !isNaN(context.update,);
29283
29291
  }
29284
- var DataObserver = /*#__PURE__*/ class extends Component {
29292
+ var DataObserver = class extends Component {
29285
29293
  constructor() {
29286
29294
  super(...arguments,);
29287
29295
  __publicField(this, 'observers', [],);
@@ -30439,7 +30447,7 @@ var withGeneratedLayoutId = (Component15) =>
30439
30447
  ref,
30440
30448
  },);
30441
30449
  },);
30442
- var ContainerErrorBoundary = /*#__PURE__*/ class extends Component {
30450
+ var ContainerErrorBoundary = class extends Component {
30443
30451
  constructor() {
30444
30452
  super(...arguments,);
30445
30453
  __publicField(this, 'state', {
@@ -31368,7 +31376,7 @@ function Floating({
31368
31376
  onDismiss,
31369
31377
  },);
31370
31378
  return ReactDOM.createPortal(
31371
- /* @__PURE__ */ jsxs('div', {
31379
+ /* @__PURE__ */ jsxs(motion.div, {
31372
31380
  ref: floatingPositionRef,
31373
31381
  className: className2,
31374
31382
  style: {
@@ -31411,7 +31419,7 @@ function Floating({
31411
31419
  );
31412
31420
  }
31413
31421
  var GeneratedComponentContext = /* @__PURE__ */ React4.createContext(void 0,);
31414
- var LazyValue = /*#__PURE__*/ class {
31422
+ var LazyValue = class {
31415
31423
  constructor(resolver,) {
31416
31424
  this.resolver = resolver;
31417
31425
  __publicField(this, 'status',);
@@ -32645,7 +32653,7 @@ async function getCollection(collection, locale,) {
32645
32653
  }
32646
32654
  return collection;
32647
32655
  }
32648
- var CompatibilityDatabaseCollection = /*#__PURE__*/ class {
32656
+ var CompatibilityDatabaseCollection = class {
32649
32657
  constructor(collection, locale,) {
32650
32658
  this.collection = collection;
32651
32659
  this.locale = locale;
@@ -32880,12 +32888,12 @@ function compare(left, right, collation,) {
32880
32888
  }
32881
32889
  }
32882
32890
  var INDEX_IDENTIFIER = 'index';
32883
- var ScalarExpression = /*#__PURE__*/ class {
32891
+ var ScalarExpression = class {
32884
32892
  static from(expression, schema,) {
32885
32893
  return convertExpression(expression, schema, void 0,);
32886
32894
  }
32887
32895
  };
32888
- var ScalarIdentifier = /*#__PURE__*/ class extends ScalarExpression {
32896
+ var ScalarIdentifier = class extends ScalarExpression {
32889
32897
  constructor(schema, name,) {
32890
32898
  super();
32891
32899
  this.schema = schema;
@@ -32917,7 +32925,7 @@ var ScalarIdentifier = /*#__PURE__*/ class extends ScalarExpression {
32917
32925
  return false;
32918
32926
  }
32919
32927
  };
32920
- var ScalarLiteralValue = /*#__PURE__*/ class extends ScalarExpression {
32928
+ var ScalarLiteralValue = class extends ScalarExpression {
32921
32929
  constructor(definition, value,) {
32922
32930
  super();
32923
32931
  this.definition = definition;
@@ -32999,7 +33007,7 @@ var ScalarLiteralValue = /*#__PURE__*/ class extends ScalarExpression {
32999
33007
  return true;
33000
33008
  }
33001
33009
  };
33002
- var ScalarFunctionCall = /*#__PURE__*/ class extends ScalarExpression {
33010
+ var ScalarFunctionCall = class extends ScalarExpression {
33003
33011
  constructor(argumentExpressions,) {
33004
33012
  super();
33005
33013
  this.argumentExpressions = argumentExpressions;
@@ -33025,7 +33033,7 @@ var ScalarFunctionCall = /*#__PURE__*/ class extends ScalarExpression {
33025
33033
  },);
33026
33034
  }
33027
33035
  };
33028
- var ScalarFunctionCallContains = /*#__PURE__*/ class extends ScalarFunctionCall {
33036
+ var ScalarFunctionCallContains = class extends ScalarFunctionCall {
33029
33037
  constructor() {
33030
33038
  super(...arguments,);
33031
33039
  __publicField(this, 'definition', ScalarFunctionCallContains.getDefinition(),);
@@ -33061,7 +33069,7 @@ var ScalarFunctionCallContains = /*#__PURE__*/ class extends ScalarFunctionCall
33061
33069
  };
33062
33070
  }
33063
33071
  };
33064
- var ScalarFunctionCallStartsWith = /*#__PURE__*/ class extends ScalarFunctionCall {
33072
+ var ScalarFunctionCallStartsWith = class extends ScalarFunctionCall {
33065
33073
  constructor() {
33066
33074
  super(...arguments,);
33067
33075
  __publicField(this, 'definition', ScalarFunctionCallStartsWith.getDefinition(),);
@@ -33097,7 +33105,7 @@ var ScalarFunctionCallStartsWith = /*#__PURE__*/ class extends ScalarFunctionCal
33097
33105
  };
33098
33106
  }
33099
33107
  };
33100
- var ScalarFunctionCallEndsWith = /*#__PURE__*/ class extends ScalarFunctionCall {
33108
+ var ScalarFunctionCallEndsWith = class extends ScalarFunctionCall {
33101
33109
  constructor() {
33102
33110
  super(...arguments,);
33103
33111
  __publicField(this, 'definition', ScalarFunctionCallEndsWith.getDefinition(),);
@@ -33133,7 +33141,7 @@ var ScalarFunctionCallEndsWith = /*#__PURE__*/ class extends ScalarFunctionCall
33133
33141
  };
33134
33142
  }
33135
33143
  };
33136
- var ScalarCase = /*#__PURE__*/ class extends ScalarExpression {
33144
+ var ScalarCase = class extends ScalarExpression {
33137
33145
  constructor(valueExpression, conditions, elseExpression,) {
33138
33146
  super();
33139
33147
  this.valueExpression = valueExpression;
@@ -33229,13 +33237,13 @@ var ScalarCase = /*#__PURE__*/ class extends ScalarExpression {
33229
33237
  },);
33230
33238
  }
33231
33239
  };
33232
- var ScalarCaseCondition = /*#__PURE__*/ class {
33240
+ var ScalarCaseCondition = class {
33233
33241
  constructor(whenExpression, thenExpression,) {
33234
33242
  this.whenExpression = whenExpression;
33235
33243
  this.thenExpression = thenExpression;
33236
33244
  }
33237
33245
  };
33238
- var ScalarUnaryOperation = /*#__PURE__*/ class extends ScalarExpression {
33246
+ var ScalarUnaryOperation = class extends ScalarExpression {
33239
33247
  constructor(valueExpression,) {
33240
33248
  super();
33241
33249
  this.valueExpression = valueExpression;
@@ -33248,7 +33256,7 @@ var ScalarUnaryOperation = /*#__PURE__*/ class extends ScalarExpression {
33248
33256
  return this.valueExpression.canEvaluate();
33249
33257
  }
33250
33258
  };
33251
- var ScalarUnaryOperationNot = /*#__PURE__*/ class extends ScalarUnaryOperation {
33259
+ var ScalarUnaryOperationNot = class extends ScalarUnaryOperation {
33252
33260
  constructor() {
33253
33261
  super(...arguments,);
33254
33262
  __publicField(this, 'definition', ScalarUnaryOperationNot.getDefinition(),);
@@ -33270,7 +33278,7 @@ var ScalarUnaryOperationNot = /*#__PURE__*/ class extends ScalarUnaryOperation {
33270
33278
  };
33271
33279
  }
33272
33280
  };
33273
- var ScalarLogicalOperation = /*#__PURE__*/ class extends ScalarExpression {
33281
+ var ScalarLogicalOperation = class extends ScalarExpression {
33274
33282
  constructor(operandExpressions,) {
33275
33283
  super();
33276
33284
  this.operandExpressions = operandExpressions;
@@ -33295,7 +33303,7 @@ var ScalarLogicalOperation = /*#__PURE__*/ class extends ScalarExpression {
33295
33303
  },);
33296
33304
  }
33297
33305
  };
33298
- var ScalarLogicalOperationAnd = /*#__PURE__*/ class extends ScalarLogicalOperation {
33306
+ var ScalarLogicalOperationAnd = class extends ScalarLogicalOperation {
33299
33307
  constructor() {
33300
33308
  super(...arguments,);
33301
33309
  __publicField(this, 'operator', 'AND',);
@@ -33311,7 +33319,7 @@ var ScalarLogicalOperationAnd = /*#__PURE__*/ class extends ScalarLogicalOperati
33311
33319
  };
33312
33320
  }
33313
33321
  };
33314
- var ScalarLogicalOperationOr = /*#__PURE__*/ class extends ScalarLogicalOperation {
33322
+ var ScalarLogicalOperationOr = class extends ScalarLogicalOperation {
33315
33323
  constructor() {
33316
33324
  super(...arguments,);
33317
33325
  __publicField(this, 'operator', 'OR',);
@@ -33327,7 +33335,7 @@ var ScalarLogicalOperationOr = /*#__PURE__*/ class extends ScalarLogicalOperatio
33327
33335
  };
33328
33336
  }
33329
33337
  };
33330
- var ScalarComparison = /*#__PURE__*/ class extends ScalarExpression {
33338
+ var ScalarComparison = class extends ScalarExpression {
33331
33339
  constructor(leftExpression, rightExpression,) {
33332
33340
  super();
33333
33341
  this.leftExpression = leftExpression;
@@ -33355,7 +33363,7 @@ var ScalarComparison = /*#__PURE__*/ class extends ScalarExpression {
33355
33363
  return this.leftExpression.canEvaluate() && this.rightExpression.canEvaluate();
33356
33364
  }
33357
33365
  };
33358
- var ScalarComparisonEquals = /*#__PURE__*/ class extends ScalarComparison {
33366
+ var ScalarComparisonEquals = class extends ScalarComparison {
33359
33367
  constructor() {
33360
33368
  super(...arguments,);
33361
33369
  __publicField(this, 'operator', '=',);
@@ -33369,7 +33377,7 @@ var ScalarComparisonEquals = /*#__PURE__*/ class extends ScalarComparison {
33369
33377
  };
33370
33378
  }
33371
33379
  };
33372
- var ScalarComparisonNotEquals = /*#__PURE__*/ class extends ScalarComparison {
33380
+ var ScalarComparisonNotEquals = class extends ScalarComparison {
33373
33381
  constructor() {
33374
33382
  super(...arguments,);
33375
33383
  __publicField(this, 'operator', '!=',);
@@ -33383,7 +33391,7 @@ var ScalarComparisonNotEquals = /*#__PURE__*/ class extends ScalarComparison {
33383
33391
  };
33384
33392
  }
33385
33393
  };
33386
- var ScalarComparisonLessThan = /*#__PURE__*/ class extends ScalarComparison {
33394
+ var ScalarComparisonLessThan = class extends ScalarComparison {
33387
33395
  constructor() {
33388
33396
  super(...arguments,);
33389
33397
  __publicField(this, 'operator', '<',);
@@ -33397,7 +33405,7 @@ var ScalarComparisonLessThan = /*#__PURE__*/ class extends ScalarComparison {
33397
33405
  };
33398
33406
  }
33399
33407
  };
33400
- var ScalarComparisonLessThanOrEqual = /*#__PURE__*/ class extends ScalarComparison {
33408
+ var ScalarComparisonLessThanOrEqual = class extends ScalarComparison {
33401
33409
  constructor() {
33402
33410
  super(...arguments,);
33403
33411
  __publicField(this, 'operator', '<=',);
@@ -33411,7 +33419,7 @@ var ScalarComparisonLessThanOrEqual = /*#__PURE__*/ class extends ScalarComparis
33411
33419
  };
33412
33420
  }
33413
33421
  };
33414
- var ScalarComparisonGreaterThan = /*#__PURE__*/ class extends ScalarComparison {
33422
+ var ScalarComparisonGreaterThan = class extends ScalarComparison {
33415
33423
  constructor() {
33416
33424
  super(...arguments,);
33417
33425
  __publicField(this, 'operator', '>',);
@@ -33425,7 +33433,7 @@ var ScalarComparisonGreaterThan = /*#__PURE__*/ class extends ScalarComparison {
33425
33433
  };
33426
33434
  }
33427
33435
  };
33428
- var ScalarComparisonGreaterThanOrEqual = /*#__PURE__*/ class extends ScalarComparison {
33436
+ var ScalarComparisonGreaterThanOrEqual = class extends ScalarComparison {
33429
33437
  constructor() {
33430
33438
  super(...arguments,);
33431
33439
  __publicField(this, 'operator', '>=',);
@@ -33439,7 +33447,7 @@ var ScalarComparisonGreaterThanOrEqual = /*#__PURE__*/ class extends ScalarCompa
33439
33447
  };
33440
33448
  }
33441
33449
  };
33442
- var ScalarTypeCast = /*#__PURE__*/ class extends ScalarExpression {
33450
+ var ScalarTypeCast = class extends ScalarExpression {
33443
33451
  constructor(valueExpression,) {
33444
33452
  super();
33445
33453
  this.valueExpression = valueExpression;
@@ -33455,7 +33463,7 @@ var ScalarTypeCast = /*#__PURE__*/ class extends ScalarExpression {
33455
33463
  return this.valueExpression.canEvaluate();
33456
33464
  }
33457
33465
  };
33458
- var ScalarTypeCastBoolean = /*#__PURE__*/ class extends ScalarTypeCast {
33466
+ var ScalarTypeCastBoolean = class extends ScalarTypeCast {
33459
33467
  constructor() {
33460
33468
  super(...arguments,);
33461
33469
  __publicField(this, 'dataType', 'BOOLEAN',);
@@ -33485,7 +33493,7 @@ function convertToBoolean(value,) {
33485
33493
  }
33486
33494
  return false;
33487
33495
  }
33488
- var ScalarTypeCastDate = /*#__PURE__*/ class extends ScalarTypeCast {
33496
+ var ScalarTypeCastDate = class extends ScalarTypeCast {
33489
33497
  constructor() {
33490
33498
  super(...arguments,);
33491
33499
  __publicField(this, 'dataType', 'DATE',);
@@ -33523,7 +33531,7 @@ function convertToDate(value,) {
33523
33531
  }
33524
33532
  return null;
33525
33533
  }
33526
- var ScalarTypeCastNumber = /*#__PURE__*/ class extends ScalarTypeCast {
33534
+ var ScalarTypeCastNumber = class extends ScalarTypeCast {
33527
33535
  constructor() {
33528
33536
  super(...arguments,);
33529
33537
  __publicField(this, 'dataType', 'NUMBER',);
@@ -33560,7 +33568,7 @@ function convertToNumber(value,) {
33560
33568
  }
33561
33569
  return null;
33562
33570
  }
33563
- var ScalarTypeCastString = /*#__PURE__*/ class extends ScalarTypeCast {
33571
+ var ScalarTypeCastString = class extends ScalarTypeCast {
33564
33572
  constructor() {
33565
33573
  super(...arguments,);
33566
33574
  __publicField(this, 'dataType', 'STRING',);
@@ -34008,7 +34016,7 @@ function stringifyExecutionTime(self2, total,) {
34008
34016
  function stringifyItems(items,) {
34009
34017
  return `(items: ${items})`;
34010
34018
  }
34011
- var QueryPlan = /*#__PURE__*/ class {
34019
+ var QueryPlan = class {
34012
34020
  constructor() {
34013
34021
  __publicField(this, 'executionTime', 0,);
34014
34022
  __publicField(this, 'itemCount', 0,);
@@ -34021,7 +34029,7 @@ var QueryPlan = /*#__PURE__*/ class {
34021
34029
  return result;
34022
34030
  }
34023
34031
  };
34024
- var ScanCollectionPlan = /*#__PURE__*/ class extends QueryPlan {
34032
+ var ScanCollectionPlan = class extends QueryPlan {
34025
34033
  constructor(collection,) {
34026
34034
  super();
34027
34035
  this.collection = collection;
@@ -34035,7 +34043,7 @@ var ScanCollectionPlan = /*#__PURE__*/ class extends QueryPlan {
34035
34043
  return this.collection.scanItems();
34036
34044
  }
34037
34045
  };
34038
- var LookupIndexPlan = /*#__PURE__*/ class extends QueryPlan {
34046
+ var LookupIndexPlan = class extends QueryPlan {
34039
34047
  constructor(index, query,) {
34040
34048
  super();
34041
34049
  this.index = index;
@@ -34075,7 +34083,7 @@ var LookupIndexPlan = /*#__PURE__*/ class extends QueryPlan {
34075
34083
  return this.index.lookupItems(this.query,);
34076
34084
  }
34077
34085
  };
34078
- var UnionPlan = /*#__PURE__*/ class extends QueryPlan {
34086
+ var UnionPlan = class extends QueryPlan {
34079
34087
  constructor(childPlans,) {
34080
34088
  super();
34081
34089
  this.childPlans = childPlans;
@@ -34105,7 +34113,7 @@ var UnionPlan = /*#__PURE__*/ class extends QueryPlan {
34105
34113
  return (result == null ? void 0 : result.items()) ?? [];
34106
34114
  }
34107
34115
  };
34108
- var IntersectionPlan = /*#__PURE__*/ class extends QueryPlan {
34116
+ var IntersectionPlan = class extends QueryPlan {
34109
34117
  constructor(childPlans,) {
34110
34118
  super();
34111
34119
  this.childPlans = childPlans;
@@ -34135,7 +34143,7 @@ var IntersectionPlan = /*#__PURE__*/ class extends QueryPlan {
34135
34143
  return (result == null ? void 0 : result.items()) ?? [];
34136
34144
  }
34137
34145
  };
34138
- var ResolveItemsPlan = /*#__PURE__*/ class extends QueryPlan {
34146
+ var ResolveItemsPlan = class extends QueryPlan {
34139
34147
  constructor(childPlan, collection, richTextResolver, select,) {
34140
34148
  super();
34141
34149
  this.childPlan = childPlan;
@@ -34165,7 +34173,7 @@ var ResolveItemsPlan = /*#__PURE__*/ class extends QueryPlan {
34165
34173
  return this.collection.resolveItems(childPointers,);
34166
34174
  }
34167
34175
  };
34168
- var FilterItemsPlan = /*#__PURE__*/ class extends QueryPlan {
34176
+ var FilterItemsPlan = class extends QueryPlan {
34169
34177
  constructor(childPlan, filterExpression,) {
34170
34178
  super();
34171
34179
  this.childPlan = childPlan;
@@ -34187,7 +34195,7 @@ var FilterItemsPlan = /*#__PURE__*/ class extends QueryPlan {
34187
34195
  },);
34188
34196
  }
34189
34197
  };
34190
- var SortItemsPlan = /*#__PURE__*/ class extends QueryPlan {
34198
+ var SortItemsPlan = class extends QueryPlan {
34191
34199
  constructor(childPlan, orderExpressions, collection,) {
34192
34200
  super();
34193
34201
  this.childPlan = childPlan;
@@ -34236,14 +34244,14 @@ var SortItemsPlan = /*#__PURE__*/ class extends QueryPlan {
34236
34244
  },);
34237
34245
  }
34238
34246
  };
34239
- var ScalarOrderExpression = /*#__PURE__*/ class {
34247
+ var ScalarOrderExpression = class {
34240
34248
  constructor(expression, direction, collation,) {
34241
34249
  this.expression = expression;
34242
34250
  this.direction = direction;
34243
34251
  this.collation = collation;
34244
34252
  }
34245
34253
  };
34246
- var SliceItemsPlan = /*#__PURE__*/ class extends QueryPlan {
34254
+ var SliceItemsPlan = class extends QueryPlan {
34247
34255
  constructor(childPlan, offsetExpression, limitExpression,) {
34248
34256
  super();
34249
34257
  this.childPlan = childPlan;
@@ -34280,7 +34288,7 @@ var SliceItemsPlan = /*#__PURE__*/ class extends QueryPlan {
34280
34288
  return childItems.slice(offset, offset + limit,);
34281
34289
  }
34282
34290
  };
34283
- var DatabaseItemMap = /*#__PURE__*/ class extends Map {
34291
+ var DatabaseItemMap = class extends Map {
34284
34292
  constructor(items = [],) {
34285
34293
  super();
34286
34294
  for (const item of items) {
@@ -34311,7 +34319,7 @@ var DatabaseItemMap = /*#__PURE__*/ class extends Map {
34311
34319
  return [...values,];
34312
34320
  }
34313
34321
  };
34314
- var RichTextResolver = /*#__PURE__*/ class {
34322
+ var RichTextResolver = class {
34315
34323
  constructor(collection,) {
34316
34324
  this.collection = collection;
34317
34325
  __publicField(this, 'cache', /* @__PURE__ */ new Map(),);
@@ -34462,7 +34470,7 @@ function getDatabaseCollection({
34462
34470
  }
34463
34471
  assertNever(data2, 'Unsupported collection type',);
34464
34472
  }
34465
- var QueryEngine = /*#__PURE__*/ class {
34473
+ var QueryEngine = class {
34466
34474
  async query(query, locale,) {
34467
34475
  const collection = getDatabaseCollection(query.from, locale,);
34468
34476
  const richTextResolver = new RichTextResolver(collection,);
@@ -34693,7 +34701,7 @@ function createScanCollectionPlan(collection, expression,) {
34693
34701
  const plan = new ScanCollectionPlan(collection,);
34694
34702
  return new FilterItemsPlan(plan, expression,);
34695
34703
  }
34696
- var AnimationCollector = /*#__PURE__*/ class {
34704
+ var AnimationCollector = class {
34697
34705
  constructor() {
34698
34706
  __publicField(this, 'entries', /* @__PURE__ */ new Map(),);
34699
34707
  }
@@ -35318,7 +35326,7 @@ function usePrototypeNavigate({
35318
35326
  return false;
35319
35327
  };
35320
35328
  }
35321
- var QueryCache = /*#__PURE__*/ class {
35329
+ var QueryCache = class {
35322
35330
  constructor(queryEngine2,) {
35323
35331
  this.queryEngine = queryEngine2;
35324
35332
  __publicField(this, 'cache', /* @__PURE__ */ new Map(),);
@@ -35605,19 +35613,16 @@ function useVariantState({
35605
35613
  if (baseVariant !== defaultVariant) variants.push(baseVariant,);
35606
35614
  if (gestureVariant) variants.push(gestureVariant,);
35607
35615
  const gestures = enabledGestures == null ? void 0 : enabledGestures[baseVariant];
35608
- const gestureHandlers = {};
35609
- if (gestures == null ? void 0 : gestures.hover) {
35610
- Object.assign(gestureHandlers, {
35611
- onMouseEnter: () =>
35612
- setGestureState({
35613
- isHovered: true,
35614
- },),
35615
- onMouseLeave: () =>
35616
- setGestureState({
35617
- isHovered: false,
35618
- },),
35619
- },);
35620
- }
35616
+ const gestureHandlers = {
35617
+ onMouseEnter: () =>
35618
+ setGestureState({
35619
+ isHovered: true,
35620
+ },),
35621
+ onMouseLeave: () =>
35622
+ setGestureState({
35623
+ isHovered: false,
35624
+ },),
35625
+ };
35621
35626
  if (gestures == null ? void 0 : gestures.pressed) {
35622
35627
  Object.assign(gestureHandlers, {
35623
35628
  onTapStart: () =>
@@ -36434,7 +36439,7 @@ var FontSourceNames = /* @__PURE__ */ ((FontSourceNames2) => {
36434
36439
  return FontSourceNames2;
36435
36440
  })(FontSourceNames || {},);
36436
36441
  var systemFontFamilyName = 'System Default';
36437
- var LocalFontSource = /*#__PURE__*/ class {
36442
+ var LocalFontSource = class {
36438
36443
  constructor() {
36439
36444
  __publicField(this, 'name', 'local',/* Local */
36440
36445
  );
@@ -36576,7 +36581,7 @@ function getCustomFontName(fileName, properties,) {
36576
36581
  const variant = properties.font.preferredSubFamily === '' ? properties.font.fontSubFamily : properties.font.preferredSubFamily;
36577
36582
  return `${fontFamily} ${variant}`;
36578
36583
  }
36579
- var CustomFontSource = /*#__PURE__*/ class {
36584
+ var CustomFontSource = class {
36580
36585
  constructor() {
36581
36586
  __publicField(this, 'name', 'custom',/* Custom */
36582
36587
  );
@@ -36744,7 +36749,7 @@ var weightNameToNumber = {
36744
36749
  };
36745
36750
  var weightNames = /* @__PURE__ */ Object.keys(weightNameToNumber,);
36746
36751
  var allowedVariantsRegex = /* @__PURE__ */ (() => new RegExp(`^(?:${[...weightNames, 'italic',].join('|',)})`, 'u',))();
36747
- var FontshareSource = /*#__PURE__*/ class {
36752
+ var FontshareSource = class {
36748
36753
  constructor() {
36749
36754
  __publicField(this, 'name', 'fontshare',/* Fontshare */
36750
36755
  );
@@ -36882,7 +36887,7 @@ var weightNameToNumber2 = {
36882
36887
  ExtraBold: 800,
36883
36888
  Black: 900,
36884
36889
  };
36885
- var FramerFontSource = /*#__PURE__*/ class {
36890
+ var FramerFontSource = class {
36886
36891
  constructor() {
36887
36892
  __publicField(this, 'name', 'framer',/* Framer */
36888
36893
  );
@@ -36943,7 +36948,7 @@ var FramerFontSource = /*#__PURE__*/ class {
36943
36948
  }
36944
36949
  };
36945
36950
  var googleFontSelectorPrefix = 'GF;';
36946
- var GoogleFontSource = /*#__PURE__*/ class {
36951
+ var GoogleFontSource = class {
36947
36952
  constructor() {
36948
36953
  __publicField(this, 'name', 'google',/* Google */
36949
36954
  );
@@ -37050,7 +37055,7 @@ function mapToKnownCategory2(category,) {
37050
37055
  var import_fontfaceobserver = __toESM(require_fontfaceobserver_standalone(), 1,);
37051
37056
  var FONT_LOADING_TIMEOUT = 5e3;
37052
37057
  var MAX_RETRIES = 3;
37053
- var FontLoadingError = /*#__PURE__*/ class extends Error {
37058
+ var FontLoadingError = class extends Error {
37054
37059
  constructor(message,) {
37055
37060
  super(message,);
37056
37061
  this.name = 'FontLoadingError';
@@ -37123,7 +37128,7 @@ async function isFontReady(family, style, weight,) {
37123
37128
  }`,);
37124
37129
  }
37125
37130
  }
37126
- var FontStore = /*#__PURE__*/ class {
37131
+ var FontStore = class {
37127
37132
  constructor() {
37128
37133
  __publicField(this, 'enabled', false,);
37129
37134
  __publicField(this, 'bySelector', /* @__PURE__ */ new Map(),);
@@ -37199,6 +37204,7 @@ var FontStore = /*#__PURE__*/ class {
37199
37204
  return fontFamily;
37200
37205
  }
37201
37206
  getFontBySelector(selector, createFont = true,) {
37207
+ if (!selector) return void 0;
37202
37208
  if (selector.startsWith(customFontSelectorPrefix,)) {
37203
37209
  return this.custom.getFontBySelector(selector, createFont,);
37204
37210
  }
@@ -37618,6 +37624,7 @@ var FormInputStyleVariableNames = /* @__PURE__ */ ((FormInputStyleVariableNames2
37618
37624
  FormInputStyleVariableNames2['IconBackgroundImage'] = '--framer-input-icon-image';
37619
37625
  FormInputStyleVariableNames2['IconMaskImage'] = '--framer-input-icon-mask-image';
37620
37626
  FormInputStyleVariableNames2['IconColor'] = '--framer-input-icon-color';
37627
+ FormInputStyleVariableNames2['WrapperHeight'] = '--framer-input-wrapper-height';
37621
37628
  return FormInputStyleVariableNames2;
37622
37629
  })(FormInputStyleVariableNames || {},);
37623
37630
  var Var = FormInputStyleVariableNames;
@@ -37665,7 +37672,7 @@ var sharedInputCSS = [
37665
37672
  whiteSpace: 'nowrap',
37666
37673
  overflow: 'hidden',
37667
37674
  width: '100%',
37668
- height: '100%',
37675
+ height: css.variable(Var.WrapperHeight, '100%',),
37669
37676
  letterSpacing: css.variable(Var.FontLetterSpacing,),
37670
37677
  textAlign: css.variable(Var.FontTextAlignment,),
37671
37678
  lineHeight: css.variable(Var.FontLineHeight,),
@@ -37767,9 +37774,7 @@ var inputIconCSSDeclaration = {
37767
37774
  bottom: 0,
37768
37775
  width: `${iconSize}px`,
37769
37776
  boxSizing: 'content-box',
37770
- // Offset the icon inwards by the padding.
37771
- margin: css.variable(Var.Padding,),
37772
- marginLeft: 0,
37777
+ padding: css.variable(Var.Padding,),
37773
37778
  border: 'none',
37774
37779
  pointerEvents: 'none',
37775
37780
  backgroundRepeat: 'no-repeat',
@@ -37912,7 +37917,7 @@ var styles = /* @__PURE__ */ (() => [
37912
37917
  display: 'flex',
37913
37918
  resize: css.variable('--framer-textarea-resize',/* Resize */
37914
37919
  ),
37915
- overflowY: 'scroll',
37920
+ overflowY: 'auto',
37916
37921
  minHeight: 'inherit',
37917
37922
  maxHeight: 'inherit',
37918
37923
  whiteSpace: 'break-spaces',
@@ -37941,6 +37946,10 @@ var styles = /* @__PURE__ */ (() => [
37941
37946
  // This tells safari to use the color for the shadow dom elements.
37942
37947
  '-webkit-text-fill-color': css.variable('--framer-input-placeholder-color',/* PlaceholderColor */
37943
37948
  ),
37949
+ // Prevent browsers from improvising the date/time placeholder height.
37950
+ height: css.variable('--framer-input-font-line-height',/* FontLineHeight */
37951
+ ),
37952
+ overflow: 'visible',
37944
37953
  },),
37945
37954
  css(
37946
37955
  `.${textInputWrapperClassName} .${inputClassName}[type="date"]::before, .${textInputWrapperClassName} .${inputClassName}[type="time"]::before`,
@@ -37961,15 +37970,21 @@ var styles = /* @__PURE__ */ (() => [
37961
37970
  backgroundImage: css.variable('--framer-input-icon-image',/* IconBackgroundImage */
37962
37971
  ),
37963
37972
  },),
37964
- // Hide the native date picker icon, but still allow the user to click it.
37973
+ // Hide the native date picker icon, but still align it with the custom icon, allowing user to click it to show the
37974
+ // date/time picker.
37965
37975
  css(`.${textInputWrapperClassName} .${inputClassName}::-webkit-calendar-picker-indicator`, {
37966
37976
  opacity: 0,
37977
+ position: 'absolute',
37978
+ right: 0,
37979
+ top: 0,
37980
+ bottom: 0,
37967
37981
  padding: css.variable('--framer-input-padding',/* Padding */
37968
37982
  ),
37969
- paddingRight: 0,
37970
- paddingLeft: `${iconSpacing}px`,
37983
+ paddingTop: 0,
37984
+ paddingBottom: 0,
37971
37985
  width: `${iconSize2}px`,
37972
- height: `${iconSize2}px`,
37986
+ // Makes sure the icon hit target covers the entire height of the input.
37987
+ height: '100%',
37973
37988
  },),
37974
37989
  css(`.${textInputWrapperClassName}:focus-within, .${textInputWrapperClassName}.${forcedFocusClassName}`, {
37975
37990
  boxShadow: css.variable('--framer-input-focused-box-shadow', '--framer-input-box-shadow',/* BoxShadow */
@@ -38147,6 +38162,7 @@ var Select = /* @__PURE__ */ React4.forwardRef(function Select2(props, measureRe
38147
38162
  className: className2,
38148
38163
  inputName,
38149
38164
  required,
38165
+ hidden,
38150
38166
  defaultValue,
38151
38167
  selectOptions,
38152
38168
  style,
@@ -38159,6 +38175,13 @@ var Select = /* @__PURE__ */ React4.forwardRef(function Select2(props, measureRe
38159
38175
  } = props;
38160
38176
  const eventHandlers = useCustomValidity(onValid, onInvalid, onChange, onBlur, onFocus,);
38161
38177
  const key7 = Array.isArray(defaultValue,) ? defaultValue[0] : defaultValue;
38178
+ if (hidden) {
38179
+ return /* @__PURE__ */ jsx(motion.input, {
38180
+ type: 'hidden',
38181
+ name: inputName,
38182
+ defaultValue,
38183
+ },);
38184
+ }
38162
38185
  return /* @__PURE__ */ jsx(motion.div, {
38163
38186
  ref: measureRef,
38164
38187
  style,
@@ -38367,7 +38390,7 @@ function convertCodeComponentContainer(componentDefinitionProvider, node, conver
38367
38390
  ),
38368
38391
  ];
38369
38392
  }
38370
- var CodeComponentPresentation = /*#__PURE__*/ class {
38393
+ var CodeComponentPresentation = class {
38371
38394
  constructor(id3, componentIdentifier, packageVersion, props, children, codeOverrideIdentifier,) {
38372
38395
  this.id = id3;
38373
38396
  this.componentIdentifier = componentIdentifier;
@@ -38393,6 +38416,11 @@ var CodeComponentPresentation = /*#__PURE__*/ class {
38393
38416
  };
38394
38417
  }
38395
38418
  };
38419
+ var nonSlugCharactersRegExp = /[^\p{Letter}\p{Number}()]+/gu;
38420
+ var trimSlugRegExp = /^-+|-+$/gu;
38421
+ function slugify(value,) {
38422
+ return value.toLowerCase().replace(nonSlugCharactersRegExp, '-',).replace(trimSlugRegExp, '',);
38423
+ }
38396
38424
  var htmlRegExp = /[&<>'"]/g;
38397
38425
  var escapeHTML = (str) =>
38398
38426
  str.replace(htmlRegExp, (tag) =>
@@ -38671,6 +38699,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef((props, ref,) => {
38671
38699
  _forwardedOverrideId,
38672
38700
  _forwardedOverrides,
38673
38701
  _usesDOMRect,
38702
+ anchorLinkOffsetY,
38674
38703
  as: _as,
38675
38704
  bottom,
38676
38705
  center,
@@ -38714,6 +38743,10 @@ var RichTextContainer = /* @__PURE__ */ forwardRef((props, ref,) => {
38714
38743
  useInsertionEffect(() => {
38715
38744
  injectComponentCSSRules();
38716
38745
  }, [],);
38746
+ const processedChildren = useMemo(() => {
38747
+ if (!children) return;
38748
+ return processRichTextChildren(children, stylesPresetsClassNames, plainText, anchorLinkOffsetY,);
38749
+ }, [children, stylesPresetsClassNames, plainText, anchorLinkOffsetY,],);
38717
38750
  if (!visible) return null;
38718
38751
  const isHidden = isEditable && environment2() === RenderTarget.canvas;
38719
38752
  const containerStyle = {
@@ -38787,7 +38820,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef((props, ref,) => {
38787
38820
  width: '100%',
38788
38821
  height: '100%',
38789
38822
  },
38790
- children: children && styleRichTextChildren(children, stylesPresetsClassNames, plainText,),
38823
+ children: processedChildren,
38791
38824
  },),
38792
38825
  },);
38793
38826
  } else {
@@ -38801,7 +38834,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef((props, ref,) => {
38801
38834
  transformTemplate: template,
38802
38835
  'data-framer-name': name,
38803
38836
  'data-framer-component-type': 'RichTextContainer',
38804
- children: children && styleRichTextChildren(children, stylesPresetsClassNames, plainText,),
38837
+ children: processedChildren,
38805
38838
  },);
38806
38839
  }
38807
38840
  }
@@ -38813,17 +38846,17 @@ var RichTextContainer = /* @__PURE__ */ forwardRef((props, ref,) => {
38813
38846
  transformTemplate: template,
38814
38847
  'data-framer-name': name,
38815
38848
  'data-framer-component-type': 'RichTextContainer',
38816
- children: children && styleRichTextChildren(children, stylesPresetsClassNames, plainText,),
38849
+ children: processedChildren,
38817
38850
  },);
38818
38851
  },);
38819
- function styleRichTextChildren(element, stylesPresetsClassNames, plainText,) {
38852
+ function processRichTextChildren(element, stylesPresetsClassNames, plainText, anchorLinkOffsetY, slugCounters = {},) {
38820
38853
  let children = Children.toArray(element.props.children,);
38821
38854
  if (isString22(plainText,)) {
38822
38855
  children = children.slice(0, 1,);
38823
38856
  }
38824
38857
  children = children.map((child) => {
38825
38858
  if (isValidElement(child,)) {
38826
- return styleRichTextChildren(child, stylesPresetsClassNames, plainText,);
38859
+ return processRichTextChildren(child, stylesPresetsClassNames, plainText, anchorLinkOffsetY, slugCounters,);
38827
38860
  }
38828
38861
  if (isString22(plainText,)) {
38829
38862
  return plainText;
@@ -38835,12 +38868,53 @@ function styleRichTextChildren(element, stylesPresetsClassNames, plainText,) {
38835
38868
  ...props
38836
38869
  } = element.props;
38837
38870
  if (isString22(element.type,) || isMotionComponent(element.type,)) {
38838
- const tag = dataPresetTag || unwrapMotionComponent(element.type,) || element.type;
38871
+ const elementType = unwrapMotionComponent(element.type,) || element.type;
38872
+ const tag = dataPresetTag || elementType;
38839
38873
  const stylesPresetClassName = isString22(tag,) ? stylesPresetsClassNames == null ? void 0 : stylesPresetsClassNames[tag] : void 0;
38840
38874
  props.className = cx('framer-text', props.className, stylesPresetClassName,);
38875
+ const isHeading = elementType === 'h1' || elementType === 'h2' || elementType === 'h3' || elementType === 'h4' ||
38876
+ elementType === 'h5' || elementType === 'h6';
38877
+ const anchorLinkStylePresetClassName = stylesPresetsClassNames == null ? void 0 : stylesPresetsClassNames['anchor'];
38878
+ if (isHeading && anchorLinkStylePresetClassName) {
38879
+ const slug = generateHeadingSlug(children, slugCounters,);
38880
+ props.id = slug;
38881
+ const className2 = cx('framer-text', anchorLinkStylePresetClassName,);
38882
+ const anchorLink = /* @__PURE__ */ jsx('a', {
38883
+ href: `#${slug}`,
38884
+ className: className2,
38885
+ children,
38886
+ },);
38887
+ props.style = {
38888
+ ...(props.style ?? {}),
38889
+ scrollMarginTop: anchorLinkOffsetY,
38890
+ };
38891
+ children = [anchorLink,];
38892
+ }
38841
38893
  }
38842
38894
  return cloneElement2(element, props, ...children,);
38843
38895
  }
38896
+ function generateHeadingSlug(children, slugCounters,) {
38897
+ const headingText = children.map(extractTextFromReactNode,).join('',);
38898
+ let slug = slugify(headingText,);
38899
+ const slugCounter = slugCounters[slug] ?? 0;
38900
+ if (slugCounter > 0) {
38901
+ slug += `-${slugCounter}`;
38902
+ }
38903
+ slugCounters[slug] = slugCounter + 1;
38904
+ return slug;
38905
+ }
38906
+ function extractTextFromReactNode(node,) {
38907
+ if (isString22(node,) || isNumber2(node,)) {
38908
+ return node.toString();
38909
+ }
38910
+ if (isValidElement(node,)) {
38911
+ return extractTextFromReactNode(node.props.children,);
38912
+ }
38913
+ if (Array.isArray(node,)) {
38914
+ return node.map(extractTextFromReactNode,).join('',);
38915
+ }
38916
+ return '';
38917
+ }
38844
38918
  var RichText = /* @__PURE__ */ forwardRef(({
38845
38919
  children,
38846
38920
  html,
@@ -39079,7 +39153,7 @@ var ImagePatternElement = ({
39079
39153
  },);
39080
39154
  };
39081
39155
  var useDOM = /* @__PURE__ */ isBrowser2();
39082
- var SharedSVGEntry = /*#__PURE__*/ class {
39156
+ var SharedSVGEntry = class {
39083
39157
  constructor(id3, svg, innerHTML, viewBox, count = 0,) {
39084
39158
  this.id = id3;
39085
39159
  this.svg = svg;
@@ -39088,7 +39162,7 @@ var SharedSVGEntry = /*#__PURE__*/ class {
39088
39162
  this.count = count;
39089
39163
  }
39090
39164
  };
39091
- var SharedSVGManager = /*#__PURE__*/ class {
39165
+ var SharedSVGManager = class {
39092
39166
  constructor() {
39093
39167
  __publicField(this, 'entries', /* @__PURE__ */ new Map(),);
39094
39168
  }
@@ -40081,7 +40155,7 @@ function getTabIndexProps(tabIndex,) {
40081
40155
  };
40082
40156
  }
40083
40157
  var keys22 = /* @__PURE__ */ new Map();
40084
- var InternalID = /*#__PURE__*/ class {
40158
+ var InternalID = class {
40085
40159
  constructor(id3,) {
40086
40160
  this.id = id3;
40087
40161
  __publicField(this, '_link', null,);
@@ -40112,7 +40186,7 @@ var InternalID = /*#__PURE__*/ class {
40112
40186
  }
40113
40187
  };
40114
40188
  var PathSegmentOuter = /* @__PURE__ */ (() => {
40115
- const _PathSegment = /*#__PURE__*/ class {
40189
+ const _PathSegment = class {
40116
40190
  constructor(value,) {
40117
40191
  __publicField(this, '__class', 'PathSegment',);
40118
40192
  __publicField(this, 'x', 0,);
@@ -40367,7 +40441,7 @@ function transformString(transform2,) {
40367
40441
  }
40368
40442
  return result;
40369
40443
  }
40370
- var LinearGradientElement = /*#__PURE__*/ class extends Component {
40444
+ var LinearGradientElement = class extends Component {
40371
40445
  render() {
40372
40446
  const {
40373
40447
  id: id3,
@@ -40393,7 +40467,7 @@ var LinearGradientElement = /*#__PURE__*/ class extends Component {
40393
40467
  },);
40394
40468
  }
40395
40469
  };
40396
- var RadialGradientElement = /*#__PURE__*/ class extends Component {
40470
+ var RadialGradientElement = class extends Component {
40397
40471
  render() {
40398
40472
  const {
40399
40473
  centerAnchorX,
@@ -40421,7 +40495,7 @@ var RadialGradientElement = /*#__PURE__*/ class extends Component {
40421
40495
  },);
40422
40496
  }
40423
40497
  };
40424
- var SVGRoot = /*#__PURE__*/ class extends Component {
40498
+ var SVGRoot = class extends Component {
40425
40499
  render() {
40426
40500
  const {
40427
40501
  children,