@procore/text-editor 1.1.0 → 1.2.0
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.
- package/.jest/ckeditorMock.js +1 -0
- package/.jest/setupTests.js +1 -2
- package/CHANGELOG.md +9 -0
- package/README.md +15 -0
- package/dist/TextEditor/CKTextEditor.js +7 -3
- package/dist/TextEditor/CKTextEditor.js.map +1 -1
- package/dist/TextEditor/TextEditor.styles.js +6 -6
- package/dist/TextEditor/TextEditor.styles.js.map +1 -1
- package/dist/TextEditor/TextEditor.types.d.ts +28 -8
- package/dist/TextEditor/TextEditor.types.js.map +1 -1
- package/dist/TextEditor/TinyMCETextEditor.js +2 -1
- package/dist/TextEditor/TinyMCETextEditor.js.map +1 -1
- package/dist/TextEditor/plugins/ProcoreImageUploadPlugin/ProcoreImageUploadPlugin.d.ts +6 -0
- package/dist/TextEditor/plugins/ProcoreImageUploadPlugin/ProcoreImageUploadPlugin.js +114 -14
- package/dist/TextEditor/plugins/ProcoreImageUploadPlugin/ProcoreImageUploadPlugin.js.map +1 -1
- package/dist/TextEditor/utils/config.js +3 -3
- package/dist/TextEditor/utils/config.js.map +1 -1
- package/dist/TextEditor/utils/richTextEditorHandlers.d.ts +4 -1
- package/dist/TextEditor/utils/richTextEditorHandlers.js +79 -21
- package/dist/TextEditor/utils/richTextEditorHandlers.js.map +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +2 -2
- package/dist/TextEditorOutput/TextEditorOutput.styles.js.map +1 -1
- package/dist/_typedoc/TextEditor/TextEditor.types.json +323 -49
- package/dist/_typedoc/TextEditor/TextEditorProvider.types.json +2 -2
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +3 -3
- package/dist/_typedoc/deprecations.json +1 -1
- package/dist/locales/en.json +1 -0
- package/package.json +7 -7
|
@@ -8,14 +8,10 @@ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present,
|
|
|
8
8
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
9
9
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
10
10
|
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
11
|
-
var IMAGE_UPLOAD_FAILED_MESSAGE = 'Image upload failed.';
|
|
12
|
-
var defaultFetcher = function defaultFetcher() {
|
|
13
|
-
return fetch.apply(void 0, arguments);
|
|
14
|
-
};
|
|
15
11
|
var _ref = require('@procore/core-http'),
|
|
16
12
|
requestJSON = _ref.requestJSON;
|
|
17
13
|
var fetcherRequestJSON = /*#__PURE__*/function () {
|
|
18
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(fetcher, url, init) {
|
|
14
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(fetcher, url, init, i18n) {
|
|
19
15
|
var response, _t, _t2;
|
|
20
16
|
return _regenerator().w(function (_context) {
|
|
21
17
|
while (1) switch (_context.n) {
|
|
@@ -30,7 +26,7 @@ var fetcherRequestJSON = /*#__PURE__*/function () {
|
|
|
30
26
|
}
|
|
31
27
|
_t = Error;
|
|
32
28
|
_context.n = 2;
|
|
33
|
-
return errorMessageFromResponse(response,
|
|
29
|
+
return errorMessageFromResponse(response, i18n.t('textEditor.imageUpload.failed'));
|
|
34
30
|
case 2:
|
|
35
31
|
_t2 = _context.v;
|
|
36
32
|
throw new _t(_t2);
|
|
@@ -42,13 +38,13 @@ var fetcherRequestJSON = /*#__PURE__*/function () {
|
|
|
42
38
|
}
|
|
43
39
|
}, _callee);
|
|
44
40
|
}));
|
|
45
|
-
return function fetcherRequestJSON(_x, _x2, _x3) {
|
|
41
|
+
return function fetcherRequestJSON(_x, _x2, _x3, _x4) {
|
|
46
42
|
return _ref2.apply(this, arguments);
|
|
47
43
|
};
|
|
48
44
|
}();
|
|
49
|
-
var procoreRequestJSON = function procoreRequestJSON(url, init, fetcher) {
|
|
45
|
+
var procoreRequestJSON = function procoreRequestJSON(url, init, i18n, fetcher) {
|
|
50
46
|
if (fetcher) {
|
|
51
|
-
return fetcherRequestJSON(fetcher, url, init);
|
|
47
|
+
return fetcherRequestJSON(fetcher, url, init, i18n);
|
|
52
48
|
}
|
|
53
49
|
return requestJSON(url, init);
|
|
54
50
|
};
|
|
@@ -76,7 +72,7 @@ var errorMessageFromResponse = /*#__PURE__*/function () {
|
|
|
76
72
|
}
|
|
77
73
|
}, _callee2, null, [[0, 2]]);
|
|
78
74
|
}));
|
|
79
|
-
return function errorMessageFromResponse(
|
|
75
|
+
return function errorMessageFromResponse(_x5, _x6) {
|
|
80
76
|
return _ref3.apply(this, arguments);
|
|
81
77
|
};
|
|
82
78
|
}();
|
|
@@ -92,7 +88,7 @@ var uploadEndpoint = function uploadEndpoint(_ref5) {
|
|
|
92
88
|
return projectId ? "/rest/v1.1/projects/".concat(projectId, "/uploads") : "/rest/v1.1/companies/".concat(companyId, "/uploads");
|
|
93
89
|
};
|
|
94
90
|
var uploadFileToStorage = /*#__PURE__*/function () {
|
|
95
|
-
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(uploadInstructions, file, signal, fetcher) {
|
|
91
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(uploadInstructions, file, signal, i18n, fetcher, onProgress) {
|
|
96
92
|
var _uploadInstructions$f;
|
|
97
93
|
var body, uploadResponse;
|
|
98
94
|
return _regenerator().w(function (_context3) {
|
|
@@ -102,7 +98,7 @@ var uploadFileToStorage = /*#__PURE__*/function () {
|
|
|
102
98
|
_context3.n = 1;
|
|
103
99
|
break;
|
|
104
100
|
}
|
|
105
|
-
throw new Error('
|
|
101
|
+
throw new Error(i18n.t('textEditor.imageUpload.missingStorageInstructions'));
|
|
106
102
|
case 1:
|
|
107
103
|
body = new FormData();
|
|
108
104
|
Object.entries((_uploadInstructions$f = uploadInstructions.fields) !== null && _uploadInstructions$f !== void 0 ? _uploadInstructions$f : {}).forEach(function (_ref7) {
|
|
@@ -112,6 +108,10 @@ var uploadFileToStorage = /*#__PURE__*/function () {
|
|
|
112
108
|
body.append(key, value);
|
|
113
109
|
});
|
|
114
110
|
body.append('file', file);
|
|
111
|
+
if (!fetcher) {
|
|
112
|
+
_context3.n = 4;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
115
|
_context3.n = 2;
|
|
116
116
|
return fetcher(uploadInstructions.url, {
|
|
117
117
|
method: 'POST',
|
|
@@ -124,24 +124,79 @@ var uploadFileToStorage = /*#__PURE__*/function () {
|
|
|
124
124
|
_context3.n = 3;
|
|
125
125
|
break;
|
|
126
126
|
}
|
|
127
|
-
throw new Error(
|
|
127
|
+
throw new Error(i18n.t('textEditor.imageUpload.failed'));
|
|
128
128
|
case 3:
|
|
129
|
+
onProgress === null || onProgress === void 0 || onProgress(file.size);
|
|
130
|
+
return _context3.a(2);
|
|
131
|
+
case 4:
|
|
132
|
+
_context3.n = 5;
|
|
133
|
+
return uploadFileToStorageWithProgress(uploadInstructions.url, body, file, signal, i18n, onProgress);
|
|
134
|
+
case 5:
|
|
129
135
|
return _context3.a(2);
|
|
130
136
|
}
|
|
131
137
|
}, _callee3);
|
|
132
138
|
}));
|
|
133
|
-
return function uploadFileToStorage(
|
|
139
|
+
return function uploadFileToStorage(_x7, _x8, _x9, _x0, _x1, _x10) {
|
|
134
140
|
return _ref6.apply(this, arguments);
|
|
135
141
|
};
|
|
136
142
|
}();
|
|
143
|
+
var uploadFileToStorageWithProgress = function uploadFileToStorageWithProgress(url, body, file, signal, i18n, onProgress) {
|
|
144
|
+
return new Promise(function (resolve, reject) {
|
|
145
|
+
var abortError = function abortError() {
|
|
146
|
+
return new DOMException('The operation was aborted.', 'AbortError');
|
|
147
|
+
};
|
|
148
|
+
if (signal.aborted) {
|
|
149
|
+
reject(abortError());
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
var xhr = new XMLHttpRequest();
|
|
153
|
+
var abort = function abort() {
|
|
154
|
+
return xhr.abort();
|
|
155
|
+
};
|
|
156
|
+
signal.addEventListener('abort', abort, {
|
|
157
|
+
once: true
|
|
158
|
+
});
|
|
159
|
+
var settle = function settle(fn) {
|
|
160
|
+
signal.removeEventListener('abort', abort);
|
|
161
|
+
fn();
|
|
162
|
+
};
|
|
163
|
+
xhr.upload.onprogress = function (event) {
|
|
164
|
+
if (event.lengthComputable && event.total > 0) {
|
|
165
|
+
onProgress === null || onProgress === void 0 || onProgress(Math.min(file.size, event.loaded / event.total * file.size));
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
xhr.onload = function () {
|
|
169
|
+
return settle(function () {
|
|
170
|
+
if (xhr.status === 204 && xhr.status < 300) {
|
|
171
|
+
resolve();
|
|
172
|
+
} else {
|
|
173
|
+
reject(new Error(i18n.t('textEditor.imageUpload.failed')));
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
xhr.onerror = function () {
|
|
178
|
+
return settle(function () {
|
|
179
|
+
return reject(new Error(i18n.t('textEditor.imageUpload.failed')));
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
xhr.onabort = function () {
|
|
183
|
+
return settle(function () {
|
|
184
|
+
return reject(abortError());
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
xhr.open('POST', url);
|
|
188
|
+
xhr.send(body);
|
|
189
|
+
});
|
|
190
|
+
};
|
|
137
191
|
export var richTextEditorUploadHandler = function richTextEditorUploadHandler(_ref9) {
|
|
138
192
|
var companyId = _ref9.companyId,
|
|
139
193
|
projectId = _ref9.projectId,
|
|
140
194
|
toolName = _ref9.toolName,
|
|
195
|
+
i18n = _ref9.i18n,
|
|
141
196
|
fetcher = _ref9.fetcher;
|
|
142
197
|
return /*#__PURE__*/function () {
|
|
143
198
|
var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(file, context, callbacks) {
|
|
144
|
-
var _callbacks$onProgress, _callbacks$
|
|
199
|
+
var _callbacks$onProgress, _callbacks$onProgress3;
|
|
145
200
|
var uploadInstructions, createBody, prostoreFileId, urls, _t4;
|
|
146
201
|
return _regenerator().w(function (_context4) {
|
|
147
202
|
while (1) switch (_context4.n) {
|
|
@@ -163,11 +218,14 @@ export var richTextEditorUploadHandler = function richTextEditorUploadHandler(_r
|
|
|
163
218
|
response_filename: file.name,
|
|
164
219
|
size: file.size
|
|
165
220
|
})
|
|
166
|
-
}, fetcher);
|
|
221
|
+
}, i18n, fetcher);
|
|
167
222
|
case 1:
|
|
168
223
|
uploadInstructions = _context4.v;
|
|
169
224
|
_context4.n = 2;
|
|
170
|
-
return uploadFileToStorage(uploadInstructions, file, context.signal,
|
|
225
|
+
return uploadFileToStorage(uploadInstructions, file, context.signal, i18n, fetcher, function (uploadedBytes) {
|
|
226
|
+
var _callbacks$onProgress2;
|
|
227
|
+
return (_callbacks$onProgress2 = callbacks.onProgress) === null || _callbacks$onProgress2 === void 0 ? void 0 : _callbacks$onProgress2.call(callbacks, uploadedBytes, file.size);
|
|
228
|
+
});
|
|
171
229
|
case 2:
|
|
172
230
|
_t4 = bodyFromResponse;
|
|
173
231
|
_context4.n = 3;
|
|
@@ -186,7 +244,7 @@ export var richTextEditorUploadHandler = function richTextEditorUploadHandler(_r
|
|
|
186
244
|
filename: file.name,
|
|
187
245
|
tool_name: toolName
|
|
188
246
|
})
|
|
189
|
-
}, fetcher);
|
|
247
|
+
}, i18n, fetcher);
|
|
190
248
|
case 3:
|
|
191
249
|
createBody = _t4(_context4.v);
|
|
192
250
|
prostoreFileId = createBody.prostore_file_id;
|
|
@@ -195,9 +253,9 @@ export var richTextEditorUploadHandler = function richTextEditorUploadHandler(_r
|
|
|
195
253
|
_context4.n = 4;
|
|
196
254
|
break;
|
|
197
255
|
}
|
|
198
|
-
throw new Error('
|
|
256
|
+
throw new Error(i18n.t('textEditor.imageUpload.invalidProstoreFileId'));
|
|
199
257
|
case 4:
|
|
200
|
-
(_callbacks$
|
|
258
|
+
(_callbacks$onProgress3 = callbacks.onProgress) === null || _callbacks$onProgress3 === void 0 || _callbacks$onProgress3.call(callbacks, file.size, file.size);
|
|
201
259
|
return _context4.a(2, {
|
|
202
260
|
urls: urls,
|
|
203
261
|
prostoreFileId: prostoreFileId,
|
|
@@ -207,7 +265,7 @@ export var richTextEditorUploadHandler = function richTextEditorUploadHandler(_r
|
|
|
207
265
|
}
|
|
208
266
|
}, _callee4);
|
|
209
267
|
}));
|
|
210
|
-
return function (
|
|
268
|
+
return function (_x11, _x12, _x13) {
|
|
211
269
|
return _ref0.apply(this, arguments);
|
|
212
270
|
};
|
|
213
271
|
}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"richTextEditorHandlers.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","IMAGE_UPLOAD_FAILED_MESSAGE","defaultFetcher","fetch","_ref","require","requestJSON","fetcherRequestJSON","_ref2","_callee","fetcher","url","init","response","_t","_t2","_context","ok","Error","errorMessageFromResponse","json","_x","_x2","_x3","procoreRequestJSON","bodyFromResponse","data","_ref3","_callee2","fallbackMessage","_body$error","_body$errors","body","_t3","_context2","error","message","errors","find","_x4","_x5","richTextEditorEndpoint","_ref4","companyId","projectId","projectPath","concat","uploadEndpoint","_ref5","uploadFileToStorage","_ref6","_callee3","uploadInstructions","file","signal","_uploadInstructions$f","uploadResponse","_context3","uuid","FormData","entries","fields","forEach","_ref7","_ref8","_slicedToArray","key","append","method","_x6","_x7","_x8","_x9","richTextEditorUploadHandler","_ref9","toolName","_ref0","_callee4","context","callbacks","_callbacks$onProgress","_callbacks$onProgress2","createBody","prostoreFileId","urls","_t4","_context4","onProgress","size","credentials","headers","JSON","stringify","response_content_type","type","response_filename","name","upload_uuid","filename","tool_name","prostore_file_id","width","height","_x0","_x1","_x10"],"sources":["../../../src/TextEditor/utils/richTextEditorHandlers.ts"],"sourcesContent":["import type {\n TextEditorImageUploadHandlers,\n TextEditorImageUploadResult,\n} from '../TextEditor.types'\n\ntype CreateRichTextEditorUploadResponseBody = {\n prostore_file_id?: number | string\n urls?: TextEditorImageUploadResult['urls']\n width?: number\n height?: number\n}\n\ntype CreateUploadResponseBody = {\n uuid?: string\n url?: string\n fields?: Record<string, string>\n}\n\ntype CreateRichTextEditorUploadResponse =\n | CreateRichTextEditorUploadResponseBody\n | { data: CreateRichTextEditorUploadResponseBody }\n\ntype ErrorResponseBody = {\n error?: {\n message?: string\n }\n errors?: Array<{\n message?: string\n }>\n message?: string\n}\n\ntype RichTextEditorHandlerOptions = {\n companyId: number | string\n projectId?: number | string\n toolName: string\n fetcher?: typeof fetch\n}\n\nconst IMAGE_UPLOAD_FAILED_MESSAGE = 'Image upload failed.'\n\nconst defaultFetcher: typeof fetch = (...args) => fetch(...args)\nconst { requestJSON } = require('@procore/core-http') as {\n requestJSON: <T>(url: string, init?: RequestInit) => Promise<T>\n}\n\nconst fetcherRequestJSON = async <T extends object>(\n fetcher: typeof fetch,\n url: string,\n init: RequestInit\n) => {\n const response = await fetcher(url, init)\n\n if (!response.ok) {\n throw new Error(\n await errorMessageFromResponse(response, IMAGE_UPLOAD_FAILED_MESSAGE)\n )\n }\n\n return (await response.json()) as T\n}\n\nconst procoreRequestJSON = <T extends object>(\n url: string,\n init: RequestInit,\n fetcher?: typeof fetch\n) => {\n if (fetcher) {\n return fetcherRequestJSON<T>(fetcher, url, init)\n }\n\n return requestJSON<T>(url, init)\n}\n\nconst bodyFromResponse = <T extends object>(response: T | { data: T }) =>\n 'data' in response ? response.data : response\n\nconst errorMessageFromResponse = async (\n response: Response,\n fallbackMessage: string\n) => {\n try {\n const body = (await response.json()) as ErrorResponseBody\n\n return (\n body.error?.message ||\n body.errors?.find((error) => error.message)?.message ||\n body.message ||\n fallbackMessage\n )\n } catch (_error) {\n return fallbackMessage\n }\n}\n\nconst richTextEditorEndpoint = ({\n companyId,\n projectId,\n}: {\n companyId: number | string\n projectId?: number | string\n}) => {\n const projectPath = projectId ? `/projects/${projectId}` : ''\n\n return `/rest/v2.0/companies/${companyId}${projectPath}/rich_text_editor/images`\n}\n\nconst uploadEndpoint = ({\n companyId,\n projectId,\n}: {\n companyId: number | string\n projectId?: number | string\n}) => {\n return projectId\n ? `/rest/v1.1/projects/${projectId}/uploads`\n : `/rest/v1.1/companies/${companyId}/uploads`\n}\n\nconst uploadFileToStorage = async (\n uploadInstructions: CreateUploadResponseBody,\n file: File,\n signal: AbortSignal,\n fetcher: typeof fetch\n) => {\n if (!uploadInstructions.uuid || !uploadInstructions.url) {\n throw new Error('Image upload did not return storage instructions.')\n }\n\n const body = new FormData()\n\n Object.entries(uploadInstructions.fields ?? {}).forEach(([key, value]) => {\n body.append(key, value)\n })\n body.append('file', file)\n\n const uploadResponse = await fetcher(uploadInstructions.url, {\n method: 'POST',\n signal,\n body,\n })\n\n if (!uploadResponse.ok) {\n throw new Error(IMAGE_UPLOAD_FAILED_MESSAGE)\n }\n}\n\nexport const richTextEditorUploadHandler = ({\n companyId,\n projectId,\n toolName,\n fetcher,\n}: RichTextEditorHandlerOptions): TextEditorImageUploadHandlers['upload'] => {\n return async (file, context, callbacks) => {\n callbacks.onProgress?.(0, file.size)\n\n const uploadInstructions =\n await procoreRequestJSON<CreateUploadResponseBody>(\n uploadEndpoint({ companyId, projectId }),\n {\n method: 'POST',\n credentials: 'same-origin',\n signal: context.signal,\n headers: {\n 'content-type': 'application/json',\n },\n body: JSON.stringify({\n response_content_type: file.type,\n response_filename: file.name,\n size: file.size,\n }),\n },\n fetcher\n )\n\n await uploadFileToStorage(\n uploadInstructions,\n file,\n context.signal,\n fetcher ?? defaultFetcher\n )\n\n const createBody = bodyFromResponse(\n await procoreRequestJSON<CreateRichTextEditorUploadResponse>(\n richTextEditorEndpoint({ companyId, projectId }),\n {\n method: 'POST',\n credentials: 'same-origin',\n signal: context.signal,\n headers: {\n 'content-type': 'application/json',\n },\n body: JSON.stringify({\n upload_uuid: uploadInstructions.uuid,\n filename: file.name,\n tool_name: toolName,\n }),\n },\n fetcher\n )\n )\n const prostoreFileId = createBody.prostore_file_id\n const urls = createBody.urls\n\n if (!prostoreFileId || !urls?.default) {\n throw new Error('Image upload did not return a Prostore file ID and URL.')\n }\n\n callbacks.onProgress?.(file.size, file.size)\n\n return {\n urls,\n prostoreFileId,\n width: createBody.width,\n height: createBody.height,\n }\n }\n}\n"],"mappings":";;;;;;0BACA,uKAAAA,CAAA,EAAAC,CAAA,EAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,8BAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAC,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAAC,SAAA,UAAAK,mBAAA,CAAAH,CAAA,uBAAAV,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAI,CAAA,MAAAC,CAAA,GAAAX,CAAA,QAAAY,CAAA,OAAAC,CAAA,KAAAF,CAAA,KAAAb,CAAA,KAAAgB,CAAA,EAAApB,CAAA,EAAAqB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAAvB,CAAA,MAAAsB,CAAA,WAAAA,EAAArB,CAAA,EAAAC,CAAA,WAAAM,CAAA,GAAAP,CAAA,EAAAQ,CAAA,MAAAG,CAAA,GAAAZ,CAAA,EAAAmB,CAAA,CAAAf,CAAA,GAAAF,CAAA,EAAAmB,CAAA,gBAAAC,EAAApB,CAAA,EAAAE,CAAA,SAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAAH,CAAA,OAAAiB,CAAA,IAAAF,CAAA,KAAAV,CAAA,IAAAL,CAAA,GAAAgB,CAAA,CAAAO,MAAA,EAAAvB,CAAA,UAAAK,CAAA,EAAAE,CAAA,GAAAS,CAAA,CAAAhB,CAAA,GAAAqB,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAQ,CAAA,GAAAjB,CAAA,KAAAN,CAAA,QAAAI,CAAA,GAAAmB,CAAA,KAAArB,CAAA,MAAAQ,CAAA,GAAAJ,CAAA,EAAAC,CAAA,GAAAD,CAAA,YAAAC,CAAA,WAAAD,CAAA,MAAAA,CAAA,MAAAR,CAAA,IAAAQ,CAAA,OAAAc,CAAA,MAAAhB,CAAA,GAAAJ,CAAA,QAAAoB,CAAA,GAAAd,CAAA,QAAAC,CAAA,MAAAU,CAAA,CAAAC,CAAA,GAAAhB,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAI,CAAA,OAAAc,CAAA,GAAAG,CAAA,KAAAnB,CAAA,GAAAJ,CAAA,QAAAM,CAAA,MAAAJ,CAAA,IAAAA,CAAA,GAAAqB,CAAA,MAAAjB,CAAA,MAAAN,CAAA,EAAAM,CAAA,MAAAJ,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAqB,CAAA,EAAAhB,CAAA,cAAAH,CAAA,IAAAJ,CAAA,aAAAmB,CAAA,QAAAH,CAAA,OAAAd,CAAA,qBAAAE,CAAA,EAAAW,CAAA,EAAAQ,CAAA,QAAAT,CAAA,YAAAU,SAAA,uCAAAR,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAQ,CAAA,GAAAhB,CAAA,GAAAQ,CAAA,EAAAL,CAAA,GAAAa,CAAA,GAAAxB,CAAA,GAAAQ,CAAA,OAAAT,CAAA,GAAAY,CAAA,MAAAM,CAAA,KAAAV,CAAA,KAAAC,CAAA,GAAAA,CAAA,QAAAA,CAAA,SAAAU,CAAA,CAAAf,CAAA,QAAAkB,CAAA,CAAAb,CAAA,EAAAG,CAAA,KAAAO,CAAA,CAAAf,CAAA,GAAAQ,CAAA,GAAAO,CAAA,CAAAC,CAAA,GAAAR,CAAA,aAAAI,CAAA,MAAAR,CAAA,QAAAC,CAAA,KAAAH,CAAA,YAAAL,CAAA,GAAAO,CAAA,CAAAF,CAAA,WAAAL,CAAA,GAAAA,CAAA,CAAA0B,IAAA,CAAAnB,CAAA,EAAAI,CAAA,UAAAc,SAAA,2CAAAzB,CAAA,CAAA2B,IAAA,SAAA3B,CAAA,EAAAW,CAAA,GAAAX,CAAA,CAAA4B,KAAA,EAAApB,CAAA,SAAAA,CAAA,oBAAAA,CAAA,KAAAR,CAAA,GAAAO,CAAA,eAAAP,CAAA,CAAA0B,IAAA,CAAAnB,CAAA,GAAAC,CAAA,SAAAG,CAAA,GAAAc,SAAA,uCAAApB,CAAA,gBAAAG,CAAA,OAAAD,CAAA,GAAAR,CAAA,cAAAC,CAAA,IAAAiB,CAAA,GAAAC,CAAA,CAAAf,CAAA,QAAAQ,CAAA,GAAAV,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,EAAAe,CAAA,OAAAE,CAAA,kBAAApB,CAAA,IAAAO,CAAA,GAAAR,CAAA,EAAAS,CAAA,MAAAG,CAAA,GAAAX,CAAA,cAAAe,CAAA,mBAAAa,KAAA,EAAA5B,CAAA,EAAA2B,IAAA,EAAAV,CAAA,SAAAhB,CAAA,EAAAI,CAAA,EAAAE,CAAA,QAAAI,CAAA,QAAAS,CAAA,gBAAAV,UAAA,cAAAmB,kBAAA,cAAAC,2BAAA,KAAA9B,CAAA,GAAAY,MAAA,CAAAmB,cAAA,MAAAvB,CAAA,MAAAL,CAAA,IAAAH,CAAA,CAAAA,CAAA,IAAAG,CAAA,SAAAW,mBAAA,CAAAd,CAAA,OAAAG,CAAA,iCAAAH,CAAA,GAAAW,CAAA,GAAAmB,0BAAA,CAAArB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAL,CAAA,YAAAO,EAAAhB,CAAA,WAAAa,MAAA,CAAAoB,cAAA,GAAApB,MAAA,CAAAoB,cAAA,CAAAjC,CAAA,EAAA+B,0BAAA,KAAA/B,CAAA,CAAAkC,SAAA,GAAAH,0BAAA,EAAAhB,mBAAA,CAAAf,CAAA,EAAAM,CAAA,yBAAAN,CAAA,CAAAU,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAF,CAAA,GAAAZ,CAAA,WAAA8B,iBAAA,CAAApB,SAAA,GAAAqB,0BAAA,EAAAhB,mBAAA,CAAAH,CAAA,iBAAAmB,0BAAA,GAAAhB,mBAAA,CAAAgB,0BAAA,iBAAAD,iBAAA,GAAAA,iBAAA,CAAAK,WAAA,wBAAApB,mBAAA,CAAAgB,0BAAA,EAAAzB,CAAA,wBAAAS,mBAAA,CAAAH,CAAA,GAAAG,mBAAA,CAAAH,CAAA,EAAAN,CAAA,gBAAAS,mBAAA,CAAAH,CAAA,EAAAR,CAAA,iCAAAW,mBAAA,CAAAH,CAAA,8DAAAwB,YAAA,YAAAA,aAAA,aAAAC,CAAA,EAAA7B,CAAA,EAAA8B,CAAA,EAAAtB,CAAA;AAAA,SAAAD,oBAAAf,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA,QAAAO,CAAA,GAAAK,MAAA,CAAA0B,cAAA,QAAA/B,CAAA,uBAAAR,CAAA,IAAAQ,CAAA,QAAAO,mBAAA,YAAAyB,mBAAAxC,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA,aAAAK,EAAAJ,CAAA,EAAAE,CAAA,IAAAW,mBAAA,CAAAf,CAAA,EAAAE,CAAA,YAAAF,CAAA,gBAAAyC,OAAA,CAAAvC,CAAA,EAAAE,CAAA,EAAAJ,CAAA,SAAAE,CAAA,GAAAM,CAAA,GAAAA,CAAA,CAAAR,CAAA,EAAAE,CAAA,IAAA2B,KAAA,EAAAzB,CAAA,EAAAsC,UAAA,GAAAzC,CAAA,EAAA0C,YAAA,GAAA1C,CAAA,EAAA2C,QAAA,GAAA3C,CAAA,MAAAD,CAAA,CAAAE,CAAA,IAAAE,CAAA,IAAAE,CAAA,aAAAA,CAAA,cAAAA,CAAA,mBAAAS,mBAAA,CAAAf,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAH,CAAA;AAAA,SAAA4C,mBAAAzC,CAAA,EAAAH,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAI,CAAA,EAAAe,CAAA,EAAAZ,CAAA,cAAAD,CAAA,GAAAJ,CAAA,CAAAiB,CAAA,EAAAZ,CAAA,GAAAG,CAAA,GAAAJ,CAAA,CAAAqB,KAAA,WAAAzB,CAAA,gBAAAJ,CAAA,CAAAI,CAAA,KAAAI,CAAA,CAAAoB,IAAA,GAAA3B,CAAA,CAAAW,CAAA,IAAAkC,OAAA,CAAAC,OAAA,CAAAnC,CAAA,EAAAoC,IAAA,CAAA9C,CAAA,EAAAI,CAAA;AAAA,SAAA2C,kBAAA7C,CAAA,6BAAAH,CAAA,SAAAD,CAAA,GAAAkD,SAAA,aAAAJ,OAAA,WAAA5C,CAAA,EAAAI,CAAA,QAAAe,CAAA,GAAAjB,CAAA,CAAA+C,KAAA,CAAAlD,CAAA,EAAAD,CAAA,YAAAoD,MAAAhD,CAAA,IAAAyC,kBAAA,CAAAxB,CAAA,EAAAnB,CAAA,EAAAI,CAAA,EAAA8C,KAAA,EAAAC,MAAA,UAAAjD,CAAA,cAAAiD,OAAAjD,CAAA,IAAAyC,kBAAA,CAAAxB,CAAA,EAAAnB,CAAA,EAAAI,CAAA,EAAA8C,KAAA,EAAAC,MAAA,WAAAjD,CAAA,KAAAgD,KAAA;AAsCA,IAAME,2BAA2B,GAAG,sBAAsB;AAE1D,IAAMC,cAA4B,GAAG,SAA/BA,cAA4BA,CAAA;EAAA,OAAgBC,KAAK,CAAAL,KAAA,SAAAD,SAAQ,CAAC;AAAA;AAChE,IAAAO,IAAA,GAAwBC,OAAO,CAAC,oBAAoB,CAAC;EAA7CC,WAAW,GAAAF,IAAA,CAAXE,WAAW;AAInB,IAAMC,kBAAkB;EAAA,IAAAC,KAAA,GAAAZ,iBAAA,cAAAb,YAAA,GAAAE,CAAA,CAAG,SAAAwB,QACzBC,OAAqB,EACrBC,GAAW,EACXC,IAAiB;IAAA,IAAAC,QAAA,EAAAC,EAAA,EAAAC,GAAA;IAAA,OAAAhC,YAAA,GAAAC,CAAA,WAAAgC,QAAA;MAAA,kBAAAA,QAAA,CAAAjE,CAAA;QAAA;UAAAiE,QAAA,CAAAjE,CAAA;UAAA,OAEM2D,OAAO,CAACC,GAAG,EAAEC,IAAI,CAAC;QAAA;UAAnCC,QAAQ,GAAAG,QAAA,CAAAjD,CAAA;UAAA,IAET8C,QAAQ,CAACI,EAAE;YAAAD,QAAA,CAAAjE,CAAA;YAAA;UAAA;UAAA+D,EAAA,GACJI,KAAK;UAAAF,QAAA,CAAAjE,CAAA;UAAA,OACPoE,wBAAwB,CAACN,QAAQ,EAAEZ,2BAA2B,CAAC;QAAA;UAAAc,GAAA,GAAAC,QAAA,CAAAjD,CAAA;UAAA,UAAA+C,EAAA,CAAAC,GAAA;QAAA;UAAAC,QAAA,CAAAjE,CAAA;UAAA,OAI3D8D,QAAQ,CAACO,IAAI,CAAC,CAAC;QAAA;UAAA,OAAAJ,QAAA,CAAAhD,CAAA,IAAAgD,QAAA,CAAAjD,CAAA;MAAA;IAAA,GAAA0C,OAAA;EAAA,CAC9B;EAAA,gBAdKF,kBAAkBA,CAAAc,EAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAf,KAAA,CAAAV,KAAA,OAAAD,SAAA;EAAA;AAAA,GAcvB;AAED,IAAM2B,kBAAkB,GAAG,SAArBA,kBAAkBA,CACtBb,GAAW,EACXC,IAAiB,EACjBF,OAAsB,EACnB;EACH,IAAIA,OAAO,EAAE;IACX,OAAOH,kBAAkB,CAAIG,OAAO,EAAEC,GAAG,EAAEC,IAAI,CAAC;EAClD;EAEA,OAAON,WAAW,CAAIK,GAAG,EAAEC,IAAI,CAAC;AAClC,CAAC;AAED,IAAMa,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAsBZ,QAAyB;EAAA,OACnE,MAAM,IAAIA,QAAQ,GAAGA,QAAQ,CAACa,IAAI,GAAGb,QAAQ;AAAA;AAE/C,IAAMM,wBAAwB;EAAA,IAAAQ,KAAA,GAAA/B,iBAAA,cAAAb,YAAA,GAAAE,CAAA,CAAG,SAAA2C,SAC/Bf,QAAkB,EAClBgB,eAAuB;IAAA,IAAAC,WAAA,EAAAC,YAAA,EAAAC,IAAA,EAAAC,GAAA;IAAA,OAAAlD,YAAA,GAAAC,CAAA,WAAAkD,SAAA;MAAA,kBAAAA,SAAA,CAAAtE,CAAA,GAAAsE,SAAA,CAAAnF,CAAA;QAAA;UAAAmF,SAAA,CAAAtE,CAAA;UAAAsE,SAAA,CAAAnF,CAAA;UAAA,OAGD8D,QAAQ,CAACO,IAAI,CAAC,CAAC;QAAA;UAA7BY,IAAI,GAAAE,SAAA,CAAAnE,CAAA;UAAA,OAAAmE,SAAA,CAAAlE,CAAA,IAGR,EAAA8D,WAAA,GAAAE,IAAI,CAACG,KAAK,cAAAL,WAAA,uBAAVA,WAAA,CAAYM,OAAO,OAAAL,YAAA,GACnBC,IAAI,CAACK,MAAM,cAAAN,YAAA,gBAAAA,YAAA,GAAXA,YAAA,CAAaO,IAAI,CAAC,UAACH,KAAK;YAAA,OAAKA,KAAK,CAACC,OAAO;UAAA,EAAC,cAAAL,YAAA,uBAA3CA,YAAA,CAA6CK,OAAO,KACpDJ,IAAI,CAACI,OAAO,IACZP,eAAe;QAAA;UAAAK,SAAA,CAAAtE,CAAA;UAAAqE,GAAA,GAAAC,SAAA,CAAAnE,CAAA;UAAA,OAAAmE,SAAA,CAAAlE,CAAA,IAGV6D,eAAe;MAAA;IAAA,GAAAD,QAAA;EAAA,CAEzB;EAAA,gBAhBKT,wBAAwBA,CAAAoB,GAAA,EAAAC,GAAA;IAAA,OAAAb,KAAA,CAAA7B,KAAA,OAAAD,SAAA;EAAA;AAAA,GAgB7B;AAED,IAAM4C,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAC,KAAA,EAMtB;EAAA,IALJC,SAAS,GAAAD,KAAA,CAATC,SAAS;IACTC,SAAS,GAAAF,KAAA,CAATE,SAAS;EAKT,IAAMC,WAAW,GAAGD,SAAS,gBAAAE,MAAA,CAAgBF,SAAS,IAAK,EAAE;EAE7D,+BAAAE,MAAA,CAA+BH,SAAS,EAAAG,MAAA,CAAGD,WAAW;AACxD,CAAC;AAED,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA,EAMd;EAAA,IALJL,SAAS,GAAAK,KAAA,CAATL,SAAS;IACTC,SAAS,GAAAI,KAAA,CAATJ,SAAS;EAKT,OAAOA,SAAS,0BAAAE,MAAA,CACWF,SAAS,wCAAAE,MAAA,CACRH,SAAS,aAAU;AACjD,CAAC;AAED,IAAMM,mBAAmB;EAAA,IAAAC,KAAA,GAAAtD,iBAAA,cAAAb,YAAA,GAAAE,CAAA,CAAG,SAAAkE,SAC1BC,kBAA4C,EAC5CC,IAAU,EACVC,MAAmB,EACnB5C,OAAqB;IAAA,IAAA6C,qBAAA;IAAA,IAAAvB,IAAA,EAAAwB,cAAA;IAAA,OAAAzE,YAAA,GAAAC,CAAA,WAAAyE,SAAA;MAAA,kBAAAA,SAAA,CAAA1G,CAAA;QAAA;UAAA,MAEjB,CAACqG,kBAAkB,CAACM,IAAI,IAAI,CAACN,kBAAkB,CAACzC,GAAG;YAAA8C,SAAA,CAAA1G,CAAA;YAAA;UAAA;UAAA,MAC/C,IAAImE,KAAK,CAAC,mDAAmD,CAAC;QAAA;UAGhEc,IAAI,GAAG,IAAI2B,QAAQ,CAAC,CAAC;UAE3BnG,MAAM,CAACoG,OAAO,EAAAL,qBAAA,GAACH,kBAAkB,CAACS,MAAM,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAAC,CAACO,OAAO,CAAC,UAAAC,KAAA,EAAkB;YAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,KAAA;cAAhBG,GAAG,GAAAF,KAAA;cAAExF,KAAK,GAAAwF,KAAA;YAClEhC,IAAI,CAACmC,MAAM,CAACD,GAAG,EAAE1F,KAAK,CAAC;UACzB,CAAC,CAAC;UACFwD,IAAI,CAACmC,MAAM,CAAC,MAAM,EAAEd,IAAI,CAAC;UAAAI,SAAA,CAAA1G,CAAA;UAAA,OAEI2D,OAAO,CAAC0C,kBAAkB,CAACzC,GAAG,EAAE;YAC3DyD,MAAM,EAAE,MAAM;YACdd,MAAM,EAANA,MAAM;YACNtB,IAAI,EAAJA;UACF,CAAC,CAAC;QAAA;UAJIwB,cAAc,GAAAC,SAAA,CAAA1F,CAAA;UAAA,IAMfyF,cAAc,CAACvC,EAAE;YAAAwC,SAAA,CAAA1G,CAAA;YAAA;UAAA;UAAA,MACd,IAAImE,KAAK,CAACjB,2BAA2B,CAAC;QAAA;UAAA,OAAAwD,SAAA,CAAAzF,CAAA;MAAA;IAAA,GAAAmF,QAAA;EAAA,CAE/C;EAAA,gBA1BKF,mBAAmBA,CAAAoB,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAtB,KAAA,CAAApD,KAAA,OAAAD,SAAA;EAAA;AAAA,GA0BxB;AAED,OAAO,IAAM4E,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,KAAA,EAKqC;EAAA,IAJ3E/B,SAAS,GAAA+B,KAAA,CAAT/B,SAAS;IACTC,SAAS,GAAA8B,KAAA,CAAT9B,SAAS;IACT+B,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRjE,OAAO,GAAAgE,KAAA,CAAPhE,OAAO;EAEP;IAAA,IAAAkE,KAAA,GAAAhF,iBAAA,cAAAb,YAAA,GAAAE,CAAA,CAAO,SAAA4F,SAAOxB,IAAI,EAAEyB,OAAO,EAAEC,SAAS;MAAA,IAAAC,qBAAA,EAAAC,sBAAA;MAAA,IAAA7B,kBAAA,EAAA8B,UAAA,EAAAC,cAAA,EAAAC,IAAA,EAAAC,GAAA;MAAA,OAAAtG,YAAA,GAAAC,CAAA,WAAAsG,SAAA;QAAA,kBAAAA,SAAA,CAAAvI,CAAA;UAAA;YACpC,CAAAiI,qBAAA,GAAAD,SAAS,CAACQ,UAAU,cAAAP,qBAAA,eAApBA,qBAAA,CAAA1G,IAAA,CAAAyG,SAAS,EAAc,CAAC,EAAE1B,IAAI,CAACmC,IAAI,CAAC;YAAAF,SAAA,CAAAvI,CAAA;YAAA,OAG5ByE,kBAAkB,CACtBuB,cAAc,CAAC;cAAEJ,SAAS,EAATA,SAAS;cAAEC,SAAS,EAATA;YAAU,CAAC,CAAC,EACxC;cACEwB,MAAM,EAAE,MAAM;cACdqB,WAAW,EAAE,aAAa;cAC1BnC,MAAM,EAAEwB,OAAO,CAACxB,MAAM;cACtBoC,OAAO,EAAE;gBACP,cAAc,EAAE;cAClB,CAAC;cACD1D,IAAI,EAAE2D,IAAI,CAACC,SAAS,CAAC;gBACnBC,qBAAqB,EAAExC,IAAI,CAACyC,IAAI;gBAChCC,iBAAiB,EAAE1C,IAAI,CAAC2C,IAAI;gBAC5BR,IAAI,EAAEnC,IAAI,CAACmC;cACb,CAAC;YACH,CAAC,EACD9E,OACF,CAAC;UAAA;YAjBG0C,kBAAkB,GAAAkC,SAAA,CAAAvH,CAAA;YAAAuH,SAAA,CAAAvI,CAAA;YAAA,OAmBlBkG,mBAAmB,CACvBG,kBAAkB,EAClBC,IAAI,EACJyB,OAAO,CAACxB,MAAM,EACd5C,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIR,cACb,CAAC;UAAA;YAAAmF,GAAA,GAEkB5D,gBAAgB;YAAA6D,SAAA,CAAAvI,CAAA;YAAA,OAC3ByE,kBAAkB,CACtBiB,sBAAsB,CAAC;cAAEE,SAAS,EAATA,SAAS;cAAEC,SAAS,EAATA;YAAU,CAAC,CAAC,EAChD;cACEwB,MAAM,EAAE,MAAM;cACdqB,WAAW,EAAE,aAAa;cAC1BnC,MAAM,EAAEwB,OAAO,CAACxB,MAAM;cACtBoC,OAAO,EAAE;gBACP,cAAc,EAAE;cAClB,CAAC;cACD1D,IAAI,EAAE2D,IAAI,CAACC,SAAS,CAAC;gBACnBK,WAAW,EAAE7C,kBAAkB,CAACM,IAAI;gBACpCwC,QAAQ,EAAE7C,IAAI,CAAC2C,IAAI;gBACnBG,SAAS,EAAExB;cACb,CAAC;YACH,CAAC,EACDjE,OACF,CAAC;UAAA;YAjBGwE,UAAU,GAAAG,GAAA,CAAAC,SAAA,CAAAvH,CAAA;YAmBVoH,cAAc,GAAGD,UAAU,CAACkB,gBAAgB;YAC5ChB,IAAI,GAAGF,UAAU,CAACE,IAAI;YAAA,MAExB,CAACD,cAAc,IAAI,EAACC,IAAI,aAAJA,IAAI,eAAJA,IAAI,WAAS;cAAAE,SAAA,CAAAvI,CAAA;cAAA;YAAA;YAAA,MAC7B,IAAImE,KAAK,CAAC,yDAAyD,CAAC;UAAA;YAG5E,CAAA+D,sBAAA,GAAAF,SAAS,CAACQ,UAAU,cAAAN,sBAAA,eAApBA,sBAAA,CAAA3G,IAAA,CAAAyG,SAAS,EAAc1B,IAAI,CAACmC,IAAI,EAAEnC,IAAI,CAACmC,IAAI,CAAC;YAAA,OAAAF,SAAA,CAAAtH,CAAA,IAErC;cACLoH,IAAI,EAAJA,IAAI;cACJD,cAAc,EAAdA,cAAc;cACdkB,KAAK,EAAEnB,UAAU,CAACmB,KAAK;cACvBC,MAAM,EAAEpB,UAAU,CAACoB;YACrB,CAAC;QAAA;MAAA,GAAAzB,QAAA;IAAA,CACF;IAAA,iBAAA0B,GAAA,EAAAC,GAAA,EAAAC,IAAA;MAAA,OAAA7B,KAAA,CAAA9E,KAAA,OAAAD,SAAA;IAAA;EAAA;AACH,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"richTextEditorHandlers.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_ref","require","requestJSON","fetcherRequestJSON","_ref2","_callee","fetcher","url","init","i18n","response","_t","_t2","_context","ok","Error","errorMessageFromResponse","json","_x","_x2","_x3","_x4","procoreRequestJSON","bodyFromResponse","data","_ref3","_callee2","fallbackMessage","_body$error","_body$errors","body","_t3","_context2","error","message","errors","find","_x5","_x6","richTextEditorEndpoint","_ref4","companyId","projectId","projectPath","concat","uploadEndpoint","_ref5","uploadFileToStorage","_ref6","_callee3","uploadInstructions","file","signal","onProgress","_uploadInstructions$f","uploadResponse","_context3","uuid","FormData","entries","fields","forEach","_ref7","_ref8","_slicedToArray","key","append","method","size","uploadFileToStorageWithProgress","_x7","_x8","_x9","_x0","_x1","_x10","reject","abortError","DOMException","aborted","xhr","XMLHttpRequest","abort","addEventListener","once","settle","fn","removeEventListener","upload","onprogress","event","lengthComputable","total","Math","min","loaded","onload","status","onerror","onabort","open","send","richTextEditorUploadHandler","_ref9","toolName","_ref0","_callee4","context","callbacks","_callbacks$onProgress","_callbacks$onProgress3","createBody","prostoreFileId","urls","_t4","_context4","credentials","headers","JSON","stringify","response_content_type","type","response_filename","name","uploadedBytes","_callbacks$onProgress2","upload_uuid","filename","tool_name","prostore_file_id","width","height","_x11","_x12","_x13"],"sources":["../../../src/TextEditor/utils/richTextEditorHandlers.ts"],"sourcesContent":["import type { I18njs } from '@procore/core-i18n-js'\nimport type {\n TextEditorImageUploadHandlers,\n TextEditorImageUploadResult,\n} from '../TextEditor.types'\n\ntype TextEditorI18n = Pick<I18njs, 't'>\n\ntype CreateRichTextEditorUploadResponseBody = {\n prostore_file_id?: number | string\n urls?: TextEditorImageUploadResult['urls']\n width?: number\n height?: number\n}\n\ntype CreateUploadResponseBody = {\n uuid?: string\n url?: string\n fields?: Record<string, string>\n}\n\ntype CreateRichTextEditorUploadResponse =\n | CreateRichTextEditorUploadResponseBody\n | { data: CreateRichTextEditorUploadResponseBody }\n\ntype ErrorResponseBody = {\n error?: {\n message?: string\n }\n errors?: Array<{\n message?: string\n }>\n message?: string\n}\n\ntype RichTextEditorHandlerOptions = {\n companyId: number | string\n projectId?: number | string\n toolName: string\n i18n: TextEditorI18n\n fetcher?: typeof fetch\n}\n\nconst { requestJSON } = require('@procore/core-http') as {\n requestJSON: <T>(url: string, init?: RequestInit) => Promise<T>\n}\n\nconst fetcherRequestJSON = async <T extends object>(\n fetcher: typeof fetch,\n url: string,\n init: RequestInit,\n i18n: TextEditorI18n\n) => {\n const response = await fetcher(url, init)\n\n if (!response.ok) {\n throw new Error(\n await errorMessageFromResponse(\n response,\n i18n.t('textEditor.imageUpload.failed')\n )\n )\n }\n\n return (await response.json()) as T\n}\n\nconst procoreRequestJSON = <T extends object>(\n url: string,\n init: RequestInit,\n i18n: TextEditorI18n,\n fetcher?: typeof fetch\n) => {\n if (fetcher) {\n return fetcherRequestJSON<T>(fetcher, url, init, i18n)\n }\n\n return requestJSON<T>(url, init)\n}\n\nconst bodyFromResponse = <T extends object>(response: T | { data: T }) =>\n 'data' in response ? response.data : response\n\nconst errorMessageFromResponse = async (\n response: Response,\n fallbackMessage: string\n) => {\n try {\n const body = (await response.json()) as ErrorResponseBody\n\n return (\n body.error?.message ||\n body.errors?.find((error) => error.message)?.message ||\n body.message ||\n fallbackMessage\n )\n } catch (_error) {\n return fallbackMessage\n }\n}\n\nconst richTextEditorEndpoint = ({\n companyId,\n projectId,\n}: {\n companyId: number | string\n projectId?: number | string\n}) => {\n const projectPath = projectId ? `/projects/${projectId}` : ''\n\n return `/rest/v2.0/companies/${companyId}${projectPath}/rich_text_editor/images`\n}\n\nconst uploadEndpoint = ({\n companyId,\n projectId,\n}: {\n companyId: number | string\n projectId?: number | string\n}) => {\n return projectId\n ? `/rest/v1.1/projects/${projectId}/uploads`\n : `/rest/v1.1/companies/${companyId}/uploads`\n}\n\ntype StorageUploadProgress = (uploadedBytes: number) => void\n\nconst uploadFileToStorage = async (\n uploadInstructions: CreateUploadResponseBody,\n file: File,\n signal: AbortSignal,\n i18n: TextEditorI18n,\n fetcher: typeof fetch | undefined,\n onProgress?: StorageUploadProgress\n) => {\n if (!uploadInstructions.uuid || !uploadInstructions.url) {\n throw new Error(i18n.t('textEditor.imageUpload.missingStorageInstructions'))\n }\n\n const body = new FormData()\n\n Object.entries(uploadInstructions.fields ?? {}).forEach(([key, value]) => {\n body.append(key, value)\n })\n body.append('file', file)\n\n if (fetcher) {\n const uploadResponse = await fetcher(uploadInstructions.url, {\n method: 'POST',\n signal,\n body,\n })\n\n if (!uploadResponse.ok) {\n throw new Error(i18n.t('textEditor.imageUpload.failed'))\n }\n\n onProgress?.(file.size)\n\n return\n }\n\n await uploadFileToStorageWithProgress(\n uploadInstructions.url,\n body,\n file,\n signal,\n i18n,\n onProgress\n )\n}\n\nconst uploadFileToStorageWithProgress = (\n url: string,\n body: FormData,\n file: File,\n signal: AbortSignal,\n i18n: TextEditorI18n,\n onProgress?: StorageUploadProgress\n) =>\n new Promise<void>((resolve, reject) => {\n const abortError = () =>\n new DOMException('The operation was aborted.', 'AbortError')\n\n if (signal.aborted) {\n reject(abortError())\n\n return\n }\n\n const xhr = new XMLHttpRequest()\n const abort = () => xhr.abort()\n\n signal.addEventListener('abort', abort, { once: true })\n\n const settle = (fn: () => void) => {\n signal.removeEventListener('abort', abort)\n fn()\n }\n\n xhr.upload.onprogress = (event) => {\n if (event.lengthComputable && event.total > 0) {\n onProgress?.(\n Math.min(file.size, (event.loaded / event.total) * file.size)\n )\n }\n }\n\n xhr.onload = () =>\n settle(() => {\n if (xhr.status === 204 && xhr.status < 300) {\n resolve()\n } else {\n reject(new Error(i18n.t('textEditor.imageUpload.failed')))\n }\n })\n xhr.onerror = () =>\n settle(() => reject(new Error(i18n.t('textEditor.imageUpload.failed'))))\n xhr.onabort = () => settle(() => reject(abortError()))\n\n xhr.open('POST', url)\n xhr.send(body)\n })\n\nexport const richTextEditorUploadHandler = ({\n companyId,\n projectId,\n toolName,\n i18n,\n fetcher,\n}: RichTextEditorHandlerOptions): TextEditorImageUploadHandlers['upload'] => {\n return async (file, context, callbacks) => {\n callbacks.onProgress?.(0, file.size)\n\n const uploadInstructions =\n await procoreRequestJSON<CreateUploadResponseBody>(\n uploadEndpoint({ companyId, projectId }),\n {\n method: 'POST',\n credentials: 'same-origin',\n signal: context.signal,\n headers: {\n 'content-type': 'application/json',\n },\n body: JSON.stringify({\n response_content_type: file.type,\n response_filename: file.name,\n size: file.size,\n }),\n },\n i18n,\n fetcher\n )\n\n await uploadFileToStorage(\n uploadInstructions,\n file,\n context.signal,\n i18n,\n fetcher,\n (uploadedBytes) => callbacks.onProgress?.(uploadedBytes, file.size)\n )\n\n const createBody = bodyFromResponse(\n await procoreRequestJSON<CreateRichTextEditorUploadResponse>(\n richTextEditorEndpoint({ companyId, projectId }),\n {\n method: 'POST',\n credentials: 'same-origin',\n signal: context.signal,\n headers: {\n 'content-type': 'application/json',\n },\n body: JSON.stringify({\n upload_uuid: uploadInstructions.uuid,\n filename: file.name,\n tool_name: toolName,\n }),\n },\n i18n,\n fetcher\n )\n )\n const prostoreFileId = createBody.prostore_file_id\n const urls = createBody.urls\n\n if (!prostoreFileId || !urls?.default) {\n throw new Error(i18n.t('textEditor.imageUpload.invalidProstoreFileId'))\n }\n\n callbacks.onProgress?.(file.size, file.size)\n\n return {\n urls,\n prostoreFileId,\n width: createBody.width,\n height: createBody.height,\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
2
|
export var StyledEditor = /*#__PURE__*/styled.div.withConfig({
|
|
3
3
|
displayName: "StyledEditor",
|
|
4
|
-
componentId: "text-editor-
|
|
5
|
-
})([".ck-editor__top{height:0 !important;}.ck-content{border:none !important;padding:0 !important;overflow-x:auto;--ck-content-font-family:Inter,'Noto Sans JP','Noto Sans KR','Noto Sans SC','Noto Sans TC',sans-serif;--ck-content-font-size:14px;--ck-content-word-break:break-word;--ck-content-overflow-wrap:break-word;--ck-content-line-height:1.4;p{margin:0;}img{margin-left:auto;margin-right:auto;max-width:100%;height:auto;}figure.table{display:table;margin-top:0.9em;margin-bottom:0.9em;}figure.table table,table{width:100%;border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;th{text-align:left;}& > thead,& > tbody{& > tr > td,& > tr > th{border:1px solid #bfbfbf;min-width:2em;padding:0.4em;}& > tr > th{background:rgba(0,0,0,0.05);font-weight:700;}}}}"]);
|
|
4
|
+
componentId: "text-editor-1_2_0__sc-1oujb2g-0"
|
|
5
|
+
})([".ck-editor__top{height:0 !important;}.ck-content{border:none !important;padding:0 !important;overflow-x:auto;--ck-content-font-family:Inter,'Noto Sans JP','Noto Sans KR','Noto Sans SC','Noto Sans TC',sans-serif;--ck-content-font-size:14px;--ck-content-word-break:break-word;--ck-content-overflow-wrap:break-word;--ck-content-line-height:1.4;p{margin:0;}img{margin-left:auto;margin-right:auto;max-width:100%;height:auto;}.image-style-align-left{float:left;margin-right:1.5em;}.image-style-align-right{float:right;margin-left:1.5em;}.image-style-side{float:right;margin-left:1.5em;max-width:50%;}.image-style-block-align-left{margin-left:0;margin-right:auto;}.image-style-block-align-right{margin-left:auto;margin-right:0;}figure.image{display:table;clear:both;margin:0 auto;&.image-style-align-left,&.image-style-align-right,&.image-style-side{clear:none;}&.image-style-align-left{margin:0 1.5em 0 0;}&.image-style-align-right,&.image-style-side{margin:0 0 0 1.5em;}&.image-style-block-align-left{margin-left:0;margin-right:auto;}&.image-style-block-align-right{margin-left:auto;margin-right:0;}}img.image-style-align-left,img.image-style-align-right,img.image-style-side{margin-left:0;margin-right:0;}img.image-style-align-left{margin-right:1.5em;}img.image-style-align-right,img.image-style-side{margin-left:1.5em;}figure.table{display:table;margin-top:0.9em;margin-bottom:0.9em;}figure.table table,table{width:100%;border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;th{text-align:left;}& > thead,& > tbody{& > tr > td,& > tr > th{border:1px solid #bfbfbf;min-width:2em;padding:0.4em;}& > tr > th{background:rgba(0,0,0,0.05);font-weight:700;}}}}"]);
|
|
6
6
|
//# sourceMappingURL=TextEditorOutput.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditorOutput.styles.js","names":["styled","StyledEditor","div","withConfig","displayName","componentId"],"sources":["../../src/TextEditorOutput/TextEditorOutput.styles.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const StyledEditor = styled.div`\n .ck-editor__top {\n height: 0 !important;\n }\n\n .ck-content {\n border: none !important;\n padding: 0 !important;\n overflow-x: auto;\n --ck-content-font-family: Inter, 'Noto Sans JP', 'Noto Sans KR',\n 'Noto Sans SC', 'Noto Sans TC', sans-serif;\n --ck-content-font-size: 14px;\n --ck-content-word-break: break-word;\n --ck-content-overflow-wrap: break-word;\n --ck-content-line-height: 1.4;\n\n p {\n margin: 0;\n }\n\n img {\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n height: auto;\n }\n\n figure.table {\n display: table;\n margin-top: 0.9em;\n margin-bottom: 0.9em;\n }\n\n figure.table table,\n table {\n width: 100%;\n border: 1px double #b3b3b3;\n border-collapse: collapse;\n border-spacing: 0;\n\n th {\n text-align: left;\n }\n\n & > thead,\n & > tbody {\n & > tr > td,\n & > tr > th {\n border: 1px solid #bfbfbf;\n min-width: 2em;\n padding: 0.4em;\n }\n\n & > tr > th {\n background: rgba(0, 0, 0, 0.05);\n font-weight: 700;\n }\n }\n }\n }\n`\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAEtC,OAAO,IAAMC,YAAY,gBAAGD,MAAM,CAACE,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"TextEditorOutput.styles.js","names":["styled","StyledEditor","div","withConfig","displayName","componentId"],"sources":["../../src/TextEditorOutput/TextEditorOutput.styles.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const StyledEditor = styled.div`\n .ck-editor__top {\n height: 0 !important;\n }\n\n .ck-content {\n border: none !important;\n padding: 0 !important;\n overflow-x: auto;\n --ck-content-font-family: Inter, 'Noto Sans JP', 'Noto Sans KR',\n 'Noto Sans SC', 'Noto Sans TC', sans-serif;\n --ck-content-font-size: 14px;\n --ck-content-word-break: break-word;\n --ck-content-overflow-wrap: break-word;\n --ck-content-line-height: 1.4;\n\n p {\n margin: 0;\n }\n\n img {\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n height: auto;\n }\n\n .image-style-align-left {\n float: left;\n margin-right: 1.5em;\n }\n\n .image-style-align-right {\n float: right;\n margin-left: 1.5em;\n }\n\n .image-style-side {\n float: right;\n margin-left: 1.5em;\n max-width: 50%;\n }\n\n .image-style-block-align-left {\n margin-left: 0;\n margin-right: auto;\n }\n\n .image-style-block-align-right {\n margin-left: auto;\n margin-right: 0;\n }\n\n figure.image {\n display: table;\n clear: both;\n margin: 0 auto;\n\n &.image-style-align-left,\n &.image-style-align-right,\n &.image-style-side {\n clear: none;\n }\n\n &.image-style-align-left {\n margin: 0 1.5em 0 0;\n }\n\n &.image-style-align-right,\n &.image-style-side {\n margin: 0 0 0 1.5em;\n }\n\n &.image-style-block-align-left {\n margin-left: 0;\n margin-right: auto;\n }\n\n &.image-style-block-align-right {\n margin-left: auto;\n margin-right: 0;\n }\n }\n\n img.image-style-align-left,\n img.image-style-align-right,\n img.image-style-side {\n margin-left: 0;\n margin-right: 0;\n }\n\n img.image-style-align-left {\n margin-right: 1.5em;\n }\n\n img.image-style-align-right,\n img.image-style-side {\n margin-left: 1.5em;\n }\n\n figure.table {\n display: table;\n margin-top: 0.9em;\n margin-bottom: 0.9em;\n }\n\n figure.table table,\n table {\n width: 100%;\n border: 1px double #b3b3b3;\n border-collapse: collapse;\n border-spacing: 0;\n\n th {\n text-align: left;\n }\n\n & > thead,\n & > tbody {\n & > tr > td,\n & > tr > th {\n border: 1px solid #bfbfbf;\n min-width: 2em;\n padding: 0.4em;\n }\n\n & > tr > th {\n background: rgba(0, 0, 0, 0.05);\n font-weight: 700;\n }\n }\n }\n }\n`\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAEtC,OAAO,IAAMC,YAAY,gBAAGD,MAAM,CAACE,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uoDAqIrC","ignoreList":[]}
|