unframer 3.1.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +3 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/exporter.d.ts +2 -1
  5. package/dist/exporter.d.ts.map +1 -1
  6. package/dist/exporter.js +76 -31
  7. package/dist/exporter.js.map +1 -1
  8. package/dist/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.d.ts +634 -0
  9. package/dist/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.d.ts.map +1 -0
  10. package/dist/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js +8 -0
  11. package/dist/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js.map +1 -0
  12. package/dist/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.d.ts +115 -0
  13. package/dist/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.d.ts.map +1 -0
  14. package/dist/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js +8 -0
  15. package/dist/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js.map +1 -0
  16. package/dist/framer-chunks/fontshare-Y53BJZLK-EUQIV252.d.ts +781 -0
  17. package/dist/framer-chunks/fontshare-Y53BJZLK-EUQIV252.d.ts.map +1 -0
  18. package/dist/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js +8 -0
  19. package/dist/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js.map +1 -0
  20. package/dist/framer-chunks/google-2KFYDWCN-PJC2DDXK.d.ts +1566 -0
  21. package/dist/framer-chunks/google-2KFYDWCN-PJC2DDXK.d.ts.map +1 -0
  22. package/dist/framer-chunks/google-2KFYDWCN-PJC2DDXK.js +8 -0
  23. package/dist/framer-chunks/google-2KFYDWCN-PJC2DDXK.js.map +1 -0
  24. package/dist/framer-chunks/google-HSMCYMMG-DWNQGSHN.d.ts +10293 -0
  25. package/dist/framer-chunks/google-HSMCYMMG-DWNQGSHN.d.ts.map +1 -0
  26. package/dist/framer-chunks/google-HSMCYMMG-DWNQGSHN.js +8 -0
  27. package/dist/framer-chunks/google-HSMCYMMG-DWNQGSHN.js.map +1 -0
  28. package/dist/framer-chunks/google-S367OFIE-AWJEPMSF.d.ts +3588 -0
  29. package/dist/framer-chunks/google-S367OFIE-AWJEPMSF.d.ts.map +1 -0
  30. package/dist/framer-chunks/google-S367OFIE-AWJEPMSF.js +8 -0
  31. package/dist/framer-chunks/google-S367OFIE-AWJEPMSF.js.map +1 -0
  32. package/dist/framer.js +199 -107
  33. package/dist/version.d.ts +1 -1
  34. package/dist/version.js +1 -1
  35. package/esm/cli.d.ts.map +1 -1
  36. package/esm/cli.js +3 -0
  37. package/esm/cli.js.map +1 -1
  38. package/esm/exporter.d.ts +2 -1
  39. package/esm/exporter.d.ts.map +1 -1
  40. package/esm/exporter.js +77 -32
  41. package/esm/exporter.js.map +1 -1
  42. package/esm/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.d.ts +634 -0
  43. package/esm/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.d.ts.map +1 -0
  44. package/esm/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js +5 -0
  45. package/esm/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js.map +1 -0
  46. package/esm/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.d.ts +115 -0
  47. package/esm/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.d.ts.map +1 -0
  48. package/esm/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js +5 -0
  49. package/esm/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js.map +1 -0
  50. package/esm/framer-chunks/fontshare-Y53BJZLK-EUQIV252.d.ts +781 -0
  51. package/esm/framer-chunks/fontshare-Y53BJZLK-EUQIV252.d.ts.map +1 -0
  52. package/esm/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js +5 -0
  53. package/esm/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js.map +1 -0
  54. package/esm/framer-chunks/google-2KFYDWCN-PJC2DDXK.d.ts +1566 -0
  55. package/esm/framer-chunks/google-2KFYDWCN-PJC2DDXK.d.ts.map +1 -0
  56. package/esm/framer-chunks/google-2KFYDWCN-PJC2DDXK.js +5 -0
  57. package/esm/framer-chunks/google-2KFYDWCN-PJC2DDXK.js.map +1 -0
  58. package/esm/framer-chunks/google-HSMCYMMG-DWNQGSHN.d.ts +10293 -0
  59. package/esm/framer-chunks/google-HSMCYMMG-DWNQGSHN.d.ts.map +1 -0
  60. package/esm/framer-chunks/google-HSMCYMMG-DWNQGSHN.js +5 -0
  61. package/esm/framer-chunks/google-HSMCYMMG-DWNQGSHN.js.map +1 -0
  62. package/esm/framer-chunks/google-S367OFIE-AWJEPMSF.d.ts +3588 -0
  63. package/esm/framer-chunks/google-S367OFIE-AWJEPMSF.d.ts.map +1 -0
  64. package/esm/framer-chunks/google-S367OFIE-AWJEPMSF.js +5 -0
  65. package/esm/framer-chunks/google-S367OFIE-AWJEPMSF.js.map +1 -0
  66. package/esm/framer.js +199 -107
  67. package/esm/version.d.ts +1 -1
  68. package/esm/version.js +1 -1
  69. package/package.json +2 -2
  70. package/src/cli.ts +3 -0
  71. package/src/exporter.ts +101 -33
  72. package/src/framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js +7 -0
  73. package/src/framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js +7 -0
  74. package/src/framer-chunks/fontshare-Y53BJZLK-EUQIV252.js +7 -0
  75. package/src/framer-chunks/google-2KFYDWCN-PJC2DDXK.js +7 -0
  76. package/src/framer-chunks/google-HSMCYMMG-DWNQGSHN.js +7 -0
  77. package/src/framer-chunks/google-S367OFIE-AWJEPMSF.js +7 -0
  78. package/src/framer.js +198 -111
  79. package/src/styles/framer.css +13 -12
  80. package/src/version.ts +1 -1
package/dist/framer.js CHANGED
@@ -10959,7 +10959,7 @@ function stagger(duration = 0.1, { startDelay = 0, from = 0, ease: ease2, } = {}
10959
10959
  return startDelay + delay2;
10960
10960
  };
10961
10961
  }
10962
- // /:https://app.framerstatic.com/framer.O23R7WUO.mjs
10962
+ // /:https://app.framerstatic.com/framer.ZNMFLOLI.mjs
10963
10963
  const react_10 = require("react");
10964
10964
  const react_11 = __importDefault(require("react"));
10965
10965
  const react_12 = require("react");
@@ -12431,33 +12431,10 @@ function useRouteHandler(routeId, preload = false, elementId) {
12431
12431
  const handler = react_11.default.useCallback(() => navigate == null ? void 0 : navigate(routeId, elementId), [navigate, elementId, routeId,]);
12432
12432
  return handler;
12433
12433
  }
12434
- var timezone;
12435
- var visitorLocale;
12436
- function setTimezoneAndLocaleForTracking() {
12437
- const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions();
12438
- timezone = resolvedDateTimeOptions.timeZone;
12439
- visitorLocale = resolvedDateTimeOptions.locale;
12440
- }
12441
- requestIdleCallback(setTimezoneAndLocaleForTracking);
12434
+ var pageviewEventVersion = 2;
12442
12435
  function sendTrackingEvent(eventType, eventData, sendOn = 'lazy') {
12443
- if (!safeWindow.__framer_events)
12444
- return;
12445
- if (!timezone || !visitorLocale)
12446
- setTimezoneAndLocaleForTracking();
12447
- safeWindow.__framer_events.push([eventType, {
12448
- // Base properties common to all events
12449
- referrer: null,
12450
- // The first pageview event will always be sent before hydration, in a script in `exportToHTML.ts`.
12451
- url: safeWindow.location.href,
12452
- hostname: safeWindow.location.hostname || null,
12453
- pathname: safeWindow.location.pathname || null,
12454
- hash: safeWindow.location.hash || null,
12455
- search: safeWindow.location.search || null,
12456
- timezone,
12457
- locale: visitorLocale,
12458
- // Additional properties specific to custom events
12459
- ...eventData,
12460
- }, sendOn,]);
12436
+ var _a;
12437
+ (_a = safeWindow.__framer_events) == null ? void 0 : _a.push([eventType, eventData, sendOn,]);
12461
12438
  switch (eventType) {
12462
12439
  case 'published_site_click': {
12463
12440
  const { trackingId, href, } = eventData;
@@ -13361,7 +13338,7 @@ function usePopStateHandler(currentRouteId, setCurrentRouteId) {
13361
13338
  const stopMonitoringINPRelatedInputs = monitorINPRelatedInputs();
13362
13339
  void nextRender.promise.finally(stopMonitoringINPRelatedInputs);
13363
13340
  const changeRoute = () => {
13364
- setCurrentRouteId(routeId, isString(localeId) ? localeId : void 0, isString(hash2) ? hash2 : void 0, isObject2(pathVariables) ? pathVariables : void 0, true, nextRender, false);
13341
+ setCurrentRouteId(routeId, isString(localeId) ? localeId : void 0, isString(hash2) ? hash2 : void 0, window.location.pathname + window.location.search + window.location.hash, isObject2(pathVariables) ? pathVariables : void 0, true, nextRender, false);
13365
13342
  };
13366
13343
  const viewTransition = await startViewTransition2(currentRouteId.current, routeId, changeRoute);
13367
13344
  const navigationTransition = (_d = window.navigation) == null ? void 0 : _d.transition;
@@ -18853,9 +18830,15 @@ var DimensionType = /* @__PURE__ */ ((DimensionType2) => {
18853
18830
  DimensionType2[DimensionType2['Auto'] = 2] = 'Auto';
18854
18831
  DimensionType2[DimensionType2['FractionOfFreeSpace'] = 3] = 'FractionOfFreeSpace';
18855
18832
  DimensionType2[DimensionType2['Viewport'] = 4] = 'Viewport';
18833
+ DimensionType2[DimensionType2['FitImage'] = 5] = 'FitImage';
18856
18834
  return DimensionType2;
18857
18835
  })(DimensionType || {});
18858
18836
  exports.DimensionType = DimensionType;
18837
+ function isAutoDimensionType(dimensionType) {
18838
+ if (isUndefined(dimensionType))
18839
+ return false;
18840
+ return dimensionType === 2 || dimensionType === 5;
18841
+ }
18859
18842
  function isConstraintSupportingChild(child) {
18860
18843
  if (!isReactChild(child) || !isReactElement(child)) {
18861
18844
  return false;
@@ -18866,7 +18849,7 @@ var ConstraintMask = {
18866
18849
  // Modifies the constraint mask to remove invalid (mutually exclusive) options and returns the original.
18867
18850
  // TODO: this removes major inconsistencies but probably needs to be merged with ConstraintSolver.
18868
18851
  quickfix: (constraints) => {
18869
- if (constraints.widthType === 2 || constraints.heightType === 2) {
18852
+ if (isAutoDimensionType(constraints.widthType) || isAutoDimensionType(constraints.heightType)) {
18870
18853
  constraints.aspectRatio = null;
18871
18854
  }
18872
18855
  if (isFiniteNumber(constraints.aspectRatio)) {
@@ -18884,13 +18867,13 @@ var ConstraintMask = {
18884
18867
  }
18885
18868
  }
18886
18869
  if (constraints.left && constraints.right) {
18887
- if (constraints.fixedSize || constraints.widthType === 2 || isFiniteNumber(constraints.maxWidth)) {
18870
+ if (constraints.fixedSize || isAutoDimensionType(constraints.widthType) || isFiniteNumber(constraints.maxWidth)) {
18888
18871
  constraints.right = false;
18889
18872
  }
18890
18873
  constraints.widthType = 0;
18891
18874
  }
18892
18875
  if (constraints.top && constraints.bottom) {
18893
- if (constraints.fixedSize || constraints.heightType === 2 || isFiniteNumber(constraints.maxHeight)) {
18876
+ if (constraints.fixedSize || isAutoDimensionType(constraints.heightType) || isFiniteNumber(constraints.maxHeight)) {
18894
18877
  constraints.bottom = false;
18895
18878
  }
18896
18879
  constraints.heightType = 0;
@@ -19000,7 +18983,7 @@ var ConstraintValues = {
19000
18983
  if (parentWidth && isFiniteNumber(hOpposingPinsOffset)) {
19001
18984
  width = parentWidth - hOpposingPinsOffset;
19002
18985
  }
19003
- else if (autoSize && values.widthType === 2) {
18986
+ else if (autoSize && isAutoDimensionType(values.widthType)) {
19004
18987
  width = autoSize.width;
19005
18988
  }
19006
18989
  else if (isFiniteNumber(values.width)) {
@@ -19018,6 +19001,7 @@ var ConstraintValues = {
19018
19001
  }
19019
19002
  break;
19020
19003
  case 2:
19004
+ case 5:
19021
19005
  break;
19022
19006
  default:
19023
19007
  assertNever(values.widthType);
@@ -19027,7 +19011,7 @@ var ConstraintValues = {
19027
19011
  if (parentHeight && isFiniteNumber(vOpposingPinsOffset)) {
19028
19012
  height = parentHeight - vOpposingPinsOffset;
19029
19013
  }
19030
- else if (autoSize && values.heightType === 2) {
19014
+ else if (autoSize && isAutoDimensionType(values.heightType)) {
19031
19015
  height = autoSize.height;
19032
19016
  }
19033
19017
  else if (isFiniteNumber(values.height)) {
@@ -19045,6 +19029,7 @@ var ConstraintValues = {
19045
19029
  }
19046
19030
  break;
19047
19031
  case 2:
19032
+ case 5:
19048
19033
  break;
19049
19034
  default:
19050
19035
  assertNever(values.heightType);
@@ -20107,9 +20092,10 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
20107
20092
  text-transform: var(--framer-blockquote-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
20108
20093
  /* Cursor inherit to overwrite the user agent stylesheet on rich text links. */
20109
20094
  cursor: var(--framer-custom-cursors, pointer);
20110
- background-color: var(--framer-link-text-background-color, var(--framer-text-background-color, initial));
20111
- border-radius: var(--framer-link-text-background-radius, var(--framer-text-background-radius, initial));
20112
- padding: var(--framer-link-text-background-padding, var(--framer-text-background-padding, initial));
20095
+ /* Don't inherit background styles from any parent text style. */
20096
+ background-color: var(--framer-link-text-background-color, initial);
20097
+ border-radius: var(--framer-link-text-background-radius, initial);
20098
+ padding: var(--framer-link-text-background-padding, initial);
20113
20099
  }
20114
20100
  `,
20115
20101
  // Text decoration can't be applied to the nested spans of links because it breaks animations
@@ -20132,7 +20118,7 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
20132
20118
  span.framer-text[data-nested-link],
20133
20119
  span.framer-text[data-nested-link] span.framer-text:not([data-text-fill]) {
20134
20120
  color: ${createRGBVariableFallbacks(['--framer-blockquote-text-color', '--framer-link-text-color', '--framer-text-color',], '#000')};
20135
- background-color: ${createRGBVariableFallbacks(['--framer-link-text-background-color', '--framer-text-background-color',], 'initial')};
20121
+ background-color: ${createRGBVariableFallbacks(['--framer-link-text-background-color',], 'initial')};
20136
20122
  }
20137
20123
  }
20138
20124
  `, /* css */
@@ -20248,9 +20234,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
20248
20234
  color: var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000)));
20249
20235
  font-size: calc(var(--framer-link-current-font-size, var(--framer-link-font-size, var(--framer-font-size, 16px))) * var(--framer-font-size-scale, 1));
20250
20236
  text-transform: var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
20251
- background-color: var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, var(--framer-text-background-color, initial)));
20252
- border-radius: var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, var(--framer-text-background-radius, initial)));
20253
- padding: var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, var(--framer-text-background-padding, initial)));
20237
+ background-color: var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, initial));
20238
+ border-radius: var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, initial));
20239
+ padding: var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, initial));
20254
20240
  }
20255
20241
  `, /* css */
20256
20242
  `
@@ -20322,9 +20308,9 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
20322
20308
  color: var(--framer-link-hover-text-color, var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
20323
20309
  font-size: calc(var(--framer-link-hover-font-size, var(--framer-link-current-font-size, var(--framer-link-font-size, var(--framer-font-size, 16px)))) * var(--framer-font-size-scale, 1));
20324
20310
  text-transform: var(--framer-link-hover-text-transform, var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
20325
- background-color: var(--framer-link-hover-text-background-color, var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, var(--framer-text-background-color, initial))));
20326
- border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, var(--framer-text-background-radius, initial))));
20327
- padding: var(--framer-link-hover-text-background-padding, var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, var(--framer-text-background-padding, initial))));
20311
+ background-color: var(--framer-link-hover-text-background-color, var(--framer-link-current-text-background-color, var(--framer-link-text-background-color, initial)));
20312
+ border-radius: var(--framer-link-hover-text-background-radius, var(--framer-link-current-text-background-radius, var(--framer-link-text-background-radius, initial)));
20313
+ padding: var(--framer-link-hover-text-background-padding, var(--framer-link-current-text-background-padding, var(--framer-link-text-background-padding, initial)));
20328
20314
  }
20329
20315
  `, /* css */
20330
20316
  `
@@ -20355,7 +20341,6 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
20355
20341
  '--framer-link-hover-text-background-color',
20356
20342
  '--framer-link-current-text-background-color',
20357
20343
  '--framer-link-text-background-color',
20358
- '--framer-text-background-color',
20359
20344
  ], 'initial')};
20360
20345
  }
20361
20346
  }
@@ -20392,7 +20377,6 @@ var richTextCSSRules = /* @__PURE__ */ (() => [
20392
20377
  '--framer-link-hover-text-background-color',
20393
20378
  '--framer-link-current-text-background-color',
20394
20379
  '--framer-link-text-background-color',
20395
- '--framer-text-background-color',
20396
20380
  ], 'initial')};
20397
20381
  }
20398
20382
  }
@@ -22918,7 +22902,7 @@ var BackgroundImage = {
22918
22902
  isImageObject: function (image) {
22919
22903
  if (!image || typeof image === 'string')
22920
22904
  return false;
22921
- return key in image;
22905
+ return typeof image === 'object' && key in image;
22922
22906
  },
22923
22907
  };
22924
22908
  exports.BackgroundImage = BackgroundImage;
@@ -22954,6 +22938,37 @@ function backgroundImageFromProps(props) {
22954
22938
  }
22955
22939
  return applyForwardOverrides(backgroundImage, props);
22956
22940
  }
22941
+ function getIntrinsicSizeForBackgroundImage(background) {
22942
+ if (!background)
22943
+ return void 0;
22944
+ if (background.pixelHeight && background.pixelWidth) {
22945
+ return {
22946
+ width: background.pixelWidth,
22947
+ height: background.pixelHeight,
22948
+ };
22949
+ }
22950
+ return parseImageSizeFromSrc(background.src);
22951
+ }
22952
+ function parseImageSizeFromSrc(src) {
22953
+ if (!src)
22954
+ return void 0;
22955
+ let url;
22956
+ try {
22957
+ url = new URL(src);
22958
+ }
22959
+ catch {
22960
+ return void 0;
22961
+ }
22962
+ const width = url.searchParams.get('width');
22963
+ const height = url.searchParams.get('height');
22964
+ if (width && height) {
22965
+ return {
22966
+ width: parseInt(width),
22967
+ height: parseInt(height),
22968
+ };
22969
+ }
22970
+ return void 0;
22971
+ }
22957
22972
  function htmlElementAsMotionComponent(asElem) {
22958
22973
  return asElem && asElem !== 'search' && asElem !== 'slot' && asElem !== 'template' ? motion[asElem] : motion['div'];
22959
22974
  }
@@ -24068,6 +24083,11 @@ var VisibleFrame = /* @__PURE__ */ (0, react_7.forwardRef)(function VisibleFrame
24068
24083
  ],
24069
24084
  }), parentSize);
24070
24085
  const MotionComponent = htmlElementAsMotionComponent(props.as);
24086
+ const intrinsicSize = getIntrinsicSizeForBackgroundImage(backgroundImage);
24087
+ if (props.fitImageDimension && intrinsicSize) {
24088
+ currentStyle[props.fitImageDimension] = 'auto';
24089
+ currentStyle.aspectRatio = intrinsicSize.width / intrinsicSize.height;
24090
+ }
24071
24091
  return /* @__PURE__ */ (0, jsx_runtime_2.jsxs)(MotionComponent, {
24072
24092
  ...dataProps,
24073
24093
  ...motionProps,
@@ -33419,15 +33439,15 @@ function domWriteCreateUpdateSafeArea(safeAreaRef) {
33419
33439
  Object.assign(safeAreaRef.current.style, floatingPositionSafeAreaStyle(x, y, placement, anchorRect, calculatedRect));
33420
33440
  };
33421
33441
  }
33422
- function domWriteUpdatePosition(floatingPositionRef, position, rect) {
33442
+ function domWriteUpdatePosition(floatingPositionRef, position, rect, scrollX, scrollY) {
33423
33443
  if (!floatingPositionRef.current)
33424
33444
  return;
33425
33445
  Object.assign(floatingPositionRef.current.style, {
33426
33446
  position,
33427
33447
  visibility: 'visible',
33428
33448
  // Append "px" because we are assigning this object straight to style.
33429
- left: ((rect == null ? void 0 : rect.x) ?? 0) + (position === 'fixed' ? 0 : safeWindow.scrollX) + 'px',
33430
- top: ((rect == null ? void 0 : rect.y) ?? 0) + (position === 'fixed' ? 0 : safeWindow.scrollY) + 'px',
33449
+ left: ((rect == null ? void 0 : rect.x) ?? 0) + scrollX + 'px',
33450
+ top: ((rect == null ? void 0 : rect.y) ?? 0) + scrollY + 'px',
33431
33451
  });
33432
33452
  }
33433
33453
  var FloatingStackingContext = /* @__PURE__ */ (() => {
@@ -33554,13 +33574,14 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
33554
33574
  let elementRect;
33555
33575
  let safePlacement;
33556
33576
  let calculatedRect;
33557
- let scrolls;
33558
33577
  let latestEvent;
33559
33578
  let updateSafeArea;
33579
+ let scrollX = 0;
33580
+ let scrollY = 0;
33560
33581
  const onRender = () => {
33561
33582
  if (cleanupHasRun)
33562
33583
  return;
33563
- domWriteUpdatePosition(floatingPositionRef, position, calculatedRect);
33584
+ domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY);
33564
33585
  if (safeArea)
33565
33586
  updateSafeArea(anchorRect, calculatedRect, safePlacement, latestEvent);
33566
33587
  latestEvent = void 0;
@@ -33571,7 +33592,7 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
33571
33592
  onRender();
33572
33593
  }
33573
33594
  else {
33574
- domWriteUpdatePosition(floatingPositionRef, position, calculatedRect);
33595
+ domWriteUpdatePosition(floatingPositionRef, position, calculatedRect, scrollX, scrollY);
33575
33596
  }
33576
33597
  initialUpdateHasRun = true;
33577
33598
  };
@@ -33583,6 +33604,14 @@ function Floating({ alignment, placement, safeArea, offsetX, offsetY, anchorRef,
33583
33604
  const domReadUpdateSafePlacementAndRect = () => {
33584
33605
  if (!getSafePlacementRect || cleanupHasRun)
33585
33606
  return;
33607
+ if (position === 'fixed') {
33608
+ scrollX = 0;
33609
+ scrollY = 0;
33610
+ }
33611
+ else {
33612
+ scrollX = safeWindow.scrollX;
33613
+ scrollY = safeWindow.scrollY;
33614
+ }
33586
33615
  anchorRect = anchorRef.current.getBoundingClientRect();
33587
33616
  const safePlacementAndRect = getSafePlacementRect(anchorRect, elementRect);
33588
33617
  safePlacement = safePlacementAndRect[0];
@@ -35155,57 +35184,79 @@ function isSamePage(a, b) {
35155
35184
  return aPathVariables.length === bPathVariables.length &&
35156
35185
  Object.keys(aPathVariables).every((key7) => aPathVariables[key7] === bPathVariables[key7]);
35157
35186
  }
35158
- function getPageviewEventData({ abTestId, framerSiteId, routeId, routePath, collectionItemId, localeCode, }) {
35159
- return {
35160
- abTestId,
35161
- framerSiteId,
35162
- routePath: routePath || '/',
35163
- collectionItemId,
35164
- framerLocale: localeCode,
35165
- webPageId: routeId,
35166
- };
35187
+ var timezone = null;
35188
+ var visitorLocale = null;
35189
+ function setTimezoneAndLocaleForTracking() {
35190
+ const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions();
35191
+ timezone = resolvedDateTimeOptions.timeZone;
35192
+ visitorLocale = resolvedDateTimeOptions.locale;
35167
35193
  }
35168
- var useSendPageView = (currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale) => {
35194
+ requestIdleCallback(setTimezoneAndLocaleForTracking);
35195
+ var useSendPageView = (currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale) => {
35169
35196
  const framerSiteId = (0, react_3.useContext)(FormContext);
35170
35197
  const pageviewEventData = (0, react_4.useRef)();
35171
35198
  const skipFirstPageView = (0, react_4.useRef)(true);
35172
35199
  (0, react_2.useEffect)(() => {
35173
- const getFullPageviewEventData = async () => {
35174
- var _a;
35175
- let collectionItemId = null;
35176
- if ((currentRoute == null ? void 0 : currentRoute.collectionId) && collectionUtils && currentPathVariables) {
35177
- const utils = await ((_a = collectionUtils[currentRoute.collectionId]) == null ? void 0 : _a.call(collectionUtils));
35178
- const [slug,] = Object.values(currentPathVariables);
35179
- if (utils && typeof slug === 'string') {
35180
- collectionItemId = (await utils.getRecordIdBySlug(slug, activeLocale || void 0)) ?? null;
35181
- }
35182
- }
35183
- return getPageviewEventData({
35200
+ function getFullPageviewEventData() {
35201
+ if (!timezone || !visitorLocale)
35202
+ setTimezoneAndLocaleForTracking();
35203
+ const currentLocation = currentPathnameWithHash
35204
+ ? new URL(safeWindow.location.origin + currentPathnameWithHash)
35205
+ : safeWindow.location;
35206
+ const eventData = {
35207
+ version: pageviewEventVersion,
35184
35208
  abTestId: currentRoute == null ? void 0 : currentRoute.abTestId,
35185
35209
  framerSiteId: framerSiteId ?? null,
35186
35210
  // If we are in a variant route, let's use the variant ID as the route ID instead, so that the analytics panel will be able to show the correct tracking data.
35187
- routeId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
35188
- routePath: currentRoute == null ? void 0 : currentRoute.path,
35189
- collectionItemId,
35190
- localeCode: (activeLocale == null ? void 0 : activeLocale.code) || null,
35191
- });
35192
- };
35211
+ webPageId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
35212
+ routePath: (currentRoute == null ? void 0 : currentRoute.path) || '/',
35213
+ collectionItemId: null,
35214
+ framerLocale: (activeLocale == null ? void 0 : activeLocale.code) || null,
35215
+ referrer: null,
35216
+ // The first pageview event will always be sent before hydration, in a script in `exportToHTML.ts`.
35217
+ url: currentLocation.href,
35218
+ hostname: currentLocation.hostname,
35219
+ // Capture the current location before the user moves to a new page to prevent
35220
+ // tracking wrong pathnames due to a race condition caused by async operations
35221
+ // when resolving the collection item ID below
35222
+ pathname: currentLocation.pathname,
35223
+ search: currentLocation.search || null,
35224
+ hash: currentLocation.hash || null,
35225
+ timezone,
35226
+ locale: visitorLocale,
35227
+ };
35228
+ return (currentRoute == null ? void 0 : currentRoute.collectionId) && collectionUtils && currentPathVariables
35229
+ ? (async () => {
35230
+ var _a;
35231
+ let collectionItemId = null;
35232
+ const utils = currentRoute.collectionId &&
35233
+ (await ((_a = collectionUtils[currentRoute.collectionId]) == null ? void 0 : _a.call(collectionUtils)));
35234
+ const [slug,] = Object.values(currentPathVariables);
35235
+ if (utils && typeof slug === 'string') {
35236
+ collectionItemId = (await utils.getRecordIdBySlug(slug, activeLocale || void 0)) ?? null;
35237
+ }
35238
+ return {
35239
+ ...eventData,
35240
+ collectionItemId,
35241
+ };
35242
+ })()
35243
+ : eventData;
35244
+ }
35193
35245
  void (async () => {
35194
- const pageviewEventDataPromise = getFullPageviewEventData();
35195
- pageviewEventData.current = pageviewEventDataPromise;
35246
+ const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
35247
+ const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
35248
+ pageviewEventData.current = eventData;
35196
35249
  if (skipFirstPageView.current) {
35197
35250
  skipFirstPageView.current = false;
35198
- return;
35199
35251
  }
35200
- const eventData = await pageviewEventDataPromise;
35201
- pageviewEventData.current = eventData;
35202
- sendTrackingEvent('published_site_pageview', eventData, 'eager');
35252
+ else {
35253
+ sendTrackingEvent('published_site_pageview', eventData, 'eager');
35254
+ }
35203
35255
  })();
35204
35256
  const listener = async (event) => {
35205
35257
  if (event.persisted) {
35206
- const pageviewEventDataPromise = getFullPageviewEventData();
35207
- pageviewEventData.current = pageviewEventDataPromise;
35208
- const eventData = await getFullPageviewEventData();
35258
+ const eventDataOrPromise = pageviewEventData.current = getFullPageviewEventData();
35259
+ const eventData = eventDataOrPromise instanceof Promise ? await eventDataOrPromise : eventDataOrPromise;
35209
35260
  pageviewEventData.current = eventData;
35210
35261
  sendTrackingEvent('published_site_pageview', eventData, 'eager');
35211
35262
  }
@@ -35214,7 +35265,7 @@ var useSendPageView = (currentRoute, currentRouteId, currentPathVariables, colle
35214
35265
  return () => {
35215
35266
  window.removeEventListener('pageshow', listener);
35216
35267
  };
35217
- }, [currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale, framerSiteId,]);
35268
+ }, [currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale, framerSiteId,]);
35218
35269
  return pageviewEventData;
35219
35270
  };
35220
35271
  var defaultLocaleId = 'default';
@@ -35317,6 +35368,7 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
35317
35368
  return (fn) => fn();
35318
35369
  }, [synchronousNavigationOnDesktop,]);
35319
35370
  const isInitialNavigationRef = (0, react_4.useRef)(true);
35371
+ const currentPathnameWithHashRef = (0, react_4.useRef)();
35320
35372
  const currentRouteRef = (0, react_4.useRef)(initialRoute);
35321
35373
  const currentPathVariablesRef = (0, react_4.useRef)(initialPathVariables);
35322
35374
  const currentLocaleIdRef = (0, react_4.useRef)(initialLocaleId);
@@ -35402,12 +35454,13 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
35402
35454
  monitorNextPaintAfterRender,
35403
35455
  transitionFn,
35404
35456
  ]);
35405
- const setCurrentRouteId = (0, react_3.useCallback)((routeId, localeId, hash2, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL) => {
35457
+ const setCurrentRouteId = (0, react_3.useCallback)((routeId, localeId, hash2, pathnameWithHash, pathVariables, isHistoryTransition, nextRender, smoothScroll = false, updateURL) => {
35406
35458
  isInitialNavigationRef.current = false;
35407
35459
  const currentRouteId2 = currentRouteRef.current;
35408
35460
  currentRouteRef.current = routeId;
35409
35461
  currentPathVariablesRef.current = pathVariables;
35410
35462
  currentLocaleIdRef.current = localeId;
35463
+ currentPathnameWithHashRef.current = pathnameWithHash;
35411
35464
  scheduleSideEffect(() => {
35412
35465
  updateScrollPosition(hash2, smoothScroll, isHistoryTransition);
35413
35466
  });
@@ -35493,14 +35546,26 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
35493
35546
  siteCanonicalURL,
35494
35547
  }, ignorePushStateWrapper);
35495
35548
  };
35496
- setCurrentRouteId(routeId, currentRouteLocaleId, routeElementId, pathVariables, false, nextRender, smoothScroll, disableHistory ? void 0 : updateURL);
35549
+ const pathnameWithHash = getSitePrefix(siteCanonicalURL) + getPathForRoute(newRoute, {
35550
+ currentRoutePath: currentRoute2 == null ? void 0 : currentRoute2.path,
35551
+ currentPathVariables: currentPathVariables2,
35552
+ hash: hash2,
35553
+ pathVariables,
35554
+ localeId: currentRouteLocaleId,
35555
+ preserveQueryParams,
35556
+ siteCanonicalURL,
35557
+ relative: false,
35558
+ // We need an absolute path for the hash
35559
+ });
35560
+ setCurrentRouteId(routeId, currentRouteLocaleId, routeElementId, pathnameWithHash, pathVariables, false, nextRender, smoothScroll, disableHistory ? void 0 : updateURL);
35497
35561
  }, [routes, setCurrentRouteId, disableHistory, preserveQueryParams, siteCanonicalURL, monitorNextPaintAfterRender,]);
35498
35562
  const getRoute = useGetRouteCallback(routes);
35499
35563
  const currentRouteId = currentRouteRef.current;
35564
+ const currentPathnameWithHash = currentPathnameWithHashRef.current;
35500
35565
  const currentPathVariables = currentPathVariablesRef.current;
35501
35566
  const currentRoute = routes[currentRouteId];
35502
35567
  const currentRoutePath = currentRoute == null ? void 0 : currentRoute.path;
35503
- const pageviewEventData = useSendPageView(currentRoute, currentRouteId, currentPathVariables, collectionUtils, activeLocale);
35568
+ const pageviewEventData = useSendPageView(currentRoute, currentRouteId, currentPathnameWithHash, currentPathVariables, collectionUtils, activeLocale);
35504
35569
  const isInitialNavigation = isInitialNavigationRef.current;
35505
35570
  const api = (0, react_4.useMemo)(() => ({
35506
35571
  navigate,
@@ -35553,7 +35618,7 @@ function Router({ defaultPageStyle, disableHistory, initialPathVariables, initia
35553
35618
  /* @__PURE__ */ (0, jsx_runtime_1.jsx)(MarkSuspenseEffects.Start, {}),
35554
35619
  /* @__PURE__ */ (0, jsx_runtime_1.jsx)(WithLayoutTemplate, {
35555
35620
  LayoutTemplate,
35556
- routeId: currentRouteId,
35621
+ routeId: (currentRoute == null ? void 0 : currentRoute.abTestingVariantId) ?? currentRouteId,
35557
35622
  style: defaultPageStyle,
35558
35623
  children: (inLayoutTemplate) => {
35559
35624
  return /* @__PURE__ */ (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {
@@ -43282,7 +43347,9 @@ try {
43282
43347
  catch { }
43283
43348
  var postLogEntry;
43284
43349
  try {
43285
- if (typeof window !== 'undefined' && !!window.postMessage && window.top !== window) {
43350
+ if (typeof window !== 'undefined' && !!window.postMessage && window.parent !== window &&
43351
+ // Don't post messages to the top-level site from the Editor Bar
43352
+ !window.location.pathname.startsWith('/edit')) {
43286
43353
  postLogEntry = (entry) => {
43287
43354
  var _a;
43288
43355
  try {
@@ -43296,7 +43363,7 @@ try {
43296
43363
  parts,
43297
43364
  printed,
43298
43365
  };
43299
- (_a = window.top) == null ? void 0 : _a.postMessage(data2, getServiceMap().app);
43366
+ (_a = window.parent) == null ? void 0 : _a.postMessage(data2, getServiceMap().app);
43300
43367
  }
43301
43368
  catch { }
43302
43369
  };
@@ -44378,11 +44445,11 @@ function getAssetOwnerType(asset) {
44378
44445
  async function loadFontsWithOpenType(source) {
44379
44446
  switch (source) {
44380
44447
  case 'google': {
44381
- const supportedFonts = await import('./framer-chunks/google-3ASCFEEO-3R47BR2A.js');
44448
+ const supportedFonts = await import('./framer-chunks/google-2KFYDWCN-PJC2DDXK.js');
44382
44449
  return supportedFonts == null ? void 0 : supportedFonts.default;
44383
44450
  }
44384
44451
  case 'fontshare': {
44385
- const supportedFonts = await import('./framer-chunks/fontshare-4J2ZFRBB-H5VQLZTM.js');
44452
+ const supportedFonts = await import('./framer-chunks/fontshare-EOIRPPWV-VDFFNW4K.js');
44386
44453
  return supportedFonts == null ? void 0 : supportedFonts.default;
44387
44454
  }
44388
44455
  default:
@@ -44392,11 +44459,11 @@ async function loadFontsWithOpenType(source) {
44392
44459
  async function loadFontToOpenTypeFeatures(source) {
44393
44460
  switch (source) {
44394
44461
  case 'google': {
44395
- const features = await import('./framer-chunks/google-FDB6LUFQ-PFSUZGKF.js');
44462
+ const features = await import('./framer-chunks/google-HSMCYMMG-DWNQGSHN.js');
44396
44463
  return features == null ? void 0 : features.default;
44397
44464
  }
44398
44465
  case 'fontshare': {
44399
- const features = await import('./framer-chunks/fontshare-622CVMZZ-HFPH543A.js');
44466
+ const features = await import('./framer-chunks/fontshare-Y53BJZLK-EUQIV252.js');
44400
44467
  return features == null ? void 0 : features.default;
44401
44468
  }
44402
44469
  case 'framer': {
@@ -44921,10 +44988,10 @@ function loadVariationAxes(source) {
44921
44988
  const axes = (async () => {
44922
44989
  switch (source) {
44923
44990
  case 'google': {
44924
- return (await import('./framer-chunks/google-C62SNV32-LCI4F7VO.js')).default;
44991
+ return (await import('./framer-chunks/google-S367OFIE-AWJEPMSF.js')).default;
44925
44992
  }
44926
44993
  case 'fontshare': {
44927
- return (await import('./framer-chunks/fontshare-JGEKH7YN-QOX3MC3K.js')).default;
44994
+ return (await import('./framer-chunks/fontshare-2X4LZ75B-D2V5BX73.js')).default;
44928
44995
  }
44929
44996
  default:
44930
44997
  assertNever(source);
@@ -45861,10 +45928,35 @@ var styles3 = /* @__PURE__ */ (() => [
45861
45928
  var FormSelect = /* @__PURE__ */ withCSS(Select, styles3, 'framer-lib-form-select');
45862
45929
  exports.FormSelect = FormSelect;
45863
45930
  var Image2 = /* @__PURE__ */ react_11.default.forwardRef(function Image3(props, ref) {
45864
- const { background, children, alt, draggable, style: styleFromProps, ...rest } = props;
45931
+ const { background, children, alt, draggable, fitImageDimension, style: styleFromProps, ...rest } = props;
45865
45932
  const style2 = {
45866
45933
  ...styleFromProps,
45867
45934
  };
45935
+ const intrinsicSize = (0, react_4.useMemo)(() => getIntrinsicSizeForBackgroundImage(background), [background,]);
45936
+ const [fallbackIntrinsicSize, setFallbackIntrinsicSize,] = (0, react_4.useState)();
45937
+ react_11.default.useLayoutEffect(() => {
45938
+ if (!(background == null ? void 0 : background.src))
45939
+ return;
45940
+ if (!fitImageDimension)
45941
+ return;
45942
+ if (intrinsicSize)
45943
+ return;
45944
+ const img = document.createElement('img');
45945
+ img.onload = () => {
45946
+ if (img.naturalWidth && img.naturalHeight) {
45947
+ setFallbackIntrinsicSize({
45948
+ width: img.naturalWidth,
45949
+ height: img.naturalHeight,
45950
+ });
45951
+ }
45952
+ };
45953
+ img.src = background.src;
45954
+ }, [background == null ? void 0 : background.src, fitImageDimension, intrinsicSize,]);
45955
+ const size = intrinsicSize ?? fallbackIntrinsicSize;
45956
+ if (fitImageDimension && size) {
45957
+ style2[fitImageDimension] = 'auto';
45958
+ style2.aspectRatio = size.width / size.height;
45959
+ }
45868
45960
  if (background) {
45869
45961
  delete style2.background;
45870
45962
  }
@@ -47990,7 +48082,7 @@ var TextComponent = /* @__PURE__ */ (() => {
47990
48082
  if (this.props.transformTemplate)
47991
48083
  return this.props.transformTemplate;
47992
48084
  const frame2 = this.frame;
47993
- const isDOMLayoutAutoSized = _usesDOMRect && (widthType === 2 || heightType === 2);
48085
+ const isDOMLayoutAutoSized = _usesDOMRect && (isAutoDimensionType(widthType) || isAutoDimensionType(heightType));
47994
48086
  const hasTransformTemplate = !frame2 || !RenderTarget.hasRestrictions() || __fromCanvasComponent || isDOMLayoutAutoSized;
47995
48087
  if (hasTransformTemplate)
47996
48088
  return transformTemplate(this.props.center);
@@ -49147,12 +49239,12 @@ var package_default = {
49147
49239
  '@types/dom-navigation': '^1.0.5',
49148
49240
  '@types/fontfaceobserver': '2.1',
49149
49241
  '@types/google.fonts': '1.0',
49150
- '@types/node': '22.16',
49242
+ '@types/node': '22.17',
49151
49243
  '@types/react': '18.2',
49152
49244
  '@types/react-dom': '18.2',
49153
49245
  '@types/yargs': '^17.0.33',
49154
- '@typescript-eslint/eslint-plugin': '^8.36.0',
49155
- '@typescript-eslint/parser': '^8.36.0',
49246
+ '@typescript-eslint/eslint-plugin': '^8.40.0',
49247
+ '@typescript-eslint/parser': '^8.40.0',
49156
49248
  chalk: '^4.1.2',
49157
49249
  eslint: '^8.57.1',
49158
49250
  'eslint-plugin-framer-studio': 'workspace:*',
@@ -49165,7 +49257,7 @@ var package_default = {
49165
49257
  react: '^18.2.0',
49166
49258
  'react-dom': '^18.2.0',
49167
49259
  semver: '^7.7.1',
49168
- typescript: '^5.8.3',
49260
+ typescript: '^5.9.2',
49169
49261
  yargs: '^17.7.2',
49170
49262
  },
49171
49263
  peerDependencies: {
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "3.1.0";
1
+ export declare const version = "3.2.1";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '3.1.0';
4
+ exports.version = '3.2.1';
5
5
  //# sourceMappingURL=version.js.map
package/esm/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAU,UAAU,EAAE,MAAM,eAAe,CAAA;AAOlD,OAAO,EAAE,eAAe,EAA0B,MAAM,UAAU,CAAA;AAYlE,eAAO,MAAM,GAAG,mBAAkB,CAAA;AAwKlC,MAAM,MAAM,MAAM,GAAG;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,UAAU,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KACzB,CAAA;IACD,oBAAoB,CAAC,EAAE;QACnB,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,aAAa,EAAE,MAAM,CAAA;QACrB,cAAc,EAAE,MAAM,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,IAAI,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;IAEH,OAAO,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;IACH,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6BAA6B,EAAE,uBAAuB,EAAE,CAAA;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAE/B,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IAEjB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,eAAe,CAAC,EAClC,SAAS,EACT,gBAAiC,EACjC,WAAmB,EACnB,MAAwC,GAC3C;;;;;CAAA;;;;GA4FA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAU,UAAU,EAAE,MAAM,eAAe,CAAA;AAOlD,OAAO,EAAE,eAAe,EAA0B,MAAM,UAAU,CAAA;AAYlE,eAAO,MAAM,GAAG,mBAAkB,CAAA;AA2KlC,MAAM,MAAM,MAAM,GAAG;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,UAAU,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KACzB,CAAA;IACD,oBAAoB,CAAC,EAAE;QACnB,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,aAAa,EAAE,MAAM,CAAA;QACrB,cAAc,EAAE,MAAM,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,IAAI,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;IAEH,OAAO,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;IACH,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6BAA6B,EAAE,uBAAuB,EAAE,CAAA;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAE/B,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IAEjB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAsB,eAAe,CAAC,EAClC,SAAS,EACT,gBAAiC,EACjC,WAAmB,EACnB,MAAwC,GAC3C;;;;;CAAA;;;;GA4FA"}