@excalidraw/excalidraw 0.12.0-38e8ae4 → 0.12.0-3a776f8

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 (87) hide show
  1. package/CHANGELOG.md +11 -850
  2. package/README.md +25 -11
  3. package/dist/excalidraw-assets/locales/bn-BD-json-906099d3f665de611389.js +1 -0
  4. package/dist/excalidraw-assets/locales/ca-ES-json-7f3f0a2c7f428fa60e01.js +1 -0
  5. package/dist/excalidraw-assets/locales/el-GR-json-18ce48894d32ca4895b8.js +1 -0
  6. package/dist/excalidraw-assets/locales/es-ES-json-69a6c81b0e5dc370ea1a.js +1 -0
  7. package/dist/excalidraw-assets/locales/ko-KR-json-8e7ae1bb19a7677a8190.js +1 -0
  8. package/dist/excalidraw-assets/locales/lt-LT-json-4147c3543dce75362050.js +1 -0
  9. package/dist/excalidraw-assets/locales/pt-BR-json-4ffa2f70c2863bca4f91.js +1 -0
  10. package/dist/excalidraw-assets/locales/pt-PT-json-4368eca89d2b2b3fb444.js +1 -0
  11. package/dist/excalidraw-assets/locales/vi-VN-json-929afcbc15b2c06a64f2.js +1 -0
  12. package/dist/excalidraw-assets/vendor-cb04f63875674d708080.js +2 -0
  13. package/dist/excalidraw-assets/{vendor-52b1f3361986b6c6a4fe.js.LICENSE.txt → vendor-cb04f63875674d708080.js.LICENSE.txt} +0 -0
  14. package/dist/excalidraw-assets-dev/locales/bn-BD-json-c3b027e18322cd5f67dd.js +22 -0
  15. package/dist/excalidraw-assets-dev/locales/ca-ES-json-465e286330127bad8841.js +22 -0
  16. package/dist/excalidraw-assets-dev/locales/el-GR-json-33bcaca5c1eb85d3d81a.js +22 -0
  17. package/dist/excalidraw-assets-dev/locales/es-ES-json-41e67e045d8f77e56a7a.js +22 -0
  18. package/dist/excalidraw-assets-dev/locales/ko-KR-json-b6b0f0c8dc22ac7a3377.js +22 -0
  19. package/dist/excalidraw-assets-dev/locales/lt-LT-json-09b44716baf6aae6bf11.js +22 -0
  20. package/dist/excalidraw-assets-dev/locales/pt-BR-json-5abf09146a4f4387393d.js +22 -0
  21. package/dist/excalidraw-assets-dev/locales/pt-PT-json-c72abd8cf29d14347cf5.js +22 -0
  22. package/dist/excalidraw-assets-dev/locales/{bn-BD-json-02993b6dba9e7f115b53.js → vi-VN-json-03f122275dad01552357.js} +4 -4
  23. package/dist/excalidraw-assets-dev/{vendor-c0592035c3911af79359.js → vendor-e6df8519da951026ff69.js} +1 -1
  24. package/dist/excalidraw.development.js +49 -60
  25. package/dist/excalidraw.production.min.js +1 -1
  26. package/dist/excalidraw.production.min.js.LICENSE.txt +0 -9
  27. package/package.json +1 -1
  28. package/types/actions/actionClipboard.d.ts +1 -1
  29. package/types/actions/actionDeleteSelected.d.ts +1 -1
  30. package/types/actions/actionExport.d.ts +1 -1
  31. package/types/components/Actions.d.ts +13 -2
  32. package/types/components/App.d.ts +2 -0
  33. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +1 -6
  34. package/types/components/Footer.d.ts +9 -0
  35. package/types/components/InitializeApp.d.ts +2 -0
  36. package/types/components/LayerUI.d.ts +1 -2
  37. package/types/components/LibraryMenu.d.ts +1 -2
  38. package/types/components/LoadingMessage.d.ts +2 -0
  39. package/types/components/MobileMenu.d.ts +3 -4
  40. package/types/components/Stats.d.ts +1 -1
  41. package/types/data/blob.d.ts +1 -1
  42. package/types/element/Hyperlink.d.ts +1 -2
  43. package/types/element/linearElementEditor.d.ts +19 -8
  44. package/types/element/newElement.d.ts +3 -0
  45. package/types/element/transformHandles.d.ts +2 -2
  46. package/types/element/types.d.ts +1 -0
  47. package/types/math.d.ts +8 -1
  48. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{bn-BD-json-aa99c5a33f005fb00c6b.d.ts → bn-BD-json-906099d3f665de611389.d.ts} +0 -0
  49. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ca-ES-json-32cf66a0dfdbbafb6903.d.ts → ca-ES-json-7f3f0a2c7f428fa60e01.d.ts} +0 -0
  50. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{el-GR-json-74f57c0f8b11ac1b6dde.d.ts → el-GR-json-18ce48894d32ca4895b8.d.ts} +0 -0
  51. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{es-ES-json-ffb4e65453db2f3058d4.d.ts → es-ES-json-69a6c81b0e5dc370ea1a.d.ts} +0 -0
  52. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{ko-KR-json-f27d159b2556809076aa.d.ts → ko-KR-json-8e7ae1bb19a7677a8190.d.ts} +0 -0
  53. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{lt-LT-json-7277ad8dae6d3e6607b3.d.ts → lt-LT-json-4147c3543dce75362050.d.ts} +0 -0
  54. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{pt-BR-json-686219f43cd76123b7fa.d.ts → pt-BR-json-4ffa2f70c2863bca4f91.d.ts} +0 -0
  55. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{pt-PT-json-be4502ca3a1250845c39.d.ts → pt-PT-json-4368eca89d2b2b3fb444.d.ts} +0 -0
  56. package/types/packages/excalidraw/dist/excalidraw-assets/locales/{vi-VN-json-5c276b534d762658589c.d.ts → vi-VN-json-929afcbc15b2c06a64f2.d.ts} +0 -0
  57. package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-52b1f3361986b6c6a4fe.d.ts → vendor-cb04f63875674d708080.d.ts} +0 -0
  58. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{bn-BD-json-02993b6dba9e7f115b53.d.ts → bn-BD-json-c3b027e18322cd5f67dd.d.ts} +0 -0
  59. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ca-ES-json-7aabb5b31e7a995a90e3.d.ts → ca-ES-json-465e286330127bad8841.d.ts} +0 -0
  60. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{el-GR-json-2bc44d5450554154e110.d.ts → el-GR-json-33bcaca5c1eb85d3d81a.d.ts} +0 -0
  61. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{es-ES-json-9e5e962b234d2fa5aac2.d.ts → es-ES-json-41e67e045d8f77e56a7a.d.ts} +0 -0
  62. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{ko-KR-json-09de6762eea271167b56.d.ts → ko-KR-json-b6b0f0c8dc22ac7a3377.d.ts} +0 -0
  63. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{lt-LT-json-a17971ff33b8929e96d3.d.ts → lt-LT-json-09b44716baf6aae6bf11.d.ts} +0 -0
  64. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{pt-BR-json-5e4c8cd83b785ed859c2.d.ts → pt-BR-json-5abf09146a4f4387393d.d.ts} +0 -0
  65. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{pt-PT-json-a7f89a1c6f1c380141e5.d.ts → pt-PT-json-c72abd8cf29d14347cf5.d.ts} +0 -0
  66. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/{vi-VN-json-670ecb0ad40c0453bdfd.d.ts → vi-VN-json-03f122275dad01552357.d.ts} +0 -0
  67. package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-c0592035c3911af79359.d.ts → vendor-e6df8519da951026ff69.d.ts} +0 -0
  68. package/types/packages/utils.d.ts +4 -1
  69. package/types/types.d.ts +1 -2
  70. package/dist/excalidraw-assets/locales/bn-BD-json-aa99c5a33f005fb00c6b.js +0 -1
  71. package/dist/excalidraw-assets/locales/ca-ES-json-32cf66a0dfdbbafb6903.js +0 -1
  72. package/dist/excalidraw-assets/locales/el-GR-json-74f57c0f8b11ac1b6dde.js +0 -1
  73. package/dist/excalidraw-assets/locales/es-ES-json-ffb4e65453db2f3058d4.js +0 -1
  74. package/dist/excalidraw-assets/locales/ko-KR-json-f27d159b2556809076aa.js +0 -1
  75. package/dist/excalidraw-assets/locales/lt-LT-json-7277ad8dae6d3e6607b3.js +0 -1
  76. package/dist/excalidraw-assets/locales/pt-BR-json-686219f43cd76123b7fa.js +0 -1
  77. package/dist/excalidraw-assets/locales/pt-PT-json-be4502ca3a1250845c39.js +0 -1
  78. package/dist/excalidraw-assets/locales/vi-VN-json-5c276b534d762658589c.js +0 -1
  79. package/dist/excalidraw-assets/vendor-52b1f3361986b6c6a4fe.js +0 -2
  80. package/dist/excalidraw-assets-dev/locales/ca-ES-json-7aabb5b31e7a995a90e3.js +0 -22
  81. package/dist/excalidraw-assets-dev/locales/el-GR-json-2bc44d5450554154e110.js +0 -22
  82. package/dist/excalidraw-assets-dev/locales/es-ES-json-9e5e962b234d2fa5aac2.js +0 -22
  83. package/dist/excalidraw-assets-dev/locales/ko-KR-json-09de6762eea271167b56.js +0 -22
  84. package/dist/excalidraw-assets-dev/locales/lt-LT-json-a17971ff33b8929e96d3.js +0 -22
  85. package/dist/excalidraw-assets-dev/locales/pt-BR-json-5e4c8cd83b785ed859c2.js +0 -22
  86. package/dist/excalidraw-assets-dev/locales/pt-PT-json-a7f89a1c6f1c380141e5.js +0 -22
  87. package/dist/excalidraw-assets-dev/locales/vi-VN-json-670ecb0ad40c0453bdfd.js +0 -22
@@ -1,12 +1,3 @@
1
- /**
2
- * @license
3
- * Lodash <https://lodash.com/>
4
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
5
- * Released under MIT license <https://lodash.com/license>
6
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
- */
9
-
10
1
  /**
11
2
  * @license React
12
3
  * react-jsx-runtime.production.min.js
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excalidraw/excalidraw",
3
- "version": "0.12.0-38e8ae4",
3
+ "version": "0.12.0-3a776f8",
4
4
  "main": "main.js",
5
5
  "types": "types/packages/excalidraw/index.d.ts",
6
6
  "files": [
@@ -140,7 +140,7 @@ export declare const actionCut: {
140
140
  y: number;
141
141
  }>;
142
142
  hoverPointIndex: number;
143
- midPointHovered: boolean;
143
+ segmentMidPointHoveredCoords: readonly [number, number] | null;
144
144
  };
145
145
  isLoading: boolean;
146
146
  errorMessage: string | null;
@@ -131,7 +131,7 @@ export declare const actionDeleteSelected: {
131
131
  y: number;
132
132
  }>;
133
133
  hoverPointIndex: number;
134
- midPointHovered: boolean;
134
+ segmentMidPointHoveredCoords: readonly [number, number] | null;
135
135
  };
136
136
  isLoading: boolean;
137
137
  errorMessage: string | null;
@@ -882,7 +882,7 @@ export declare const actionLoadScene: {
882
882
  commitToHistory: false;
883
883
  }>;
884
884
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
885
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => JSX.Element;
885
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
886
886
  } & {
887
887
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
888
888
  };
@@ -2,11 +2,10 @@ import React from "react";
2
2
  import { ActionManager } from "../actions/manager";
3
3
  import { ExcalidrawElement, PointerType } from "../element/types";
4
4
  import { AppState, Zoom } from "../types";
5
- export declare const SelectedShapeActions: ({ appState, elements, renderAction, activeTool, }: {
5
+ export declare const SelectedShapeActions: ({ appState, elements, renderAction, }: {
6
6
  appState: AppState;
7
7
  elements: readonly ExcalidrawElement[];
8
8
  renderAction: ActionManager["renderAction"];
9
- activeTool: AppState["activeTool"]["type"];
10
9
  }) => JSX.Element;
11
10
  export declare const ShapesSwitcher: ({ canvas, activeTool, setAppState, onImageAction, appState, }: {
12
11
  canvas: HTMLCanvasElement | null;
@@ -21,3 +20,15 @@ export declare const ZoomActions: ({ renderAction, zoom, }: {
21
20
  renderAction: ActionManager["renderAction"];
22
21
  zoom: Zoom;
23
22
  }) => JSX.Element;
23
+ export declare const UndoRedoActions: ({ renderAction, className, }: {
24
+ renderAction: ActionManager["renderAction"];
25
+ className?: string | undefined;
26
+ }) => JSX.Element;
27
+ export declare const ExitZenModeAction: ({ actionManager, showExitZenModeBtn, }: {
28
+ actionManager: ActionManager;
29
+ showExitZenModeBtn: boolean;
30
+ }) => JSX.Element;
31
+ export declare const FinalizeAction: ({ renderAction, className, }: {
32
+ renderAction: ActionManager["renderAction"];
33
+ className?: string | undefined;
34
+ }) => JSX.Element;
@@ -17,6 +17,8 @@ export declare const useExcalidrawContainer: () => {
17
17
  container: HTMLDivElement | null;
18
18
  id: string | null;
19
19
  };
20
+ export declare const useExcalidrawElements: () => readonly NonDeletedExcalidrawElement[];
21
+ export declare const useExcalidrawAppState: () => AppState;
20
22
  declare class App extends React.Component<AppProps, AppState> {
21
23
  canvas: AppClassProperties["canvas"];
22
24
  rc: RoughCanvas | null;
@@ -1,9 +1,4 @@
1
- import React from "react";
2
1
  import { ActionManager } from "../actions/manager";
3
- import { AppState } from "../types";
4
- export declare const BackgroundPickerAndDarkModeToggle: ({ appState, setAppState, actionManager, showThemeBtn, }: {
2
+ export declare const BackgroundPickerAndDarkModeToggle: ({ actionManager, }: {
5
3
  actionManager: ActionManager;
6
- appState: AppState;
7
- setAppState: React.Component<any, AppState>["setState"];
8
- showThemeBtn: boolean;
9
4
  }) => JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ActionManager } from "../actions/manager";
2
+ import { AppState, ExcalidrawProps } from "../types";
3
+ declare const Footer: ({ appState, actionManager, renderCustomFooter, showExitZenModeBtn, }: {
4
+ appState: AppState;
5
+ actionManager: ActionManager;
6
+ renderCustomFooter?: ExcalidrawProps["renderFooter"];
7
+ showExitZenModeBtn: boolean;
8
+ }) => JSX.Element;
9
+ export default Footer;
@@ -1,8 +1,10 @@
1
1
  import React from "react";
2
2
  import { Language } from "../i18n";
3
+ import { Theme } from "../element/types";
3
4
  interface Props {
4
5
  langCode: Language["code"];
5
6
  children: React.ReactElement;
7
+ theme?: Theme;
6
8
  }
7
9
  export declare const InitializeApp: (props: Props) => JSX.Element;
8
10
  export {};
@@ -18,7 +18,6 @@ interface LayerUIProps {
18
18
  onPenModeToggle: () => void;
19
19
  onInsertElements: (elements: readonly NonDeletedExcalidrawElement[]) => void;
20
20
  showExitZenModeBtn: boolean;
21
- showThemeBtn: boolean;
22
21
  langCode: Language["code"];
23
22
  isCollaborating: boolean;
24
23
  renderTopRightUI?: ExcalidrawProps["renderTopRightUI"];
@@ -33,5 +32,5 @@ interface LayerUIProps {
33
32
  insertOnCanvasDirectly: boolean;
34
33
  }) => void;
35
34
  }
36
- declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, canvas, elements, onCollabButtonClick, onLockToggle, onPenModeToggle, onInsertElements, showExitZenModeBtn, showThemeBtn, isCollaborating, renderTopRightUI, renderCustomFooter, renderCustomStats, libraryReturnUrl, UIOptions, focusContainer, library, id, onImageAction, }: LayerUIProps) => JSX.Element>;
35
+ declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, elements, canvas, onCollabButtonClick, onLockToggle, onPenModeToggle, onInsertElements, showExitZenModeBtn, isCollaborating, renderTopRightUI, renderCustomFooter, renderCustomStats, libraryReturnUrl, UIOptions, focusContainer, library, id, onImageAction, }: LayerUIProps) => JSX.Element>;
37
36
  export default _default;
@@ -1,12 +1,11 @@
1
1
  import Library from "../data/library";
2
2
  import { LibraryItems, LibraryItem, AppState, BinaryFiles, ExcalidrawProps } from "../types";
3
3
  import "./LibraryMenu.scss";
4
- export declare const LibraryMenu: ({ onClose, onInsertLibraryItems, pendingElements, onAddToLibrary, theme, setAppState, files, libraryReturnUrl, focusContainer, library, id, appState, }: {
4
+ export declare const LibraryMenu: ({ onClose, onInsertLibraryItems, pendingElements, onAddToLibrary, setAppState, files, libraryReturnUrl, focusContainer, library, id, appState, }: {
5
5
  pendingElements: LibraryItem["elements"];
6
6
  onClose: () => void;
7
7
  onInsertLibraryItems: (libraryItems: LibraryItems) => void;
8
8
  onAddToLibrary: () => void;
9
- theme: AppState["theme"];
10
9
  files: BinaryFiles;
11
10
  setAppState: React.Component<any, AppState>["setState"];
12
11
  libraryReturnUrl: ExcalidrawProps["libraryReturnUrl"];
@@ -1,4 +1,6 @@
1
1
  /// <reference types="react" />
2
+ import { Theme } from "../element/types";
2
3
  export declare const LoadingMessage: React.FC<{
3
4
  delay?: number;
5
+ theme?: Theme;
4
6
  }>;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { AppState } from "../types";
2
+ import { AppState, ExcalidrawProps } from "../types";
3
3
  import { ActionManager } from "../actions/manager";
4
4
  import { NonDeletedExcalidrawElement } from "../element/types";
5
5
  declare type MobileMenuProps = {
@@ -16,12 +16,11 @@ declare type MobileMenuProps = {
16
16
  canvas: HTMLCanvasElement | null;
17
17
  isCollaborating: boolean;
18
18
  renderCustomFooter?: (isMobile: boolean, appState: AppState) => JSX.Element | null;
19
- showThemeBtn: boolean;
20
19
  onImageAction: (data: {
21
20
  insertOnCanvasDirectly: boolean;
22
21
  }) => void;
23
22
  renderTopRightUI?: (isMobile: boolean, appState: AppState) => JSX.Element | null;
24
- renderStats: () => JSX.Element | null;
23
+ renderCustomStats?: ExcalidrawProps["renderCustomStats"];
25
24
  };
26
- export declare const MobileMenu: ({ appState, elements, libraryMenu, actionManager, renderJSONExportDialog, renderImageExportDialog, setAppState, onCollabButtonClick, onLockToggle, onPenModeToggle, canvas, isCollaborating, renderCustomFooter, showThemeBtn, onImageAction, renderTopRightUI, renderStats, }: MobileMenuProps) => JSX.Element;
25
+ export declare const MobileMenu: ({ appState, elements, libraryMenu, actionManager, renderJSONExportDialog, renderImageExportDialog, setAppState, onCollabButtonClick, onLockToggle, onPenModeToggle, canvas, isCollaborating, renderCustomFooter, onImageAction, renderTopRightUI, renderCustomStats, }: MobileMenuProps) => JSX.Element;
27
26
  export {};
@@ -8,4 +8,4 @@ export declare const Stats: (props: {
8
8
  elements: readonly NonDeletedExcalidrawElement[];
9
9
  onClose: () => void;
10
10
  renderCustomStats: ExcalidrawProps["renderCustomStats"];
11
- }) => JSX.Element | null;
11
+ }) => JSX.Element;
@@ -40,7 +40,7 @@ export declare const getFileFromEvent: (event: React.DragEvent<HTMLDivElement>)
40
40
  }>;
41
41
  export declare const getFileHandle: (event: React.DragEvent<HTMLDivElement>) => Promise<FileSystemHandle | null>;
42
42
  export declare const createFile: (blob: File | Blob | ArrayBuffer, mimeType: ValueOf<typeof MIME_TYPES>, name: string | undefined) => File;
43
- /** attemps to detect correct mimeType if none is set, or if an image
43
+ /** attempts to detect correct mimeType if none is set, or if an image
44
44
  * has an incorrect extension.
45
45
  * Note: doesn't handle missing .excalidraw/.excalidrawlib extension */
46
46
  export declare const normalizeFile: (file: File) => Promise<File>;
@@ -4,9 +4,8 @@ import { NonDeletedExcalidrawElement } from "./types";
4
4
  import { Bounds } from "./bounds";
5
5
  import "./Hyperlink.scss";
6
6
  export declare const EXTERNAL_LINK_IMG: HTMLImageElement;
7
- export declare const Hyperlink: ({ element, appState, setAppState, onLinkOpen, }: {
7
+ export declare const Hyperlink: ({ element, setAppState, onLinkOpen, }: {
8
8
  element: NonDeletedExcalidrawElement;
9
- appState: AppState;
10
9
  setAppState: React.Component<any, AppState>["setState"];
11
10
  onLinkOpen: ExcalidrawProps["onLinkOpen"];
12
11
  }) => JSX.Element | null;
@@ -3,6 +3,11 @@ import { NonDeleted, ExcalidrawLinearElement, ExcalidrawElement, PointBinding, E
3
3
  import { Point, AppState } from "../types";
4
4
  import History from "../history";
5
5
  import Scene from "../scene/Scene";
6
+ declare const editorMidPointsCache: {
7
+ version: number | null;
8
+ points: (Point | null)[];
9
+ zoom: number | null;
10
+ };
6
11
  export declare class LinearElementEditor {
7
12
  readonly elementId: ExcalidrawElement["id"] & {
8
13
  _brand: "excalidrawLinearElementId";
@@ -24,7 +29,7 @@ export declare class LinearElementEditor {
24
29
  readonly startBindingElement: ExcalidrawBindableElement | null | "keep";
25
30
  readonly endBindingElement: ExcalidrawBindableElement | null | "keep";
26
31
  readonly hoverPointIndex: number;
27
- readonly midPointHovered: boolean;
32
+ readonly segmentMidPointHoveredCoords: Point | null;
28
33
  constructor(element: NonDeleted<ExcalidrawLinearElement>, scene: Scene);
29
34
  static POINT_HANDLE_SIZE: number;
30
35
  /**
@@ -39,11 +44,15 @@ export declare class LinearElementEditor {
39
44
  y: number;
40
45
  }[]) => void, linearElementEditor: LinearElementEditor): boolean;
41
46
  static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState): LinearElementEditor;
42
- static isHittingMidPoint: (linearElementEditor: LinearElementEditor, scenePointer: {
47
+ static getEditorMidPoints: (element: NonDeleted<ExcalidrawLinearElement>, appState: AppState) => (typeof editorMidPointsCache)["points"];
48
+ static updateEditorMidPointsCache: (element: NonDeleted<ExcalidrawLinearElement>, appState: AppState) => void;
49
+ static getSegmentMidpointHitCoords: (linearElementEditor: LinearElementEditor, scenePointer: {
43
50
  x: number;
44
51
  y: number;
45
- }, appState: AppState) => boolean;
46
- static getMidPoint(linearElementEditor: LinearElementEditor): readonly [number, number] | null;
52
+ }, appState: AppState) => readonly [number, number] | null;
53
+ static isSegmentTooShort(element: NonDeleted<ExcalidrawLinearElement>, startPoint: Point, endPoint: Point, zoom: AppState["zoom"]): boolean;
54
+ static getSegmentMidPoint(element: NonDeleted<ExcalidrawLinearElement>, startPoint: Point, endPoint: Point, endPointIndex: number): readonly [number, number];
55
+ static getSegmentMidPointIndex(linearElementEditor: LinearElementEditor, appState: AppState, midPoint: Point): number;
47
56
  static handlePointerDown(event: React.PointerEvent<HTMLCanvasElement>, appState: AppState, history: History, scenePointer: {
48
57
  x: number;
49
58
  y: number;
@@ -53,7 +62,8 @@ export declare class LinearElementEditor {
53
62
  linearElementEditor: LinearElementEditor | null;
54
63
  isMidPoint: boolean;
55
64
  };
56
- static handlePointerMove(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, linearElementEditor: LinearElementEditor, gridSize: number | null): LinearElementEditor;
65
+ static arePointsEqual(point1: Point | null, point2: Point | null): boolean;
66
+ static handlePointerMove(event: React.PointerEvent<HTMLCanvasElement>, scenePointerX: number, scenePointerY: number, appState: AppState): LinearElementEditor | null;
57
67
  /** scene coords */
58
68
  static getPointGlobalCoordinates(element: NonDeleted<ExcalidrawLinearElement>, point: Point): readonly [number, number];
59
69
  /** scene coords */
@@ -94,7 +104,7 @@ export declare class LinearElementEditor {
94
104
  startBindingElement: ExcalidrawBindableElement | "keep" | null;
95
105
  endBindingElement: ExcalidrawBindableElement | "keep" | null;
96
106
  hoverPointIndex: number;
97
- midPointHovered: boolean;
107
+ segmentMidPointHoveredCoords: readonly [number, number] | null;
98
108
  };
99
109
  isLoading: boolean;
100
110
  errorMessage: string | null;
@@ -160,7 +170,7 @@ export declare class LinearElementEditor {
160
170
  shouldCacheIgnoreZoom: boolean;
161
171
  showHelpDialog: boolean;
162
172
  toast: {
163
- message: string;
173
+ message: string; /** @returns whether point was dragged */
164
174
  closable?: boolean | undefined;
165
175
  duration?: number | undefined;
166
176
  } | null;
@@ -195,7 +205,7 @@ export declare class LinearElementEditor {
195
205
  };
196
206
  };
197
207
  static deletePoints(element: NonDeleted<ExcalidrawLinearElement>, pointIndices: readonly number[]): void;
198
- static addPoints(element: NonDeleted<ExcalidrawLinearElement>, targetPoints: {
208
+ static addPoints(element: NonDeleted<ExcalidrawLinearElement>, appState: AppState, targetPoints: {
199
209
  point: Point;
200
210
  }[]): void;
201
211
  static movePoints(element: NonDeleted<ExcalidrawLinearElement>, targetPoints: {
@@ -209,3 +219,4 @@ export declare class LinearElementEditor {
209
219
  private static _updatePoints;
210
220
  private static _getShiftLockedDelta;
211
221
  }
222
+ export {};
@@ -30,6 +30,9 @@ export declare const newLinearElement: (opts: {
30
30
  } & ElementConstructorOpts) => NonDeleted<ExcalidrawLinearElement>;
31
31
  export declare const newImageElement: (opts: {
32
32
  type: ExcalidrawImageElement["type"];
33
+ status?: ExcalidrawImageElement["status"];
34
+ fileId?: ExcalidrawImageElement["fileId"];
35
+ scale?: ExcalidrawImageElement["scale"];
33
36
  } & ElementConstructorOpts) => NonDeleted<ExcalidrawImageElement>;
34
37
  export declare const deepCopyElement: (val: any, depth?: number) => any;
35
38
  /**
@@ -1,6 +1,6 @@
1
1
  import { ExcalidrawElement, NonDeletedExcalidrawElement, PointerType } from "./types";
2
2
  import { Bounds } from "./bounds";
3
- import { Zoom } from "../types";
3
+ import { AppState, Zoom } from "../types";
4
4
  export declare type TransformHandleDirection = "n" | "s" | "w" | "e" | "nw" | "ne" | "sw" | "se";
5
5
  export declare type TransformHandleType = TransformHandleDirection | "rotation";
6
6
  export declare type TransformHandle = [number, number, number, number];
@@ -26,4 +26,4 @@ export declare const getTransformHandlesFromCoords: ([x1, y1, x2, y2]: Bounds, a
26
26
  rotation?: boolean | undefined;
27
27
  }, margin?: number) => TransformHandles;
28
28
  export declare const getTransformHandles: (element: ExcalidrawElement, zoom: Zoom, pointerType?: PointerType) => TransformHandles;
29
- export declare const shouldShowBoundingBox: (elements: NonDeletedExcalidrawElement[]) => boolean;
29
+ export declare const shouldShowBoundingBox: (elements: NonDeletedExcalidrawElement[], appState: AppState) => boolean;
@@ -53,6 +53,7 @@ declare type _ExcalidrawElementBase = Readonly<{
53
53
  updated: number;
54
54
  link: string | null;
55
55
  locked: boolean;
56
+ customData?: Record<string, any>;
56
57
  }>;
57
58
  export declare type ExcalidrawSelectionElement = _ExcalidrawElementBase & {
58
59
  type: "selection";
package/types/math.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Point, Zoom } from "./types";
2
- import { ExcalidrawLinearElement } from "./element/types";
2
+ import { ExcalidrawLinearElement, NonDeleted } from "./element/types";
3
3
  export declare const rotate: (x1: number, y1: number, x2: number, y2: number, angle: number) => [number, number];
4
4
  export declare const rotatePoint: (point: readonly [number, number], center: readonly [number, number], angle: number) => [number, number];
5
5
  export declare const adjustXYWithRotation: (sides: {
@@ -18,3 +18,10 @@ export declare const centerPoint: (a: readonly [number, number], b: readonly [nu
18
18
  export declare const isPathALoop: (points: ExcalidrawLinearElement["points"], zoomValue?: Zoom["value"]) => boolean;
19
19
  export declare const isPointInPolygon: (points: Point[], x: number, y: number) => boolean;
20
20
  export declare const getGridPoint: (x: number, y: number, gridSize: number | null) => [number, number];
21
+ export declare const getControlPointsForBezierCurve: (element: NonDeleted<ExcalidrawLinearElement>, endPoint: readonly [number, number]) => [number, number][] | null;
22
+ export declare const getBezierXY: (p0: readonly [number, number], p1: readonly [number, number], p2: readonly [number, number], p3: readonly [number, number], t: number) => number[];
23
+ export declare const getPointsInBezierCurve: (element: NonDeleted<ExcalidrawLinearElement>, endPoint: readonly [number, number]) => [number, number][];
24
+ export declare const getBezierCurveArcLengths: (element: NonDeleted<ExcalidrawLinearElement>, endPoint: readonly [number, number]) => number[];
25
+ export declare const getBezierCurveLength: (element: NonDeleted<ExcalidrawLinearElement>, endPoint: readonly [number, number]) => number;
26
+ export declare const mapIntervalToBezierT: (element: NonDeleted<ExcalidrawLinearElement>, endPoint: readonly [number, number], interval: number) => number;
27
+ export declare const arePointsEqual: (p1: readonly [number, number], p2: readonly [number, number]) => boolean;
@@ -13,10 +13,13 @@ declare type ExportOpts = {
13
13
  scale?: number;
14
14
  };
15
15
  };
16
- export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, }: ExportOpts) => Promise<HTMLCanvasElement>;
16
+ export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, }: ExportOpts & {
17
+ exportPadding?: number | undefined;
18
+ }) => Promise<HTMLCanvasElement>;
17
19
  export declare const exportToBlob: (opts: ExportOpts & {
18
20
  mimeType?: string;
19
21
  quality?: number;
22
+ exportPadding?: number;
20
23
  }) => Promise<Blob>;
21
24
  export declare const exportToSvg: ({ elements, appState, files, exportPadding, }: Omit<ExportOpts, "getDimensions"> & {
22
25
  exportPadding?: number | undefined;
package/types/types.d.ts CHANGED
@@ -260,7 +260,7 @@ declare type CanvasActions = {
260
260
  export?: false | ExportOpts;
261
261
  loadScene?: boolean;
262
262
  saveToActiveFile?: boolean;
263
- theme?: boolean;
263
+ toggleTheme?: boolean | null;
264
264
  saveAsImage?: boolean;
265
265
  };
266
266
  export declare type AppProps = Merge<ExcalidrawProps, {
@@ -323,7 +323,6 @@ export declare type PointerDownState = Readonly<{
323
323
  wasAddedToSelection: boolean;
324
324
  hasBeenDuplicated: boolean;
325
325
  hasHitCommonBoundingBoxOfSelectedElements: boolean;
326
- hasHitElementInside: boolean;
327
326
  };
328
327
  withCmdOrCtrl: boolean;
329
328
  drag: {
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkExcalidrawLib=self.webpackChunkExcalidrawLib||[]).push([[429],{8525:function(e){e.exports=JSON.parse('{"labels":{"paste":"","pasteCharts":"","selectAll":"","multiSelect":"","moveCanvas":"","cut":"","copy":"","copyAsPng":"","copyAsSvg":"","copyText":"","bringForward":"","sendToBack":"","bringToFront":"","sendBackward":"","delete":"","copyStyles":"","pasteStyles":"","stroke":"","background":"","fill":"","strokeWidth":"","strokeStyle":"","strokeStyle_solid":"","strokeStyle_dashed":"","strokeStyle_dotted":"","sloppiness":"","opacity":"","textAlign":"","edges":"","sharp":"","round":"","arrowheads":"","arrowhead_none":"","arrowhead_arrow":"","arrowhead_bar":"","arrowhead_dot":"","arrowhead_triangle":"","fontSize":"","fontFamily":"","onlySelected":"","withBackground":"","exportEmbedScene":"","exportEmbedScene_details":"","addWatermark":"","handDrawn":"","normal":"","code":"","small":"","medium":"","large":"","veryLarge":"","solid":"","hachure":"","crossHatch":"","thin":"","bold":"","left":"","center":"","right":"","extraBold":"","architect":"","artist":"","cartoonist":"","fileTitle":"","colorPicker":"","canvasColors":"","canvasBackground":"","drawingCanvas":"","layers":"","actions":"","language":"","liveCollaboration":"","duplicateSelection":"","untitled":"","name":"","yourName":"","madeWithExcalidraw":"","group":"","ungroup":"","collaborators":"","showGrid":"","addToLibrary":"","removeFromLibrary":"","libraryLoadingMessage":"","libraries":"","loadingScene":"","align":"","alignTop":"","alignBottom":"","alignLeft":"","alignRight":"","centerVertically":"","centerHorizontally":"","distributeHorizontally":"","distributeVertically":"","flipHorizontal":"","flipVertical":"","viewMode":"","toggleExportColorScheme":"","share":"","showStroke":"","showBackground":"","toggleTheme":"","personalLib":"","excalidrawLib":"","decreaseFontSize":"","increaseFontSize":"","unbindText":"","bindText":"","link":{"edit":"","create":"","label":""},"elementLock":{"lock":"","unlock":"","lockAll":"","unlockAll":""},"statusPublished":"","sidebarLock":""},"library":{"noItems":"","hint_emptyLibrary":"","hint_emptyPrivateLibrary":""},"buttons":{"clearReset":"","exportJSON":"","exportImage":"","export":"","exportToPng":"","exportToSvg":"","copyToClipboard":"","copyPngToClipboard":"","scale":"","save":"","saveAs":"","load":"","getShareableLink":"","close":"","selectLanguage":"","scrollBackToContent":"","zoomIn":"","zoomOut":"","resetZoom":"","menu":"","done":"","edit":"","undo":"","redo":"","resetLibrary":"","createNewRoom":"","fullScreen":"","darkMode":"","lightMode":"","zenMode":"","exitZenMode":"","cancel":"","clear":"","remove":"","publishLibrary":"","submit":"","confirm":""},"alerts":{"clearReset":"","couldNotCreateShareableLink":"","couldNotCreateShareableLinkTooBig":"","couldNotLoadInvalidFile":"","importBackendFailed":"","cannotExportEmptyCanvas":"","couldNotCopyToClipboard":"","decryptFailed":"","uploadedSecurly":"","loadSceneOverridePrompt":"","collabStopOverridePrompt":"","errorAddingToLibrary":"","errorRemovingFromLibrary":"","confirmAddLibrary":"","imageDoesNotContainScene":"","cannotRestoreFromImage":"","invalidSceneUrl":"","resetLibrary":"","removeItemsFromsLibrary":"","invalidEncryptionKey":""},"errors":{"unsupportedFileType":"","imageInsertError":"","fileTooBig":"","svgImageInsertError":"","invalidSVGString":"","cannotResolveCollabServer":"","importLibraryError":""},"toolBar":{"selection":"","image":"","rectangle":"","diamond":"","ellipse":"","arrow":"","line":"","freedraw":"","text":"","library":"","lock":"","penMode":"","link":"","eraser":""},"headings":{"canvasActions":"","selectedShapeActions":"","shapes":""},"hints":{"canvasPanning":"","linearElement":"","freeDraw":"","text":"","text_selected":"","text_editing":"","linearElementMulti":"","lockAngle":"","resize":"","resizeImage":"","rotate":"","lineEditor_info":"","lineEditor_pointSelected":"","lineEditor_nothingSelected":"","placeImage":"","publishLibrary":"","bindTextToElement":"","deepBoxSelect":"","eraserRevert":""},"canvasError":{"cannotShowPreview":"","canvasTooBig":"","canvasTooBigTip":""},"errorSplash":{"headingMain_pre":"","headingMain_button":"","clearCanvasMessage":"","clearCanvasMessage_button":"","clearCanvasCaveat":"","trackedToSentry_pre":"","trackedToSentry_post":"","openIssueMessage_pre":"","openIssueMessage_button":"","openIssueMessage_post":"","sceneContent":""},"roomDialog":{"desc_intro":"","desc_privacy":"","button_startSession":"","button_stopSession":"","desc_inProgressIntro":"","desc_shareLink":"","desc_exitSession":"","shareTitle":""},"errorDialog":{"title":""},"exportDialog":{"disk_title":"","disk_details":"","disk_button":"","link_title":"","link_details":"","link_button":"","excalidrawplus_description":"","excalidrawplus_button":"","excalidrawplus_exportError":""},"helpDialog":{"blog":"","click":"","deepSelect":"","deepBoxSelect":"","curvedArrow":"","curvedLine":"","documentation":"","doubleClick":"","drag":"","editor":"","editSelectedShape":"","github":"","howto":"","or":"","preventBinding":"","tools":"","shortcuts":"","textFinish":"","textNewLine":"","title":"","view":"","zoomToFit":"","zoomToSelection":"","toggleElementLock":""},"clearCanvasDialog":{"title":""},"publishDialog":{"title":"","itemName":"","authorName":"","githubUsername":"","twitterUsername":"","libraryName":"","libraryDesc":"","website":"","placeholder":{"authorName":"","libraryName":"","libraryDesc":"","githubHandle":"","twitterHandle":"","website":""},"errors":{"required":"","website":""},"noteDescription":{"pre":"","link":"","post":""},"noteGuidelines":{"pre":"","link":"","post":""},"noteLicense":{"pre":"","link":"","post":""},"noteItems":"","atleastOneLibItem":"","republishWarning":""},"publishSuccessDialog":{"title":"","content":"","link":""},"confirmDialog":{"resetLibrary":"","removeItemsFromLib":""},"encrypted":{"tooltip":"","link":""},"stats":{"angle":"","element":"","elements":"","height":"","scene":"","selected":"","storage":"","title":"","total":"","version":"","versionCopy":"","versionNotAvailable":"","width":""},"toast":{"addedToLibrary":"","copyStyles":"","copyToClipboard":"","copyToClipboardAsPng":"","fileSaved":"","fileSavedToFilename":"","canvas":"","selection":""},"colors":{"495057":"","ffffff":"","f8f9fa":"","f1f3f5":"","fff5f5":"","fff0f6":"","f8f0fc":"","f3f0ff":"","edf2ff":"","e7f5ff":"","e3fafc":"","e6fcf5":"","ebfbee":"","f4fce3":"","fff9db":"","fff4e6":"","transparent":"","ced4da":"","868e96":"","fa5252":"","e64980":"","be4bdb":"","7950f2":"","4c6ef5":"","228be6":"","15aabf":"","12b886":"","40c057":"","82c91e":"","fab005":"","fd7e14":"","000000":"","343a40":"","c92a2a":"","a61e4d":"","862e9c":"","5f3dc4":"","364fc7":"","1864ab":"","0b7285":"","087f5b":"","2b8a3e":"","5c940d":"","e67700":"","d9480f":""}}')}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkExcalidrawLib=self.webpackChunkExcalidrawLib||[]).push([[130],{510:function(e){e.exports=JSON.parse('{"labels":{"paste":"Enganxa","pasteCharts":"Enganxa els diagrames","selectAll":"Selecciona-ho tot","multiSelect":"Afegeix un element a la selecció","moveCanvas":"Mou el llenç","cut":"Retalla","copy":"Copia","copyAsPng":"Copia al porta-retalls com a PNG","copyAsSvg":"Copia al porta-retalls com a SVG","copyText":"Copia al porta-retalls com a text","bringForward":"Porta endavant","sendToBack":"Envia enrere","bringToFront":"Porta al davant","sendBackward":"Envia al fons","delete":"Elimina","copyStyles":"Copia els estils","pasteStyles":"Enganxa els estils","stroke":"Color del traç","background":"Color del fons","fill":"Estil del fons","strokeWidth":"Amplada del traç","strokeStyle":"Estil del traç","strokeStyle_solid":"Sòlid","strokeStyle_dashed":"Guions","strokeStyle_dotted":"Punts","sloppiness":"Estil del traç","opacity":"Opacitat","textAlign":"Alineació del text","edges":"Vores","sharp":"Agut","round":"Arrodonit","arrowheads":"Puntes de fletxa","arrowhead_none":"Cap","arrowhead_arrow":"Fletxa","arrowhead_bar":"Barra","arrowhead_dot":"Punt","arrowhead_triangle":"Triangle","fontSize":"Mida de lletra","fontFamily":"Tipus de lletra","onlySelected":"Només seleccionats","withBackground":"Fons","exportEmbedScene":"Insereix l\'escena","exportEmbedScene_details":"Les dades de l’escena es desaran al fitxer PNG/SVG de manera que es pugui restaurar l’escena.\\nAugmentarà la mida del fitxer exportat.","addWatermark":"Afegeix-hi «Fet amb Excalidraw»","handDrawn":"Dibuixat a mà","normal":"Normal","code":"Codi","small":"Petit","medium":"Mitjà","large":"Gran","veryLarge":"Molt gran","solid":"Sòlid","hachure":"Ratlletes","crossHatch":"Ratlletes creuades","thin":"Fi","bold":"Negreta","left":"Esquerra","center":"Centre","right":"Dreta","extraBold":"Extra negreta","architect":"Arquitecte","artist":"Artista","cartoonist":"Dibuixant","fileTitle":"Nom del fitxer","colorPicker":"Selector de colors","canvasColors":"Usat al llenç","canvasBackground":"Fons del llenç","drawingCanvas":"Llenç de dibuix","layers":"Capes","actions":"Accions","language":"Llengua","liveCollaboration":"Col·laboració en directe","duplicateSelection":"Duplica","untitled":"Sense títol","name":"Nom","yourName":"El vostre nom","madeWithExcalidraw":"Fet amb Excalidraw","group":"Agrupa la selecció","ungroup":"Desagrupa la selecció","collaborators":"Col·laboradors","showGrid":"Mostra la graella","addToLibrary":"Afegir a la biblioteca","removeFromLibrary":"Eliminar de la biblioteca","libraryLoadingMessage":"S\'està carregant la biblioteca…","libraries":"Explora les biblioteques","loadingScene":"S\'està carregant l\'escena…","align":"Alinea","alignTop":"Alinea a la part superior","alignBottom":"Alinea a la part inferior","alignLeft":"Alinea a l’esquerra","alignRight":"Alinea a la dreta","centerVertically":"Centra verticalment","centerHorizontally":"Centra horitzontalment","distributeHorizontally":"Distribueix horitzontalment","distributeVertically":"Distribueix verticalment","flipHorizontal":"Capgira horitzontalment","flipVertical":"Capgira verticalment","viewMode":"Mode de visualització","toggleExportColorScheme":"Canvia l\'esquema de colors de l\'exportació","share":"Comparteix","showStroke":"Mostra el selector de color del traç","showBackground":"Mostra el selector de color de fons","toggleTheme":"Activa o desactiva el tema","personalLib":"Biblioteca personal","excalidrawLib":"Biblioteca d\'Excalidraw","decreaseFontSize":"Redueix la mida de la lletra","increaseFontSize":"Augmenta la mida de la lletra","unbindText":"Desvincular el text","bindText":"","link":{"edit":"Edita l\'enllaç","create":"Crea un enllaç","label":"Enllaç"},"elementLock":{"lock":"Bloca","unlock":"Desbloca","lockAll":"Bloca-ho tot","unlockAll":"Desbloca-ho tot"},"statusPublished":"Publicat","sidebarLock":""},"library":{"noItems":"","hint_emptyLibrary":"","hint_emptyPrivateLibrary":""},"buttons":{"clearReset":"Neteja el llenç","exportJSON":"Exporta a un fitxer","exportImage":"Desa com a imatge","export":"Exporta","exportToPng":"Exporta a PNG","exportToSvg":"Exporta a SNG","copyToClipboard":"Copia al porta-retalls","copyPngToClipboard":"Copia el PNG al porta-retalls","scale":"Escala","save":"Desa al fitxer actual","saveAs":"Anomena i desa","load":"Carrega","getShareableLink":"Obté l\'enllaç per a compartir","close":"Tanca","selectLanguage":"Trieu la llengua","scrollBackToContent":"Torna al contingut","zoomIn":"Apropa\'t","zoomOut":"Allunya\'t","resetZoom":"Restableix el zoom","menu":"Menú","done":"Fet","edit":"Edita","undo":"Desfés","redo":"Refés","resetLibrary":"Restableix la biblioteca","createNewRoom":"Crea una sala nova","fullScreen":"Pantalla completa","darkMode":"Mode fosc","lightMode":"Mode clar","zenMode":"Mode zen","exitZenMode":"Surt de mode zen","cancel":"Cancel·la","clear":"Neteja","remove":"Suprimeix","publishLibrary":"Publica","submit":"Envia","confirm":"Confirma"},"alerts":{"clearReset":"S\'esborrarà tot el llenç. N\'esteu segur?","couldNotCreateShareableLink":"No s\'ha pogut crear un enllaç per a compartir.","couldNotCreateShareableLinkTooBig":"No s’ha pogut crear un enllaç per a compartir: l’escena és massa gran","couldNotLoadInvalidFile":"No s\'ha pogut carregar un fitxer no vàlid","importBackendFailed":"Importació fallida.","cannotExportEmptyCanvas":"No es pot exportar un llenç buit.","couldNotCopyToClipboard":"No s\'ha pogut copiar al porta-retalls.","decryptFailed":"No s\'ha pogut desencriptar.","uploadedSecurly":"La càrrega s\'ha assegurat amb xifratge punta a punta, cosa que significa que el servidor Excalidraw i tercers no poden llegir el contingut.","loadSceneOverridePrompt":"Si carregas aquest dibuix extern, substituirá el que tens. Vols continuar?","collabStopOverridePrompt":"Aturar la sessió provocarà la sobreescriptura del dibuix previ, que hi ha desat en l\'emmagatzematge local. N\'esteu segur?\\n\\n(Si voleu conservar el dibuix local, tanqueu la pentanya del navegador en comptes d\'aturar la sessió).","errorAddingToLibrary":"No s\'ha pogut afegir l\'element a la biblioteca","errorRemovingFromLibrary":"No s\'ha pogut eliminar l\'element de la biblioteca","confirmAddLibrary":"Això afegirà {{numShapes}} forma(es) a la vostra biblioteca. Estàs segur?","imageDoesNotContainScene":"Aquesta imatge no sembla contenir cap dada d\'escena. Heu activat l\'incrustació de l\'escena durant l\'exportació?","cannotRestoreFromImage":"L’escena no s’ha pogut restaurar des d’aquest fitxer d’imatge","invalidSceneUrl":"No s\'ha pogut importar l\'escena des de l\'adreça URL proporcionada. Està malformada o no conté dades Excalidraw JSON vàlides.","resetLibrary":"Això buidarà la biblioteca. N\'esteu segur?","removeItemsFromsLibrary":"Suprimir {{count}} element(s) de la biblioteca?","invalidEncryptionKey":"La clau d\'encriptació ha de tenir 22 caràcters. La col·laboració en directe està desactivada."},"errors":{"unsupportedFileType":"Tipus de fitxer no suportat.","imageInsertError":"No s\'ha pogut insertar la imatge, torneu-ho a provar més tard...","fileTooBig":"El fitxer és massa gros. La mida màxima permesa és {{maxSize}}.","svgImageInsertError":"No ha estat possible inserir la imatge SVG. Les marques SVG semblen invàlides.","invalidSVGString":"SVG no vàlid.","cannotResolveCollabServer":"","importLibraryError":"No s\'ha pogut carregar la biblioteca"},"toolBar":{"selection":"Selecció","image":"Insereix imatge","rectangle":"Rectangle","diamond":"Rombe","ellipse":"El·lipse","arrow":"Fletxa","line":"Línia","freedraw":"Dibuix","text":"Text","library":"Biblioteca","lock":"Mantenir activa l\'eina seleccionada desprès de dibuixar","penMode":"Evita el zoom i accepta solament el dibuix lliure amb bolígraf","link":"Afegeix / actualitza l\'enllaç per a la forma seleccionada","eraser":"Esborrador"},"headings":{"canvasActions":"Accions del llenç","selectedShapeActions":"Accions per a les formes seleccionades","shapes":"Formes"},"hints":{"canvasPanning":"Per a moure el llenç, mantingueu premuda la roda del ratolí o la tecla espai mentre l\'arrossegueu","linearElement":"Feu clic per a dibuixar múltiples punts; arrossegueu per a una sola línia","freeDraw":"Feu clic i arrossegueu, deixeu anar per a finalitzar","text":"Consell: també podeu afegir text fent doble clic en qualsevol lloc amb l\'eina de selecció","text_selected":"Feu doble clic o premeu Retorn per a editar el text","text_editing":"Premeu Escapada o Ctrl+Retorn (o Ordre+Retorn) per a finalitzar l\'edició","linearElementMulti":"Feu clic a l\'ultim punt, o pitgeu Esc o Retorn per a finalitzar","lockAngle":"Per restringir els angles, mantenir premut el majúscul (SHIFT)","resize":"Per restringir les proporcions mentres es canvia la mida, mantenir premut el majúscul (SHIFT); per canviar la mida des del centre, mantenir premut ALT","resizeImage":"Podeu redimensionar lliurement prement MAJÚSCULA;\\nper a redimensionar des del centre, premeu ALT","rotate":"Per restringir els angles mentre gira, mantenir premut el majúscul (SHIFT)","lineEditor_info":"Fes doble clic o premi Enter per editar punts","lineEditor_pointSelected":"Premeu Suprimir per a eliminar el(s) punt(s), CtrlOrCmd+D per a duplicar-lo, o arrossegueu-lo per a moure\'l","lineEditor_nothingSelected":"Seleccioneu un punt per a editar-lo (premeu SHIFT si voleu\\nselecció múltiple), o manteniu Alt i feu clic per a afegir més punts","placeImage":"Feu clic per a col·locar la imatge o clic i arrossegar per a establir-ne la mida manualment","publishLibrary":"Publiqueu la vostra pròpia llibreria","bindTextToElement":"Premeu enter per a afegir-hi text","deepBoxSelect":"Manteniu CtrlOrCmd per a selecció profunda, i per a evitar l\'arrossegament","eraserRevert":"Mantingueu premuda Alt per a revertir els elements seleccionats per a esborrar"},"canvasError":{"cannotShowPreview":"No es pot mostrar la previsualització","canvasTooBig":"Pot ser que el llenç sigui massa gran.","canvasTooBigTip":"Consell: proveu d’acostar una mica els elements més allunyats."},"errorSplash":{"headingMain_pre":"S\'ha produït un error. Proveu ","headingMain_button":"recarregar la pàgina.","clearCanvasMessage":"Si la recàrrega no funciona, proveu ","clearCanvasMessage_button":"esborrar el llenç.","clearCanvasCaveat":" Això resultarà en la pèrdua de feina ","trackedToSentry_pre":"L\'error amb l\'identificador ","trackedToSentry_post":" s\'ha rastrejat en el nostre sistema.","openIssueMessage_pre":"Anàvem amb molta cura de no incloure la informació de la vostra escena en l\'error. Si l\'escena no és privada, podeu fer-ne el seguiment al nostre ","openIssueMessage_button":"rastrejador d\'errors.","openIssueMessage_post":" Incloeu la informació a continuació copiant i enganxant a GitHub Issues.","sceneContent":"Contingut de l\'escena:"},"roomDialog":{"desc_intro":"Podeu convidar persones a la vostra escena actual a col·laborar amb vós.","desc_privacy":"No us preocupeu, la sessió utilitza el xifratge de punta a punta, de manera que qualsevol cosa que dibuixeu romandrà privada. Ni tan sols el nostre servidor podrà veure què feu.","button_startSession":"Inicia la sessió","button_stopSession":"Atura la sessió","desc_inProgressIntro":"La sessió de col·laboració en directe està en marxa.","desc_shareLink":"Comparteix aquest enllaç amb qualsevol persona amb qui vulgueu col·laborar:","desc_exitSession":"Si atureu la sessió, us desconectareu de la sala, però podreu continuar treballant amb el dibuix localment. Tingues en compte que això no afectarà a altres persones, i encara podran col·laborar en la seva versió.","shareTitle":"Uniu-vos a una sessió de col·laboració en directe a Excalidraw"},"errorDialog":{"title":"Error"},"exportDialog":{"disk_title":"Desa al disc","disk_details":"Exporta les dades de l\'escena a un fitxer que després podreu importar.","disk_button":"Desa en un fitxer","link_title":"Enllaç per a compartir","link_details":"Exporta com a un enllaç de només lectura.","link_button":"Exporta a un enllaç","excalidrawplus_description":"Desa l\'escena en el vostre espai de treball Excalidraw+.","excalidrawplus_button":"Exporta","excalidrawplus_exportError":"No és possible exportar a Excalidraw+ ara mateix..."},"helpDialog":{"blog":"Llegiu el nostre blog","click":"clic","deepSelect":"Selecció profunda","deepBoxSelect":"","curvedArrow":"Fletxa corba","curvedLine":"Línia corba","documentation":"Documentació","doubleClick":"doble clic","drag":"arrossega","editor":"Editor","editSelectedShape":"Edita la forma seleccionada (text, fletxa o línia)","github":"Hi heu trobat un problema? Informeu-ne","howto":"Seguiu les nostres guies","or":"o","preventBinding":"Prevenir vinculació de la fletxa","tools":"Eines","shortcuts":"Dreceres de teclat","textFinish":"Finalitza l\'edició (editor de text)","textNewLine":"Afegeix una línia nova (editor de text)","title":"Ajuda","view":"Visualització","zoomToFit":"Zoom per veure tots els elements","zoomToSelection":"Zoom per veure la selecció","toggleElementLock":""},"clearCanvasDialog":{"title":"Neteja el llenç"},"publishDialog":{"title":"Publica la biblioteca","itemName":"Nom de l\'element","authorName":"Nom de l\'autor/a","githubUsername":"Nom d\'usuari de GitHub","twitterUsername":"Nom d\'usuari de Twitter","libraryName":"Nom de la biblioteca","libraryDesc":"Descripció de la biblioteca","website":"Lloc web","placeholder":{"authorName":"Nom o usuari","libraryName":"Nom de la vostra biblioteca","libraryDesc":"Descripció de la biblioteca per a ajudar a la gent a entendre\'n el funcionament","githubHandle":"","twitterHandle":"Usuari de twitter (opcional), per tal que puguem donar-vos crèdit quan fem la promoció a Twitter","website":"Enllaç al vostre lloc web personal o a qualsevol altre (opcional)"},"errors":{"required":"Requerit","website":"Introduïu una URL vàlida"},"noteDescription":{"pre":"Envieu la vostra biblioteca perquè sigui inclosa al ","link":"repositori públic","post":"per tal que altres persones puguin fer-ne ús en els seus dibuixos."},"noteGuidelines":{"pre":"La biblioteca ha de ser aprovada manualment. Si us plau, llegiu les ","link":"directrius","post":" abans d\'enviar-hi res. Necessitareu un compte de GitHub per a comunicar i fer-hi canvis si cal, però no és requisit imprescindible."},"noteLicense":{"pre":"Quan l\'envieu, accepteu que la biblioteca sigui publicada sota la ","link":"llicència MIT, ","post":"que, en resum, vol dir que qualsevol persona pot fer-ne ús sense restriccions."},"noteItems":"Cada element de la biblioteca ha de tenir el seu propi nom per tal que sigui filtrable. S\'hi inclouran els elements següents:","atleastOneLibItem":"Si us plau, seleccioneu si més no un element de la biblioteca per a començar","republishWarning":"Nota: alguns dels elements seleccionats s\'han marcat com a publicats/enviats. Només hauríeu de reenviar elements quan actualitzeu una biblioteca existent."},"publishSuccessDialog":{"title":"Biblioteca enviada","content":"Gràcies, {{authorName}}. La vostra biblioteca ha estat enviada per a ser revisada. Podeu comprovar-ne l\'estat","link":"aquí"},"confirmDialog":{"resetLibrary":"Restableix la biblioteca","removeItemsFromLib":"Suprimeix els elements seleccionats de la llibreria"},"encrypted":{"tooltip":"Els vostres dibuixos estan xifrats de punta a punta de manera que els servidors d’Excalidraw no els veuran mai.","link":"Article del blog sobre encriptació d\'extrem a extrem a Excalidraw"},"stats":{"angle":"Angle","element":"Element","elements":"Elements","height":"Altura","scene":"Escena","selected":"Seleccionat","storage":"Emmagatzematge","title":"Estadístiques per nerds","total":"Total","version":"Versió","versionCopy":"Feu clic per a copiar","versionNotAvailable":"Versió no disponible","width":"Amplada"},"toast":{"addedToLibrary":"Afegit a la biblioteca","copyStyles":"S\'han copiat els estils.","copyToClipboard":"S\'ha copiat al porta-retalls.","copyToClipboardAsPng":"S\'ha copiat {{exportSelection}} al porta-retalls en format PNG\\n({{exportColorScheme}})","fileSaved":"S\'ha desat el fitxer.","fileSavedToFilename":"S\'ha desat a {filename}","canvas":"el llenç","selection":"la selecció"},"colors":{"495057":"Gris 7","ffffff":"Blanc","f8f9fa":"Gris 0","f1f3f5":"Gris 1","fff5f5":"Vermell 0","fff0f6":"Rosa 0","f8f0fc":"Malva 0","f3f0ff":"Violat 0","edf2ff":"Indi 0","e7f5ff":"Blau 0","e3fafc":"Cian 0","e6fcf5":"Xarxet 0","ebfbee":"Verd 0","f4fce3":"Llima 0","fff9db":"Groc 0","fff4e6":"Taronja 0","transparent":"Transparent","ced4da":"Gris 4","868e96":"Gris 6","fa5252":"Vermell 6","e64980":"Rosa 6","be4bdb":"Malva 6","7950f2":"Violat 6","4c6ef5":"Indi 6","228be6":"Blau 6","15aabf":"Cian 6","12b886":"Xarxet 6","40c057":"Verd 6","82c91e":"Llima 6","fab005":"Groc 6","fd7e14":"Taronja 6","000000":"Negre","343a40":"Gris 8","c92a2a":"Vermell 9","a61e4d":"Rosa 9","862e9c":"Malva 9","5f3dc4":"Violat 9","364fc7":"Indi 9","1864ab":"Blau 9","0b7285":"Cian 9","087f5b":"Xarxet 9","2b8a3e":"Verd 9","5c940d":"Llima 9","e67700":"Groc 9","d9480f":"Taronja 9"}}')}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkExcalidrawLib=self.webpackChunkExcalidrawLib||[]).push([[513],{9876:function(e){e.exports=JSON.parse('{"labels":{"paste":"Επικόλληση","pasteCharts":"Επικόλληση γραφημάτων","selectAll":"Επιλογή όλων","multiSelect":"Προσθέστε το στοιχείο στην επιλογή","moveCanvas":"Μετακίνηση καμβά","cut":"Αποκοπή","copy":"Αντιγραφή","copyAsPng":"Αντιγραφή στο πρόχειρο ως PNG","copyAsSvg":"Αντιγραφή στο πρόχειρο ως SVG","copyText":"","bringForward":"Στο προσκήνιο","sendToBack":"Ένα επίπεδο πίσω","bringToFront":"Ένα επίπεδο μπροστά","sendBackward":"Στο παρασκήνιο","delete":"Διαγραφή","copyStyles":"Αντιγραφή εμφάνισης","pasteStyles":"Επικόλληση εμφάνισης","stroke":"Μολυβιά","background":"Φόντο","fill":"Γέμισμα","strokeWidth":"Πάχος μολυβιάς","strokeStyle":"Στυλ περιγράμματος","strokeStyle_solid":"Συμπαγής","strokeStyle_dashed":"Διακεκομμένη με παύλες","strokeStyle_dotted":"Διακεκομμένη με τελείες","sloppiness":"Ακαταστασία","opacity":"Διαφάνεια","textAlign":"Στοίχιση κειμένου","edges":"Άκρες","sharp":"Οξύ","round":"Στρογγυλό","arrowheads":"Σύμβολα βελών","arrowhead_none":"Κανένα","arrowhead_arrow":"Βέλος","arrowhead_bar":"Μπάρα","arrowhead_dot":"Τελεία","arrowhead_triangle":"Τρίγωνο","fontSize":"Μέγεθος γραμματοσειράς","fontFamily":"Γραμματοσειρά","onlySelected":"Μόνο τα Επιλεγμένα","withBackground":"Φόντο","exportEmbedScene":"","exportEmbedScene_details":"Τα δεδομένα σκηνής θα αποθηκευτούν στο αρχείο PNG/SVG προς εξαγωγή ώστε η σκηνή να είναι δυνατό να αποκατασταθεί από αυτό.\\nΘα αυξήσει το μέγεθος του αρχείου προς εξαγωγή.","addWatermark":"Προσθήκη \\"Φτιαγμένο με Excalidraw\\"","handDrawn":"Σχεδιασμένο στο χέρι","normal":"Κανονική","code":"Κώδικας","small":"Μικρό","medium":"Μεσαίο","large":"Μεγάλο","veryLarge":"Πολύ μεγάλο","solid":"Συμπαγής","hachure":"Εκκόλαψη","crossHatch":"Διασταυρούμενη εκκόλαψη","thin":"Λεπτή","bold":"Έντονη","left":"Αριστερά","center":"Κέντρο","right":"Δεξιά","extraBold":"Πολύ έντονη","architect":"Αρχιτέκτονας","artist":"Καλλιτέχνης","cartoonist":"Σκιτσογράφος","fileTitle":"Όνομα αρχείου","colorPicker":"Επιλογή Χρώματος","canvasColors":"","canvasBackground":"Φόντο καμβά","drawingCanvas":"Σχεδίαση καμβά","layers":"Στρώματα","actions":"Ενέργειες","language":"Γλώσσα","liveCollaboration":"Ζωντανή συνεργασία","duplicateSelection":"Δημιουργία αντιγράφου","untitled":"Χωρίς τίτλο","name":"Όνομα","yourName":"Το όνομά σου","madeWithExcalidraw":"Φτιαγμένο με Excalidraw","group":"Δημιουργία ομάδας από επιλογή","ungroup":"Κατάργηση ομάδας από επιλογή","collaborators":"Συνεργάτες","showGrid":"Προβολή πλέγματος","addToLibrary":"Προσθήκη στη βιβλιοθήκη","removeFromLibrary":"Αφαίρεση από τη βιβλιοθήκη","libraryLoadingMessage":"Φόρτωση βιβλιοθήκης…","libraries":"Άλλες βιβλιοθήκες","loadingScene":"Φόρτωση σκηνής…","align":"Στοίχιση","alignTop":"Στοίχιση πάνω","alignBottom":"Στοίχιση κάτω","alignLeft":"Στοίχιση αριστερά","alignRight":"Στοίχιση δεξιά","centerVertically":"Κέντρο κάθετα","centerHorizontally":"Κέντρο οριζόντια","distributeHorizontally":"Οριζόντια κατανομή","distributeVertically":"Κατακόρυφη κατανομή","flipHorizontal":"Οριζόντια αναστροφή","flipVertical":"Κατακόρυφη αναστροφή","viewMode":"Λειτουργία προβολής","toggleExportColorScheme":"Εναλλαγή εξαγωγής θέματος χρωμάτων","share":"Κοινοποίηση","showStroke":"Εμφάνιση επιλογέα χρωμάτων πινελιάς","showBackground":"Εμφάνιση επιλογέα χρώματος φόντου","toggleTheme":"Εναλλαγή θέματος","personalLib":"Προσωπική Βιβλιοθήκη","excalidrawLib":"Βιβλιοθήκη Excalidraw","decreaseFontSize":"","increaseFontSize":"","unbindText":"","bindText":"","link":{"edit":"","create":"","label":""},"elementLock":{"lock":"","unlock":"","lockAll":"","unlockAll":""},"statusPublished":"","sidebarLock":""},"library":{"noItems":"","hint_emptyLibrary":"","hint_emptyPrivateLibrary":""},"buttons":{"clearReset":"Επαναφορά του καμβά","exportJSON":"Εξαγωγή σε αρχείο","exportImage":"Αποθήκευση ως εικόνα","export":"Εξαγωγή","exportToPng":"Εξαγωγή σε PNG","exportToSvg":"Εξαγωγή σε SVG","copyToClipboard":"Αντιγραφή στο πρόχειρο","copyPngToClipboard":"Αντιγραφή PNG στο πρόχειρο","scale":"Κλίμακα","save":"Αποθήκευση στο τρέχον αρχείο","saveAs":"Αποθήκευση ως","load":"Άνοιγμα","getShareableLink":"Δημόσιος σύνδεσμος","close":"Κλείσιμο","selectLanguage":"Επιλογή γλώσσας","scrollBackToContent":"Μετακινηθείτε πίσω στο περιεχόμενο","zoomIn":"Μεγέθυνση","zoomOut":"Σμίκρυνση","resetZoom":"Επαναφορά μεγέθυνσης","menu":"Μενού","done":"Τέλος","edit":"Επεξεργασία","undo":"Αναίρεση","redo":"Επαναφορά","resetLibrary":"Καθαρισμός βιβλιοθήκης","createNewRoom":"Δημιουργία νέου χώρου","fullScreen":"Πλήρης οθόνη","darkMode":"Σκοτεινή λειτουργία","lightMode":"Φωτεινή λειτουργία","zenMode":"Λειτουργία Zεν","exitZenMode":"Έξοδος από την λειτουργία Zen","cancel":"Ακύρωση","clear":"Καθαρισμός","remove":"Κατάργηση","publishLibrary":"Δημοσίευση","submit":"Υποβολή","confirm":"Επιβεβαίωση"},"alerts":{"clearReset":"Αυτό θα σβήσει ολόκληρο τον καμβά. Είσαι σίγουρος;","couldNotCreateShareableLink":"Δεν ήταν δυνατή η δημιουργία συνδέσμου κοινής χρήσης.","couldNotCreateShareableLinkTooBig":"Δεν ήταν δυνατή η δημιουργία κοινόχρηστου συνδέσμου: η σκηνή είναι πολύ μεγάλη","couldNotLoadInvalidFile":"Δεν μπόρεσε να ανοίξει εσφαλμένο αρχείο","importBackendFailed":"Η εισαγωγή από το backend απέτυχε.","cannotExportEmptyCanvas":"Δεν είναι δυνατή η εξαγωγή κενού καμβά.","couldNotCopyToClipboard":"","decryptFailed":"Δεν ήταν δυνατή η αποκρυπτογράφηση δεδομένων.","uploadedSecurly":"Η μεταφόρτωση έχει εξασφαλιστεί με κρυπτογράφηση από άκρο σε άκρο, πράγμα που σημαίνει ότι ο διακομιστής Excalidraw και τρίτα μέρη δεν μπορούν να διαβάσουν το περιεχόμενο.","loadSceneOverridePrompt":"Η φόρτωση εξωτερικού σχεδίου θα αντικαταστήσει το υπάρχον περιεχόμενο. Επιθυμείτε να συνεχίσετε;","collabStopOverridePrompt":"Η διακοπή της συνεδρίας θα αντικαταστήσει το προηγούμενο, τοπικά αποθηκευμένο σχέδιο. Είστε σίγουροι?\\n\\n(Αν θέλετε να διατηρήσετε το τοπικό σας σχέδιο, απλά κλείστε την καρτέλα του προγράμματος περιήγησης.)","errorAddingToLibrary":"Αδυναμία προσθήκης αντικειμένου στη βιβλιοθήκη","errorRemovingFromLibrary":"Αδυναμία αφαίρεσης αντικειμένου από τη βιβλιοθήκη","confirmAddLibrary":"Αυτό θα προσθέσει {{numShapes}} σχήμα(τα) στη βιβλιοθήκη σας. Είστε σίγουροι;","imageDoesNotContainScene":"","cannotRestoreFromImage":"Η σκηνή δεν ήταν δυνατό να αποκατασταθεί από αυτό το αρχείο εικόνας","invalidSceneUrl":"","resetLibrary":"Αυτό θα καθαρίσει τη βιβλιοθήκη σας. Είστε σίγουροι;","removeItemsFromsLibrary":"","invalidEncryptionKey":"Το κλειδί κρυπτογράφησης πρέπει να είναι 22 χαρακτήρες. Η ζωντανή συνεργασία είναι απενεργοποιημένη."},"errors":{"unsupportedFileType":"Μη υποστηριζόμενος τύπος αρχείου.","imageInsertError":"Αδυναμία εισαγωγής εικόνας. Προσπαθήστε ξανά αργότερα...","fileTooBig":"Το αρχείο είναι πολύ μεγάλο. Το μέγιστο επιτρεπόμενο μέγεθος είναι {{maxSize}}.","svgImageInsertError":"","invalidSVGString":"Μη έγκυρο SVG.","cannotResolveCollabServer":"","importLibraryError":""},"toolBar":{"selection":"Επιλογή","image":"Εισαγωγή εικόνας","rectangle":"Ορθογώνιο","diamond":"Ρόμβος","ellipse":"Έλλειψη","arrow":"Βέλος","line":"Γραμμή","freedraw":"Σχεδίαση","text":"Κείμενο","library":"Βιβλιοθήκη","lock":"Κράτησε επιλεγμένο το εργαλείο μετά το σχέδιο","penMode":"","link":"","eraser":""},"headings":{"canvasActions":"Ενέργειες καμβά","selectedShapeActions":"Επιλεγμένες ενέργειες σχήματος","shapes":"Σχήματα"},"hints":{"canvasPanning":"Για να μετακινήσετε καμβά, κρατήστε πατημένο τον τροχό του ποντικιού ή το πλήκτρο διαστήματος ενώ σύρετε","linearElement":"Κάνε κλικ για να ξεκινήσεις πολλαπλά σημεία, σύρε για μια γραμμή","freeDraw":"Κάντε κλικ και σύρτε, απελευθερώσατε όταν έχετε τελειώσει","text":"Tip: μπορείτε επίσης να προσθέστε κείμενο με διπλό-κλικ οπουδήποτε με το εργαλείο επιλογών","text_selected":"Κάντε διπλό κλικ ή πατήστε ENTER για να επεξεργαστείτε το κείμενο","text_editing":"Πατήστε Escape ή CtrlOrCmd+ENTER για να ολοκληρώσετε την επεξεργασία","linearElementMulti":"Κάνε κλικ στο τελευταίο σημείο ή πάτησε Escape ή Enter για να τελειώσεις","lockAngle":"Μπορείτε να περιορίσετε τη γωνία κρατώντας πατημένο το SHIFT","resize":"Μπορείς να περιορίσεις τις αναλογίες κρατώντας το SHIFT ενώ αλλάζεις μέγεθος,\\nκράτησε πατημένο το ALT για αλλαγή μεγέθους από το κέντρο","resizeImage":"","rotate":"Μπορείς να περιορίσεις τις γωνίες κρατώντας πατημένο το πλήκτρο SHIFT κατά την περιστροφή","lineEditor_info":"Διπλό-κλικ ή πιέστε Enter για να επεξεργαστείτε τα σημεία","lineEditor_pointSelected":"","lineEditor_nothingSelected":"","placeImage":"","publishLibrary":"Δημοσιεύστε τη δική σας βιβλιοθήκη","bindTextToElement":"","deepBoxSelect":"","eraserRevert":""},"canvasError":{"cannotShowPreview":"Αδυναμία εμφάνισης προεπισκόπησης","canvasTooBig":"Ο καμβάς μπορεί να είναι μεγάλος.","canvasTooBigTip":"Συμβουλή: προσπαθήστε να μετακινήσετε τα πιο απομακρυσμένα στοιχεία λίγο πιο κοντά μαζί."},"errorSplash":{"headingMain_pre":"Συνέβη κάποιο σφάλμα. Προσπάθησε ","headingMain_button":"φόρτωσε ξανά την σελίδα.","clearCanvasMessage":"Εάν το παραπάνω δεν δουλέψει, προσπάθησε ","clearCanvasMessage_button":"καθαρίσετε τον κανβά.","clearCanvasCaveat":" Αυτό θα προκαλέσει απώλεια της δουλειάς σου ","trackedToSentry_pre":"Το σφάλμα με αναγνωριστικό ","trackedToSentry_post":" παρακολουθήθηκε στο σύστημά μας.","openIssueMessage_pre":"Ήμασταν πολύ προσεκτικοί για να μην συμπεριλάβουμε τις πληροφορίες της σκηνής σου στο σφάλμα. Αν η σκηνή σου δεν είναι ιδιωτική, παρακαλώ σκέψου να ακολουθήσεις το δικό μας ","openIssueMessage_button":"ανιχνευτής σφαλμάτων.","openIssueMessage_post":" Παρακαλώ να συμπεριλάβετε τις παρακάτω πληροφορίες, αντιγράφοντας και επικολλώντας το ζήτημα στο GitHub.","sceneContent":"Περιεχόμενο σκηνής:"},"roomDialog":{"desc_intro":"Μπορείς να προσκαλέσεις άλλους να δουλέψουν μαζί σου.","desc_privacy":"Μην ανησυχείς, η συνεδρία χρησιμοποιεί κρυπτογράφηση από σημείο σε σημείο, άρα οτιδήποτε κάνεις θα παραμείνει ανοιχτό μόνο σε εσένα. Ούτε οι μηχανές μας μπορούν να δουν τι κάνεις.","button_startSession":"Έναρξη Συνεδρίας","button_stopSession":"Τερματισμός Συνεδρίας","desc_inProgressIntro":"Η ζωντανή συνεργασία με άλλους είναι σε ενεργή.","desc_shareLink":"Μοιραστείτε τον σύνδεσμο με όποιον θέλετε να δουλέψετε μαζί:","desc_exitSession":"Η διακοπή θα σας αποσυνδέσει από το δωμάτιο, αλλά θα μπορείτε να συνεχίσετε να δουλεύετε στον πίνακα, τοπικά. Σημειώσατε ότι αυτό δεν θα επηρεάσει τον πίνακα άλλων, και θα μπορούν ακόμα να συνεισφέρουν στην δική τους έκδοση.","shareTitle":""},"errorDialog":{"title":"Σφάλμα"},"exportDialog":{"disk_title":"Αποθήκευση στο δίσκο","disk_details":"","disk_button":"Αποθήκευση σε αρχείο","link_title":"Κοινόχρηστος σύνδεσμος","link_details":"Εξαγωγή ως σύνδεσμο μόνο για ανάγνωση.","link_button":"Εξαγωγή σε Σύνδεση","excalidrawplus_description":"","excalidrawplus_button":"Εξαγωγή","excalidrawplus_exportError":""},"helpDialog":{"blog":"Διαβάστε το Blog μας","click":"κλικ","deepSelect":"","deepBoxSelect":"","curvedArrow":"Κυρτό βέλος","curvedLine":"Κυρτή γραμμή","documentation":"Εγχειρίδιο","doubleClick":"διπλό κλικ","drag":"σύρε","editor":"Επεξεργαστής","editSelectedShape":"","github":"Βρήκατε πρόβλημα; Υποβάλετε το","howto":"Ακολουθήστε τους οδηγούς μας","or":"ή","preventBinding":"Αποτροπή δέσμευσης βέλων","tools":"","shortcuts":"Συντομεύσεις πληκτρολογίου","textFinish":"Ολοκλήρωση επεξεργασίας (επεξεργαστής κειμένου)","textNewLine":"Προσθήκη νέας γραμμής (επεξεργαστής κειμένου)","title":"Βοήθεια","view":"Προβολή","zoomToFit":"Zoom ώστε να χωρέσουν όλα τα στοιχεία","zoomToSelection":"Ζουμ στην επιλογή","toggleElementLock":""},"clearCanvasDialog":{"title":"Καθαρισμός καμβά"},"publishDialog":{"title":"","itemName":"","authorName":"Όνομα δημιουργού","githubUsername":"GitHub username","twitterUsername":"Twitter username","libraryName":"Όνομα βιβλιοθήκης","libraryDesc":"","website":"Ιστοσελίδα","placeholder":{"authorName":"","libraryName":"","libraryDesc":"","githubHandle":"","twitterHandle":"","website":""},"errors":{"required":"Απαιτείται","website":"Εισάγετε μια έγκυρη διεύθυνση URL"},"noteDescription":{"pre":"","link":"","post":""},"noteGuidelines":{"pre":"","link":"οδηγίες","post":""},"noteLicense":{"pre":"","link":"","post":""},"noteItems":"","atleastOneLibItem":"","republishWarning":""},"publishSuccessDialog":{"title":"","content":"","link":"εδώ"},"confirmDialog":{"resetLibrary":"Καθαρισμός βιβλιοθήκης","removeItemsFromLib":"Αφαίρεση επιλεγμένων αντικειμένων από τη βιβλιοθήκη"},"encrypted":{"tooltip":"Τα σχέδιά σου είναι κρυπτογραφημένα από άκρο σε άκρο, έτσι δεν θα είναι ποτέ ορατά μέσα από τους διακομιστές του Excalidraw.","link":"Blog post στην κρυπτογράφηση end-to-end στο Excalidraw"},"stats":{"angle":"Γωνία","element":"Στοιχείο","elements":"Στοιχεία","height":"Ύψος","scene":"Σκηνή","selected":"Επιλεγμένα","storage":"Χώρος","title":"Στατιστικά για σπασίκλες","total":"Σύνολο ","version":"Έκδοση","versionCopy":"Κάνε κλικ για αντιγραφή","versionNotAvailable":"Έκδοση μη διαθέσιμη","width":"Πλάτος"},"toast":{"addedToLibrary":"Προστέθηκε στη βιβλιοθήκη","copyStyles":"Αντιγράφηκαν στυλ.","copyToClipboard":"Αντιγράφηκε στο πρόχειρο.","copyToClipboardAsPng":"Αντιγράφηκε {{exportSelection}} στο πρόχειρο ως PNG\\n({{exportColorScheme}})","fileSaved":"Το αρχείο αποθηκεύτηκε.","fileSavedToFilename":"Αποθηκεύτηκε στο {filename}","canvas":"καμβάς","selection":"επιλογή"},"colors":{"495057":"Γκρι 7","ffffff":"Λευκό","f8f9fa":"Γκρι 0","f1f3f5":"Γκρι 1","fff5f5":"Κόκκινο 0","fff0f6":"Ροζ 0","f8f0fc":"Σταφυλί 0","f3f0ff":"Βιολετί 0","edf2ff":"Λουλάκι 0","e7f5ff":"Μπλε 0","e3fafc":"Κυανό 0","e6fcf5":"Τιρκουάζ 0","ebfbee":"Πράσινο 0","f4fce3":"Πρασινοκίτρινο 0","fff9db":"Κίτρινο 0","fff4e6":"Πορτοκαλί 0","transparent":"Διαφανές","ced4da":"Γκρι 4","868e96":"Γκρι 6","fa5252":"Κόκκινο 6","e64980":"Ροζ 6","be4bdb":"Σταφυλί 6","7950f2":"Βιολετί 6","4c6ef5":"Λουλάκι 6","228be6":"Μπλε 6","15aabf":"Κυανό 6","12b886":"Τιρκουάζ 6","40c057":"Πράσινο 6","82c91e":"Πρασινοκίτρινο 6","fab005":"Κίτρινο 6","fd7e14":"Πορτοκαλί 6","000000":"Μαύρο","343a40":"Γκρι 8","c92a2a":"Κόκκινο 9","a61e4d":"Ροζ 9","862e9c":"Σταφυλί 9","5f3dc4":"Βιολετί 9","364fc7":"Λουλάκι 9","1864ab":"Μπλε 9","0b7285":"Κυανό 9","087f5b":"Τιρκουάζ 9","2b8a3e":"Πράσινο 9","5c940d":"Πρασινοκίτρινο 9","e67700":"Κίτρινο 9","d9480f":"Πορτοκαλί 9"}}')}}]);