@nous-excalidraw/excalidraw 0.18.9-beta.17 → 0.18.9-beta.19

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  define_import_meta_env_default
3
- } from "./chunk-QC5BMXYR.js";
3
+ } from "./chunk-FGNDYJ2B.js";
4
4
  import {
5
5
  __publicField
6
6
  } from "./chunk-XDFCUUT6.js";
@@ -5112,7 +5112,7 @@ var parseFileContents = async (blob) => {
5112
5112
  let contents;
5113
5113
  if (blob.type === MIME_TYPES6.png) {
5114
5114
  try {
5115
- return await (await import("./data/image-7WWLMIRY.js")).decodePngMetadata(blob);
5115
+ return await (await import("./data/image-5IO6LC6F.js")).decodePngMetadata(blob);
5116
5116
  } catch (error) {
5117
5117
  if (error.message === "INVALID") {
5118
5118
  throw new ImageSceneDataError(
@@ -5546,4 +5546,4 @@ export {
5546
5546
  createFile,
5547
5547
  normalizeFile
5548
5548
  };
5549
- //# sourceMappingURL=chunk-PB7MJY3E.js.map
5549
+ //# sourceMappingURL=chunk-6PNL5SR6.js.map
@@ -1,7 +1,7 @@
1
1
  // <define:import.meta.env>
2
- var define_import_meta_env_default = { MODE: "development", VITE_APP_BACKEND_V2_GET_URL: "https://json-dev.excalidraw.com/api/v2/", VITE_APP_BACKEND_V2_POST_URL: "https://json-dev.excalidraw.com/api/v2/post/", VITE_APP_LIBRARY_URL: "https://libraries.excalidraw.com", VITE_APP_LIBRARY_BACKEND: "https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries", VITE_APP_WS_SERVER_URL: "http://localhost:3002", VITE_APP_PLUS_LP: "https://plus.excalidraw.com", VITE_APP_PLUS_APP: "http://localhost:3000", VITE_APP_AI_BACKEND: "http://localhost:3016", VITE_APP_FIREBASE_CONFIG: '{"apiKey":"AIzaSyCMkxA60XIW8KbqMYL7edC4qT5l4qHX2h8","authDomain":"excalidraw-oss-dev.firebaseapp.com","projectId":"excalidraw-oss-dev","storageBucket":"excalidraw-oss-dev.appspot.com","messagingSenderId":"664559512677","appId":"1:664559512677:web:a385181f2928d328a7aa8c"}', VITE_APP_DEV_DISABLE_LIVE_RELOAD: "", VITE_APP_ENABLE_TRACKING: "true", FAST_REFRESH: "false", VITE_APP_PORT: "3001", VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX: "", VITE_APP_COLLAPSE_OVERLAY: "true", VITE_APP_ENABLE_ESLINT: "true", VITE_APP_ENABLE_PWA: "false", VITE_APP_PLUS_EXPORT_PUBLIC_KEY: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm2g5T+Rub6Kbf1Mf57t0\n7r2zeHuVg4dla3r5ryXMswtzz6x767octl6oLThn33mQsPSy3GKglFZoCTXJR4ij\nba8SxB04sL/N8eRrKja7TFWjCVtRwTTfyy771NYYNFVJclkxHyE5qw4m27crHF1y\nUNWEjuqNMi/lwAErS9fFa2oJlWyT8U7zzv/5kQREkxZI6y9v0AF3qcbsy2731FnD\ns9ChJvOUW9toIab2gsIdrKW8ZNpu084ZFVKb6LNjvIXI1Se4oMTHeszXzNptzlot\nkdxxjOoaQMAyfljFSot1F1FlU6MQlag7UnFGvFjRHN1JI5q4K+n3a67DX+TMyRqS\nHQIDAQAB", VITE_APP_DISABLE_PREVENT_UNLOAD: "", PKG_NAME: "@nous-excalidraw/excalidraw", PKG_VERSION: "0.18.9-beta.17", DEV: true };
2
+ var define_import_meta_env_default = { MODE: "development", VITE_APP_BACKEND_V2_GET_URL: "https://json-dev.excalidraw.com/api/v2/", VITE_APP_BACKEND_V2_POST_URL: "https://json-dev.excalidraw.com/api/v2/post/", VITE_APP_LIBRARY_URL: "https://libraries.excalidraw.com", VITE_APP_LIBRARY_BACKEND: "https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries", VITE_APP_WS_SERVER_URL: "http://localhost:3002", VITE_APP_PLUS_LP: "https://plus.excalidraw.com", VITE_APP_PLUS_APP: "http://localhost:3000", VITE_APP_AI_BACKEND: "http://localhost:3016", VITE_APP_FIREBASE_CONFIG: '{"apiKey":"AIzaSyCMkxA60XIW8KbqMYL7edC4qT5l4qHX2h8","authDomain":"excalidraw-oss-dev.firebaseapp.com","projectId":"excalidraw-oss-dev","storageBucket":"excalidraw-oss-dev.appspot.com","messagingSenderId":"664559512677","appId":"1:664559512677:web:a385181f2928d328a7aa8c"}', VITE_APP_DEV_DISABLE_LIVE_RELOAD: "", VITE_APP_ENABLE_TRACKING: "true", FAST_REFRESH: "false", VITE_APP_PORT: "3001", VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX: "", VITE_APP_COLLAPSE_OVERLAY: "true", VITE_APP_ENABLE_ESLINT: "true", VITE_APP_ENABLE_PWA: "false", VITE_APP_PLUS_EXPORT_PUBLIC_KEY: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm2g5T+Rub6Kbf1Mf57t0\n7r2zeHuVg4dla3r5ryXMswtzz6x767octl6oLThn33mQsPSy3GKglFZoCTXJR4ij\nba8SxB04sL/N8eRrKja7TFWjCVtRwTTfyy771NYYNFVJclkxHyE5qw4m27crHF1y\nUNWEjuqNMi/lwAErS9fFa2oJlWyT8U7zzv/5kQREkxZI6y9v0AF3qcbsy2731FnD\ns9ChJvOUW9toIab2gsIdrKW8ZNpu084ZFVKb6LNjvIXI1Se4oMTHeszXzNptzlot\nkdxxjOoaQMAyfljFSot1F1FlU6MQlag7UnFGvFjRHN1JI5q4K+n3a67DX+TMyRqS\nHQIDAQAB", VITE_APP_DISABLE_PREVENT_UNLOAD: "", PKG_NAME: "@nous-excalidraw/excalidraw", PKG_VERSION: "0.18.9-beta.19", DEV: true };
3
3
 
4
4
  export {
5
5
  define_import_meta_env_default
6
6
  };
7
- //# sourceMappingURL=chunk-QC5BMXYR.js.map
7
+ //# sourceMappingURL=chunk-FGNDYJ2B.js.map
@@ -1,4 +1,4 @@
1
- import "../../chunk-QC5BMXYR.js";
1
+ import "../../chunk-FGNDYJ2B.js";
2
2
  import "../../chunk-XDFCUUT6.js";
3
3
 
4
4
  // components/TTDDialog/CodeMirrorEditor.tsx
@@ -256,4 +256,4 @@ var CodeMirrorEditor_default = CodeMirrorEditor;
256
256
  export {
257
257
  CodeMirrorEditor_default as default
258
258
  };
259
- //# sourceMappingURL=CodeMirrorEditor-ZQ7NUPTY.js.map
259
+ //# sourceMappingURL=CodeMirrorEditor-LUWBT76B.js.map
@@ -2,12 +2,12 @@ import {
2
2
  decodePngMetadata,
3
3
  encodePngMetadata,
4
4
  getTEXtChunk
5
- } from "../chunk-PB7MJY3E.js";
6
- import "../chunk-QC5BMXYR.js";
5
+ } from "../chunk-6PNL5SR6.js";
6
+ import "../chunk-FGNDYJ2B.js";
7
7
  import "../chunk-XDFCUUT6.js";
8
8
  export {
9
9
  decodePngMetadata,
10
10
  encodePngMetadata,
11
11
  getTEXtChunk
12
12
  };
13
- //# sourceMappingURL=image-7WWLMIRY.js.map
13
+ //# sourceMappingURL=image-5IO6LC6F.js.map
package/dist/dev/index.js CHANGED
@@ -65,10 +65,10 @@ import {
65
65
  serializeAsJSON,
66
66
  serializeLibraryAsJSON,
67
67
  strokeRectWithRotation_simple
68
- } from "./chunk-PB7MJY3E.js";
68
+ } from "./chunk-6PNL5SR6.js";
69
69
  import {
70
70
  define_import_meta_env_default
71
- } from "./chunk-QC5BMXYR.js";
71
+ } from "./chunk-FGNDYJ2B.js";
72
72
  import {
73
73
  en_default
74
74
  } from "./chunk-IXBA2ET3.js";
@@ -8336,6 +8336,8 @@ var zoomToFitBounds = ({
8336
8336
  bounds,
8337
8337
  appState,
8338
8338
  canvasOffsets,
8339
+ fitCanvasOffsets,
8340
+ scrollCanvasOffsets,
8339
8341
  fitToViewport = false,
8340
8342
  viewportZoomFactor = 1,
8341
8343
  minZoom = -Infinity,
@@ -8346,10 +8348,12 @@ var zoomToFitBounds = ({
8346
8348
  const [x1, y1, x2, y2] = bounds;
8347
8349
  const centerX = (x1 + x2) / 2;
8348
8350
  const centerY = (y1 + y2) / 2;
8349
- const canvasOffsetLeft = canvasOffsets?.left ?? 0;
8350
- const canvasOffsetTop = canvasOffsets?.top ?? 0;
8351
- const canvasOffsetRight = canvasOffsets?.right ?? 0;
8352
- const canvasOffsetBottom = canvasOffsets?.bottom ?? 0;
8351
+ const fitOffsets = fitCanvasOffsets ?? canvasOffsets;
8352
+ const scrollOffsets = scrollCanvasOffsets ?? fitOffsets ?? canvasOffsets;
8353
+ const canvasOffsetLeft = fitOffsets?.left ?? 0;
8354
+ const canvasOffsetTop = fitOffsets?.top ?? 0;
8355
+ const canvasOffsetRight = fitOffsets?.right ?? 0;
8356
+ const canvasOffsetBottom = fitOffsets?.bottom ?? 0;
8353
8357
  const effectiveCanvasWidth = appState.width - canvasOffsetLeft - canvasOffsetRight;
8354
8358
  const effectiveCanvasHeight = appState.height - canvasOffsetTop - canvasOffsetBottom;
8355
8359
  let adjustedZoomValue;
@@ -8379,7 +8383,7 @@ var zoomToFitBounds = ({
8379
8383
  width: appState.width,
8380
8384
  height: appState.height
8381
8385
  },
8382
- offsets: canvasOffsets,
8386
+ offsets: scrollOffsets,
8383
8387
  zoom: { value: newZoomValue }
8384
8388
  });
8385
8389
  const fromZoom = appState.zoom.value;
@@ -8405,6 +8409,8 @@ var zoomToFitBounds = ({
8405
8409
  };
8406
8410
  var zoomToFit = ({
8407
8411
  canvasOffsets,
8412
+ fitCanvasOffsets,
8413
+ scrollCanvasOffsets,
8408
8414
  targetElements,
8409
8415
  appState,
8410
8416
  fitToViewport,
@@ -8416,6 +8422,8 @@ var zoomToFit = ({
8416
8422
  const commonBounds = getCommonBounds(getNonDeletedElements5(targetElements));
8417
8423
  return zoomToFitBounds({
8418
8424
  canvasOffsets,
8425
+ fitCanvasOffsets,
8426
+ scrollCanvasOffsets,
8419
8427
  bounds: commonBounds,
8420
8428
  appState,
8421
8429
  fitToViewport,
@@ -9717,7 +9725,7 @@ var exportCanvas = async (type, elements, appState, files, {
9717
9725
  let blob = canvasToBlob(tempCanvas);
9718
9726
  if (appState.exportEmbedScene) {
9719
9727
  blob = blob.then(
9720
- (blob2) => import("./data/image-7WWLMIRY.js").then(
9728
+ (blob2) => import("./data/image-5IO6LC6F.js").then(
9721
9729
  ({ encodePngMetadata: encodePngMetadata2 }) => encodePngMetadata2({
9722
9730
  blob: blob2,
9723
9731
  metadata: serializeAsJSON(elements, appState, files, "local")
@@ -28773,7 +28781,7 @@ var TTDDialogInput = ({
28773
28781
  setShowSpinner(true);
28774
28782
  }
28775
28783
  }, SPINNER_DELAY_MS);
28776
- import("./components/TTDDialog/CodeMirrorEditor-ZQ7NUPTY.js").then((mod) => {
28784
+ import("./components/TTDDialog/CodeMirrorEditor-LUWBT76B.js").then((mod) => {
28777
28785
  if (!cancelled) {
28778
28786
  setEditorState({ type: "ready", component: mod.default });
28779
28787
  }
@@ -39415,6 +39423,8 @@ var _App = class _App extends React46.Component {
39415
39423
  if (opts?.fitToContent || opts?.fitToViewport) {
39416
39424
  const { appState } = zoomToFit({
39417
39425
  canvasOffsets: opts.canvasOffsets,
39426
+ fitCanvasOffsets: opts.fitCanvasOffsets,
39427
+ scrollCanvasOffsets: opts.scrollCanvasOffsets,
39418
39428
  targetElements,
39419
39429
  appState: this.state,
39420
39430
  fitToViewport: !!opts?.fitToViewport,
@@ -39425,6 +39435,15 @@ var _App = class _App extends React46.Component {
39425
39435
  zoom = appState.zoom;
39426
39436
  scrollX = appState.scrollX;
39427
39437
  scrollY = appState.scrollY;
39438
+ if (opts?.clampHostStylebarAboveElement) {
39439
+ const fitOffsets = opts.fitCanvasOffsets ?? opts.canvasOffsets;
39440
+ const fitTop = fitOffsets?.top ?? 0;
39441
+ const [, y1] = getCommonBounds11(targetElements);
39442
+ const minScrollY = (fitTop + _App.HOST_STYLEBAR_GAP_ABOVE_ELEMENT) / zoom.value - y1;
39443
+ if (scrollY < minScrollY) {
39444
+ scrollY = minScrollY;
39445
+ }
39446
+ }
39428
39447
  } else {
39429
39448
  const scroll = calculateScrollCenter(targetElements, this.state);
39430
39449
  scrollX = scroll.scrollX;
@@ -39674,7 +39693,7 @@ var _App = class _App extends React46.Component {
39674
39693
  }
39675
39694
  return Math.max(rect.bottom - containerTop, 0);
39676
39695
  });
39677
- __publicField(this, "getEditorUIOffsets", (options) => {
39696
+ __publicField(this, "getEditorUIOffsets", () => {
39678
39697
  const container = this.excalidrawContainerRef?.current;
39679
39698
  const containerTop = container?.getBoundingClientRect()?.top ?? 0;
39680
39699
  const nativeToolbarBottom = container?.querySelector(".App-toolbar")?.getBoundingClientRect()?.bottom ?? 0;
@@ -39682,14 +39701,11 @@ var _App = class _App extends React46.Component {
39682
39701
  _App.HOST_TOOLBAR_SELECTOR,
39683
39702
  containerTop
39684
39703
  );
39685
- let topUiOffset = Math.max(
39704
+ const topUiOffset = Math.max(
39686
39705
  nativeToolbarBottom - containerTop,
39687
39706
  customToolbarBottom,
39688
39707
  0
39689
39708
  );
39690
- if (options?.reserveStylebarAboveElement) {
39691
- topUiOffset += _App.HOST_STYLEBAR_GAP_ABOVE_ELEMENT + _App.HOST_STYLEBAR_HEIGHT;
39692
- }
39693
39709
  const sidebarRect = container?.querySelector(".sidebar")?.getBoundingClientRect();
39694
39710
  const propertiesPanelRect = container?.querySelector(".App-menu__left")?.getBoundingClientRect();
39695
39711
  const PADDING = 16;
@@ -40603,10 +40619,10 @@ var _App = class _App extends React46.Component {
40603
40619
  animate: true,
40604
40620
  duration: 500,
40605
40621
  fitToViewport: true,
40606
- viewportZoomFactor: 0.85,
40607
- canvasOffsets: this.getEditorUIOffsets({
40608
- reserveStylebarAboveElement: true
40609
- })
40622
+ viewportZoomFactor: 0.9,
40623
+ fitCanvasOffsets: this.getEditorUIOffsets(),
40624
+ scrollCanvasOffsets: this.getEditorUIOffsets(),
40625
+ clampHostStylebarAboveElement: true
40610
40626
  });
40611
40627
  return;
40612
40628
  }
@@ -47407,8 +47423,6 @@ var _App = class _App extends React46.Component {
47407
47423
  * - stylebar-wrapper: 选中元素上方的样式栏(moveStyleMenuBar 定位在元素上方)
47408
47424
  */
47409
47425
  __publicField(_App, "HOST_TOOLBAR_SELECTOR", ".tool-bar-wrapper");
47410
- /** styleBar.vue height: 48px */
47411
- __publicField(_App, "HOST_STYLEBAR_HEIGHT", 48);
47412
47426
  /** utils/index.ts: MEUE_LEFT_BAR_HEIGHT(47) + STYLE_BAR_TO_ELEMENT_TOP_GAP_PX(26) */
47413
47427
  __publicField(_App, "HOST_STYLEBAR_GAP_ABOVE_ELEMENT", 73);
47414
47428
  var App = _App;