unframer 2.7.11 → 2.9.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.
Files changed (58) hide show
  1. package/dist/cli.d.ts +10 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +10 -4
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cli.test.js +8 -0
  6. package/dist/cli.test.js.map +1 -1
  7. package/dist/exporter.d.ts +5 -1
  8. package/dist/exporter.d.ts.map +1 -1
  9. package/dist/exporter.js +75 -14
  10. package/dist/exporter.js.map +1 -1
  11. package/dist/framer.d.ts.map +1 -1
  12. package/dist/framer.js +116 -92
  13. package/dist/framer.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/react.d.ts +10 -0
  19. package/dist/react.d.ts.map +1 -1
  20. package/dist/react.js +7 -0
  21. package/dist/react.js.map +1 -1
  22. package/dist/utils.d.ts +1 -0
  23. package/dist/utils.d.ts.map +1 -1
  24. package/dist/utils.js +9 -0
  25. package/dist/utils.js.map +1 -1
  26. package/esm/cli.d.ts +10 -0
  27. package/esm/cli.d.ts.map +1 -1
  28. package/esm/cli.js +11 -5
  29. package/esm/cli.js.map +1 -1
  30. package/esm/cli.test.js +9 -1
  31. package/esm/cli.test.js.map +1 -1
  32. package/esm/exporter.d.ts +5 -1
  33. package/esm/exporter.d.ts.map +1 -1
  34. package/esm/exporter.js +75 -14
  35. package/esm/exporter.js.map +1 -1
  36. package/esm/framer.d.ts.map +1 -1
  37. package/esm/framer.js +113 -92
  38. package/esm/framer.js.map +1 -1
  39. package/esm/index.d.ts +1 -1
  40. package/esm/index.d.ts.map +1 -1
  41. package/esm/index.js +1 -1
  42. package/esm/index.js.map +1 -1
  43. package/esm/react.d.ts +10 -0
  44. package/esm/react.d.ts.map +1 -1
  45. package/esm/react.js +14 -0
  46. package/esm/react.js.map +1 -1
  47. package/esm/utils.d.ts +1 -0
  48. package/esm/utils.d.ts.map +1 -1
  49. package/esm/utils.js +8 -0
  50. package/esm/utils.js.map +1 -1
  51. package/package.json +7 -4
  52. package/src/cli.test.ts +20 -3
  53. package/src/cli.tsx +25 -5
  54. package/src/exporter.ts +94 -18
  55. package/src/framer.js +122 -93
  56. package/src/index.ts +1 -1
  57. package/src/react.tsx +46 -1
  58. package/src/utils.ts +9 -0
package/esm/framer.js CHANGED
@@ -14325,7 +14325,7 @@ function steps(numSteps, direction = 'end') {
14325
14325
  return clamp(0, 1, rounded / numSteps);
14326
14326
  };
14327
14327
  }
14328
- // https :https://app.framerstatic.com/framer.ZONHQAMM.mjs
14328
+ // https :https://app.framerstatic.com/framer.K3G2LCX5.mjs
14329
14329
  init_chunk_QLPHEVXG();
14330
14330
  import React4 from 'react';
14331
14331
  import { startTransition as startTransition2, } from 'react';
@@ -16224,11 +16224,11 @@ function lazy(factory) {
16224
16224
  const LazyComponent = React4.lazy(factory);
16225
16225
  let factoryPromise;
16226
16226
  let LoadedComponent;
16227
- const Component15 = React4.forwardRef(function LazyWithPreload(props, ref) {
16227
+ const Component16 = React4.forwardRef(function LazyWithPreload(props, ref) {
16228
16228
  return React4.createElement(LoadedComponent !== null && LoadedComponent !== void 0 ? LoadedComponent : LazyComponent, ref
16229
16229
  ? Object.assign({ ref }, props) : props);
16230
16230
  });
16231
- Component15.preload = () => {
16231
+ Component16.preload = () => {
16232
16232
  if (!factoryPromise) {
16233
16233
  factoryPromise = factory().then((module) => {
16234
16234
  LoadedComponent = module.default;
@@ -16237,7 +16237,7 @@ function lazy(factory) {
16237
16237
  }
16238
16238
  return factoryPromise;
16239
16239
  };
16240
- return Component15;
16240
+ return Component16;
16241
16241
  }
16242
16242
  function getRouteElementId(route, hash2) {
16243
16243
  if (hash2 && route) {
@@ -16834,8 +16834,7 @@ function pushRouteState(routeId_1, route_1, _j) {
16834
16834
  pathVariables,
16835
16835
  localeId,
16836
16836
  }, newPath, enableAsyncURLUpdate, isNavigationTransition);
16837
- if (!enableAsyncURLUpdate)
16838
- yield urlUpdatePromise;
16837
+ return yield urlUpdatePromise;
16839
16838
  }
16840
16839
  catch (_k) { }
16841
16840
  });
@@ -16957,6 +16956,7 @@ function usePopStateHandler(currentRouteId, setCurrentRouteId) {
16957
16956
  reject,
16958
16957
  };
16959
16958
  });
16959
+ viewTransitionReady.current = void 0;
16960
16960
  });
16961
16961
  },
16962
16962
  scroll: 'after-transition',
@@ -17489,15 +17489,6 @@ function useNavigationTransition(enableAsyncURLUpdates) {
17489
17489
  transitionFn(signal);
17490
17490
  return nextRender;
17491
17491
  }
17492
- transitionFn(signal);
17493
- yield interactionResponse({
17494
- priority: 'user-visible',
17495
- signal,
17496
- }).catch(noop2);
17497
- yield interactionResponse({
17498
- priority: 'user-visible',
17499
- signal,
17500
- }).catch(noop2);
17501
17492
  let resolveNavigationPromise;
17502
17493
  const navigationPromise = new Promise((resolve, reject) => {
17503
17494
  resolveNavigationPromise = resolve;
@@ -17506,13 +17497,18 @@ function useNavigationTransition(enableAsyncURLUpdates) {
17506
17497
  else
17507
17498
  signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', reject);
17508
17499
  });
17500
+ yield interactionResponse({
17501
+ priority: 'user-blocking',
17502
+ signal,
17503
+ }).catch(noop2);
17504
+ transitionFn(signal);
17509
17505
  startNativeSpinner(navigationPromise, updateURL, controller);
17510
17506
  return nextRender.then(() => {
17511
17507
  resolveNavigationPromise();
17512
17508
  });
17513
17509
  }), [enableAsyncURLUpdates, monitorNextPaintAfterRender, startNativeSpinner,]);
17514
17510
  }
17515
- function Router({ defaultPageStyle, disableHistory, initialPathVariables, initialRoute, notFoundPage, collectionUtils, routes, initialLocaleId, locales = EMPTY_ARRAY, preserveQueryParams = false, enableAsyncURLUpdates = false, LayoutTemplate, }) {
17511
+ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initialRoute, notFoundPage, collectionUtils, routes, initialLocaleId, locales = EMPTY_ARRAY, preserveQueryParams = false, enableAsyncURLUpdates = false, LayoutTemplate, editorBar, }) {
17516
17512
  useMarkRouterEffects();
17517
17513
  useReplaceInitialState({
17518
17514
  disabled: disableHistory,
@@ -17648,22 +17644,20 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
17648
17644
  routeId,
17649
17645
  pathVariables,
17650
17646
  })) {
17651
- updateScrollPosition(routeElementId, smoothScroll, false);
17652
17647
  const route = routes[routeId];
17653
- if (((_b = window.history.state) === null || _b === void 0 ? void 0 : _b.hash) === hash2 || disableHistory || !route)
17654
- return;
17655
- const updateURLPromise = pushRouteState(routeId, route, {
17656
- currentRoutePath: route.path,
17657
- currentPathVariables: currentPathVariables2,
17658
- pathVariables,
17659
- hash: hash2,
17660
- localeId: currentRouteLocaleId,
17661
- preserveQueryParams,
17662
- },
17663
- // we want to yield as this is called synchronusly from an user interaction.
17664
- enableAsyncURLUpdates);
17665
- if (!enableAsyncURLUpdates)
17666
- return yield updateURLPromise;
17648
+ if (((_b = window.history.state) === null || _b === void 0 ? void 0 : _b.hash) !== hash2 && !disableHistory && route) {
17649
+ yield pushRouteState(routeId, route, {
17650
+ currentRoutePath: route.path,
17651
+ currentPathVariables: currentPathVariables2,
17652
+ pathVariables,
17653
+ hash: hash2,
17654
+ localeId: currentRouteLocaleId,
17655
+ preserveQueryParams,
17656
+ },
17657
+ // we want to yield as this is called synchronusly from an user interaction.
17658
+ enableAsyncURLUpdates);
17659
+ }
17660
+ updateScrollPosition(routeElementId, smoothScroll, false);
17667
17661
  return;
17668
17662
  }
17669
17663
  if (!newRoute)
@@ -17731,6 +17725,7 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
17731
17725
  }),
17732
17726
  jsx(TurnOnReactEventHandling, {}),
17733
17727
  jsx(MarkSuspenseEffects.End, {}),
17728
+ editorBar,
17734
17729
  ],
17735
17730
  }),
17736
17731
  }),
@@ -18618,7 +18613,7 @@ var SpringCurveValueConverter = {
18618
18613
  };
18619
18614
  const initialGuess = 5 / duration;
18620
18615
  const undampedFrequency = approximateRoot2(envelope, derivative, initialGuess);
18621
- if (!isNaN(undampedFrequency)) {
18616
+ if (!Number.isNaN(undampedFrequency)) {
18622
18617
  result.tension = Math.pow(undampedFrequency, 2) * mass;
18623
18618
  result.friction = dampingRatio * 2 * Math.sqrt(mass * result.tension);
18624
18619
  }
@@ -19044,7 +19039,7 @@ function modulate(value, rangeA, rangeB, limit = false) {
19044
19039
  return result;
19045
19040
  }
19046
19041
  function isNumeric(value) {
19047
- return !isNaN(value) && isFinite(value);
19042
+ return !Number.isNaN(value) && Number.isFinite(value);
19048
19043
  }
19049
19044
  function percentToFraction(val) {
19050
19045
  const digits = numberFromString(val);
@@ -19855,7 +19850,7 @@ function correctAlpha(alphaValue) {
19855
19850
  if (alphaValue < 0) {
19856
19851
  alphaValue = 0;
19857
19852
  }
19858
- if (isNaN(alphaValue) || alphaValue > 1) {
19853
+ if (Number.isNaN(alphaValue) || alphaValue > 1) {
19859
19854
  alphaValue = 1;
19860
19855
  }
19861
19856
  return alphaValue;
@@ -21285,7 +21280,7 @@ function getDeviceStyle({ scaleTo, deviceOptions, overrideTheme, } = {}) {
21285
21280
  };
21286
21281
  }
21287
21282
  function isFiniteNumber(value) {
21288
- return typeof value === 'number' && isFinite(value);
21283
+ return Number.isFinite(value);
21289
21284
  }
21290
21285
  function finiteNumber(value) {
21291
21286
  return isFiniteNumber(value) ? value : void 0;
@@ -21716,10 +21711,10 @@ var Rect = {
21716
21711
  if (point2.y > Rect.maxY(rect)) {
21717
21712
  return false;
21718
21713
  }
21719
- if (isNaN(rect.x)) {
21714
+ if (Number.isNaN(rect.x)) {
21720
21715
  return false;
21721
21716
  }
21722
- if (isNaN(rect.y)) {
21717
+ if (Number.isNaN(rect.y)) {
21723
21718
  return false;
21724
21719
  }
21725
21720
  return true;
@@ -23536,7 +23531,7 @@ function isNullish2(value) {
23536
23531
  return value == null;
23537
23532
  }
23538
23533
  function isValidDate(value) {
23539
- return value instanceof Date && !isNaN(value.getTime());
23534
+ return value instanceof Date && !Number.isNaN(value.getTime());
23540
23535
  }
23541
23536
  function isGenerator2(value) {
23542
23537
  return isObject2(value) && isFunction(value.return);
@@ -25740,7 +25735,7 @@ function useMeasuredSize(ref) {
25740
25735
  return size.current;
25741
25736
  }
25742
25737
  var SIZE_COMPATIBILITY_WRAPPER_ATTRIBUTE = 'data-framer-size-compatibility-wrapper';
25743
- var withMeasuredSize = (Component15) => (props) => {
25738
+ var withMeasuredSize = (Component16) => (props) => {
25744
25739
  var _j, _k, _l, _m;
25745
25740
  const ref = React4.useRef(null);
25746
25741
  const size = useMeasuredSize(ref);
@@ -25754,7 +25749,7 @@ var withMeasuredSize = (Component15) => (props) => {
25754
25749
  width: '100%',
25755
25750
  height: '100%',
25756
25751
  pointerEvents: 'none',
25757
- }, ref }, dataProps), { children: shouldRender && /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { width: (_l = (size == null ? void 0 : size.width)) !== null && _l !== void 0 ? _l : fallbackWidth, height: (_m = (size == null ? void 0 : size.height)) !== null && _m !== void 0 ? _m : fallbackHeight })) }));
25752
+ }, ref }, dataProps), { children: shouldRender && /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { width: (_l = (size == null ? void 0 : size.width)) !== null && _l !== void 0 ? _l : fallbackWidth, height: (_m = (size == null ? void 0 : size.height)) !== null && _m !== void 0 ? _m : fallbackHeight })) }));
25758
25753
  };
25759
25754
  function getMeasurableCodeComponentChildren(element) {
25760
25755
  const childrenCollection = element.firstElementChild && element.firstElementChild.hasAttribute(SIZE_COMPATIBILITY_WRAPPER_ATTRIBUTE)
@@ -27227,7 +27222,7 @@ var clamp2 = (value, a, b) => {
27227
27222
  var DraggingContext = /* @__PURE__ */ React4.createContext({
27228
27223
  dragging: false,
27229
27224
  });
27230
- function WithDragging(Component15) {
27225
+ function WithDragging(Component16) {
27231
27226
  const _WithDraggingHOC = class extends React4.Component {
27232
27227
  constructor(props, defaultProps) {
27233
27228
  super(props, defaultProps);
@@ -27788,7 +27783,7 @@ function WithDragging(Component15) {
27788
27783
  value: {
27789
27784
  dragging: this.state.isDragging,
27790
27785
  },
27791
- children: /* @__PURE__ */ jsx(Component15, Object.assign({}, originalProps)),
27786
+ children: /* @__PURE__ */ jsx(Component16, Object.assign({}, originalProps)),
27792
27787
  });
27793
27788
  }
27794
27789
  };
@@ -27824,9 +27819,9 @@ function WithDragging(Component15) {
27824
27819
  constraints: {},
27825
27820
  mouseWheel: false,
27826
27821
  });
27827
- __publicField(WithDraggingHOC, 'defaultProps', Object.assign({}, Component15.defaultProps, _WithDraggingHOC.draggingDefaultProps));
27822
+ __publicField(WithDraggingHOC, 'defaultProps', Object.assign({}, Component16.defaultProps, _WithDraggingHOC.draggingDefaultProps));
27828
27823
  const withDragging = WithDraggingHOC;
27829
- (0, import_hoist_non_react_statics.default)(withDragging, Component15);
27824
+ (0, import_hoist_non_react_statics.default)(withDragging, Component16);
27830
27825
  return withDragging;
27831
27826
  }
27832
27827
  var hoverProps = {
@@ -28103,7 +28098,7 @@ function hasRadius(props) {
28103
28098
  }
28104
28099
  function getRadiusValue(value) {
28105
28100
  let num = Number(value);
28106
- if (typeof value === 'string' && isNaN(num)) {
28101
+ if (typeof value === 'string' && Number.isNaN(Number(num))) {
28107
28102
  return value;
28108
28103
  }
28109
28104
  else if (isAnimatable2(value)) {
@@ -30413,7 +30408,7 @@ function useInfiniteScroll({ ref: elementRef, loadMore, rootMargin = '0px', thre
30413
30408
  };
30414
30409
  }, [elementRef, callback, rootMargin, threshold, paginationInfo.currentPage,]);
30415
30410
  }
30416
- function withInfiniteScroll(Component15) {
30411
+ function withInfiniteScroll(Component16) {
30417
30412
  return React4.forwardRef((_j, ref) => {
30418
30413
  var { __paginationInfo, __loadMore } = _j, props = __rest(_j, ["__paginationInfo", "__loadMore"]);
30419
30414
  const backupRef = React4.useRef(null);
@@ -30424,7 +30419,7 @@ function withInfiniteScroll(Component15) {
30424
30419
  ref: infiniteScrollRef,
30425
30420
  paginationInfo: __paginationInfo,
30426
30421
  });
30427
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { ref: infiniteScrollRef }));
30422
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { ref: infiniteScrollRef }));
30428
30423
  });
30429
30424
  }
30430
30425
  var import_process2 = __toESM(require_browser(), 1);
@@ -33049,7 +33044,7 @@ var DataObserverContext = /* @__PURE__ */ React4.createContext({
33049
33044
  });
33050
33045
  function useObserveData() {
33051
33046
  const context = React4.useContext(DataObserverContext);
33052
- return !isNaN(context.update);
33047
+ return !Number.isNaN(context.update);
33053
33048
  }
33054
33049
  var DataObserver = class extends Component {
33055
33050
  constructor() {
@@ -33117,16 +33112,16 @@ function convertColorProps(props) {
33117
33112
  }
33118
33113
  return props;
33119
33114
  }
33120
- function WithOverride(Component15, override) {
33115
+ function WithOverride(Component16, override) {
33121
33116
  const useOverride = typeof override === 'function' ? (props) => override(convertColorProps(props)) : () => convertColorProps(override);
33122
33117
  const ComponentWithOverride = function (props) {
33123
33118
  useContext(DataObserverContext);
33124
33119
  const overrideProps = useOverride(props);
33125
33120
  const { style } = props, rest = __rest(props, ["style"]);
33126
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign(Object.assign({}, rest), overrideProps), { _initialStyle: style }));
33121
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign(Object.assign({}, rest), overrideProps), { _initialStyle: style }));
33127
33122
  };
33128
- (0, import_hoist_non_react_statics4.default)(ComponentWithOverride, Component15);
33129
- ComponentWithOverride['displayName'] = `WithOverride(${Component15.displayName || Component15.name})`;
33123
+ (0, import_hoist_non_react_statics4.default)(ComponentWithOverride, Component16);
33124
+ ComponentWithOverride['displayName'] = `WithOverride(${Component16.displayName || Component16.name})`;
33130
33125
  return ComponentWithOverride;
33131
33126
  }
33132
33127
  var prefix = '__framer__';
@@ -33927,15 +33922,15 @@ function addMotionValueStyle(style, values) {
33927
33922
  function isVariantOrVariantList(value) {
33928
33923
  return isString2(value) || Array.isArray(value);
33929
33924
  }
33930
- var withFX = (Component15) => React4.forwardRef((props, forwardedRef) => {
33925
+ var withFX = (Component16) => React4.forwardRef((props, forwardedRef) => {
33931
33926
  var _a;
33932
33927
  if (props.__withFX) {
33933
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { animate: void 0, initial: void 0, exit: void 0, ref: forwardedRef }));
33928
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { animate: void 0, initial: void 0, exit: void 0, ref: forwardedRef }));
33934
33929
  }
33935
33930
  if (RenderTarget.current() === RenderTarget.canvas) {
33936
33931
  const animate4 = isVariantOrVariantList(props.animate) ? props.animate : void 0;
33937
33932
  const initial2 = isVariantOrVariantList(props.initial) ? props.initial : void 0;
33938
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { animate: animate4, initial: initial2, exit: void 0, ref: forwardedRef }));
33933
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { animate: animate4, initial: initial2, exit: void 0, ref: forwardedRef }));
33939
33934
  }
33940
33935
  const { parallax = {}, styleAppear = {}, styleTransform = {}, presence = {}, loop = {}, forwardedProps, } = extractFXOptions(props);
33941
33936
  const { __targetOpacity: targetOpacityValue, __perspectiveFX: withPerspective, __smartComponentFX: inSmartComponent = false, } = props;
@@ -34007,7 +34002,7 @@ var withFX = (Component15) => React4.forwardRef((props, forwardedRef) => {
34007
34002
  exit,
34008
34003
  }
34009
34004
  : {};
34010
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign(Object.assign({}, forwardedProps), motionGestures), { __withFX: true, style: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, props.style), parallaxStyle), scrollStyle), loopStyle), motionValueStyle), values: presenceEffectValues, ref: observerRef }));
34005
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign(Object.assign({}, forwardedProps), motionGestures), { __withFX: true, style: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, props.style), parallaxStyle), scrollStyle), loopStyle), motionValueStyle), values: presenceEffectValues, ref: observerRef }));
34011
34006
  });
34012
34007
  var withParallaxTransform = withFX;
34013
34008
  var withStyleAppearEffect = withFX;
@@ -34129,9 +34124,9 @@ var ComponentViewportProvider = /* @__PURE__ */ React4.forwardRef((_j, ref) => {
34129
34124
  children: cloneWithPropsAndRef(children, rest),
34130
34125
  });
34131
34126
  });
34132
- var withGeneratedLayoutId = (Component15) => React4.forwardRef((props, ref) => {
34127
+ var withGeneratedLayoutId = (Component16) => React4.forwardRef((props, ref) => {
34133
34128
  const layoutId = useLayoutId2(props);
34134
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({ layoutId }, props), { layoutIdKey: void 0, duplicatedFrom: void 0, ref }));
34129
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({ layoutId }, props), { layoutIdKey: void 0, duplicatedFrom: void 0, ref }));
34135
34130
  });
34136
34131
  var ContainerErrorBoundary = class extends Component {
34137
34132
  constructor() {
@@ -34204,7 +34199,7 @@ var componentsWithServerRenderedStyles = /* @__PURE__ */ (() => {
34204
34199
  return new Set(componentsWithSSRStylesAttr.split(' '));
34205
34200
  })();
34206
34201
  var framerCSSMarker = 'data-framer-css-ssr';
34207
- var withCSS = (Component15, escapedCSS, componentSerializationId) => React4.forwardRef((props, ref) => {
34202
+ var withCSS = (Component16, escapedCSS, componentSerializationId) => React4.forwardRef((props, ref) => {
34208
34203
  var _j;
34209
34204
  const { sheet, cache: cache2, } = (_j = React4.useContext(StyleSheetContext)) !== null && _j !== void 0 ? _j : {};
34210
34205
  if (!isBrowser2()) {
@@ -34218,7 +34213,7 @@ var withCSS = (Component15, escapedCSS, componentSerializationId) => React4.forw
34218
34213
  }, { 'data-framer-component': componentSerializationId, dangerouslySetInnerHTML: {
34219
34214
  __html: concatenatedCSS,
34220
34215
  } })),
34221
- /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { ref })),
34216
+ /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { ref })),
34222
34217
  ],
34223
34218
  });
34224
34219
  }
@@ -34232,7 +34227,7 @@ var withCSS = (Component15, escapedCSS, componentSerializationId) => React4.forw
34232
34227
  : escapedCSS.split('\n');
34233
34228
  css2.forEach((rule) => rule && injectCSSRule(rule, sheet, cache2));
34234
34229
  }, []);
34235
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { ref }));
34230
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { ref }));
34236
34231
  });
34237
34232
  var CustomCursorContext = /* @__PURE__ */ createContext({
34238
34233
  onRegisterCursors: () => () => { },
@@ -35198,10 +35193,10 @@ function ChildrenCanSuspend({ children, }) {
35198
35193
  children,
35199
35194
  });
35200
35195
  }
35201
- function withChildrenCanSuspend(Component15) {
35196
+ function withChildrenCanSuspend(Component16) {
35202
35197
  return forwardRef(function withChildrenCanSuspendInner(props, ref) {
35203
35198
  return /* @__PURE__ */ jsx(ChildrenCanSuspend, {
35204
- children: /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { ref })),
35199
+ children: /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { ref })),
35205
35200
  });
35206
35201
  });
35207
35202
  }
@@ -35944,6 +35939,24 @@ function maybeReplaceAnchorWithSpan(component) {
35944
35939
  return motion.span;
35945
35940
  return component;
35946
35941
  }
35942
+ var IgnoreErrors = class extends Component {
35943
+ constructor() {
35944
+ super(...arguments);
35945
+ __publicField(this, 'state', {
35946
+ error: void 0,
35947
+ });
35948
+ }
35949
+ static getDerivedStateFromError(error) {
35950
+ return {
35951
+ error,
35952
+ };
35953
+ }
35954
+ render() {
35955
+ if (this.state.error)
35956
+ return null;
35957
+ return this.props.children;
35958
+ }
35959
+ };
35947
35960
  var salt = 'framer';
35948
35961
  var difficulty = 3;
35949
35962
  var tokenLength = 30;
@@ -36119,18 +36132,18 @@ var FormContainer = /* @__PURE__ */ React4.forwardRef(function FormContainer2(_j
36119
36132
  try {
36120
36133
  (_b = (_a = callbacks.current).onLoading) == null ? void 0 : _b.call(_a);
36121
36134
  yield submitForm(action, data2, projectHash);
36122
- dispatch({
36135
+ startTransition2(() => dispatch({
36123
36136
  type: 'success',
36124
- });
36137
+ }));
36125
36138
  (_d = (_c = callbacks.current).onSuccess) == null ? void 0 : _d.call(_c);
36126
36139
  if (redirectUrl) {
36127
36140
  yield redirectTo(redirectUrl);
36128
36141
  }
36129
36142
  }
36130
36143
  catch (error) {
36131
- dispatch({
36144
+ startTransition2(() => dispatch({
36132
36145
  type: 'error',
36133
- });
36146
+ }));
36134
36147
  (_f = (_e = callbacks.current).onError) == null ? void 0 : _f.call(_e);
36135
36148
  console.error(error);
36136
36149
  }
@@ -36243,7 +36256,7 @@ var loadingFetchResult = {
36243
36256
  data: void 0,
36244
36257
  };
36245
36258
  function isNumberString(value) {
36246
- return isString2(value) && !isNaN(Number(value));
36259
+ return isString2(value) && !Number.isNaN(Number(value));
36247
36260
  }
36248
36261
  function isValidFetchDataValueResult(type, value) {
36249
36262
  switch (type) {
@@ -36717,7 +36730,7 @@ function usePrefetch() {
36717
36730
  }
36718
36731
  return React2.useCallback((request) => fetchClient.prefetch(request), [fetchClient,]);
36719
36732
  }
36720
- function PageRoot({ RootComponent, isWebsite, routeId, framerSiteId, pathVariables, routes, collectionUtils, notFoundPage, isReducedMotion = false, includeDataObserver = false, localeId, locales, preserveQueryParams, }) {
36733
+ function PageRoot({ RootComponent, isWebsite, routeId, framerSiteId, pathVariables, routes, collectionUtils, notFoundPage, isReducedMotion = false, includeDataObserver = false, localeId, locales, preserveQueryParams, EditorBar, }) {
36721
36734
  const { enableAsyncURLUpdates, } = useLibraryFeatures();
36722
36735
  React4.useEffect(() => {
36723
36736
  if (isWebsite)
@@ -36745,6 +36758,13 @@ function PageRoot({ RootComponent, isWebsite, routeId, framerSiteId, pathVariabl
36745
36758
  },
36746
36759
  preserveQueryParams,
36747
36760
  enableAsyncURLUpdates,
36761
+ editorBar: EditorBar && framerSiteId && /* @__PURE__ */ jsx(IgnoreErrors, {
36762
+ children: /* @__PURE__ */ jsx(Suspense2, {
36763
+ children: /* @__PURE__ */ jsx(EditorBar, {
36764
+ framerSiteId,
36765
+ }),
36766
+ }),
36767
+ }),
36748
36768
  }),
36749
36769
  }),
36750
36770
  }),
@@ -41469,7 +41489,7 @@ var AnimationCollector = class {
41469
41489
  };
41470
41490
  _variantHashes = /* @__PURE__ */ new WeakMap();
41471
41491
  var framerAppearEffects = /* @__PURE__ */ new AnimationCollector();
41472
- function withOptimizedAppearEffect(Component15) {
41492
+ function withOptimizedAppearEffect(Component16) {
41473
41493
  return React4.forwardRef((_j, ref) => {
41474
41494
  var { optimized } = _j, props = __rest(_j, ["optimized"]);
41475
41495
  const generatedComponentContext = React4.useContext(GeneratedComponentContext);
@@ -41484,7 +41504,7 @@ function withOptimizedAppearEffect(Component15) {
41484
41504
  // should not be optimized.
41485
41505
  optimized ? props : null, generatedComponentContext);
41486
41506
  }
41487
- return /* @__PURE__ */ jsx(Component15, Object.assign({ ref }, props));
41507
+ return /* @__PURE__ */ jsx(Component16, Object.assign({ ref }, props));
41488
41508
  });
41489
41509
  }
41490
41510
  var optimizeAppear = (prop, id3, animateTargetAndTransition, variantHash) => {
@@ -42044,49 +42064,49 @@ function usePrototypeNavigate({ preload, } = {}) {
42044
42064
  navigation.goBack();
42045
42065
  return false;
42046
42066
  }
42047
- const Component15 = typeof target === 'string'
42067
+ const Component16 = typeof target === 'string'
42048
42068
  ? yield componentForRoute(getRoute == null ? void 0 : getRoute(target)).catch(() => { })
42049
42069
  : React4.isValidElement(target)
42050
42070
  ? target
42051
42071
  : null;
42052
- if (!Component15)
42072
+ if (!Component16)
42053
42073
  return;
42054
42074
  const { appearsFrom, backdropColor, animation, } = options;
42055
42075
  const transitionType = options.transition || 'instant';
42056
42076
  switch (transitionType) {
42057
42077
  case 'instant':
42058
- navigation.instant(Component15);
42078
+ navigation.instant(Component16);
42059
42079
  break;
42060
42080
  case 'fade':
42061
- navigation.fade(Component15, {
42081
+ navigation.fade(Component16, {
42062
42082
  animation,
42063
42083
  });
42064
42084
  break;
42065
42085
  case 'push':
42066
- navigation.push(Component15, {
42086
+ navigation.push(Component16, {
42067
42087
  appearsFrom,
42068
42088
  animation,
42069
42089
  });
42070
42090
  break;
42071
42091
  case 'flip':
42072
- navigation.flip(Component15, {
42092
+ navigation.flip(Component16, {
42073
42093
  appearsFrom,
42074
42094
  animation,
42075
42095
  });
42076
42096
  break;
42077
42097
  case 'magicMotion':
42078
- navigation.magicMotion(Component15, {
42098
+ navigation.magicMotion(Component16, {
42079
42099
  animation,
42080
42100
  });
42081
42101
  break;
42082
42102
  case 'modal':
42083
- navigation.modal(Component15, {
42103
+ navigation.modal(Component16, {
42084
42104
  backdropColor,
42085
42105
  animation,
42086
42106
  });
42087
42107
  break;
42088
42108
  case 'overlay':
42089
- navigation.overlay(Component15, {
42109
+ navigation.overlay(Component16, {
42090
42110
  appearsFrom,
42091
42111
  backdropColor,
42092
42112
  animation,
@@ -42459,7 +42479,7 @@ function extractMappingFromInfo(info) {
42459
42479
  return void 0;
42460
42480
  }
42461
42481
  }
42462
- function withMappedReactProps(Component15, info) {
42482
+ function withMappedReactProps(Component16, info) {
42463
42483
  return (rawProps) => {
42464
42484
  var _j;
42465
42485
  const props = {};
@@ -42467,7 +42487,7 @@ function withMappedReactProps(Component15, info) {
42467
42487
  for (const key7 in rawProps) {
42468
42488
  asRecord(props)[(_j = (mapping == null ? void 0 : mapping[key7])) !== null && _j !== void 0 ? _j : key7] = rawProps[key7];
42469
42489
  }
42470
- return /* @__PURE__ */ jsx(Component15, Object.assign({}, props));
42490
+ return /* @__PURE__ */ jsx(Component16, Object.assign({}, props));
42471
42491
  };
42472
42492
  }
42473
42493
  var keys2 = /* @__PURE__ */ new Set([
@@ -42508,9 +42528,9 @@ function createInputOutputRanges2(transformTargets, threshold, exitTarget) {
42508
42528
  outputRange: [-1, -1, ...outputRange,],
42509
42529
  };
42510
42530
  }
42511
- var withVariantAppearEffect = (Component15) => React4.forwardRef((props, forwardedRef) => {
42531
+ var withVariantAppearEffect = (Component16) => React4.forwardRef((props, forwardedRef) => {
42512
42532
  if (RenderTarget.current() === RenderTarget.canvas) {
42513
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { ref: forwardedRef }));
42533
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { ref: forwardedRef }));
42514
42534
  }
42515
42535
  const { wrapUpdatesInTransitions, } = useLibraryFeatures();
42516
42536
  const [options, rest,] = extractPrefixedProps(props, keys2);
@@ -42593,13 +42613,13 @@ var withVariantAppearEffect = (Component15) => React4.forwardRef((props, forward
42593
42613
  repeat: !animateOnce,
42594
42614
  });
42595
42615
  if (!('variantAppearEffectEnabled' in options) || variantAppearEffectEnabled === true) {
42596
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, rest), { variant: activeVariant !== null && activeVariant !== void 0 ? activeVariant : props.variant, ref: observerRef }));
42616
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, rest), { variant: activeVariant !== null && activeVariant !== void 0 ? activeVariant : props.variant, ref: observerRef }));
42597
42617
  }
42598
42618
  else {
42599
- return /* @__PURE__ */ jsx(Component15, Object.assign({}, rest));
42619
+ return /* @__PURE__ */ jsx(Component16, Object.assign({}, rest));
42600
42620
  }
42601
42621
  });
42602
- var withVariantFX = (Component15) => React4.forwardRef((_j, forwardedRef) => {
42622
+ var withVariantFX = (Component16) => React4.forwardRef((_j, forwardedRef) => {
42603
42623
  var { initial, animate: animate3, exit } = _j, props = __rest(_j, ["initial", "animate", "exit"]);
42604
42624
  const observerRef = useObserverRef(forwardedRef);
42605
42625
  const effect = usePresenceAnimation({
@@ -42607,7 +42627,7 @@ var withVariantFX = (Component15) => React4.forwardRef((_j, forwardedRef) => {
42607
42627
  animate: animate3,
42608
42628
  exit,
42609
42629
  }, observerRef, true);
42610
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, props), { style: Object.assign(Object.assign({}, (props == null ? void 0 : props.style)), effect.values), ref: observerRef }));
42630
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, props), { style: Object.assign(Object.assign({}, (props == null ? void 0 : props.style)), effect.values), ref: observerRef }));
42611
42631
  });
42612
42632
  var WindowContext = /* @__PURE__ */ React4.createContext(void 0);
42613
42633
  var useProvidedWindow = () => React4.useContext(WindowContext);
@@ -45944,10 +45964,10 @@ var RichTextContainer = /* @__PURE__ */ forwardRef((props, ref) => {
45944
45964
  if (layoutId) {
45945
45965
  rest.layout = 'preserve-aspect';
45946
45966
  }
45947
- const Component15 = htmlElementAsMotionComponent(props.as);
45967
+ const Component16 = htmlElementAsMotionComponent(props.as);
45948
45968
  if (isString2(props.viewBox)) {
45949
45969
  if (props.as !== void 0) {
45950
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, rest), { ref: containerRef, style: containerStyle, layoutId, transformTemplate: template, 'data-framer-name': name, 'data-framer-component-type': 'RichTextContainer', children: /* @__PURE__ */ jsx(FitText, {
45970
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, rest), { ref: containerRef, style: containerStyle, layoutId, transformTemplate: template, 'data-framer-name': name, 'data-framer-component-type': 'RichTextContainer', children: /* @__PURE__ */ jsx(FitText, {
45951
45971
  viewBox,
45952
45972
  viewBoxScale,
45953
45973
  style: {
@@ -45963,7 +45983,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef((props, ref) => {
45963
45983
  viewBoxScale, transformTemplate: template, 'data-framer-name': name, 'data-framer-component-type': 'RichTextContainer', children: processedChildren }));
45964
45984
  }
45965
45985
  }
45966
- return /* @__PURE__ */ jsx(Component15, Object.assign(Object.assign({}, rest), { ref: containerRef, style: containerStyle, layoutId, transformTemplate: template, 'data-framer-name': name, 'data-framer-component-type': 'RichTextContainer', children: processedChildren }));
45986
+ return /* @__PURE__ */ jsx(Component16, Object.assign(Object.assign({}, rest), { ref: containerRef, style: containerStyle, layoutId, transformTemplate: template, 'data-framer-name': name, 'data-framer-component-type': 'RichTextContainer', children: processedChildren }));
45967
45987
  });
45968
45988
  function isFragment(element) {
45969
45989
  return element.type === Fragment;
@@ -48242,7 +48262,7 @@ MotionValue.prototype.addChild = function ({ transformer = (v) => v, }) {
48242
48262
  if (false) {
48243
48263
  MainLoop2.start();
48244
48264
  }
48245
- export { _injectRuntime, AcceleratedAnimation, addActionControls, addFonts, addPointerEvent, addPointerInfo, addPropertyControls, addScaleCorrector, AnchorLinkTarget, Animatable, animate2 as animate, animateMini, AnimatePresence, AnimateSharedLayout, animateValue, animateVisualElement, animationControls, animations, annotateTypeOnStringify, anticipate, AnyInterpolation, AutomaticLayoutIds, BackgroundImage, backgroundImageFromProps, backIn, backInOut, backOut, BezierAnimator, BoxShadow, buildTransform, calcLength, calculateRect, callEach, cancelFrame, cancelSync, ChildrenCanSuspend, circIn, circInOut, circOut, clamp, collectVisualStyleFromProps, Color, color, ColorFormat, ColorMixModelType, combinedCSSRulesForPreview, complex, ComponentContainerContext, ComponentPresetsConsumer, ComponentPresetsProvider, ComponentViewportProvider, ConstraintMask, constraintsEnabled, ConstraintValues, Container, ControlType, ConvertColor, convertPresentationTree, convertPropsToDeviceOptions, createBox, createData, createFramerPageLink, createRendererMotionComponent, createScopedAnimate, cssBackgroundSize, cubicBezier, CustomCursorHost, CustomProperties, cx, CycleVariantState, Data, DataContext, DataObserver, DataObserverContext, debounce, defaultDeviceProps, degreesToRadians, delay, DeprecatedComponentContainer, DeprecatedFrameWithEvents, DeprecatedLayoutGroupContext, DeprecatedLayoutGroupContext as LayoutGroupContext, Device, DeviceCodeComponent, devicePresets, DimensionType, disableInstantTransitions, dispatchKeyDownEvent, distance, distance2D, DOM, domAnimation, domMax, domMin, DragControls, Draggable, easeIn, easeInOut, easeOut, EmptyState, environment, ErrorPlaceholder, executeInRenderEnvironment, Fetcher, filterProps, findSpring, finiteNumber, FlatTree, Floating, FontSourceNames, fontStore, forceLayerBackingWithCSSProperties, FormBooleanInput, FormContainer, FormPlainTextInput2 as FormPlainTextInput, FormSelect, fraction, Frame, frame, frameData, frameFromElement, frameFromElements, FramerAnimation, framerAppearAnimationScriptKey, framerAppearEffects, framerAppearIdKey, framerAppearTransformTemplateToken, framerCSSMarker, FramerEvent, FramerEventListener, FramerEventSession, frameSteps, FrameWithMotion, GamepadContext, GeneratedComponentContext, getComponentSize, getDevicePreset, getFonts, getFontsFromComponentPreset, getFontsFromSharedStyle, getLoadingLazyAtYPosition, getMeasurableCodeComponentChildren, getPropertyControls, getWhereExpressionFromPathVariables, gradientForShape, Image2 as Image, imagePatternPropsForFill, imageUrlForAsset, inertia, inferInitialRouteFromPath, injectComponentCSSRules, installFlexboxGapWorkaroundIfNeeded, InternalID, interpolate, invariant, inView, isAnimatable2 as isAnimatable, isBrowser, isDesignDefinition, isDragActive, isEqual, isFiniteNumber, isFractionDimension, isFramerGamepadKeydownData, isFramerPageLink, isGapEnabled, isMotionComponent, isMotionValue2 as isMotionValue, isOfAnnotatedType, isOverride, isReactDefinition, isRelativeNumber, isShallowEqualArray, isStraightCurve, isValidMotionProp, keyframes, Layer, LayoutGroup, LayoutIdContext, lazy, LazyMotion, LazyValue, LibraryFeaturesProvider, Line, LinearGradient, Link, loadFont, loadJSON, localPackageFallbackIdentifier, localShadowFrame, m, MainLoop, makePaddingString, makeUseVisualState, markHydrationStart, memoize2 as memoize, mirrorEasing, mix, modulate, motion, MotionConfig, MotionConfigContext, MotionContext, MotionGlobalConfig, MotionSetup, MotionValue, motionValue, namespace_exports as Reorder, NavigateTo, NavigationCallbackProvider, NavigationConsumer, NavigationTransitionType, NavigationWrapper as Navigation, nestedLinksCollector, NotFoundError, ObservableObject, optimizeAppear, optimizeAppearTransformTemplate, optimizedAppearDataAttribute, paddingFromProps, Page3 as Page, PageEffectsProvider, PageRoot, ParentSizeState, parseFramerPageLink, pathDefaults, PathSegment, PathVariablesContext, pipe, Point, Polygon, preloadImage, PresenceContext, print, progress, PropertyOverrides2 as PropertyOverrides, PropertyStore, propsForLink, pushLoadMoreHistory, px, QueryEngine, RadialGradient, Rect, removeHiddenBreakpointLayers, removeHiddenBreakpointLayersV2, RenderTarget, resolveLink, ResolveLinks, resolveMotionValue, resolvePageScope, reverseEasing, RichText2 as RichText, roundedNumber, roundedNumberString, roundWithOffset, Scroll, scroll, scrollInfo, setGlobalRenderEnvironment, setInitialHydrationState, Shadow, sharedSVGManager, shouldOpenLinkInNewTab, Size, spring, SpringAnimator, SSRVariants, Stack, stagger, startAnimation, startOptimizedAppearAnimation, steps, StyleSheetContext, SVG, SwitchLayoutGroupContext, sync, systemFontFamilyName, Text2 as Text, throttle, toFlexDirection, toJustifyOrAlignment, toSVGPath, transform, transformString2 as transformString, transformTemplate, turnOffReactEventHandling, unwrapMotionComponent, useActiveTargetCallback, useActiveVariantCallback, useAddVariantProps, useAnimate, useAnimatedState, useAnimatedState as useDeprecatedAnimatedState, useAnimateMini, useAnimation, useAnimationControls, useAnimationFrame, useBreakpointVariants, useComponentViewport, useConstant2 as useConstant, useCurrentPathVariables, useCurrentRouteId, useCustomCursors, useCycle, useDataRecord, useDomEvent, useDragControls, useDynamicRefs, useElementScroll, useForceUpdate, useGamepad, useHotkey, useHydratedBreakpointVariants, useInitialRouteComponent, useInstantLayoutTransition, useInstantTransition, useInvertedScale, useInvertedScale as useDeprecatedInvertedScale, useInView, useIsInCurrentNavigationTarget, useIsomorphicLayoutEffect, useIsOnFramerCanvas, useIsPresent, useLoadMorePaginatedQuery, useLocale, useLocaleCode, useLocaleInfo, useLocalizationInfo, useMeasureLayout, useMotionTemplate, useMotionValue, useMotionValueEvent, useNavigate, useNavigation, useObserveData, useOnAppear, useOnCurrentTargetChange, useOnVariantChange, useOverlayState, usePageEffects, usePrefetch, usePreloadQuery, usePresence, usePrototypeNavigate, useProvidedWindow, useQueryData, useReducedMotion, useReducedMotionConfig, useRenderEnvironment, useResetProjection, useRoute, useRouteAnchor, useRouteElementId, useRouteHandler, useRouter, useScroll, useSpring, useTime, useTransform, useUnmountEffect, useVariantState, useVelocity, useViewportScroll, useWillChange, ValueInterpolation, valueToDimensionType, VariantSelector, Vector, VectorGroup, version, VisualElement, visualElementStore, warning, WindowContext, withCSS, withFX, withGeneratedLayoutId, withInfiniteScroll, withMappedReactProps, withMeasuredSize, WithNavigator, withOpacity, withOptimizedAppearEffect, WithOverride, withParallaxTransform, withPath, withPerformanceMarks, withShape, withStyleAppearEffect, withVariantAppearEffect, withVariantFX, wrap, };
48265
+ export { _injectRuntime, AcceleratedAnimation, addActionControls, addFonts, addPointerEvent, addPointerInfo, addPropertyControls, addScaleCorrector, AnchorLinkTarget, Animatable, animate2 as animate, animateMini, AnimatePresence, AnimateSharedLayout, animateValue, animateVisualElement, animationControls, animations, annotateTypeOnStringify, anticipate, AnyInterpolation, AutomaticLayoutIds, BackgroundImage, backgroundImageFromProps, backIn, backInOut, backOut, BezierAnimator, BoxShadow, buildTransform, calcLength, calculateRect, callEach, cancelFrame, cancelSync, ChildrenCanSuspend, circIn, circInOut, circOut, clamp, collectVisualStyleFromProps, Color, color, ColorFormat, ColorMixModelType, combinedCSSRulesForPreview, complex, ComponentContainerContext, ComponentPresetsConsumer, ComponentPresetsProvider, ComponentViewportProvider, ConstraintMask, constraintsEnabled, ConstraintValues, Container, ControlType, ConvertColor, convertPresentationTree, convertPropsToDeviceOptions, createBox, createData, createFramerPageLink, createRendererMotionComponent, createScopedAnimate, cssBackgroundSize, cubicBezier, CustomCursorHost, CustomProperties, cx, CycleVariantState, Data, DataContext, DataObserver, DataObserverContext, debounce, defaultDeviceProps, degreesToRadians, delay, DeprecatedComponentContainer, DeprecatedFrameWithEvents, DeprecatedLayoutGroupContext, DeprecatedLayoutGroupContext as LayoutGroupContext, Device, DeviceCodeComponent, devicePresets, DimensionType, disableInstantTransitions, dispatchKeyDownEvent, distance, distance2D, DOM, domAnimation, domMax, domMin, DragControls, Draggable, easeIn, easeInOut, easeOut, EmptyState, environment, ErrorPlaceholder, executeInRenderEnvironment, Fetcher, filterProps, findSpring, finiteNumber, FlatTree, Floating, FontSourceNames, fontStore, forceLayerBackingWithCSSProperties, FormBooleanInput, FormContainer, FormPlainTextInput2 as FormPlainTextInput, FormSelect, fraction, Frame, frame, frameData, frameFromElement, frameFromElements, FramerAnimation, framerAppearAnimationScriptKey, framerAppearEffects, framerAppearIdKey, framerAppearTransformTemplateToken, framerCSSMarker, FramerEvent, FramerEventListener, FramerEventSession, frameSteps, FrameWithMotion, GamepadContext, GeneratedComponentContext, getComponentSize, getDevicePreset, getFonts, getFontsFromComponentPreset, getFontsFromSharedStyle, getLoadingLazyAtYPosition, getMeasurableCodeComponentChildren, getPropertyControls, getWhereExpressionFromPathVariables, gradientForShape, Image2 as Image, imagePatternPropsForFill, imageUrlForAsset, inertia, inferInitialRouteFromPath, injectComponentCSSRules, installFlexboxGapWorkaroundIfNeeded, InternalID, interpolate, invariant, inView, isAnimatable2 as isAnimatable, isBrowser, isDesignDefinition, isDragActive, isEqual, isFiniteNumber, isFractionDimension, isFramerGamepadKeydownData, isFramerPageLink, isGapEnabled, isMotionComponent, isMotionValue2 as isMotionValue, isOfAnnotatedType, isOverride, isReactDefinition, isRelativeNumber, isShallowEqualArray, isStraightCurve, isValidMotionProp, keyframes, Layer, LayoutGroup, LayoutIdContext, lazy, LazyMotion, LazyValue, LibraryFeaturesProvider, Line, LinearGradient, Link, loadFont, loadJSON, localPackageFallbackIdentifier, localShadowFrame, m, MainLoop, makePaddingString, makeUseVisualState, markHydrationStart, memoize2 as memoize, mirrorEasing, mix, modulate, motion, MotionConfig, MotionConfigContext, MotionContext, MotionGlobalConfig, MotionSetup, MotionValue, motionValue, namespace_exports as Reorder, NavigateTo, NavigationCallbackProvider, NavigationConsumer, NavigationTransitionType, NavigationWrapper as Navigation, nestedLinksCollector, NotFoundError, ObservableObject, optimizeAppear, optimizeAppearTransformTemplate, optimizedAppearDataAttribute, paddingFromProps, Page3 as Page, PageEffectsProvider, PageRoot, ParentSizeState, parseFramerPageLink, pathDefaults, PathSegment, PathVariablesContext, pipe, Point, Polygon, preloadImage, PresenceContext, print, progress, PropertyOverrides2 as PropertyOverrides, PropertyStore, propsForLink, pushLoadMoreHistory, px, QueryEngine, RadialGradient, Rect, removeHiddenBreakpointLayers, removeHiddenBreakpointLayersV2, RenderTarget, resolveLink, ResolveLinks, resolveMotionValue, resolvePageScope, reverseEasing, RichText2 as RichText, roundedNumber, roundedNumberString, roundWithOffset, Scroll, scroll, scrollInfo, setGlobalRenderEnvironment, setInitialHydrationState, Shadow, sharedSVGManager, shouldOpenLinkInNewTab, Size, spring, SpringAnimator, SSRVariants, Stack, stagger, startAnimation, startOptimizedAppearAnimation, steps, StyleSheetContext, SVG, SwitchLayoutGroupContext, sync, systemFontFamilyName, Text2 as Text, throttle, toFlexDirection, toJustifyOrAlignment, toSVGPath, transform, transformString2 as transformString, transformTemplate, turnOffReactEventHandling, unwrapMotionComponent, useActiveTargetCallback, useActiveVariantCallback, useAddVariantProps, useAnimate, useAnimatedState, useAnimatedState as useDeprecatedAnimatedState, useAnimateMini, useAnimation, useAnimationControls, useAnimationFrame, useBreakpointVariants, useComponentViewport, useConstant2 as useConstant, useCurrentPathVariables, useCurrentRoute, useCurrentRouteId, useCustomCursors, useCycle, useDataRecord, useDomEvent, useDragControls, useDynamicRefs, useElementScroll, useForceUpdate, useGamepad, useHotkey, useHydratedBreakpointVariants, useInitialRouteComponent, useInstantLayoutTransition, useInstantTransition, useInvertedScale, useInvertedScale as useDeprecatedInvertedScale, useInView, useIsInCurrentNavigationTarget, useIsomorphicLayoutEffect, useIsOnFramerCanvas, useIsPresent, useLoadMorePaginatedQuery, useLocale, useLocaleCode, useLocaleInfo, useLocalizationInfo, useMeasureLayout, useMotionTemplate, useMotionValue, useMotionValueEvent, useNavigate, useNavigation, useObserveData, useOnAppear, useOnCurrentTargetChange, useOnVariantChange, useOverlayState, usePageEffects, usePrefetch, usePreloadQuery, usePresence, usePrototypeNavigate, useProvidedWindow, useQueryData, useReducedMotion, useReducedMotionConfig, useRenderEnvironment, useResetProjection, useRoute, useRouteAnchor, useRouteElementId, useRouteHandler, useRouter, useScroll, useSpring, useTime, useTransform, useUnmountEffect, useVariantState, useVelocity, useViewportScroll, useWillChange, ValueInterpolation, valueToDimensionType, VariantSelector, Vector, VectorGroup, version, VisualElement, visualElementStore, warning, WindowContext, withCSS, withFX, withGeneratedLayoutId, withInfiniteScroll, withMappedReactProps, withMeasuredSize, WithNavigator, withOpacity, withOptimizedAppearEffect, WithOverride, withParallaxTransform, withPath, withPerformanceMarks, withShape, withStyleAppearEffect, withVariantAppearEffect, withVariantFX, wrap, };
48246
48266
  /**
48247
48267
  * @license Emotion v11.0.0
48248
48268
  * MIT License
@@ -48289,4 +48309,5 @@ if (typeof document !== 'undefined') {
48289
48309
  }
48290
48310
  document.head.appendChild(fragment);
48291
48311
  }
48312
+ export { Router, FetchClientProvider, FormContext };
48292
48313
  //# sourceMappingURL=framer.js.map