@myoc/excalidraw 0.19.518 → 0.19.519

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 (61) hide show
  1. package/CHANGELOG.md +113 -0
  2. package/dist/dev/{chunk-2ZDXTNY7.js → chunk-MCPNWEHU.js} +2 -2
  3. package/dist/dev/{chunk-36IX6I7U.js → chunk-RIK6B6HD.js} +27 -8
  4. package/dist/dev/chunk-RIK6B6HD.js.map +7 -0
  5. package/dist/dev/data/{image-VHQDH63K.js → image-IRC25PM5.js} +3 -3
  6. package/dist/dev/index.css +2 -3
  7. package/dist/dev/index.css.map +2 -2
  8. package/dist/dev/index.js +547 -595
  9. package/dist/dev/index.js.map +4 -4
  10. package/dist/dev/subset-shared.chunk.js +1 -1
  11. package/dist/dev/subset-worker.chunk.js +1 -1
  12. package/dist/prod/chunk-FL5QOM6C.js +4 -0
  13. package/dist/prod/{chunk-VW4XDTQW.js → chunk-QW7MIEK6.js} +1 -1
  14. package/dist/prod/data/image-7LG744DI.js +1 -0
  15. package/dist/prod/index.css +1 -1
  16. package/dist/prod/index.js +17 -17
  17. package/dist/prod/subset-shared.chunk.js +1 -1
  18. package/dist/prod/subset-worker.chunk.js +1 -1
  19. package/dist/types/common/src/colors.d.ts +1 -1
  20. package/dist/types/element/src/bounds.d.ts +18 -1
  21. package/dist/types/excalidraw/actions/actionBoundText.d.ts +2 -0
  22. package/dist/types/excalidraw/actions/actionCanvas.d.ts +11 -0
  23. package/dist/types/excalidraw/actions/actionClipboard.d.ts +2 -0
  24. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +1 -0
  25. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +3 -0
  26. package/dist/types/excalidraw/actions/actionDeselect.d.ts +1 -0
  27. package/dist/types/excalidraw/actions/actionElementLink.d.ts +1 -0
  28. package/dist/types/excalidraw/actions/actionElementLock.d.ts +2 -0
  29. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +1 -0
  30. package/dist/types/excalidraw/actions/actionExport.d.ts +2 -0
  31. package/dist/types/excalidraw/actions/actionFrame.d.ts +4 -0
  32. package/dist/types/excalidraw/actions/actionGroup.d.ts +2 -0
  33. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +1 -0
  34. package/dist/types/excalidraw/actions/actionLink.d.ts +1 -0
  35. package/dist/types/excalidraw/actions/actionMenu.d.ts +1 -0
  36. package/dist/types/excalidraw/actions/actionProperties.d.ts +2 -0
  37. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +1 -0
  38. package/dist/types/excalidraw/actions/actionStyles.d.ts +1 -0
  39. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +1 -0
  40. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +1 -0
  41. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +1 -0
  42. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +1 -0
  43. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +1 -0
  44. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +1 -0
  45. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +3 -2
  46. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +1 -0
  47. package/dist/types/excalidraw/components/App.d.ts +1 -0
  48. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +7 -4
  49. package/dist/types/excalidraw/data/blob.d.ts +1 -0
  50. package/dist/types/excalidraw/data/json.d.ts +1 -0
  51. package/dist/types/excalidraw/index.d.ts +3 -1
  52. package/dist/types/excalidraw/types.d.ts +8 -0
  53. package/dist/types/utils/src/index.d.ts +1 -2
  54. package/package.json +4 -4
  55. package/dist/dev/chunk-36IX6I7U.js.map +0 -7
  56. package/dist/prod/chunk-B67RJXF2.js +0 -4
  57. package/dist/prod/data/image-YRR6RGIN.js +0 -1
  58. package/dist/types/utils/src/bbox.d.ts +0 -9
  59. package/dist/types/utils/src/withinBounds.d.ts +0 -19
  60. /package/dist/dev/{chunk-2ZDXTNY7.js.map → chunk-MCPNWEHU.js.map} +0 -0
  61. /package/dist/dev/data/{image-VHQDH63K.js.map → image-IRC25PM5.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -72,6 +72,13 @@ Please add the latest change on the top under the correct section.
72
72
 
73
73
  ### Breaking changes
74
74
 
75
+ - Theme changes initiated by the default UI are now delegated to `<Excalidraw onThemeChange={(theme) => ...} />` when supplied. If `onThemeChange` is not supplied, light/dark theme toggling still falls back to updating the internal editor state.
76
+
77
+ - `MainMenu.DefaultItems.ToggleTheme` no longer accepts the item-level `onSelect` callback. Host apps that need to control light/dark/system theme should pass `onThemeChange` to `<Excalidraw />` instead.
78
+ - `MainMenu.DefaultItems.ToggleTheme` with system theme support now uses `allowSystemTheme` together with `theme={Theme | "system"}` only to render the selected value. For the regular light/dark item, pass `allowSystemTheme={false}`.
79
+ - `CommandPalette.defaultItems.toggleTheme` was removed. The default theme command is now rendered by the command palette itself when `UIOptions.canvasActions.toggleTheme` enables the action (see below).
80
+ - `UIOptions.canvasActions.toggleTheme` still controls default theme UI availability. When it is `null`, it defaults to `true` if `props.theme` is omitted or `props.onThemeChange` is supplied, and otherwise defaults to disabled.
81
+
75
82
  - Renamed the `excalidrawAPI` prop to `onExcalidrawAPI`.
76
83
  - `onExcalidrawAPI` is now called on mount (instead of during constructor), and later on unmount (with `null` value). The API may be removed altogether in the future (you can use `onMount` & `onUmount` to manage the `ExcalidrawAPI` object (e.g. to cache it to a global state), already).
77
84
 
@@ -4760,4 +4767,110 @@ First release of `@excalidraw/excalidraw`## Excalidraw Library
4760
4767
  - Incorrect import for color (was moved to common)
4761
4768
 
4762
4769
  ---
4770
+ ## Excalidraw Library
4771
+
4772
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
4773
+
4774
+ ### Features
4775
+
4776
+ - Add ability to turn off compression for files that are smaller than a given size
4777
+
4778
+ - Add lock tool to the dropdown and also add the status of the extra tools to be the same icon as the selected tool
4779
+
4780
+ - Add view mode button
4781
+
4782
+ - Add multiple image copy paste or drag and drop
4783
+
4784
+ - Multiple image additions from clipboard
4785
+
4786
+ - Add arrange elements action
4787
+
4788
+ - Add top picks to appProps for both stoke color and background color
4789
+
4790
+ ### Fixes
4791
+
4792
+ - Issues
4793
+
4794
+ - Make mobile mode more myoc looking
4795
+
4796
+ - Add normalise functionality
4797
+
4798
+ - Update with excalidraw
4799
+
4800
+ - Fix imports
4801
+
4802
+ - Fix mutateGroup to use scene.mutateGroup
4803
+
4804
+ - Imports
4805
+
4806
+ - Ensure that fileId is different for compressed vs uncompressed file
4807
+
4808
+ - Remove not working prop for dontResizeLimitMBs
4809
+
4810
+ - Add smartview for mobile
4811
+
4812
+ - Hide the alignment buttons if there is only one group selected (they do nothing if only one group is selected)
4813
+
4814
+ - Use css vars already provided instead of hard coding directly from oc-gray
4815
+
4816
+ - Remove unused variables
4817
+
4818
+ - Pass the new top pick color props properly
4819
+
4820
+ - Incorrect import for color (was moved to common)
4821
+
4822
+ ---
4823
+ ## Excalidraw Library
4824
+
4825
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
4826
+
4827
+ ### Features
4828
+
4829
+ - Add ability to turn off compression for files that are smaller than a given size
4830
+
4831
+ - Add lock tool to the dropdown and also add the status of the extra tools to be the same icon as the selected tool
4832
+
4833
+ - Add view mode button
4834
+
4835
+ - Add multiple image copy paste or drag and drop
4836
+
4837
+ - Multiple image additions from clipboard
4838
+
4839
+ - Add arrange elements action
4840
+
4841
+ - Add top picks to appProps for both stoke color and background color
4842
+
4843
+ ### Fixes
4844
+
4845
+ - Issues
4846
+
4847
+ - Make mobile mode more myoc looking
4848
+
4849
+ - Add normalise functionality
4850
+
4851
+ - Update with excalidraw
4852
+
4853
+ - Fix imports
4854
+
4855
+ - Fix mutateGroup to use scene.mutateGroup
4856
+
4857
+ - Imports
4858
+
4859
+ - Ensure that fileId is different for compressed vs uncompressed file
4860
+
4861
+ - Remove not working prop for dontResizeLimitMBs
4862
+
4863
+ - Add smartview for mobile
4864
+
4865
+ - Hide the alignment buttons if there is only one group selected (they do nothing if only one group is selected)
4866
+
4867
+ - Use css vars already provided instead of hard coding directly from oc-gray
4868
+
4869
+ - Remove unused variables
4870
+
4871
+ - Pass the new top pick color props properly
4872
+
4873
+ - Incorrect import for color (was moved to common)
4874
+
4875
+ ---
4763
4876
 
@@ -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: "@myoc/excalidraw", PKG_VERSION: "0.19.517", 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: "@myoc/excalidraw", PKG_VERSION: "0.19.518", DEV: true };
3
3
 
4
4
  export {
5
5
  define_import_meta_env_default
6
6
  };
7
- //# sourceMappingURL=chunk-2ZDXTNY7.js.map
7
+ //# sourceMappingURL=chunk-MCPNWEHU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  define_import_meta_env_default
3
- } from "./chunk-2ZDXTNY7.js";
3
+ } from "./chunk-MCPNWEHU.js";
4
4
  import {
5
5
  __publicField
6
6
  } from "./chunk-XDFCUUT6.js";
@@ -136,6 +136,7 @@ var getDefaultAppState = () => {
136
136
  value: 1
137
137
  },
138
138
  viewModeEnabled: false,
139
+ viewModeOnly: false,
139
140
  showHyperlinkPopup: false,
140
141
  selectedLinearElement: null,
141
142
  snapLines: [],
@@ -256,6 +257,7 @@ var APP_STATE_STORAGE_CONF = /* @__PURE__ */ ((config) => config)({
256
257
  zenModeEnabled: { browser: true, export: false, server: false },
257
258
  zoom: { browser: true, export: false, server: false },
258
259
  viewModeEnabled: { browser: false, export: false, server: false },
260
+ viewModeOnly: { browser: false, export: false, server: false },
259
261
  showHyperlinkPopup: { browser: false, export: false, server: false },
260
262
  selectedLinearElement: { browser: true, export: false, server: false },
261
263
  snapLines: { browser: false, export: false, server: false },
@@ -3155,7 +3157,10 @@ var bootstrapCanvas = ({
3155
3157
  context.clearRect(0, 0, normalizedWidth, normalizedHeight);
3156
3158
  }
3157
3159
  context.save();
3158
- context.fillStyle = theme === THEME2.DARK ? applyDarkModeFilter(viewBackgroundColor) : viewBackgroundColor;
3160
+ context.fillStyle = applyDarkModeFilter(
3161
+ viewBackgroundColor,
3162
+ theme === THEME2.DARK
3163
+ );
3159
3164
  context.fillRect(0, 0, normalizedWidth, normalizedHeight);
3160
3165
  context.restore();
3161
3166
  } else {
@@ -3723,6 +3728,11 @@ var renderElementToSvg = (element, elementsMap, rsvg, svgRoot, files, offsetX, o
3723
3728
  );
3724
3729
  offsetX = offsetX || 0;
3725
3730
  offsetY = offsetY || 0;
3731
+ maskPath.setAttribute("maskUnits", "userSpaceOnUse");
3732
+ maskPath.setAttribute("x", "0");
3733
+ maskPath.setAttribute("y", "0");
3734
+ maskPath.setAttribute("width", `${element.width + 100 + offsetX}`);
3735
+ maskPath.setAttribute("height", `${element.height + 100 + offsetY}`);
3726
3736
  maskRectVisible.setAttribute("x", "0");
3727
3737
  maskRectVisible.setAttribute("y", "0");
3728
3738
  maskRectVisible.setAttribute("fill", "#fff");
@@ -3803,7 +3813,10 @@ var renderElementToSvg = (element, elementsMap, rsvg, svgRoot, files, offsetX, o
3803
3813
  const path = svgRoot.ownerDocument.createElementNS(SVG_NS, "path");
3804
3814
  path.setAttribute(
3805
3815
  "fill",
3806
- renderConfig.theme === THEME4.DARK ? applyDarkModeFilter3(element.strokeColor) : element.strokeColor
3816
+ applyDarkModeFilter3(
3817
+ element.strokeColor,
3818
+ renderConfig.theme === THEME4.DARK
3819
+ )
3807
3820
  );
3808
3821
  path.setAttribute("d", shape);
3809
3822
  wrapper.appendChild(path);
@@ -3974,7 +3987,10 @@ var renderElementToSvg = (element, elementsMap, rsvg, svgRoot, files, offsetX, o
3974
3987
  rect.setAttribute("fill", "none");
3975
3988
  rect.setAttribute(
3976
3989
  "stroke",
3977
- renderConfig.theme === THEME4.DARK ? applyDarkModeFilter3(FRAME_STYLE2.strokeColor) : FRAME_STYLE2.strokeColor
3990
+ applyDarkModeFilter3(
3991
+ FRAME_STYLE2.strokeColor,
3992
+ renderConfig.theme === THEME4.DARK
3993
+ )
3978
3994
  );
3979
3995
  rect.setAttribute("stroke-width", FRAME_STYLE2.strokeWidth.toString());
3980
3996
  addToRoot(rect, element);
@@ -4014,7 +4030,10 @@ var renderElementToSvg = (element, elementsMap, rsvg, svgRoot, files, offsetX, o
4014
4030
  text.setAttribute("font-size", `${element.fontSize}px`);
4015
4031
  text.setAttribute(
4016
4032
  "fill",
4017
- renderConfig.theme === THEME4.DARK ? applyDarkModeFilter3(element.strokeColor) : element.strokeColor
4033
+ applyDarkModeFilter3(
4034
+ element.strokeColor,
4035
+ renderConfig.theme === THEME4.DARK
4036
+ )
4018
4037
  );
4019
4038
  text.setAttribute("text-anchor", textAnchor);
4020
4039
  text.setAttribute("style", "white-space: pre;");
@@ -4350,7 +4369,7 @@ var exportToSvg = async (elements, appState, files, opts) => {
4350
4369
  rect.setAttribute("height", `${height}`);
4351
4370
  rect.setAttribute(
4352
4371
  "fill",
4353
- exportWithDarkMode ? applyDarkModeFilter4(viewBackgroundColor) : viewBackgroundColor
4372
+ applyDarkModeFilter4(viewBackgroundColor, exportWithDarkMode)
4354
4373
  );
4355
4374
  svgRoot.appendChild(rect);
4356
4375
  }
@@ -5102,7 +5121,7 @@ var parseFileContents = async (blob) => {
5102
5121
  let contents;
5103
5122
  if (blob.type === MIME_TYPES6.png) {
5104
5123
  try {
5105
- return await (await import("./data/image-VHQDH63K.js")).decodePngMetadata(blob);
5124
+ return await (await import("./data/image-IRC25PM5.js")).decodePngMetadata(blob);
5106
5125
  } catch (error) {
5107
5126
  if (error.message === "INVALID") {
5108
5127
  throw new ImageSceneDataError(
@@ -5463,4 +5482,4 @@ export {
5463
5482
  createFile,
5464
5483
  normalizeFile
5465
5484
  };
5466
- //# sourceMappingURL=chunk-36IX6I7U.js.map
5485
+ //# sourceMappingURL=chunk-RIK6B6HD.js.map