mcp-excalidraw-server 1.0.4 → 1.0.5

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 (127) hide show
  1. package/README.md +98 -58
  2. package/package.json +9 -33
  3. package/dist/assets/Assistant-Bold-gm-uSS1B.woff2 +0 -0
  4. package/dist/assets/Assistant-Medium-DrcxCXg3.woff2 +0 -0
  5. package/dist/assets/Assistant-Regular-DVxZuzxb.woff2 +0 -0
  6. package/dist/assets/Assistant-SemiBold-SCI4bEL9.woff2 +0 -0
  7. package/dist/assets/Tableau10-B-NsZVaP.js +0 -1
  8. package/dist/assets/_commonjs-dynamic-modules-TDtrdbi3.js +0 -1
  9. package/dist/assets/ar-SA-G6X2FPQ2-qUMRKznH.js +0 -10
  10. package/dist/assets/arc-Dl52aH5l.js +0 -1
  11. package/dist/assets/array-BKyUJesY.js +0 -1
  12. package/dist/assets/az-AZ-76LH7QW2-_i03OJEf.js +0 -1
  13. package/dist/assets/bg-BG-XCXSNQG7-DET42pEl.js +0 -5
  14. package/dist/assets/blockDiagram-38ab4fdb-ChvZhBD4.js +0 -118
  15. package/dist/assets/bn-BD-2XOGV67Q-Dek_CPv5.js +0 -5
  16. package/dist/assets/c4Diagram-3d4e48cf-C4cnrCbf.js +0 -10
  17. package/dist/assets/ca-ES-6MX7JW3Y-BW0U5XdD.js +0 -8
  18. package/dist/assets/channel-DwOBcjcx.js +0 -1
  19. package/dist/assets/classDiagram-70f12bd4-BghzNus6.js +0 -2
  20. package/dist/assets/classDiagram-v2-f2320105-CdeQcsZg.js +0 -2
  21. package/dist/assets/clone--6RafNlE.js +0 -1
  22. package/dist/assets/createText-2e5e7dd3-DOdc1FUH.js +0 -7
  23. package/dist/assets/cs-CZ-2BRQDIVT-D_QWlFdu.js +0 -11
  24. package/dist/assets/da-DK-5WZEPLOC-gf7mOoWv.js +0 -5
  25. package/dist/assets/de-DE-XR44H4JA-4PO8yBVA.js +0 -8
  26. package/dist/assets/directory-open-01563666-DWU9wJ6I.js +0 -1
  27. package/dist/assets/directory-open-4ed118d0-BzWybGaI.js +0 -1
  28. package/dist/assets/edges-e0da2a9e-GhlmD_OT.js +0 -4
  29. package/dist/assets/el-GR-BZB4AONW-DUAcyCiM.js +0 -10
  30. package/dist/assets/erDiagram-9861fffd-a_anpvsT.js +0 -51
  31. package/dist/assets/es-ES-U4NZUMDT-B0m4dVcg.js +0 -9
  32. package/dist/assets/eu-ES-A7QVB2H4-BP1QZCLa.js +0 -11
  33. package/dist/assets/fa-IR-HGAKTJCU-DIwOUeNI.js +0 -8
  34. package/dist/assets/fi-FI-Z5N7JZ37-RNyDbRmW.js +0 -6
  35. package/dist/assets/file-open-002ab408-DIuFHtCF.js +0 -1
  36. package/dist/assets/file-open-7c801643-684qeFg4.js +0 -1
  37. package/dist/assets/file-save-3189631c-x92wctJd.js +0 -1
  38. package/dist/assets/file-save-745eba88-Bb9F9Kg7.js +0 -1
  39. package/dist/assets/flowDb-956e92f1-DpL5j40X.js +0 -10
  40. package/dist/assets/flowDiagram-66a62f08-BMGTcM52.js +0 -4
  41. package/dist/assets/flowDiagram-v2-96b9c2cf-Bz1jDaNr.js +0 -1
  42. package/dist/assets/flowchart-elk-definition-4a651766-B2Ti2x2r.js +0 -139
  43. package/dist/assets/fr-FR-RHASNOE6-CAV9GN4O.js +0 -9
  44. package/dist/assets/ganttDiagram-c361ad54-TU3HkAvj.js +0 -257
  45. package/dist/assets/gitGraphDiagram-72cf32ee-Cnb81Tq3.js +0 -70
  46. package/dist/assets/gl-ES-HMX3MZ6V-YTRIEXeJ.js +0 -10
  47. package/dist/assets/graph-CkOf80-j.js +0 -1
  48. package/dist/assets/he-IL-6SHJWFNN-9Y97HENf.js +0 -10
  49. package/dist/assets/hi-IN-IWLTKZ5I-CR1G8wpe.js +0 -4
  50. package/dist/assets/hu-HU-A5ZG7DT2-DX03tp-R.js +0 -7
  51. package/dist/assets/id-ID-SAP4L64H-7qPP39Kq.js +0 -10
  52. package/dist/assets/image-blob-reduce.esm-B6b2_-a4.js +0 -7
  53. package/dist/assets/index-3862675e-C8kgVt5Z.js +0 -1
  54. package/dist/assets/index-D2dwBAqU.js +0 -97
  55. package/dist/assets/infoDiagram-f8f76790-B_V9kL5r.js +0 -7
  56. package/dist/assets/init-Gi6I4Gst.js +0 -1
  57. package/dist/assets/it-IT-JPQ66NNP-A8q-oWFm.js +0 -11
  58. package/dist/assets/ja-JP-DBVTYXUO-0-BzIH6B.js +0 -8
  59. package/dist/assets/journeyDiagram-49397b02-DmVusBFi.js +0 -139
  60. package/dist/assets/kaa-6HZHGXH3-BefcB0dp.js +0 -1
  61. package/dist/assets/kab-KAB-ZGHBKWFO-BI7TKDqn.js +0 -8
  62. package/dist/assets/katex-ChWnQ-fc.js +0 -261
  63. package/dist/assets/kk-KZ-P5N5QNE5-JMWZKOT9.js +0 -1
  64. package/dist/assets/km-KH-HSX4SM5Z-BZv-SNIA.js +0 -11
  65. package/dist/assets/ko-KR-MTYHY66A-VL9ePyT_.js +0 -9
  66. package/dist/assets/ku-TR-6OUDTVRD-WXLYGCW3.js +0 -9
  67. package/dist/assets/layout-EQ3cDdPI.js +0 -1
  68. package/dist/assets/line-DVSD4YuA.js +0 -1
  69. package/dist/assets/linear-mbBIx3VI.js +0 -1
  70. package/dist/assets/lt-LT-XHIRWOB4-Cv2CooHj.js +0 -3
  71. package/dist/assets/lv-LV-5QDEKY6T-BHHXu-A8.js +0 -7
  72. package/dist/assets/main-B9Rh8YyQ.css +0 -1
  73. package/dist/assets/main-BDhqALRb.js +0 -254
  74. package/dist/assets/mindmap-definition-fc14e90a-CTGSqKBc.js +0 -425
  75. package/dist/assets/mr-IN-CRQNXWMA-CaV0UqAQ.js +0 -13
  76. package/dist/assets/my-MM-5M5IBNSE-B7_hW456.js +0 -1
  77. package/dist/assets/nb-NO-T6EIAALU-Crh0PqoK.js +0 -10
  78. package/dist/assets/nl-NL-IS3SIHDZ-BK0dpmA4.js +0 -8
  79. package/dist/assets/nn-NO-6E72VCQL-yAPpyJij.js +0 -8
  80. package/dist/assets/oc-FR-POXYY2M6-APC-Va25.js +0 -8
  81. package/dist/assets/ordinal-Cboi1Yqb.js +0 -1
  82. package/dist/assets/pa-IN-N4M65BXN-Bt84iMLr.js +0 -4
  83. package/dist/assets/path-CbwjOpE9.js +0 -1
  84. package/dist/assets/pica-D2FXh0MS.js +0 -7
  85. package/dist/assets/pieDiagram-8a3498a8-CjNN4dpj.js +0 -35
  86. package/dist/assets/pl-PL-T2D74RX3-P1BXCuxt.js +0 -9
  87. package/dist/assets/pt-BR-5N22H2LF-DPGp_1S8.js +0 -9
  88. package/dist/assets/pt-PT-UZXXM6DQ-BtIUQ-0U.js +0 -9
  89. package/dist/assets/quadrantDiagram-120e2f19-_a4jtpH6.js +0 -7
  90. package/dist/assets/requirementDiagram-deff3bca-ybPXbjm9.js +0 -52
  91. package/dist/assets/ro-RO-JPDTUUEW-J4zNVhAC.js +0 -11
  92. package/dist/assets/roundRect-0PYZxl1G.js +0 -1
  93. package/dist/assets/ru-RU-B4JR7IUQ-Cp_vlib2.js +0 -9
  94. package/dist/assets/sankeyDiagram-04a897e0-DlNlVK2S.js +0 -8
  95. package/dist/assets/sequenceDiagram-704730f1-D261ut_5.js +0 -122
  96. package/dist/assets/si-LK-N5RQ5JYF-CHzf-e7S.js +0 -1
  97. package/dist/assets/sk-SK-C5VTKIMK-C4OBCYet.js +0 -6
  98. package/dist/assets/sl-SI-NN7IZMDC-DOKYGxnN.js +0 -6
  99. package/dist/assets/stateDiagram-587899a1-DSWmUUhT.js +0 -1
  100. package/dist/assets/stateDiagram-v2-d93cdb3a-DRJxcv79.js +0 -1
  101. package/dist/assets/styles-6aaf32cf-BS9_GVDf.js +0 -207
  102. package/dist/assets/styles-9a916d00-CP8oGpqa.js +0 -160
  103. package/dist/assets/styles-c10674c1-BVWa9Osk.js +0 -116
  104. package/dist/assets/subset-shared.chunk-6yLKEvTp.js +0 -84
  105. package/dist/assets/subset-worker.chunk-BWYD1X9V.js +0 -1
  106. package/dist/assets/sv-SE-XGPEYMSR-BKCj9bGh.js +0 -10
  107. package/dist/assets/svgDrawCommon-08f97a94-D7hiz2RL.js +0 -1
  108. package/dist/assets/ta-IN-2NMHFXQM-Cxn4Bwph.js +0 -9
  109. package/dist/assets/th-TH-HPSO5L25-DfNQCUQQ.js +0 -2
  110. package/dist/assets/timeline-definition-85554ec2-DmpGKyi0.js +0 -61
  111. package/dist/assets/tr-TR-DEFEU3FU-Bs5MFek7.js +0 -7
  112. package/dist/assets/uk-UA-QMV73CPH-BOzYxvyx.js +0 -6
  113. package/dist/assets/vi-VN-M7AON7JQ-0OnI6Hqe.js +0 -5
  114. package/dist/assets/xychartDiagram-e933f94c-CUugqGbW.js +0 -7
  115. package/dist/assets/zh-CN-LNUGB5OW-nS_6Oo4b.js +0 -10
  116. package/dist/assets/zh-HK-E62DVLB3-6LpDueOn.js +0 -1
  117. package/dist/assets/zh-TW-RAJ6MFWO-oqfOcjY_.js +0 -9
  118. package/dist/frontend/index.html +0 -241
  119. package/dist/index.d.ts +0 -4
  120. package/dist/index.d.ts.map +0 -1
  121. package/dist/server.d.ts +0 -3
  122. package/dist/server.d.ts.map +0 -1
  123. package/dist/types.d.ts +0 -14
  124. package/dist/types.d.ts.map +0 -1
  125. package/dist/utils/logger.d.ts +0 -4
  126. package/dist/utils/logger.d.ts.map +0 -1
  127. package/src/server.js +0 -390
package/README.md CHANGED
@@ -2,32 +2,51 @@
2
2
 
3
3
  A comprehensive system that combines **Excalidraw's powerful drawing capabilities** with **Model Context Protocol (MCP)** integration, enabling AI agents to create and manipulate diagrams in real-time on a live canvas.
4
4
 
5
- ## 🚦 Current Status & Version Information
6
-
7
- > **📋 Choose Your Installation Method**
5
+ ## 🏛️ Architecture Overview
8
6
 
9
- | Version | Status | Recommended For |
10
- |---------|--------|----------------|
11
- | **Local Development** | ✅ **FULLY TESTED** | **🎯 RECOMMENDED** |
12
- | **NPM Published** | 🔧 **DEBUGGING IN PROGRESS** | Development testing |
13
- | **Docker Version** | 🔧 **UNDER DEVELOPMENT** | Future deployment |
7
+ This project is now structured as **two independent components**:
14
8
 
15
- ### **Current Recommendation: Local Development**
9
+ ### **1. MCP Server (Standalone)**
10
+ - **Location**: Main directory (`src/index.js`, `src/types.js`)
11
+ - **Purpose**: Standalone MCP server that can be published as an npm package
12
+ - **Features**: Creates elements locally, optional canvas sync
13
+ - **Dependencies**: Minimal (only MCP SDK, dotenv, node-fetch, winston, zod)
16
14
 
17
- For the most stable experience, we recommend using the local development setup. We're actively working on improving the NPM package and Docker deployment options.
15
+ ### **2. Frontend (Optional)**
16
+ - **Location**: `frontend/` directory
17
+ - **Purpose**: Real-time canvas interface with WebSocket synchronization
18
+ - **Features**: Live canvas, WebSocket updates, RESTful API
19
+ - **Dependencies**: React, Excalidraw, Express, WebSocket
18
20
 
19
- ### **Development Notes**
20
- - **NPM Package**: Currently debugging MCP tool registration issues
21
- - **Docker Version**: Improving canvas synchronization reliability
22
- - **Local Version**: ✅ All features fully functional
21
+ ```
22
+ ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
23
+ │ AI Agent │───▶│ MCP Server │───▶│ Canvas Server │
24
+ │ (Claude) │ │ (src/index.js) │ │ (frontend/) │
25
+ └─────────────────┘ └──────────────────┘ └─────────────────┘
26
+ │ │ │
27
+ │ │ ▼
28
+ │ │ ┌─────────────────┐
29
+ │ │ │ Frontend │
30
+ │ │ │ (React + WS) │
31
+ │ │ └─────────────────┘
32
+ │ │
33
+ │ ▼
34
+ │ ┌─────────────────┐
35
+ │ │ Local Storage │
36
+ │ │ (elements) │
37
+ │ └─────────────────┘
38
+
39
+ └─────────────────────────────────────────────────────────┘
40
+ (Works standalone without frontend)
41
+ ```
23
42
 
24
43
  ## 🚀 What This System Does
25
44
 
26
- - **🎨 Live Canvas**: Real-time Excalidraw canvas accessible via web browser
45
+ - **🎨 Live Canvas**: Real-time Excalidraw canvas accessible via web browser (with frontend)
27
46
  - **🤖 AI Integration**: MCP server allows AI agents (like Claude) to create visual diagrams
28
- - **⚡ Real-time Sync**: Elements created via MCP API appear instantly on the canvas
29
- - **🔄 WebSocket Updates**: Live synchronization across multiple connected clients
30
- - **🏗️ Production Ready**: Clean, minimal UI suitable for end users
47
+ - **⚡ Real-time Sync**: Elements created via MCP API appear instantly on the canvas (with frontend)
48
+ - **🔄 WebSocket Updates**: Live synchronization across multiple connected clients (with frontend)
49
+ - **🏗️ Standalone Mode**: MCP server works independently for local element creation
31
50
 
32
51
  ## 🎥 Demo Video
33
52
 
@@ -37,29 +56,20 @@ For the most stable experience, we recommend using the local development setup.
37
56
 
38
57
  *Watch how AI agents create and manipulate diagrams in real-time on the live canvas*
39
58
 
40
- ## 🏛️ Architecture Overview
41
-
42
- ```
43
- ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
44
- │ AI Agent │───▶│ MCP Server │───▶│ Canvas Server │
45
- │ (Claude) │ │ (src/index.js) │ │ (src/server.js) │
46
- └─────────────────┘ └──────────────────┘ └─────────────────┘
47
-
48
-
49
- ┌─────────────────┐
50
- │ Frontend │
51
- │ (React + WS) │
52
- └─────────────────┘
53
- ```
54
-
55
59
  ## 🌟 Key Features
56
60
 
57
- ### **Real-time Canvas Integration**
61
+ ### **Standalone MCP Server**
62
+ - Works independently without frontend dependencies
63
+ - Creates and manages elements locally
64
+ - Optional canvas synchronization when frontend is available
65
+ - Can be published as an npm package
66
+
67
+ ### **Real-time Canvas Integration** (with frontend)
58
68
  - Elements created via MCP appear instantly on the live canvas
59
69
  - WebSocket-based real-time synchronization
60
70
  - Multi-client support with live updates
61
71
 
62
- ### **Production-Ready Interface**
72
+ ### **Production-Ready Interface** (with frontend)
63
73
  - Clean, minimal UI with connection status
64
74
  - Simple "Clear Canvas" functionality
65
75
  - No development clutter or debug information
@@ -71,16 +81,16 @@ For the most stable experience, we recommend using the local development setup.
71
81
  - **Advanced Features**: grouping, alignment, distribution, locking
72
82
 
73
83
  ### **Robust Architecture**
74
- - Express.js backend with REST API + WebSocket
75
- - React frontend with official Excalidraw package
84
+ - Express.js backend with REST API + WebSocket (frontend)
85
+ - React frontend with official Excalidraw package (frontend)
76
86
  - Dual-path element loading for reliability
77
87
  - Auto-reconnection and error handling
78
88
 
79
89
  ## 📦 Installation & Setup
80
90
 
81
- ### **✅ Recommended: Local Development Setup**
91
+ ### **✅ Option 1: MCP Server Only (Standalone)**
82
92
 
83
- > **Most stable and feature-complete option**
93
+ Use this if you only need the MCP server functionality without the visual canvas.
84
94
 
85
95
  #### **1. Clone the Repository**
86
96
  ```bash
@@ -89,8 +99,28 @@ cd mcp_excalidraw
89
99
  npm install
90
100
  ```
91
101
 
92
- #### **2. Build the Frontend**
102
+ #### **2. Start the MCP Server**
103
+ ```bash
104
+ npm start
105
+ ```
106
+
107
+ The MCP server will run and create elements locally. Set `ENABLE_CANVAS_SYNC=false` to disable canvas synchronization attempts.
108
+
109
+ ### **✅ Option 2: MCP Server + Frontend (Full System)**
110
+
111
+ Use this for the complete system with live canvas visualization.
112
+
113
+ #### **1. Clone and Setup Main Package**
114
+ ```bash
115
+ git clone https://github.com/yctimlin/mcp_excalidraw.git
116
+ cd mcp_excalidraw
117
+ npm install
118
+ ```
119
+
120
+ #### **2. Setup Frontend**
93
121
  ```bash
122
+ cd frontend
123
+ npm install
94
124
  npm run build
95
125
  ```
96
126
 
@@ -98,14 +128,24 @@ npm run build
98
128
 
99
129
  ##### **Option A: Production Mode (Recommended)**
100
130
  ```bash
101
- # Start canvas server (serves frontend + API)
102
- npm run canvas
131
+ # Terminal 1: Start frontend server
132
+ cd frontend
133
+ npm start
134
+
135
+ # Terminal 2: Start MCP server (in main directory)
136
+ cd ..
137
+ npm start
103
138
  ```
104
139
 
105
140
  ##### **Option B: Development Mode**
106
141
  ```bash
107
- # Start both canvas server and Vite dev server
142
+ # Terminal 1: Start frontend in dev mode
143
+ cd frontend
108
144
  npm run dev
145
+
146
+ # Terminal 2: Start MCP server (in main directory)
147
+ cd ..
148
+ npm start
109
149
  ```
110
150
 
111
151
  #### **4. Access the Canvas**
@@ -114,35 +154,35 @@ Open your browser and navigate to:
114
154
  http://localhost:3000
115
155
  ```
116
156
 
117
- ### **🔧 Alternative Installation Methods (In Development)**
157
+ ### **🐳 Option 3: Docker (Full System)**
118
158
 
119
- #### **NPM Package (Beta)**
120
- ```bash
121
- # Currently debugging tool registration - feedback welcome!
122
- npm install -g mcp-excalidraw-server
123
- npx mcp-excalidraw-server
124
- ```
159
+ Use Docker Compose to run both components:
125
160
 
126
- #### **Docker Version (Coming Soon)**
127
161
  ```bash
128
- # Canvas sync improvements in progress
129
- docker run -p 3000:3000 mcp-excalidraw-server
162
+ docker-compose up
130
163
  ```
131
164
 
165
+ This will start both the MCP server and frontend in containers.
166
+
132
167
  ## 🔧 Available Scripts
133
168
 
169
+ ### **Main Package (MCP Server)**
134
170
  | Script | Description |
135
171
  |--------|-------------|
136
172
  | `npm start` | Start MCP server (`src/index.js`) |
137
- | `npm run canvas` | Start canvas server (`src/server.js`) |
138
- | `npm run build` | Build frontend for production |
139
- | `npm run dev` | Start canvas + Vite dev server |
140
- | `npm run production` | Build + start in production mode |
173
+
174
+ ### **Frontend Package**
175
+ | Script | Description |
176
+ |--------|-------------|
177
+ | `npm start` | Start Express server (`server.js`) |
178
+ | `npm run build` | Build React frontend for production |
179
+ | `npm run dev` | Start Express + Vite dev server |
180
+ | `npm run preview` | Preview built frontend |
141
181
 
142
182
  ## 🎯 Usage Guide
143
183
 
144
184
  ### **For End Users**
145
- 1. Open the canvas at `http://localhost:3000`
185
+ 1. Open the canvas at `http://localhost:3000` (if using frontend)
146
186
  2. Check connection status (should show "Connected")
147
187
  3. AI agents can now create diagrams that appear in real-time
148
188
  4. Use "Clear Canvas" to remove all elements
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mcp-excalidraw-server",
3
- "version": "1.0.4",
4
- "description": "Advanced MCP server for Excalidraw with real-time canvas, WebSocket sync, and comprehensive diagram management",
3
+ "version": "1.0.5",
4
+ "description": "MCP server for Excalidraw - creates and manages diagram elements with optional canvas sync",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
7
7
  "bin": {
@@ -9,35 +9,17 @@
9
9
  },
10
10
  "scripts": {
11
11
  "start": "node src/index.js",
12
- "canvas": "node src/server.js",
13
- "build": "npm run build:frontend && npm run build:types",
14
- "build:frontend": "vite build",
15
- "build:types": "npx tsc --emitDeclarationOnly",
16
- "build:server": "npx tsc",
17
- "dev": "concurrently \"npm run canvas\" \"vite\"",
18
- "production": "npm run build && npm run canvas",
19
- "prepublishOnly": "npm run build"
12
+ "test": "echo \"Error: no test specified\" && exit 1"
20
13
  },
21
14
  "dependencies": {
22
- "@excalidraw/excalidraw": "^0.18.0",
23
15
  "@modelcontextprotocol/sdk": "latest",
24
- "cors": "^2.8.5",
25
16
  "dotenv": "^16.3.1",
26
- "express": "^4.18.2",
27
17
  "node-fetch": "^3.3.2",
28
- "react": "^18.3.1",
29
- "react-dom": "^18.3.1",
30
18
  "winston": "^3.11.0",
31
- "ws": "^8.14.2",
32
- "zod": "^3.22.4",
33
- "zod-to-json-schema": "^3.22.3"
19
+ "zod": "^3.22.4"
34
20
  },
35
21
  "devDependencies": {
36
- "@types/node": "^20.19.7",
37
- "@vitejs/plugin-react": "^4.6.0",
38
- "concurrently": "^9.2.0",
39
- "typescript": "^5.8.3",
40
- "vite": "^6.3.5"
22
+ "@types/node": "^20.19.7"
41
23
  },
42
24
  "keywords": [
43
25
  "mcp",
@@ -46,13 +28,7 @@
46
28
  "model-context-protocol",
47
29
  "ai",
48
30
  "drawing",
49
- "diagrams",
50
- "canvas",
51
- "real-time",
52
- "websocket",
53
- "visualization",
54
- "claude",
55
- "ai-tools"
31
+ "diagrams"
56
32
  ],
57
33
  "author": {
58
34
  "name": "yctimlin",
@@ -75,9 +51,9 @@
75
51
  "registry": "https://registry.npmjs.org/"
76
52
  },
77
53
  "files": [
78
- "src/**/*",
79
- "dist/**/*",
80
- "*.d.ts",
54
+ "src/index.js",
55
+ "src/types.js",
56
+ "src/utils/",
81
57
  "README.md",
82
58
  "LICENSE"
83
59
  ]
@@ -1 +0,0 @@
1
- function o(e){for(var c=e.length/6|0,n=new Array(c),a=0;a<c;)n[a]="#"+e.slice(a*6,++a*6);return n}const r=o("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");export{r as s};
@@ -1 +0,0 @@
1
- function r(o){throw new Error('Could not dynamically require "'+o+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}export{r as c};
@@ -1,10 +0,0 @@
1
- import"./main-BDhqALRb.js";var u={paste:"لصق",pasteAsPlaintext:"اللصق كنص عادي",pasteCharts:"لصق الرسوم البيانية",selectAll:"تحديد الكل",multiSelect:"إضافة عنصر للتحديد",moveCanvas:"نقل لوح الرسم",cut:"قص",copy:"نسخ",copyAsPng:"نسخ إلى الحافظة بصيغة PNG",copyAsSvg:"نسخ إلى الحافظة بصيغة SVG",copyText:"نسخ إلى الحافظة كنص",copySource:"",convertToCode:"",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_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"مثلث",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"حجم الخط",fontFamily:"نوع الخط",addWatermark:'إضافة "مصنوعة بواسطة Excalidraw"',handDrawn:"رسم باليد",normal:"عادي",code:"رمز",small:"صغير",medium:"متوسط",large:"كبير",veryLarge:"كبير جدا",solid:"كامل",hachure:"خطوط",zigzag:"متعرج",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:"نمط العرض",share:"مشاركة",showStroke:"إظهار منتقي لون الخط",showBackground:"إظهار منتقي لون الخلفية",toggleTheme:"غير النمط",personalLib:"المكتبة الشخصية",excalidrawLib:"مكتبتنا",decreaseFontSize:"تصغير حجم الخط",increaseFontSize:"تكبير حجم الخط",unbindText:"فك ربط النص",bindText:"ربط النص بالحاوية",createContainerFromText:"نص مغلف في حاوية",link:{edit:"تعديل الرابط",editEmbed:"تحرير الرابط وإدراجه",create:"إنشاء رابط",createEmbed:"إنشاء رابط و إدراجه",label:"رابط",labelEmbed:"رابط و إدراج",empty:"لم يتم تعيين رابط"},lineEditor:{edit:"تحرير السطر",exit:"الخروج من المُحرر"},elementLock:{lock:"قفل",unlock:"فتح",lockAll:"قفل الكل",unlockAll:"فتح الكل"},statusPublished:"نُشر",sidebarLock:"إبقاء الشريط الجانبي مفتوح",selectAllElementsInFrame:"تحديد جميع العناصر في الإطار",removeAllElementsFromFrame:"إزالة جميع العناصر من الإطار",eyeDropper:"اختيار اللون من القماش",textToDiagram:"",prompt:""},A={noItems:"لا توجد عناصر أضيفت بعد...",hint_emptyLibrary:"حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.",hint_emptyPrivateLibrary:"حدد عنصر على القماش لإضافته هنا."},e={clearReset:"إعادة تعيين اللوحة",exportJSON:"صدر الملف",exportImage:"تصدير الصورة...",export:"حفظ إلى...",copyToClipboard:"نسخ إلى الحافظة",save:"احفظ للملف الحالي",saveAs:"حفظ كـ",load:"فتح",getShareableLink:"احصل على رابط المشاركة",close:"غلق",selectLanguage:"اختر اللغة",scrollBackToContent:"الرجوع إلى المحتوى",zoomIn:"تكبير",zoomOut:"تصغير",resetZoom:"إعادة تعيين الشاشة",menu:"القائمة",done:"تم",edit:"تعديل",undo:"تراجع",redo:"إعادة تنفيذ",resetLibrary:"إعادة ضبط المكتبة",createNewRoom:"إنشاء غرفة جديدة",fullScreen:"شاشة كاملة",darkMode:"الوضع المظلم",lightMode:"الوضع المضيء",zenMode:"وضع التأمل",objectsSnapMode:"التقط إلى العناصر",exitZenMode:"إلغاء الوضع الليلى",cancel:"إلغاء",clear:"مسح",remove:"إزالة",embed:"تبديل الإدراج",publishLibrary:"انشر",submit:"أرسل",confirm:"تأكيد",embeddableInteractionButton:"اضغط للتفاعل"},a={clearReset:"هذا سيُزيل كامل اللوحة. هل أنت متأكد؟",couldNotCreateShareableLink:"تعذر إنشاء رابطة المشاركة.",couldNotCreateShareableLinkTooBig:"تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا",couldNotLoadInvalidFile:"تعذر التحميل، الملف غير صالح",importBackendFailed:"فشل الاستيراد من الخادوم.",cannotExportEmptyCanvas:"لا يمكن تصدير لوحة فارغة.",couldNotCopyToClipboard:"تعذر النسخ إلى الحافظة.",decryptFailed:"تعذر فك تشفير البيانات.",uploadedSecurly:"تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.",loadSceneOverridePrompt:"تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟",collabStopOverridePrompt:`إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
2
-
3
- (إذا كنت ترغب في الاحتفاظ برسمك المخزن داخليا، ببساطة أغلق علامة تبويب المتصفح بدلاً من ذلك.)`,errorAddingToLibrary:"تعذر إضافة العنصر للمكتبة",errorRemovingFromLibrary:"تعذر إزالة العنصر من المكتبة",confirmAddLibrary:"هذا سيضيف {{numShapes}} شكل إلى مكتبتك. هل أنت متأكد؟",imageDoesNotContainScene:"يبدو أن هذه الصورة لا تحتوي على أي بيانات مشهد. هل قمت بتمكين تضمين المشهد أثناء التصدير؟",cannotRestoreFromImage:"تعذر استعادة المشهد من ملف الصورة",invalidSceneUrl:"تعذر استيراد المشهد من عنوان URL المتوفر. إما أنها مشوهة، أو لا تحتوي على بيانات Excalidraw JSON صالحة.",resetLibrary:"هذا سوف يمسح مكتبتك. هل أنت متأكد؟",removeItemsFromsLibrary:"حذف {{count}} عنصر (عناصر) من المكتبة؟",invalidEncryptionKey:"مفتاح التشفير يجب أن يكون من 22 حرفاً. التعاون المباشر معطل.",collabOfflineWarning:`لا يوجد اتصال بالانترنت.
4
- لن يتم حفظ التغييرات التي قمت بها!`},r={unsupportedFileType:"نوع الملف غير مدعوم.",imageInsertError:"تعذر إدراج الصورة. حاول مرة أخرى لاحقاً...",fileTooBig:"الملف كبير جداً. الحد الأقصى المسموح به للحجم هو {{maxSize}}.",svgImageInsertError:"تعذر إدراج صورة SVG. يبدو أن ترميز SVG غير صحيح.",failedToFetchImage:"",invalidSVGString:"SVG غير صالح.",cannotResolveCollabServer:"تعذر الاتصال بخادم التعاون. الرجاء إعادة تحميل الصفحة والمحاولة مرة أخرى.",importLibraryError:"تعذر تحميل المكتبة",collabSaveFailed:"تعذر الحفظ في قاعدة البيانات. إذا استمرت المشاكل، يفضل أن تحفظ ملفك محليا كي لا تفقد عملك.",collabSaveFailed_sizeExceeded:"تعذر الحفظ في قاعدة البيانات، يبدو أن القماش كبير للغاية، يفضّل حفظ الملف محليا كي لا تفقد عملك.",imageToolNotSupported:"",brave_measure_text_error:{line1:"يبدو أنك تستخدم متصفح Brave مع إعداد <bold>حظر صارم لتتبع البصمة</bold>.",line2:"قد يؤدي هذا إلى كسر <bold>عناصر النص</bold> في الرسومات الخاصة بك.",line3:"من المستحسن إلغاء تفعيل هذا الإعداد. يمكنك اتباع <link>هذه الخطوات</link> لفعل ذلك.",line4:"إذا لم يصلح تعطيل هذا الإعداد طريقة عرض النصوص، الرجاء كتابة <issueLink>بلاغ</issueLink> على حسابنا في GitHub، أو راسلنا على <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"لا يمكن إضافة العناصر القابلة للتضمين في المكتبة.",iframe:"",image:"سوف يتم دعم إضافة صور إلى المكتبة قريباً!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},o={selection:"تحديد",image:"إدراج صورة",rectangle:"مستطيل",diamond:"مضلع",ellipse:"دائرة",arrow:"سهم",line:"خط",freedraw:"رسم",text:"نص",library:"مكتبة",lock:"الحفاظ على أداة التحديد نشطة بعد الرسم",penMode:"وضع القلم - امنع اللمس",link:"إضافة/تحديث الرابط للشكل المحدد",eraser:"ممحاة",frame:"أداة الإطار",magicframe:"",embeddable:"تضمين ويب",laser:"مؤشر ليزر",hand:"يد (أداة الإزاحة)",extraTools:"المزيد من أﻷدوات",mermaidToExcalidraw:"",magicSettings:""},t={canvasActions:"إجراءات اللوحة",selectedShapeActions:"إجراءات الشكل المحدد",shapes:"الأشكال"},i={canvasPanning:"لتحريك القماش، اضغط على عجلة الفأرة أو مفتاح المسافة أثناء السحب، أو استخدم أداة اليد",linearElement:"انقر لبدء نقاط متعددة، اسحب لخط واحد",freeDraw:"انقر واسحب، افرج عند الانتهاء",text:"نصيحة: يمكنك أيضًا إضافة نص بالنقر المزدوج في أي مكان بأداة الاختيار",embeddable:"اضغط مع السحب لإنشاء موقع ويب مضمّن",text_selected:"انقر نقراً مزدوجاً أو اضغط ادخال لتعديل النص",text_editing:"اضغط على Esc أو (Ctrl أو Cmd) + Enter لإنهاء التعديل",linearElementMulti:"انقر فوق النقطة الأخيرة أو اضغط على Esc أو Enter للإنهاء",lockAngle:"يمكنك تقييد الزاوية بالضغط على SHIFT",resize:`يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،
5
- اضغط على ALT لتغيير الحجم من المركز`,resizeImage:`يمكنك تغيير الحجم بحرية بالضغط بأستمرار على SHIFT،
6
- اضغط بأستمرار على ALT أيضا لتغيير الحجم من المركز`,rotate:"يمكنك تقييد الزوايا من خلال الضغط على SHIFT أثناء الدوران",lineEditor_info:"اضغط على مفتاح (Ctrl أو Cmd) و انقر بشكل مزدوج، أو اضغط على مفتاحي (Ctrl أو Cmd) و (Enter) لتعديل النقاط",lineEditor_pointSelected:"اضغط على حذف لإزالة النقطة (النِّقَاط)، Ctrl/Cmd+D للتكرار، أو اسحب للانتقال",lineEditor_nothingSelected:`اختر نقطة لتعديلها (اضغط على SHIFT لتحديد عدة نِقَاط),
7
- أو اضغط على ALT و انقر بالفأرة لإضافة نِقَاط جديدة`,placeImage:"انقر لوضع الصورة، أو انقر واسحب لتعيين حجمها يدوياً",publishLibrary:"نشر مكتبتك",bindTextToElement:"اضغط على إدخال لإضافة نص",deepBoxSelect:"اضغط على Ctrl\\Cmd للاختيار العميق، ولمنع السحب",eraserRevert:"اضغط على Alt لاستعادة العناصر المعلَّمة للحذف",firefox_clipboard_write:'يمكن على الأرجح تمكين هذه الميزة عن طريق تعيين علم "dom.events.asyncClipboard.clipboardItem" إلى "true". لتغيير أعلام المتصفح في Firefox، قم بزيارة صفحة "about:config".',disableSnapping:"اضغط على Ctrl أو Cmd لتعطيل الالتقاط"},l={cannotShowPreview:"تعذر عرض المعاينة",canvasTooBig:"قد تكون اللوحة كبيرة جداً.",canvasTooBigTip:"نصيحة: حاول تحريك العناصر البعيدة بشكل أقرب قليلاً."},F={headingMain:"حدث خطأ. حاول <button>تحديث الصفحة</button>.",clearCanvasMessage:"إذا لم تعمل إعادة التحميل، حاول مرة أخرى ",clearCanvasCaveat:" هذا سيؤدي إلى فقدان العمل ",trackedToSentry:"تم تتبع الخطأ في المعرف {{eventId}} على نظامنا.",openIssueMessage:"حرصنا على عدم إضافة معلومات المشهد في بلاغ الخطأ. في حال كون مشهدك لا يحمل أي معلومات خاصة نرجو المتابعة على <button>نظام تتبع الأخطاء</button>. نرجو إضافة المعلومات أدناه بنسخها ولصقها في محتوى البلاغ على GitHub.",sceneContent:"محتوى المشهد:"},n={desc_intro:"يمكنك دعوة الآخرين لمشاركتك نفس الجلسة التي تعمل عليها.",desc_privacy:"لا تقلق، الجلسة تستخدم التشفير من النهاية إلى النهاية، لذلك فإن أي شيء ترسمه سيبقى خاصاً. لن يتمكن حتى الخادوم الخاص بنا من رؤية ما توصلت إليه.",button_startSession:"بدء الجلسة",button_stopSession:"إيقاف الجلسة",desc_inProgressIntro:"تجري الآن المشاركة الحية.",desc_shareLink:"شارك هذا الرابط مع أي شخص تريده أن يشاركك الجلسة:",desc_exitSession:"إيقاف الجلسة سيؤدي إلى قطع الاتصال الخاص بك من الغرفة، ولكن ستتمكن من مواصلة العمل مع المشهد، محليا. لاحظ أن هذا لن يؤثر على الأشخاص الآخرين، و سيظلون قادرين على التعاون في إصدارهم.",shareTitle:"الانضمام إلى جلسة تعاون حية على Excalidraw"},s={title:"خطأ"},D={disk_title:"حفظ الملف للجهاز",disk_details:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً.",disk_button:"إحفظ لملف",link_title:"رابط قابل للمشاركة",link_details:"صدر الملف للمشاهدة فقط.",link_button:"التصدير كرابط",excalidrawplus_description:"حفظ المشهد إلى مساحة العمل +Excalidraw الخاصة بك.",excalidrawplus_button:"تصدير",excalidrawplus_exportError:"تعذر التصدير إلى +Excalidraw في الوقت الحالي..."},d={blog:"اقرأ مدونتنا",click:"انقر",deepSelect:"تحديد عميق",deepBoxSelect:"تحديد عميق داخل المربع، ومنع السحب",curvedArrow:"سهم مائل",curvedLine:"خط مائل",documentation:"دليل الاستخدام",doubleClick:"انقر مرتين",drag:"اسحب",editor:"المحرر",editLineArrowPoints:"تحرير سطر/نقاط سهم",editText:"تعديل النص / إضافة تسمية",github:"عثرت على مشكلة؟ إرسال",howto:"اتبع التعليمات",or:"أو",preventBinding:"منع ارتبط السهم",tools:"الأدوات",shortcuts:"اختصارات لوحة المفاتيح",textFinish:"إنهاء التعديل (محرر النص)",textNewLine:"أضف سطر جديد (محرر نص)",title:"المساعدة",view:"عرض",zoomToFit:"تكبير للملائمة",zoomToSelection:"تكبير للعنصر المحدد",toggleElementLock:"إغلاق/فتح المحدد",movePageUpDown:"نقل الصفحة أعلى/أسفل",movePageLeftRight:"نقل الصفحة يسار/يمين"},c={title:"مسح اللوحة"},C={title:"نشر المكتبة",itemName:"إسم العنصر",authorName:"إسم المؤلف",githubUsername:"اسم المستخدم في جيت هب",twitterUsername:"اسم المستخدم في تويتر",libraryName:"اسم المكتبة",libraryDesc:"وصف المكتبة",website:"الموقع",placeholder:{authorName:"اسمك أو اسم المستخدم",libraryName:"اسم مكتبتك",libraryDesc:"وصف مكتبتك لمساعدة الناس على فهم استخدامها",githubHandle:"معالج GitHub (اختياري)، حتى تتمكن من تحرير المكتبة عند إرسالها للمراجعة",twitterHandle:"اسم مستخدم تويتر (اختياري)، حتى نعرف من الذي سيتم الإشارة إليه عند الترويج عبر تويتر",website:"رابط إلى موقعك الشخصي أو في مكان آخر (اختياري)"},errors:{required:"مطلوب",website:"أدخل عنوان URL صالح"},noteDescription:"تقديم مكتبتك لتضمينها في مستودع المكتبة العامة <link></link> لأشخاص آخرين لاستخدامها في رسومهم.",noteGuidelines:"تحتاج المكتبة إلى الموافقة أولا. يرجى قراءة <link>المعايير</link> قبل تقديمها. سوف تحتاج إلى حساب GitHub للتواصل وإجراء التغييرات عند الطلب، ولكن ليس مطلوبا بشكل صارم.",noteLicense:"تقديمك يعني موافقتك على نشر المكتبة المقدمة تحت <link>MIT ترخيص</link>، ما يعني أن لأي أحد الحق في استخدامها دون قيود.",noteItems:"يجب أن يكون لكل عنصر مكتبة اسمه الخاص حتى يكون قابلاً للتصفية. سيتم تضمين عناصر المكتبة التالية:",atleastOneLibItem:"يرجى تحديد عنصر مكتبة واحد على الأقل للبدء",republishWarning:"ملاحظة: بعض العناصر المحددة معينة على أنه نشرها أو تقديمها من قبل. يجب عليك فقط إعادة إرسال العناصر عند تحديث مكتبة موجودة أو إرسالها."},E={title:"تم إرسال المكتبة",content:"شكرا لك {{authorName}}. لقد تم إرسال مكتبتك للمراجعة. يمكنك تتبع الحالة"},m={resetLibrary:"إعادة ضبط المكتبة",removeItemsFromLib:"إزالة العناصر المحددة من المكتبة"},b={header:"تصدير الصورة",label:{withBackground:"الخلفية",onlySelected:"المحدد فقط",darkMode:"الوضع الداكن",embedScene:"تضمين المشهد",scale:"الحجم",padding:"الهوامش"},tooltip:{embedScene:`سيتم حفظ بيانات المشهد في ملف PNG/SVG المصدّر بحيث يمكن استعادة المشهد منه.
8
- سيزيد حجم الملف المصدر.`},title:{exportToPng:"تصدير بصيغة PNG",exportToSvg:"تصدير بصيغة SVG",copyPngToClipboard:"نسخ الـ PNG إلى الحافظة"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"نسخ إلى الحافظة"}},p={tooltip:"رسوماتك مشفرة من النهاية إلى النهاية حتى أن خوادم Excalidraw لن تراها أبدا.",link:"مشاركة المدونة في التشفير من النهاية إلى النهاية في Excalidraw"},g={angle:"الزاوية",element:"عنصر",elements:"العناصر",height:"الارتفاع",scene:"المشهد",selected:"المحدد",storage:"التخزين",title:"إحصائيات للمهووسين",total:"المجموع",version:"الإصدار",versionCopy:"انقر للنسخ",versionNotAvailable:"الإصدار غير متوفر",width:"العرض"},h={addedToLibrary:"تمت الاضافة الى المكتبة!",copyStyles:"نسخت الانماط.",copyToClipboard:"نسخ إلى الحافظة.",copyToClipboardAsPng:`تم نسخ {{exportSelection}} إلى الحافظة بصيغة PNG
9
- ({{exportColorScheme}})`,fileSaved:"تم حفظ الملف.",fileSavedToFilename:"حفظ باسم {filename}",canvas:"لوحة الرسم",selection:"العنصر المحدد",pasteAsSingleElement:`استخدم {{shortcut}} للصق كعنصر واحد،
10
- أو لصق في محرر نص موجود`,unableToEmbed:"تضمين هذا الرابط غير مسموح حاليًا. افتح بلاغاً على GitHub لطلب عنوان Url القائمة البيضاء",unrecognizedLinkFormat:"الرابط الذي ضمنته لا يتطابق مع التنسيق المتوقع. الرجاء محاولة لصق النص 'المضمن' المُزوَد من موقع المصدر"},S={transparent:"شفاف",black:"أسود",white:"أبيض",red:"أحمر",pink:"وردي",grape:"عنبي",violet:"بنفسجي",gray:"رمادي",blue:"أزرق",cyan:"سماوي",teal:"أزرق مخضر",green:"أخضر",yellow:"أصفر",orange:"برتقالي",bronze:"برونزي"},y={app:{center_heading:"جميع بياناتك محفوظة محليا في المتصفح الخاص بك.",center_heading_plus:"هل تريد الذهاب إلى Excalidraw+ بدلاً من ذلك؟",menuHint:"التصدير والتفضيلات واللغات ..."},defaults:{menuHint:"التصدير والتفضيلات وغيرها...",center_heading:"الرسم البياني التصويري. بشكل مبسط.",toolbarHint:"اختر أداة و ابدأ الرسم!",helpHint:"الاختصارات و المساعدة"}},v={mostUsedCustomColors:"الألوان المخصصة الأكثر استخداما",colors:"الألوان",shades:"الدرجات",hexCode:"رمز Hex",noShades:"لا تتوفر درجات لهذا اللون"},x={action:{exportToImage:{title:"تصدير كصورة",button:"تصدير كصورة",description:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً."},saveToDisk:{title:"حفظ الملف للجهاز",button:"حفظ الملف للجهاز",description:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً."},excalidrawPlus:{title:"Excalidraw+",button:"تصدير إلى Excalidraw+",description:"حفظ المشهد إلى مساحة العمل +Excalidraw الخاصة بك."}},modal:{loadFromFile:{title:"تحميل من ملف",button:"تحميل من ملف",description:"سيتم التحميل من الملف <bold>استبدال المحتوى الموجود</bold>.<br></br>يمكنك النسخ الاحتياطي لرسمك أولاً باستخدام أحد الخيارات أدناه."},shareableLink:{title:"تحميل من رابط",button:"استبدال محتواي",description:"سيتسبب تحميل رسمة خارجية <bold>باستبدال محتواك الموجود حالياً</bold>.<br></br>بإمكانك إجراء النسخ الاحتياطي لرسمتك الحالية باستخدام أحد الخيارات أدناه."}}},w={title:"",button:"",description:"",syntax:"",preview:""},B={labels:u,library:A,buttons:e,alerts:a,errors:r,toolBar:o,headings:t,hints:i,canvasError:l,errorSplash:F,roomDialog:n,errorDialog:s,exportDialog:D,helpDialog:d,clearCanvasDialog:c,publishDialog:C,publishSuccessDialog:E,confirmDialog:m,imageExportDialog:b,encrypted:p,stats:g,toast:h,colors:S,welcomeScreen:y,colorPicker:v,overwriteConfirm:x,mermaid:w};export{a as alerts,e as buttons,l as canvasError,c as clearCanvasDialog,v as colorPicker,S as colors,m as confirmDialog,B as default,p as encrypted,s as errorDialog,F as errorSplash,r as errors,D as exportDialog,t as headings,d as helpDialog,i as hints,b as imageExportDialog,u as labels,A as library,w as mermaid,x as overwriteConfirm,C as publishDialog,E as publishSuccessDialog,n as roomDialog,g as stats,h as toast,o as toolBar,y as welcomeScreen};
@@ -1 +0,0 @@
1
- import{w as ln,c as H}from"./path-CbwjOpE9.js";import{B as rn,D as M,E as D,F as an,G as y,H as on,I as j,J as _,K as un,L as t,M as sn,N as tn,O as fn}from"./index-D2dwBAqU.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,O,E,v,A,J,r){var q=O-l,i=E-h,n=J-v,m=r-A,a=m*q-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*q,h+a*i]}function W(l,h,O,E,v,A,J){var r=l-O,q=h-E,i=(J?A:-A)/j(r*r+q*q),n=i*q,m=-i*r,a=l+n,s=h+m,f=O+n,c=E+m,K=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,B=(g<0?-1:1)*j(tn(0,T*T*R-P*P)),F=(P*g-p*B)/R,G=(-P*p-g*B)/R,w=(P*g+p*B)/R,d=(-P*p+g*B)/R,x=F-K,e=G-o,u=w-K,L=d-o;return x*x+e*e>u*u+L*L&&(F=w,G=d),{cx:F,cy:G,x01:-n,y01:-m,x11:F*(v/T-1),y11:G*(v/T-1)}}function vn(){var l=cn,h=yn,O=H(0),E=null,v=gn,A=mn,J=pn,r=null,q=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,K=un(c-f),o=c>f;if(r||(r=n=q()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(K>on-y)r.moveTo(s*M(f),s*D(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*M(c),a*D(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=K,B=K,F=J.apply(this,arguments)/2,G=F>y&&(E?+E.apply(this,arguments):j(a*a+s*s)),w=_(un(s-a)/2,+O.apply(this,arguments)),d=w,x=w,e,u;if(G>y){var L=sn(G/a*D(F)),z=sn(G/s*D(F));(P-=L*2)>y?(L*=o?1:-1,R+=L,T-=L):(P=0,R=T=(f+c)/2),(B-=z*2)>y?(z*=o?1:-1,p+=z,g-=z):(B=0,p=g=(f+c)/2)}var N=s*M(p),S=s*D(p),C=a*M(T),Q=a*D(T);if(w>y){var U=s*M(g),V=s*D(g),X=a*M(R),Y=a*D(R),I;if(K<rn)if(I=dn(N,S,X,Y,U,V,C,Q)){var Z=N-I[0],$=S-I[1],k=U-I[0],b=V-I[1],nn=1/D(fn((Z*k+$*b)/(j(Z*Z+$*$)*j(k*k+b*b)))/2),en=j(I[0]*I[0]+I[1]*I[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}B>y?x>y?(e=W(X,Y,N,S,s,x,o),u=W(U,V,C,Q,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(N,S),r.arc(0,0,s,p,g,!o)):r.moveTo(N,S),!(a>y)||!(P>y)?r.lineTo(C,Q):d>y?(e=W(C,Q,U,V,a,-d,o),u=W(N,S,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[M(m)*n,D(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:H(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:H(+n),i):h},i.cornerRadius=function(n){return arguments.length?(O=typeof n=="function"?n:H(+n),i):O},i.padRadius=function(n){return arguments.length?(E=n==null?null:typeof n=="function"?n:H(+n),i):E},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:H(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:H(+n),i):A},i.padAngle=function(n){return arguments.length?(J=typeof n=="function"?n:H(+n),i):J},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};
@@ -1 +0,0 @@
1
- function t(r){return typeof r=="object"&&"length"in r?r:Array.from(r)}export{t as a};
@@ -1 +0,0 @@
1
- import"./main-BDhqALRb.js";var e={paste:"Yapışdır",pasteAsPlaintext:"Düz mətn kimi yapışdırın",pasteCharts:"Diaqramları yapışdırın",selectAll:"Hamısını seç",multiSelect:"Seçimə element əlavə edin",moveCanvas:"Kanvası köçürün",cut:"Kəs",copy:"Kopyala",copyAsPng:"PNG olaraq panoya kopyala",copyAsSvg:"SVG olaraq panoya kopyala",copyText:"Mətn olaraq panoya kopyala",copySource:"",convertToCode:"",bringForward:"Önə daşı",sendToBack:"Geriyə göndərin",bringToFront:"Önə gətirin",sendBackward:"Geriyə göndərin",delete:"Sil",copyStyles:"Stilləri kopyalayın",pasteStyles:"Stilləri yapışdırın",stroke:"Strok rəngi",background:"Arxa fon",fill:"Doldur",strokeWidth:"Strok eni",strokeStyle:"Strok stili",strokeStyle_solid:"Solid",strokeStyle_dashed:"Kəsik",strokeStyle_dotted:"Nöqtəli",sloppiness:"Səliqəsizlik",opacity:"Şəffaflıq",textAlign:"Mətni uyğunlaşdır",edges:"Kənarlar",sharp:"Kəskin",round:"Dəyirmi",arrowheads:"Ox ucları",arrowhead_none:"Heç biri",arrowhead_arrow:"Ox",arrowhead_bar:"Çubuq",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Üçbucaq",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Şrift ölçüsü",fontFamily:"Şrift qrupu",addWatermark:'"Made with Excalidraw" əlavə et',handDrawn:"Əllə çəkilmiş",normal:"Normal",code:"Kod",small:"Kiçik",medium:"Orta",large:"Böyük",veryLarge:"Çox böyük",solid:"Solid",hachure:"Ştrix",zigzag:"Ziqzaq",crossHatch:"Çarpaz dəlik",thin:"İncə",bold:"Qalın",left:"Sol",center:"Mərkəz",right:"Sağ",extraBold:"Ekstra qalın",architect:"Memar",artist:"Rəssam",cartoonist:"Karikaturaçı",fileTitle:"Fayl adı",colorPicker:"Rəng seçən",canvasColors:"Kanvas üzərində istifadə olunur",canvasBackground:"Kanvas arxa fonu",drawingCanvas:"Kanvas çəkmək",layers:"Qatlar",actions:"Hərəkətlər",language:"Dil",liveCollaboration:"Canlı əməkdaşlıq...",duplicateSelection:"Dublikat",untitled:"Başlıqsız",name:"Ad",yourName:"Adınız",madeWithExcalidraw:"Excalidraw ilə hazırlanmışdır",group:"Qrup şəklində seçim",ungroup:"Qrupsuz seçim",collaborators:"",showGrid:"",addToLibrary:"",removeFromLibrary:"",libraryLoadingMessage:"",libraries:"",loadingScene:"",align:"",alignTop:"",alignBottom:"",alignLeft:"",alignRight:"",centerVertically:"",centerHorizontally:"",distributeHorizontally:"",distributeVertically:"",flipHorizontal:"",flipVertical:"",viewMode:"",share:"",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"",increaseFontSize:"",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"",editEmbed:"",create:"",createEmbed:"",label:"",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"",unlock:"",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},a={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},r={clearReset:"",exportJSON:"",exportImage:"",export:"",copyToClipboard:"",save:"",saveAs:"",load:"",getShareableLink:"",close:"",selectLanguage:"",scrollBackToContent:"",zoomIn:"",zoomOut:"",resetZoom:"",menu:"",done:"",edit:"",undo:"",redo:"",resetLibrary:"",createNewRoom:"",fullScreen:"",darkMode:"",lightMode:"",zenMode:"",objectsSnapMode:"",exitZenMode:"",cancel:"",clear:"",remove:"",embed:"",publishLibrary:"",submit:"",confirm:"",embeddableInteractionButton:""},o={clearReset:"",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},t={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},i={selection:"",image:"",rectangle:"",diamond:"",ellipse:"",arrow:"",line:"",freedraw:"",text:"",library:"",lock:"",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},l={canvasActions:"",selectedShapeActions:"",shapes:""},n={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},s={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},d={headingMain:"",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},u={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},c={title:""},m={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},p={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},g={title:""},b={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},y={title:"",content:""},x={resetLibrary:"",removeItemsFromLib:""},h={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},k={tooltip:"",link:""},S={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},v={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},F={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},w={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},E={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},T={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},_={title:"",button:"",description:"",syntax:"",preview:""},f={labels:e,library:a,buttons:r,alerts:o,errors:t,toolBar:i,headings:l,hints:n,canvasError:s,errorSplash:d,roomDialog:u,errorDialog:c,exportDialog:m,helpDialog:p,clearCanvasDialog:g,publishDialog:b,publishSuccessDialog:y,confirmDialog:x,imageExportDialog:h,encrypted:k,stats:S,toast:v,colors:F,welcomeScreen:w,colorPicker:E,overwriteConfirm:T,mermaid:_};export{o as alerts,r as buttons,s as canvasError,g as clearCanvasDialog,E as colorPicker,F as colors,x as confirmDialog,f as default,k as encrypted,c as errorDialog,d as errorSplash,t as errors,m as exportDialog,l as headings,p as helpDialog,n as hints,h as imageExportDialog,e as labels,a as library,_ as mermaid,T as overwriteConfirm,b as publishDialog,y as publishSuccessDialog,u as roomDialog,S as stats,v as toast,i as toolBar,w as welcomeScreen};
@@ -1,5 +0,0 @@
1
- import"./main-BDhqALRb.js";var u={paste:"Постави",pasteAsPlaintext:"Постави като обикновен текст",pasteCharts:"Постави графики",selectAll:"Маркирай всичко",multiSelect:"Добави елемент към селекция",moveCanvas:"Премести платно",cut:"Изрежи",copy:"Копирай",copyAsPng:"Копиране в клипборда",copyAsSvg:"Копирано в клипборда като SVG",copyText:"",copySource:"",convertToCode:"",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_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Триъгълник",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Размер на шрифта",fontFamily:"Семейство шрифтове",addWatermark:'Добави "Направено с Excalidraw"',handDrawn:"Нарисувано на ръка",normal:"Нормален",code:"Код",small:"Малък",medium:"Среден",large:"Голям",veryLarge:"Много голям",solid:"Солиден",hachure:"Хералдика",zigzag:"Зигзаг",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:"Изглед",share:"Сподели",showStroke:"",showBackground:"",toggleTheme:"Включи тема",personalLib:"Лична Библиотека",excalidrawLib:"Excalidraw Библиотека",decreaseFontSize:"Намали размера на шрифта",increaseFontSize:"Увеличи размера на шрифта",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"Редактирай линк",editEmbed:"",create:"",createEmbed:"",label:"Линк",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"Заключи",unlock:"Отключи",lockAll:"Заключи всички",unlockAll:"Отключи всички"},statusPublished:"Публикувани",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"Избери цвят от платното",textToDiagram:"",prompt:""},e={noItems:"Няма добавени неща все още...",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},E={clearReset:"Нулиране на платно",exportJSON:"",exportImage:"",export:"Запази на...",copyToClipboard:"Копиране в клипборда",save:"Запази към текущ файл",saveAs:"Запиши като",load:"Отвори",getShareableLink:"Получаване на връзка за споделяне",close:"Затвори",selectLanguage:"Избор на език",scrollBackToContent:"Превъртете обратно към съдържанието",zoomIn:"Приближаване",zoomOut:"Отдалечаване",resetZoom:"Стандартен мащаб",menu:"Меню",done:"Завършено",edit:"Редактиране",undo:"Отмяна",redo:"Повтори",resetLibrary:"Нулиране на библиотеката",createNewRoom:"Създай нова стая",fullScreen:"На цял екран",darkMode:"Тъмен режим",lightMode:"Светъл режим",zenMode:"Режим Zen",objectsSnapMode:"",exitZenMode:"Спиране на Zen режим",cancel:"Отмени",clear:"Изчисти",remove:"Премахване",embed:"",publishLibrary:"Публикувай",submit:"Изпрати",confirm:"Потвърждаване",embeddableInteractionButton:""},D={clearReset:"Това ще изчисти цялото платно. Сигурни ли сте?",couldNotCreateShareableLink:"Връзката не може да бъде създадена.",couldNotCreateShareableLinkTooBig:"Не може да се създаде връзка за споделяне: сцената е твърде голяма",couldNotLoadInvalidFile:"Невалиден файл не може да се зареди",importBackendFailed:"Импортирането от бекенд не беше успешно.",cannotExportEmptyCanvas:"Не може да се експортира празно платно.",couldNotCopyToClipboard:"Не можем да копираме в клипбоарда.",decryptFailed:"Данните не можаха да се дешифрират.",uploadedSecurly:"Качването е защитено с криптиране от край до край, което означава, че сървърът Excalidraw и трети страни не могат да четат съдържанието.",loadSceneOverridePrompt:"Зареждането на външна рисунка ще презапише настоящото ви съдържание. Желаете ли да продължите?",collabStopOverridePrompt:`Прекратяването на сесията ще презапише предишната, локално запазена, рисунка. Сигурни ли сте?
2
-
3
- (Ако искате да продължите с локалната рисунка, просто затворете таба на браузъра.)`,errorAddingToLibrary:"Не можем да заредим от библиотеката",errorRemovingFromLibrary:"Не можем да премахнем елемент от библиотеката",confirmAddLibrary:"Ще се добавят {{numShapes}} фигура(и) във вашата библиотека. Сигурни ли сте?",imageDoesNotContainScene:"",cannotRestoreFromImage:"Не може да бъде възстановена сцена от този файл",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"Изтрий {{count}} елемент(а) от библиотеката?",invalidEncryptionKey:"",collabOfflineWarning:""},a={unsupportedFileType:"Този файлов формат не се поддържа.",imageInsertError:"",fileTooBig:"Файлът е твърде голям. Максималния допустим размер е {{maxSize}}.",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"Невалиден SVG.",cannotResolveCollabServer:"",importLibraryError:"Не можем да заредим библиотеката",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"Силно препоръчваме да изключите тази настройка. Можете да следвате <link>тези стъпки</link> за това как да го направите.",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},o={selection:"Селекция",image:"Вмъкване на изображение",rectangle:"Правоъгълник",diamond:"Диамант",ellipse:"Елипс",arrow:"Стрелка",line:"Линия",freedraw:"Рисуване",text:"Текст",library:"Библиотека",lock:"Поддържайте избрания инструмент активен след рисуване",penMode:"",link:"",eraser:"Гума",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"Още инструменти",mermaidToExcalidraw:"",magicSettings:""},r={canvasActions:"Действия по платното",selectedShapeActions:"Избрани действия",shapes:"Фигури"},t={canvasPanning:"",linearElement:"Кликнете, за да стартирате няколко точки, плъзнете за една линия",freeDraw:"Натиснете и влачете, пуснете като сте готови",text:"Подсказка: Можете също да добавите текст като натиснете някъде два път с инструмента за селекция",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"Кликнете върху последната точка или натиснете Escape или Enter, за да завършите",lockAngle:"Можете да ограничите ъгъла, като задържите SHIFT",resize:`Може да ограничите при преоразмеряване като задържите SHIFT,
4
- задръжте ALT за преоразмерите през центъра`,resizeImage:"",rotate:"Можете да ограничите ъглите, като държите SHIFT, докато се въртите",lineEditor_info:"",lineEditor_pointSelected:"Натиснете Delete за да изтриете точка(и), CtrlOrCmd+D за дуплициране, или извлачете за да преместите",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"Натиснете Enter, за да добавите",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},i={cannotShowPreview:"Невъзможност за показване на preview",canvasTooBig:"Платното е твърде голямо.",canvasTooBigTip:"Подсказка: пробвайте да приближите далечните елементи по-близко."},A={headingMain:"Среща грешка. Опитайте <button>презареждане на страницата.</button>",clearCanvasMessage:"Ако презареждането не работи, опитайте <button>изчистване на платното.</button>",clearCanvasCaveat:" Това ще доведе до загуба на работа ",trackedToSentry:"Грешката с идентификатор {{eventId}} беше проследен в нашата система.",openIssueMessage:"Бяхме много предпазливи да не включите информацията за вашата сцена при грешката. Ако сцената ви не е частна, моля, помислете за последващи действия на нашата <button>тракер за грешки.</button> Моля, включете информация по-долу, като я копирате и добавите в GitHub.",sceneContent:"Съдържание на сцената:"},l={desc_intro:"Можете да поканите хора на текущата си сцена да си сътрудничат с вас.",desc_privacy:"Не се притеснявайте, сесията използва криптиране от край до край, така че каквото нарисувате ще остане частно. Дори нашият сървър няма да може да види какво предлагате.",button_startSession:"Стартирайте сесията",button_stopSession:"Стоп на сесията",desc_inProgressIntro:"Сесията за сътрудничество на живо е в ход.",desc_shareLink:"Споделете тази връзка с всеки, с когото искате да си сътрудничите:",desc_exitSession:"Спирането на сесията ще ви изключи от стаята, но ще можете да продължите да работите със сцената, локално. Имайте предвид, че това няма да засегне други хора и те все още ще могат да си сътрудничат с тяхната версия.",shareTitle:""},n={title:"Грешка"},F={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"Експорт",excalidrawplus_exportError:""},s={blog:"Прочетете нашия блог",click:"клик",deepSelect:"",deepBoxSelect:"",curvedArrow:"Извита стрелка",curvedLine:"Извита линия",documentation:"Документация",doubleClick:"двойно-щракване",drag:"плъзнете",editor:"Редактор",editLineArrowPoints:"",editText:"",github:"Намерихте проблем? Изпратете",howto:"Следвайте нашите ръководства",or:"или",preventBinding:"Спри прилепяне на стрелките",tools:"Инструменти",shortcuts:"Клавиши за бърз достъп",textFinish:"Завърши редактиране (текстов редактор)",textNewLine:"Добави нова линия (текстов редактор)",title:"Помощ",view:"Преглед",zoomToFit:"Приближи докато се виждат всички елементи",zoomToSelection:"Приближи селекцията",toggleElementLock:"Заключи/Отключи селекция",movePageUpDown:"Премести страница нагоре/надолу",movePageLeftRight:"Премести страница наляво/надясно"},B={title:"Изчисти платното"},d={title:"Публикувай библиотека",itemName:"Име",authorName:"Авторско име",githubUsername:"GitHub потребителско име",twitterUsername:"Twitter потребителско име",libraryName:"Име на библиотеката",libraryDesc:"Описание на библиотеката",website:"Уебсайт",placeholder:{authorName:"Името или потребителското Ви име",libraryName:"Име на библиотеката Ви",libraryDesc:"Описание на библиотеката ви, за да помогнете на хората да разберат приложенията ѝ",githubHandle:"",twitterHandle:"",website:""},errors:{required:"Задължително",website:"Въведете валиден URL адрес"},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},c={title:"",content:""},C={resetLibrary:"Нулирай библиотека",removeItemsFromLib:""},m={header:"",label:{withBackground:"Фон",onlySelected:"Само избраното",darkMode:"Тъмен режим",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"Изнасяне в PNG",exportToSvg:"Изнасяне в SVG",copyPngToClipboard:"Копирай PNG в клипборда"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Копиране в клипборда"}},p={tooltip:"Вашите рисунки са криптирани от край до край, така че сървърите на Excalidraw няма да могат да ги виждат.",link:""},b={angle:"Ъгъл",element:"Елемент",elements:"Елементи",height:"Височина",scene:"Сцена",selected:"Селектирано",storage:"Съхранение на данни",title:"Статистика за хакери",total:"Общо",version:"Версия",versionCopy:"Настисни за да копираш",versionNotAvailable:"Версията не е налична",width:"Широчина"},g={addedToLibrary:"Добавена към библиотеката",copyStyles:"Копирани стилове.",copyToClipboard:"Копирано в клипборда.",copyToClipboardAsPng:`Копира {{exportSelection}} в клипборда като PNG
5
- ({{exportColorScheme}})`,fileSaved:"Файлът е запазен.",fileSavedToFilename:"Запазен към {filename}",canvas:"платно",selection:"селекция",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},h={transparent:"Прозрачен",black:"Черен",white:"Бял",red:"Червен",pink:"Розов",grape:"Грозде",violet:"Виолетово",gray:"Сив",blue:"Син",cyan:"Синьозелено",teal:"Тъмно синьо-зелено",green:"Зелено",yellow:"Жълто",orange:"Оранжево",bronze:"Бронзово"},y={app:{center_heading:"Всичките Ви данни са запазени локално в браузъра Ви.",center_heading_plus:"",menuHint:"Експорт, предпочитания, езици, ..."},defaults:{menuHint:"Експорт, предпочитания, и още...",center_heading:"Диаграми. Направени. Просто.",toolbarHint:"Изберете инструмент & Започнете да рисувате!",helpHint:"Преки пътища & помощ"}},S={mostUsedCustomColors:"Най-често използвани цветове",colors:"Цветове",shades:"Нюанси",hexCode:"Шестнадесетичен код",noShades:""},v={action:{exportToImage:{title:"Изнеси като изображение",button:"Изнеси като изображение",description:""},saveToDisk:{title:"Запази към диск",button:"Запази към диск",description:""},excalidrawPlus:{title:"Excalidraw+",button:"Експортирай към Excalidraw+",description:"Запази сцената към Excalidraw+ работното място."}},modal:{loadFromFile:{title:"Зареди от файл",button:"Зареди от файл",description:""},shareableLink:{title:"Зареди от линк",button:"Замени моето съдържание",description:""}}},w={title:"",button:"",description:"",syntax:"",preview:""},k={labels:u,library:e,buttons:E,alerts:D,errors:a,toolBar:o,headings:r,hints:t,canvasError:i,errorSplash:A,roomDialog:l,errorDialog:n,exportDialog:F,helpDialog:s,clearCanvasDialog:B,publishDialog:d,publishSuccessDialog:c,confirmDialog:C,imageExportDialog:m,encrypted:p,stats:b,toast:g,colors:h,welcomeScreen:y,colorPicker:S,overwriteConfirm:v,mermaid:w};export{D as alerts,E as buttons,i as canvasError,B as clearCanvasDialog,S as colorPicker,h as colors,C as confirmDialog,k as default,p as encrypted,n as errorDialog,A as errorSplash,a as errors,F as exportDialog,r as headings,s as helpDialog,t as hints,m as imageExportDialog,u as labels,e as library,w as mermaid,v as overwriteConfirm,d as publishDialog,c as publishSuccessDialog,l as roomDialog,b as stats,g as toast,o as toolBar,y as welcomeScreen};