@repzo/widget-react-native 1.3.1 → 1.4.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/CHANGELOG.md +137 -5
- package/README.md +64 -12
- package/lib/commonjs/api/client.js +96 -23
- package/lib/commonjs/api/client.js.map +1 -1
- package/lib/commonjs/attachments/file-size.js +52 -0
- package/lib/commonjs/attachments/file-size.js.map +1 -0
- package/lib/commonjs/attachments/local-previews.js +40 -0
- package/lib/commonjs/attachments/local-previews.js.map +1 -0
- package/lib/commonjs/attachments/pickers.js +20 -29
- package/lib/commonjs/attachments/pickers.js.map +1 -1
- package/lib/commonjs/i18n.js +22 -3
- package/lib/commonjs/i18n.js.map +1 -1
- package/lib/commonjs/locales.js +12 -3
- package/lib/commonjs/locales.js.map +1 -1
- package/lib/commonjs/state/widget-store.js +277 -30
- package/lib/commonjs/state/widget-store.js.map +1 -1
- package/lib/commonjs/storage.js +3 -1
- package/lib/commonjs/storage.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/ui/WidgetProvider.js +33 -13
- package/lib/commonjs/ui/WidgetProvider.js.map +1 -1
- package/lib/commonjs/ui/components/AttachmentChips.js +109 -40
- package/lib/commonjs/ui/components/AttachmentChips.js.map +1 -1
- package/lib/commonjs/ui/components/ConversationRow.js +65 -10
- package/lib/commonjs/ui/components/ConversationRow.js.map +1 -1
- package/lib/commonjs/ui/components/ImageViewer.js +229 -24
- package/lib/commonjs/ui/components/ImageViewer.js.map +1 -1
- package/lib/commonjs/ui/components/RatingCard.js +5 -2
- package/lib/commonjs/ui/components/RatingCard.js.map +1 -1
- package/lib/commonjs/ui/components/ZoomableImage.js +58 -10
- package/lib/commonjs/ui/components/ZoomableImage.js.map +1 -1
- package/lib/commonjs/ui/hooks/use-retained-state.js +39 -0
- package/lib/commonjs/ui/hooks/use-retained-state.js.map +1 -0
- package/lib/commonjs/ui/screens/chat/ChatView.js +637 -164
- package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/commonjs/ui/screens/chat/ChatView.styles.js +138 -1
- package/lib/commonjs/ui/screens/chat/ChatView.styles.js.map +1 -1
- package/lib/commonjs/ui/screens/conversations/ConversationsList.js +1 -0
- package/lib/commonjs/ui/screens/conversations/ConversationsList.js.map +1 -1
- package/lib/commonjs/ui/screens/home/HomeView.js +38 -55
- package/lib/commonjs/ui/screens/home/HomeView.js.map +1 -1
- package/lib/commonjs/ui/screens/home/HomeView.styles.js +36 -45
- package/lib/commonjs/ui/screens/home/HomeView.styles.js.map +1 -1
- package/lib/commonjs/ui/utils/html.js +13 -0
- package/lib/commonjs/ui/utils/html.js.map +1 -1
- package/lib/commonjs/ui/utils/image-load-queue.js +114 -0
- package/lib/commonjs/ui/utils/image-load-queue.js.map +1 -0
- package/lib/commonjs/ui/utils/inline-attachments.js +88 -0
- package/lib/commonjs/ui/utils/inline-attachments.js.map +1 -0
- package/lib/module/api/client.js +96 -23
- package/lib/module/api/client.js.map +1 -1
- package/lib/module/attachments/file-size.js +47 -0
- package/lib/module/attachments/file-size.js.map +1 -0
- package/lib/module/attachments/local-previews.js +33 -0
- package/lib/module/attachments/local-previews.js.map +1 -0
- package/lib/module/attachments/pickers.js +15 -25
- package/lib/module/attachments/pickers.js.map +1 -1
- package/lib/module/i18n.js +22 -3
- package/lib/module/i18n.js.map +1 -1
- package/lib/module/locales.js +12 -3
- package/lib/module/locales.js.map +1 -1
- package/lib/module/state/widget-store.js +279 -32
- package/lib/module/state/widget-store.js.map +1 -1
- package/lib/module/storage.js +2 -0
- package/lib/module/storage.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/ui/WidgetProvider.js +33 -13
- package/lib/module/ui/WidgetProvider.js.map +1 -1
- package/lib/module/ui/components/AttachmentChips.js +111 -42
- package/lib/module/ui/components/AttachmentChips.js.map +1 -1
- package/lib/module/ui/components/ConversationRow.js +65 -10
- package/lib/module/ui/components/ConversationRow.js.map +1 -1
- package/lib/module/ui/components/ImageViewer.js +231 -26
- package/lib/module/ui/components/ImageViewer.js.map +1 -1
- package/lib/module/ui/components/RatingCard.js +5 -2
- package/lib/module/ui/components/RatingCard.js.map +1 -1
- package/lib/module/ui/components/ZoomableImage.js +58 -10
- package/lib/module/ui/components/ZoomableImage.js.map +1 -1
- package/lib/module/ui/hooks/use-retained-state.js +34 -0
- package/lib/module/ui/hooks/use-retained-state.js.map +1 -0
- package/lib/module/ui/screens/chat/ChatView.js +641 -168
- package/lib/module/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/module/ui/screens/chat/ChatView.styles.js +140 -2
- package/lib/module/ui/screens/chat/ChatView.styles.js.map +1 -1
- package/lib/module/ui/screens/conversations/ConversationsList.js +1 -0
- package/lib/module/ui/screens/conversations/ConversationsList.js.map +1 -1
- package/lib/module/ui/screens/home/HomeView.js +40 -57
- package/lib/module/ui/screens/home/HomeView.js.map +1 -1
- package/lib/module/ui/screens/home/HomeView.styles.js +36 -45
- package/lib/module/ui/screens/home/HomeView.styles.js.map +1 -1
- package/lib/module/ui/utils/html.js +12 -0
- package/lib/module/ui/utils/html.js.map +1 -1
- package/lib/module/ui/utils/image-load-queue.js +109 -0
- package/lib/module/ui/utils/image-load-queue.js.map +1 -0
- package/lib/module/ui/utils/inline-attachments.js +85 -0
- package/lib/module/ui/utils/inline-attachments.js.map +1 -0
- package/lib/typescript/commonjs/api/client.d.ts +12 -4
- package/lib/typescript/commonjs/api/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/attachments/file-size.d.ts +15 -0
- package/lib/typescript/commonjs/attachments/file-size.d.ts.map +1 -0
- package/lib/typescript/commonjs/attachments/local-previews.d.ts +14 -0
- package/lib/typescript/commonjs/attachments/local-previews.d.ts.map +1 -0
- package/lib/typescript/commonjs/attachments/pickers.d.ts +15 -2
- package/lib/typescript/commonjs/attachments/pickers.d.ts.map +1 -1
- package/lib/typescript/commonjs/i18n.d.ts +12 -3
- package/lib/typescript/commonjs/i18n.d.ts.map +1 -1
- package/lib/typescript/commonjs/locales.d.ts.map +1 -1
- package/lib/typescript/commonjs/state/widget-store.d.ts +40 -1
- package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/commonjs/storage.d.ts +2 -0
- package/lib/typescript/commonjs/storage.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +41 -0
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/WidgetProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AttachmentChips.d.ts +13 -3
- package/lib/typescript/commonjs/ui/components/AttachmentChips.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts +15 -1
- package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts +26 -6
- package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/RatingCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts +10 -1
- package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/use-retained-state.d.ts +11 -0
- package/lib/typescript/commonjs/ui/hooks/use-retained-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts +4 -4
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts +144 -0
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts +26 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts +2 -0
- package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts +7 -5
- package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts +30 -35
- package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts +5 -6
- package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/html.d.ts +5 -0
- package/lib/typescript/commonjs/ui/utils/html.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/image-load-queue.d.ts +44 -0
- package/lib/typescript/commonjs/ui/utils/image-load-queue.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/utils/inline-attachments.d.ts +29 -0
- package/lib/typescript/commonjs/ui/utils/inline-attachments.d.ts.map +1 -0
- package/lib/typescript/module/api/client.d.ts +12 -4
- package/lib/typescript/module/api/client.d.ts.map +1 -1
- package/lib/typescript/module/attachments/file-size.d.ts +15 -0
- package/lib/typescript/module/attachments/file-size.d.ts.map +1 -0
- package/lib/typescript/module/attachments/local-previews.d.ts +14 -0
- package/lib/typescript/module/attachments/local-previews.d.ts.map +1 -0
- package/lib/typescript/module/attachments/pickers.d.ts +15 -2
- package/lib/typescript/module/attachments/pickers.d.ts.map +1 -1
- package/lib/typescript/module/i18n.d.ts +12 -3
- package/lib/typescript/module/i18n.d.ts.map +1 -1
- package/lib/typescript/module/locales.d.ts.map +1 -1
- package/lib/typescript/module/state/widget-store.d.ts +40 -1
- package/lib/typescript/module/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/module/storage.d.ts +2 -0
- package/lib/typescript/module/storage.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +41 -0
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/WidgetProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AttachmentChips.d.ts +13 -3
- package/lib/typescript/module/ui/components/AttachmentChips.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ConversationRow.d.ts +15 -1
- package/lib/typescript/module/ui/components/ConversationRow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ImageViewer.d.ts +26 -6
- package/lib/typescript/module/ui/components/ImageViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/RatingCard.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ZoomableImage.d.ts +10 -1
- package/lib/typescript/module/ui/components/ZoomableImage.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/use-retained-state.d.ts +11 -0
- package/lib/typescript/module/ui/hooks/use-retained-state.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/chat/ChatView.d.ts +4 -4
- package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts +144 -0
- package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts +26 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/conversations/ConversationsList.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts +2 -0
- package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/home/HomeView.d.ts +7 -5
- package/lib/typescript/module/ui/screens/home/HomeView.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts +30 -35
- package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts +5 -6
- package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/html.d.ts +5 -0
- package/lib/typescript/module/ui/utils/html.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/image-load-queue.d.ts +44 -0
- package/lib/typescript/module/ui/utils/image-load-queue.d.ts.map +1 -0
- package/lib/typescript/module/ui/utils/inline-attachments.d.ts +29 -0
- package/lib/typescript/module/ui/utils/inline-attachments.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/api/client.ts +116 -34
- package/src/attachments/file-size.ts +42 -0
- package/src/attachments/local-previews.ts +32 -0
- package/src/attachments/pickers.ts +23 -25
- package/src/i18n.ts +22 -3
- package/src/locales.ts +12 -3
- package/src/state/widget-store.ts +322 -50
- package/src/storage.ts +2 -0
- package/src/types.ts +41 -0
- package/src/ui/WidgetProvider.tsx +35 -8
- package/src/ui/components/AttachmentChips.tsx +100 -29
- package/src/ui/components/ConversationRow.tsx +90 -9
- package/src/ui/components/ImageViewer.tsx +242 -24
- package/src/ui/components/RatingCard.tsx +5 -2
- package/src/ui/components/ZoomableImage.tsx +58 -5
- package/src/ui/hooks/use-retained-state.ts +35 -0
- package/src/ui/screens/chat/ChatView.styles.ts +139 -1
- package/src/ui/screens/chat/ChatView.tsx +721 -197
- package/src/ui/screens/chat/ChatView.types.ts +26 -1
- package/src/ui/screens/conversations/ConversationsList.tsx +1 -0
- package/src/ui/screens/conversations/ConversationsList.types.ts +2 -0
- package/src/ui/screens/home/HomeView.styles.ts +36 -45
- package/src/ui/screens/home/HomeView.tsx +54 -70
- package/src/ui/screens/home/HomeView.types.ts +5 -6
- package/src/ui/utils/html.ts +26 -0
- package/src/ui/utils/image-load-queue.ts +108 -0
- package/src/ui/utils/inline-attachments.ts +71 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.splitInlineAttachments = splitInlineAttachments;
|
|
7
|
+
var _html = require("./html.js");
|
|
8
|
+
/**
|
|
9
|
+
* Agent replies with images between their paragraphs. Workstation marks such
|
|
10
|
+
* images `inline` among the message's attachments and keeps an `<img>` for
|
|
11
|
+
* each in the HTML body, where the teammate put it. Same split as the web
|
|
12
|
+
* Messenger, so both show the text and images in the order they were written.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/** Markdown for the bubble to draw, or one attachment. */
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The body and its inline images in order, plus the other attachments
|
|
19
|
+
* (`files`) that show after them. Null when nothing is inline: the bubble then
|
|
20
|
+
* shows the body, followed by every attachment.
|
|
21
|
+
*
|
|
22
|
+
* An `<img>` finds its attachment by the id in its URL. In a body whose
|
|
23
|
+
* images carry no ids, they take the attachments in order instead; in one
|
|
24
|
+
* that does, an image without an id (a logo, an emoji) isn't one of the files
|
|
25
|
+
* and takes nothing. One whose id names no remaining attachment (the same file
|
|
26
|
+
* twice) takes nothing either. Inline attachments with no `<img>` go at the end.
|
|
27
|
+
*/
|
|
28
|
+
function splitInlineAttachments(body, attachments) {
|
|
29
|
+
const inline = (attachments ?? []).filter(isInline);
|
|
30
|
+
if (!body || inline.length === 0) return null;
|
|
31
|
+
const remaining = [...inline];
|
|
32
|
+
const parts = [];
|
|
33
|
+
const pushText = html => {
|
|
34
|
+
const text = (0, _html.htmlToMarkdown)(html);
|
|
35
|
+
if (text) parts.push({
|
|
36
|
+
text
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
const image = /<img\b[^>]*?\bsrc=(["'])(.*?)\1[^>]*>/gi;
|
|
40
|
+
const images = [];
|
|
41
|
+
for (let match = image.exec(body); match; match = image.exec(body)) {
|
|
42
|
+
images.push({
|
|
43
|
+
start: match.index,
|
|
44
|
+
end: image.lastIndex,
|
|
45
|
+
id: mediaId(match[2] ?? '')
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
const byId = images.some(found => found.id !== null);
|
|
49
|
+
let last = 0;
|
|
50
|
+
for (const {
|
|
51
|
+
start,
|
|
52
|
+
end,
|
|
53
|
+
id
|
|
54
|
+
} of images) {
|
|
55
|
+
// Left in the text, which drops it as it always has.
|
|
56
|
+
if (byId && !id) continue;
|
|
57
|
+
pushText(body.slice(last, start));
|
|
58
|
+
last = end;
|
|
59
|
+
const index = id ? remaining.findIndex(attachment => attachment.id === id) : 0;
|
|
60
|
+
if (index < 0) continue;
|
|
61
|
+
const [attachment] = remaining.splice(index, 1);
|
|
62
|
+
if (attachment) parts.push({
|
|
63
|
+
attachment
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
pushText(body.slice(last));
|
|
67
|
+
remaining.forEach(attachment => parts.push({
|
|
68
|
+
attachment
|
|
69
|
+
}));
|
|
70
|
+
return {
|
|
71
|
+
parts,
|
|
72
|
+
files: (attachments ?? []).filter(attachment => !isInline(attachment))
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Workstation's media URLs carry the attachment's id, as
|
|
78
|
+
* `/api/widget/media/<id>?…` (what replies carry) or `/api/media/<id>/download`.
|
|
79
|
+
*/
|
|
80
|
+
function mediaId(src) {
|
|
81
|
+
return /\/api\/(?:widget\/)?media\/([^/?#"'&]+)/.exec(src)?.[1] ?? null;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** Only Workstation's agent replies set `inline`, so it isn't on `WidgetAttachment`. */
|
|
85
|
+
function isInline(attachment) {
|
|
86
|
+
return attachment.inline === true;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=inline-attachments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_html","require","splitInlineAttachments","body","attachments","inline","filter","isInline","length","remaining","parts","pushText","html","text","htmlToMarkdown","push","image","images","match","exec","start","index","end","lastIndex","id","mediaId","byId","some","found","last","slice","findIndex","attachment","splice","forEach","files","src"],"sourceRoot":"../../../../src","sources":["ui/utils/inline-attachments.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/api/client.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* The token itself lives in `SecureStorage`.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
+
import { measureFileSize } from "../attachments/file-size.js";
|
|
13
14
|
import { SecureStorage, TOKEN_KEY } from "../storage.js";
|
|
14
15
|
import { isHttpUrl, urlScheme } from "../ui/utils/safe-url.js";
|
|
15
16
|
|
|
@@ -37,6 +38,49 @@ export class RepzoWidgetError extends Error {
|
|
|
37
38
|
|
|
38
39
|
/** A Send message part asked for on its own, which may share one request with others. */
|
|
39
40
|
|
|
41
|
+
/**
|
|
42
|
+
* Sends a local file as the request body straight from disk and resolves the
|
|
43
|
+
* HTTP status. React Native streams a `{ uri }` body natively; `fetch` would
|
|
44
|
+
* stringify it, so this goes through XMLHttpRequest.
|
|
45
|
+
*/
|
|
46
|
+
function sendFileFromDisk(url, method, headers, file, signal) {
|
|
47
|
+
return new Promise((resolve, reject) => {
|
|
48
|
+
const xhr = new XMLHttpRequest();
|
|
49
|
+
const cancel = () => xhr.abort();
|
|
50
|
+
const settle = finish => {
|
|
51
|
+
signal?.removeEventListener('abort', cancel);
|
|
52
|
+
finish();
|
|
53
|
+
};
|
|
54
|
+
xhr.onload = () => settle(() => resolve(xhr.status));
|
|
55
|
+
xhr.onerror = () => settle(() => reject(new RepzoWidgetError('Network request failed', 0, 'network')));
|
|
56
|
+
xhr.ontimeout = xhr.onerror;
|
|
57
|
+
xhr.onabort = () => settle(() => reject(new RepzoWidgetError('Upload cancelled', 0, 'network')));
|
|
58
|
+
xhr.open(method, url);
|
|
59
|
+
Object.entries(headers).forEach(([name, value]) => xhr.setRequestHeader(name, value));
|
|
60
|
+
// Android refuses a `{ uri }` body without one.
|
|
61
|
+
if (!Object.keys(headers).some(name => name.toLowerCase() === 'content-type')) {
|
|
62
|
+
xhr.setRequestHeader('Content-Type', file.contentType);
|
|
63
|
+
}
|
|
64
|
+
signal?.addEventListener('abort', cancel);
|
|
65
|
+
xhr.send({
|
|
66
|
+
uri: file.uri
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* How long Workstation keeps an upload for a message to name, when its answer
|
|
73
|
+
* has no usable `expiresAt` (deployments without it, or a phone clock that
|
|
74
|
+
* reads it as already past).
|
|
75
|
+
*/
|
|
76
|
+
const UPLOAD_LIFETIME_MS = 60 * 60 * 1000;
|
|
77
|
+
|
|
78
|
+
/** A file in storage, waiting for the message that names it. */
|
|
79
|
+
|
|
80
|
+
function uploadExpiry(expiresAt, now) {
|
|
81
|
+
const at = typeof expiresAt === 'string' ? Date.parse(expiresAt) : typeof expiresAt === 'number' ? expiresAt : NaN;
|
|
82
|
+
return at > now ? at : now + UPLOAD_LIFETIME_MS;
|
|
83
|
+
}
|
|
40
84
|
export class WidgetApiClient {
|
|
41
85
|
baseUrl = '';
|
|
42
86
|
channelAccountId = '';
|
|
@@ -278,41 +322,70 @@ export class WidgetApiClient {
|
|
|
278
322
|
/**
|
|
279
323
|
* Puts a local file in storage ahead of the message, which then names it by
|
|
280
324
|
* the returned upload token. The target is presigned storage, or a path on
|
|
281
|
-
* the server where its storage can't presign. The
|
|
282
|
-
*
|
|
283
|
-
*
|
|
325
|
+
* the server where its storage can't presign. The upload URL is signed for
|
|
326
|
+
* exactly the size asked for: a `file://` file whose size `expo-file-system`
|
|
327
|
+
* can read streams from disk, anything else is read as a native blob and
|
|
328
|
+
* measured. `signal` cancels the transfer (the visitor removed the file, or
|
|
329
|
+
* left the conversation). Resolves the token and when it expires.
|
|
284
330
|
*/
|
|
285
|
-
async uploadAttachment(file) {
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
}
|
|
290
|
-
|
|
331
|
+
async uploadAttachment(file, signal) {
|
|
332
|
+
// A file removed early is never read, nor given a slot in storage.
|
|
333
|
+
const stopIfCancelled = () => {
|
|
334
|
+
if (signal?.aborted) throw new RepzoWidgetError('Upload cancelled', 0, 'network');
|
|
335
|
+
};
|
|
336
|
+
stopIfCancelled();
|
|
337
|
+
// Streaming matters on Android: React Native also copies a blob it reads
|
|
338
|
+
// into a Base64 string for its network inspector, so a file past ~30 MB
|
|
339
|
+
// runs the app out of memory. Only file:// gives an exact Content-Length.
|
|
340
|
+
const streamedSize = urlScheme(file.uri) === 'file:' ? await measureFileSize(file.uri) : null;
|
|
341
|
+
let blob = null;
|
|
342
|
+
if (streamedSize === null) {
|
|
343
|
+
try {
|
|
344
|
+
blob = await (await fetch(file.uri, {
|
|
345
|
+
signal
|
|
346
|
+
})).blob();
|
|
347
|
+
} catch (error) {
|
|
348
|
+
throw new RepzoWidgetError(error instanceof Error ? error.message : 'Could not read the file', 0, 'network');
|
|
349
|
+
}
|
|
291
350
|
}
|
|
351
|
+
stopIfCancelled();
|
|
292
352
|
const target = await this.request('/api/widget/uploads', {
|
|
293
353
|
method: 'POST',
|
|
294
354
|
body: {
|
|
295
355
|
fileName: file.name,
|
|
296
356
|
contentType: file.contentType,
|
|
297
|
-
size: blob
|
|
357
|
+
size: streamedSize ?? (blob?.size || file.size)
|
|
298
358
|
}
|
|
299
359
|
});
|
|
360
|
+
// Counted from when the token was issued, not from when the file is up.
|
|
361
|
+
const expiresAt = uploadExpiry(target.expiresAt, Date.now());
|
|
300
362
|
const uploadUrl = this.resolveUrl(target.uploadUrl);
|
|
301
363
|
if (!uploadUrl) throw new RepzoWidgetError('Invalid upload target', 0, 'http');
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
364
|
+
stopIfCancelled();
|
|
365
|
+
const method = target.method ?? 'PUT';
|
|
366
|
+
const headers = target.headers ?? {
|
|
367
|
+
'Content-Type': file.contentType
|
|
368
|
+
};
|
|
369
|
+
let status;
|
|
370
|
+
if (blob) {
|
|
371
|
+
try {
|
|
372
|
+
status = (await fetch(uploadUrl, {
|
|
373
|
+
method,
|
|
374
|
+
headers,
|
|
375
|
+
body: blob,
|
|
376
|
+
signal
|
|
377
|
+
})).status;
|
|
378
|
+
} catch (error) {
|
|
379
|
+
throw new RepzoWidgetError(error instanceof Error ? error.message : 'Upload failed', 0, 'network');
|
|
380
|
+
}
|
|
381
|
+
} else {
|
|
382
|
+
status = await sendFileFromDisk(uploadUrl, method, headers, file, signal);
|
|
313
383
|
}
|
|
314
|
-
if (
|
|
315
|
-
return
|
|
384
|
+
if (status < 200 || status >= 300) throw new RepzoWidgetError('Upload failed', status, 'http');
|
|
385
|
+
return {
|
|
386
|
+
uploadToken: target.uploadToken,
|
|
387
|
+
expiresAt
|
|
388
|
+
};
|
|
316
389
|
}
|
|
317
390
|
listConversations() {
|
|
318
391
|
return this.request('/api/widget/conversations');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SecureStorage","TOKEN_KEY","isHttpUrl","urlScheme","TERMINAL_CODES","Set","isTerminalErrorCode","code","has","RepzoWidgetError","Error","constructor","message","status","name","fromResponse","body","payload","WidgetApiClient","baseUrl","channelAccountId","token","tokenLoaded","reauthorize","onTerminalError","sendPartBatch","configure","replace","getBaseUrl","getChannelAccountId","getToken","getItem","setToken","setItem","clearToken","removeItem","resolveUrl","url","trimmed","trim","resolved","startsWith","request","path","options","sentToken","send","headers","authToken","undefined","Authorization","fetch","method","JSON","stringify","error","response","skipReauth","refreshed","ok","json","catch","getConfig","platform","query","encodeURIComponent","getOutboundMessage","askSendPart","getPost","part","own","Promise","resolve","reject","setTimeout","flushSendParts","push","asks","parts","Array","from","map","ask","answer","length","join","value","then","sendPostInteraction","campaignId","kind","init","params","visitorToken","resumeToken","user","email","phone","userId","user_id","userHash","user_hash","account","id","signedUpAt","signed_up_at","Date","toISOString","trackingVisitorId","sdkVersion","logout","sendMessage","data","uploadAttachment","file","blob","uri","target","fileName","contentType","size","uploadUrl","uploadToken","listConversations","listMessages","conversationId","cursor","markConversationRead","rateConversation","ratingId","identify","sendTyping","isTyping","trackEvent","registerPushToken","reportPushOpened","deliveryId","removePushToken","auth"],"sourceRoot":"../../../src","sources":["api/client.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["measureFileSize","SecureStorage","TOKEN_KEY","isHttpUrl","urlScheme","TERMINAL_CODES","Set","isTerminalErrorCode","code","has","RepzoWidgetError","Error","constructor","message","status","name","fromResponse","body","payload","sendFileFromDisk","url","method","headers","file","signal","Promise","resolve","reject","xhr","XMLHttpRequest","cancel","abort","settle","finish","removeEventListener","onload","onerror","ontimeout","onabort","open","Object","entries","forEach","value","setRequestHeader","keys","some","toLowerCase","contentType","addEventListener","send","uri","UPLOAD_LIFETIME_MS","uploadExpiry","expiresAt","now","at","Date","parse","NaN","WidgetApiClient","baseUrl","channelAccountId","token","tokenLoaded","reauthorize","onTerminalError","sendPartBatch","configure","replace","getBaseUrl","getChannelAccountId","getToken","getItem","setToken","setItem","clearToken","removeItem","resolveUrl","trimmed","trim","resolved","startsWith","request","path","options","sentToken","authToken","undefined","Authorization","fetch","JSON","stringify","error","response","skipReauth","refreshed","ok","json","catch","getConfig","platform","query","encodeURIComponent","getOutboundMessage","askSendPart","getPost","part","own","setTimeout","flushSendParts","push","asks","parts","Array","from","map","ask","answer","length","join","then","sendPostInteraction","campaignId","kind","init","params","visitorToken","resumeToken","user","email","phone","userId","user_id","userHash","user_hash","account","id","signedUpAt","signed_up_at","toISOString","trackingVisitorId","sdkVersion","logout","sendMessage","data","uploadAttachment","stopIfCancelled","aborted","streamedSize","blob","target","fileName","size","uploadUrl","uploadToken","listConversations","listMessages","conversationId","cursor","markConversationRead","rateConversation","ratingId","identify","sendTyping","isTyping","trackEvent","registerPushToken","reportPushOpened","deliveryId","removePushToken","auth"],"sourceRoot":"../../../src","sources":["api/client.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Local file sizes from the host's `expo-file-system` (optional, like the
|
|
5
|
+
* pickers): read from the file's metadata, never from its contents. Shared by
|
|
6
|
+
* the pickers and the upload client, so the client doesn't pull in pickers.
|
|
7
|
+
*
|
|
8
|
+
* No `react-native` import on purpose: it stays testable in plain Node.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
let fileSystem = null;
|
|
12
|
+
try {
|
|
13
|
+
fileSystem = require('expo-file-system') ?? null;
|
|
14
|
+
} catch {
|
|
15
|
+
fileSystem = null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** A positive, finite byte count, or null. */
|
|
19
|
+
export function validSize(size) {
|
|
20
|
+
return typeof size === 'number' && Number.isFinite(size) && size > 0 ? size : null;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A local file's exact size in bytes, from its metadata without reading it.
|
|
25
|
+
* Null without `expo-file-system`, or when it can't tell.
|
|
26
|
+
*/
|
|
27
|
+
export async function measureFileSize(uri) {
|
|
28
|
+
if (typeof fileSystem?.File === 'function') {
|
|
29
|
+
try {
|
|
30
|
+
const size = validSize(new fileSystem.File(uri).size);
|
|
31
|
+
if (size !== null) return size;
|
|
32
|
+
} catch {
|
|
33
|
+
// Fall through to the next reader.
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (typeof fileSystem?.getInfoAsync === 'function') {
|
|
37
|
+
try {
|
|
38
|
+
return validSize((await fileSystem.getInfoAsync(uri, {
|
|
39
|
+
size: true
|
|
40
|
+
}))?.size);
|
|
41
|
+
} catch {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=file-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fileSystem","require","validSize","size","Number","isFinite","measureFileSize","uri","File","getInfoAsync"],"sourceRoot":"../../../src","sources":["attachments/file-size.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIA,UAAe,GAAG,IAAI;AAC1B,IAAI;EACFA,UAAU,GAAGC,OAAO,CAAC,kBAAkB,CAAC,IAAI,IAAI;AAClD,CAAC,CAAC,MAAM;EACND,UAAU,GAAG,IAAI;AACnB;;AAEA;AACA,OAAO,SAASE,SAASA,CAACC,IAAa,EAAiB;EACtD,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIC,MAAM,CAACC,QAAQ,CAACF,IAAI,CAAC,IAAIA,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,IAAI;AACpF;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeG,eAAeA,CAACC,GAAW,EAA0B;EACzE,IAAI,OAAOP,UAAU,EAAEQ,IAAI,KAAK,UAAU,EAAE;IAC1C,IAAI;MACF,MAAML,IAAI,GAAGD,SAAS,CAAC,IAAIF,UAAU,CAACQ,IAAI,CAACD,GAAG,CAAC,CAACJ,IAAI,CAAC;MACrD,IAAIA,IAAI,KAAK,IAAI,EAAE,OAAOA,IAAI;IAChC,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EACA,IAAI,OAAOH,UAAU,EAAES,YAAY,KAAK,UAAU,EAAE;IAClD,IAAI;MACF,OAAOP,SAAS,CAAC,CAAC,MAAMF,UAAU,CAACS,YAAY,CAACF,GAAG,EAAE;QAAEJ,IAAI,EAAE;MAAK,CAAC,CAAC,GAAGA,IAAI,CAAC;IAC9E,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;EACA,OAAO,IAAI;AACb","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The phone's copy of each file the visitor sent, by the URL of the stored
|
|
5
|
+
* copy that replaced it in the thread. Right after a send the stored copy
|
|
6
|
+
* may not load yet (Workstation can still be storing it), so a photo keeps
|
|
7
|
+
* showing from the phone instead of turning into a file row. Kept in memory
|
|
8
|
+
* only: a later session shows the stored copy.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const MAX_PREVIEWS = 50;
|
|
12
|
+
const previews = new Map();
|
|
13
|
+
export function rememberLocalPreview(storedUrl, localUrl) {
|
|
14
|
+
if (!storedUrl || !localUrl) return;
|
|
15
|
+
previews.delete(storedUrl);
|
|
16
|
+
previews.set(storedUrl, localUrl);
|
|
17
|
+
// Oldest first: a Map iterates in insertion order.
|
|
18
|
+
if (previews.size > MAX_PREVIEWS) previews.delete(previews.keys().next().value);
|
|
19
|
+
}
|
|
20
|
+
export function localPreviewFor(storedUrl) {
|
|
21
|
+
return storedUrl && previews.get(storedUrl) || null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** One that failed to load (the OS cleared the picker's cache): every view moves to the stored copy. */
|
|
25
|
+
export function forgetLocalPreview(storedUrl) {
|
|
26
|
+
previews.delete(storedUrl);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Signing out forgets them: the next visitor on the phone doesn't inherit the paths. */
|
|
30
|
+
export function clearLocalPreviews() {
|
|
31
|
+
previews.clear();
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=local-previews.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MAX_PREVIEWS","previews","Map","rememberLocalPreview","storedUrl","localUrl","delete","set","size","keys","next","value","localPreviewFor","get","forgetLocalPreview","clearLocalPreviews","clear"],"sourceRoot":"../../../src","sources":["attachments/local-previews.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,YAAY,GAAG,EAAE;AACvB,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAiB,CAAC;AAE1C,OAAO,SAASC,oBAAoBA,CAACC,SAAiB,EAAEC,QAAgB,EAAQ;EAC9E,IAAI,CAACD,SAAS,IAAI,CAACC,QAAQ,EAAE;EAC7BJ,QAAQ,CAACK,MAAM,CAACF,SAAS,CAAC;EAC1BH,QAAQ,CAACM,GAAG,CAACH,SAAS,EAAEC,QAAQ,CAAC;EACjC;EACA,IAAIJ,QAAQ,CAACO,IAAI,GAAGR,YAAY,EAAEC,QAAQ,CAACK,MAAM,CAACL,QAAQ,CAACQ,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,KAAe,CAAC;AAC3F;AAEA,OAAO,SAASC,eAAeA,CAACR,SAAiB,EAAiB;EAChE,OAAQA,SAAS,IAAIH,QAAQ,CAACY,GAAG,CAACT,SAAS,CAAC,IAAK,IAAI;AACvD;;AAEA;AACA,OAAO,SAASU,kBAAkBA,CAACV,SAAiB,EAAQ;EAC1DH,QAAQ,CAACK,MAAM,CAACF,SAAS,CAAC;AAC5B;;AAEA;AACA,OAAO,SAASW,kBAAkBA,CAAA,EAAS;EACzCd,QAAQ,CAACe,KAAK,CAAC,CAAC;AAClB","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Visitor attachments: picking photos/files for `POST /api/widget/messages`.
|
|
5
5
|
*
|
|
6
6
|
* A server that takes uploads names its cap (`maxAttachmentBytes`): a picked
|
|
7
|
-
* file then stays a local URI
|
|
7
|
+
* file then stays a local URI, which the composer uploads right away. An
|
|
8
8
|
* older server only takes files inline, as base64 data URLs within the
|
|
9
9
|
* 1.5 MB / 6 MB caps below.
|
|
10
10
|
*
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
* testable in plain Node.
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
|
+
import { measureFileSize, validSize } from "./file-size.js";
|
|
29
|
+
|
|
28
30
|
/** The server keeps the first five and silently drops the rest. */
|
|
29
31
|
export const MAX_ATTACHMENTS = 5;
|
|
30
32
|
/** Per inline file, decoded. The server silently drops anything larger. */
|
|
@@ -86,6 +88,11 @@ let hostOptions = null;
|
|
|
86
88
|
export function setAttachmentOptions(options) {
|
|
87
89
|
hostOptions = options;
|
|
88
90
|
}
|
|
91
|
+
|
|
92
|
+
/** Whether a picked file starts uploading before Send (`attachments.uploadOnPick`). */
|
|
93
|
+
export function uploadsOnPick() {
|
|
94
|
+
return hostOptions?.uploadOnPick !== false;
|
|
95
|
+
}
|
|
89
96
|
const ALL_SOURCES = ['photo', 'camera', 'file'];
|
|
90
97
|
|
|
91
98
|
/**
|
|
@@ -323,7 +330,7 @@ async function toDraft(file) {
|
|
|
323
330
|
};
|
|
324
331
|
}
|
|
325
332
|
|
|
326
|
-
/** A file that's uploaded
|
|
333
|
+
/** A file that's uploaded on its own, ahead of the message: only its size is read here. */
|
|
327
334
|
async function toUploadDraft(file, uploadLimit) {
|
|
328
335
|
const uri = file.uri;
|
|
329
336
|
const size = validSize(file.size) ?? (await readFileSize(uri));
|
|
@@ -342,25 +349,9 @@ async function toUploadDraft(file, uploadLimit) {
|
|
|
342
349
|
|
|
343
350
|
/** A local file's size in bytes, or 0 when nothing can tell. */
|
|
344
351
|
async function readFileSize(uri) {
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
if (size !== null) return size;
|
|
349
|
-
} catch {
|
|
350
|
-
// Fall through to the next reader.
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
if (typeof fileSystem?.getInfoAsync === 'function') {
|
|
354
|
-
try {
|
|
355
|
-
const size = validSize((await fileSystem.getInfoAsync(uri, {
|
|
356
|
-
size: true
|
|
357
|
-
}))?.size);
|
|
358
|
-
if (size !== null) return size;
|
|
359
|
-
} catch {
|
|
360
|
-
// Fall through to fetch.
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
// A native blob: its size is known without reading it into JS.
|
|
352
|
+
const size = await measureFileSize(uri);
|
|
353
|
+
if (size !== null) return size;
|
|
354
|
+
// Last resort: the native blob reads the whole file (on Android, into memory).
|
|
364
355
|
const blob = await (await fetch(uri)).blob();
|
|
365
356
|
return validSize(blob.size) ?? 0;
|
|
366
357
|
}
|
|
@@ -486,9 +477,6 @@ export function formatBytes(bytes) {
|
|
|
486
477
|
export function isImageAttachment(contentType) {
|
|
487
478
|
return !!contentType && contentType.toLowerCase().startsWith('image/');
|
|
488
479
|
}
|
|
489
|
-
function validSize(size) {
|
|
490
|
-
return typeof size === 'number' && Number.isFinite(size) && size > 0 ? size : null;
|
|
491
|
-
}
|
|
492
480
|
function fileNameFromUri(uri) {
|
|
493
481
|
if (!uri) return null;
|
|
494
482
|
const last = uri.split(/[?#]/)[0]?.split('/').pop();
|
|
@@ -522,7 +510,9 @@ const CONTENT_TYPES = {
|
|
|
522
510
|
mp4: 'video/mp4',
|
|
523
511
|
mov: 'video/quicktime'
|
|
524
512
|
};
|
|
525
|
-
|
|
513
|
+
|
|
514
|
+
/** The type a file name's extension implies, or null for one this table doesn't know. */
|
|
515
|
+
export function guessContentType(nameOrUri) {
|
|
526
516
|
const extension = /\.([a-z0-9]+)$/i.exec(nameOrUri?.split(/[?#]/)[0] ?? '')?.[1];
|
|
527
517
|
return extension ? CONTENT_TYPES[extension.toLowerCase()] ?? null : null;
|
|
528
518
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MAX_ATTACHMENTS","MAX_ATTACHMENT_BYTES","MAX_TOTAL_ATTACHMENT_BYTES","IMAGE_QUALITY","imagePicker","mod","require","launchImageLibraryAsync","documentPicker","getDocumentAsync","fileSystem","imageManipulator","manipulateAsync","ImageManipulator","manipulate","MAX_IMAGE_EDGE","hostOptions","setAttachmentOptions","options","ALL_SOURCES","getAttachmentSources","enabled","pick","wanted","sources","filter","source","includes","push","launchCameraAsync","CAMERA_DENIED","pickAttachments","current","uploadLimit","slots","length","added","problem","picked","launchBuiltInPicker","error","console","warn","Array","isArray","file","accepted","uploads","uri","declared","base64","validSize","size","early","checkAttachmentFits","draft","toUploadDraft","toDraft","TOO_LARGE","fits","result","type","multiple","copyToCacheDirectory","canceled","assets","map","asset","name","fileNameFromUri","mimeType","quality","exif","permission","requestCameraPermissionsAsync","granted","launchImagePicker","allowsMultipleSelection","selectionLimit","cancelled","files","index","slice","entries","shrunk","shrinkPhoto","guessContentType","fileName","baseName","Date","now","replace","extensionFor","undefined","launch","mediaTypes","legacy","MediaTypeOptions","Images","withBase64","width","Number","height","longest","Math","max","resize","saveOptions","compress","format","SaveFormat","JPEG","output","context","image","renderAsync","saveAsync","stripDataUrlPrefix","Error","readBase64","contentType","normalizeContentType","dataUrl","buildDataUrl","id","random","toString","base64ByteLength","previewUri","readFileSize","fileUri","File","getInfoAsync","blob","fetch","value","readAsStringAsync","info","encoding","readBase64WithFetch","response","Promise","resolve","reject","reader","FileReader","onload","onerror","readAsDataURL","total","item","reduce","sum","MIME_TYPE","bare","split","trim","toLowerCase","test","comma","startsWith","indexOf","clean","padding","endsWith","floor","formatBytes","bytes","toFixed","round","isImageAttachment","isFinite","last","pop","decodeURIComponent","CONTENT_TYPES","jpg","jpeg","png","gif","webp","heic","heif","pdf","txt","csv","doc","docx","xls","xlsx","ppt","pptx","zip","mp3","m4a","mp4","mov","nameOrUri","extension","exec","subtype"],"sourceRoot":"../../../src","sources":["attachments/pickers.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["measureFileSize","validSize","MAX_ATTACHMENTS","MAX_ATTACHMENT_BYTES","MAX_TOTAL_ATTACHMENT_BYTES","IMAGE_QUALITY","imagePicker","mod","require","launchImageLibraryAsync","documentPicker","getDocumentAsync","fileSystem","imageManipulator","manipulateAsync","ImageManipulator","manipulate","MAX_IMAGE_EDGE","hostOptions","setAttachmentOptions","options","uploadsOnPick","uploadOnPick","ALL_SOURCES","getAttachmentSources","enabled","pick","wanted","sources","filter","source","includes","push","launchCameraAsync","CAMERA_DENIED","pickAttachments","current","uploadLimit","slots","length","added","problem","picked","launchBuiltInPicker","error","console","warn","Array","isArray","file","accepted","uploads","uri","declared","base64","size","early","checkAttachmentFits","draft","toUploadDraft","toDraft","TOO_LARGE","fits","result","type","multiple","copyToCacheDirectory","canceled","assets","map","asset","name","fileNameFromUri","mimeType","quality","exif","permission","requestCameraPermissionsAsync","granted","launchImagePicker","allowsMultipleSelection","selectionLimit","cancelled","files","index","slice","entries","shrunk","shrinkPhoto","guessContentType","fileName","baseName","Date","now","replace","extensionFor","undefined","launch","mediaTypes","legacy","MediaTypeOptions","Images","withBase64","width","Number","height","longest","Math","max","resize","saveOptions","compress","format","SaveFormat","JPEG","output","context","image","renderAsync","saveAsync","stripDataUrlPrefix","Error","readBase64","contentType","normalizeContentType","dataUrl","buildDataUrl","id","random","toString","base64ByteLength","previewUri","readFileSize","fileUri","blob","fetch","File","value","readAsStringAsync","getInfoAsync","info","encoding","readBase64WithFetch","response","Promise","resolve","reject","reader","FileReader","onload","onerror","readAsDataURL","total","item","reduce","sum","MIME_TYPE","bare","split","trim","toLowerCase","test","comma","startsWith","indexOf","clean","padding","endsWith","floor","formatBytes","bytes","toFixed","round","isImageAttachment","last","pop","decodeURIComponent","CONTENT_TYPES","jpg","jpeg","png","gif","webp","heic","heif","pdf","txt","csv","doc","docx","xls","xlsx","ppt","pptx","zip","mp3","m4a","mp4","mov","nameOrUri","extension","exec","subtype"],"sourceRoot":"../../../src","sources":["attachments/pickers.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,eAAe,EAAEC,SAAS,QAAQ,gBAAa;;AAExD;AACA,OAAO,MAAMC,eAAe,GAAG,CAAC;AAChC;AACA,OAAO,MAAMC,oBAAoB,GAAG,SAAS;AAC7C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAG,SAAS;;AAEnD;AACA,MAAMC,aAAa,GAAG,GAAG;;AAEzB;;AAwBA;;AAcA;AACA;AACA;AACA;;AAEA,IAAIC,WAAgB,GAAG,IAAI;AAC3B,IAAI;EACF,MAAMC,GAAG,GAAGC,OAAO,CAAC,mBAAmB,CAAC;EACxC,IAAI,OAAOD,GAAG,EAAEE,uBAAuB,KAAK,UAAU,EAAEH,WAAW,GAAGC,GAAG;AAC3E,CAAC,CAAC,MAAM;EACND,WAAW,GAAG,IAAI;AACpB;AAEA,IAAII,cAAmB,GAAG,IAAI;AAC9B,IAAI;EACF,MAAMH,GAAG,GAAGC,OAAO,CAAC,sBAAsB,CAAC;EAC3C,IAAI,OAAOD,GAAG,EAAEI,gBAAgB,KAAK,UAAU,EAAED,cAAc,GAAGH,GAAG;AACvE,CAAC,CAAC,MAAM;EACNG,cAAc,GAAG,IAAI;AACvB;AAEA,IAAIE,UAAe,GAAG,IAAI;AAC1B,IAAI;EACFA,UAAU,GAAGJ,OAAO,CAAC,kBAAkB,CAAC,IAAI,IAAI;AAClD,CAAC,CAAC,MAAM;EACNI,UAAU,GAAG,IAAI;AACnB;AAEA,IAAIC,gBAAqB,GAAG,IAAI;AAChC,IAAI;EACF,MAAMN,GAAG,GAAGC,OAAO,CAAC,wBAAwB,CAAC;EAC7C,IACE,OAAOD,GAAG,EAAEO,eAAe,KAAK,UAAU,IAC1C,OAAOP,GAAG,EAAEQ,gBAAgB,EAAEC,UAAU,KAAK,UAAU,EACvD;IACAH,gBAAgB,GAAGN,GAAG;EACxB;AACF,CAAC,CAAC,MAAM;EACNM,gBAAgB,GAAG,IAAI;AACzB;;AAEA;AACA,MAAMI,cAAc,GAAG,IAAI;AAE3B,IAAIC,WAAgD,GAAG,IAAI;;AAE3D;AACA,OAAO,SAASC,oBAAoBA,CAACC,OAA4C,EAAQ;EACvFF,WAAW,GAAGE,OAAO;AACvB;;AAEA;AACA,OAAO,SAASC,aAAaA,CAAA,EAAY;EACvC,OAAOH,WAAW,EAAEI,YAAY,KAAK,KAAK;AAC5C;AAEA,MAAMC,WAA+B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;;AAEnE;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAA,EAAuB;EACzD,IAAIN,WAAW,EAAEO,OAAO,KAAK,KAAK,EAAE,OAAO,EAAE;EAC7C,IAAIP,WAAW,EAAEQ,IAAI,EAAE;IACrB,MAAMC,MAAM,GAAGT,WAAW,CAACU,OAAO,IAAIL,WAAW;IACjD,OAAOA,WAAW,CAACM,MAAM,CAAEC,MAAM,IAAKH,MAAM,CAACI,QAAQ,CAACD,MAAM,CAAC,CAAC;EAChE;EACA,MAAMF,OAA2B,GAAG,EAAE;EACtC,IAAItB,WAAW,EAAEsB,OAAO,CAACI,IAAI,CAAC,OAAO,CAAC;EACtC,IAAI,OAAO1B,WAAW,EAAE2B,iBAAiB,KAAK,UAAU,EAAEL,OAAO,CAACI,IAAI,CAAC,QAAQ,CAAC;EAChF,IAAItB,cAAc,EAAEkB,OAAO,CAACI,IAAI,CAAC,MAAM,CAAC;EACxC,OAAOJ,OAAO;AAChB;;AAEA;;AAEA;AACA,MAAMM,aAAa,GAAG,cAAuB;;AAE7C;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,eAAeA,CACnCL,MAAwB,EACxBM,OAA0B,EAC1BC,WAA0B,GAAG,IAAI,EACZ;EACrB,MAAMC,KAAK,GAAGpC,eAAe,GAAGkC,OAAO,CAACG,MAAM;EAC9C,IAAID,KAAK,IAAI,CAAC,EAAE,OAAO;IAAEE,KAAK,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAU,CAAC;EAExD,IAAIC,MAAuD;EAC3D,IAAI;IACFA,MAAM,GAAGxB,WAAW,EAAEQ,IAAI,GACtB,MAAMR,WAAW,CAACQ,IAAI,CAACI,MAAM,CAAC,GAC9B,MAAMa,mBAAmB,CAACb,MAAM,EAAEQ,KAAK,EAAE,CAAC,CAACD,WAAW,CAAC;EAC7D,CAAC,CAAC,OAAOO,KAAK,EAAE;IACdC,OAAO,CAACC,IAAI,CAAC,yCAAyC,EAAEF,KAAK,CAAC;IAC9D,OAAO;MAAEJ,KAAK,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAS,CAAC;EACzC;EACA,IAAIC,MAAM,KAAKR,aAAa,EAAE,OAAO;IAAEM,KAAK,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAe,CAAC;EAC3E,IAAI,CAACM,KAAK,CAACC,OAAO,CAACN,MAAM,CAAC,IAAIA,MAAM,CAACH,MAAM,KAAK,CAAC,EAAE,OAAO;IAAEC,KAAK,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAK,CAAC;EAEtF,MAAMD,KAAwB,GAAG,EAAE;EACnC,IAAIC,OAAiC,GAAG,IAAI;EAC5C,KAAK,MAAMQ,IAAI,IAAIP,MAAM,EAAE;IACzB,MAAMQ,QAAQ,GAAG,CAAC,GAAGd,OAAO,EAAE,GAAGI,KAAK,CAAC;IACvC,IAAIU,QAAQ,CAACX,MAAM,IAAIrC,eAAe,EAAE;MACtCuC,OAAO,GAAGA,OAAO,IAAI,SAAS;MAC9B;IACF;IACA;IACA;IACA,MAAMU,OAAO,GAAG,CAAC,CAACd,WAAW,IAAI,CAAC,CAACY,IAAI,CAACG,GAAG;IAC3C,MAAMC,QAAQ,GAAGJ,IAAI,CAACK,MAAM,IAAI,CAACH,OAAO,GAAG,IAAI,GAAGlD,SAAS,CAACgD,IAAI,CAACM,IAAI,CAAC;IACtE,MAAMC,KAAK,GAAGH,QAAQ,KAAK,IAAI,GAAG,IAAI,GAAGI,mBAAmB,CAACP,QAAQ,EAAEG,QAAQ,EAAEF,OAAO,GAAGd,WAAW,GAAG,IAAI,CAAC;IAC9G,IAAImB,KAAK,EAAE;MACTf,OAAO,GAAGA,OAAO,IAAIe,KAAK;MAC1B;IACF;IAEA,IAAIE,KAAsB;IAC1B,IAAI;MACFA,KAAK,GAAGP,OAAO,GAAG,MAAMQ,aAAa,CAACV,IAAI,EAAEZ,WAAY,CAAC,GAAG,MAAMuB,OAAO,CAACX,IAAI,CAAC;IACjF,CAAC,CAAC,OAAOL,KAAK,EAAE;MACd,IAAIA,KAAK,KAAKiB,SAAS,EAAE;QACvBpB,OAAO,GAAGA,OAAO,IAAI,UAAU;QAC/B;MACF;MACAI,OAAO,CAACC,IAAI,CAAC,0CAA0C,EAAEF,KAAK,CAAC;MAC/DH,OAAO,GAAGA,OAAO,IAAI,QAAQ;MAC7B;IACF;IACA,MAAMqB,IAAI,GACRJ,KAAK,CAACH,IAAI,GAAG,CAAC,GAAGE,mBAAmB,CAACP,QAAQ,EAAEQ,KAAK,CAACH,IAAI,EAAEJ,OAAO,GAAGd,WAAW,GAAG,IAAI,CAAC,GAAG,QAAQ;IACrG,IAAIyB,IAAI,EAAE;MACRrB,OAAO,GAAGA,OAAO,IAAIqB,IAAI;MACzB;IACF;IACAtB,KAAK,CAACR,IAAI,CAAC0B,KAAK,CAAC;EACnB;EACA,OAAO;IAAElB,KAAK;IAAEC;EAAQ,CAAC;AAC3B;AAEA,eAAeE,mBAAmBA,CAChCb,MAAwB,EACxBQ,KAAa,EACba,OAAgB,EAC0C;EAC1D,IAAIrB,MAAM,KAAK,MAAM,EAAE;IACrB,IAAI,CAACpB,cAAc,EAAE,OAAO,IAAI;IAChC,MAAMqD,MAAM,GAAG,MAAMrD,cAAc,CAACC,gBAAgB,CAAC;MACnDqD,IAAI,EAAE,KAAK;MACXC,QAAQ,EAAE3B,KAAK,GAAG,CAAC;MACnB4B,oBAAoB,EAAE;IACxB,CAAC,CAAC;IACF;IACA,IAAIH,MAAM,EAAEI,QAAQ,IAAIJ,MAAM,EAAEC,IAAI,KAAK,QAAQ,EAAE,OAAO,IAAI;IAC9D,MAAMI,MAAa,GAAGrB,KAAK,CAACC,OAAO,CAACe,MAAM,EAAEK,MAAM,CAAC,GAAGL,MAAM,CAACK,MAAM,GAAGL,MAAM,EAAEX,GAAG,GAAG,CAACW,MAAM,CAAC,GAAG,EAAE;IACjG,OAAOK,MAAM,CAACC,GAAG,CAAEC,KAAK,KAAM;MAC5BC,IAAI,EAAED,KAAK,CAACC,IAAI,IAAIC,eAAe,CAACF,KAAK,CAAClB,GAAG,CAAC,IAAI,MAAM;MACxDY,IAAI,EAAEM,KAAK,CAACG,QAAQ,IAAI,EAAE;MAC1BlB,IAAI,EAAEe,KAAK,CAACf,IAAI;MAChBH,GAAG,EAAEkB,KAAK,CAAClB;IACb,CAAC,CAAC,CAAC;EACL;EAEA,IAAI,CAAC9C,WAAW,EAAE,OAAO,IAAI;EAC7B,MAAMc,OAAO,GAAG;IACdsD,OAAO,EAAErE,aAAa;IACtB;IACA;IACA;IACAiD,MAAM,EAAE,CAACH,OAAO,IAAI,CAACtC,gBAAgB;IACrC8D,IAAI,EAAE;EACR,CAAC;EAED,IAAIZ,MAAW;EACf,IAAIjC,MAAM,KAAK,QAAQ,EAAE;IACvB,MAAM8C,UAAU,GAAG,MAAMtE,WAAW,CAACuE,6BAA6B,GAAG,CAAC;IACtE,IAAID,UAAU,IAAIA,UAAU,CAACE,OAAO,KAAK,KAAK,EAAE,OAAO5C,aAAa;IACpE6B,MAAM,GAAG,MAAMgB,iBAAiB,CAACzE,WAAW,CAAC2B,iBAAiB,EAAEb,OAAO,CAAC;EAC1E,CAAC,MAAM;IACL2C,MAAM,GAAG,MAAMgB,iBAAiB,CAACzE,WAAW,CAACG,uBAAuB,EAAE;MACpE,GAAGW,OAAO;MACV4D,uBAAuB,EAAE1C,KAAK,GAAG,CAAC;MAClC2C,cAAc,EAAE3C;IAClB,CAAC,CAAC;EACJ;EACA,IAAIyB,MAAM,EAAEI,QAAQ,IAAIJ,MAAM,EAAEmB,SAAS,EAAE,OAAO,IAAI;EACtD,MAAMd,MAAa,GAAGrB,KAAK,CAACC,OAAO,CAACe,MAAM,EAAEK,MAAM,CAAC,GAAGL,MAAM,CAACK,MAAM,GAAG,EAAE;EACxE,MAAMe,KAAwB,GAAG,EAAE;EACnC,KAAK,MAAM,CAACC,KAAK,EAAEd,KAAK,CAAC,IAAIF,MAAM,CAACiB,KAAK,CAAC,CAAC,EAAE/C,KAAK,CAAC,CAACgD,OAAO,CAAC,CAAC,EAAE;IAC7D,MAAMC,MAAM,GAAG,MAAMC,WAAW,CAAClB,KAAK,EAAE,CAACnB,OAAO,CAAC;IACjD,MAAMa,IAAI,GAAGuB,MAAM,GACf,YAAY,GACZjB,KAAK,CAACG,QAAQ,IAAIgB,gBAAgB,CAACnB,KAAK,CAACoB,QAAQ,IAAIpB,KAAK,CAAClB,GAAG,CAAC,IAAI,YAAY;IACnF,MAAMuC,QAAQ,GAAG,CAACrB,KAAK,CAACoB,QAAQ,IAAI,SAASE,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIT,KAAK,GAAG,CAAC,EAAE,EAAEU,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IAC/FX,KAAK,CAACnD,IAAI,CAAC;MACTuC,IAAI,EAAE,GAAGoB,QAAQ,IAAII,YAAY,CAAC/B,IAAI,CAAC,EAAE;MACzCA,IAAI;MACJ;MACAZ,GAAG,EAAEmC,MAAM,EAAEnC,GAAG,IAAIkB,KAAK,CAAClB,GAAG;MAC7BE,MAAM,EAAEiC,MAAM,EAAEjC,MAAM,IAAIgB,KAAK,CAAChB,MAAM,IAAI0C;IAC5C,CAAC,CAAC;EACJ;EACA,OAAOb,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAeJ,iBAAiBA,CAACkB,MAAyC,EAAE7E,OAAe,EAAE;EAC3F,IAAI;IACF,OAAO,MAAM6E,MAAM,CAAC;MAAE,GAAG7E,OAAO;MAAE8E,UAAU,EAAE,CAAC,QAAQ;IAAE,CAAC,CAAC;EAC7D,CAAC,CAAC,OAAOtD,KAAK,EAAE;IACd,MAAMuD,MAAM,GAAG7F,WAAW,EAAE8F,gBAAgB,EAAEC,MAAM;IACpD,IAAI,CAACF,MAAM,EAAE,MAAMvD,KAAK;IACxB,OAAOqD,MAAM,CAAC;MAAE,GAAG7E,OAAO;MAAE8E,UAAU,EAAEC;IAAO,CAAC,CAAC;EACnD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAeX,WAAWA,CACxBlB,KAAU,EACVgC,UAAmB,EAC+B;EAClD,IAAI,CAACzF,gBAAgB,IAAI,CAACyD,KAAK,EAAElB,GAAG,EAAE,OAAO,IAAI;EACjD,MAAMmD,KAAK,GAAGC,MAAM,CAAClC,KAAK,CAACiC,KAAK,CAAC,IAAI,CAAC;EACtC,MAAME,MAAM,GAAGD,MAAM,CAAClC,KAAK,CAACmC,MAAM,CAAC,IAAI,CAAC;EACxC,MAAMC,OAAO,GAAGC,IAAI,CAACC,GAAG,CAACL,KAAK,EAAEE,MAAM,CAAC;EACvC,MAAMI,MAAM,GACVH,OAAO,GAAGzF,cAAc,GACpBsF,KAAK,IAAIE,MAAM,GACb;IAAEF,KAAK,EAAEtF;EAAe,CAAC,GACzB;IAAEwF,MAAM,EAAExF;EAAe,CAAC,GAC5B,IAAI;EACV,MAAM6F,WAAW,GAAG;IAClBC,QAAQ,EAAE1G,aAAa;IACvB2G,MAAM,EAAEnG,gBAAgB,CAACoG,UAAU,EAAEC,IAAI,IAAI,MAAM;IACnD5D,MAAM,EAAEgD;EACV,CAAC;EACD,IAAI;IACF,IAAIa,MAAW;IACf,IAAI,OAAOtG,gBAAgB,CAACC,eAAe,KAAK,UAAU,EAAE;MAC1DqG,MAAM,GAAG,MAAMtG,gBAAgB,CAACC,eAAe,CAACwD,KAAK,CAAClB,GAAG,EAAEyD,MAAM,GAAG,CAAC;QAAEA;MAAO,CAAC,CAAC,GAAG,EAAE,EAAEC,WAAW,CAAC;IACrG,CAAC,MAAM;MACL,MAAMM,OAAO,GAAGvG,gBAAgB,CAACE,gBAAgB,CAACC,UAAU,CAACsD,KAAK,CAAClB,GAAG,CAAC;MACvE,IAAIyD,MAAM,EAAEO,OAAO,CAACP,MAAM,CAACA,MAAM,CAAC;MAClC,MAAMQ,KAAK,GAAG,MAAMD,OAAO,CAACE,WAAW,CAAC,CAAC;MACzCH,MAAM,GAAG,MAAME,KAAK,CAACE,SAAS,CAACT,WAAW,CAAC;IAC7C;IACA,IAAI,CAACR,UAAU,EAAE,OAAO,OAAOa,MAAM,EAAE/D,GAAG,KAAK,QAAQ,IAAI+D,MAAM,CAAC/D,GAAG,GAAG;MAAEA,GAAG,EAAE+D,MAAM,CAAC/D;IAAI,CAAC,GAAG,IAAI;IAClG,OAAO,OAAO+D,MAAM,EAAE7D,MAAM,KAAK,QAAQ,IAAI6D,MAAM,CAAC7D,MAAM,GACtD;MAAEF,GAAG,EAAE+D,MAAM,CAAC/D,GAAG,IAAIkB,KAAK,CAAClB,GAAG;MAAEE,MAAM,EAAE6D,MAAM,CAAC7D;IAAO,CAAC,GACvD,IAAI;EACV,CAAC,CAAC,OAAOV,KAAK,EAAE;IACdC,OAAO,CAACC,IAAI,CAAC,8DAA8D,EAAEF,KAAK,CAAC;IACnF,OAAO,IAAI;EACb;AACF;AAEA,eAAegB,OAAOA,CAACX,IAAqB,EAA4B;EACtE,IAAIK,MAAM,GAAGL,IAAI,CAACK,MAAM,GAAGkE,kBAAkB,CAACvE,IAAI,CAACK,MAAM,CAAC,GAAG,EAAE;EAC/D,IAAI,CAACA,MAAM,EAAE;IACX,IAAI,CAACL,IAAI,CAACG,GAAG,EAAE,MAAM,IAAIqE,KAAK,CAAC,wCAAwC,CAAC;IACxEnE,MAAM,GAAG,MAAMoE,UAAU,CAACzE,IAAI,CAACG,GAAG,CAAC;EACrC;EACAE,MAAM,GAAGA,MAAM,CAACwC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAElC,MAAMvB,IAAI,GAAG,CAACtB,IAAI,CAACsB,IAAI,IAAIC,eAAe,CAACvB,IAAI,CAACG,GAAG,CAAC,IAAI,MAAM,EAAEiC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;EAC7E,MAAMsC,WAAW,GACfC,oBAAoB,CAAC3E,IAAI,CAACe,IAAI,CAAC,IAAIyB,gBAAgB,CAAClB,IAAI,CAAC,IAAI,0BAA0B;EACzF,MAAMsD,OAAO,GAAGC,YAAY,CAACH,WAAW,EAAErE,MAAM,CAAC;EACjD,OAAO;IACLyE,EAAE,EAAE,SAASnC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIc,IAAI,CAACqB,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAC5C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IACnEd,IAAI;IACJoD,WAAW;IACXpE,IAAI,EAAE2E,gBAAgB,CAAC5E,MAAM,CAAC;IAC9BuE,OAAO;IACP;IACAM,UAAU,EAAElF,IAAI,CAACG,GAAG,IAAIyE;EAC1B,CAAC;AACH;;AAEA;AACA,eAAelE,aAAaA,CAACV,IAAqB,EAAEZ,WAAmB,EAA4B;EACjG,MAAMe,GAAG,GAAGH,IAAI,CAACG,GAAI;EACrB,MAAMG,IAAI,GAAGtD,SAAS,CAACgD,IAAI,CAACM,IAAI,CAAC,KAAK,MAAM6E,YAAY,CAAChF,GAAG,CAAC,CAAC;EAC9D,IAAIG,IAAI,GAAGlB,WAAW,EAAE,MAAMwB,SAAS;EACvC,MAAMU,IAAI,GAAG,CAACtB,IAAI,CAACsB,IAAI,IAAIC,eAAe,CAACpB,GAAG,CAAC,IAAI,MAAM,EAAEiC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;EACxE,OAAO;IACL0C,EAAE,EAAE,SAASnC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIc,IAAI,CAACqB,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAC5C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IACnEd,IAAI;IACJoD,WAAW,EAAEC,oBAAoB,CAAC3E,IAAI,CAACe,IAAI,CAAC,IAAIyB,gBAAgB,CAAClB,IAAI,CAAC,IAAI,0BAA0B;IACpGhB,IAAI;IACJsE,OAAO,EAAE,EAAE;IACXQ,OAAO,EAAEjF,GAAG;IACZ+E,UAAU,EAAE/E;EACd,CAAC;AACH;;AAEA;AACA,eAAegF,YAAYA,CAAChF,GAAW,EAAmB;EACxD,MAAMG,IAAI,GAAG,MAAMvD,eAAe,CAACoD,GAAG,CAAC;EACvC,IAAIG,IAAI,KAAK,IAAI,EAAE,OAAOA,IAAI;EAC9B;EACA,MAAM+E,IAAI,GAAG,MAAM,CAAC,MAAMC,KAAK,CAACnF,GAAG,CAAC,EAAEkF,IAAI,CAAC,CAAC;EAC5C,OAAOrI,SAAS,CAACqI,IAAI,CAAC/E,IAAI,CAAC,IAAI,CAAC;AAClC;;AAEA;AACA,MAAMM,SAAS,GAAG,IAAI4D,KAAK,CAAC,iCAAiC,CAAC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeC,UAAUA,CAACtE,GAAW,EAAmB;EACtD,IAAI,OAAOxC,UAAU,EAAE4H,IAAI,KAAK,UAAU,EAAE;IAC1C,IAAIvF,IAAS,GAAG,IAAI;IACpB,IAAI;MACFA,IAAI,GAAG,IAAIrC,UAAU,CAAC4H,IAAI,CAACpF,GAAG,CAAC;IACjC,CAAC,CAAC,MAAM;MACNH,IAAI,GAAG,IAAI;IACb;IACA,MAAMM,IAAI,GAAGtD,SAAS,CAACgD,IAAI,EAAEM,IAAI,CAAC;IAClC,IAAIA,IAAI,KAAK,IAAI,IAAIA,IAAI,GAAGpD,oBAAoB,EAAE,MAAM0D,SAAS;IACjE,IAAIN,IAAI,KAAK,IAAI,IAAI,OAAON,IAAI,CAACK,MAAM,KAAK,UAAU,EAAE;MACtD,IAAI;QACF,MAAMmF,KAAK,GAAG,MAAMxF,IAAI,CAACK,MAAM,CAAC,CAAC;QACjC,IAAI,OAAOmF,KAAK,KAAK,QAAQ,IAAIA,KAAK,EAAE,OAAOA,KAAK;MACtD,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF;EACA,IACE,OAAO7H,UAAU,EAAE8H,iBAAiB,KAAK,UAAU,IACnD,OAAO9H,UAAU,EAAE+H,YAAY,KAAK,UAAU,EAC9C;IACA,IAAI;MACF,MAAMC,IAAI,GAAG,MAAMhI,UAAU,CAAC+H,YAAY,CAACvF,GAAG,EAAE;QAAEG,IAAI,EAAE;MAAK,CAAC,CAAC;MAC/D,MAAMA,IAAI,GAAGtD,SAAS,CAAC2I,IAAI,EAAErF,IAAI,CAAC;MAClC,IAAIA,IAAI,KAAK,IAAI,IAAIA,IAAI,GAAGpD,oBAAoB,EAAE,MAAM0D,SAAS;MACjE,IAAIN,IAAI,KAAK,IAAI,EAAE;QACjB,MAAMkF,KAAK,GAAG,MAAM7H,UAAU,CAAC8H,iBAAiB,CAACtF,GAAG,EAAE;UAAEyF,QAAQ,EAAE;QAAS,CAAC,CAAC;QAC7E,IAAI,OAAOJ,KAAK,KAAK,QAAQ,IAAIA,KAAK,EAAE,OAAOA,KAAK;MACtD;IACF,CAAC,CAAC,OAAO7F,KAAK,EAAE;MACd,IAAIA,KAAK,KAAKiB,SAAS,EAAE,MAAMjB,KAAK;MACpC;IACF;EACF;EACA,OAAOkG,mBAAmB,CAAC1F,GAAG,CAAC;AACjC;AAEA,eAAe0F,mBAAmBA,CAAC1F,GAAW,EAAmB;EAC/D,MAAM2F,QAAQ,GAAG,MAAMR,KAAK,CAACnF,GAAG,CAAC;EACjC,MAAMkF,IAAI,GAAG,MAAMS,QAAQ,CAACT,IAAI,CAAC,CAAC;EAClC;EACA,IAAIA,IAAI,CAAC/E,IAAI,GAAGpD,oBAAoB,EAAE,MAAM0D,SAAS;EACrD,MAAMgE,OAAO,GAAG,MAAM,IAAImB,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC7D,MAAMC,MAAM,GAAG,IAAIC,UAAU,CAAC,CAAC;IAC/BD,MAAM,CAACE,MAAM,GAAG,MAAMJ,OAAO,CAAC,OAAOE,MAAM,CAACpF,MAAM,KAAK,QAAQ,GAAGoF,MAAM,CAACpF,MAAM,GAAG,EAAE,CAAC;IACrFoF,MAAM,CAACG,OAAO,GAAG,MAAMJ,MAAM,CAACC,MAAM,CAACvG,KAAK,IAAI,IAAI6E,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7E0B,MAAM,CAACI,aAAa,CAACjB,IAAI,CAAC;EAC5B,CAAC,CAAC;EACF,OAAOd,kBAAkB,CAACK,OAAO,CAAC;AACpC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASpE,mBAAmBA,CACjCrB,OAA0D,EAC1DmB,IAAY,EACZlB,WAA0B,GAAG,IAAI,EACP;EAC1B,IAAID,OAAO,CAACG,MAAM,IAAIrC,eAAe,EAAE,OAAO,SAAS;EACvD,IAAImC,WAAW,EAAE,OAAOkB,IAAI,GAAGlB,WAAW,GAAG,UAAU,GAAG,IAAI;EAC9D,IAAIkB,IAAI,GAAGpD,oBAAoB,EAAE,OAAO,UAAU;EAClD,MAAMqJ,KAAK,GAAGpH,OAAO,CAACP,MAAM,CAAE4H,IAAI,IAAK,CAACA,IAAI,CAACpB,OAAO,CAAC,CAACqB,MAAM,CAAC,CAACC,GAAG,EAAEF,IAAI,KAAKE,GAAG,GAAGF,IAAI,CAAClG,IAAI,EAAE,CAAC,CAAC;EAC/F,IAAIiG,KAAK,GAAGjG,IAAI,GAAGnD,0BAA0B,EAAE,OAAO,kBAAkB;EACxE,OAAO,IAAI;AACb;AAEA,OAAO,SAAS0H,YAAYA,CAACH,WAAmB,EAAErE,MAAc,EAAU;EACxE,OAAO,QAAQsE,oBAAoB,CAACD,WAAW,CAAC,IAAI,0BAA0B,WAAWrE,MAAM,EAAE;AACnG;;AAEA;AACA,MAAMsG,SAAS,GAAG,oEAAoE;;AAEtF;AACA;AACA;AACA;AACA;AACA,OAAO,SAAShC,oBAAoBA,CAACa,KAAgC,EAAiB;EACpF,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;EAC1C,MAAMoB,IAAI,GAAGpB,KAAK,CAACqB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAEC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EACtD,OAAOJ,SAAS,CAACK,IAAI,CAACJ,IAAI,CAAC,GAAGA,IAAI,GAAG,IAAI;AAC3C;;AAEA;AACA,OAAO,SAASrC,kBAAkBA,CAACiB,KAAa,EAAU;EACxD,MAAMyB,KAAK,GAAGzB,KAAK,CAAC0B,UAAU,CAAC,OAAO,CAAC,GAAG1B,KAAK,CAAC2B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EACjE,OAAOF,KAAK,IAAI,CAAC,GAAGzB,KAAK,CAACpD,KAAK,CAAC6E,KAAK,GAAG,CAAC,CAAC,GAAGzB,KAAK;AACpD;;AAEA;AACA,OAAO,SAASP,gBAAgBA,CAAC5E,MAAc,EAAU;EACvD,MAAM+G,KAAK,GAAG/G,MAAM,CAACwC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACvC,IAAI,CAACuE,KAAK,EAAE,OAAO,CAAC;EACpB,MAAMC,OAAO,GAAGD,KAAK,CAACE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAGF,KAAK,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;EACtE,OAAO5D,IAAI,CAAC6D,KAAK,CAAEH,KAAK,CAAC9H,MAAM,GAAG,CAAC,GAAI,CAAC,CAAC,GAAG+H,OAAO;AACrD;;AAEA;AACA,OAAO,SAASG,WAAWA,CAACC,KAAa,EAAU;EACjD,IAAIA,KAAK,IAAI,SAAS,EAAE,OAAO,GAAG,CAACA,KAAK,GAAG,SAAS,EAAEC,OAAO,CAAC,CAAC,CAAC,CAAC7E,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK;EACzF,IAAI4E,KAAK,IAAI,KAAK,EAAE,OAAO,GAAG/D,IAAI,CAACiE,KAAK,CAACF,KAAK,GAAG,KAAK,CAAC,KAAK;EAC5D,OAAO,GAAG/D,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACiE,KAAK,CAACF,KAAK,CAAC,CAAC,IAAI;AAC9C;AAEA,OAAO,SAASG,iBAAiBA,CAAClD,WAAsC,EAAW;EACjF,OAAO,CAAC,CAACA,WAAW,IAAIA,WAAW,CAACqC,WAAW,CAAC,CAAC,CAACG,UAAU,CAAC,QAAQ,CAAC;AACxE;AAEA,SAAS3F,eAAeA,CAACpB,GAAuB,EAAiB;EAC/D,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;EACrB,MAAM0H,IAAI,GAAG1H,GAAG,CAAC0G,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,CAAC,CAACiB,GAAG,CAAC,CAAC;EACnD,IAAI,CAACD,IAAI,EAAE,OAAO,IAAI;EACtB,IAAI;IACF,OAAOE,kBAAkB,CAACF,IAAI,CAAC;EACjC,CAAC,CAAC,MAAM;IACN,OAAOA,IAAI;EACb;AACF;AAEA,MAAMG,aAAqC,GAAG;EAC5CC,GAAG,EAAE,YAAY;EACjBC,IAAI,EAAE,YAAY;EAClBC,GAAG,EAAE,WAAW;EAChBC,GAAG,EAAE,WAAW;EAChBC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE,YAAY;EAClBC,GAAG,EAAE,iBAAiB;EACtBC,GAAG,EAAE,YAAY;EACjBC,GAAG,EAAE,UAAU;EACfC,GAAG,EAAE,oBAAoB;EACzBC,IAAI,EAAE,yEAAyE;EAC/EC,GAAG,EAAE,0BAA0B;EAC/BC,IAAI,EAAE,mEAAmE;EACzEC,GAAG,EAAE,+BAA+B;EACpCC,IAAI,EAAE,2EAA2E;EACjFC,GAAG,EAAE,iBAAiB;EACtBC,GAAG,EAAE,YAAY;EACjBC,GAAG,EAAE,WAAW;EAChBC,GAAG,EAAE,WAAW;EAChBC,GAAG,EAAE;AACP,CAAC;;AAED;AACA,OAAO,SAAS7G,gBAAgBA,CAAC8G,SAAoC,EAAiB;EACpF,MAAMC,SAAS,GAAG,iBAAiB,CAACC,IAAI,CAACF,SAAS,EAAEzC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;EAChF,OAAO0C,SAAS,GAAIvB,aAAa,CAACuB,SAAS,CAACxC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,GAAI,IAAI;AAC5E;AAEA,SAASjE,YAAYA,CAAC4B,WAAmB,EAAU;EACjD,MAAM+E,OAAO,GAAG/E,WAAW,CAACmC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAEE,WAAW,CAAC,CAAC;EACxD,OAAO0C,OAAO,KAAK,MAAM,IAAI,CAACA,OAAO,GAAG,KAAK,GAAGA,OAAO;AACzD","ignoreList":[]}
|