unframer 4.1.8 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/README.md +5 -5
  2. package/dist/babel-jsx.d.ts +9 -0
  3. package/dist/babel-jsx.d.ts.map +1 -1
  4. package/dist/babel-jsx.js +72 -0
  5. package/dist/babel-jsx.js.map +1 -1
  6. package/dist/cli.d.ts +2 -2
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +262 -42
  9. package/dist/cli.js.map +1 -1
  10. package/dist/css-core.d.ts +50 -0
  11. package/dist/css-core.d.ts.map +1 -0
  12. package/dist/css-core.js +231 -0
  13. package/dist/css-core.js.map +1 -0
  14. package/dist/css.d.ts +9 -43
  15. package/dist/css.d.ts.map +1 -1
  16. package/dist/css.js +9 -232
  17. package/dist/css.js.map +1 -1
  18. package/dist/exporter.d.ts +1 -1
  19. package/dist/exporter.d.ts.map +1 -1
  20. package/dist/exporter.js +72 -11
  21. package/dist/exporter.js.map +1 -1
  22. package/dist/exporter.test.js +78 -0
  23. package/dist/exporter.test.js.map +1 -1
  24. package/dist/framer-chunks/{SqliteDatabase-VAKIICSG-R7ZS6CHH.js → SqliteDatabase-VAKIICSG-OPV4MG3Y.js} +5 -4
  25. package/dist/framer-chunks/{chunk-2DZGP7C2.js → chunk-7ZLQTYXQ.js} +5 -24
  26. package/dist/framer-chunks/chunk-IKQSD2QC.js +10 -0
  27. package/dist/framer-chunks/default-blog-sqlite-7ZHEY3GT-TVGUYU6H.js +7 -0
  28. package/dist/framer-chunks/fontshare-4THNDPMZ-FLLTWCDO.js +7 -0
  29. package/dist/framer-chunks/fontshare-B2QLD7YB-5V3XZJAH.js +7 -0
  30. package/dist/framer-chunks/fontshare-O22OBJ3D-FIG3CRN3.js +7 -0
  31. package/dist/framer-chunks/framer-font-45AI7UCZ-CKGC4MJC.js +7 -0
  32. package/dist/framer-chunks/google-3FCAKCAC-AM34UPJK.js +7 -0
  33. package/dist/framer-chunks/google-3SZHWBC6-2VTQEQ7J.js +7 -0
  34. package/dist/framer-chunks/google-GXDJLGJB-JNEJGCGD.js +7 -0
  35. package/dist/framer-chunks/sqlite-wasm-FGP37EAY-NO5QVZDI.js +7 -0
  36. package/dist/framer-chunks/sqlite3-SISQ6ENZ-5WRKGWTY.js +7 -0
  37. package/dist/framer.d.ts +128 -0
  38. package/dist/framer.js +820 -428
  39. package/dist/plugin-mcp-dist/lib/framer.d.ts +1 -7
  40. package/dist/plugin-mcp-dist/lib/framer.d.ts.map +1 -1
  41. package/dist/plugin-mcp-dist/lib/framer.js +90 -23
  42. package/dist/plugin-mcp-dist/lib/framer.js.map +1 -1
  43. package/dist/plugin-mcp-dist/lib/framer.test.d.ts +2 -0
  44. package/dist/plugin-mcp-dist/lib/framer.test.d.ts.map +1 -0
  45. package/dist/plugin-mcp-dist/lib/framer.test.js +214 -0
  46. package/dist/plugin-mcp-dist/lib/framer.test.js.map +1 -0
  47. package/dist/plugin-mcp-dist/lib/mcp-handlers.d.ts.map +1 -1
  48. package/dist/plugin-mcp-dist/lib/mcp-handlers.js +69 -11
  49. package/dist/plugin-mcp-dist/lib/mcp-handlers.js.map +1 -1
  50. package/dist/plugin-mcp-dist/lib/mcp.test.js +340 -364
  51. package/dist/plugin-mcp-dist/lib/mcp.test.js.map +1 -1
  52. package/dist/plugin-mcp-dist/lib/plugin-websocket.d.ts.map +1 -1
  53. package/dist/plugin-mcp-dist/lib/plugin-websocket.js +0 -3
  54. package/dist/plugin-mcp-dist/lib/plugin-websocket.js.map +1 -1
  55. package/dist/plugin-mcp-dist/lib/react-export.d.ts.map +1 -1
  56. package/dist/plugin-mcp-dist/lib/react-export.js +79 -61
  57. package/dist/plugin-mcp-dist/lib/react-export.js.map +1 -1
  58. package/dist/plugin-mcp-dist/lib/schema.d.ts +8 -0
  59. package/dist/plugin-mcp-dist/lib/schema.d.ts.map +1 -1
  60. package/dist/plugin-mcp-dist/lib/schema.js +18 -1
  61. package/dist/plugin-mcp-dist/lib/schema.js.map +1 -1
  62. package/dist/plugin-mcp-dist/lib/store.d.ts +1 -1
  63. package/dist/plugin-mcp-dist/lib/store.d.ts.map +1 -1
  64. package/dist/plugin-mcp-dist/lib/tunnel-integration.test.d.ts +2 -0
  65. package/dist/plugin-mcp-dist/lib/tunnel-integration.test.d.ts.map +1 -0
  66. package/dist/plugin-mcp-dist/lib/tunnel-integration.test.js +147 -0
  67. package/dist/plugin-mcp-dist/lib/tunnel-integration.test.js.map +1 -0
  68. package/dist/plugin-mcp-dist/lib/tunnel.d.ts +46 -0
  69. package/dist/plugin-mcp-dist/lib/tunnel.d.ts.map +1 -0
  70. package/dist/plugin-mcp-dist/lib/tunnel.js +117 -0
  71. package/dist/plugin-mcp-dist/lib/tunnel.js.map +1 -0
  72. package/dist/plugin-mcp-dist/lib/upstream-socket.d.ts +13 -0
  73. package/dist/plugin-mcp-dist/lib/upstream-socket.d.ts.map +1 -0
  74. package/dist/plugin-mcp-dist/lib/upstream-socket.js +56 -0
  75. package/dist/plugin-mcp-dist/lib/upstream-socket.js.map +1 -0
  76. package/dist/plugin-mcp-dist/lib/upstream-socket.test.d.ts +2 -0
  77. package/dist/plugin-mcp-dist/lib/upstream-socket.test.d.ts.map +1 -0
  78. package/dist/plugin-mcp-dist/lib/upstream-socket.test.js +212 -0
  79. package/dist/plugin-mcp-dist/lib/upstream-socket.test.js.map +1 -0
  80. package/dist/plugin-mcp-dist/lib/utils.d.ts +1 -9
  81. package/dist/plugin-mcp-dist/lib/utils.d.ts.map +1 -1
  82. package/dist/plugin-mcp-dist/lib/utils.js +13 -9
  83. package/dist/plugin-mcp-dist/lib/utils.js.map +1 -1
  84. package/dist/react.d.ts +1 -1
  85. package/dist/react.d.ts.map +1 -1
  86. package/dist/react.js +7 -13
  87. package/dist/react.js.map +1 -1
  88. package/dist/version.d.ts +1 -1
  89. package/dist/version.js +1 -1
  90. package/package.json +7 -8
  91. package/src/babel-jsx.ts +99 -0
  92. package/src/cli.ts +295 -42
  93. package/src/css-core.ts +277 -0
  94. package/src/css.tsx +10 -276
  95. package/src/exporter.test.ts +82 -0
  96. package/src/exporter.ts +92 -11
  97. package/src/framer.d.ts +128 -0
  98. package/src/framer.js +820 -428
  99. package/src/plugin-mcp-dist/lib/framer.d.ts +2 -5
  100. package/src/plugin-mcp-dist/lib/framer.d.ts.map +1 -1
  101. package/src/plugin-mcp-dist/lib/framer.js +90 -23
  102. package/src/plugin-mcp-dist/lib/framer.js.map +1 -1
  103. package/src/plugin-mcp-dist/lib/framer.test.d.ts +2 -0
  104. package/src/plugin-mcp-dist/lib/framer.test.d.ts.map +1 -0
  105. package/src/plugin-mcp-dist/lib/framer.test.js +213 -0
  106. package/src/plugin-mcp-dist/lib/framer.test.js.map +1 -0
  107. package/src/plugin-mcp-dist/lib/mcp-handlers.d.ts +2 -2
  108. package/src/plugin-mcp-dist/lib/mcp-handlers.d.ts.map +1 -1
  109. package/src/plugin-mcp-dist/lib/mcp-handlers.js +69 -11
  110. package/src/plugin-mcp-dist/lib/mcp-handlers.js.map +1 -1
  111. package/src/plugin-mcp-dist/lib/mcp.test.js +340 -364
  112. package/src/plugin-mcp-dist/lib/mcp.test.js.map +1 -1
  113. package/src/plugin-mcp-dist/lib/plugin-websocket.d.ts.map +1 -1
  114. package/src/plugin-mcp-dist/lib/plugin-websocket.js +0 -3
  115. package/src/plugin-mcp-dist/lib/plugin-websocket.js.map +1 -1
  116. package/src/plugin-mcp-dist/lib/react-export.d.ts +1 -1
  117. package/src/plugin-mcp-dist/lib/react-export.d.ts.map +1 -1
  118. package/src/plugin-mcp-dist/lib/react-export.js +79 -61
  119. package/src/plugin-mcp-dist/lib/react-export.js.map +1 -1
  120. package/src/plugin-mcp-dist/lib/schema.d.ts +11 -3
  121. package/src/plugin-mcp-dist/lib/schema.d.ts.map +1 -1
  122. package/src/plugin-mcp-dist/lib/schema.js +18 -1
  123. package/src/plugin-mcp-dist/lib/schema.js.map +1 -1
  124. package/src/plugin-mcp-dist/lib/tunnel-integration.test.d.ts +2 -0
  125. package/src/plugin-mcp-dist/lib/tunnel-integration.test.d.ts.map +1 -0
  126. package/src/plugin-mcp-dist/lib/tunnel-integration.test.js +146 -0
  127. package/src/plugin-mcp-dist/lib/tunnel-integration.test.js.map +1 -0
  128. package/src/plugin-mcp-dist/lib/tunnel.d.ts +55 -0
  129. package/src/plugin-mcp-dist/lib/tunnel.d.ts.map +1 -0
  130. package/src/plugin-mcp-dist/lib/tunnel.js +116 -0
  131. package/src/plugin-mcp-dist/lib/tunnel.js.map +1 -0
  132. package/src/plugin-mcp-dist/lib/upstream-socket.d.ts +28 -0
  133. package/src/plugin-mcp-dist/lib/upstream-socket.d.ts.map +1 -0
  134. package/src/plugin-mcp-dist/lib/upstream-socket.js +55 -0
  135. package/src/plugin-mcp-dist/lib/upstream-socket.js.map +1 -0
  136. package/src/plugin-mcp-dist/lib/upstream-socket.test.d.ts +5 -0
  137. package/src/plugin-mcp-dist/lib/upstream-socket.test.d.ts.map +1 -0
  138. package/src/plugin-mcp-dist/lib/upstream-socket.test.js +211 -0
  139. package/src/plugin-mcp-dist/lib/upstream-socket.test.js.map +1 -0
  140. package/src/plugin-mcp-dist/lib/utils.d.ts +2 -2
  141. package/src/plugin-mcp-dist/lib/utils.d.ts.map +1 -1
  142. package/src/plugin-mcp-dist/lib/utils.js +13 -9
  143. package/src/plugin-mcp-dist/lib/utils.js.map +1 -1
  144. package/src/react.tsx +7 -19
  145. package/src/styles/framer.css +34 -64
  146. package/src/version.ts +1 -1
  147. package/dist/framer-chunks/default-blog-sqlite-7ZHEY3GT-27R5KAAW.js +0 -9
  148. package/dist/framer-chunks/fontshare-4THNDPMZ-BJQGNHXN.js +0 -27099
  149. package/dist/framer-chunks/fontshare-B2QLD7YB-4BZEAA37.js +0 -119
  150. package/dist/framer-chunks/fontshare-O22OBJ3D-ALBQLFE5.js +0 -825
  151. package/dist/framer-chunks/framer-font-45AI7UCZ-LU7DEIDM.js +0 -7
  152. package/dist/framer-chunks/google-3FCAKCAC-P5EL6KGL.js +0 -623876
  153. package/dist/framer-chunks/google-3SZHWBC6-OBXS3UIH.js +0 -1627
  154. package/dist/framer-chunks/google-GXDJLGJB-HHIXFE4M.js +0 -6885
  155. package/dist/framer-chunks/sqlite-wasm-FGP37EAY-HR6PIAJQ.js +0 -11479
  156. package/dist/framer-chunks/sqlite3-SISQ6ENZ-KMXYXSSV.js +0 -9
  157. package/dist/generated/api-client.d.ts +0 -21
  158. package/dist/generated/api-client.d.ts.map +0 -1
  159. package/dist/generated/api-client.js +0 -27
  160. package/dist/generated/api-client.js.map +0 -1
  161. package/src/generated/api-client.d.ts +0 -1238
  162. package/src/generated/api-client.js +0 -26
package/src/framer.js CHANGED
@@ -12,7 +12,8 @@ import {
12
12
  __require,
13
13
  __runInitializers,
14
14
  __toESM,
15
- } from './framer-chunks/chunk-2DZGP7C2.js';
15
+ } from './framer-chunks/chunk-7ZLQTYXQ.js';
16
+ import './framer-chunks/chunk-IKQSD2QC.js';
16
17
 
17
18
  // /:https://app.framerstatic.com/chunk-7KEO2DXG.mjs
18
19
  import { createContext, } from 'react';
@@ -8115,6 +8116,7 @@ function PopChild({
8115
8116
  };
8116
8117
  }, [isPresent2,],);
8117
8118
  return jsx(PopChildMeasure, {
8119
+ suppressHydrationWarning: true,
8118
8120
  isPresent: isPresent2,
8119
8121
  childRef: ref,
8120
8122
  sizeRef: size,
@@ -8178,6 +8180,7 @@ var PresenceChild = ({
8178
8180
  !isPresent2 && !presenceChildren.size && onExitComplete && onExitComplete();
8179
8181
  }, [isPresent2,],);
8180
8182
  children = jsx(PopChild, {
8183
+ suppressHydrationWarning: true,
8181
8184
  pop: mode === 'popLayout',
8182
8185
  isPresent: isPresent2,
8183
8186
  anchorX,
@@ -8186,6 +8189,7 @@ var PresenceChild = ({
8186
8189
  children,
8187
8190
  },);
8188
8191
  return jsx(PresenceContext.Provider, {
8192
+ suppressHydrationWarning: true,
8189
8193
  value: context,
8190
8194
  children,
8191
8195
  },);
@@ -8312,6 +8316,7 @@ var AnimatePresence = ({
8312
8316
  }
8313
8317
  };
8314
8318
  return jsx(PresenceChild, {
8319
+ suppressHydrationWarning: true,
8315
8320
  isPresent: isPresent2,
8316
8321
  initial: !isInitialRender.current || initial ? void 0 : false,
8317
8322
  custom,
@@ -8372,6 +8377,7 @@ var LayoutGroup = ({
8372
8377
  forceRender,
8373
8378
  }), [key7,],);
8374
8379
  return jsx(LayoutGroupContext.Provider, {
8380
+ suppressHydrationWarning: true,
8375
8381
  value: memoizedContext,
8376
8382
  children,
8377
8383
  },);
@@ -8444,6 +8450,7 @@ function LazyMotion({
8444
8450
  }
8445
8451
  }, [],);
8446
8452
  return jsx(LazyContext.Provider, {
8453
+ suppressHydrationWarning: true,
8447
8454
  value: {
8448
8455
  renderer: loadedRenderer.current,
8449
8456
  strict,
@@ -8535,6 +8542,7 @@ function MotionConfig({
8535
8542
  config.skipAnimations,
8536
8543
  ],);
8537
8544
  return jsx(MotionConfigContext.Provider, {
8545
+ suppressHydrationWarning: true,
8538
8546
  value: context,
8539
8547
  children,
8540
8548
  },);
@@ -8795,7 +8803,7 @@ var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
8795
8803
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
8796
8804
  createRenderState: createSvgRenderState,
8797
8805
  },);
8798
- var motionComponentSymbol = Symbol.for('motionComponentSymbol',);
8806
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for('motionComponentSymbol',);
8799
8807
  function useMotionRef(visualState, visualElement, externalRef,) {
8800
8808
  const externalRefContainer = useRef(externalRef,);
8801
8809
  useInsertionEffect(() => {
@@ -8978,10 +8986,12 @@ function createMotionComponent(
8978
8986
  );
8979
8987
  }
8980
8988
  return jsxs(MotionContext.Provider, {
8989
+ suppressHydrationWarning: true,
8981
8990
  value: context,
8982
8991
  children: [
8983
8992
  MeasureLayout2 && context.visualElement
8984
8993
  ? jsx(MeasureLayout2, {
8994
+ suppressHydrationWarning: true,
8985
8995
  visualElement: context.visualElement,
8986
8996
  ...configAndProps,
8987
8997
  },)
@@ -10271,6 +10281,7 @@ function MeasureLayout(props,) {
10271
10281
  const [isPresent2, safeToRemove,] = usePresence();
10272
10282
  const layoutGroup = useContext(LayoutGroupContext,);
10273
10283
  return jsx(MeasureLayoutWithContext, {
10284
+ suppressHydrationWarning: true,
10274
10285
  ...props,
10275
10286
  layoutGroup,
10276
10287
  switchLayoutGroup: useContext(SwitchLayoutGroupContext,),
@@ -12549,11 +12560,13 @@ function ReorderGroupComponent({
12549
12560
  ...props.style,
12550
12561
  };
12551
12562
  return jsx(Component33, {
12563
+ suppressHydrationWarning: true,
12552
12564
  ...props,
12553
12565
  style: groupStyle,
12554
12566
  ref: setRef22,
12555
12567
  ignoreStrict: true,
12556
12568
  children: jsx(ReorderContext.Provider, {
12569
+ suppressHydrationWarning: true,
12557
12570
  value: context,
12558
12571
  children,
12559
12572
  },),
@@ -12705,6 +12718,7 @@ function ReorderItemComponent({
12705
12718
  groupRef,
12706
12719
  } = context;
12707
12720
  return jsx(Component33, {
12721
+ suppressHydrationWarning: true,
12708
12722
  drag: axis,
12709
12723
  ...props,
12710
12724
  dragSnapToOrigin: true,
@@ -12739,7 +12753,7 @@ function ReorderItemComponent({
12739
12753
  }
12740
12754
  var ReorderItem = /* @__PURE__ */ forwardRef(ReorderItemComponent,);
12741
12755
 
12742
- // /:https://app.framerstatic.com/framer.BVYWINPW.mjs
12756
+ // /:https://app.framerstatic.com/framer.SZORHXMV.mjs
12743
12757
 
12744
12758
  import React42 from 'react';
12745
12759
  import { startTransition as startTransition2, useDeferredValue, useSyncExternalStore, } from 'react';
@@ -13266,24 +13280,24 @@ var require_react_is_production_min = __commonJS({
13266
13280
  'use strict';
13267
13281
 
13268
13282
  var b = 'function' === typeof Symbol && Symbol.for;
13269
- var c = b ? Symbol.for('react.element',) : 60103;
13270
- var d = b ? Symbol.for('react.portal',) : 60106;
13271
- var e = b ? Symbol.for('react.fragment',) : 60107;
13272
- var f2 = b ? Symbol.for('react.strict_mode',) : 60108;
13273
- var g = b ? Symbol.for('react.profiler',) : 60114;
13274
- var h = b ? Symbol.for('react.provider',) : 60109;
13275
- var k = b ? Symbol.for('react.context',) : 60110;
13276
- var l2 = b ? Symbol.for('react.async_mode',) : 60111;
13277
- var m2 = b ? Symbol.for('react.concurrent_mode',) : 60111;
13278
- var n = b ? Symbol.for('react.forward_ref',) : 60112;
13279
- var p = b ? Symbol.for('react.suspense',) : 60113;
13280
- var q = b ? Symbol.for('react.suspense_list',) : 60120;
13281
- var r = b ? Symbol.for('react.memo',) : 60115;
13282
- var t = b ? Symbol.for('react.lazy',) : 60116;
13283
- var v = b ? Symbol.for('react.block',) : 60121;
13284
- var w = b ? Symbol.for('react.fundamental',) : 60117;
13285
- var x2 = b ? Symbol.for('react.responder',) : 60118;
13286
- var y2 = b ? Symbol.for('react.scope',) : 60119;
13283
+ var c = b ? /* @__PURE__ */ Symbol.for('react.element',) : 60103;
13284
+ var d = b ? /* @__PURE__ */ Symbol.for('react.portal',) : 60106;
13285
+ var e = b ? /* @__PURE__ */ Symbol.for('react.fragment',) : 60107;
13286
+ var f2 = b ? /* @__PURE__ */ Symbol.for('react.strict_mode',) : 60108;
13287
+ var g = b ? /* @__PURE__ */ Symbol.for('react.profiler',) : 60114;
13288
+ var h = b ? /* @__PURE__ */ Symbol.for('react.provider',) : 60109;
13289
+ var k = b ? /* @__PURE__ */ Symbol.for('react.context',) : 60110;
13290
+ var l2 = b ? /* @__PURE__ */ Symbol.for('react.async_mode',) : 60111;
13291
+ var m2 = b ? /* @__PURE__ */ Symbol.for('react.concurrent_mode',) : 60111;
13292
+ var n = b ? /* @__PURE__ */ Symbol.for('react.forward_ref',) : 60112;
13293
+ var p = b ? /* @__PURE__ */ Symbol.for('react.suspense',) : 60113;
13294
+ var q = b ? /* @__PURE__ */ Symbol.for('react.suspense_list',) : 60120;
13295
+ var r = b ? /* @__PURE__ */ Symbol.for('react.memo',) : 60115;
13296
+ var t = b ? /* @__PURE__ */ Symbol.for('react.lazy',) : 60116;
13297
+ var v = b ? /* @__PURE__ */ Symbol.for('react.block',) : 60121;
13298
+ var w = b ? /* @__PURE__ */ Symbol.for('react.fundamental',) : 60117;
13299
+ var x2 = b ? /* @__PURE__ */ Symbol.for('react.responder',) : 60118;
13300
+ var y2 = b ? /* @__PURE__ */ Symbol.for('react.scope',) : 60119;
13287
13301
  function z(a,) {
13288
13302
  if ('object' === typeof a && null !== a) {
13289
13303
  var u = a.$$typeof;
@@ -13822,6 +13836,7 @@ function lazy(factory, moduleName = 'default', cacheHash,) {
13822
13836
  throw load(factory,);
13823
13837
  }
13824
13838
  return /* @__PURE__ */ jsx(LoadedComponent, {
13839
+ suppressHydrationWarning: true,
13825
13840
  ref,
13826
13841
  ...props,
13827
13842
  },);
@@ -13992,6 +14007,7 @@ function RouterAPIProvider({
13992
14007
  children,
13993
14008
  },) {
13994
14009
  return /* @__PURE__ */ jsx(RouterContext.Provider, {
14010
+ suppressHydrationWarning: true,
13995
14011
  value: api,
13996
14012
  children,
13997
14013
  },);
@@ -14008,6 +14024,7 @@ function RoutesProvider({
14008
14024
  getRoute,
14009
14025
  }), [getRoute,],);
14010
14026
  return /* @__PURE__ */ jsx(RouterContext.Provider, {
14027
+ suppressHydrationWarning: true,
14011
14028
  value: api,
14012
14029
  children,
14013
14030
  },);
@@ -14236,6 +14253,15 @@ var LazyValue = class _LazyValue {
14236
14253
  return this.read();
14237
14254
  }
14238
14255
  };
14256
+ var UNDEFINED = -1;
14257
+ var HOLE = -2;
14258
+ var NAN = -3;
14259
+ var POSITIVE_INFINITY = -4;
14260
+ var NEGATIVE_INFINITY = -5;
14261
+ var NEGATIVE_ZERO = -6;
14262
+ var SPARSE = -7;
14263
+ var MAX_ARRAY_LEN = 2 ** 32 - 1;
14264
+ var MAX_ARRAY_INDEX = MAX_ARRAY_LEN - 1;
14239
14265
  var DevalueError = class extends Error {
14240
14266
  /**
14241
14267
  * @param {string} message
@@ -14252,7 +14278,7 @@ var DevalueError = class extends Error {
14252
14278
  }
14253
14279
  };
14254
14280
  function is_primitive(thing,) {
14255
- return Object(thing,) !== thing;
14281
+ return thing === null || typeof thing !== 'object' && typeof thing !== 'function';
14256
14282
  }
14257
14283
  var object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(Object.prototype,).sort().join('\0',);
14258
14284
  function is_plain_object(thing,) {
@@ -14310,105 +14336,72 @@ var is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;
14310
14336
  function stringify_key(key7,) {
14311
14337
  return is_identifier.test(key7,) ? '.' + key7 : '[' + JSON.stringify(key7,) + ']';
14312
14338
  }
14313
- function is_valid_array_index(s,) {
14339
+ function is_valid_array_index(n,) {
14340
+ if (!Number.isInteger(n,)) return false;
14341
+ if (n < 0) return false;
14342
+ if (n > MAX_ARRAY_INDEX) return false;
14343
+ return true;
14344
+ }
14345
+ function is_valid_array_len(n,) {
14346
+ if (!Number.isInteger(n,)) return false;
14347
+ if (n < 0) return false;
14348
+ if (n > MAX_ARRAY_LEN) return false;
14349
+ return true;
14350
+ }
14351
+ function is_valid_array_index_string(s,) {
14314
14352
  if (s.length === 0) return false;
14315
14353
  if (s.length > 1 && s.charCodeAt(0,) === 48) return false;
14316
14354
  for (let i = 0; i < s.length; i++) {
14317
14355
  const c = s.charCodeAt(i,);
14318
14356
  if (c < 48 || c > 57) return false;
14319
14357
  }
14320
- const n = +s;
14321
- if (n >= 2 ** 32 - 1) return false;
14322
- if (n < 0) return false;
14323
- return true;
14358
+ return is_valid_array_index(+s,);
14324
14359
  }
14325
14360
  function valid_array_indices(array,) {
14326
14361
  const keys3 = Object.keys(array,);
14327
14362
  for (var i = keys3.length - 1; i >= 0; i--) {
14328
- if (is_valid_array_index(keys3[i],)) {
14363
+ if (is_valid_array_index_string(keys3[i],)) {
14329
14364
  break;
14330
14365
  }
14331
14366
  }
14332
14367
  keys3.length = i + 1;
14333
14368
  return keys3;
14334
14369
  }
14335
- function encode64(arraybuffer,) {
14336
- const dv = new DataView(arraybuffer,);
14337
- let binaryString = '';
14338
- for (let i = 0; i < arraybuffer.byteLength; i++) {
14339
- binaryString += String.fromCharCode(dv.getUint8(i,),);
14340
- }
14341
- return binaryToAscii(binaryString,);
14342
- }
14343
- function decode64(string,) {
14344
- const binaryString = asciiToBinary(string,);
14345
- const arraybuffer = new ArrayBuffer(binaryString.length,);
14346
- const dv = new DataView(arraybuffer,);
14347
- for (let i = 0; i < arraybuffer.byteLength; i++) {
14348
- dv.setUint8(i, binaryString.charCodeAt(i,),);
14349
- }
14350
- return arraybuffer;
14351
- }
14352
- var KEY_STRING = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
14353
- function asciiToBinary(data2,) {
14354
- if (data2.length % 4 === 0) {
14355
- data2 = data2.replace(/==?$/, '',);
14356
- }
14357
- let output = '';
14358
- let buffer = 0;
14359
- let accumulatedBits = 0;
14360
- for (let i = 0; i < data2.length; i++) {
14361
- buffer <<= 6;
14362
- buffer |= KEY_STRING.indexOf(data2[i],);
14363
- accumulatedBits += 6;
14364
- if (accumulatedBits === 24) {
14365
- output += String.fromCharCode((buffer & 16711680) >> 16,);
14366
- output += String.fromCharCode((buffer & 65280) >> 8,);
14367
- output += String.fromCharCode(buffer & 255,);
14368
- buffer = accumulatedBits = 0;
14369
- }
14370
- }
14371
- if (accumulatedBits === 12) {
14372
- buffer >>= 4;
14373
- output += String.fromCharCode(buffer,);
14374
- } else if (accumulatedBits === 18) {
14375
- buffer >>= 2;
14376
- output += String.fromCharCode((buffer & 65280) >> 8,);
14377
- output += String.fromCharCode(buffer & 255,);
14370
+ function encode_native(array_buffer,) {
14371
+ return new Uint8Array(array_buffer,).toBase64();
14372
+ }
14373
+ function decode_native(base64,) {
14374
+ return Uint8Array.fromBase64(base64,).buffer;
14375
+ }
14376
+ function encode_buffer(array_buffer,) {
14377
+ return Buffer.from(array_buffer,).toString('base64',);
14378
+ }
14379
+ function decode_buffer(base64,) {
14380
+ return Uint8Array.from(Buffer.from(base64, 'base64',),).buffer;
14381
+ }
14382
+ function encode_legacy(array_buffer,) {
14383
+ const array = new Uint8Array(array_buffer,);
14384
+ let binary = '';
14385
+ const chunk_size = 32768;
14386
+ for (let i = 0; i < array.length; i += chunk_size) {
14387
+ const chunk = array.subarray(i, i + chunk_size,);
14388
+ binary += String.fromCharCode.apply(null, chunk,);
14378
14389
  }
14379
- return output;
14390
+ return btoa(binary,);
14380
14391
  }
14381
- function binaryToAscii(str,) {
14382
- let out = '';
14383
- for (let i = 0; i < str.length; i += 3) {
14384
- const groupsOfSix = [void 0, void 0, void 0, void 0,];
14385
- groupsOfSix[0] = str.charCodeAt(i,) >> 2;
14386
- groupsOfSix[1] = (str.charCodeAt(i,) & 3) << 4;
14387
- if (str.length > i + 1) {
14388
- groupsOfSix[1] |= str.charCodeAt(i + 1,) >> 4;
14389
- groupsOfSix[2] = (str.charCodeAt(i + 1,) & 15) << 2;
14390
- }
14391
- if (str.length > i + 2) {
14392
- groupsOfSix[2] |= str.charCodeAt(i + 2,) >> 6;
14393
- groupsOfSix[3] = str.charCodeAt(i + 2,) & 63;
14394
- }
14395
- for (let j = 0; j < groupsOfSix.length; j++) {
14396
- if (typeof groupsOfSix[j] === 'undefined') {
14397
- out += '=';
14398
- } else {
14399
- out += KEY_STRING[groupsOfSix[j]];
14400
- }
14401
- }
14392
+ function decode_legacy(base64,) {
14393
+ const binary_string = atob(base64,);
14394
+ const len = binary_string.length;
14395
+ const array = new Uint8Array(len,);
14396
+ for (let i = 0; i < len; i++) {
14397
+ array[i] = binary_string.charCodeAt(i,);
14402
14398
  }
14403
- return out;
14399
+ return array.buffer;
14404
14400
  }
14405
- var UNDEFINED = -1;
14406
- var HOLE = -2;
14407
- var NAN = -3;
14408
- var POSITIVE_INFINITY = -4;
14409
- var NEGATIVE_INFINITY = -5;
14410
- var NEGATIVE_ZERO = -6;
14411
- var SPARSE = -7;
14401
+ var native = typeof Uint8Array.fromBase64 === 'function';
14402
+ var buffer = typeof process === 'object' && process.versions?.node !== void 0;
14403
+ var encode64 = native ? encode_native : buffer ? encode_buffer : encode_legacy;
14404
+ var decode64 = native ? decode_native : buffer ? decode_buffer : decode_legacy;
14412
14405
  function parse(serialized, revivers,) {
14413
14406
  return unflatten(JSON.parse(serialized,), revivers,);
14414
14407
  }
@@ -14473,13 +14466,14 @@ function unflatten(parsed, revivers,) {
14473
14466
  case 'RegExp':
14474
14467
  hydrated[index] = new RegExp(value[1], value[2],);
14475
14468
  break;
14476
- case 'Object':
14477
- const object = Object(value[1],);
14478
- if (Object.hasOwn(object, '__proto__',)) {
14479
- throw new Error('Cannot parse an object with a `__proto__` property',);
14469
+ case 'Object': {
14470
+ const wrapped_index = value[1];
14471
+ if (typeof values[wrapped_index] === 'object' && values[wrapped_index][0] !== 'BigInt') {
14472
+ throw new Error('Invalid input',);
14480
14473
  }
14481
- hydrated[index] = object;
14474
+ hydrated[index] = Object(hydrate(wrapped_index,),);
14482
14475
  break;
14476
+ }
14483
14477
  case 'BigInt':
14484
14478
  hydrated[index] = BigInt(value[1],);
14485
14479
  break;
@@ -14498,19 +14492,22 @@ function unflatten(parsed, revivers,) {
14498
14492
  case 'Uint8ClampedArray':
14499
14493
  case 'Int16Array':
14500
14494
  case 'Uint16Array':
14495
+ case 'Float16Array':
14501
14496
  case 'Int32Array':
14502
14497
  case 'Uint32Array':
14503
14498
  case 'Float32Array':
14504
14499
  case 'Float64Array':
14505
14500
  case 'BigInt64Array':
14506
- case 'BigUint64Array': {
14501
+ case 'BigUint64Array':
14502
+ case 'DataView': {
14507
14503
  if (values[value[1]][0] !== 'ArrayBuffer') {
14508
14504
  throw new Error('Invalid data',);
14509
14505
  }
14510
14506
  const TypedArrayConstructor = globalThis[type];
14511
- const buffer = hydrate(value[1],);
14512
- const typedArray = new TypedArrayConstructor(buffer,);
14513
- hydrated[index] = value[2] !== void 0 ? typedArray.subarray(value[2], value[3],) : typedArray;
14507
+ const buffer2 = hydrate(value[1],);
14508
+ hydrated[index] = value[2] !== void 0
14509
+ ? new TypedArrayConstructor(buffer2, value[2], value[3],)
14510
+ : new TypedArrayConstructor(buffer2,);
14514
14511
  break;
14515
14512
  }
14516
14513
  case 'ArrayBuffer': {
@@ -14549,18 +14546,21 @@ function unflatten(parsed, revivers,) {
14549
14546
  }
14550
14547
  } else if (value[0] === SPARSE) {
14551
14548
  const len = value[1];
14552
- if (!Number.isInteger(len,) || len < 0) {
14549
+ if (!is_valid_array_len(len,)) {
14553
14550
  throw new Error('Invalid input',);
14554
14551
  }
14555
- const array = new Array(len,);
14552
+ const array = [];
14556
14553
  hydrated[index] = array;
14554
+ array[MAX_ARRAY_INDEX] = void 0;
14555
+ delete array[MAX_ARRAY_INDEX];
14557
14556
  for (let i = 2; i < value.length; i += 2) {
14558
14557
  const idx = value[i];
14559
- if (!Number.isInteger(idx,) || idx < 0 || idx >= len) {
14558
+ if (!is_valid_array_index(idx,) || idx >= len) {
14560
14559
  throw new Error('Invalid input',);
14561
14560
  }
14562
14561
  array[idx] = hydrate(value[i + 1],);
14563
14562
  }
14563
+ array.length = len;
14564
14564
  } else {
14565
14565
  const array = new Array(value.length,);
14566
14566
  hydrated[index] = array;
@@ -14586,6 +14586,10 @@ function unflatten(parsed, revivers,) {
14586
14586
  return hydrate(0,);
14587
14587
  }
14588
14588
  function stringify(value, reducers,) {
14589
+ const stringified = run(false, value, reducers,);
14590
+ return typeof stringified === 'string' ? stringified : `[${stringified.join(',',)}]`;
14591
+ }
14592
+ function run(async, value, reducers,) {
14589
14593
  const stringified = [];
14590
14594
  const indexes = /* @__PURE__ */ new Map();
14591
14595
  const custom = [];
@@ -14599,14 +14603,14 @@ function stringify(value, reducers,) {
14599
14603
  }
14600
14604
  const keys3 = [];
14601
14605
  let p = 0;
14602
- function flatten(thing,) {
14606
+ function flatten(thing, index2,) {
14603
14607
  if (thing === void 0) return UNDEFINED;
14604
14608
  if (Number.isNaN(thing,)) return NAN;
14605
14609
  if (thing === Infinity) return POSITIVE_INFINITY;
14606
14610
  if (thing === -Infinity) return NEGATIVE_INFINITY;
14607
14611
  if (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO;
14608
- if (indexes.has(thing,)) return indexes.get(thing,);
14609
- const index2 = p++;
14612
+ if (indexes.has(thing,)) return /** @type {number} */ indexes.get(thing,);
14613
+ index2 ??= p++;
14610
14614
  indexes.set(thing, index2,);
14611
14615
  for (
14612
14616
  const {
@@ -14622,20 +14626,28 @@ function stringify(value, reducers,) {
14622
14626
  }
14623
14627
  if (typeof thing === 'function') {
14624
14628
  throw new DevalueError(`Cannot stringify a function`, keys3, thing, value,);
14629
+ } else if (typeof thing === 'symbol') {
14630
+ throw new DevalueError(`Cannot stringify a Symbol primitive`, keys3, thing, value,);
14625
14631
  }
14626
14632
  let str = '';
14627
14633
  if (is_primitive(thing,)) {
14628
14634
  str = stringify_primitive(thing,);
14635
+ } else if (typeof thing.then === 'function') {
14636
+ if (!async) {
14637
+ throw new DevalueError(`Cannot stringify a Promise or thenable \u2014 use stringifyAsync instead`, keys3, thing, value,);
14638
+ }
14639
+ str = Promise.resolve(thing,).then((value2) => {
14640
+ const i = flatten(value2, index2,);
14641
+ if (i < 0) stringified[index2] = i;
14642
+ },);
14629
14643
  } else {
14630
14644
  const type = get_type(thing,);
14631
14645
  switch (type) {
14632
14646
  case 'Number':
14633
14647
  case 'String':
14634
14648
  case 'Boolean':
14635
- str = `["Object",${stringify_primitive(thing,)}]`;
14636
- break;
14637
14649
  case 'BigInt':
14638
- str = `["BigInt",${thing}]`;
14650
+ str = `["Object",${flatten(thing.valueOf(),)}]`;
14639
14651
  break;
14640
14652
  case 'Date':
14641
14653
  const valid = !isNaN(thing.getDate(),);
@@ -14713,19 +14725,18 @@ function stringify(value, reducers,) {
14713
14725
  case 'Uint8ClampedArray':
14714
14726
  case 'Int16Array':
14715
14727
  case 'Uint16Array':
14728
+ case 'Float16Array':
14716
14729
  case 'Int32Array':
14717
14730
  case 'Uint32Array':
14718
14731
  case 'Float32Array':
14719
14732
  case 'Float64Array':
14720
14733
  case 'BigInt64Array':
14721
- case 'BigUint64Array': {
14734
+ case 'BigUint64Array':
14735
+ case 'DataView': {
14722
14736
  const typedArray = thing;
14723
14737
  str = '["' + type + '",' + flatten(typedArray.buffer,);
14724
- const a = thing.byteOffset;
14725
- const b = a + thing.byteLength;
14726
- if (a > 0 || b !== typedArray.buffer.byteLength) {
14727
- const m2 = +/(\d+)/.exec(type,)[1] / 8;
14728
- str += `,${a / m2},${b / m2}`;
14738
+ if (typedArray.byteLength !== typedArray.buffer.byteLength) {
14739
+ str += `,${typedArray.byteOffset},${typedArray.length}`;
14729
14740
  }
14730
14741
  str += ']';
14731
14742
  break;
@@ -14786,12 +14797,11 @@ function stringify(value, reducers,) {
14786
14797
  }
14787
14798
  const index = flatten(value,);
14788
14799
  if (index < 0) return `${index}`;
14789
- return `[${stringified.join(',',)}]`;
14800
+ return stringified;
14790
14801
  }
14791
14802
  function stringify_primitive(thing,) {
14792
14803
  const type = typeof thing;
14793
14804
  if (type === 'string') return stringify_string(thing,);
14794
- if (thing instanceof String) return stringify_string(thing.toString(),);
14795
14805
  if (thing === void 0) return UNDEFINED.toString();
14796
14806
  if (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO.toString();
14797
14807
  if (type === 'bigint') return `["BigInt","${thing}"]`;
@@ -14850,7 +14860,6 @@ var mockWindow = {
14850
14860
  innerHeight: 0,
14851
14861
  innerWidth: 0,
14852
14862
  SVGSVGElement: {},
14853
- scheduler: void 0,
14854
14863
  open: function (_url, _target, _features,) {},
14855
14864
  __framer_events: [],
14856
14865
  };
@@ -15054,6 +15063,7 @@ function CollectionUtilsCacheProvider({
15054
15063
  };
15055
15064
  }, [collectionUtils,],);
15056
15065
  return /* @__PURE__ */ jsx(CollectionUtilsCacheContext.Provider, {
15066
+ suppressHydrationWarning: true,
15057
15067
  value: getCollectionUtilsCacheMemoized,
15058
15068
  children,
15059
15069
  },);
@@ -15136,8 +15146,12 @@ var CollectionUtilsCache = class {
15136
15146
  return this.callUtilsMethod('getRecordIdBySlug', slug, locale,);
15137
15147
  }
15138
15148
  };
15139
- var canUseYield = /* @__PURE__ */ (() => safeWindow.scheduler && 'yield' in safeWindow.scheduler)();
15140
- var canUsePostTask = /* @__PURE__ */ (() => safeWindow.scheduler && 'postTask' in safeWindow.scheduler)();
15149
+ function hasScheduler(value,) {
15150
+ return 'scheduler' in value;
15151
+ }
15152
+ var safeWindowScheduler = /* @__PURE__ */ (() => hasScheduler(safeWindow,) ? safeWindow.scheduler : void 0)();
15153
+ var canUseYield = /* @__PURE__ */ (() => safeWindowScheduler && 'yield' in safeWindowScheduler)();
15154
+ var canUsePostTask = /* @__PURE__ */ (() => safeWindowScheduler && 'postTask' in safeWindowScheduler)();
15141
15155
  var pendingResolvers = /* @__PURE__ */ new Set();
15142
15156
  function resolvePendingPromises() {
15143
15157
  for (const resolve of pendingResolvers) resolve();
@@ -15193,9 +15207,9 @@ function schedulerYield(options,) {
15193
15207
  },);
15194
15208
  }
15195
15209
  if (canUseYield) {
15196
- return safeWindow.scheduler.yield(options,).catch(noop22,);
15210
+ return safeWindowScheduler.yield(options,).catch(noop22,);
15197
15211
  }
15198
- return safeWindow.scheduler.postTask(() => {}, options,).catch(noop22,);
15212
+ return safeWindowScheduler.postTask(() => {}, options,).catch(noop22,);
15199
15213
  }
15200
15214
  function yieldToMain(options,) {
15201
15215
  const {
@@ -15585,6 +15599,7 @@ function PageEffectsProvider({
15585
15599
  value,
15586
15600
  },) {
15587
15601
  return /* @__PURE__ */ jsx(PageEffectsContext.Provider, {
15602
+ suppressHydrationWarning: true,
15588
15603
  value,
15589
15604
  children,
15590
15605
  },);
@@ -16460,6 +16475,7 @@ function RenderTargetEnvironmentProvider({
16460
16475
  value,
16461
16476
  },) {
16462
16477
  return /* @__PURE__ */ jsx(RenderTargetEnvironmentContext.Provider, {
16478
+ suppressHydrationWarning: true,
16463
16479
  value,
16464
16480
  children,
16465
16481
  },);
@@ -16697,6 +16713,7 @@ function URLSearchParamsProvider({
16697
16713
  replaceSearchParams,
16698
16714
  }), [urlSearchString, replaceSearchParams,],);
16699
16715
  return /* @__PURE__ */ jsx(URLSearchParamsContext.Provider, {
16716
+ suppressHydrationWarning: true,
16700
16717
  value,
16701
16718
  children,
16702
16719
  },);
@@ -17500,6 +17517,7 @@ function renderPage(Page4, defaultPageStyle,) {
17500
17517
  'data-framer-root': '',
17501
17518
  };
17502
17519
  return React42.isValidElement(Page4,) ? React42.cloneElement(Page4, props,) : /* @__PURE__ */ jsx(Page4, {
17520
+ suppressHydrationWarning: true,
17503
17521
  ...props,
17504
17522
  },);
17505
17523
  }
@@ -20452,11 +20470,13 @@ var Loop = class extends EventEmitter {
20452
20470
  }
20453
20471
  };
20454
20472
  var MainLoop = /* @__PURE__ */ new Loop();
20473
+ function isScreenshotFramerHost() {
20474
+ return safeWindow.location.origin === 'https://screenshot.framer.invalid';
20475
+ }
20455
20476
  var RenderEnvironment = {
20456
20477
  target:
20457
- // Enable static renderer when taking screenshots
20458
- // in screenshot-site lambda
20459
- safeWindow.location.origin === 'https://screenshot.framer.invalid' ? 'EXPORT' : 'PREVIEW',
20478
+ // Enable the static renderer for screenshot lambdas.
20479
+ isScreenshotFramerHost() ? 'EXPORT' : 'PREVIEW',
20460
20480
  zoom: 1,
20461
20481
  };
20462
20482
  function executeInRenderEnvironment(customEnvironment, task,) {
@@ -21199,6 +21219,7 @@ function LayoutIdProvider({
21199
21219
  enabled: true,
21200
21220
  },).current;
21201
21221
  return /* @__PURE__ */ jsx(LayoutIdContext.Provider, {
21222
+ suppressHydrationWarning: true,
21202
21223
  value: contextValue,
21203
21224
  children,
21204
21225
  },);
@@ -21227,6 +21248,7 @@ function AutomaticLayoutIds({
21227
21248
  };
21228
21249
  }, [enabled,],);
21229
21250
  return /* @__PURE__ */ jsx(LayoutIdContext.Provider, {
21251
+ suppressHydrationWarning: true,
21230
21252
  ...props,
21231
21253
  value: contextValue,
21232
21254
  },);
@@ -21286,14 +21308,17 @@ function ErrorPlaceholder(props,) {
21286
21308
  const title = file ? `Error in ${stripSlash(file,)}` : 'Error';
21287
21309
  const message = error instanceof Error ? error.message : '' + error;
21288
21310
  return /* @__PURE__ */ jsxs('div', {
21311
+ suppressHydrationWarning: true,
21289
21312
  style: errorStyle,
21290
21313
  children: [
21291
21314
  /* @__PURE__ */ jsx('div', {
21315
+ suppressHydrationWarning: true,
21292
21316
  className: 'text',
21293
21317
  style: titleStyle,
21294
21318
  children: title,
21295
21319
  },),
21296
21320
  message && /* @__PURE__ */ jsx('div', {
21321
+ suppressHydrationWarning: true,
21297
21322
  className: 'text',
21298
21323
  style: messageStyle,
21299
21324
  children: message,
@@ -21381,6 +21406,7 @@ var ErrorBoundary = class extends Component2 {
21381
21406
  render() {
21382
21407
  if (this.state.lastError) {
21383
21408
  return /* @__PURE__ */ jsx(ErrorPlaceholder, {
21409
+ suppressHydrationWarning: true,
21384
21410
  error: this.state.lastError.error.message,
21385
21411
  file: 'Prototype',
21386
21412
  },);
@@ -21474,24 +21500,29 @@ function Device({
21474
21500
  : {};
21475
21501
  const screenBackground = options.deviceOptions?.transparentBackground ? 'transparent' : 'white';
21476
21502
  return /* @__PURE__ */ jsx('div', {
21503
+ suppressHydrationWarning: true,
21477
21504
  style: {
21478
21505
  ...containerStyle2,
21479
21506
  ...resizeStyles,
21480
21507
  },
21481
21508
  ref: containerRef,
21482
21509
  children: /* @__PURE__ */ jsxs('div', {
21510
+ suppressHydrationWarning: true,
21483
21511
  style: {
21484
21512
  ...deviceStyle,
21485
21513
  },
21486
21514
  ref: deviceRef,
21487
21515
  children: [
21488
21516
  handStyle && /* @__PURE__ */ jsx('div', {
21517
+ suppressHydrationWarning: true,
21489
21518
  style: handStyle,
21490
21519
  },),
21491
21520
  deviceAppearance === 'external-clay' && deviceImageStyle && /* @__PURE__ */ jsx('div', {
21521
+ suppressHydrationWarning: true,
21492
21522
  style: deviceImageStyle,
21493
21523
  },),
21494
21524
  /* @__PURE__ */ jsx('div', {
21525
+ suppressHydrationWarning: true,
21495
21526
  style: {
21496
21527
  ...screenStyle,
21497
21528
  pointerEvents: void 0,
@@ -21499,13 +21530,16 @@ function Device({
21499
21530
  },
21500
21531
  ref: screenRef,
21501
21532
  children: /* @__PURE__ */ jsx(MotionConfig, {
21533
+ suppressHydrationWarning: true,
21502
21534
  transformPagePoint: invertScale2,
21503
21535
  children: /* @__PURE__ */ jsx(ErrorBoundary, {
21536
+ suppressHydrationWarning: true,
21504
21537
  children,
21505
21538
  },),
21506
21539
  },),
21507
21540
  },),
21508
21541
  deviceAppearance === 'realistic' && deviceImageStyle && /* @__PURE__ */ jsx('div', {
21542
+ suppressHydrationWarning: true,
21509
21543
  style: deviceImageStyle,
21510
21544
  },),
21511
21545
  ],
@@ -23001,6 +23035,7 @@ var ProvideParentSize = (props) => {
23001
23035
  : null;
23002
23036
  }
23003
23037
  return /* @__PURE__ */ jsx(ConstraintsContext.Provider, {
23038
+ suppressHydrationWarning: true,
23004
23039
  value,
23005
23040
  children,
23006
23041
  },);
@@ -23013,6 +23048,7 @@ function getParentHeight(parentSize,) {
23013
23048
  }
23014
23049
  function useProvideParentSize(node, parentSize,) {
23015
23050
  return /* @__PURE__ */ jsx(ProvideParentSize, {
23051
+ suppressHydrationWarning: true,
23016
23052
  parentSize,
23017
23053
  children: node,
23018
23054
  },);
@@ -23247,6 +23283,10 @@ var componentsWithServerRenderedStyles = /* @__PURE__ */ (() => {
23247
23283
  return new Set(componentsWithSSRStylesAttr.split(' ',),);
23248
23284
  })();
23249
23285
  var framerCSSMarker = 'data-framer-css-ssr';
23286
+ function currentCSSRenderTarget() {
23287
+ if (isScreenshotFramerHost()) return RenderTarget.preview;
23288
+ return RenderTarget.current();
23289
+ }
23250
23290
  var withCSS = (Component18, escapedCSS, componentSerializationId,) =>
23251
23291
  React42.forwardRef((props, ref,) => {
23252
23292
  const {
@@ -23255,20 +23295,21 @@ var withCSS = (Component18, escapedCSS, componentSerializationId,) =>
23255
23295
  } = React42.useContext(StyleSheetContext,) ?? {};
23256
23296
  const id3 = componentSerializationId;
23257
23297
  if (!isBrowser22()) {
23258
- if (isFunction(escapedCSS,)) escapedCSS = escapedCSS(RenderTarget.current(), props,);
23298
+ if (isFunction(escapedCSS,)) escapedCSS = escapedCSS(currentCSSRenderTarget(), props,);
23259
23299
  const concatenatedCSS = Array.isArray(escapedCSS,) ? escapedCSS.join('\n',) : escapedCSS;
23260
23300
  cssCollector.add(concatenatedCSS, id3,);
23261
23301
  }
23262
23302
  useInsertionEffect(() => {
23263
23303
  if (id3 && componentsWithServerRenderedStyles.has(id3,)) return;
23264
23304
  const css22 = isFunction(escapedCSS,)
23265
- ? escapedCSS(RenderTarget.current(), props,)
23305
+ ? escapedCSS(currentCSSRenderTarget(), props,)
23266
23306
  : Array.isArray(escapedCSS,)
23267
23307
  ? escapedCSS
23268
23308
  : escapedCSS.split('\n',);
23269
23309
  css22.forEach((rule) => rule && injectCSSRule(rule, sheet, cache2,));
23270
23310
  }, [],);
23271
23311
  return /* @__PURE__ */ jsx(Component18, {
23312
+ suppressHydrationWarning: true,
23272
23313
  ...props,
23273
23314
  ref,
23274
23315
  },);
@@ -23733,6 +23774,55 @@ var inputIconCSSDeclaration = /* @__PURE__ */ (() => ({
23733
23774
  pointerEvents: 'none',
23734
23775
  ...iconImageCSS,
23735
23776
  }))();
23777
+ var listStyleTypeProperty = '--list-style-type';
23778
+ var maxListDigitsProperty = '--max-list-digits';
23779
+ function getMaxListDigits(start2, itemCount, listStyleType,) {
23780
+ const lastListNumber = start2 + Math.max(itemCount, 1,) - 1;
23781
+ switch (listStyleType) {
23782
+ case 'decimal':
23783
+ return decimalMaxListDigits(lastListNumber,);
23784
+ case 'lower-alpha':
23785
+ case 'upper-alpha':
23786
+ case 'lower-latin':
23787
+ case 'upper-latin':
23788
+ return alphaMaxListDigits(lastListNumber,);
23789
+ case 'lower-roman':
23790
+ case 'upper-roman':
23791
+ return romanMaxListDigits(lastListNumber,);
23792
+ default:
23793
+ return decimalMaxListDigits(lastListNumber,);
23794
+ }
23795
+ }
23796
+ function decimalMaxListDigits(lastListNumber,) {
23797
+ return String(lastListNumber,).length;
23798
+ }
23799
+ function alphaMaxListDigits(lastListNumber,) {
23800
+ let nextCharacters = 1;
23801
+ while (letterPermutations(nextCharacters,) < lastListNumber) {
23802
+ nextCharacters++;
23803
+ }
23804
+ return nextCharacters;
23805
+ }
23806
+ function letterPermutations(characters,) {
23807
+ let permutations = 0;
23808
+ for (let i = 0; i < characters; i++) {
23809
+ permutations += 26 ** (i + 1);
23810
+ }
23811
+ return permutations;
23812
+ }
23813
+ var romanNumeralLengthThresholds = [1, 2, 3, 8, 18, 28, 38, 88, 188, 288, 388, 888,];
23814
+ function romanMaxListDigits(lastListNumber,) {
23815
+ let maxLength = 0;
23816
+ for (const threshold2 of romanNumeralLengthThresholds) {
23817
+ if (lastListNumber < threshold2) return maxLength;
23818
+ maxLength++;
23819
+ }
23820
+ const thousands = Math.floor((lastListNumber - 888) / 1e3,);
23821
+ if (thousands >= 1) {
23822
+ return Math.max(maxLength, thousands + 12,);
23823
+ }
23824
+ return maxLength;
23825
+ }
23736
23826
  function createRGBVariableFallbacks(variables, fallback,) {
23737
23827
  return css2.variable(...variables.flatMap((variable) => [`${variable}-rgb`, variable,]), fallback,);
23738
23828
  }
@@ -23985,11 +24075,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
23985
24075
  span.framer-text[data-nested-link] span.framer-text:not([data-text-fill]) {
23986
24076
  /* Ensure the color is inherited from the link style rather than the parent text for nested spans */
23987
24077
  color: inherit;
23988
- font-family: var(--framer-font-family-preview, var(--framer-blockquote-font-family, var(--framer-link-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif))));
23989
- font-style: var(--framer-font-style-preview, var(--framer-blockquote-font-style, var(--framer-link-font-style, var(--framer-font-style, normal))));
23990
- font-weight: var(--framer-font-weight-preview, var(--framer-blockquote-font-weight, var(--framer-link-font-weight, var(--framer-font-weight, 400))));
24078
+ font-family: var(--framer-font-family-preview, var(--framer-link-font-family, var(--framer-blockquote-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif))));
24079
+ font-style: var(--framer-font-style-preview, var(--framer-link-font-style, var(--framer-blockquote-font-style, var(--framer-font-style, normal))));
24080
+ font-weight: var(--framer-font-weight-preview, var(--framer-link-font-weight, var(--framer-blockquote-font-weight, var(--framer-font-weight, 400))));
23991
24081
  font-size: calc(var(--framer-blockquote-font-size, var(--framer-font-size, 16px)) * var(--framer-font-size-scale, 1));
23992
- text-transform: var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
24082
+ text-transform: var(--framer-link-text-transform, var(--framer-blockquote-text-transform, var(--framer-text-transform, none)));
23993
24083
  /* Cursor inherit to overwrite the user agent stylesheet on rich text links. */
23994
24084
  cursor: var(--framer-custom-cursors, pointer);
23995
24085
  /* Don't inherit background styles from any parent text style. */
@@ -24004,13 +24094,13 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24004
24094
  `
24005
24095
  a.framer-text,
24006
24096
  span.framer-text[data-nested-link] {
24007
- color: var(--framer-blockquote-text-color, var(--framer-link-text-color, var(--framer-text-color, #000)));
24008
- text-decoration-line: var(--framer-blockquote-text-decoration, var(--framer-link-text-decoration, var(--framer-text-decoration, initial)));
24009
- text-decoration-style: var(--framer-blockquote-text-decoration-style, var(--framer-link-text-decoration-style, var(--framer-text-decoration-style, initial)));
24010
- text-decoration-color: var(--framer-blockquote-text-decoration-color, var(--framer-link-text-decoration-color, var(--framer-text-decoration-color, initial)));
24011
- text-decoration-thickness: var(--framer-blockquote-text-decoration-thickness, var(--framer-link-text-decoration-thickness, var(--framer-text-decoration-thickness, initial)));
24012
- text-decoration-skip-ink: var(--framer-blockquote-text-decoration-skip-ink, var(--framer-link-text-decoration-skip-ink, var(--framer-text-decoration-skip-ink, initial)));
24013
- text-underline-offset: var(--framer-blockquote-text-decoration-offset, var(--framer-link-text-decoration-offset, var(--framer-text-decoration-offset, initial)));
24097
+ color: var(--framer-link-text-color, var(--framer-blockquote-text-color, var(--framer-text-color, #000)));
24098
+ text-decoration-line: var(--framer-link-text-decoration, var(--framer-blockquote-text-decoration, var(--framer-text-decoration, initial)));
24099
+ text-decoration-style: var(--framer-link-text-decoration-style, var(--framer-blockquote-text-decoration-style, var(--framer-text-decoration-style, initial)));
24100
+ text-decoration-color: var(--framer-link-text-decoration-color, var(--framer-blockquote-text-decoration-color, var(--framer-text-decoration-color, initial)));
24101
+ text-decoration-thickness: var(--framer-link-text-decoration-thickness, var(--framer-blockquote-text-decoration-thickness, var(--framer-text-decoration-thickness, initial)));
24102
+ text-decoration-skip-ink: var(--framer-link-text-decoration-skip-ink, var(--framer-blockquote-text-decoration-skip-ink, var(--framer-text-decoration-skip-ink, initial)));
24103
+ text-underline-offset: var(--framer-link-text-decoration-offset, var(--framer-blockquote-text-decoration-offset, var(--framer-text-decoration-offset, initial)));
24014
24104
  /* Don't inherit background styles from any parent text style. */
24015
24105
  background-color: var(--framer-link-text-background-color, initial);
24016
24106
  }
@@ -24020,7 +24110,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24020
24110
  a.framer-text,
24021
24111
  span.framer-text[data-nested-link] {
24022
24112
  color: ${
24023
- createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-link-text-color', '--framer-text-color',], '#000',)
24113
+ createRGBVariableFallbacks(['--framer-link-text-color', '--framer-blockquote-text-color', '--framer-text-color',], '#000',)
24024
24114
  };
24025
24115
  background-color: ${createRGBVariableFallbacks(['--framer-link-text-background-color',], 'initial',)};
24026
24116
  text-decoration-color: ${
@@ -24044,7 +24134,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24044
24134
  `
24045
24135
  code.framer-text a.framer-text,
24046
24136
  code.framer-text span.framer-text[data-nested-link] {
24047
- color: var(--framer-blockquote-text-color, var(--framer-link-text-color, var(--framer-code-text-color, var(--framer-text-color, #000))));
24137
+ color: var(--framer-link-text-color, var(--framer-blockquote-text-color, var(--framer-code-text-color, var(--framer-text-color, #000))));
24048
24138
  }
24049
24139
  `, /* css */
24050
24140
  `
@@ -24055,8 +24145,8 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24055
24145
  code.framer-text span.framer-text[data-nested-link] span.framer-text:not([data-text-fill]) {
24056
24146
  color: ${
24057
24147
  createRGBVariableFallbacks([
24058
- '--framer-blockquote-text-color',
24059
24148
  '--framer-link-text-color',
24149
+ '--framer-blockquote-text-color',
24060
24150
  '--framer-code-text-color',
24061
24151
  '--framer-text-color',
24062
24152
  ], '#000',)
@@ -24069,11 +24159,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24069
24159
  a.framer-text:hover span.framer-text:not([data-text-fill]),
24070
24160
  span.framer-text[data-nested-link]:hover,
24071
24161
  span.framer-text[data-nested-link]:hover span.framer-text:not([data-text-fill]) {
24072
- font-family: var(--framer-font-family-preview, var(--framer-link-hover-font-family, var(--framer-blockquote-font-family, var(--framer-link-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif)))));
24073
- font-style: var(--framer-font-style-preview, var(--framer-link-hover-font-style, var(--framer-blockquote-font-style, var(--framer-link-font-style, var(--framer-font-style, normal)))));
24074
- font-weight: var(--framer-font-weight-preview, var(--framer-link-hover-font-weight, var(--framer-blockquote-font-weight, var(--framer-link-font-weight, var(--framer-font-weight, 400)))));
24162
+ font-family: var(--framer-font-family-preview, var(--framer-link-hover-font-family, var(--framer-link-font-family, var(--framer-blockquote-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif)))));
24163
+ font-style: var(--framer-font-style-preview, var(--framer-link-hover-font-style, var(--framer-link-font-style, var(--framer-blockquote-font-style, var(--framer-font-style, normal)))));
24164
+ font-weight: var(--framer-font-weight-preview, var(--framer-link-hover-font-weight, var(--framer-link-font-weight, var(--framer-blockquote-font-weight, var(--framer-font-weight, 400)))));
24075
24165
  font-size: calc(var(--framer-link-hover-font-size, var(--framer-blockquote-font-size, var(--framer-font-size, 16px))) * var(--framer-font-size-scale, 1));
24076
- text-transform: var(--framer-link-hover-text-transform, var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
24166
+ text-transform: var(--framer-link-hover-text-transform, var(--framer-link-text-transform, var(--framer-blockquote-text-transform, var(--framer-text-transform, none))));
24077
24167
  border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-text-background-radius, var(--framer-text-background-radius, initial)));
24078
24168
  corner-shape: var(--framer-link-hover-text-background-corner-shape, var(--framer-link-text-background-corner-shape, var(--framer-text-background-corner-shape, initial)));
24079
24169
  padding: var(--framer-link-hover-text-background-padding, var(--framer-link-text-background-padding, var(--framer-text-background-padding, initial)));
@@ -24082,13 +24172,13 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24082
24172
  `
24083
24173
  a.framer-text:hover,
24084
24174
  span.framer-text[data-nested-link]:hover {
24085
- color: var(--framer-link-hover-text-color, var(--framer-blockquote-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
24086
- text-decoration-line: var(--framer-link-hover-text-decoration, var(--framer-blockquote-text-decoration, var(--framer-link-text-decoration, var(--framer-text-decoration, initial))));
24087
- text-decoration-style: var(--framer-link-hover-text-decoration-style, var(--framer-blockquote-text-decoration-style, var(--framer-link-text-decoration-style, var(--framer-text-decoration-style, initial))));
24088
- text-decoration-color: var(--framer-link-hover-text-decoration-color, var(--framer-blockquote-text-decoration-color, var(--framer-link-text-decoration-color, var(--framer-text-decoration-color, initial))));
24089
- text-decoration-thickness: var(--framer-link-hover-text-decoration-thickness, var(--framer-blockquote-text-decoration-thickness, var(--framer-link-text-decoration-thickness, var(--framer-text-decoration-thickness, initial))));
24090
- text-decoration-skip-ink: var(--framer-link-hover-text-decoration-skip-ink, var(--framer-blockquote-text-decoration-skip-ink, var(--framer-link-text-decoration-skip-ink, var(--framer-text-decoration-skip-ink, initial))));
24091
- text-underline-offset: var(--framer-link-hover-text-decoration-offset, var(--framer-blockquote-text-decoration-offset, var(--framer-link-text-decoration-offset, var(--framer-text-decoration-offset, initial))));
24175
+ color: var(--framer-link-hover-text-color, var(--framer-link-text-color, var(--framer-blockquote-text-color, var(--framer-text-color, #000))));
24176
+ text-decoration-line: var(--framer-link-hover-text-decoration, var(--framer-link-text-decoration, var(--framer-blockquote-text-decoration, var(--framer-text-decoration, initial))));
24177
+ text-decoration-style: var(--framer-link-hover-text-decoration-style, var(--framer-link-text-decoration-style, var(--framer-blockquote-text-decoration-style, var(--framer-text-decoration-style, initial))));
24178
+ text-decoration-color: var(--framer-link-hover-text-decoration-color, var(--framer-link-text-decoration-color, var(--framer-blockquote-text-decoration-color, var(--framer-text-decoration-color, initial))));
24179
+ text-decoration-thickness: var(--framer-link-hover-text-decoration-thickness, var(--framer-link-text-decoration-thickness, var(--framer-blockquote-text-decoration-thickness, var(--framer-text-decoration-thickness, initial))));
24180
+ text-decoration-skip-ink: var(--framer-link-hover-text-decoration-skip-ink, var(--framer-link-text-decoration-skip-ink, var(--framer-blockquote-text-decoration-skip-ink, var(--framer-text-decoration-skip-ink, initial))));
24181
+ text-underline-offset: var(--framer-link-hover-text-decoration-offset, var(--framer-link-text-decoration-offset, var(--framer-blockquote-text-decoration-offset, var(--framer-text-decoration-offset, initial))));
24092
24182
  background-color: var(--framer-link-hover-text-background-color, var(--framer-link-text-background-color, var(--framer-text-background-color, initial)));
24093
24183
  }
24094
24184
  `, /* css */
@@ -24099,8 +24189,8 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24099
24189
  color: ${
24100
24190
  createRGBVariableFallbacks([
24101
24191
  '--framer-link-hover-text-color',
24102
- '--framer-blockquote-text-color',
24103
24192
  '--framer-link-text-color',
24193
+ '--framer-blockquote-text-color',
24104
24194
  '--framer-text-color',
24105
24195
  ], '#000',)
24106
24196
  };
@@ -24124,7 +24214,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24124
24214
  `
24125
24215
  code.framer-text a.framer-text:hover,
24126
24216
  code.framer-text span.framer-text[data-nested-link]:hover {
24127
- color: var(--framer-link-hover-text-color, var(--framer-blockquote-text-color, var(--framer-link-text-color, var(--framer-code-text-color, var(--framer-text-color, #000)))));
24217
+ color: var(--framer-link-hover-text-color, var(--framer-link-text-color, var(--framer-blockquote-text-color, var(--framer-code-text-color, var(--framer-text-color, #000)))));
24128
24218
  }
24129
24219
  `, /* css */
24130
24220
  `
@@ -24134,8 +24224,8 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24134
24224
  color: ${
24135
24225
  createRGBVariableFallbacks([
24136
24226
  '--framer-link-hover-text-color',
24137
- '--framer-blockquote-text-color',
24138
24227
  '--framer-link-text-color',
24228
+ '--framer-blockquote-text-color',
24139
24229
  '--framer-code-text-color',
24140
24230
  '--framer-text-color',
24141
24231
  ], '#000',)
@@ -24381,6 +24471,11 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24381
24471
  list-style: none;
24382
24472
  padding-inline-start: 2ch;
24383
24473
  }
24474
+ `, /* css */
24475
+ `
24476
+ ol.framer-text > li.framer-text {
24477
+ padding-inline-start: calc(calc(var(${maxListDigitsProperty}, 1) + 1) * 1ch);
24478
+ }
24384
24479
  `,
24385
24480
  // font-variant-numeric: tabular-nums enables monospaced numbers (which is neat in a vertical list of numbers)
24386
24481
  // and makes `li`s match the default browser styles better.
@@ -24392,48 +24487,6 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24392
24487
  content: counter(list-item, var(--list-style-type)) ".";
24393
24488
  font-variant-numeric: tabular-nums;
24394
24489
  }
24395
- `,
24396
- // Why this? Due to `position: absolute` (see above), if a list has a lot of items, the numbers
24397
- // might start overlapping the text content. This compensates for that. The trick is based on
24398
- // https://alistapart.com/article/quantity-queries-for-css/#section6. The trick doesn’t account
24399
- // for lists longer than 1,000,000 items, but if you have a list of 1,000,000 items, you’ll have
24400
- // other problems ¯\_(ツ)_/¯
24401
- /* css */
24402
- `
24403
- ol.framer-text > li.framer-text:nth-last-child(n + 10),
24404
- ol.framer-text > li.framer-text:nth-last-child(n + 10) ~ li {
24405
- padding-inline-start: 3ch;
24406
- }
24407
- `, /* css */
24408
- `
24409
- ol.framer-text > li.framer-text:nth-last-child(n + 100),
24410
- ol.framer-text > li.framer-text:nth-last-child(n + 100) ~ li {
24411
- padding-inline-start: 4ch;
24412
- }
24413
- `, /* css */
24414
- `
24415
- ol.framer-text > li.framer-text:nth-last-child(n + 1000),
24416
- ol.framer-text > li.framer-text:nth-last-child(n + 1000) ~ li {
24417
- padding-inline-start: 5ch;
24418
- }
24419
- `, /* css */
24420
- `
24421
- ol.framer-text > li.framer-text:nth-last-child(n + 10000),
24422
- ol.framer-text > li.framer-text:nth-last-child(n + 10000) ~ li {
24423
- padding-inline-start: 6ch;
24424
- }
24425
- `, /* css */
24426
- `
24427
- ol.framer-text > li.framer-text:nth-last-child(n + 100000),
24428
- ol.framer-text > li.framer-text:nth-last-child(n + 100000) ~ li {
24429
- padding-inline-start: 7ch;
24430
- }
24431
- `, /* css */
24432
- `
24433
- ol.framer-text > li.framer-text:nth-last-child(n + 1000000),
24434
- ol.framer-text > li.framer-text:nth-last-child(n + 1000000) ~ li {
24435
- padding-inline-start: 8ch;
24436
- }
24437
24490
  `, /* css */
24438
24491
  `
24439
24492
  ul.framer-text > li.framer-text::before {
@@ -24461,6 +24514,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
24461
24514
  td.framer-text,
24462
24515
  th.framer-text {
24463
24516
  min-width: 16ch;
24517
+ overflow-wrap: anywhere;
24464
24518
  vertical-align: top;
24465
24519
  }
24466
24520
  `,
@@ -26379,6 +26433,7 @@ var DeviceCodeComponentInner = /* @__PURE__ */ withLibraryCSS(({
26379
26433
  },);
26380
26434
  if (!deviceOptions) {
26381
26435
  return /* @__PURE__ */ jsx('div', {
26436
+ suppressHydrationWarning: true,
26382
26437
  'data-framer-component-type': 'DeviceComponent',
26383
26438
  className: 'no-device',
26384
26439
  style: {
@@ -26386,6 +26441,7 @@ var DeviceCodeComponentInner = /* @__PURE__ */ withLibraryCSS(({
26386
26441
  height: '100%',
26387
26442
  },
26388
26443
  children: /* @__PURE__ */ jsx(ProvideParentSize, {
26444
+ suppressHydrationWarning: true,
26389
26445
  parentSize: 1,
26390
26446
  children,
26391
26447
  },),
@@ -26399,6 +26455,7 @@ var DeviceCodeComponentInner = /* @__PURE__ */ withLibraryCSS(({
26399
26455
  },)
26400
26456
  : null;
26401
26457
  return /* @__PURE__ */ jsx(Device, {
26458
+ suppressHydrationWarning: true,
26402
26459
  scaleTo: 'dynamic',
26403
26460
  deviceOptions,
26404
26461
  children: resizedChild,
@@ -26833,6 +26890,7 @@ function CanvasImage({
26833
26890
  }, [imageElement,],);
26834
26891
  Object.assign(imageElement.style, imageStyle,);
26835
26892
  return /* @__PURE__ */ jsx('div', {
26893
+ suppressHydrationWarning: true,
26836
26894
  ref: wrapperRef,
26837
26895
  style: {
26838
26896
  display: 'contents',
@@ -26854,6 +26912,7 @@ function OptimizedCanvasImage({
26854
26912
  runtime.renderOptimizedCanvasImage(wrapper, source, imageStyle, nodeId,);
26855
26913
  }, [nodeId, image, source,],);
26856
26914
  return /* @__PURE__ */ jsx('div', {
26915
+ suppressHydrationWarning: true,
26857
26916
  ref: wrapperRef,
26858
26917
  style: {
26859
26918
  display: 'contents',
@@ -26894,6 +26953,7 @@ function BackgroundImageComponent({
26894
26953
  needsMotion = true;
26895
26954
  } else if (RenderTarget.current() !== RenderTarget.canvas) {
26896
26955
  imageNode = /* @__PURE__ */ jsx(StaticImage, {
26956
+ suppressHydrationWarning: true,
26897
26957
  image,
26898
26958
  avoidAsyncDecoding: RenderTarget.current() === RenderTarget.export,
26899
26959
  ...props,
@@ -26903,11 +26963,13 @@ function BackgroundImageComponent({
26903
26963
  runtime.canRenderOptimizedCanvasImage(runtime.useImageSource(image,),)
26904
26964
  ) {
26905
26965
  imageNode = /* @__PURE__ */ jsx(OptimizedCanvasImage, {
26966
+ suppressHydrationWarning: true,
26906
26967
  image,
26907
26968
  ...props,
26908
26969
  },);
26909
26970
  } else {
26910
26971
  imageNode = /* @__PURE__ */ jsx(CanvasImage, {
26972
+ suppressHydrationWarning: true,
26911
26973
  image,
26912
26974
  ...props,
26913
26975
  },);
@@ -26919,12 +26981,14 @@ function BackgroundImageComponent({
26919
26981
  };
26920
26982
  return needsMotion
26921
26983
  ? /* @__PURE__ */ jsx(motion.div, {
26984
+ suppressHydrationWarning: true,
26922
26985
  layoutId,
26923
26986
  style: style2,
26924
26987
  'data-framer-background-image-wrapper': true,
26925
26988
  children: imageNode,
26926
26989
  },)
26927
26990
  : /* @__PURE__ */ jsx('div', {
26991
+ suppressHydrationWarning: true,
26928
26992
  style: style2,
26929
26993
  'data-framer-background-image-wrapper': true,
26930
26994
  children: imageNode,
@@ -26986,11 +27050,13 @@ function Border(props,) {
26986
27050
  if (props.border) {
26987
27051
  style2.border = props.border;
26988
27052
  return /* @__PURE__ */ jsx(motion.div, {
27053
+ suppressHydrationWarning: true,
26989
27054
  style: style2,
26990
27055
  },);
26991
27056
  }
26992
27057
  collectBorderStyleForProps(props, style2, false,);
26993
27058
  return /* @__PURE__ */ jsx(motion.div, {
27059
+ suppressHydrationWarning: true,
26994
27060
  'data-frame-border': true,
26995
27061
  style: style2,
26996
27062
  layoutId,
@@ -27236,6 +27302,7 @@ var withMeasuredSize = (Component18) => (props) => {
27236
27302
  const fallbackWidth = props.width ?? DEFAULT_SIZE;
27237
27303
  const fallbackHeight = props.height ?? DEFAULT_SIZE;
27238
27304
  return /* @__PURE__ */ jsx('div', {
27305
+ suppressHydrationWarning: true,
27239
27306
  style: {
27240
27307
  width: '100%',
27241
27308
  height: '100%',
@@ -27244,6 +27311,7 @@ var withMeasuredSize = (Component18) => (props) => {
27244
27311
  ref,
27245
27312
  ...dataProps,
27246
27313
  children: shouldRender && /* @__PURE__ */ jsx(Component18, {
27314
+ suppressHydrationWarning: true,
27247
27315
  ...props,
27248
27316
  width: size?.width ?? fallbackWidth,
27249
27317
  height: size?.height ?? fallbackHeight,
@@ -28026,6 +28094,7 @@ var VisibleFrame = /* @__PURE__ */ forwardRef(function VisibleFrame2(props, forw
28026
28094
  children: [
28027
28095
  backgroundImage
28028
28096
  ? /* @__PURE__ */ jsx(BackgroundImageComponent, {
28097
+ suppressHydrationWarning: true,
28029
28098
  alt: props.alt ?? '',
28030
28099
  image: backgroundImage,
28031
28100
  containerSize: rect ?? void 0,
@@ -28035,6 +28104,7 @@ var VisibleFrame = /* @__PURE__ */ forwardRef(function VisibleFrame2(props, forw
28035
28104
  : null,
28036
28105
  children,
28037
28106
  /* @__PURE__ */ jsx(Border, {
28107
+ suppressHydrationWarning: true,
28038
28108
  ..._border,
28039
28109
  border,
28040
28110
  layoutId,
@@ -28050,6 +28120,7 @@ var VisibleFrame = /* @__PURE__ */ forwardRef(function VisibleFrame2(props, forw
28050
28120
  currentStyle.aspectRatio = intrinsicSize.width / intrinsicSize.height;
28051
28121
  }
28052
28122
  return /* @__PURE__ */ jsxs(MotionComponent, {
28123
+ suppressHydrationWarning: true,
28053
28124
  ...dataProps,
28054
28125
  ...motionProps,
28055
28126
  layoutId,
@@ -28065,6 +28136,7 @@ var FrameWithMotionInner = /* @__PURE__ */ forwardRef(function FrameWithMotion(p
28065
28136
  } = props;
28066
28137
  if (!visible) return null;
28067
28138
  return /* @__PURE__ */ jsx(VisibleFrame, {
28139
+ suppressHydrationWarning: true,
28068
28140
  ...props,
28069
28141
  ref,
28070
28142
  },);
@@ -28118,6 +28190,7 @@ function EmptyState({
28118
28190
  const childCount = React42.Children.count(children,);
28119
28191
  if (insideUserCodeComponent && childCount === 0) {
28120
28192
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
28193
+ suppressHydrationWarning: true,
28121
28194
  ...size,
28122
28195
  'data-name': 'placeholder',
28123
28196
  },);
@@ -28126,6 +28199,7 @@ function EmptyState({
28126
28199
  if (hide) return null;
28127
28200
  if (childCount !== 0) return null;
28128
28201
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
28202
+ suppressHydrationWarning: true,
28129
28203
  className: 'framerInternalUI-canvasPlaceholder',
28130
28204
  top: 0,
28131
28205
  left: 0,
@@ -28136,6 +28210,7 @@ function EmptyState({
28136
28210
  ...size,
28137
28211
  },
28138
28212
  children: /* @__PURE__ */ jsx('div', {
28213
+ suppressHydrationWarning: true,
28139
28214
  style: {
28140
28215
  display: 'flex',
28141
28216
  alignItems: 'center',
@@ -28144,6 +28219,7 @@ function EmptyState({
28144
28219
  width: '100%',
28145
28220
  },
28146
28221
  children: /* @__PURE__ */ jsxs('div', {
28222
+ suppressHydrationWarning: true,
28147
28223
  style: {
28148
28224
  display: 'flex',
28149
28225
  alignItems: 'center',
@@ -28155,9 +28231,11 @@ function EmptyState({
28155
28231
  },
28156
28232
  children: [
28157
28233
  /* @__PURE__ */ jsx(Title, {
28234
+ suppressHydrationWarning: true,
28158
28235
  children: title,
28159
28236
  },),
28160
28237
  /* @__PURE__ */ jsx(Description, {
28238
+ suppressHydrationWarning: true,
28161
28239
  children: description,
28162
28240
  },),
28163
28241
  ],
@@ -28170,6 +28248,7 @@ function Title({
28170
28248
  children,
28171
28249
  },) {
28172
28250
  return /* @__PURE__ */ jsx('span', {
28251
+ suppressHydrationWarning: true,
28173
28252
  style: {
28174
28253
  display: 'flex',
28175
28254
  flexDirection: 'column',
@@ -28186,6 +28265,7 @@ function Description({
28186
28265
  children,
28187
28266
  },) {
28188
28267
  return /* @__PURE__ */ jsx('span', {
28268
+ suppressHydrationWarning: true,
28189
28269
  style: {
28190
28270
  display: 'flex',
28191
28271
  flexDirection: 'column',
@@ -28267,6 +28347,7 @@ var SharedLayoutRoot = class extends Component2 {
28267
28347
  }
28268
28348
  render() {
28269
28349
  return /* @__PURE__ */ jsx(SharedLayoutContext.Provider, {
28350
+ suppressHydrationWarning: true,
28270
28351
  value: this.sharedLayoutContext,
28271
28352
  children: this.props.children,
28272
28353
  },);
@@ -28279,6 +28360,7 @@ var rootStyles = {
28279
28360
  };
28280
28361
  function MagicMotionCrossfadeRoot(props,) {
28281
28362
  return /* @__PURE__ */ jsx(motion.div, {
28363
+ suppressHydrationWarning: true,
28282
28364
  layoutId: TREE_ROOT_ID,
28283
28365
  style: rootStyles,
28284
28366
  children: props.children,
@@ -28563,6 +28645,7 @@ var LayoutTree = class extends Component2 {
28563
28645
  }
28564
28646
  render() {
28565
28647
  return /* @__PURE__ */ jsx(SwitchLayoutGroupContext.Provider, {
28648
+ suppressHydrationWarning: true,
28566
28649
  value: this.switchLayoutGroupContext,
28567
28650
  children: this.props.children,
28568
28651
  },);
@@ -28571,6 +28654,7 @@ var LayoutTree = class extends Component2 {
28571
28654
  var SharedLayoutTree = (props) => {
28572
28655
  const sharedLayoutContext = React42.useContext(SharedLayoutContext,);
28573
28656
  return /* @__PURE__ */ jsx(LayoutTree, {
28657
+ suppressHydrationWarning: true,
28574
28658
  ...props,
28575
28659
  sharedLayoutContext,
28576
28660
  },);
@@ -28629,6 +28713,7 @@ var NavigationTargetWrapper = ({
28629
28713
  }, [isCurrent, isOverlayed, callbacks,/* constant, so should never change */
28630
28714
  ],);
28631
28715
  return /* @__PURE__ */ jsx(NavigationTargetContext.Provider, {
28716
+ suppressHydrationWarning: true,
28632
28717
  value,
28633
28718
  children,
28634
28719
  },);
@@ -28796,6 +28881,7 @@ var NavigationContainer = /* @__PURE__ */ React42.memo(function NavigationContai
28796
28881
  const isCurrentTarget = !!isCurrent && isPresent2;
28797
28882
  const forceOpacity = isCurrent && isInitial;
28798
28883
  return /* @__PURE__ */ jsxs(FrameWithMotion2, {
28884
+ suppressHydrationWarning: true,
28799
28885
  'data-framer-component-type': 'NavigationContainerWrapper',
28800
28886
  width: '100%',
28801
28887
  height: '100%',
@@ -28814,6 +28900,7 @@ var NavigationContainer = /* @__PURE__ */ React42.memo(function NavigationContai
28814
28900
  },
28815
28901
  children: [
28816
28902
  isLayeredContainer && /* @__PURE__ */ jsx(FrameWithMotion2, {
28903
+ suppressHydrationWarning: true,
28817
28904
  width: '100%',
28818
28905
  height: '100%',
28819
28906
  'data-framer-component-type': 'NavigationContainerBackdrop',
@@ -28831,6 +28918,7 @@ var NavigationContainer = /* @__PURE__ */ React42.memo(function NavigationContai
28831
28918
  onTap: !isBeingRemoved ? onTapBackdrop : void 0,
28832
28919
  },),
28833
28920
  /* @__PURE__ */ jsx(FrameWithMotion2, {
28921
+ suppressHydrationWarning: true,
28834
28922
  ...layout2,
28835
28923
  ...animations2,
28836
28924
  transition: {
@@ -28858,13 +28946,17 @@ var NavigationContainer = /* @__PURE__ */ React42.memo(function NavigationContai
28858
28946
  'data-is-present': isPresent2 ? void 0 : false,
28859
28947
  ref: viewportRef,
28860
28948
  children: /* @__PURE__ */ jsx(ViewportContext.Provider, {
28949
+ suppressHydrationWarning: true,
28861
28950
  value: viewportRef,
28862
28951
  children: /* @__PURE__ */ jsx(NavigationContainerContext.Provider, {
28952
+ suppressHydrationWarning: true,
28863
28953
  value: isCurrentTarget,
28864
28954
  children: /* @__PURE__ */ jsx(NavigationTargetWrapper, {
28955
+ suppressHydrationWarning: true,
28865
28956
  isCurrent: isCurrentTarget,
28866
28957
  isOverlayed,
28867
28958
  children: /* @__PURE__ */ jsx(SharedLayoutTree, {
28959
+ suppressHydrationWarning: true,
28868
28960
  isLead: isCurrent,
28869
28961
  animatesLayout: !!withMagicMotion,
28870
28962
  transition,
@@ -29603,6 +29695,7 @@ var Navigation = /* @__PURE__ */ (() => {
29603
29695
  const areMagicMotionLayersPresent = isCurrent ? false : removed;
29604
29696
  const withMagicMotion = historyItem?.transition?.withMagicMotion || isCurrent && !!this.state.previousTransition;
29605
29697
  contentContainers.push(/* @__PURE__ */ jsx(NavigationContainer, {
29698
+ suppressHydrationWarning: true,
29606
29699
  id: key7,
29607
29700
  index: visualIndex,
29608
29701
  isInitial,
@@ -29621,6 +29714,7 @@ var Navigation = /* @__PURE__ */ (() => {
29621
29714
  withMagicMotion,
29622
29715
  areMagicMotionLayersPresent: areMagicMotionLayersPresent ? false : void 0,
29623
29716
  children: /* @__PURE__ */ jsx(MagicMotionCrossfadeRoot, {
29717
+ suppressHydrationWarning: true,
29624
29718
  children: containerContent({
29625
29719
  component,
29626
29720
  transition: historyItem?.transition,
@@ -29630,6 +29724,7 @@ var Navigation = /* @__PURE__ */ (() => {
29630
29724
  }
29631
29725
  const overlayContainers = this.state.overlayStack.map((item, stackIndex,) => {
29632
29726
  return /* @__PURE__ */ jsx(NavigationContainer, {
29727
+ suppressHydrationWarning: true,
29633
29728
  isLayeredContainer: true,
29634
29729
  isCurrent: stackIndex === this.state.currentOverlay,
29635
29730
  position: item.transition.position,
@@ -29650,6 +29745,7 @@ var Navigation = /* @__PURE__ */ (() => {
29650
29745
  }, item.key,);
29651
29746
  },);
29652
29747
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
29748
+ suppressHydrationWarning: true,
29653
29749
  'data-framer-component-type': 'NavigationRoot',
29654
29750
  top: 0,
29655
29751
  left: 0,
@@ -29663,11 +29759,14 @@ var Navigation = /* @__PURE__ */ (() => {
29663
29759
  ...this.props.style,
29664
29760
  },
29665
29761
  children: /* @__PURE__ */ jsx(NavigationContext.Provider, {
29762
+ suppressHydrationWarning: true,
29666
29763
  value: this,
29667
29764
  children: /* @__PURE__ */ jsxs(IsInitialNavigationContext.Provider, {
29765
+ suppressHydrationWarning: true,
29668
29766
  value: isInitial,
29669
29767
  children: [
29670
29768
  /* @__PURE__ */ jsx(NavigationContainer, {
29769
+ suppressHydrationWarning: true,
29671
29770
  isLayeredContainer: true,
29672
29771
  position: void 0,
29673
29772
  initialProps: {},
@@ -29680,8 +29779,11 @@ var Navigation = /* @__PURE__ */ (() => {
29680
29779
  onTapBackdrop: void 0,
29681
29780
  index: 0,
29682
29781
  children: /* @__PURE__ */ jsx(LayoutIdProvider, {
29782
+ suppressHydrationWarning: true,
29683
29783
  children: /* @__PURE__ */ jsx(SharedLayoutRoot, {
29784
+ suppressHydrationWarning: true,
29684
29785
  children: /* @__PURE__ */ jsx(AnimatePresence, {
29786
+ suppressHydrationWarning: true,
29685
29787
  presenceAffectsLayout: false,
29686
29788
  children: contentContainers,
29687
29789
  },),
@@ -29689,6 +29791,7 @@ var Navigation = /* @__PURE__ */ (() => {
29689
29791
  },),
29690
29792
  },),
29691
29793
  /* @__PURE__ */ jsx(AnimatePresence, {
29794
+ suppressHydrationWarning: true,
29692
29795
  children: overlayContainers,
29693
29796
  },),
29694
29797
  ],
@@ -29946,6 +30049,7 @@ function NavigationWrapper(props,) {
29946
30049
  const resetProjection = useResetProjection();
29947
30050
  const skipLayoutAnimation = useInstantLayoutTransition();
29948
30051
  return /* @__PURE__ */ jsx(Navigation, {
30052
+ suppressHydrationWarning: true,
29949
30053
  ...props,
29950
30054
  resetProjection,
29951
30055
  skipLayoutAnimation,
@@ -29972,6 +30076,7 @@ function WithNavigator(BaseComponent, navigationTransition, navigationTransition
29972
30076
  const InternalWithNavigator = class extends React42.Component {
29973
30077
  render() {
29974
30078
  return /* @__PURE__ */ jsx(NavigationContext.Consumer, {
30079
+ suppressHydrationWarning: true,
29975
30080
  children: (navigation) => {
29976
30081
  const navigate = () => {
29977
30082
  if (navigationTransition === 'goBack') {
@@ -30025,6 +30130,7 @@ function WithNavigator(BaseComponent, navigationTransition, navigationTransition
30025
30130
  props.onTap = navigate;
30026
30131
  }
30027
30132
  return /* @__PURE__ */ jsx(BaseComponent, {
30133
+ suppressHydrationWarning: true,
30028
30134
  ...props,
30029
30135
  },);
30030
30136
  },
@@ -30807,10 +30913,12 @@ function WithDragging(Component18,) {
30807
30913
  originalProps.left = this.x;
30808
30914
  originalProps.top = this.y;
30809
30915
  return /* @__PURE__ */ jsx(DraggingContext.Provider, {
30916
+ suppressHydrationWarning: true,
30810
30917
  value: {
30811
30918
  dragging: this.state.isDragging,
30812
30919
  },
30813
30920
  children: /* @__PURE__ */ jsx(Component18, {
30921
+ suppressHydrationWarning: true,
30814
30922
  ...originalProps,
30815
30923
  },),
30816
30924
  },);
@@ -30951,9 +31059,11 @@ function WithEvents(BaseComponent,) {
30951
31059
  }
30952
31060
  render() {
30953
31061
  return /* @__PURE__ */ jsx(DraggingContext.Consumer, {
31062
+ suppressHydrationWarning: true,
30954
31063
  children: (value) => {
30955
31064
  this.shouldCancelTap = value.dragging;
30956
31065
  return /* @__PURE__ */ jsx(BaseComponent, {
31066
+ suppressHydrationWarning: true,
30957
31067
  ...this.props,
30958
31068
  ref: this.component,
30959
31069
  },);
@@ -31267,6 +31377,7 @@ function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, s
31267
31377
  height: `${filterHeight.toFixed(1,)}%`,
31268
31378
  };
31269
31379
  definition.push(/* @__PURE__ */ jsxs('filter', {
31380
+ suppressHydrationWarning: true,
31270
31381
  id: outsideShadowId.id,
31271
31382
  filterUnits: 'objectBoundingBox',
31272
31383
  ...svgRect,
@@ -31275,6 +31386,7 @@ function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, s
31275
31386
  filterElements,
31276
31387
  shadows.length > 1
31277
31388
  ? /* @__PURE__ */ jsx('feMerge', {
31389
+ suppressHydrationWarning: true,
31278
31390
  children: mergeElements,
31279
31391
  },)
31280
31392
  : null,
@@ -31282,14 +31394,17 @@ function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, s
31282
31394
  }, outsideShadowId.id,),);
31283
31395
  const maskId = shapeId.add('mask',);
31284
31396
  maskElement = /* @__PURE__ */ jsxs('mask', {
31397
+ suppressHydrationWarning: true,
31285
31398
  id: maskId.id,
31286
31399
  ...svgRect,
31287
31400
  children: [
31288
31401
  /* @__PURE__ */ jsx('rect', {
31402
+ suppressHydrationWarning: true,
31289
31403
  ...svgRect,
31290
31404
  fill: 'white',
31291
31405
  },),
31292
31406
  /* @__PURE__ */ jsx('use', {
31407
+ suppressHydrationWarning: true,
31293
31408
  href: shapeId.link,
31294
31409
  fill: 'black',
31295
31410
  fillOpacity: fillEnabled ? void 0 : 0,
@@ -31297,10 +31412,12 @@ function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, s
31297
31412
  ],
31298
31413
  },);
31299
31414
  outsetElement = /* @__PURE__ */ jsx('g', {
31415
+ suppressHydrationWarning: true,
31300
31416
  filter: outsideShadowId.urlLink,
31301
31417
  ...svgShadowProps,
31302
31418
  mask: maskId.urlLink,
31303
31419
  children: /* @__PURE__ */ jsx('use', {
31420
+ suppressHydrationWarning: true,
31304
31421
  ...svgStrokeAttributes,
31305
31422
  fill: 'black',
31306
31423
  fillOpacity: fillEnabled ? void 0 : 0,
@@ -31341,6 +31458,7 @@ function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, s
31341
31458
  mergeElements.push(shadowElements.mergeElement,);
31342
31459
  }
31343
31460
  definition.push(/* @__PURE__ */ jsxs('filter', {
31461
+ suppressHydrationWarning: true,
31344
31462
  id: insideShadowId.id,
31345
31463
  x: `${filterX.toFixed(1,)}%`,
31346
31464
  y: `${filterY.toFixed(1,)}%`,
@@ -31352,6 +31470,7 @@ function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, s
31352
31470
  filterElements,
31353
31471
  insetShadows.length > 1
31354
31472
  ? /* @__PURE__ */ jsx('feMerge', {
31473
+ suppressHydrationWarning: true,
31355
31474
  children: mergeElements,
31356
31475
  },)
31357
31476
  : null,
@@ -31362,6 +31481,7 @@ function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, s
31362
31481
  clipPath = strokeClipId.urlLink;
31363
31482
  }
31364
31483
  insetElement = /* @__PURE__ */ jsx('use', {
31484
+ suppressHydrationWarning: true,
31365
31485
  fill: 'black',
31366
31486
  fillOpacity: '1',
31367
31487
  filter: insideShadowId.urlLink,
@@ -31381,10 +31501,12 @@ function shadowForShape(boxShadows, rect, shapeId, fillEnabled, strokeEnabled, s
31381
31501
  function outerShadowElements(shapeID, shadow, index,) {
31382
31502
  const shadowKey = shapeID.add('_outer_shadow' + index,);
31383
31503
  const filterElements = /* @__PURE__ */ jsx(OuterShadowFilterElements, {
31504
+ suppressHydrationWarning: true,
31384
31505
  shadow,
31385
31506
  shadowKey,
31386
31507
  }, shadowKey.id + '-filters',);
31387
31508
  const mergeElement = /* @__PURE__ */ jsx('feMergeNode', {
31509
+ suppressHydrationWarning: true,
31388
31510
  in: shadowKey.id,
31389
31511
  }, shadowKey.id + '-merge',);
31390
31512
  return {
@@ -31403,21 +31525,25 @@ var OuterShadowFilterElements = (props) => {
31403
31525
  return /* @__PURE__ */ jsxs(Fragment, {
31404
31526
  children: [
31405
31527
  /* @__PURE__ */ jsx('feOffset', {
31528
+ suppressHydrationWarning: true,
31406
31529
  dx: shadow.x,
31407
31530
  dy: shadow.y,
31408
31531
  in: 'SourceAlpha',
31409
31532
  result: offsetId,
31410
31533
  },),
31411
31534
  /* @__PURE__ */ jsx('feGaussianBlur', {
31535
+ suppressHydrationWarning: true,
31412
31536
  stdDeviation: shadow.blur / 2,
31413
31537
  in: offsetId,
31414
31538
  result: blurId,
31415
31539
  },),
31416
31540
  /* @__PURE__ */ jsx('feFlood', {
31541
+ suppressHydrationWarning: true,
31417
31542
  floodColor: shadow.color,
31418
31543
  result: floodId,
31419
31544
  },),
31420
31545
  /* @__PURE__ */ jsx('feComposite', {
31546
+ suppressHydrationWarning: true,
31421
31547
  in: floodId,
31422
31548
  in2: blurId,
31423
31549
  operator: 'in',
@@ -31429,10 +31555,12 @@ var OuterShadowFilterElements = (props) => {
31429
31555
  function innerShadowElements(shapeID, shadow, index,) {
31430
31556
  const shadowKey = shapeID.add('_inside_shadow' + index,);
31431
31557
  const filterElements = /* @__PURE__ */ jsx(InnerShadowFilterElements, {
31558
+ suppressHydrationWarning: true,
31432
31559
  shadow,
31433
31560
  shadowKey,
31434
31561
  }, shadowKey.id + '-filters',);
31435
31562
  const mergeElement = /* @__PURE__ */ jsx('feMergeNode', {
31563
+ suppressHydrationWarning: true,
31436
31564
  in: shadowKey.id,
31437
31565
  }, shadowKey.id + '-merge',);
31438
31566
  return {
@@ -31452,17 +31580,20 @@ var InnerShadowFilterElements = (props) => {
31452
31580
  return /* @__PURE__ */ jsxs(Fragment, {
31453
31581
  children: [
31454
31582
  /* @__PURE__ */ jsx('feGaussianBlur', {
31583
+ suppressHydrationWarning: true,
31455
31584
  stdDeviation: shadow.blur / 2,
31456
31585
  in: 'SourceAlpha',
31457
31586
  result: blurId,
31458
31587
  },),
31459
31588
  /* @__PURE__ */ jsx('feOffset', {
31589
+ suppressHydrationWarning: true,
31460
31590
  dx: shadow.x,
31461
31591
  dy: shadow.y,
31462
31592
  in: blurId,
31463
31593
  result: offsetId,
31464
31594
  },),
31465
31595
  /* @__PURE__ */ jsx('feComposite', {
31596
+ suppressHydrationWarning: true,
31466
31597
  in: offsetId,
31467
31598
  in2: 'SourceAlpha',
31468
31599
  operator: 'arithmetic',
@@ -31471,10 +31602,12 @@ var InnerShadowFilterElements = (props) => {
31471
31602
  result: compositeId,
31472
31603
  },),
31473
31604
  /* @__PURE__ */ jsx('feFlood', {
31605
+ suppressHydrationWarning: true,
31474
31606
  floodColor: shadow.color,
31475
31607
  result: floodId,
31476
31608
  },),
31477
31609
  /* @__PURE__ */ jsx('feComposite', {
31610
+ suppressHydrationWarning: true,
31478
31611
  in: floodId,
31479
31612
  in2: compositeId,
31480
31613
  operator: 'in',
@@ -31919,16 +32052,19 @@ var DeprecatedFrame = /* @__PURE__ */ (() => {
31919
32052
  height: rect.height,
31920
32053
  };
31921
32054
  return /* @__PURE__ */ jsxs('div', {
32055
+ suppressHydrationWarning: true,
31922
32056
  id: id3,
31923
32057
  style: style2,
31924
32058
  ref: this.setElement,
31925
32059
  className: className2,
31926
32060
  children: [
31927
32061
  /* @__PURE__ */ jsx(ProvideParentSize, {
32062
+ suppressHydrationWarning: true,
31928
32063
  parentSize,
31929
32064
  children: this.layoutChildren(),
31930
32065
  },),
31931
32066
  /* @__PURE__ */ jsx(Border, {
32067
+ suppressHydrationWarning: true,
31932
32068
  ...this.props,
31933
32069
  },),
31934
32070
  ],
@@ -31953,6 +32089,7 @@ var DeprecatedFrame = /* @__PURE__ */ (() => {
31953
32089
  },);
31954
32090
  if (children && children.length === 1 && typeof children[0] === 'string') {
31955
32091
  children = [/* @__PURE__ */ jsx(Center, {
32092
+ suppressHydrationWarning: true,
31956
32093
  children,
31957
32094
  }, '0',),];
31958
32095
  }
@@ -31987,6 +32124,7 @@ function Center(props,) {
31987
32124
  fontFamily: 'Helvetica',
31988
32125
  }, props.style || {},);
31989
32126
  return /* @__PURE__ */ jsx('div', {
32127
+ suppressHydrationWarning: true,
31990
32128
  style: style2,
31991
32129
  children: props.children,
31992
32130
  },);
@@ -32058,11 +32196,13 @@ var Frame = /* @__PURE__ */ (() => {
32058
32196
  if (isDeprecatedFrameProps(props,)) {
32059
32197
  const currentParentSize = props.parentSize || deprecatedParentSize(parentSize,);
32060
32198
  return /* @__PURE__ */ jsx(DeprecatedFrameWithEvents, {
32199
+ suppressHydrationWarning: true,
32061
32200
  ...props,
32062
32201
  parentSize: currentParentSize,
32063
32202
  },);
32064
32203
  }
32065
32204
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
32205
+ suppressHydrationWarning: true,
32066
32206
  ...props,
32067
32207
  ref,
32068
32208
  },);
@@ -32115,6 +32255,7 @@ function withInfiniteScroll(Component18,) {
32115
32255
  paginationInfo: __paginationInfo,
32116
32256
  },);
32117
32257
  return /* @__PURE__ */ jsx(Component18, {
32258
+ suppressHydrationWarning: true,
32118
32259
  ...props,
32119
32260
  ref: infiniteScrollRef,
32120
32261
  },);
@@ -32422,6 +32563,7 @@ var Stack = /* @__PURE__ */ (() => {
32422
32563
  if (styleProp?.height) contentWrapperStyle.height = styleProp?.height;
32423
32564
  }
32424
32565
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
32566
+ suppressHydrationWarning: true,
32425
32567
  as,
32426
32568
  background: fromCanvasComponent ? void 0 : 'none',
32427
32569
  ...props,
@@ -32432,6 +32574,7 @@ var Stack = /* @__PURE__ */ (() => {
32432
32574
  className: className2,
32433
32575
  layoutScroll: true,
32434
32576
  children: /* @__PURE__ */ jsx(motion.div, {
32577
+ suppressHydrationWarning: true,
32435
32578
  'data-framer-stack-content-wrapper': true,
32436
32579
  'data-framer-stack-direction-reverse': isReverse,
32437
32580
  'data-framer-stack-gap-enabled': gapEnabled,
@@ -32585,6 +32728,7 @@ function wrapInGapElementForLegacyGap(children, gap, direction, justifyContent,
32585
32728
  asRecord(gapStyle,)['--stack-gap-y'] = `${isVertical ? gap : 0}px`;
32586
32729
  }
32587
32730
  return /* @__PURE__ */ jsx('div', {
32731
+ suppressHydrationWarning: true,
32588
32732
  'data-framer-legacy-stack-gap-enabled': gapEnabled,
32589
32733
  'data-framer-stack-flexbox-gap': useFlexboxGap,
32590
32734
  style: gapStyle,
@@ -32663,6 +32807,7 @@ function PageContainer({
32663
32807
  const containerWidth = hasHorizontalGap && wrapperWidth === '100%' ? `calc(100% + ${gap}px)` : wrapperWidth;
32664
32808
  const containerHeight = hasVerticalGap && wrapperHeight === '100%' ? `calc(100% + ${gap}px)` : wrapperHeight;
32665
32809
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
32810
+ suppressHydrationWarning: true,
32666
32811
  position: 'relative',
32667
32812
  'data-framer-component-type': 'PageContainer',
32668
32813
  width: containerWidth,
@@ -32684,6 +32829,7 @@ function PageContainer({
32684
32829
  paddingBottom: hasVerticalGap ? gap : 0,
32685
32830
  },
32686
32831
  children: /* @__PURE__ */ jsx(FrameWithMotion2, {
32832
+ suppressHydrationWarning: true,
32687
32833
  position: 'relative',
32688
32834
  'data-framer-component-type': pageContentWrapperType,
32689
32835
  width: wrapperWidth,
@@ -33007,6 +33153,7 @@ var PageInner = /* @__PURE__ */ React42.forwardRef(function Page(props, forwarde
33007
33153
  }
33008
33154
  pageEffectValuesRef.current.push(effectDictionary,);
33009
33155
  return /* @__PURE__ */ jsx(PageContainer, {
33156
+ suppressHydrationWarning: true,
33010
33157
  effect: effectDictionary,
33011
33158
  dragEnabled,
33012
33159
  direction,
@@ -33038,6 +33185,7 @@ var PageInner = /* @__PURE__ */ React42.forwardRef(function Page(props, forwarde
33038
33185
  onScrollEnd,
33039
33186
  },);
33040
33187
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
33188
+ suppressHydrationWarning: true,
33041
33189
  'data-framer-component-type': 'PageWrapper',
33042
33190
  preserve3d: false,
33043
33191
  perspective: hasEffect(props,) ? 1200 : void 0,
@@ -33051,6 +33199,7 @@ var PageInner = /* @__PURE__ */ React42.forwardRef(function Page(props, forwarde
33051
33199
  ref: containerRef,
33052
33200
  onLayoutMeasure: handleMeasureLifecycle,
33053
33201
  children: /* @__PURE__ */ jsxs(FrameWithMotion2, {
33202
+ suppressHydrationWarning: true,
33054
33203
  'data-framer-component-type': 'Page',
33055
33204
  ref: scrollableRef,
33056
33205
  background: null,
@@ -33069,6 +33218,7 @@ var PageInner = /* @__PURE__ */ React42.forwardRef(function Page(props, forwarde
33069
33218
  },
33070
33219
  children: [
33071
33220
  /* @__PURE__ */ jsx(EmptyState, {
33221
+ suppressHydrationWarning: true,
33072
33222
  title: 'Page',
33073
33223
  description: 'Click and drag the connector to any frame on the canvas \u2192',
33074
33224
  size: containerSizeRef.current,
@@ -34277,6 +34427,7 @@ var EmulatedScrollInner = /* @__PURE__ */ React42.forwardRef(function EmulatedSc
34277
34427
  }
34278
34428
  : {};
34279
34429
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
34430
+ suppressHydrationWarning: true,
34280
34431
  'data-framer-component-type': 'Scroll',
34281
34432
  background: 'none',
34282
34433
  ...containerProps,
@@ -34294,6 +34445,7 @@ var EmulatedScrollInner = /* @__PURE__ */ React42.forwardRef(function EmulatedSc
34294
34445
  layoutScroll: true,
34295
34446
  onBeforeLayoutMeasure: measureAndUpdateScrollOffset,
34296
34447
  children: /* @__PURE__ */ jsxs(FrameWithMotion2, {
34448
+ suppressHydrationWarning: true,
34297
34449
  'data-framer-component-type': 'ScrollContentWrapper',
34298
34450
  animate: scrollAnimate,
34299
34451
  drag: dragEnabled && convertScrollDirectionToDrag(direction,),
@@ -34329,6 +34481,7 @@ var EmulatedScrollInner = /* @__PURE__ */ React42.forwardRef(function EmulatedSc
34329
34481
  preserve3d: containerProps.preserve3d,
34330
34482
  children: [
34331
34483
  /* @__PURE__ */ jsx(EmptyState, {
34484
+ suppressHydrationWarning: true,
34332
34485
  size: {
34333
34486
  width: isFiniteNumber(containerProps.width,) ? containerProps.width : '100%',
34334
34487
  height: isFiniteNumber(containerProps.height,) ? containerProps.height : '100%',
@@ -34766,6 +34919,7 @@ var NativeScrollInner = /* @__PURE__ */ React42.forwardRef(function NativeScroll
34766
34919
  }
34767
34920
  : {};
34768
34921
  return /* @__PURE__ */ jsxs(FrameWithMotion2, {
34922
+ suppressHydrationWarning: true,
34769
34923
  ref,
34770
34924
  'data-framer-component-type': 'NativeScroll',
34771
34925
  background: 'none',
@@ -34778,6 +34932,7 @@ var NativeScrollInner = /* @__PURE__ */ React42.forwardRef(function NativeScroll
34778
34932
  className: cx(className2, `direction-${direction}`, !scrollBarVisible && 'scrollbar-hidden',),
34779
34933
  children: [
34780
34934
  /* @__PURE__ */ jsx(EmptyState, {
34935
+ suppressHydrationWarning: true,
34781
34936
  children,
34782
34937
  size: {
34783
34938
  width: isFiniteNumber(containerProps.width,) ? containerProps.width : '100%',
@@ -34796,11 +34951,13 @@ var Scroll = /* @__PURE__ */ (() => {
34796
34951
  const ScrollInner = React42.forwardRef(function ScrollInner2(props, forwardedRef,) {
34797
34952
  if (props.native) {
34798
34953
  return /* @__PURE__ */ jsx(NativeScroll2, {
34954
+ suppressHydrationWarning: true,
34799
34955
  ref: forwardedRef,
34800
34956
  ...props,
34801
34957
  },);
34802
34958
  } else {
34803
34959
  return /* @__PURE__ */ jsx(EmulatedScroll2, {
34960
+ suppressHydrationWarning: true,
34804
34961
  ref: forwardedRef,
34805
34962
  ...props,
34806
34963
  },);
@@ -34849,8 +35006,8 @@ var Scroll = /* @__PURE__ */ (() => {
34849
35006
  disabledTitle: 'Off',
34850
35007
  defaultValue: true,
34851
35008
  hidden: ({
34852
- native,
34853
- },) => native === true,
35009
+ native: native2,
35010
+ },) => native2 === true,
34854
35011
  },
34855
35012
  dragEnabled: {
34856
35013
  type: 'boolean',
@@ -34866,8 +35023,8 @@ var Scroll = /* @__PURE__ */ (() => {
34866
35023
  disabledTitle: 'Off',
34867
35024
  defaultValue: true,
34868
35025
  hidden: ({
34869
- native,
34870
- },) => native === true,
35026
+ native: native2,
35027
+ },) => native2 === true,
34871
35028
  },
34872
35029
  wheelEnabled: {
34873
35030
  type: 'boolean',
@@ -34876,8 +35033,8 @@ var Scroll = /* @__PURE__ */ (() => {
34876
35033
  disabledTitle: 'Off',
34877
35034
  defaultValue: true,
34878
35035
  hidden: ({
34879
- native,
34880
- },) => native === true,
35036
+ native: native2,
35037
+ },) => native2 === true,
34881
35038
  },
34882
35039
  scrollBarVisible: {
34883
35040
  type: 'boolean',
@@ -34886,8 +35043,8 @@ var Scroll = /* @__PURE__ */ (() => {
34886
35043
  disabledTitle: 'Hidden',
34887
35044
  defaultValue: false,
34888
35045
  hidden: ({
34889
- native,
34890
- },) => native === false,
35046
+ native: native2,
35047
+ },) => native2 === false,
34891
35048
  },
34892
35049
  resetOffset: {
34893
35050
  type: 'boolean',
@@ -35031,6 +35188,7 @@ var DataObserver = class extends Component2 {
35031
35188
  this.observers.push(observer2,);
35032
35189
  },);
35033
35190
  return /* @__PURE__ */ jsx(DataObserverContext.Provider, {
35191
+ suppressHydrationWarning: true,
35034
35192
  value: {
35035
35193
  ...this.state,
35036
35194
  },
@@ -35074,6 +35232,7 @@ function WithOverride(Component18, override,) {
35074
35232
  ...rest
35075
35233
  } = props;
35076
35234
  return /* @__PURE__ */ jsx(Component18, {
35235
+ suppressHydrationWarning: true,
35077
35236
  ...rest,
35078
35237
  ...overrideProps,
35079
35238
  _initialStyle: style2,
@@ -35261,13 +35420,14 @@ function renderBranchedChildrenFromPropertyOverrides(
35261
35420
  if (activeVariantId && !variants.includes(activeVariantId,)) {
35262
35421
  continue;
35263
35422
  }
35264
- const key7 = variants.join('+',);
35423
+ const key7 = activeVariantId ? 'active-branch' : variants.join('+',);
35265
35424
  let element =
35266
35425
  // We could omit the SSRParentVariantsContext if variants is the same as parentVariants, but that'd require
35267
35426
  // comparing arrays, so it might not really be an optimization. And since it's just a context, it doesn't
35268
35427
  // affect the size of the generated HTML.
35269
35428
  /* @__PURE__ */
35270
35429
  jsx(SSRParentVariantsContext.Provider, {
35430
+ suppressHydrationWarning: true,
35271
35431
  value: {
35272
35432
  primaryVariantId,
35273
35433
  variants: new Set(variants,),
@@ -35300,6 +35460,7 @@ function renderBranchedChildrenFromPropertyOverrides(
35300
35460
  return [
35301
35461
  ...renderedBranches,
35302
35462
  /* @__PURE__ */ jsx('div', {
35463
+ suppressHydrationWarning: true,
35303
35464
  className: SSRVariantGroupSeparatorClassName,
35304
35465
  }, 'property-overrides-separator',),
35305
35466
  ];
@@ -35517,6 +35678,7 @@ function withOptimizedAppearEffect(Component18,) {
35517
35678
  }
35518
35679
  const disabledProps = getDisabledFXPropsInStaticRenderer(props,);
35519
35680
  return /* @__PURE__ */ jsx(Component18, {
35681
+ suppressHydrationWarning: true,
35520
35682
  ref,
35521
35683
  ...props,
35522
35684
  ...disabledProps,
@@ -36467,6 +36629,7 @@ var withFX = (Component18) =>
36467
36629
  React42.forwardRef((props, forwardedRef,) => {
36468
36630
  if (props.__withFX) {
36469
36631
  return /* @__PURE__ */ jsx(Component18, {
36632
+ suppressHydrationWarning: true,
36470
36633
  ...props,
36471
36634
  animate: void 0,
36472
36635
  initial: void 0,
@@ -36477,6 +36640,7 @@ var withFX = (Component18) =>
36477
36640
  const disabledProps = getDisabledFXPropsInStaticRenderer(props,);
36478
36641
  if (disabledProps) {
36479
36642
  return /* @__PURE__ */ jsx(Component18, {
36643
+ suppressHydrationWarning: true,
36480
36644
  ...props,
36481
36645
  ...disabledProps,
36482
36646
  ref: forwardedRef,
@@ -36572,6 +36736,7 @@ var withFX = (Component18) =>
36572
36736
  }
36573
36737
  : {};
36574
36738
  return /* @__PURE__ */ jsx(Component18, {
36739
+ suppressHydrationWarning: true,
36575
36740
  ...forwardedProps,
36576
36741
  ...motionGestures,
36577
36742
  __withFX: true,
@@ -36600,6 +36765,7 @@ function ComponentPresetsProvider({
36600
36765
  lastPresets.current = presets2;
36601
36766
  }
36602
36767
  return /* @__PURE__ */ jsx(Context.Provider, {
36768
+ suppressHydrationWarning: true,
36603
36769
  value: lastPresets.current,
36604
36770
  children,
36605
36771
  },);
@@ -36632,6 +36798,7 @@ var ComponentViewportProvider = /* @__PURE__ */ React42.forwardRef(function Comp
36632
36798
  }, [width, height, y2,],);
36633
36799
  const cloneWithPropsAndRef = useCloneChildrenWithPropsAndRef(ref,);
36634
36800
  return /* @__PURE__ */ jsx(ComponentViewportContext.Provider, {
36801
+ suppressHydrationWarning: true,
36635
36802
  value: componentViewport,
36636
36803
  children: cloneWithPropsAndRef(children, rest,),
36637
36804
  },);
@@ -36640,6 +36807,7 @@ var withGeneratedLayoutId = (Component18) =>
36640
36807
  React42.forwardRef((props, ref,) => {
36641
36808
  const layoutId = useLayoutId2(props,);
36642
36809
  return /* @__PURE__ */ jsx(Component18, {
36810
+ suppressHydrationWarning: true,
36643
36811
  layoutId,
36644
36812
  ...props,
36645
36813
  layoutIdKey: void 0,
@@ -36703,6 +36871,7 @@ var suspendPromise = /* @__PURE__ */ (() => typeof __unframerWindow2 !== 'undefi
36703
36871
  function Suspend() {
36704
36872
  if (typeof __unframerWindow2 === 'undefined' || shouldSuspenseBoundariesBeActive) {
36705
36873
  return /* @__PURE__ */ jsx('div', {
36874
+ suppressHydrationWarning: true,
36706
36875
  hidden: true,
36707
36876
  dangerouslySetInnerHTML: {
36708
36877
  __html: '<!-- SuspenseThatPreservesDOM fallback rendered -->',
@@ -36711,7 +36880,9 @@ function Suspend() {
36711
36880
  }
36712
36881
  throw suspendPromise;
36713
36882
  }
36714
- var suspend = /* @__PURE__ */ jsx(Suspend, {},);
36883
+ var suspend = /* @__PURE__ */ jsx(Suspend, {
36884
+ suppressHydrationWarning: true,
36885
+ },);
36715
36886
  var DisableSuspenseSuspenseThatPreservesDomContext = createContext(false,);
36716
36887
  DisableSuspenseSuspenseThatPreservesDomContext.displayName = 'DisableSuspenseSuspenseThatPreservesDomContext';
36717
36888
  function SuspenseThatPreservesDom({
@@ -36724,19 +36895,23 @@ function SuspenseThatPreservesDom({
36724
36895
  },);
36725
36896
  }
36726
36897
  return /* @__PURE__ */ jsx(Suspense2, {
36898
+ suppressHydrationWarning: true,
36727
36899
  fallback: suspend,
36728
36900
  children,
36729
36901
  },);
36730
36902
  }
36731
36903
  function NullFallback() {
36732
36904
  return /* @__PURE__ */ jsx('div', {
36905
+ suppressHydrationWarning: true,
36733
36906
  hidden: true,
36734
36907
  dangerouslySetInnerHTML: {
36735
36908
  __html: '<!-- Code boundary fallback rendered -->',
36736
36909
  },
36737
36910
  },);
36738
36911
  }
36739
- var nullFallback = /* @__PURE__ */ jsx(NullFallback, {},);
36912
+ var nullFallback = /* @__PURE__ */ jsx(NullFallback, {
36913
+ suppressHydrationWarning: true,
36914
+ },);
36740
36915
  function collectErrorToAnalytics(error, errorInfo,) {
36741
36916
  if (!isWindow) return;
36742
36917
  if (Math.random() > 0.01) return;
@@ -36765,8 +36940,10 @@ function CodeComponentBoundary({
36765
36940
  return children;
36766
36941
  }
36767
36942
  return /* @__PURE__ */ jsx(ServerSideErrorBoundary, {
36943
+ suppressHydrationWarning: true,
36768
36944
  fallback,
36769
36945
  children: /* @__PURE__ */ jsx(ClientSideErrorBoundary, {
36946
+ suppressHydrationWarning: true,
36770
36947
  fallback,
36771
36948
  getErrorMessage,
36772
36949
  children,
@@ -36809,6 +36986,7 @@ function ServerSideErrorBoundary({
36809
36986
  // and render the actual error fallback if Suspense activates.
36810
36987
  /* @__PURE__ */
36811
36988
  jsx(Suspense2, {
36989
+ suppressHydrationWarning: true,
36812
36990
  fallback,
36813
36991
  children,
36814
36992
  },)
@@ -36819,6 +36997,7 @@ function ServerSideErrorBoundary({
36819
36997
  // (the server has Suspense, the client doesn’t).
36820
36998
  /* @__PURE__ */
36821
36999
  jsx(SuspenseThatPreservesDom, {
37000
+ suppressHydrationWarning: true,
36822
37001
  children,
36823
37002
  },);
36824
37003
  }
@@ -36881,6 +37060,7 @@ function IsExternalComponent({
36881
37060
  parent,
36882
37061
  }), [scopeId, nodeId, parent,],);
36883
37062
  return /* @__PURE__ */ jsx(ExternalComponentContext.Provider, {
37063
+ suppressHydrationWarning: true,
36884
37064
  value: newValue,
36885
37065
  children,
36886
37066
  },);
@@ -36958,11 +37138,13 @@ function useMaybeWrapComponentWithCodeBoundary(children, scopeId, nodeId, isAuth
36958
37138
  isUndefined(scopeId,) || isUndefined(nodeId,)
36959
37139
  ) {
36960
37140
  return /* @__PURE__ */ jsx(DeprecatedContainerErrorBoundary, {
37141
+ suppressHydrationWarning: true,
36961
37142
  children,
36962
37143
  },);
36963
37144
  }
36964
37145
  if (disableCustomCode && isAuthoredByUser) {
36965
37146
  return /* @__PURE__ */ jsx('div', {
37147
+ suppressHydrationWarning: true,
36966
37148
  style: {
36967
37149
  padding: '12px 16px',
36968
37150
  // Standard error box styles
@@ -36987,6 +37169,7 @@ function useMaybeWrapComponentWithCodeBoundary(children, scopeId, nodeId, isAuth
36987
37169
  );
36988
37170
  if (shouldWrapWithBoundary) {
36989
37171
  children = /* @__PURE__ */ jsx(CodeComponentBoundary, {
37172
+ suppressHydrationWarning: true,
36990
37173
  getErrorMessage: getErrorMessageForComponent.bind(null, scopeId, nodeId,),
36991
37174
  fallback: null,
36992
37175
  children,
@@ -36994,6 +37177,7 @@ function useMaybeWrapComponentWithCodeBoundary(children, scopeId, nodeId, isAuth
36994
37177
  }
36995
37178
  if (isModuleExternal) {
36996
37179
  children = /* @__PURE__ */ jsx(IsExternalComponent, {
37180
+ suppressHydrationWarning: true,
36997
37181
  scopeId,
36998
37182
  nodeId,
36999
37183
  children,
@@ -37030,16 +37214,21 @@ var ContainerInner = /* @__PURE__ */ React42.forwardRef(function ContainerInner2
37030
37214
  inComponentSlot,
37031
37215
  );
37032
37216
  return /* @__PURE__ */ jsx(MotionComponent, {
37217
+ suppressHydrationWarning: true,
37033
37218
  layoutId: outerLayoutId,
37034
37219
  ...props,
37035
37220
  ref,
37036
37221
  children: /* @__PURE__ */ jsx(ComponentContainerContext.Provider, {
37222
+ suppressHydrationWarning: true,
37037
37223
  value: true,
37038
37224
  children: /* @__PURE__ */ jsx(NodeIdContext.Provider, {
37225
+ suppressHydrationWarning: true,
37039
37226
  value: nodeId ?? null,
37040
37227
  children: /* @__PURE__ */ jsx(AutomaticLayoutIds, {
37228
+ suppressHydrationWarning: true,
37041
37229
  enabled: false,
37042
37230
  children: /* @__PURE__ */ jsx(LayoutGroup, {
37231
+ suppressHydrationWarning: true,
37043
37232
  id: layoutId ?? '',
37044
37233
  inherit: props.layout ? true : 'id',
37045
37234
  children: childrenWithCodeBoundary,
@@ -37076,8 +37265,10 @@ var SmartComponentScopedContainer = /* @__PURE__ */ React42.forwardRef(function
37076
37265
  if (props.rendersWithMotion) {
37077
37266
  const Component18 = htmlElementAsMotionComponent(tagName,);
37078
37267
  return /* @__PURE__ */ jsx(NodeIdContext.Provider, {
37268
+ suppressHydrationWarning: true,
37079
37269
  value: nodeId ?? null,
37080
37270
  children: /* @__PURE__ */ jsx(Component18, {
37271
+ suppressHydrationWarning: true,
37081
37272
  ...otherProps,
37082
37273
  ref,
37083
37274
  style: props.style,
@@ -37092,8 +37283,10 @@ var SmartComponentScopedContainer = /* @__PURE__ */ React42.forwardRef(function
37092
37283
  ...plainHTMLRenderableProps
37093
37284
  } = otherProps;
37094
37285
  return /* @__PURE__ */ jsx(NodeIdContext.Provider, {
37286
+ suppressHydrationWarning: true,
37095
37287
  value: nodeId ?? null,
37096
37288
  children: /* @__PURE__ */ jsx(Component18, {
37289
+ suppressHydrationWarning: true,
37097
37290
  ...plainHTMLRenderableProps,
37098
37291
  ref,
37099
37292
  style: props.style,
@@ -37143,8 +37336,14 @@ var CustomCursorContextProvider = /* @__PURE__ */ memo2(function CustomCursorLis
37143
37336
  },);
37144
37337
  const shouldReduceMotion = useReducedMotionConfig();
37145
37338
  return /* @__PURE__ */ jsxs(CustomCursorContext.Provider, {
37339
+ suppressHydrationWarning: true,
37146
37340
  value,
37147
- children: [children, !shouldReduceMotion && /* @__PURE__ */ jsx(CustomCursorComponent, {},),],
37341
+ children: [
37342
+ children,
37343
+ !shouldReduceMotion && /* @__PURE__ */ jsx(CustomCursorComponent, {
37344
+ suppressHydrationWarning: true,
37345
+ },),
37346
+ ],
37148
37347
  },);
37149
37348
  },);
37150
37349
  var CustomCursorHost =
@@ -37356,7 +37555,9 @@ var CustomCursorComponent = /* @__PURE__ */ memo2(function CustomCursorComponent
37356
37555
  ],);
37357
37556
  if (!hasHoverCapability || !cursor || !Cursor) return null;
37358
37557
  return /* @__PURE__ */ jsx(Suspense2, {
37558
+ suppressHydrationWarning: true,
37359
37559
  children: /* @__PURE__ */ jsx(Cursor, {
37560
+ suppressHydrationWarning: true,
37360
37561
  transformTemplate: transformTemplate2,
37361
37562
  style: {
37362
37563
  ...staticCursorStyle,
@@ -37576,6 +37777,7 @@ function ResetOuterLinkContext({
37576
37777
  children,
37577
37778
  },) {
37578
37779
  return /* @__PURE__ */ jsx(OuterLinkContext.Provider, {
37780
+ suppressHydrationWarning: true,
37579
37781
  value: void 0,
37580
37782
  children,
37581
37783
  },);
@@ -37677,6 +37879,7 @@ function useReplaceNestedLinks(children, scopeId, nodeId, href, propsAddedByLink
37677
37879
  },);
37678
37880
  }
37679
37881
  return /* @__PURE__ */ jsx(OuterLinkContext.Provider, {
37882
+ suppressHydrationWarning: true,
37680
37883
  value: innerLink,
37681
37884
  children: replacedChildren,
37682
37885
  },);
@@ -38364,6 +38567,7 @@ function Floating({
38364
38567
  const inComponent = useContext(ComponentContainerContext,);
38365
38568
  return ReactDOM.createPortal(
38366
38569
  /* @__PURE__ */ jsxs(motion.div, {
38570
+ suppressHydrationWarning: true,
38367
38571
  ref: floatingPositionRef,
38368
38572
  className: className2,
38369
38573
  style: {
@@ -38382,6 +38586,7 @@ function Floating({
38382
38586
  children: [
38383
38587
  safeArea
38384
38588
  ? /* @__PURE__ */ jsx('div', {
38589
+ suppressHydrationWarning: true,
38385
38590
  ref: safeAreaRef,
38386
38591
  style: {
38387
38592
  position: 'absolute',
@@ -38391,6 +38596,7 @@ function Floating({
38391
38596
  : // biome-ignore lint/a11y/useKeyWithClickEvents: overlays don't support key events yet.
38392
38597
  /* @__PURE__ */
38393
38598
  jsx('div', {
38599
+ suppressHydrationWarning: true,
38394
38600
  style: {
38395
38601
  position: 'fixed',
38396
38602
  inset: 0,
@@ -38399,11 +38605,15 @@ function Floating({
38399
38605
  onClick: onDismiss,
38400
38606
  },),
38401
38607
  /* @__PURE__ */ jsx(FloatingStackingContext.Provider, {
38608
+ suppressHydrationWarning: true,
38402
38609
  value: descendantContext,
38403
38610
  children: /* @__PURE__ */ jsx(ResetOuterLinkContext, {
38611
+ suppressHydrationWarning: true,
38404
38612
  children: /* @__PURE__ */ jsx(InjectSelectionStyle, {
38613
+ suppressHydrationWarning: true,
38405
38614
  triggerId: anchorRef.current?.id ?? void 0,
38406
38615
  children: /* @__PURE__ */ jsx('div', {
38616
+ suppressHydrationWarning: true,
38407
38617
  ref: contentRef,
38408
38618
  children: childrenWithOrigin(children, origin,),
38409
38619
  },),
@@ -38421,6 +38631,7 @@ var Instance = /* @__PURE__ */ React42.forwardRef(function Instance2({
38421
38631
  }, ref,) {
38422
38632
  return Component18
38423
38633
  ? /* @__PURE__ */ jsx(Component18, {
38634
+ suppressHydrationWarning: true,
38424
38635
  ...props,
38425
38636
  ref,
38426
38637
  },)
@@ -38450,6 +38661,7 @@ function AutoBreakpointVariant({
38450
38661
  };
38451
38662
  }
38452
38663
  return /* @__PURE__ */ jsx(PropertyOverrides2, {
38664
+ suppressHydrationWarning: true,
38453
38665
  overrides,
38454
38666
  breakpoint: activeVariantId,
38455
38667
  children: element,
@@ -38530,13 +38742,16 @@ function ChildrenCanSuspend({
38530
38742
  children,
38531
38743
  },) {
38532
38744
  return /* @__PURE__ */ jsx(SuspenseThatPreservesDom, {
38745
+ suppressHydrationWarning: true,
38533
38746
  children,
38534
38747
  },);
38535
38748
  }
38536
38749
  function withChildrenCanSuspend(Component18,) {
38537
38750
  return forwardRef(function withChildrenCanSuspendInner(props, ref,) {
38538
38751
  return /* @__PURE__ */ jsx(ChildrenCanSuspend, {
38752
+ suppressHydrationWarning: true,
38539
38753
  children: /* @__PURE__ */ jsx(Component18, {
38754
+ suppressHydrationWarning: true,
38540
38755
  ...props,
38541
38756
  ref,
38542
38757
  },),
@@ -39297,8 +39512,8 @@ var maxTime = 1e4;
39297
39512
  function createWorkerTask() {
39298
39513
  return function () {
39299
39514
  async function sha256(text,) {
39300
- const buffer = new TextEncoder().encode(text,);
39301
- const hashBuffer = await crypto.subtle.digest('SHA-256', buffer,);
39515
+ const buffer2 = new TextEncoder().encode(text,);
39516
+ const hashBuffer = await crypto.subtle.digest('SHA-256', buffer2,);
39302
39517
  return Array.from(new Uint8Array(hashBuffer,),).map((b) => b.toString(16,).padStart(2, '0',)).join('',);
39303
39518
  }
39304
39519
  function randomCharacters(count,) {
@@ -39503,21 +39718,17 @@ var HoneypotInput = ({
39503
39718
  'data-bwignore': true,
39504
39719
  },);
39505
39720
  };
39506
- function useHoneypotFields(isEnabled,) {
39721
+ function useHoneypotFields() {
39507
39722
  const framerSiteId = React42.useContext(FormContext,);
39508
39723
  const states = React42.useMemo(() =>
39509
- isEnabled
39510
- ? COMMON_FIELD_NAMES.map((fieldName) => {
39511
- return {
39512
- inputRef: React42.createRef(),
39513
- originalName: fieldName,
39514
- methodsUsed: {
39515
- setAttribute: false,
39516
- valueProperty: false,
39517
- },
39518
- };
39519
- },)
39520
- : [], [isEnabled,],);
39724
+ COMMON_FIELD_NAMES.map((fieldName) => ({
39725
+ inputRef: React42.createRef(),
39726
+ originalName: fieldName,
39727
+ methodsUsed: {
39728
+ setAttribute: false,
39729
+ valueProperty: false,
39730
+ },
39731
+ })), [],);
39521
39732
  const convertHoneypotFieldsForSubmission = React42.useCallback(() => {
39522
39733
  states.forEach((state) => {
39523
39734
  const currentHoneypotInput = state.inputRef.current;
@@ -39527,7 +39738,6 @@ function useHoneypotFields(isEnabled,) {
39527
39738
  },);
39528
39739
  }, [states,],);
39529
39740
  const replaceHoneypotWithMetadata = React42.useCallback((formData) => {
39530
- if (!isEnabled) return;
39531
39741
  const honeypotCount = states.length;
39532
39742
  let honeypotFilled = 0;
39533
39743
  const filledFieldsData = [];
@@ -39559,7 +39769,7 @@ function useHoneypotFields(isEnabled,) {
39559
39769
  formData.append(`${HONEYPOT_FIELD_NAME}_${METADATA_KEYS_ENUM.hpVersion}`, HONEYPOT_VERSION,);
39560
39770
  formData.append(`${HONEYPOT_FIELD_NAME}_${METADATA_KEYS_ENUM.siteId}`, framerSiteId || '',);
39561
39771
  formData.append(`${HONEYPOT_FIELD_NAME}_${METADATA_KEYS_ENUM.timeToSubmissionSinceModuleLoad}`, getTimeSinceModuleLoadInSeconds(),);
39562
- }, [isEnabled, states, framerSiteId,],);
39772
+ }, [states, framerSiteId,],);
39563
39773
  return {
39564
39774
  states,
39565
39775
  convertHoneypotFieldsForSubmission,
@@ -39574,6 +39784,7 @@ function HoneypotFields({
39574
39784
  // Names are unique at the moment, so using the originalName is fine
39575
39785
  /* @__PURE__ */
39576
39786
  jsx(HoneypotInput, {
39787
+ suppressHydrationWarning: true,
39577
39788
  inputStateRef: stateRef,
39578
39789
  }, `hp_${stateRef.originalName}`,)
39579
39790
  ),
@@ -39600,68 +39811,6 @@ function sendFormSubmitTrackingEvent(pageviewEventData, nodeId, trackingId,) {
39600
39811
  trackingId: trackingId || null,
39601
39812
  }, 'eager',);
39602
39813
  }
39603
- var RECAPTCHA_SCRIPT_URL = 'https://www.google.com/recaptcha/api.js';
39604
- function getRecaptchaScriptUrl(siteKey,) {
39605
- return `${RECAPTCHA_SCRIPT_URL}?render=${encodeURIComponent(siteKey,)}&badge=bottomleft`;
39606
- }
39607
- var captchaScriptPromises = /* @__PURE__ */ new Map();
39608
- function loadRecaptchaScript(siteKey,) {
39609
- const existing = captchaScriptPromises.get(siteKey,);
39610
- if (existing) return existing;
39611
- const scriptUrl = getRecaptchaScriptUrl(siteKey,);
39612
- if (document.querySelector(`script[src="${scriptUrl}"]`,)) {
39613
- const resolved = Promise.resolve();
39614
- captchaScriptPromises.set(siteKey, resolved,);
39615
- return resolved;
39616
- }
39617
- const promise = new Promise((resolve, reject,) => {
39618
- const script = document.createElement('script',);
39619
- script.src = scriptUrl;
39620
- script.onload = () => resolve();
39621
- script.onerror = () => {
39622
- captchaScriptPromises.delete(siteKey,);
39623
- script.remove();
39624
- reject(new Error('Failed to load captcha script',),);
39625
- };
39626
- document.head.appendChild(script,);
39627
- },);
39628
- captchaScriptPromises.set(siteKey, promise,);
39629
- return promise;
39630
- }
39631
- function executeRecaptcha(siteKey, _action,) {
39632
- return new Promise((resolve, reject,) => {
39633
- const {
39634
- grecaptcha,
39635
- } = __unframerWindow2;
39636
- if (!grecaptcha) {
39637
- reject(new Error('Captcha script not available',),);
39638
- return;
39639
- }
39640
- grecaptcha.ready(() => {
39641
- grecaptcha.execute(siteKey,).then(resolve, reject,);
39642
- },);
39643
- },);
39644
- }
39645
- function useCaptcha({
39646
- provider,
39647
- siteKey,
39648
- },) {
39649
- React42.useEffect(() => {
39650
- if (provider === 'recaptcha_v3' && siteKey) {
39651
- requestIdleCallback(() => {
39652
- loadRecaptchaScript(siteKey,).catch(() => {},);
39653
- },);
39654
- }
39655
- }, [provider, siteKey,],);
39656
- const executeChallenge = React42.useCallback(async (action) => {
39657
- if (provider !== 'recaptcha_v3' || !siteKey) return void 0;
39658
- await loadRecaptchaScript(siteKey,);
39659
- return executeRecaptcha(siteKey, action,);
39660
- }, [provider, siteKey,],);
39661
- return {
39662
- executeChallenge,
39663
- };
39664
- }
39665
39814
  var pendingState = {
39666
39815
  state: 'pending',
39667
39816
  };
@@ -39728,28 +39877,19 @@ var FormContainer = /* @__PURE__ */ React42.forwardRef(function FormContainer2({
39728
39877
  onLoading,
39729
39878
  submitTrackingId,
39730
39879
  nodeId,
39731
- formCaptchaProvider,
39732
- formCaptchaSiteKey,
39733
39880
  ...props
39734
39881
  }, forwardedRef,) {
39735
39882
  const fallbackRef = React42.useRef(null,);
39736
39883
  const ref = forwardedRef ?? fallbackRef;
39737
- const shouldUseHoneypot = !(formCaptchaProvider && formCaptchaSiteKey);
39738
39884
  const {
39739
39885
  states: honeypotStateRefs,
39740
39886
  convertHoneypotFieldsForSubmission,
39741
39887
  replaceHoneypotWithMetadata,
39742
- } = useHoneypotFields(shouldUseHoneypot,);
39888
+ } = useHoneypotFields();
39743
39889
  const router = useRouter();
39744
39890
  const currentRoute = useCurrentRoute();
39745
39891
  const implicitPathVariables = useImplicitPathVariables();
39746
39892
  const collectionUtils = useCollectionUtils();
39747
- const {
39748
- executeChallenge,
39749
- } = useCaptcha({
39750
- provider: formCaptchaProvider,
39751
- siteKey: formCaptchaSiteKey,
39752
- },);
39753
39893
  const [state, dispatch,] = React42.useReducer(formReducer, incompleteState,);
39754
39894
  const {
39755
39895
  activeLocale,
@@ -39827,7 +39967,7 @@ var FormContainer = /* @__PURE__ */ React42.forwardRef(function FormContainer2({
39827
39967
  submitTrackingId,
39828
39968
  activeLocale,
39829
39969
  },);
39830
- await submitForm(action, data2, projectHash, executeChallenge,);
39970
+ await submitForm(action, data2, projectHash,);
39831
39971
  startTransition2(() =>
39832
39972
  dispatch({
39833
39973
  type: 'success',
@@ -39874,6 +40014,7 @@ var FormContainer = /* @__PURE__ */ React42.forwardRef(function FormContainer2({
39874
40014
  );
39875
40015
  };
39876
40016
  return /* @__PURE__ */ jsxs(motion.form, {
40017
+ suppressHydrationWarning: true,
39877
40018
  ...props,
39878
40019
  onSubmit: stateCanSubmitForm(state,) ? handleSubmit : preventDefault,
39879
40020
  onKeyDown: handleKeyDown,
@@ -39881,7 +40022,8 @@ var FormContainer = /* @__PURE__ */ React42.forwardRef(function FormContainer2({
39881
40022
  ref,
39882
40023
  children: [
39883
40024
  children(state,),
39884
- shouldUseHoneypot && /* @__PURE__ */ jsx(HoneypotFields, {
40025
+ /* @__PURE__ */ jsx(HoneypotFields, {
40026
+ suppressHydrationWarning: true,
39885
40027
  states: honeypotStateRefs,
39886
40028
  },),
39887
40029
  ],
@@ -39899,20 +40041,16 @@ function anyEmptyRequiredFields(element,) {
39899
40041
  }
39900
40042
  return false;
39901
40043
  }
39902
- async function submitForm(action, data2, projectHash, executeChallenge,) {
40044
+ async function submitForm(action, data2, projectHash,) {
39903
40045
  const proofOfWork = await calculateProofOfWork();
39904
40046
  if (!proofOfWork) {
39905
40047
  throw new Error('Failed to calculate proof of work',);
39906
40048
  }
39907
- const captchaToken = await executeChallenge('submit',);
39908
40049
  const headers = {
39909
40050
  'Framer-Site-Id': projectHash,
39910
40051
  'Framer-POW': proofOfWork.secret,
39911
40052
  'Framer-Form-Fields': getEncodedFormFieldsHeader(data2,),
39912
40053
  };
39913
- if (captchaToken) {
39914
- headers['Framer-Captcha-Response'] = captchaToken;
39915
- }
39916
40054
  const response = await fetch(action, {
39917
40055
  body: data2,
39918
40056
  method: 'POST',
@@ -39978,8 +40116,11 @@ function EditorBarLauncher({
39978
40116
  }, [libraryFeatures,],);
39979
40117
  if (!EditorBar || !framerSiteId || !enabled) return null;
39980
40118
  return /* @__PURE__ */ jsx(IgnoreErrors, {
40119
+ suppressHydrationWarning: true,
39981
40120
  children: /* @__PURE__ */ jsx(Suspense2, {
40121
+ suppressHydrationWarning: true,
39982
40122
  children: /* @__PURE__ */ jsx(EditorBar, {
40123
+ suppressHydrationWarning: true,
39983
40124
  framerSiteId,
39984
40125
  features: editorBarFeatures,
39985
40126
  },),
@@ -40458,6 +40599,7 @@ function TriggerStateProvider({
40458
40599
  triggerStateRef,
40459
40600
  }));
40460
40601
  return /* @__PURE__ */ jsx(TriggerStateContext.Provider, {
40602
+ suppressHydrationWarning: true,
40461
40603
  value: initialState2,
40462
40604
  children,
40463
40605
  },);
@@ -40514,6 +40656,7 @@ function SnippetsProvider({
40514
40656
  loadSnippetsModule,
40515
40657
  },) {
40516
40658
  return /* @__PURE__ */ jsx(SnippetsContext.Provider, {
40659
+ suppressHydrationWarning: true,
40517
40660
  value: loadSnippetsModule,
40518
40661
  children,
40519
40662
  },);
@@ -41259,31 +41402,44 @@ function Router({
41259
41402
  display: 'contents',
41260
41403
  }));
41261
41404
  return /* @__PURE__ */ jsx(RouterAPIProvider, {
41405
+ suppressHydrationWarning: true,
41262
41406
  api,
41263
41407
  children: /* @__PURE__ */ jsx(LocaleInfoContext.Provider, {
41408
+ suppressHydrationWarning: true,
41264
41409
  value: localeInfo,
41265
41410
  children: /* @__PURE__ */ jsx(LayoutDirectionContext.Provider, {
41411
+ suppressHydrationWarning: true,
41266
41412
  value: layoutDirection,
41267
41413
  children: /* @__PURE__ */ jsx(CustomCursorHost, {
41414
+ suppressHydrationWarning: true,
41268
41415
  children: /* @__PURE__ */ jsx(URLSearchParamsProvider, {
41416
+ suppressHydrationWarning: true,
41269
41417
  children: /* @__PURE__ */ jsxs(TriggerStateProvider, {
41418
+ suppressHydrationWarning: true,
41270
41419
  currentRoutePath: pathWithFilledVariables,
41271
41420
  routerAPI: api,
41272
41421
  children: [
41273
41422
  EditorBar && /* @__PURE__ */ jsx(EditorBarLauncher, {
41423
+ suppressHydrationWarning: true,
41274
41424
  EditorBar,
41275
41425
  fast: true,
41276
41426
  },),
41277
41427
  /* @__PURE__ */ jsx(SynchronousSuspenseErrorBoundary, {
41428
+ suppressHydrationWarning: true,
41278
41429
  children: /* @__PURE__ */ jsxs(SuspenseThatPreservesDom, {
41430
+ suppressHydrationWarning: true,
41279
41431
  children: [
41280
41432
  /* @__PURE__ */ jsxs(NotFoundErrorBoundary, {
41433
+ suppressHydrationWarning: true,
41281
41434
  notFoundPage,
41282
41435
  defaultPageStyle,
41283
41436
  forceUpdateKey: dep,
41284
41437
  children: [
41285
- /* @__PURE__ */ jsx(MarkSuspenseEffects.Start, {},),
41438
+ /* @__PURE__ */ jsx(MarkSuspenseEffects.Start, {
41439
+ suppressHydrationWarning: true,
41440
+ },),
41286
41441
  /* @__PURE__ */ jsx(WithLayoutTemplate, {
41442
+ suppressHydrationWarning: true,
41287
41443
  LayoutTemplate,
41288
41444
  webPageId: currentRoute?.abTestingVariantId ?? currentRouteId,
41289
41445
  style: defaultPageStyle,
@@ -41299,10 +41455,15 @@ function Router({
41299
41455
  ],
41300
41456
  },),
41301
41457
  EditorBar && /* @__PURE__ */ jsx(EditorBarLauncher, {
41458
+ suppressHydrationWarning: true,
41302
41459
  EditorBar,
41303
41460
  },),
41304
- /* @__PURE__ */ jsx(TurnOnReactEventHandling, {},),
41305
- /* @__PURE__ */ jsx(MarkSuspenseEffects.End, {},),
41461
+ /* @__PURE__ */ jsx(TurnOnReactEventHandling, {
41462
+ suppressHydrationWarning: true,
41463
+ },),
41464
+ /* @__PURE__ */ jsx(MarkSuspenseEffects.End, {
41465
+ suppressHydrationWarning: true,
41466
+ },),
41306
41467
  ],
41307
41468
  },),
41308
41469
  },),
@@ -41322,6 +41483,7 @@ function WithLayoutTemplate({
41322
41483
  },) {
41323
41484
  if (!LayoutTemplate) return children(false,);
41324
41485
  return /* @__PURE__ */ jsx(LayoutTemplate, {
41486
+ suppressHydrationWarning: true,
41325
41487
  webPageId,
41326
41488
  style: style2,
41327
41489
  children,
@@ -41657,8 +41819,10 @@ var FetchClientProvider = ({
41657
41819
  return () => client.unmount();
41658
41820
  }, [client,],);
41659
41821
  return /* @__PURE__ */ jsx(IsRestoringCacheContext.Provider, {
41822
+ suppressHydrationWarning: true,
41660
41823
  value: isRestoring,
41661
41824
  children: /* @__PURE__ */ jsx(FetchClientContext.Provider, {
41825
+ suppressHydrationWarning: true,
41662
41826
  value: client,
41663
41827
  children,
41664
41828
  },),
@@ -41844,18 +42008,25 @@ function PageRoot(props,) {
41844
42008
  }, [],);
41845
42009
  if (isWebsite) {
41846
42010
  return /* @__PURE__ */ jsx(RenderTargetEnvironmentProvider, {
42011
+ suppressHydrationWarning: true,
41847
42012
  value: environment2 ?? 'preview',
41848
42013
  children: /* @__PURE__ */ jsx(MotionConfig, {
42014
+ suppressHydrationWarning: true,
41849
42015
  reducedMotion: skipAnimations ? 'always' : isReducedMotion ? 'user' : 'never',
41850
42016
  skipAnimations,
41851
42017
  children: /* @__PURE__ */ jsx(CollectionUtilsCacheProvider, {
42018
+ suppressHydrationWarning: true,
41852
42019
  collectionUtils,
41853
42020
  children: /* @__PURE__ */ jsx(FetchClientProvider, {
42021
+ suppressHydrationWarning: true,
41854
42022
  children: /* @__PURE__ */ jsx(FormContext.Provider, {
42023
+ suppressHydrationWarning: true,
41855
42024
  value: framerSiteId,
41856
42025
  children: /* @__PURE__ */ jsx(SnippetsProvider, {
42026
+ suppressHydrationWarning: true,
41857
42027
  loadSnippetsModule,
41858
42028
  children: /* @__PURE__ */ jsx(Router, {
42029
+ suppressHydrationWarning: true,
41859
42030
  initialRoute: routeId,
41860
42031
  initialPathVariables: pathVariables,
41861
42032
  initialLocaleId: localeId,
@@ -41884,9 +42055,12 @@ function PageRoot(props,) {
41884
42055
  } else {
41885
42056
  const Wrapper = includeDataObserver ? DataObserver : React42.Fragment;
41886
42057
  return /* @__PURE__ */ jsx(Wrapper, {
42058
+ suppressHydrationWarning: true,
41887
42059
  children: /* @__PURE__ */ jsx(RoutesProvider, {
42060
+ suppressHydrationWarning: true,
41888
42061
  routes,
41889
42062
  children: /* @__PURE__ */ jsx(NavigationExport, {
42063
+ suppressHydrationWarning: true,
41890
42064
  children: React42.isValidElement(RootComponent,) ? RootComponent : React42.createElement(
41891
42065
  // @ts-expect-error to figure out how to type this properly, as tests are using different
41892
42066
  // $$typeof symbol and isValidElement fails
@@ -46633,6 +46807,10 @@ var QueryCache = class {
46633
46807
  __publicField(this, 'cache', /* @__PURE__ */ new Map(),);
46634
46808
  __publicField(this, 'serializedCache', handoverCollector !== void 0 ? /* @__PURE__ */ new Map() : void 0,);
46635
46809
  }
46810
+ clear() {
46811
+ this.cache.clear();
46812
+ this.serializedCache?.clear();
46813
+ }
46636
46814
  prune() {
46637
46815
  if (this.cache.size <= this.maxSize) return;
46638
46816
  for (const [key7, value,] of this.cache) {
@@ -46694,7 +46872,7 @@ function getCacheKey(query, locale,) {
46694
46872
  async function executeServerDatabaseQuery(sql,) {
46695
46873
  const {
46696
46874
  executeServerDatabaseQuery: executeServerDatabaseQueryWithSqlite,
46697
- } = await import('./framer-chunks/SqliteDatabase-VAKIICSG-R7ZS6CHH.js');
46875
+ } = await import('./framer-chunks/SqliteDatabase-VAKIICSG-OPV4MG3Y.js');
46698
46876
  return executeServerDatabaseQueryWithSqlite(sql,);
46699
46877
  }
46700
46878
  var queryEngine = /* @__PURE__ */ new QueryEngine();
@@ -47123,7 +47301,8 @@ function activeBreakpointHashesFromWindow(breakpoints,) {
47123
47301
  function useHydratedBreakpointVariants(initial, mediaQueries, hydratedWithInitial = true,) {
47124
47302
  const isInitialNavigation = useContext(IsInitialNavigationContext,);
47125
47303
  const isStaticRenderer2 = useIsStaticRenderer();
47126
- const usesMediaQueries = !isStaticRenderer2 && isBrowser22();
47304
+ const isScreenshotHost = isScreenshotFramerHost();
47305
+ const usesMediaQueries = isBrowser22() && (!isStaticRenderer2 || isScreenshotHost);
47127
47306
  const baseVariant = useRef(usesMediaQueries ? activeMediaQueryFromWindow(mediaQueries,) ?? initial : initial,);
47128
47307
  const basePropsVariant = useRef(hydratedWithInitial && isInitialNavigation ? initial : baseVariant.current,);
47129
47308
  const forceUpdate = useForceUpdate2();
@@ -47148,13 +47327,18 @@ function useHydratedBreakpointVariants(initial, mediaQueries, hydratedWithInitia
47148
47327
  }, [instantTransition, forceUpdate, isStaticRenderer2,],);
47149
47328
  useIsomorphicLayoutEffect2(() => {
47150
47329
  if (!isStaticRenderer2) return;
47330
+ if (isScreenshotHost) {
47331
+ setActiveVariantInstant(activeMediaQueryFromWindow(mediaQueries,) ?? initial,);
47332
+ return;
47333
+ }
47151
47334
  setActiveVariantInstant(initial,);
47152
- }, [initial, isStaticRenderer2, setActiveVariantInstant,],);
47335
+ }, [initial, isScreenshotHost, isStaticRenderer2, mediaQueries, setActiveVariantInstant,],);
47153
47336
  useIsomorphicLayoutEffect2(() => {
47154
47337
  if (!hydratedWithInitial || isInitialNavigation !== true) return;
47155
47338
  setActiveVariantInstant(baseVariant.current,);
47156
47339
  }, [],);
47157
47340
  useEffect(() => {
47341
+ if (!usesMediaQueries || isScreenshotHost) return;
47158
47342
  const callbacks = [];
47159
47343
  for (const [variant, query,] of Object.entries(mediaQueries,)) {
47160
47344
  const mql = safeWindow.matchMedia(query,);
@@ -47165,7 +47349,7 @@ function useHydratedBreakpointVariants(initial, mediaQueries, hydratedWithInitia
47165
47349
  callbacks.push([mql, callback,],);
47166
47350
  }
47167
47351
  return () => callbacks.forEach(([mql, callback,],) => removeMQLCallback(mql, callback,));
47168
- }, [mediaQueries, setActiveVariantInstant,],);
47352
+ }, [isScreenshotHost, mediaQueries, setActiveVariantInstant, usesMediaQueries,],);
47169
47353
  return [baseVariant.current, basePropsVariant.current,];
47170
47354
  }
47171
47355
  function addMQLCallback(mql, callback,) {
@@ -48141,6 +48325,7 @@ function withCodeBoundaryForOverrides(Component18, {
48141
48325
  const nearestExternalComponent = useNearestExternalComponent();
48142
48326
  if (disableCustomCode) {
48143
48327
  return /* @__PURE__ */ jsx(Component18, {
48328
+ suppressHydrationWarning: true,
48144
48329
  ...props,
48145
48330
  ref,
48146
48331
  },);
@@ -48154,14 +48339,18 @@ function withCodeBoundaryForOverrides(Component18, {
48154
48339
  if (shouldWrapWithBoundary) {
48155
48340
  if (appliedOverride.status === 'success') {
48156
48341
  return /* @__PURE__ */ jsx(NodeIdContext.Provider, {
48342
+ suppressHydrationWarning: true,
48157
48343
  value: nodeId,
48158
48344
  children: /* @__PURE__ */ jsx(CodeComponentBoundary, {
48345
+ suppressHydrationWarning: true,
48159
48346
  getErrorMessage: getErrorMessageForOverride.bind(null, scopeId, nodeId,),
48160
48347
  fallback: /* @__PURE__ */ jsx(Component18, {
48348
+ suppressHydrationWarning: true,
48161
48349
  ...props,
48162
48350
  ref,
48163
48351
  },),
48164
48352
  children: /* @__PURE__ */ jsx(appliedOverride.Component, {
48353
+ suppressHydrationWarning: true,
48165
48354
  ...props,
48166
48355
  ref,
48167
48356
  },),
@@ -48175,6 +48364,7 @@ function withCodeBoundaryForOverrides(Component18, {
48175
48364
  hasErrorBeenLogged = true;
48176
48365
  }
48177
48366
  return /* @__PURE__ */ jsx(Component18, {
48367
+ suppressHydrationWarning: true,
48178
48368
  ...props,
48179
48369
  ref,
48180
48370
  },);
@@ -48182,8 +48372,10 @@ function withCodeBoundaryForOverrides(Component18, {
48182
48372
  } else {
48183
48373
  if (appliedOverride.status === 'success') {
48184
48374
  return /* @__PURE__ */ jsx(NodeIdContext.Provider, {
48375
+ suppressHydrationWarning: true,
48185
48376
  value: nodeId,
48186
48377
  children: /* @__PURE__ */ jsx(appliedOverride.Component, {
48378
+ suppressHydrationWarning: true,
48187
48379
  ...props,
48188
48380
  ref,
48189
48381
  },),
@@ -48271,6 +48463,7 @@ var withV1StrokeFX = (Component18) =>
48271
48463
  }
48272
48464
  : void 0;
48273
48465
  return /* @__PURE__ */ jsx(Component18, {
48466
+ suppressHydrationWarning: true,
48274
48467
  ...restProps,
48275
48468
  ...effect,
48276
48469
  ref: forwardedRef,
@@ -48281,7 +48474,7 @@ function flattenChildrenToTickerItems(children,) {
48281
48474
  Children.forEach(children, (child) => {
48282
48475
  if (isValidElement(child,) && child.type === Fragment) {
48283
48476
  result.push(...flattenChildrenToTickerItems(child.props.children,),);
48284
- } else {
48477
+ } else if (child) {
48285
48478
  result.push(child,);
48286
48479
  }
48287
48480
  },);
@@ -48368,7 +48561,7 @@ var TickerContext = /* @__PURE__ */ (() => {
48368
48561
  })();
48369
48562
  function useTicker() {
48370
48563
  const context = useContext(TickerContext,);
48371
- invariant(Boolean(context,), 'useTicker must be used within a Ticker component',);
48564
+ invariant2(Boolean(context,), 'useTicker must be used within a Ticker component',);
48372
48565
  return context;
48373
48566
  }
48374
48567
  var TickerItemContext = /* @__PURE__ */ (() => {
@@ -48378,7 +48571,7 @@ var TickerItemContext = /* @__PURE__ */ (() => {
48378
48571
  })();
48379
48572
  function useTickerItem() {
48380
48573
  const itemContext = useContext(TickerItemContext,);
48381
- invariant(Boolean(itemContext,), 'useTickerItem must be used within a TickerItem',);
48574
+ invariant2(Boolean(itemContext,), 'useTickerItem must be used within a TickerItem',);
48382
48575
  return itemContext;
48383
48576
  }
48384
48577
  var ltrStrategy = (insetProp, lengthProp, viewportLengthProp, paddingStartProp, direction,) => {
@@ -48471,7 +48664,7 @@ function TickerItemWrapper({
48471
48664
  return listSize * sign;
48472
48665
  }
48473
48666
  if (safeMargin > 0) {
48474
- const rightBoundary = visibleLength - inset2 + safeMargin;
48667
+ const rightBoundary = visibleLength - safeMargin - inset2;
48475
48668
  if (currentOffset * sign + bounds.start >= rightBoundary) {
48476
48669
  return -listSize * sign;
48477
48670
  }
@@ -48484,7 +48677,6 @@ function TickerItemWrapper({
48484
48677
  if (!start2 && !end || !listSize) return 0;
48485
48678
  return currentOffset * sign + start2 + currentTransform * sign;
48486
48679
  },);
48487
- const offAxisSize = alignItems === 'stretch' ? '100%' : 'fit-content';
48488
48680
  const ariaProps = cloneIndex === void 0
48489
48681
  ? {
48490
48682
  ['aria-hidden']: false,
@@ -48494,6 +48686,8 @@ function TickerItemWrapper({
48494
48686
  : {
48495
48687
  ['aria-hidden']: true,
48496
48688
  };
48689
+ const isFill = size === 'fill';
48690
+ const offAxisSize = alignItems === 'stretch' ? '100%' : 'fit-content';
48497
48691
  const props = {
48498
48692
  className: cloneIndex === void 0 ? 'ticker-item' : 'clone-item',
48499
48693
  style: {
@@ -48501,7 +48695,11 @@ function TickerItemWrapper({
48501
48695
  flexShrink: 0,
48502
48696
  position: 'relative',
48503
48697
  flexBasis: size === 'fill' ? '100%' : void 0,
48504
- display: size === 'fill' ? 'flex' : void 0,
48698
+ display: isFill ? 'grid' : void 0,
48699
+ gridTemplateColumns: isFill ? '1fr' : void 0,
48700
+ gridTemplateRows: isFill ? '1fr' : void 0,
48701
+ minWidth: isFill ? 0 : void 0,
48702
+ minHeight: isFill ? 0 : void 0,
48505
48703
  height: axis === 'x' ? offAxisSize : void 0,
48506
48704
  width: axis === 'y' ? offAxisSize : void 0,
48507
48705
  x: axis === 'x' ? projection : 0,
@@ -48510,6 +48708,7 @@ function TickerItemWrapper({
48510
48708
  ...ariaProps,
48511
48709
  };
48512
48710
  return /* @__PURE__ */ jsx(TickerItemContext.Provider, {
48711
+ suppressHydrationWarning: true,
48513
48712
  value: {
48514
48713
  start: start2,
48515
48714
  end,
@@ -48520,6 +48719,7 @@ function TickerItemWrapper({
48520
48719
  props,
48521
48720
  },
48522
48721
  children: size === 'manual' ? children : /* @__PURE__ */ jsx(DefaultTickerItem, {
48722
+ suppressHydrationWarning: true,
48523
48723
  children,
48524
48724
  },),
48525
48725
  },);
@@ -48531,6 +48731,7 @@ function DefaultTickerItem({
48531
48731
  props,
48532
48732
  } = useTickerItem();
48533
48733
  return /* @__PURE__ */ jsx(motion.li, {
48734
+ suppressHydrationWarning: true,
48534
48735
  ...props,
48535
48736
  children,
48536
48737
  },);
@@ -48558,7 +48759,9 @@ function useFocusNavigation(containerRef, axis, focusOffset, offset, setHasFocus
48558
48759
  const applyFocusOffset = () => {
48559
48760
  const nextFocusableElement = focusableElements[focusIndex];
48560
48761
  if (!nextFocusableElement) return;
48561
- nextFocusableElement.focus();
48762
+ nextFocusableElement.focus({
48763
+ preventScroll: true,
48764
+ },);
48562
48765
  focusOffset.set(-nextFocusableElement[offsetProp],);
48563
48766
  container[scrollProp] = 0;
48564
48767
  frame.render(() => {
@@ -48571,7 +48774,7 @@ function useFocusNavigation(containerRef, axis, focusOffset, offset, setHasFocus
48571
48774
  endFocusTrap();
48572
48775
  const allFocusableElements = Array.from(
48573
48776
  document.querySelectorAll('a, button, input, textarea, select, [tabindex]:not([tabindex="-1"]), [contenteditable="true"]',),
48574
- ).filter(isHTMLElement,);
48777
+ ).filter(isHTMLElement2,);
48575
48778
  allFocusableElements.sort(compareTabIndexes,);
48576
48779
  const lastFocusableElement = allFocusableElements[event.shiftKey ? 0 : allFocusableElements.length - 1];
48577
48780
  const initialIndex = event.shiftKey ? allFocusableElements.length - 1 : 0;
@@ -48604,7 +48807,7 @@ function useFocusNavigation(containerRef, axis, focusOffset, offset, setHasFocus
48604
48807
  container.querySelectorAll(
48605
48808
  '.ticker-item a, .ticker-item button, .ticker-item input, .ticker-item textarea, .ticker-item select, .ticker-item [tabindex]:not([tabindex="-1"]), .ticker-item [contenteditable="true"]',
48606
48809
  ),
48607
- ).filter(isHTMLElement,);
48810
+ ).filter(isHTMLElement2,);
48608
48811
  focusIndex = 0;
48609
48812
  if (!focusableElements.length) return;
48610
48813
  setHasFocus(true,);
@@ -48632,7 +48835,7 @@ function useFocusNavigation(containerRef, axis, focusOffset, offset, setHasFocus
48632
48835
  const {
48633
48836
  target,
48634
48837
  } = event;
48635
- if (!isHTMLElement(target,)) return;
48838
+ if (!isHTMLElement2(target,)) return;
48636
48839
  if (!isFocusTrapped.current) {
48637
48840
  startFocusTrap();
48638
48841
  }
@@ -48651,13 +48854,18 @@ function useFocusNavigation(containerRef, axis, focusOffset, offset, setHasFocus
48651
48854
  };
48652
48855
  const handleAriaHiddenClicks = (event) => {
48653
48856
  const target = event.target;
48654
- let ariaHiddenAncestor = target.closest('[aria-hidden="true"]',);
48857
+ const ariaHiddenAncestor = target.closest('[aria-hidden="true"]',);
48655
48858
  if (ariaHiddenAncestor) {
48656
48859
  ariaHiddenAncestor.removeAttribute('aria-hidden',);
48657
48860
  }
48658
48861
  };
48862
+ const resetScroll = () => {
48863
+ container.scrollLeft = 0;
48864
+ container.scrollTop = 0;
48865
+ };
48659
48866
  __unframerWindow2.addEventListener('keydown', detectFocusTrapEnable, eventOptions,);
48660
48867
  container.addEventListener('pointerdown', handleAriaHiddenClicks, eventOptions,);
48868
+ container.addEventListener('scroll', resetScroll, eventOptions,);
48661
48869
  return () => {
48662
48870
  abortController.abort();
48663
48871
  endFocusTrap();
@@ -48676,6 +48884,9 @@ function compareTabIndexes(a, b,) {
48676
48884
  }
48677
48885
  return 0;
48678
48886
  }
48887
+ function isHTMLElement2(element,) {
48888
+ return element instanceof HTMLElement;
48889
+ }
48679
48890
  function calcItemLength(itemPosition,) {
48680
48891
  return itemPosition.end - itemPosition.start;
48681
48892
  }
@@ -48714,6 +48925,8 @@ function TickerComponent({
48714
48925
  snap,
48715
48926
  safeMargin = 0,
48716
48927
  fade = 0,
48928
+ fadeTransition,
48929
+ pageTransition,
48717
48930
  ...props
48718
48931
  }, ref,) {
48719
48932
  const internalContainerRef = useRef(null,);
@@ -48730,16 +48943,22 @@ function TickerComponent({
48730
48943
  maxInset: null,
48731
48944
  },);
48732
48945
  const alignItems = alignAlias[align] || align;
48946
+ const {
48947
+ sign,
48948
+ } = getLayoutStrategy(axis, state.direction,);
48733
48949
  if (isStatic) {
48734
48950
  const renderedOffset2 = useMotionValue(0,);
48735
48951
  return /* @__PURE__ */ jsx(TickerContext.Provider, {
48952
+ suppressHydrationWarning: true,
48736
48953
  value: {
48737
48954
  ...state,
48738
48955
  gap,
48739
48956
  clampOffset: noop,
48957
+ offset: renderedOffset2,
48740
48958
  renderedOffset: renderedOffset2,
48741
48959
  },
48742
48960
  children: /* @__PURE__ */ jsx(ListView, {
48961
+ suppressHydrationWarning: true,
48743
48962
  containerProps: props,
48744
48963
  containerRef,
48745
48964
  children,
@@ -48756,13 +48975,14 @@ function TickerComponent({
48756
48975
  isStatic: true,
48757
48976
  as,
48758
48977
  fade,
48978
+ sign,
48759
48979
  },),
48760
48980
  },);
48761
48981
  }
48762
48982
  const [hasFocus, setHasFocus,] = useState(false,);
48763
48983
  const velocityFactor = useMotionValue(1,);
48764
48984
  const defaultOffset22 = useMotionValue(0,);
48765
- offset ?? (offset = defaultOffset22);
48985
+ offset ??= defaultOffset22;
48766
48986
  const wrappedOffset = useTransform(() => {
48767
48987
  if (state.direction === 'rtl' && axis === 'x') {
48768
48988
  return wrap(state.totalItemLength + gap + state.inset, state.inset, offset.get(),);
@@ -48840,12 +49060,9 @@ function TickerComponent({
48840
49060
  };
48841
49061
  }, [items, isInView, overflow,],);
48842
49062
  const isMeasured = state.totalItemLength > 0;
48843
- const {
48844
- sign,
48845
- } = getLayoutStrategy(axis, state.direction,);
48846
49063
  useAnimationFrame(
48847
49064
  isMeasured && isInView && offset === defaultOffset22 && !isReducedMotion
48848
- ? (_, delta,) => {
49065
+ ? (_time, delta,) => {
48849
49066
  const frameOffset = delta / 1e3 * (velocity * sign * velocityFactor.get());
48850
49067
  offset.set(offset.get() - frameOffset,);
48851
49068
  }
@@ -48870,6 +49087,7 @@ function TickerComponent({
48870
49087
  }
48871
49088
  : defaultBounds;
48872
49089
  clonedItems.push(/* @__PURE__ */ jsx(TickerItemWrapper, {
49090
+ suppressHydrationWarning: true,
48873
49091
  offset: renderedOffset,
48874
49092
  axis,
48875
49093
  listSize: totalListSize,
@@ -48885,23 +49103,27 @@ function TickerComponent({
48885
49103
  },);
48886
49104
  const id3 = `ticker-group-${i}`;
48887
49105
  clonedItemGroups.push(/* @__PURE__ */ jsx(LayoutGroup, {
49106
+ suppressHydrationWarning: true,
48888
49107
  id: id3,
48889
49108
  children: clonedItems,
48890
49109
  }, id3,),);
48891
49110
  }
48892
49111
  }
48893
49112
  useFocusNavigation(internalContainerRef, axis, focusOffset, offset, setHasFocus,);
48894
- const clampOffset = useCallback2((newOffset) => state.maxInset !== null ? clamp(-state.maxInset, 0, newOffset,) : newOffset, [
48895
- state.maxInset,
48896
- ],);
49113
+ const clampOffset = useCallback2((offset2) => {
49114
+ return state.maxInset !== null ? clamp(-state.maxInset, 0, offset2,) : offset2;
49115
+ }, [state.maxInset,],);
48897
49116
  return /* @__PURE__ */ jsx(TickerContext.Provider, {
49117
+ suppressHydrationWarning: true,
48898
49118
  value: {
48899
49119
  ...state,
48900
49120
  gap,
48901
49121
  clampOffset,
49122
+ offset,
48902
49123
  renderedOffset,
48903
49124
  },
48904
49125
  children: /* @__PURE__ */ jsx(ListView, {
49126
+ suppressHydrationWarning: true,
48905
49127
  containerProps: props,
48906
49128
  children,
48907
49129
  containerRef,
@@ -48931,6 +49153,9 @@ function TickerComponent({
48931
49153
  loop,
48932
49154
  as,
48933
49155
  fade,
49156
+ sign,
49157
+ fadeTransition,
49158
+ pageTransition,
48934
49159
  },),
48935
49160
  },);
48936
49161
  }
@@ -48962,6 +49187,9 @@ function ListView({
48962
49187
  loop,
48963
49188
  as,
48964
49189
  fade,
49190
+ sign,
49191
+ fadeTransition = defaultFadeTransition,
49192
+ pageTransition,
48965
49193
  },) {
48966
49194
  const MotionComponent = useMemo(() => motion.create(as,), [as,],);
48967
49195
  let dragConstraints = {};
@@ -48970,10 +49198,15 @@ function ListView({
48970
49198
  } = state;
48971
49199
  if (maxInset !== null) {
48972
49200
  if (axis === 'x') {
48973
- dragConstraints = {
48974
- left: maxInset * -1,
48975
- right: 0,
48976
- };
49201
+ dragConstraints = sign > 0
49202
+ ? {
49203
+ left: maxInset * -1,
49204
+ right: 0,
49205
+ }
49206
+ : {
49207
+ right: maxInset,
49208
+ left: 0,
49209
+ };
48977
49210
  } else {
48978
49211
  dragConstraints = {
48979
49212
  top: maxInset * -1,
@@ -48986,7 +49219,6 @@ function ListView({
48986
49219
  _dragX,
48987
49220
  _dragY,
48988
49221
  dragMomentum = false,
48989
- onDragStart,
48990
49222
  onDragEnd,
48991
49223
  onPointerDown,
48992
49224
  ...remainingProps
@@ -49021,13 +49253,18 @@ function ListView({
49021
49253
  target = Math.abs(current2 - closestNext,) < Math.abs(current2 - closestPrev,) ? closestNext : closestPrev;
49022
49254
  }
49023
49255
  }
49024
- const constraints = loop ? {} : {
49025
- max: 0,
49026
- min: dragConstraints[axis === 'x' ? 'left' : 'top'],
49027
- };
49256
+ const constraints = loop ? {} : sign > 0
49257
+ ? {
49258
+ max: 0,
49259
+ min: dragConstraints[axis === 'x' ? 'left' : 'top'],
49260
+ }
49261
+ : {
49262
+ min: 0,
49263
+ max: dragConstraints.right,
49264
+ };
49028
49265
  dragMomentumAnimation.current = animate(
49029
49266
  dragMotionValue,
49030
- clampOffset?.(target,),
49267
+ clampOffset(target * sign,) * sign,
49031
49268
  snap ? pageTransition : {
49032
49269
  type: 'inertia',
49033
49270
  velocity: velocity[axis],
@@ -49059,32 +49296,35 @@ function ListView({
49059
49296
  },);
49060
49297
  useMotionValueEvent(renderedOffset, 'change', (value) => {
49061
49298
  if (maxInset === null) return;
49062
- if (value <= maxInset) {
49063
- if (!isAtLimits.current.start) {
49064
- animate(fadeStartOpacity, 1, fadeTransition,);
49065
- isAtLimits.current.start = true;
49066
- }
49067
- } else {
49299
+ const maxOffset = maxInset * -1;
49300
+ value *= sign;
49301
+ if (value < 0) {
49068
49302
  if (isAtLimits.current.start) {
49069
49303
  animate(fadeStartOpacity, 0, fadeTransition,);
49070
49304
  isAtLimits.current.start = false;
49071
49305
  }
49072
- }
49073
- if (value >= 0) {
49074
- if (!isAtLimits.current.end) {
49075
- animate(fadeEndOpacity, 1, fadeTransition,);
49076
- isAtLimits.current.end = true;
49077
- }
49078
49306
  } else {
49307
+ if (!isAtLimits.current.start) {
49308
+ animate(fadeStartOpacity, 1, fadeTransition,);
49309
+ isAtLimits.current.start = true;
49310
+ }
49311
+ }
49312
+ if (value > maxOffset) {
49079
49313
  if (isAtLimits.current.end) {
49080
49314
  animate(fadeEndOpacity, 0, fadeTransition,);
49081
49315
  isAtLimits.current.end = false;
49082
49316
  }
49317
+ } else {
49318
+ if (!isAtLimits.current.end) {
49319
+ animate(fadeEndOpacity, 1, fadeTransition,);
49320
+ isAtLimits.current.end = true;
49321
+ }
49083
49322
  }
49084
49323
  },);
49085
49324
  return /* @__PURE__ */ jsxs(Fragment, {
49086
49325
  children: [
49087
49326
  /* @__PURE__ */ jsx(MotionComponent, {
49327
+ suppressHydrationWarning: true,
49088
49328
  ...remainingProps,
49089
49329
  ref: containerRef,
49090
49330
  style: {
@@ -49096,9 +49336,16 @@ function ListView({
49096
49336
  },
49097
49337
  onPointerEnter,
49098
49338
  onPointerLeave,
49339
+ drag: drag2,
49340
+ _dragX,
49341
+ _dragY,
49342
+ dragConstraints,
49343
+ dragMomentum,
49344
+ onPointerDown,
49345
+ onDragEnd,
49099
49346
  children: /* @__PURE__ */ jsxs(motion.ul, {
49347
+ suppressHydrationWarning: true,
49100
49348
  ref: listRef,
49101
- role: 'group',
49102
49349
  style: {
49103
49350
  ...listStyle,
49104
49351
  flexDirection: axis === 'x' ? 'row' : 'column',
@@ -49113,17 +49360,10 @@ function ListView({
49113
49360
  maxHeight: '100%',
49114
49361
  maxWidth: '100%',
49115
49362
  },
49116
- drag: drag2,
49117
- _dragX,
49118
- _dragY,
49119
- dragConstraints,
49120
- dragMomentum,
49121
- onPointerDown,
49122
- onDragStart,
49123
- onDragEnd,
49124
49363
  children: [
49125
49364
  items.map((item, index,) =>
49126
49365
  /* @__PURE__ */ jsx(TickerItemWrapper, {
49366
+ suppressHydrationWarning: true,
49127
49367
  axis,
49128
49368
  offset: renderedOffset,
49129
49369
  listSize: totalListSize,
@@ -49146,6 +49386,11 @@ function ListView({
49146
49386
  ],
49147
49387
  },);
49148
49388
  }
49389
+ function invariant2(condition, message,) {
49390
+ if (!condition) {
49391
+ throw new Error(message,);
49392
+ }
49393
+ }
49149
49394
  var defaultBounds = {
49150
49395
  start: 0,
49151
49396
  end: 0,
@@ -49163,12 +49408,7 @@ var listStyle = {
49163
49408
  margin: 0,
49164
49409
  justifyContent: 'flex-start',
49165
49410
  };
49166
- var pageTransition = {
49167
- type: 'spring',
49168
- stiffness: 400,
49169
- damping: 40,
49170
- };
49171
- var fadeTransition = {
49411
+ var defaultFadeTransition = {
49172
49412
  duration: 0.2,
49173
49413
  ease: 'linear',
49174
49414
  };
@@ -49191,6 +49431,7 @@ var BasicTicker = /* @__PURE__ */ forwardRef(function BasicTicker2(props, ref,)
49191
49431
  const baseVelocity = playState === 'paused' ? 0 : tickerEffectVelocity ?? 100;
49192
49432
  const velocity = baseVelocity * directionModifier;
49193
49433
  return /* @__PURE__ */ jsx(Ticker, {
49434
+ suppressHydrationWarning: true,
49194
49435
  ref,
49195
49436
  as: Component18,
49196
49437
  ...rest,
@@ -49254,6 +49495,7 @@ var DraggableTicker = /* @__PURE__ */ forwardRef(function DraggableTicker2(props
49254
49495
  }
49255
49496
  }, [playState, offsetMotionValue,],);
49256
49497
  return /* @__PURE__ */ jsx(Ticker, {
49498
+ suppressHydrationWarning: true,
49257
49499
  ref,
49258
49500
  as: Component18,
49259
49501
  ...rest,
@@ -49300,6 +49542,7 @@ var TickerContextProvider = ({
49300
49542
  stop: () => startTransition2(() => onPlayStateChange('paused',)),
49301
49543
  }), [onPlayStateChange,],);
49302
49544
  return /* @__PURE__ */ jsx(TickerContext2.Provider, {
49545
+ suppressHydrationWarning: true,
49303
49546
  value,
49304
49547
  children,
49305
49548
  },);
@@ -49340,8 +49583,10 @@ var Ticker2 = /* @__PURE__ */ forwardRef(function Ticker3(props, ref,) {
49340
49583
  };
49341
49584
  if (isStatic || !tickerEffectDraggable) {
49342
49585
  return /* @__PURE__ */ jsx(TickerContextProvider, {
49586
+ suppressHydrationWarning: true,
49343
49587
  onPlayStateChange: setPlayState,
49344
49588
  children: /* @__PURE__ */ jsx(BasicTicker, {
49589
+ suppressHydrationWarning: true,
49345
49590
  ...rest,
49346
49591
  style: tickerStyle,
49347
49592
  ref,
@@ -49356,8 +49601,10 @@ var Ticker2 = /* @__PURE__ */ forwardRef(function Ticker3(props, ref,) {
49356
49601
  },);
49357
49602
  }
49358
49603
  return /* @__PURE__ */ jsx(TickerContextProvider, {
49604
+ suppressHydrationWarning: true,
49359
49605
  onPlayStateChange: setPlayState,
49360
49606
  children: /* @__PURE__ */ jsx(DraggableTicker, {
49607
+ suppressHydrationWarning: true,
49361
49608
  ...rest,
49362
49609
  style: tickerStyle,
49363
49610
  ref,
@@ -49388,11 +49635,13 @@ var withTickerFX = (Component18) => {
49388
49635
  return (props) => {
49389
49636
  if (props.tickerEffectEnabled) {
49390
49637
  return /* @__PURE__ */ jsx(Ticker2, {
49638
+ suppressHydrationWarning: true,
49391
49639
  ...props,
49392
49640
  as: Component18,
49393
49641
  },);
49394
49642
  }
49395
49643
  return /* @__PURE__ */ jsx(Component18, {
49644
+ suppressHydrationWarning: true,
49396
49645
  ...props,
49397
49646
  },);
49398
49647
  };
@@ -49415,23 +49664,27 @@ var withFlowFX = (Component18) =>
49415
49664
  : transition, [transition, flowEffectTransition,],);
49416
49665
  if (!flowEffectEnabled) {
49417
49666
  return /* @__PURE__ */ jsx(Component18, {
49667
+ suppressHydrationWarning: true,
49418
49668
  ...forwardedProps,
49419
49669
  ref: forwardedRef,
49420
49670
  transition,
49421
49671
  },);
49422
49672
  }
49423
49673
  let componentWithFlowEffect = /* @__PURE__ */ jsx(Component18, {
49674
+ suppressHydrationWarning: true,
49424
49675
  ...forwardedProps,
49425
49676
  ref: forwardedRef,
49426
49677
  },);
49427
49678
  if (flowEffectTransition) {
49428
49679
  componentWithFlowEffect = /* @__PURE__ */ jsx(MotionConfig, {
49680
+ suppressHydrationWarning: true,
49429
49681
  transition: mergedTransition,
49430
49682
  children: componentWithFlowEffect,
49431
49683
  },);
49432
49684
  }
49433
49685
  if (!isNestedFlowEffect) {
49434
49686
  componentWithFlowEffect = /* @__PURE__ */ jsx(LayoutGroup, {
49687
+ suppressHydrationWarning: true,
49435
49688
  children: componentWithFlowEffect,
49436
49689
  },);
49437
49690
  }
@@ -49454,6 +49707,7 @@ function withMappedReactProps(Component18, info,) {
49454
49707
  asRecord(props,)[mapping?.[key7] ?? key7] = rawProps[key7];
49455
49708
  }
49456
49709
  return /* @__PURE__ */ jsx(Component18, {
49710
+ suppressHydrationWarning: true,
49457
49711
  ...props,
49458
49712
  },);
49459
49713
  };
@@ -50091,11 +50345,11 @@ var WebGL2ShaderRenderer = class {
50091
50345
  }
50092
50346
  };
50093
50347
  function createStaticArrayBuffer(gl, data2,) {
50094
- const buffer = gl.createBuffer();
50095
- if (!buffer) throw new Error('Failed to create buffer',);
50096
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer,);
50348
+ const buffer2 = gl.createBuffer();
50349
+ if (!buffer2) throw new Error('Failed to create buffer',);
50350
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer2,);
50097
50351
  gl.bufferData(gl.ARRAY_BUFFER, data2, gl.STATIC_DRAW,);
50098
- return buffer;
50352
+ return buffer2;
50099
50353
  }
50100
50354
  function bindFullScreenQuadAttribs(gl, program, positionBuffer, texCoordBuffer,) {
50101
50355
  const positionLocation = gl.getAttribLocation(program, 'a_position',);
@@ -50301,11 +50555,11 @@ var defaultBufferResolutionScale = 0.5;
50301
50555
  var defaultBufferFormat = 'rgba8';
50302
50556
  function resolveBufferDescriptors(buffers, common, headOptions,) {
50303
50557
  if (!buffers) return void 0;
50304
- return buffers.map((buffer) => ({
50305
- uniformName: toBufferUniformName(buffer.name,),
50306
- fragment: prepareFragmentShader(buffer.fragment, common, headOptions,),
50307
- resolutionScale: buffer.resolutionScale ?? defaultBufferResolutionScale,
50308
- format: buffer.format ?? defaultBufferFormat,
50558
+ return buffers.map((buffer2) => ({
50559
+ uniformName: toBufferUniformName(buffer2.name,),
50560
+ fragment: prepareFragmentShader(buffer2.fragment, common, headOptions,),
50561
+ resolutionScale: buffer2.resolutionScale ?? defaultBufferResolutionScale,
50562
+ format: buffer2.format ?? defaultBufferFormat,
50309
50563
  }));
50310
50564
  }
50311
50565
  var shaderConfigBrand = '__framer_shaderConfig__';
@@ -50363,30 +50617,32 @@ function validateShaderInputs(shaderConfig,) {
50363
50617
  }
50364
50618
  }
50365
50619
  if (shaderConfig.buffers) {
50366
- for (const buffer of shaderConfig.buffers) {
50367
- if (isUniformName(buffer.name,)) {
50368
- throw new Error(`Shader buffer name "${buffer.name}" must not start with "${uniformPrefix}".`,);
50620
+ for (const buffer2 of shaderConfig.buffers) {
50621
+ if (isUniformName(buffer2.name,)) {
50622
+ throw new Error(`Shader buffer name "${buffer2.name}" must not start with "${uniformPrefix}".`,);
50369
50623
  }
50370
- const derivedName = toBufferUniformName(buffer.name,);
50624
+ const derivedName = toBufferUniformName(buffer2.name,);
50371
50625
  const collidingName = seenDerivedNames.get(derivedName,);
50372
50626
  if (collidingName !== void 0) {
50373
50627
  throw new Error(
50374
- collidingName === buffer.name
50375
- ? `Duplicate shader buffer name "${buffer.name}".`
50376
- : `Shader buffer names "${collidingName}" and "${buffer.name}" both resolve to the same uniform "${derivedName}".`,
50628
+ collidingName === buffer2.name
50629
+ ? `Duplicate shader buffer name "${buffer2.name}".`
50630
+ : `Shader buffer names "${collidingName}" and "${buffer2.name}" both resolve to the same uniform "${derivedName}".`,
50377
50631
  );
50378
50632
  }
50379
- seenDerivedNames.set(derivedName, buffer.name,);
50380
- if (buffer.resolutionScale !== void 0) {
50381
- if (!isNumber2(buffer.resolutionScale,) || buffer.resolutionScale <= 0 || buffer.resolutionScale > 1) {
50633
+ seenDerivedNames.set(derivedName, buffer2.name,);
50634
+ if (buffer2.resolutionScale !== void 0) {
50635
+ if (!isNumber2(buffer2.resolutionScale,) || buffer2.resolutionScale <= 0 || buffer2.resolutionScale > 1) {
50382
50636
  throw new Error(
50383
- `Shader buffer "${buffer.name}" has invalid resolutionScale ${buffer.resolutionScale}. Must be in the range (0, 1].`,
50637
+ `Shader buffer "${buffer2.name}" has invalid resolutionScale ${buffer2.resolutionScale}. Must be in the range (0, 1].`,
50384
50638
  );
50385
50639
  }
50386
50640
  }
50387
- if (buffer.format !== void 0 && !shaderBufferFormats.has(buffer.format,)) {
50641
+ if (buffer2.format !== void 0 && !shaderBufferFormats.has(buffer2.format,)) {
50388
50642
  throw new Error(
50389
- `Shader buffer "${buffer.name}" has invalid format "${buffer.format}". Must be one of: ${[...shaderBufferFormats,].join(', ',)}.`,
50643
+ `Shader buffer "${buffer2.name}" has invalid format "${buffer2.format}". Must be one of: ${
50644
+ [...shaderBufferFormats,].join(', ',)
50645
+ }.`,
50390
50646
  );
50391
50647
  }
50392
50648
  }
@@ -50397,6 +50653,7 @@ var ShaderFallbackImage = /* @__PURE__ */ memo2(function ShaderFallbackImage2({
50397
50653
  },) {
50398
50654
  if (!src) return null;
50399
50655
  return /* @__PURE__ */ jsx(BackgroundImageComponent, {
50656
+ suppressHydrationWarning: true,
50400
50657
  image: {
50401
50658
  src,
50402
50659
  fit: 'fill',
@@ -50897,9 +51154,11 @@ var ShaderSandboxFallbackImage = /* @__PURE__ */ memo2(function ShaderSandboxFal
50897
51154
  pointerEvents: hidden ? 'none' : void 0,
50898
51155
  };
50899
51156
  return /* @__PURE__ */ jsxs('div', {
51157
+ suppressHydrationWarning: true,
50900
51158
  style: containerStyle2,
50901
51159
  children: [
50902
51160
  previousSrc && /* @__PURE__ */ jsx('img', {
51161
+ suppressHydrationWarning: true,
50903
51162
  src: previousSrc,
50904
51163
  decoding: 'async',
50905
51164
  style: sandboxFallbackImageStyle,
@@ -50907,9 +51166,11 @@ var ShaderSandboxFallbackImage = /* @__PURE__ */ memo2(function ShaderSandboxFal
50907
51166
  alt: '',
50908
51167
  }, `prev-${previousSrc}`,),
50909
51168
  /* @__PURE__ */ jsx('div', {
51169
+ suppressHydrationWarning: true,
50910
51170
  ref: previousSrc ? fadeRef : void 0,
50911
51171
  style: sandboxFallbackContainerStyle,
50912
51172
  children: /* @__PURE__ */ jsx('img', {
51173
+ suppressHydrationWarning: true,
50913
51174
  src: displaySrc,
50914
51175
  style: sandboxFallbackImageStyle,
50915
51176
  decoding: 'async',
@@ -51322,6 +51583,7 @@ function ShaderCanvas({
51322
51583
  }, [haveUniformsResolved, mouseDataRef, renderSingleFrame, updateCurrentSize, maybeResize,],);
51323
51584
  useCanvasResize(canvasRef, handleResize,);
51324
51585
  return /* @__PURE__ */ jsx('canvas', {
51586
+ suppressHydrationWarning: true,
51325
51587
  ref: canvasRef,
51326
51588
  style: canvasStyle,
51327
51589
  draggable: false,
@@ -51379,11 +51641,13 @@ var ShaderWithFallbackOverlay = /* @__PURE__ */ memo2(function ShaderWithFallbac
51379
51641
  return /* @__PURE__ */ jsxs(Fragment, {
51380
51642
  children: [
51381
51643
  /* @__PURE__ */ jsx('div', {
51644
+ suppressHydrationWarning: true,
51382
51645
  style: {
51383
51646
  ...overlayStyle,
51384
51647
  opacity: shouldHideCanvas ? 0 : 1,
51385
51648
  },
51386
51649
  children: /* @__PURE__ */ jsx(ShaderCanvas, {
51650
+ suppressHydrationWarning: true,
51387
51651
  vertexShader,
51388
51652
  fragmentShader,
51389
51653
  animated,
@@ -51401,6 +51665,7 @@ var ShaderWithFallbackOverlay = /* @__PURE__ */ memo2(function ShaderWithFallbac
51401
51665
  },),
51402
51666
  },),
51403
51667
  fallbackImage && !shouldSkipInitialFallback && /* @__PURE__ */ jsx('div', {
51668
+ suppressHydrationWarning: true,
51404
51669
  style: {
51405
51670
  ...overlayStyle,
51406
51671
  opacity: shouldShowFallback ? 1 : 0,
@@ -51408,6 +51673,7 @@ var ShaderWithFallbackOverlay = /* @__PURE__ */ memo2(function ShaderWithFallbac
51408
51673
  pointerEvents: 'none',
51409
51674
  },
51410
51675
  children: /* @__PURE__ */ jsx(ShaderFallbackImage, {
51676
+ suppressHydrationWarning: true,
51411
51677
  src: fallbackImage,
51412
51678
  },),
51413
51679
  },),
@@ -51511,8 +51777,10 @@ function useShaderMouse(containerRef, mouseConfig,) {
51511
51777
  passive: true,
51512
51778
  capture: true,
51513
51779
  },);
51780
+ const cleanupWindowResize = resize(updateRect,);
51514
51781
  const cleanupResize = resize(el, updateRect,);
51515
51782
  const cleanupHover = hover(el, () => {
51783
+ updateRect();
51516
51784
  if (!hasEnteredOnce) {
51517
51785
  hasEnteredOnce = true;
51518
51786
  smoothX.jump(rawX.get(),);
@@ -51529,6 +51797,7 @@ function useShaderMouse(containerRef, mouseConfig,) {
51529
51797
  __unframerWindow2.removeEventListener('scroll', updateRect, {
51530
51798
  capture: true,
51531
51799
  },);
51800
+ cleanupWindowResize();
51532
51801
  cleanupResize();
51533
51802
  cleanupHover();
51534
51803
  cleanupPress();
@@ -51559,18 +51828,12 @@ function useConditionalAnimationFrame(enabled, callback,) {
51559
51828
  return () => cancelAnimationFrame(rafId,);
51560
51829
  }, [enabled, callback,],);
51561
51830
  }
51562
- var shaderPriority = {
51563
- low: 0,
51564
- medium: 1,
51565
- high: 2,
51566
- };
51567
51831
  function useShaderPoolSlot(id3, isSelected, isVisible,) {
51568
51832
  const pool = useShaderPoolContext();
51569
- const priority = isSelected ? shaderPriority.high : isVisible ? shaderPriority.medium : shaderPriority.low;
51570
51833
  const [status, setStatus,] = useState(slotStatus.noSlot,);
51571
51834
  useEffect(() => {
51572
51835
  if (!pool || !id3) return;
51573
- pool.register(id3, priority,);
51836
+ pool.register(id3, isSelected, isVisible,);
51574
51837
  startTransition2(() => setStatus(pool.getSlotStatus(id3,),));
51575
51838
  const unsub = pool.subscribe(id3, () => {
51576
51839
  startTransition2(() => setStatus(pool.getSlotStatus(id3,),));
@@ -51578,7 +51841,7 @@ function useShaderPoolSlot(id3, isSelected, isVisible,) {
51578
51841
  return () => {
51579
51842
  unsub();
51580
51843
  };
51581
- }, [pool, id3, priority,],);
51844
+ }, [pool, id3, isSelected, isVisible,],);
51582
51845
  useEffect(() => {
51583
51846
  if (!pool || !id3) return;
51584
51847
  return () => {
@@ -51681,10 +51944,12 @@ var Shader = /* @__PURE__ */ forwardRef(function Shader2({
51681
51944
  if (isOnCanvas) {
51682
51945
  const hideFallback = !isFallbackOnly && (shouldSkipInitialFallback || isShaderReady);
51683
51946
  return /* @__PURE__ */ jsxs(ShaderContainerFrame, {
51947
+ suppressHydrationWarning: true,
51684
51948
  ref: observerRef,
51685
51949
  ...containerFrameProps,
51686
51950
  children: [
51687
51951
  !isFallbackOnly && /* @__PURE__ */ jsx(ShaderWithFallbackOverlay, {
51952
+ suppressHydrationWarning: true,
51688
51953
  mode: effectiveMode,
51689
51954
  skipInitialFallback: shouldSkipFallbackOverlay,
51690
51955
  onReady: handleShaderReady,
@@ -51694,6 +51959,7 @@ var Shader = /* @__PURE__ */ forwardRef(function Shader2({
51694
51959
  mouseDataRef,
51695
51960
  },),
51696
51961
  /* @__PURE__ */ jsx(ShaderSandboxFallbackImage, {
51962
+ suppressHydrationWarning: true,
51697
51963
  src: fallbackImage,
51698
51964
  hidden: hideFallback,
51699
51965
  },),
@@ -51703,17 +51969,21 @@ var Shader = /* @__PURE__ */ forwardRef(function Shader2({
51703
51969
  }
51704
51970
  if (isFallbackOnly) {
51705
51971
  return /* @__PURE__ */ jsx(ShaderContainerFrame, {
51972
+ suppressHydrationWarning: true,
51706
51973
  ref: observerRef,
51707
51974
  ...containerFrameProps,
51708
51975
  children: shouldSkipFallbackOverlay && !isIntersecting ? null : /* @__PURE__ */ jsx(ShaderFallbackImage, {
51976
+ suppressHydrationWarning: true,
51709
51977
  src: fallbackImage,
51710
51978
  },),
51711
51979
  },);
51712
51980
  }
51713
51981
  return /* @__PURE__ */ jsx(ShaderContainerFrame, {
51982
+ suppressHydrationWarning: true,
51714
51983
  ref: observerRef,
51715
51984
  ...containerFrameProps,
51716
51985
  children: /* @__PURE__ */ jsx(ShaderWithFallbackOverlay, {
51986
+ suppressHydrationWarning: true,
51717
51987
  mode: effectiveMode,
51718
51988
  fallbackImage,
51719
51989
  skipInitialFallback: shouldSkipFallbackOverlay,
@@ -51737,6 +52007,7 @@ var ShaderContainerFrame = /* @__PURE__ */ forwardRef(function ShaderContainerFr
51737
52007
  overflow: 'hidden',
51738
52008
  };
51739
52009
  return /* @__PURE__ */ jsx(FrameWithMotion2, {
52010
+ suppressHydrationWarning: true,
51740
52011
  ref,
51741
52012
  __fromCanvasComponent: true,
51742
52013
  style: styles4,
@@ -51785,6 +52056,7 @@ var withVariantAppearEffect = (Component18) =>
51785
52056
  React42.forwardRef((props, forwardedRef,) => {
51786
52057
  if (RenderTarget.current() === RenderTarget.canvas) {
51787
52058
  return /* @__PURE__ */ jsx(Component18, {
52059
+ suppressHydrationWarning: true,
51788
52060
  ...props,
51789
52061
  ref: forwardedRef,
51790
52062
  },);
@@ -51862,12 +52134,14 @@ var withVariantAppearEffect = (Component18) =>
51862
52134
  },);
51863
52135
  if (!('variantAppearEffectEnabled' in options) || variantAppearEffectEnabled === true) {
51864
52136
  return /* @__PURE__ */ jsx(Component18, {
52137
+ suppressHydrationWarning: true,
51865
52138
  ...rest,
51866
52139
  variant: activeVariant ?? props.variant,
51867
52140
  ref: observerRef,
51868
52141
  },);
51869
52142
  } else {
51870
52143
  return /* @__PURE__ */ jsx(Component18, {
52144
+ suppressHydrationWarning: true,
51871
52145
  ...rest,
51872
52146
  },);
51873
52147
  }
@@ -51890,6 +52164,7 @@ var withVariantFX = (Component18) =>
51890
52164
  true,
51891
52165
  );
51892
52166
  return /* @__PURE__ */ jsx(Component18, {
52167
+ suppressHydrationWarning: true,
51893
52168
  ...props,
51894
52169
  style: {
51895
52170
  ...props?.style,
@@ -52786,6 +53061,7 @@ var BuiltInFontSource = class {
52786
53061
  const isVariableFont2 = Array.isArray(variationAxesData,);
52787
53062
  const variant = isVariableFont2 ? 'variable' : properties.font.fontSubFamily || 'regular';
52788
53063
  const url = createAbsoluteAssetURLFromAsset(asset,);
53064
+ const validatedVariationAxes = validateVariationAxes(variationAxesData,);
52789
53065
  const font = {
52790
53066
  assetKey: asset.key,
52791
53067
  family: fontFamily,
@@ -52793,9 +53069,11 @@ var BuiltInFontSource = class {
52793
53069
  variant,
52794
53070
  file: url,
52795
53071
  hasOpenTypeFeatures: supportsOpenType(openTypeData,),
52796
- variationAxes: validateVariationAxes(variationAxesData,),
53072
+ variationAxes: validatedVariationAxes,
52797
53073
  category: properties.font.fontCategory,
52798
- weight: variantNameToWeight(variant,),
53074
+ weight: isVariableFont2
53075
+ ? getWeightFromVariationAxes(validatedVariationAxes, properties.font.faceDescriptors?.weight,)
53076
+ : variantNameToWeight(variant,),
52799
53077
  style: getFontStyle(variant,),
52800
53078
  cssFamilyName: createCSSFamilyName(fontName, isVariableFont2,),
52801
53079
  };
@@ -52815,7 +53093,8 @@ var BuiltInFontSource = class {
52815
53093
  }
52816
53094
  static parseVariant(variant,) {
52817
53095
  const kebabCaseVariant = variantToKebabCase(variant,);
52818
- const weight = variantsNameToWeight[kebabCaseVariant];
53096
+ const isVariable = kebabCaseVariant === 'variable' || kebabCaseVariant === 'variable-italic';
53097
+ const weight = isVariable ? 400 : variantsNameToWeight[kebabCaseVariant];
52819
53098
  const style2 = getFontStyle(variant,);
52820
53099
  return {
52821
53100
  weight,
@@ -52965,6 +53244,13 @@ function variantNameToWeight(variant,) {
52965
53244
  const kebabCaseVariant = variantToKebabCase(variant,);
52966
53245
  return variantsNameToWeight[kebabCaseVariant];
52967
53246
  }
53247
+ function getWeightFromVariationAxes(variationAxes, faceWeight,) {
53248
+ const axisDefault = variationAxes?.find((axis) => axis.tag === 'wght')?.defaultValue;
53249
+ if (axisDefault !== void 0 && axisDefault >= 1 && axisDefault <= 1e3) {
53250
+ return axisDefault;
53251
+ }
53252
+ return faceWeight ?? variantNameToWeight('variable',) ?? 500;
53253
+ }
52968
53254
  function variantToKebabCase(variant,) {
52969
53255
  return variant.toLowerCase().replace(/\s+/gu, '-',);
52970
53256
  }
@@ -53352,11 +53638,11 @@ function getAssetOwnerType(asset,) {
53352
53638
  async function loadFontsWithOpenType(source,) {
53353
53639
  switch (source) {
53354
53640
  case 'google': {
53355
- const supportedFonts = await import('./framer-chunks/google-3SZHWBC6-OBXS3UIH.js');
53641
+ const supportedFonts = await import('./framer-chunks/google-3SZHWBC6-2VTQEQ7J.js');
53356
53642
  return supportedFonts.default;
53357
53643
  }
53358
53644
  case 'fontshare': {
53359
- const supportedFonts = await import('./framer-chunks/fontshare-B2QLD7YB-4BZEAA37.js');
53645
+ const supportedFonts = await import('./framer-chunks/fontshare-B2QLD7YB-5V3XZJAH.js');
53360
53646
  return supportedFonts.default;
53361
53647
  }
53362
53648
  default:
@@ -53366,15 +53652,15 @@ async function loadFontsWithOpenType(source,) {
53366
53652
  async function loadFontToOpenTypeFeatures(source,) {
53367
53653
  switch (source) {
53368
53654
  case 'google': {
53369
- const features = await import('./framer-chunks/google-3FCAKCAC-P5EL6KGL.js');
53655
+ const features = await import('./framer-chunks/google-3FCAKCAC-AM34UPJK.js');
53370
53656
  return features.default;
53371
53657
  }
53372
53658
  case 'fontshare': {
53373
- const features = await import('./framer-chunks/fontshare-4THNDPMZ-BJQGNHXN.js');
53659
+ const features = await import('./framer-chunks/fontshare-4THNDPMZ-FLLTWCDO.js');
53374
53660
  return features.default;
53375
53661
  }
53376
53662
  case 'framer': {
53377
- const features = await import('./framer-chunks/framer-font-45AI7UCZ-LU7DEIDM.js');
53663
+ const features = await import('./framer-chunks/framer-font-45AI7UCZ-CKGC4MJC.js');
53378
53664
  return features.default;
53379
53665
  }
53380
53666
  default:
@@ -53918,10 +54204,10 @@ function loadVariationAxes(source,) {
53918
54204
  const axes = (async () => {
53919
54205
  switch (source) {
53920
54206
  case 'google': {
53921
- return (await import('./framer-chunks/google-GXDJLGJB-HHIXFE4M.js')).default;
54207
+ return (await import('./framer-chunks/google-GXDJLGJB-JNEJGCGD.js')).default;
53922
54208
  }
53923
54209
  case 'fontshare': {
53924
- return (await import('./framer-chunks/fontshare-O22OBJ3D-ALBQLFE5.js')).default;
54210
+ return (await import('./framer-chunks/fontshare-O22OBJ3D-FIG3CRN3.js')).default;
53925
54211
  }
53926
54212
  default:
53927
54213
  assertNever(source,);
@@ -54313,6 +54599,7 @@ function CustomProperties({
54313
54599
  customProperties,
54314
54600
  },) {
54315
54601
  return /* @__PURE__ */ jsx('div', {
54602
+ suppressHydrationWarning: true,
54316
54603
  style: customProperties,
54317
54604
  children,
54318
54605
  },);
@@ -54398,6 +54685,7 @@ var PlainTextInput = /* @__PURE__ */ forwardRef(function FormPlainTextInput(prop
54398
54685
  }, [setInputRef,],);
54399
54686
  if (type === 'hidden') {
54400
54687
  return /* @__PURE__ */ jsx(motion.input, {
54688
+ suppressHydrationWarning: true,
54401
54689
  type: 'hidden',
54402
54690
  name: inputName,
54403
54691
  defaultValue,
@@ -54414,6 +54702,7 @@ var PlainTextInput = /* @__PURE__ */ forwardRef(function FormPlainTextInput(prop
54414
54702
  type === 'textarea' && textareaInputTypeWrapperClassName,
54415
54703
  );
54416
54704
  return /* @__PURE__ */ jsxs(motion.div, {
54705
+ suppressHydrationWarning: true,
54417
54706
  ref,
54418
54707
  onClick: handleWrapperClick,
54419
54708
  style: style2,
@@ -54422,6 +54711,7 @@ var PlainTextInput = /* @__PURE__ */ forwardRef(function FormPlainTextInput(prop
54422
54711
  children: [
54423
54712
  type === 'textarea'
54424
54713
  ? /* @__PURE__ */ jsx(motion.textarea, {
54714
+ suppressHydrationWarning: true,
54425
54715
  ref: setInputRef,
54426
54716
  ...dataProps,
54427
54717
  ...eventHandlers,
@@ -54434,6 +54724,7 @@ var PlainTextInput = /* @__PURE__ */ forwardRef(function FormPlainTextInput(prop
54434
54724
  maxLength,
54435
54725
  },)
54436
54726
  : /* @__PURE__ */ jsx(motion.input, {
54727
+ suppressHydrationWarning: true,
54437
54728
  ref: setInputRef,
54438
54729
  ...dataProps,
54439
54730
  ...eventHandlers,
@@ -54450,11 +54741,14 @@ var PlainTextInput = /* @__PURE__ */ forwardRef(function FormPlainTextInput(prop
54450
54741
  maxLength,
54451
54742
  },),
54452
54743
  showClear && /* @__PURE__ */ jsx('button', {
54744
+ suppressHydrationWarning: true,
54453
54745
  type: 'button',
54454
54746
  className: clearButtonClassName,
54455
54747
  onClick: handleClear,
54456
54748
  'aria-label': 'Clear',
54457
- children: /* @__PURE__ */ jsx(ClearIcon, {},),
54749
+ children: /* @__PURE__ */ jsx(ClearIcon, {
54750
+ suppressHydrationWarning: true,
54751
+ },),
54458
54752
  },),
54459
54753
  ],
54460
54754
  },);
@@ -54466,12 +54760,14 @@ function normalizeValueForInputType(value, type,) {
54466
54760
  }
54467
54761
  function ClearIcon() {
54468
54762
  return /* @__PURE__ */ jsx('svg', {
54763
+ suppressHydrationWarning: true,
54469
54764
  xmlns: 'http://www.w3.org/2000/svg',
54470
54765
  width: '8',
54471
54766
  height: '8',
54472
54767
  viewBox: '0 0 8 8',
54473
54768
  'aria-hidden': 'true',
54474
54769
  children: /* @__PURE__ */ jsx('path', {
54770
+ suppressHydrationWarning: true,
54475
54771
  d: 'm1.5 6.5 5-5M6.5 6.5l-5-5',
54476
54772
  fill: 'none',
54477
54773
  stroke: 'currentColor',
@@ -54724,6 +55020,7 @@ var BooleanInput = /* @__PURE__ */ React42.forwardRef(function FormBooleanInput(
54724
55020
  setRef2(setReplayInputRef, input,);
54725
55021
  }, [ref, setReplayInputRef,],);
54726
55022
  return /* @__PURE__ */ jsx(motion.input, {
55023
+ suppressHydrationWarning: true,
54727
55024
  ...rest,
54728
55025
  ...attributes,
54729
55026
  ...eventHandlers,
@@ -54890,17 +55187,20 @@ var Select = /* @__PURE__ */ React42.forwardRef(function Select2(props, measureR
54890
55187
  const eventHandlers = useCustomValidity(onValid, onInvalid, handleChange, onBlur, onFocus,);
54891
55188
  if (hidden) {
54892
55189
  return /* @__PURE__ */ jsx(motion.input, {
55190
+ suppressHydrationWarning: true,
54893
55191
  type: 'hidden',
54894
55192
  name: inputName,
54895
55193
  defaultValue,
54896
55194
  },);
54897
55195
  }
54898
55196
  return /* @__PURE__ */ jsx(motion.div, {
55197
+ suppressHydrationWarning: true,
54899
55198
  ref: measureRef,
54900
55199
  style: style2,
54901
55200
  className: cx(inputWrapperClassName, selectWrapperClassName, className2,),
54902
55201
  ...rest,
54903
55202
  children: /* @__PURE__ */ jsx(motion.select, {
55203
+ suppressHydrationWarning: true,
54904
55204
  ref: setSelectRef,
54905
55205
  name: inputName,
54906
55206
  autoFocus,
@@ -54912,12 +55212,15 @@ var Select = /* @__PURE__ */ React42.forwardRef(function Select2(props, measureR
54912
55212
  children: selectOptions?.map((option, index,) => {
54913
55213
  switch (option.type) {
54914
55214
  case 'divider':
54915
- return /* @__PURE__ */ jsx('hr', {}, index,);
55215
+ return /* @__PURE__ */ jsx('hr', {
55216
+ suppressHydrationWarning: true,
55217
+ }, index,);
54916
55218
  case 'option':
54917
55219
  return (
54918
55220
  // biome-ignore lint/suspicious/noArrayIndexKey: Values can be duplicated, so we could only use UUIDs here (but that isn't really better)
54919
55221
  /* @__PURE__ */
54920
55222
  jsx('option', {
55223
+ suppressHydrationWarning: true,
54921
55224
  value: option.value ?? option.title,
54922
55225
  disabled: option.disabled,
54923
55226
  children: option.title ?? option.value,
@@ -55282,6 +55585,7 @@ function withLightboxEffect(Component18,) {
55282
55585
  return /* @__PURE__ */ jsxs(Fragment, {
55283
55586
  children: [
55284
55587
  /* @__PURE__ */ jsx(Component18, {
55588
+ suppressHydrationWarning: true,
55285
55589
  ...props,
55286
55590
  style: style2,
55287
55591
  onClick: handleClick,
@@ -55291,6 +55595,7 @@ function withLightboxEffect(Component18,) {
55291
55595
  transition,
55292
55596
  },),
55293
55597
  /* @__PURE__ */ jsx(AnimatePresence, {
55598
+ suppressHydrationWarning: true,
55294
55599
  onExitComplete: () => {
55295
55600
  startTransition2(() => {
55296
55601
  setOpenOverrides(void 0,);
@@ -55302,6 +55607,7 @@ function withLightboxEffect(Component18,) {
55302
55607
  /* @__PURE__ */ jsxs(Fragment, {
55303
55608
  children: [
55304
55609
  /* @__PURE__ */ jsx(motion.div, {
55610
+ suppressHydrationWarning: true,
55305
55611
  ...portalProps,
55306
55612
  className: lightboxClassName,
55307
55613
  onClick: onClose,
@@ -55317,6 +55623,7 @@ function withLightboxEffect(Component18,) {
55317
55623
  exit: enterExitBackdropAnimation,
55318
55624
  },),
55319
55625
  /* @__PURE__ */ jsx(motion.div, {
55626
+ suppressHydrationWarning: true,
55320
55627
  ...portalProps,
55321
55628
  className: lightboxClassName,
55322
55629
  style: {
@@ -55329,6 +55636,7 @@ function withLightboxEffect(Component18,) {
55329
55636
  zIndex: lightbox.zIndex,
55330
55637
  },
55331
55638
  children: /* @__PURE__ */ jsx('div', {
55639
+ suppressHydrationWarning: true,
55332
55640
  style: {
55333
55641
  alignItems: 'center',
55334
55642
  aspectRatio: aspectRatio2,
@@ -55340,6 +55648,7 @@ function withLightboxEffect(Component18,) {
55340
55648
  maxWidth: lightbox.maxWidth,
55341
55649
  },
55342
55650
  children: /* @__PURE__ */ jsx(motion.div, {
55651
+ suppressHydrationWarning: true,
55343
55652
  layoutId,
55344
55653
  transition,
55345
55654
  onClick: onOpen,
@@ -55357,6 +55666,7 @@ function withLightboxEffect(Component18,) {
55357
55666
  ...border,
55358
55667
  },
55359
55668
  children: /* @__PURE__ */ jsx(BackgroundImageComponent, {
55669
+ suppressHydrationWarning: true,
55360
55670
  image,
55361
55671
  alt: image.alt,
55362
55672
  draggable: props.draggable,
@@ -55414,12 +55724,14 @@ var Component16 = /* @__PURE__ */ React42.forwardRef(function Image2(props, ref,
55414
55724
  }
55415
55725
  const MotionComponent = htmlElementAsMotionComponent(props.as,);
55416
55726
  return /* @__PURE__ */ jsxs(MotionComponent, {
55727
+ suppressHydrationWarning: true,
55417
55728
  ...rest,
55418
55729
  style: style2,
55419
55730
  ref,
55420
55731
  draggable,
55421
55732
  children: [
55422
55733
  background && /* @__PURE__ */ jsx(BackgroundImageComponent, {
55734
+ suppressHydrationWarning: true,
55423
55735
  image: background,
55424
55736
  alt,
55425
55737
  draggable,
@@ -55444,6 +55756,7 @@ var ColumnMasonryLayout = /* @__PURE__ */ React42.memo(function ColumnMasonryLay
55444
55756
  const wrapperStyle2 = getMasonryColumnStyle(rowGap,);
55445
55757
  return tracks.map((trackChildren, i,) =>
55446
55758
  /* @__PURE__ */ jsx('div', {
55759
+ suppressHydrationWarning: true,
55447
55760
  style: wrapperStyle2,
55448
55761
  children: trackChildren,
55449
55762
  }, getMasonryColumnKey(i,),)
@@ -55516,6 +55829,7 @@ var withColumnMasonryLayout = (Component18) => {
55516
55829
  }, ref,) {
55517
55830
  if (!columnMasonryLayoutEnabled) {
55518
55831
  return /* @__PURE__ */ jsx(Component18, {
55832
+ suppressHydrationWarning: true,
55519
55833
  ref,
55520
55834
  style: existingStyle,
55521
55835
  ...rest,
@@ -55527,10 +55841,12 @@ var withColumnMasonryLayout = (Component18) => {
55527
55841
  gridTemplateColumns: `repeat(${trackCount}, 1fr)`,
55528
55842
  };
55529
55843
  return /* @__PURE__ */ jsx(Component18, {
55844
+ suppressHydrationWarning: true,
55530
55845
  ref,
55531
55846
  style: mergedStyle,
55532
55847
  ...rest,
55533
55848
  children: /* @__PURE__ */ jsx(ColumnMasonryLayout, {
55849
+ suppressHydrationWarning: true,
55534
55850
  trackCount,
55535
55851
  rowGap,
55536
55852
  parentIsDataRepeater,
@@ -55681,6 +55997,7 @@ var RelativeDate = /* @__PURE__ */ memo2(function RelativeDate2({
55681
55997
  children: [
55682
55998
  isWindow ? formattedRelativeDate : formattedDate,
55683
55999
  isWindow ? null : /* @__PURE__ */ jsx('script', {
56000
+ suppressHydrationWarning: true,
55684
56001
  'data-relative-date-script': 'inline',
55685
56002
  dangerouslySetInnerHTML: {
55686
56003
  __html: createHydrationScript(targetDate, dateFormat, dateStyle, dateNumeric, dateCapitalize, locale,),
@@ -55995,6 +56312,7 @@ var DeprecatedRichTextInner = /* @__PURE__ */ React.forwardRef(function Text(pro
55995
56312
  collectTextShadowsForProps(props, style2,);
55996
56313
  Object.assign(style2, props.style,);
55997
56314
  return /* @__PURE__ */ jsx(motion.div, {
56315
+ suppressHydrationWarning: true,
55998
56316
  id: id3,
55999
56317
  ref: layoutRef,
56000
56318
  ...rest,
@@ -56102,6 +56420,7 @@ function tokenizeText(text, tokenization = 'character', elements, shouldReduceMo
56102
56420
  const ref = newOverrideableRef();
56103
56421
  elements.add(ref,);
56104
56422
  return /* @__PURE__ */ jsx('span', {
56423
+ suppressHydrationWarning: true,
56105
56424
  ref,
56106
56425
  style: style2,
56107
56426
  children: text,
@@ -56123,6 +56442,7 @@ function tokenizeText(text, tokenization = 'character', elements, shouldReduceMo
56123
56442
  return /* @__PURE__ */ jsxs(React.Fragment, {
56124
56443
  children: [
56125
56444
  /* @__PURE__ */ jsx('span', {
56445
+ suppressHydrationWarning: true,
56126
56446
  style: {
56127
56447
  whiteSpace: short ? 'nowrap' : 'unset',
56128
56448
  },
@@ -56133,6 +56453,7 @@ function tokenizeText(text, tokenization = 'character', elements, shouldReduceMo
56133
56453
  // biome-ignore lint/suspicious/noArrayIndexKey: We are combining index with char.
56134
56454
  /* @__PURE__ */
56135
56455
  jsx('span', {
56456
+ suppressHydrationWarning: true,
56136
56457
  ref,
56137
56458
  style: style2,
56138
56459
  children: char,
@@ -56155,6 +56476,7 @@ function tokenizeText(text, tokenization = 'character', elements, shouldReduceMo
56155
56476
  return /* @__PURE__ */ jsxs(React.Fragment, {
56156
56477
  children: [
56157
56478
  /* @__PURE__ */ jsx('span', {
56479
+ suppressHydrationWarning: true,
56158
56480
  ref,
56159
56481
  style: style2,
56160
56482
  children: char,
@@ -56498,6 +56820,7 @@ var BaseSVG = /* @__PURE__ */ forwardRef(function BaseSVG2(props, forwardedRef,)
56498
56820
  // biome-ignore lint/a11y/noSvgWithoutTitle: FIXME: FitText might be inaccessible to screen readers because it’s wrapped in an svg
56499
56821
  /* @__PURE__ */
56500
56822
  jsx('svg', {
56823
+ suppressHydrationWarning: true,
56501
56824
  ...props,
56502
56825
  ref: forwardedRef,
56503
56826
  children: props.children,
@@ -56512,10 +56835,12 @@ var FitText = /* @__PURE__ */ forwardRef(function FitText2({
56512
56835
  ...props
56513
56836
  }, forwardedRef,) {
56514
56837
  return /* @__PURE__ */ jsx(MotionSVG, {
56838
+ suppressHydrationWarning: true,
56515
56839
  ...props,
56516
56840
  ref: forwardedRef,
56517
56841
  viewBox,
56518
56842
  children: /* @__PURE__ */ jsx(motion.foreignObject, {
56843
+ suppressHydrationWarning: true,
56519
56844
  width: '100%',
56520
56845
  height: '100%',
56521
56846
  className: 'framer-fit-text',
@@ -56579,7 +56904,9 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
56579
56904
  ...rest
56580
56905
  } = props;
56581
56906
  const parentSize = useParentSize();
56582
- const isOnCanvas = environment2() === RenderTarget.canvas;
56907
+ const renderTarget = environment2();
56908
+ const isOnCanvas = renderTarget === RenderTarget.canvas;
56909
+ const isRenderingStaticContent = isOnCanvas || renderTarget === RenderTarget.export;
56583
56910
  const inCodeComponent = useContext(ComponentContainerContext,);
56584
56911
  const layoutId = useLayoutId2(props,);
56585
56912
  const fallbackRef = useRef(null,);
@@ -56626,7 +56953,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
56626
56953
  containerStyle2.rotate = rotation;
56627
56954
  }
56628
56955
  if (positionSticky) {
56629
- if (!isOnCanvas || inCodeComponent) {
56956
+ if (!isRenderingStaticContent || inCodeComponent) {
56630
56957
  containerStyle2.position = 'sticky';
56631
56958
  containerStyle2.willChange = 'transform';
56632
56959
  containerStyle2.top = positionStickyTop;
@@ -56650,6 +56977,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
56650
56977
  if (isString(props.viewBox,)) {
56651
56978
  if (props.as !== void 0) {
56652
56979
  return /* @__PURE__ */ jsx(Component18, {
56980
+ suppressHydrationWarning: true,
56653
56981
  ...validRestProps,
56654
56982
  ref: containerRef,
56655
56983
  style: containerStyle2,
@@ -56658,6 +56986,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
56658
56986
  'data-framer-name': dataFramerName,
56659
56987
  'data-framer-component-type': richTextContainerComponentType,
56660
56988
  children: /* @__PURE__ */ jsx(FitText, {
56989
+ suppressHydrationWarning: true,
56661
56990
  viewBox,
56662
56991
  viewBoxScale,
56663
56992
  style: {
@@ -56669,6 +56998,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
56669
56998
  },);
56670
56999
  } else {
56671
57000
  return /* @__PURE__ */ jsx(FitText, {
57001
+ suppressHydrationWarning: true,
56672
57002
  ...validRestProps,
56673
57003
  ref: containerRef,
56674
57004
  style: containerStyle2,
@@ -56683,6 +57013,7 @@ var RichTextContainer = /* @__PURE__ */ forwardRef(function RichTextContainer2(p
56683
57013
  }
56684
57014
  }
56685
57015
  return /* @__PURE__ */ jsx(Component18, {
57016
+ suppressHydrationWarning: true,
56686
57017
  ...validRestProps,
56687
57018
  ref: containerRef,
56688
57019
  style: containerStyle2,
@@ -56739,6 +57070,7 @@ function processRichTextChildren(
56739
57070
  props.id = slug;
56740
57071
  const className2 = cx('framer-text', anchorLinkStylePresetClassName,);
56741
57072
  const anchorLink = /* @__PURE__ */ jsx('a', {
57073
+ suppressHydrationWarning: true,
56742
57074
  href: `#${slug}`,
56743
57075
  className: className2,
56744
57076
  children,
@@ -56749,6 +57081,16 @@ function processRichTextChildren(
56749
57081
  };
56750
57082
  children = [anchorLink,];
56751
57083
  }
57084
+ if (tag === 'ol') {
57085
+ props.style = {
57086
+ ...(props.style ?? {}),
57087
+ [maxListDigitsProperty]: safeGetMaxListDigits(
57088
+ props.start ?? 1,
57089
+ Children.count(props.children,),
57090
+ props.style?.[listStyleTypeProperty] ?? '',
57091
+ ),
57092
+ };
57093
+ }
56752
57094
  }
56753
57095
  return cloneElement32(element, props, ...children,);
56754
57096
  }
@@ -56774,6 +57116,10 @@ function extractTextFromReactNode(node,) {
56774
57116
  }
56775
57117
  return '';
56776
57118
  }
57119
+ function safeGetMaxListDigits(start2, itemCount, listStyleType,) {
57120
+ const startNumber = Number(start2,) || 1;
57121
+ return getMaxListDigits(startNumber, itemCount, listStyleType,);
57122
+ }
56777
57123
  var RichTextInner = /* @__PURE__ */ forwardRef(function RichText({
56778
57124
  children,
56779
57125
  html,
@@ -56790,6 +57136,7 @@ var RichTextInner = /* @__PURE__ */ forwardRef(function RichText({
56790
57136
  [isString(html,) ? 'html' : 'htmlFromDesign']: content,
56791
57137
  };
56792
57138
  return /* @__PURE__ */ jsx(DeprecatedRichText, {
57139
+ suppressHydrationWarning: true,
56793
57140
  ...props,
56794
57141
  ...contentProp,
56795
57142
  ref: forwardedRef,
@@ -56810,6 +57157,7 @@ var RichTextInner = /* @__PURE__ */ forwardRef(function RichText({
56810
57157
  }
56811
57158
  }
56812
57159
  return /* @__PURE__ */ jsx(RichTextContainer, {
57160
+ suppressHydrationWarning: true,
56813
57161
  ...props,
56814
57162
  ref: forwardedRef,
56815
57163
  children: isValidElement(content,) ? content : void 0,
@@ -56992,6 +57340,7 @@ var ImagePatternElement = ({
56992
57340
  },) => {
56993
57341
  const href = imageUrlForAsset(path,);
56994
57342
  return /* @__PURE__ */ jsx('pattern', {
57343
+ suppressHydrationWarning: true,
56995
57344
  id: id3,
56996
57345
  width: repeat ? width : '100%',
56997
57346
  height: repeat ? height : '100%',
@@ -57000,6 +57349,7 @@ var ImagePatternElement = ({
57000
57349
  x: repeat ? offsetX : void 0,
57001
57350
  y: repeat ? offsetY : void 0,
57002
57351
  children: /* @__PURE__ */ jsx('image', {
57352
+ suppressHydrationWarning: true,
57003
57353
  width: repeat ? width : 1,
57004
57354
  height: repeat ? height : 1,
57005
57355
  href,
@@ -57159,7 +57509,10 @@ var SharedSVGManager = class {
57159
57509
  const output = [];
57160
57510
  output.push(`<div id="svg-templates" style="${visuallyHiddenStyle}" aria-hidden="true">`,);
57161
57511
  this.entries.forEach((value) => output.push(value.svg,));
57162
- this.vectorSetItems.forEach((value) => output.push(value.svg,));
57512
+ this.vectorSetItems.forEach((value, revision,) => {
57513
+ const svg = value.svg;
57514
+ output.push(svg.includes(`id="${revision}"`,) ? svg : svg.replace(/^<svg/, `<svg id="${revision}"`,),);
57515
+ },);
57163
57516
  output.push('</div>',);
57164
57517
  return output.join('\n',);
57165
57518
  }
@@ -57253,6 +57606,7 @@ var SVGInner = /* @__PURE__ */ forwardRef(function SVG(props, forwardedRef,) {
57253
57606
  const providedWindow = useProvidedWindow();
57254
57607
  useMeasureLayout(props, layoutRef,);
57255
57608
  return /* @__PURE__ */ jsx(SVGComponent, {
57609
+ suppressHydrationWarning: true,
57256
57610
  ...props,
57257
57611
  innerRef: ref,
57258
57612
  parentSize,
@@ -57485,6 +57839,7 @@ var SVGComponent = /* @__PURE__ */ (() => {
57485
57839
  y2,
57486
57840
  } = elementPropertiesForLinearGradient(gradient, identifier,);
57487
57841
  fillElement = /* @__PURE__ */ jsx('svg', {
57842
+ suppressHydrationWarning: true,
57488
57843
  ref: this.setSVGElement,
57489
57844
  width: '100%',
57490
57845
  height: '100%',
@@ -57493,6 +57848,7 @@ var SVGComponent = /* @__PURE__ */ (() => {
57493
57848
  },
57494
57849
  role: 'presentation',
57495
57850
  children: /* @__PURE__ */ jsx('linearGradient', {
57851
+ suppressHydrationWarning: true,
57496
57852
  id: gradientId,
57497
57853
  x1,
57498
57854
  x2,
@@ -57500,6 +57856,7 @@ var SVGComponent = /* @__PURE__ */ (() => {
57500
57856
  y2,
57501
57857
  children: stops.map((stop, idx,) => {
57502
57858
  return /* @__PURE__ */ jsx('stop', {
57859
+ suppressHydrationWarning: true,
57503
57860
  offset: stop.position,
57504
57861
  stopColor: stop.color,
57505
57862
  stopOpacity: stop.alpha,
@@ -57513,6 +57870,7 @@ var SVGComponent = /* @__PURE__ */ (() => {
57513
57870
  outerStyle.fill = `url(#${gradientId})`;
57514
57871
  const elementProperties = elementPropertiesForRadialGradient(gradient, identifier,);
57515
57872
  fillElement = /* @__PURE__ */ jsx('svg', {
57873
+ suppressHydrationWarning: true,
57516
57874
  ref: this.setSVGElement,
57517
57875
  width: '100%',
57518
57876
  height: '100%',
@@ -57521,12 +57879,14 @@ var SVGComponent = /* @__PURE__ */ (() => {
57521
57879
  },
57522
57880
  role: 'presentation',
57523
57881
  children: /* @__PURE__ */ jsx('radialGradient', {
57882
+ suppressHydrationWarning: true,
57524
57883
  id: gradientId,
57525
57884
  cy: gradient.centerAnchorY,
57526
57885
  cx: gradient.centerAnchorX,
57527
57886
  r: gradient.widthFactor,
57528
57887
  children: elementProperties.stops.map((stop, idx,) => {
57529
57888
  return /* @__PURE__ */ jsx('stop', {
57889
+ suppressHydrationWarning: true,
57530
57890
  offset: stop.position,
57531
57891
  stopColor: stop.color,
57532
57892
  stopOpacity: stop.alpha,
@@ -57539,6 +57899,7 @@ var SVGComponent = /* @__PURE__ */ (() => {
57539
57899
  if (imagePattern) {
57540
57900
  outerStyle.fill = `url(#${imagePattern.id})`;
57541
57901
  fillElement = /* @__PURE__ */ jsx('svg', {
57902
+ suppressHydrationWarning: true,
57542
57903
  ref: this.setSVGElement,
57543
57904
  width: '100%',
57544
57905
  height: '100%',
@@ -57547,7 +57908,9 @@ var SVGComponent = /* @__PURE__ */ (() => {
57547
57908
  },
57548
57909
  role: 'presentation',
57549
57910
  children: /* @__PURE__ */ jsx('defs', {
57911
+ suppressHydrationWarning: true,
57550
57912
  children: /* @__PURE__ */ jsx(ImagePatternElement, {
57913
+ suppressHydrationWarning: true,
57551
57914
  ...imagePattern,
57552
57915
  },),
57553
57916
  },),
@@ -57584,7 +57947,8 @@ var SVGComponent = /* @__PURE__ */ (() => {
57584
57947
  children: [
57585
57948
  fillElement,
57586
57949
  /* @__PURE__ */ jsx('div', {
57587
- className: 'svgContainer', suppressHydrationWarning: true,
57950
+ suppressHydrationWarning: true,
57951
+ className: 'svgContainer',
57588
57952
  style: innerStyle,
57589
57953
  ref: this.container,
57590
57954
  dangerouslySetInnerHTML: {
@@ -57604,6 +57968,7 @@ var SVGComponent = /* @__PURE__ */ (() => {
57604
57968
  } = this.props;
57605
57969
  const hasTitleOrDescription = title || description;
57606
57970
  return /* @__PURE__ */ jsx(MotionComponent, {
57971
+ suppressHydrationWarning: true,
57607
57972
  ...dataProps,
57608
57973
  ...rest,
57609
57974
  layoutId,
@@ -57721,6 +58086,7 @@ var TextInner = /* @__PURE__ */ React42.forwardRef(function Text2(props, forward
57721
58086
  return replaceFramerPageLinks(props.rawHTML, getRoute, currentRoute, implicitPathVariables,);
57722
58087
  }, [props.rawHTML, getRoute, currentRoute, implicitPathVariables,],);
57723
58088
  return /* @__PURE__ */ jsx(TextComponent, {
58089
+ suppressHydrationWarning: true,
57724
58090
  ...props,
57725
58091
  innerRef: layoutRef,
57726
58092
  layoutId,
@@ -57828,6 +58194,7 @@ var TextComponent = /* @__PURE__ */ (() => {
57828
58194
  if (alignment) asRecord(style2,)['--framer-text-alignment'] = alignment;
57829
58195
  const tabIndexProps = getTabIndexProps(tabIndex,);
57830
58196
  return /* @__PURE__ */ jsx(motion.div, {
58197
+ suppressHydrationWarning: true,
57831
58198
  layoutId,
57832
58199
  id: id3,
57833
58200
  ...tabIndexProps,
@@ -57866,6 +58233,7 @@ var TextComponent = /* @__PURE__ */ (() => {
57866
58233
  }
57867
58234
  render() {
57868
58235
  return /* @__PURE__ */ jsx(ComponentContainerContext.Consumer, {
58236
+ suppressHydrationWarning: true,
57869
58237
  children: this.renderMain,
57870
58238
  },);
57871
58239
  }
@@ -57930,9 +58298,9 @@ var TextComponent = /* @__PURE__ */ (() => {
57930
58298
  rotate: rotate2,
57931
58299
  },);
57932
58300
  }
57933
- const onCanvas = RenderTarget.current() === RenderTarget.canvas;
58301
+ const isRenderingStaticContent = isStaticRenderer();
57934
58302
  if (positionSticky) {
57935
- if (!onCanvas || inCodeComponent) {
58303
+ if (!isRenderingStaticContent || inCodeComponent) {
57936
58304
  style2.position = 'sticky';
57937
58305
  style2.willChange = 'transform';
57938
58306
  style2.top = positionStickyTop;
@@ -57940,7 +58308,7 @@ var TextComponent = /* @__PURE__ */ (() => {
57940
58308
  style2.bottom = positionStickyBottom;
57941
58309
  style2.left = positionStickyLeft;
57942
58310
  }
57943
- } else if (onCanvas && (positionFixed || positionAbsolute)) {
58311
+ } else if (RenderTarget.current() === RenderTarget.canvas && (positionFixed || positionAbsolute)) {
57944
58312
  style2.position = 'absolute';
57945
58313
  }
57946
58314
  }
@@ -58038,6 +58406,7 @@ function TickerItem({
58038
58406
  props,
58039
58407
  } = itemProps;
58040
58408
  return /* @__PURE__ */ jsx(motion.li, {
58409
+ suppressHydrationWarning: true,
58041
58410
  ...props,
58042
58411
  style: {
58043
58412
  ...props.style,
@@ -58359,6 +58728,7 @@ var LinearGradientElement = class extends Component2 {
58359
58728
  y2,
58360
58729
  } = this.props;
58361
58730
  return /* @__PURE__ */ jsx('linearGradient', {
58731
+ suppressHydrationWarning: true,
58362
58732
  id: id3,
58363
58733
  x1,
58364
58734
  x2,
@@ -58366,6 +58736,7 @@ var LinearGradientElement = class extends Component2 {
58366
58736
  y2,
58367
58737
  children: stops.map((stop, idx,) => {
58368
58738
  return /* @__PURE__ */ jsx('stop', {
58739
+ suppressHydrationWarning: true,
58369
58740
  offset: stop.position,
58370
58741
  stopColor: stop.color,
58371
58742
  stopOpacity: stop.alpha,
@@ -58385,6 +58756,7 @@ var RadialGradientElement = class extends Component2 {
58385
58756
  stops,
58386
58757
  } = this.props;
58387
58758
  return /* @__PURE__ */ jsx('radialGradient', {
58759
+ suppressHydrationWarning: true,
58388
58760
  id: id3,
58389
58761
  cy: centerAnchorY,
58390
58762
  cx: centerAnchorX,
@@ -58392,6 +58764,7 @@ var RadialGradientElement = class extends Component2 {
58392
58764
  gradientTransform: getRadialGradientTransform(heightFactor, widthFactor, centerAnchorX, centerAnchorY,),
58393
58765
  children: stops.map((stop, idx,) => {
58394
58766
  return /* @__PURE__ */ jsx('stop', {
58767
+ suppressHydrationWarning: true,
58395
58768
  offset: stop.position,
58396
58769
  stopColor: stop.color,
58397
58770
  stopOpacity: stop.alpha,
@@ -58444,6 +58817,7 @@ var SVGRoot = (props) => {
58444
58817
  const needsTranslate = __unframerWindow2.devicePixelRatio === 1;
58445
58818
  if (!needsScale && !needsTranslate) {
58446
58819
  return /* @__PURE__ */ jsx('svg', {
58820
+ suppressHydrationWarning: true,
58447
58821
  role: 'presentation',
58448
58822
  ...svgProps,
58449
58823
  style: svgStyle,
@@ -58456,6 +58830,7 @@ var SVGRoot = (props) => {
58456
58830
  }
58457
58831
  : void 0;
58458
58832
  return /* @__PURE__ */ jsx('svg', {
58833
+ suppressHydrationWarning: true,
58459
58834
  role: 'presentation',
58460
58835
  ...svgProps,
58461
58836
  style: {
@@ -58463,6 +58838,7 @@ var SVGRoot = (props) => {
58463
58838
  ...svgTransform,
58464
58839
  },
58465
58840
  children: /* @__PURE__ */ jsx('g', {
58841
+ suppressHydrationWarning: true,
58466
58842
  style: {
58467
58843
  // The default value of transform-origin is 0 0 for all SVG elements except
58468
58844
  // for root <svg> elements:
@@ -58626,6 +59002,7 @@ var Vector = /* @__PURE__ */ (() => {
58626
59002
  if (shadow.insetElement !== null || shadow.outsetElement !== null || insideStroke) {
58627
59003
  pathAttributes.id = internalShapeId.id;
58628
59004
  shapeReference = /* @__PURE__ */ jsx(motion.path, {
59005
+ suppressHydrationWarning: true,
58629
59006
  ...{
58630
59007
  ...pathAttributes,
58631
59008
  },
@@ -58634,14 +59011,17 @@ var Vector = /* @__PURE__ */ (() => {
58634
59011
  },);
58635
59012
  if (shadow.needsStrokeClip || insideStroke) {
58636
59013
  strokeClipPath = /* @__PURE__ */ jsx('clipPath', {
59014
+ suppressHydrationWarning: true,
58637
59015
  id: internalStrokeClipId.id,
58638
59016
  children: /* @__PURE__ */ jsx('use', {
59017
+ suppressHydrationWarning: true,
58639
59018
  xlinkHref: internalShapeId.link,
58640
59019
  },),
58641
59020
  },);
58642
59021
  }
58643
59022
  if (shadow.insetElement !== null && strokeEnabled && strokeWidth && strokeWidth > 0) {
58644
59023
  mainElement = /* @__PURE__ */ jsx('use', {
59024
+ suppressHydrationWarning: true,
58645
59025
  xlinkHref: internalShapeId.link,
58646
59026
  fill: vectorFill,
58647
59027
  fillOpacity,
@@ -58649,6 +59029,7 @@ var Vector = /* @__PURE__ */ (() => {
58649
59029
  name: currentName,
58650
59030
  },);
58651
59031
  strokeElement = /* @__PURE__ */ jsx('use', {
59032
+ suppressHydrationWarning: true,
58652
59033
  xlinkHref: internalShapeId.link,
58653
59034
  clipPath: internalStrokeClipId.urlLink,
58654
59035
  fill: 'transparent',
@@ -58657,6 +59038,7 @@ var Vector = /* @__PURE__ */ (() => {
58657
59038
  },);
58658
59039
  } else {
58659
59040
  mainElement = /* @__PURE__ */ jsx('use', {
59041
+ suppressHydrationWarning: true,
58660
59042
  xlinkHref: internalShapeId.link,
58661
59043
  fill: vectorFill,
58662
59044
  fillOpacity,
@@ -58669,6 +59051,7 @@ var Vector = /* @__PURE__ */ (() => {
58669
59051
  } else {
58670
59052
  pathAttributes.id = idAttribute;
58671
59053
  mainElement = /* @__PURE__ */ jsx(motion.path, {
59054
+ suppressHydrationWarning: true,
58672
59055
  ...{
58673
59056
  ...pathAttributes,
58674
59057
  fill: vectorFill,
@@ -58682,6 +59065,7 @@ var Vector = /* @__PURE__ */ (() => {
58682
59065
  }
58683
59066
  const imagePatternElement = imagePattern
58684
59067
  ? /* @__PURE__ */ jsx(ImagePatternElement, {
59068
+ suppressHydrationWarning: true,
58685
59069
  ...imagePattern,
58686
59070
  repeat: BackgroundImage.isImageObject(fill,) && fill.fit === 'tile',
58687
59071
  },)
@@ -58689,22 +59073,26 @@ var Vector = /* @__PURE__ */ (() => {
58689
59073
  let gradient;
58690
59074
  if (linearGradient) {
58691
59075
  gradient = /* @__PURE__ */ jsx(LinearGradientElement, {
59076
+ suppressHydrationWarning: true,
58692
59077
  ...linearGradient,
58693
59078
  },);
58694
59079
  } else if (radialGradient) {
58695
59080
  gradient = /* @__PURE__ */ jsx(RadialGradientElement, {
59081
+ suppressHydrationWarning: true,
58696
59082
  ...radialGradient,
58697
59083
  },);
58698
59084
  }
58699
59085
  let defs = null;
58700
59086
  if (shapeReference || strokeClipPath || shadow.definition && shadow.definition.length || gradient || imagePatternElement) {
58701
59087
  defs = /* @__PURE__ */ jsxs('defs', {
59088
+ suppressHydrationWarning: true,
58702
59089
  children: [shapeReference, strokeClipPath, shadow.definition, gradient, imagePatternElement,],
58703
59090
  },);
58704
59091
  }
58705
59092
  const opacityValue = opacity ?? (variants ? 1 : void 0);
58706
59093
  if (defs === null && shadow.outsetElement === null && shadow.insetElement === null && strokeElement === null) {
58707
59094
  mainElement = /* @__PURE__ */ jsx(motion.path, {
59095
+ suppressHydrationWarning: true,
58708
59096
  ...{
58709
59097
  ...pathAttributes,
58710
59098
  fill: vectorFill,
@@ -58719,6 +59107,7 @@ var Vector = /* @__PURE__ */ (() => {
58719
59107
  return this.renderElement(mainElement,);
58720
59108
  }
58721
59109
  return this.renderElement(/* @__PURE__ */ jsxs(motion.g, {
59110
+ suppressHydrationWarning: true,
58722
59111
  opacity: opacityValue,
58723
59112
  variants,
58724
59113
  transition,
@@ -58740,6 +59129,7 @@ var Vector = /* @__PURE__ */ (() => {
58740
59129
  if (!isRootVectorNode) return element;
58741
59130
  if (includeTransform) return element;
58742
59131
  return /* @__PURE__ */ jsx(SVGRoot, {
59132
+ suppressHydrationWarning: true,
58743
59133
  id: id3,
58744
59134
  width,
58745
59135
  height,
@@ -58842,6 +59232,7 @@ var VectorGroup = /* @__PURE__ */ (() => {
58842
59232
  }
58843
59233
  }
58844
59234
  return this.renderElement(/* @__PURE__ */ jsx('g', {
59235
+ suppressHydrationWarning: true,
58845
59236
  transform: transformString2(transform2,),
58846
59237
  ...{
58847
59238
  name,
@@ -58865,6 +59256,7 @@ var VectorGroup = /* @__PURE__ */ (() => {
58865
59256
  if (!isRootVectorNode) return element;
58866
59257
  if (includeTransform) return element;
58867
59258
  return /* @__PURE__ */ jsx(SVGRoot, {
59259
+ suppressHydrationWarning: true,
58868
59260
  id: id3,
58869
59261
  left,
58870
59262
  top,
@@ -59320,7 +59712,7 @@ var package_default = {
59320
59712
  },
59321
59713
  dependencies: {
59322
59714
  '@sqlite.org/sqlite-wasm': '^3.50.4-build1',
59323
- devalue: '^5.6.4',
59715
+ devalue: '^5.8.1',
59324
59716
  eventemitter3: '^5.0.1',
59325
59717
  fontfaceobserver: '2.2.0',
59326
59718
  'hoist-non-react-statics': '^3.3.2',