@repzo/widget-react-native 1.3.1 → 1.5.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 +173 -5
- package/README.md +99 -13
- package/lib/commonjs/api/client.js +125 -28
- 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/index.js.map +1 -1
- package/lib/commonjs/locales.js +12 -3
- package/lib/commonjs/locales.js.map +1 -1
- package/lib/commonjs/state/user-update-queue.js +168 -0
- package/lib/commonjs/state/user-update-queue.js.map +1 -0
- package/lib/commonjs/state/widget-store.js +303 -33
- 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 +651 -165
- 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 +123 -27
- 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/index.js.map +1 -1
- package/lib/module/locales.js +12 -3
- package/lib/module/locales.js.map +1 -1
- package/lib/module/state/user-update-queue.js +163 -0
- package/lib/module/state/user-update-queue.js.map +1 -0
- package/lib/module/state/widget-store.js +305 -35
- 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 +655 -169
- 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 +20 -6
- 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/index.d.ts +5 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/locales.d.ts.map +1 -1
- package/lib/typescript/commonjs/state/user-update-queue.d.ts +62 -0
- package/lib/typescript/commonjs/state/user-update-queue.d.ts.map +1 -0
- package/lib/typescript/commonjs/state/widget-store.d.ts +44 -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 +53 -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 +20 -6
- 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/index.d.ts +5 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/locales.d.ts.map +1 -1
- package/lib/typescript/module/state/user-update-queue.d.ts +62 -0
- package/lib/typescript/module/state/user-update-queue.d.ts.map +1 -0
- package/lib/typescript/module/state/widget-store.d.ts +44 -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 +53 -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 +149 -38
- 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/index.tsx +5 -0
- package/src/locales.ts +12 -3
- package/src/state/user-update-queue.ts +178 -0
- package/src/state/widget-store.ts +346 -51
- package/src/storage.ts +2 -0
- package/src/types.ts +53 -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 +735 -198
- 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
|
@@ -20,14 +20,16 @@ var _greeting = require("./greeting.js");
|
|
|
20
20
|
var _HomeViewStyles = require("./HomeView.styles.js");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
/**
|
|
23
|
-
* Home space — branded greeting header, the
|
|
24
|
-
*
|
|
23
|
+
* Home space — branded greeting header, the newest conversation in a "Recent
|
|
24
|
+
* message" card, the "start a conversation" card under it and a
|
|
25
|
+
* team/availability strip.
|
|
25
26
|
* Port of `client/src/widget/components/HomeView.tsx`.
|
|
26
27
|
*
|
|
27
28
|
* The header meets the white body on a straight seam, the same as the web
|
|
28
29
|
* widget. Whether that seam is a hard edge or the background washing out into
|
|
29
|
-
* white is the dashboard's `homeBackgroundFade` toggle, and the
|
|
30
|
-
*
|
|
30
|
+
* white is the dashboard's `homeBackgroundFade` toggle, and the first card (the
|
|
31
|
+
* recent message, or the start card when there is none) sits astride it either
|
|
32
|
+
* way: top over the brand background, bottom over white.
|
|
31
33
|
*
|
|
32
34
|
* Everything on this screen comes from the widget config or the conversations
|
|
33
35
|
* the visitor already has; nothing here assumes a field the backend does not
|
|
@@ -53,7 +55,7 @@ function HomeView({
|
|
|
53
55
|
color,
|
|
54
56
|
visitorName,
|
|
55
57
|
conversationCount,
|
|
56
|
-
|
|
58
|
+
recentConversation,
|
|
57
59
|
unreadByConversation,
|
|
58
60
|
teamAgents,
|
|
59
61
|
isOnline,
|
|
@@ -65,7 +67,6 @@ function HomeView({
|
|
|
65
67
|
labels,
|
|
66
68
|
onClose,
|
|
67
69
|
onStartConversation,
|
|
68
|
-
onViewConversations,
|
|
69
70
|
onOpenConversation
|
|
70
71
|
}) {
|
|
71
72
|
const heading = (0, _greeting.personalizeGreeting)(config?.welcomeHeading, visitorName, 'Hi there');
|
|
@@ -84,13 +85,13 @@ function HomeView({
|
|
|
84
85
|
const fade = config?.homeBackgroundFade ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Gradient.FadeOverlay, {
|
|
85
86
|
height: _HomeViewStyles.HEADER_FADE_HEIGHT
|
|
86
87
|
}) : null;
|
|
87
|
-
const
|
|
88
|
-
const
|
|
88
|
+
const recent = showPreviousConversations ? recentConversation : undefined;
|
|
89
|
+
const hasLeadCards = !!recent || allowNewConversations;
|
|
89
90
|
const showEmptyHint = showPreviousConversations && conversationCount === 0 && allowNewConversations;
|
|
90
91
|
// One agent already has their face in the row above; repeating it reads as a bug.
|
|
91
92
|
const showAvatarStack = teamAgents.length >= 2;
|
|
92
93
|
|
|
93
|
-
// The
|
|
94
|
+
// The first card is pulled up over the seam by a fixed amount, so the header
|
|
94
95
|
// pads its bottom by that same amount and the greeting never slides under it.
|
|
95
96
|
// The header reaches up under the status bar (no white strip above it), so
|
|
96
97
|
// it grows by that inset and keeps its content where it was.
|
|
@@ -98,8 +99,8 @@ function HomeView({
|
|
|
98
99
|
const headerStyle = [_HomeViewStyles.styles.header, topInset > 0 ? {
|
|
99
100
|
paddingTop: _theme.spacing.xl + topInset,
|
|
100
101
|
minHeight: _HomeViewStyles.HEADER_MIN_HEIGHT + topInset
|
|
101
|
-
} : null,
|
|
102
|
-
paddingBottom: _HomeViewStyles.HEADER_BOTTOM_PADDING + _HomeViewStyles.
|
|
102
|
+
} : null, hasLeadCards ? {
|
|
103
|
+
paddingBottom: _HomeViewStyles.HEADER_BOTTOM_PADDING + _HomeViewStyles.LEAD_CARD_LIFT
|
|
103
104
|
} : null];
|
|
104
105
|
const headerContent = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
105
106
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
@@ -160,10 +161,31 @@ function HomeView({
|
|
|
160
161
|
children: [headerContent, fade]
|
|
161
162
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
162
163
|
style: _HomeViewStyles.styles.body,
|
|
163
|
-
children: [
|
|
164
|
-
style: _HomeViewStyles.styles.
|
|
165
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(FadeSlideIn, {
|
|
164
|
+
children: [hasLeadCards ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
165
|
+
style: _HomeViewStyles.styles.leadCards,
|
|
166
|
+
children: [recent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(FadeSlideIn, {
|
|
166
167
|
delay: 40,
|
|
168
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
169
|
+
style: _HomeViewStyles.styles.recentCard,
|
|
170
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
171
|
+
style: _HomeViewStyles.styles.recentTitle,
|
|
172
|
+
accessibilityRole: "header",
|
|
173
|
+
children: labels.recentTitle
|
|
174
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConversationRow.ConversationRow, {
|
|
175
|
+
variant: "card",
|
|
176
|
+
conversation: recent,
|
|
177
|
+
color: color,
|
|
178
|
+
fallbackName: labels.team,
|
|
179
|
+
timeLabels: labels.time,
|
|
180
|
+
unreadCount: unreadByConversation[recent.id] ?? 0,
|
|
181
|
+
unreadLabel: labels.unread,
|
|
182
|
+
lastMessageLabels: labels.lastMessage,
|
|
183
|
+
horizontalPadding: _theme.spacing.xl,
|
|
184
|
+
onPress: () => onOpenConversation(recent.id)
|
|
185
|
+
})]
|
|
186
|
+
})
|
|
187
|
+
}) : null, allowNewConversations ? /*#__PURE__*/(0, _jsxRuntime.jsx)(FadeSlideIn, {
|
|
188
|
+
delay: 80,
|
|
167
189
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
168
190
|
onPress: onStartConversation,
|
|
169
191
|
accessibilityRole: "button",
|
|
@@ -196,11 +218,11 @@ function HomeView({
|
|
|
196
218
|
style: (0, _rtl.flipForRTL)()
|
|
197
219
|
})]
|
|
198
220
|
})
|
|
199
|
-
})
|
|
221
|
+
}) : null]
|
|
200
222
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
201
223
|
style: _HomeViewStyles.styles.bodyContent,
|
|
202
224
|
children: [offlineMessage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(FadeSlideIn, {
|
|
203
|
-
delay:
|
|
225
|
+
delay: 110,
|
|
204
226
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
205
227
|
style: _HomeViewStyles.styles.offlineNotice,
|
|
206
228
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.AlertIcon, {
|
|
@@ -210,45 +232,6 @@ function HomeView({
|
|
|
210
232
|
children: offlineMessage
|
|
211
233
|
})]
|
|
212
234
|
})
|
|
213
|
-
}) : null, showRecent ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(FadeSlideIn, {
|
|
214
|
-
delay: 140,
|
|
215
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
216
|
-
style: _HomeViewStyles.styles.recentHeader,
|
|
217
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
218
|
-
style: _HomeViewStyles.styles.recentTitle,
|
|
219
|
-
children: labels.recentTitle
|
|
220
|
-
}), showViewAll ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
221
|
-
onPress: onViewConversations,
|
|
222
|
-
accessibilityRole: "button",
|
|
223
|
-
accessibilityLabel: labels.viewPrevious,
|
|
224
|
-
hitSlop: 10,
|
|
225
|
-
style: ({
|
|
226
|
-
pressed
|
|
227
|
-
}) => [_HomeViewStyles.styles.viewAllButton, pressed && _global.globalStyles.pressed],
|
|
228
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
229
|
-
style: [_HomeViewStyles.styles.viewAllLabel, {
|
|
230
|
-
color
|
|
231
|
-
}],
|
|
232
|
-
children: labels.viewAll
|
|
233
|
-
})
|
|
234
|
-
}) : null]
|
|
235
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
236
|
-
style: [_global.globalStyles.card, _HomeViewStyles.styles.recentCard],
|
|
237
|
-
children: recentConversations.map((conversation, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
238
|
-
children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
239
|
-
style: [_global.globalStyles.divider, _HomeViewStyles.styles.recentDivider]
|
|
240
|
-
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConversationRow.ConversationRow, {
|
|
241
|
-
conversation: conversation,
|
|
242
|
-
color: color,
|
|
243
|
-
fallbackName: labels.team,
|
|
244
|
-
timeLabels: labels.time,
|
|
245
|
-
unreadCount: unreadByConversation[conversation.id] ?? 0,
|
|
246
|
-
unreadLabel: labels.unread,
|
|
247
|
-
horizontalPadding: _theme.spacing.lg,
|
|
248
|
-
onPress: () => onOpenConversation(conversation.id)
|
|
249
|
-
})]
|
|
250
|
-
}, conversation.id))
|
|
251
|
-
})]
|
|
252
235
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
253
236
|
style: _HomeViewStyles.styles.spacer,
|
|
254
237
|
children: showEmptyHint ? /*#__PURE__*/(0, _jsxRuntime.jsx)(FadeSlideIn, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_Avatar","_ConversationRow","_Gradient","_icons","_useReduceMotion","_useTopInset","_global","_theme","_rtl","_greeting","_HomeViewStyles","_jsxRuntime","resolveHeaderTextColor","config","fallbackColor","homeHeaderTextColor","palette","white","ink","homeBackgroundType","contrastingTextColor","homeBackgroundGradientStart","homeBackgroundColor","HomeView","color","visitorName","conversationCount","recentConversations","unreadByConversation","teamAgents","isOnline","offlineMessage","startConversationLabel","replyTimeLabel","allowNewConversations","showPreviousConversations","labels","onClose","onStartConversation","onViewConversations","onOpenConversation","heading","personalizeGreeting","welcomeHeading","subheading","welcomeSubheading","textColor","secondaryTextColor","withAlpha","startIconColor","backgroundType","gradientColors","homeBackgroundGradientMiddle","homeBackgroundGradientEnd","filter","Boolean","fade","homeBackgroundFade","jsx","FadeOverlay","height","HEADER_FADE_HEIGHT","showRecent","length","showViewAll","showEmptyHint","showAvatarStack","topInset","useTopInset","headerStyle","styles","header","paddingTop","spacing","xl","minHeight","HEADER_MIN_HEIGHT","paddingBottom","HEADER_BOTTOM_PADDING","START_CARD_LIFT","headerContent","jsxs","Fragment","children","View","style","headerTop","homeLogoUrl","HomeLogo","uri","Pressable","onPress","accessibilityRole","accessibilityLabel","close","hitSlop","closeButton","CloseIcon","size","CLOSE_ICON_SIZE","headerSpacer","FadeSlideIn","Text","ScrollView","globalStyles","screen","contentContainerStyle","contentContainer","keyboardShouldPersistTaps","homeBackgroundImageUrl","Image","source","StyleSheet","absoluteFill","resizeMode","accessibilityIgnoresInvertColors","imageScrim","GradientBackground","colors","backgroundColor","body","startCardSlot","delay","android_ripple","borderSoft","pressed","startCard","startCardPressed","startIcon","ChatIcon","startCopy","startTitle","startSubtitle","ArrowRightIcon","flipForRTL","bodyContent","offlineNotice","AlertIcon","offlineText","recentHeader","recentTitle","viewPrevious","viewAllButton","viewAllLabel","viewAll","card","recentCard","map","conversation","index","divider","recentDivider","ConversationRow","fallbackName","team","timeLabels","time","unreadCount","id","unreadLabel","unread","horizontalPadding","lg","spacer","emptyHint","ChatOutlineIcon","disabled","emptyHintText","noConversations","statusStrip","avatarStack","agent","Avatar","avatar","name","avatarStackItem","avatarStackOverlap","statusDot","online","textSubtle","statusText","numberOfLines","statusOnline","statusAway","aspectRatio","setAspectRatio","useState","logo","width","Math","min","LOGO_MAX_WIDTH","LOGO_HEIGHT","onLoad","event","nativeEvent","reduceMotion","useReduceMotion","progress","useRef","Animated","Value","current","useEffect","undefined","setValue","timing","toValue","duration","easing","Easing","out","quad","useNativeDriver","start","stopAnimation","translateY","interpolate","inputRange","outputRange","opacity","transform"],"sourceRoot":"../../../../../src","sources":["ui/screens/home/HomeView.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_Avatar","_ConversationRow","_Gradient","_icons","_useReduceMotion","_useTopInset","_global","_theme","_rtl","_greeting","_HomeViewStyles","_jsxRuntime","resolveHeaderTextColor","config","fallbackColor","homeHeaderTextColor","palette","white","ink","homeBackgroundType","contrastingTextColor","homeBackgroundGradientStart","homeBackgroundColor","HomeView","color","visitorName","conversationCount","recentConversation","unreadByConversation","teamAgents","isOnline","offlineMessage","startConversationLabel","replyTimeLabel","allowNewConversations","showPreviousConversations","labels","onClose","onStartConversation","onOpenConversation","heading","personalizeGreeting","welcomeHeading","subheading","welcomeSubheading","textColor","secondaryTextColor","withAlpha","startIconColor","backgroundType","gradientColors","homeBackgroundGradientMiddle","homeBackgroundGradientEnd","filter","Boolean","fade","homeBackgroundFade","jsx","FadeOverlay","height","HEADER_FADE_HEIGHT","recent","undefined","hasLeadCards","showEmptyHint","showAvatarStack","length","topInset","useTopInset","headerStyle","styles","header","paddingTop","spacing","xl","minHeight","HEADER_MIN_HEIGHT","paddingBottom","HEADER_BOTTOM_PADDING","LEAD_CARD_LIFT","headerContent","jsxs","Fragment","children","View","style","headerTop","homeLogoUrl","HomeLogo","uri","Pressable","onPress","accessibilityRole","accessibilityLabel","close","hitSlop","closeButton","CloseIcon","size","CLOSE_ICON_SIZE","headerSpacer","FadeSlideIn","Text","ScrollView","globalStyles","screen","contentContainerStyle","contentContainer","keyboardShouldPersistTaps","homeBackgroundImageUrl","Image","source","StyleSheet","absoluteFill","resizeMode","accessibilityIgnoresInvertColors","imageScrim","GradientBackground","colors","backgroundColor","body","leadCards","delay","recentCard","recentTitle","ConversationRow","variant","conversation","fallbackName","team","timeLabels","time","unreadCount","id","unreadLabel","unread","lastMessageLabels","lastMessage","horizontalPadding","android_ripple","borderSoft","pressed","startCard","startCardPressed","startIcon","ChatIcon","startCopy","startTitle","startSubtitle","ArrowRightIcon","flipForRTL","bodyContent","offlineNotice","AlertIcon","offlineText","spacer","emptyHint","ChatOutlineIcon","disabled","emptyHintText","noConversations","statusStrip","avatarStack","map","agent","index","Avatar","avatar","name","avatarStackItem","avatarStackOverlap","statusDot","online","textSubtle","statusText","numberOfLines","statusOnline","statusAway","aspectRatio","setAspectRatio","useState","logo","width","Math","min","LOGO_MAX_WIDTH","LOGO_HEIGHT","onLoad","event","nativeEvent","reduceMotion","useReduceMotion","progress","useRef","Animated","Value","current","useEffect","setValue","timing","toValue","duration","easing","Easing","out","quad","useNativeDriver","start","stopAnimation","translateY","interpolate","inputRange","outputRange","opacity","transform"],"sourceRoot":"../../../../../src","sources":["ui/screens/home/HomeView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.styles = exports.START_CARD_MIN_HEIGHT = exports.
|
|
6
|
+
exports.styles = exports.START_CARD_MIN_HEIGHT = exports.LOGO_MAX_WIDTH = exports.LOGO_HEIGHT = exports.LEAD_CARD_LIFT = exports.HEADER_MIN_HEIGHT = exports.HEADER_FADE_HEIGHT = exports.HEADER_BOTTOM_PADDING = exports.CLOSE_ICON_SIZE = exports.CLOSE_BUTTON_SIZE = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
-
var _ConversationRow = require("../../components/ConversationRow.js");
|
|
9
8
|
var _theme = require("../../styles/theme.js");
|
|
10
9
|
var _rtl = require("../../utils/rtl.js");
|
|
11
10
|
/**
|
|
@@ -15,15 +14,16 @@ var _rtl = require("../../utils/rtl.js");
|
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* Header geometry in dp, measured off the web widget so the two surfaces line
|
|
18
|
-
* up: a tall header with the greeting pinned low, a
|
|
17
|
+
* up: a tall header with the greeting pinned low, a first card that overhangs
|
|
19
18
|
* the seam by a fixed amount rather than half its height, and a fade that is a
|
|
20
19
|
* straight white ramp over the bottom of the header, starting just under the
|
|
21
20
|
* heading.
|
|
22
21
|
*/
|
|
23
22
|
const HEADER_MIN_HEIGHT = exports.HEADER_MIN_HEIGHT = 228;
|
|
24
|
-
/** Between the greeting and whatever comes next: the seam, or the
|
|
23
|
+
/** Between the greeting and whatever comes next: the seam, or the first card. */
|
|
25
24
|
const HEADER_BOTTOM_PADDING = exports.HEADER_BOTTOM_PADDING = 36;
|
|
26
|
-
|
|
25
|
+
/** How far the first card (recent message, else the start card) rides up over the seam. */
|
|
26
|
+
const LEAD_CARD_LIFT = exports.LEAD_CARD_LIFT = 28;
|
|
27
27
|
const START_CARD_MIN_HEIGHT = exports.START_CARD_MIN_HEIGHT = 76;
|
|
28
28
|
const HEADER_FADE_HEIGHT = exports.HEADER_FADE_HEIGHT = 90;
|
|
29
29
|
const CLOSE_BUTTON_SIZE = exports.CLOSE_BUTTON_SIZE = 28;
|
|
@@ -41,7 +41,7 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
41
41
|
minHeight: HEADER_MIN_HEIGHT,
|
|
42
42
|
paddingHorizontal: _theme.spacing.xl,
|
|
43
43
|
paddingTop: _theme.spacing.xl,
|
|
44
|
-
// When
|
|
44
|
+
// When a card overhangs the seam the component grows this to clear it.
|
|
45
45
|
paddingBottom: HEADER_BOTTOM_PADDING,
|
|
46
46
|
overflow: 'hidden'
|
|
47
47
|
},
|
|
@@ -84,7 +84,7 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
84
84
|
fontSize: _theme.fontSize.body,
|
|
85
85
|
lineHeight: _theme.fontSize.body * 1.4
|
|
86
86
|
},
|
|
87
|
-
// Meets the header on a straight seam. No top padding here: the
|
|
87
|
+
// Meets the header on a straight seam. No top padding here: the first card
|
|
88
88
|
// is pulled up past this edge, and the rest of the content takes its spacing
|
|
89
89
|
// from `bodyContent`.
|
|
90
90
|
body: {
|
|
@@ -115,12 +115,36 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
115
115
|
lineHeight: _theme.fontSize.meta * 1.4,
|
|
116
116
|
color: _theme.palette.warningText
|
|
117
117
|
},
|
|
118
|
-
|
|
119
|
-
marginTop: -
|
|
118
|
+
leadCards: {
|
|
119
|
+
marginTop: -LEAD_CARD_LIFT,
|
|
120
|
+
gap: _theme.spacing.md
|
|
120
121
|
},
|
|
121
|
-
//
|
|
122
|
-
//
|
|
123
|
-
//
|
|
122
|
+
// White like the row inside it, so a press is the only thing that tints it,
|
|
123
|
+
// with the start card's border and shadow so the two read as a stack. No
|
|
124
|
+
// `overflow: hidden`: it would clip the shadow on iOS, and the row never
|
|
125
|
+
// reaches the rounded corners anyway.
|
|
126
|
+
recentCard: {
|
|
127
|
+
paddingTop: _theme.spacing.lg,
|
|
128
|
+
paddingBottom: _theme.spacing.sm,
|
|
129
|
+
borderRadius: _theme.radius.lg,
|
|
130
|
+
borderWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
131
|
+
borderColor: _theme.palette.border,
|
|
132
|
+
backgroundColor: _theme.palette.white,
|
|
133
|
+
..._theme.shadows.card
|
|
134
|
+
},
|
|
135
|
+
// Inset like the start card's content, so the title, the avatar and the
|
|
136
|
+
// start card's icon share one left edge.
|
|
137
|
+
recentTitle: {
|
|
138
|
+
textAlign: _rtl.START_ALIGN,
|
|
139
|
+
paddingHorizontal: _theme.spacing.xl,
|
|
140
|
+
marginBottom: _theme.spacing.xs,
|
|
141
|
+
fontSize: _theme.fontSize.title,
|
|
142
|
+
fontWeight: '600',
|
|
143
|
+
color: _theme.palette.ink
|
|
144
|
+
},
|
|
145
|
+
// Neutral and opaque, like the web card: as the first card it spans two
|
|
146
|
+
// backgrounds, and a translucent or brand-tinted fill would let the header
|
|
147
|
+
// bleed through its top or stain the seam. Shadowed because without it the half over the
|
|
124
148
|
// header reads as a flat cut-out.
|
|
125
149
|
startCard: {
|
|
126
150
|
flexDirection: 'row',
|
|
@@ -161,39 +185,6 @@ const styles = exports.styles = _reactNative.StyleSheet.create({
|
|
|
161
185
|
color: _theme.palette.textSubtle,
|
|
162
186
|
marginTop: 2
|
|
163
187
|
},
|
|
164
|
-
recentHeader: {
|
|
165
|
-
flexDirection: 'row',
|
|
166
|
-
alignItems: 'center',
|
|
167
|
-
justifyContent: 'space-between',
|
|
168
|
-
minHeight: 28,
|
|
169
|
-
marginBottom: _theme.spacing.sm
|
|
170
|
-
},
|
|
171
|
-
recentTitle: {
|
|
172
|
-
textAlign: _rtl.START_ALIGN,
|
|
173
|
-
fontSize: _theme.fontSize.caption,
|
|
174
|
-
fontWeight: '700',
|
|
175
|
-
color: _theme.palette.textMuted,
|
|
176
|
-
letterSpacing: _reactNative.I18nManager.isRTL ? 0 : 0.6,
|
|
177
|
-
textTransform: 'uppercase'
|
|
178
|
-
},
|
|
179
|
-
viewAllButton: {
|
|
180
|
-
minHeight: 32,
|
|
181
|
-
paddingHorizontal: _theme.spacing.xs,
|
|
182
|
-
justifyContent: 'center'
|
|
183
|
-
},
|
|
184
|
-
viewAllLabel: {
|
|
185
|
-
textAlign: _rtl.START_ALIGN,
|
|
186
|
-
fontSize: _theme.fontSize.meta,
|
|
187
|
-
fontWeight: '600'
|
|
188
|
-
},
|
|
189
|
-
// Border rather than a shadow: `overflow: hidden` keeps the rows' ripple
|
|
190
|
-
// inside the rounded corners, and would clip a shadow on iOS anyway.
|
|
191
|
-
recentCard: {
|
|
192
|
-
overflow: 'hidden'
|
|
193
|
-
},
|
|
194
|
-
recentDivider: {
|
|
195
|
-
marginStart: (0, _ConversationRow.rowDividerInset)(_theme.spacing.lg)
|
|
196
|
-
},
|
|
197
188
|
// Absorbs the slack so the status strip stays pinned to the bottom, and
|
|
198
189
|
// centers the empty hint when there is nothing else to show.
|
|
199
190
|
spacer: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_theme","_rtl","HEADER_MIN_HEIGHT","exports","HEADER_BOTTOM_PADDING","LEAD_CARD_LIFT","START_CARD_MIN_HEIGHT","HEADER_FADE_HEIGHT","CLOSE_BUTTON_SIZE","LOGO_HEIGHT","LOGO_MAX_WIDTH","CLOSE_ICON_SIZE","styles","StyleSheet","create","contentContainer","flexGrow","header","minHeight","paddingHorizontal","spacing","xl","paddingTop","paddingBottom","overflow","imageScrim","absoluteFillObject","backgroundColor","headerTop","flexDirection","alignItems","justifyContent","headerSpacer","flex","logo","height","closeButton","marginStart","padding","borderRadius","radius","pill","heading","textAlign","START_ALIGN","fontSize","display","lineHeight","fontWeight","marginBottom","md","subheading","body","palette","white","xxl","bodyContent","offlineNotice","gap","sm","warningBg","borderWidth","hairlineWidth","borderColor","warningBorder","lg","offlineText","meta","color","warningText","leadCards","marginTop","recentCard","border","shadows","card","recentTitle","xs","title","ink","startCard","paddingVertical","surface","startCardPressed","opacity","startIcon","width","startCopy","minWidth","startTitle","startSubtitle","textSubtle","spacer","emptyHint","emptyHintText","statusStrip","borderTopWidth","borderTopColor","borderSoft","avatarStack","avatarStackItem","avatarStackOverlap","statusDot","statusText","textMuted"],"sourceRoot":"../../../../../src","sources":["ui/screens/home/HomeView.styles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.decodeEntities = decodeEntities;
|
|
7
|
+
exports.htmlToMarkdown = htmlToMarkdown;
|
|
7
8
|
exports.htmlToText = htmlToText;
|
|
8
9
|
exports.stripHtml = stripHtml;
|
|
9
10
|
/**
|
|
@@ -38,6 +39,18 @@ function stripHtml(html) {
|
|
|
38
39
|
return decodeEntities(html.replace(/<br\s*\/?>/gi, '\n').replace(/<\/(p|div|li|h[1-6]|blockquote|tr)>/gi, '\n').replace(/<li[^>]*>/gi, '• ').replace(/<[^>]+>/g, '')).replace(/\n{3,}/g, '\n\n').trim();
|
|
39
40
|
}
|
|
40
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Agent reply HTML → the Markdown subset `Markdown` draws: paragraphs, line
|
|
44
|
+
* breaks, lists, bold, italic, inline code and links. Other tags keep their text.
|
|
45
|
+
*/
|
|
46
|
+
function htmlToMarkdown(html) {
|
|
47
|
+
if (!html) return '';
|
|
48
|
+
return decodeEntities(html.replace(/<br\s*\/?>/gi, '\n').replace(/<ol\b[^>]*>([\s\S]*?)<\/ol>/gi, (_list, items) => {
|
|
49
|
+
let number = 0;
|
|
50
|
+
return `\n\n${items.replace(/<li\b[^>]*>/gi, () => `\n${++number}. `)}\n\n`;
|
|
51
|
+
}).replace(/<li\b[^>]*>/gi, '\n- ').replace(/<\/(p|div|h[1-6]|blockquote|ul|tr)>/gi, '\n\n').replace(/<(strong|b)\b[^>]*>([\s\S]+?)<\/\1>/gi, '**$2**').replace(/<(em|i)\b[^>]*>([\s\S]+?)<\/\1>/gi, '*$2*').replace(/<code\b[^>]*>([\s\S]+?)<\/code>/gi, '`$1`').replace(/<a\b[^>]*?\bhref=(["'])(.*?)\1[^>]*>([\s\S]*?)<\/a>/gi, '[$3]($2)').replace(/<[^>]+>/g, '')).replace(/[ \t]+\n/g, '\n').replace(/\n{3,}/g, '\n\n').trim();
|
|
52
|
+
}
|
|
53
|
+
|
|
41
54
|
/** Single-line flattening used for campaign cards and list snippets. */
|
|
42
55
|
function htmlToText(html) {
|
|
43
56
|
if (!html) return '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ENTITIES","decodeNumericEntity","match","decimal","hex","code","undefined","Number","parseInt","valid","isInteger","String","fromCodePoint","decodeEntities","text","replace","stripHtml","html","trim","htmlToText","spaced","renderFallbackTokens"],"sourceRoot":"../../../../src","sources":["ui/utils/html.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["ENTITIES","decodeNumericEntity","match","decimal","hex","code","undefined","Number","parseInt","valid","isInteger","String","fromCodePoint","decodeEntities","text","replace","stripHtml","html","trim","htmlToMarkdown","_list","items","number","htmlToText","spaced","renderFallbackTokens"],"sourceRoot":"../../../../src","sources":["ui/utils/html.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ImageLoadQueue = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Lets images load a few at a time, highest priority first. The chat runs its
|
|
9
|
+
* large images through it: Android holds a whole download in a memory pool
|
|
10
|
+
* capped at three quarters of the app's heap (192 MB on a 256 MB phone), so
|
|
11
|
+
* several 30–50 MB photos at once overflow it and every one of them fails.
|
|
12
|
+
*
|
|
13
|
+
* No `react-native` import on purpose: it stays testable in plain Node.
|
|
14
|
+
*/
|
|
15
|
+
class ImageLoadQueue {
|
|
16
|
+
// Key → priority, for both: an image paused off screen waits again at its own.
|
|
17
|
+
waiting = new Map();
|
|
18
|
+
loading = new Map();
|
|
19
|
+
done = new Set();
|
|
20
|
+
/** The images on screen; null until the list says, so all of them count. */
|
|
21
|
+
onScreen = null;
|
|
22
|
+
listeners = new Set();
|
|
23
|
+
scheduled = false;
|
|
24
|
+
constructor(concurrency) {
|
|
25
|
+
this.concurrency = concurrency;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Queues a mounted image; the returned cleanup gives up its place. */
|
|
29
|
+
add(key, priority) {
|
|
30
|
+
if (!this.done.has(key) && !this.loading.has(key)) {
|
|
31
|
+
this.waiting.set(key, Number.isFinite(priority) ? priority : 0);
|
|
32
|
+
this.schedule();
|
|
33
|
+
}
|
|
34
|
+
return () => this.remove(key);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Loaded or failed: it keeps showing, and the next image may start. */
|
|
38
|
+
finish(key) {
|
|
39
|
+
this.waiting.delete(key);
|
|
40
|
+
this.done.add(key);
|
|
41
|
+
if (this.loading.delete(key)) this.advance();
|
|
42
|
+
}
|
|
43
|
+
canLoad = key => this.done.has(key) || this.loading.has(key);
|
|
44
|
+
subscribe = listener => {
|
|
45
|
+
this.listeners.add(listener);
|
|
46
|
+
return () => {
|
|
47
|
+
this.listeners.delete(listener);
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The images now on screen. One that scrolls off before it has loaded
|
|
53
|
+
* gives up its place and waits, so it can't hold up the ones in view:
|
|
54
|
+
* Android detaches a row scrolled out of view, and a detached image never
|
|
55
|
+
* finishes loading. Only images on screen are started.
|
|
56
|
+
*/
|
|
57
|
+
setOnScreen(keys) {
|
|
58
|
+
this.onScreen = new Set(keys);
|
|
59
|
+
let paused = false;
|
|
60
|
+
this.loading.forEach((priority, key) => {
|
|
61
|
+
if (this.onScreen.has(key)) return;
|
|
62
|
+
this.loading.delete(key);
|
|
63
|
+
this.waiting.set(key, priority);
|
|
64
|
+
paused = true;
|
|
65
|
+
});
|
|
66
|
+
if (!this.advance() && paused) this.notify();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Scrolled out of the list before it loaded: it queues again if it comes back. */
|
|
70
|
+
remove(key) {
|
|
71
|
+
this.waiting.delete(key);
|
|
72
|
+
if (this.loading.delete(key)) this.advance();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Hands out places once the render that mounted an image is done, so all
|
|
77
|
+
* the images mounted together are queued first, whatever order they
|
|
78
|
+
* mounted in.
|
|
79
|
+
*/
|
|
80
|
+
schedule() {
|
|
81
|
+
if (this.scheduled) return;
|
|
82
|
+
this.scheduled = true;
|
|
83
|
+
Promise.resolve().then(() => {
|
|
84
|
+
this.scheduled = false;
|
|
85
|
+
this.advance();
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Starts what fits; true when anything started (listeners were told). */
|
|
90
|
+
advance() {
|
|
91
|
+
let started = false;
|
|
92
|
+
while (this.loading.size < this.concurrency) {
|
|
93
|
+
let next = null;
|
|
94
|
+
let best = -Infinity;
|
|
95
|
+
this.waiting.forEach((priority, key) => {
|
|
96
|
+
if (priority > best && (!this.onScreen || this.onScreen.has(key))) {
|
|
97
|
+
best = priority;
|
|
98
|
+
next = key;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
if (next === null) break;
|
|
102
|
+
this.waiting.delete(next);
|
|
103
|
+
this.loading.set(next, best);
|
|
104
|
+
started = true;
|
|
105
|
+
}
|
|
106
|
+
if (started) this.notify();
|
|
107
|
+
return started;
|
|
108
|
+
}
|
|
109
|
+
notify() {
|
|
110
|
+
this.listeners.forEach(listener => listener());
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.ImageLoadQueue = ImageLoadQueue;
|
|
114
|
+
//# sourceMappingURL=image-load-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ImageLoadQueue","waiting","Map","loading","done","Set","onScreen","listeners","scheduled","constructor","concurrency","add","key","priority","has","set","Number","isFinite","schedule","remove","finish","delete","advance","canLoad","subscribe","listener","setOnScreen","keys","paused","forEach","notify","Promise","resolve","then","started","size","next","best","Infinity","exports"],"sourceRoot":"../../../../src","sources":["ui/utils/image-load-queue.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,cAAc,CAAC;EAC1B;EACiBC,OAAO,GAAG,IAAIC,GAAG,CAAiB,CAAC;EACnCC,OAAO,GAAG,IAAID,GAAG,CAAiB,CAAC;EACnCE,IAAI,GAAG,IAAIC,GAAG,CAAS,CAAC;EACzC;EACQC,QAAQ,GAA+B,IAAI;EAClCC,SAAS,GAAG,IAAIF,GAAG,CAAa,CAAC;EAC1CG,SAAS,GAAG,KAAK;EAEzBC,WAAWA,CAAkBC,WAAmB,EAAE;IAAA,KAArBA,WAAmB,GAAnBA,WAAmB;EAAG;;EAEnD;EACAC,GAAGA,CAACC,GAAW,EAAEC,QAAgB,EAAc;IAC7C,IAAI,CAAC,IAAI,CAACT,IAAI,CAACU,GAAG,CAACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAACT,OAAO,CAACW,GAAG,CAACF,GAAG,CAAC,EAAE;MACjD,IAAI,CAACX,OAAO,CAACc,GAAG,CAACH,GAAG,EAAEI,MAAM,CAACC,QAAQ,CAACJ,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAAC,CAAC;MAC/D,IAAI,CAACK,QAAQ,CAAC,CAAC;IACjB;IACA,OAAO,MAAM,IAAI,CAACC,MAAM,CAACP,GAAG,CAAC;EAC/B;;EAEA;EACAQ,MAAMA,CAACR,GAAW,EAAQ;IACxB,IAAI,CAACX,OAAO,CAACoB,MAAM,CAACT,GAAG,CAAC;IACxB,IAAI,CAACR,IAAI,CAACO,GAAG,CAACC,GAAG,CAAC;IAClB,IAAI,IAAI,CAACT,OAAO,CAACkB,MAAM,CAACT,GAAG,CAAC,EAAE,IAAI,CAACU,OAAO,CAAC,CAAC;EAC9C;EAEAC,OAAO,GAAIX,GAAW,IAAc,IAAI,CAACR,IAAI,CAACU,GAAG,CAACF,GAAG,CAAC,IAAI,IAAI,CAACT,OAAO,CAACW,GAAG,CAACF,GAAG,CAAC;EAE/EY,SAAS,GAAIC,QAAoB,IAAmB;IAClD,IAAI,CAAClB,SAAS,CAACI,GAAG,CAACc,QAAQ,CAAC;IAC5B,OAAO,MAAM;MACX,IAAI,CAAClB,SAAS,CAACc,MAAM,CAACI,QAAQ,CAAC;IACjC,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,WAAWA,CAACC,IAAsB,EAAQ;IACxC,IAAI,CAACrB,QAAQ,GAAG,IAAID,GAAG,CAACsB,IAAI,CAAC;IAC7B,IAAIC,MAAM,GAAG,KAAK;IAClB,IAAI,CAACzB,OAAO,CAAC0B,OAAO,CAAC,CAAChB,QAAQ,EAAED,GAAG,KAAK;MACtC,IAAI,IAAI,CAACN,QAAQ,CAAEQ,GAAG,CAACF,GAAG,CAAC,EAAE;MAC7B,IAAI,CAACT,OAAO,CAACkB,MAAM,CAACT,GAAG,CAAC;MACxB,IAAI,CAACX,OAAO,CAACc,GAAG,CAACH,GAAG,EAAEC,QAAQ,CAAC;MAC/Be,MAAM,GAAG,IAAI;IACf,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAACN,OAAO,CAAC,CAAC,IAAIM,MAAM,EAAE,IAAI,CAACE,MAAM,CAAC,CAAC;EAC9C;;EAEA;EACQX,MAAMA,CAACP,GAAW,EAAQ;IAChC,IAAI,CAACX,OAAO,CAACoB,MAAM,CAACT,GAAG,CAAC;IACxB,IAAI,IAAI,CAACT,OAAO,CAACkB,MAAM,CAACT,GAAG,CAAC,EAAE,IAAI,CAACU,OAAO,CAAC,CAAC;EAC9C;;EAEA;AACF;AACA;AACA;AACA;EACUJ,QAAQA,CAAA,EAAS;IACvB,IAAI,IAAI,CAACV,SAAS,EAAE;IACpB,IAAI,CAACA,SAAS,GAAG,IAAI;IACrBuB,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM;MAC3B,IAAI,CAACzB,SAAS,GAAG,KAAK;MACtB,IAAI,CAACc,OAAO,CAAC,CAAC;IAChB,CAAC,CAAC;EACJ;;EAEA;EACQA,OAAOA,CAAA,EAAY;IACzB,IAAIY,OAAO,GAAG,KAAK;IACnB,OAAO,IAAI,CAAC/B,OAAO,CAACgC,IAAI,GAAG,IAAI,CAACzB,WAAW,EAAE;MAC3C,IAAI0B,IAAmB,GAAG,IAAI;MAC9B,IAAIC,IAAI,GAAG,CAACC,QAAQ;MACpB,IAAI,CAACrC,OAAO,CAAC4B,OAAO,CAAC,CAAChB,QAAQ,EAAED,GAAG,KAAK;QACtC,IAAIC,QAAQ,GAAGwB,IAAI,KAAK,CAAC,IAAI,CAAC/B,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAACQ,GAAG,CAACF,GAAG,CAAC,CAAC,EAAE;UACjEyB,IAAI,GAAGxB,QAAQ;UACfuB,IAAI,GAAGxB,GAAG;QACZ;MACF,CAAC,CAAC;MACF,IAAIwB,IAAI,KAAK,IAAI,EAAE;MACnB,IAAI,CAACnC,OAAO,CAACoB,MAAM,CAACe,IAAI,CAAC;MACzB,IAAI,CAACjC,OAAO,CAACY,GAAG,CAACqB,IAAI,EAAEC,IAAI,CAAC;MAC5BH,OAAO,GAAG,IAAI;IAChB;IACA,IAAIA,OAAO,EAAE,IAAI,CAACJ,MAAM,CAAC,CAAC;IAC1B,OAAOI,OAAO;EAChB;EAEQJ,MAAMA,CAAA,EAAS;IACrB,IAAI,CAACvB,SAAS,CAACsB,OAAO,CAAEJ,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EAClD;AACF;AAACc,OAAA,CAAAvC,cAAA,GAAAA,cAAA","ignoreList":[]}
|