@alxxsck/ai-assistant 3.8.0 → 3.9.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.
Files changed (38) hide show
  1. package/dist/{Avatar-BVcB0FXs.js → Avatar-CFd9Otwo.js} +1 -1
  2. package/dist/ChatWidgetContent-M0SYdZ2j.js +6859 -0
  3. package/dist/MediaVideoPlayer-BlJVnBw2.js +7695 -0
  4. package/dist/MediaVideoViewer-D6FNvdwQ.js +75 -0
  5. package/dist/ai-assistant.css +1 -1
  6. package/dist/api/messages.api.d.ts +11 -0
  7. package/dist/api/messages.api.types.d.ts +38 -2
  8. package/dist/api/messenger-link.api.d.ts +45 -0
  9. package/dist/bridge-ai-chat-widget.es.js +1 -1
  10. package/dist/config/media-sharing.d.ts +1 -0
  11. package/dist/context/ChatWidgetContext.d.ts +7 -0
  12. package/dist/domain/command/CommandRuntime.d.ts +1 -0
  13. package/dist/domain/command/command.types.d.ts +2 -2
  14. package/dist/domain/message/message.store.d.ts +13 -0
  15. package/dist/domain/support-presentation/support-presentation.types.d.ts +1 -1
  16. package/dist/i18n/media-chrome.d.ts +1 -0
  17. package/dist/i18n/messages.d.ts +54 -1
  18. package/dist/i18n/support-messages.d.ts +25 -0
  19. package/dist/index-_XUrpFzQ.js +3062 -0
  20. package/dist/{mount-KKMc9WTH.js → mount-DNkE0lYL.js} +9131 -8092
  21. package/dist/photoswipe.esm-Bc05x7rO.js +2952 -0
  22. package/dist/ui/components/MediaPhotoViewer.d.ts +17 -0
  23. package/dist/ui/components/MediaVideoPlayer.d.ts +9 -0
  24. package/dist/ui/components/MediaVideoViewer.d.ts +7 -0
  25. package/dist/ui/components/MessengerConnectionNotice.d.ts +1 -0
  26. package/dist/ui/components/SupportAssignmentTimeline.d.ts +4 -0
  27. package/dist/ui/components/SupportConversationControls.d.ts +4 -0
  28. package/dist/ui/components/SupportHistory.d.ts +5 -0
  29. package/dist/ui/components/UserMediaLibrary.d.ts +4 -2
  30. package/dist/ui/components/VideoTeaser.d.ts +5 -0
  31. package/dist/ui/components/usePhotoVeilExclusions.d.ts +3 -0
  32. package/dist/ui/hooks/useSupportAssignmentEvents.d.ts +2 -0
  33. package/dist/ui/hooks/useSupportConversationSync.d.ts +1 -0
  34. package/dist/ui/hooks/useSupportReadOnly.d.ts +2 -0
  35. package/dist/ui/responder-visual-state.d.ts +1 -1
  36. package/package.json +4 -1
  37. package/dist/ChatWidgetContent-6mPzQaga.js +0 -5496
  38. package/dist/index-CoNRUH9c.js +0 -2913
@@ -0,0 +1,75 @@
1
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
+ import { createPortal as h } from "react-dom";
3
+ import { useRef as b, useState as c, useEffect as w } from "react";
4
+ import x from "./MediaVideoPlayer-BlJVnBw2.js";
5
+ import { x as g } from "./mount-DNkE0lYL.js";
6
+ import { D as p, X as y } from "./ChatWidgetContent-M0SYdZ2j.js";
7
+ const k = ".lola-video-viewer{position:fixed;inset:0;margin:auto;border:0;padding:0;width:min(100vw,1100px);height:100dvh;max-width:100vw;max-height:100dvh;background:#101217;color:#fff;font:14px/1.4 system-ui,sans-serif;display:flex;flex-direction:column;overscroll-behavior:contain;opacity:1;transform:translateY(0);transition:opacity .18s var(--chat-ease-out, cubic-bezier(.23, 1, .32, 1)),transform .18s var(--chat-ease-out, cubic-bezier(.23, 1, .32, 1))}@starting-style{.lola-video-viewer[open]{opacity:0;transform:translateY(6px)}}.lola-video-viewer::backdrop{background:#080a10eb}.lola-video-viewer header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));gap:12px}.lola-video-viewer header>div{display:flex;gap:8px}.lola-video-viewer button,.lola-video-viewer a{display:inline-flex;align-items:center;justify-content:center;background:#ffffff12;border:0;border-radius:50%;color:#fff;width:44px;height:44px;cursor:pointer}.lola-video-viewer button:focus-visible,.lola-video-viewer a:focus-visible{outline:2px solid white;outline-offset:2px}.lola-video-viewer main{flex:1;min-height:0;padding-bottom:env(safe-area-inset-bottom)}.lola-video-viewer p{padding:8px 16px}@media(prefers-reduced-motion:reduce){.lola-video-viewer{transition:opacity .12s ease;transform:none}@starting-style{.lola-video-viewer[open]{transform:none}}}";
8
+ function P({
9
+ src: f,
10
+ poster: v,
11
+ download: t,
12
+ onDownload: n,
13
+ close: l
14
+ }) {
15
+ const s = b(null), [u, d] = c(!1), [m, r] = c(!1), { t: o } = g();
16
+ return w(() => {
17
+ const i = s.current;
18
+ return i?.showModal(), () => i?.close();
19
+ }, []), h(
20
+ /* @__PURE__ */ a(
21
+ "dialog",
22
+ {
23
+ ref: s,
24
+ className: "lola-video-viewer",
25
+ "aria-label": o("photo.videoViewer"),
26
+ onCancel: (i) => {
27
+ i.preventDefault(), i.stopPropagation(), l();
28
+ },
29
+ children: [
30
+ /* @__PURE__ */ e("style", { children: k }),
31
+ /* @__PURE__ */ a("header", { children: [
32
+ /* @__PURE__ */ e("span", { children: o("photo.videoViewer") }),
33
+ /* @__PURE__ */ a("div", { children: [
34
+ n ? /* @__PURE__ */ e(
35
+ "button",
36
+ {
37
+ "aria-label": o("attachment.download"),
38
+ disabled: u,
39
+ onClick: () => {
40
+ d(!0), r(!1), n().catch(() => r(!0)).finally(() => d(!1));
41
+ },
42
+ children: /* @__PURE__ */ e(p, { size: 20 })
43
+ }
44
+ ) : t && /* @__PURE__ */ e(
45
+ "a",
46
+ {
47
+ href: t,
48
+ download: "video.mp4",
49
+ target: "_blank",
50
+ rel: "noopener noreferrer",
51
+ "aria-label": o("attachment.download"),
52
+ children: /* @__PURE__ */ e(p, { size: 20 })
53
+ }
54
+ ),
55
+ /* @__PURE__ */ e("button", { "aria-label": o("controls.close"), onClick: l, children: /* @__PURE__ */ e(y, { size: 22 }) })
56
+ ] })
57
+ ] }),
58
+ /* @__PURE__ */ e("main", { children: /* @__PURE__ */ e(
59
+ x,
60
+ {
61
+ src: f,
62
+ poster: v,
63
+ onError: () => r(!0)
64
+ }
65
+ ) }),
66
+ m && /* @__PURE__ */ e("p", { role: "alert", children: o("photo.requestFailed") })
67
+ ]
68
+ }
69
+ ),
70
+ document.body
71
+ );
72
+ }
73
+ export {
74
+ P as default
75
+ };
@@ -1 +1 @@
1
- .lola-media-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 13px;border:1px solid #ffffff26;border-radius:18px;background:#303440;color:#fff;font:inherit;font-size:13px;cursor:pointer;text-decoration:none}.lola-media-button:disabled{opacity:.5;cursor:default}.lola-media-dialog{position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 32px));max-height:min(640px,85dvh);overflow:auto;padding:18px;border:1px solid #ffffff26;border-radius:20px;background:#1b2029;color:#fff;font:14px/1.45 system-ui;box-shadow:0 20px 80px #0008}.lola-media-dialog::backdrop{background:#0008}.lola-media-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.lola-media-dialog p{margin:12px 0;color:#c3cad7}.lola-media-dialog .lola-media-button{margin:5px 6px 5px 0}.lola-media-list{display:grid;gap:6px;max-height:260px;overflow:auto;margin:12px 0}.lola-media-list label{display:flex;align-items:center;gap:10px;padding:9px;border-radius:10px;background:#ffffff08;overflow-wrap:anywhere}.lola-media-list small{display:block;color:#a3adbd;font-size:11px}.lola-photo-expired{width:min(100%,320px);padding:16px;border-radius:18px;background:#252830;color:#e2e6ef;display:grid;gap:12px;font-size:13px;animation:lola-media-appear .18s ease-out}.lola-photo__send{position:absolute;bottom:10px;left:10px;right:10px;display:flex;justify-content:center}@keyframes lola-media-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.lola-photo-expired{animation:none}}.lola-media-thumbnail{width:42px;height:52px;object-fit:cover;border-radius:6px;flex-shrink:0}.lola-photo{position:relative;width:min(100%,320px);max-height:440px;overflow:hidden;border-radius:18px;background:#252830;isolation:isolate}.lola-photo__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lola-photo__original{background:#252830;opacity:0;transition:opacity .26s var(--chat-ease-out, cubic-bezier(.23, 1, .32, 1))}.lola-photo__original.is-ready{opacity:1}.lola-photo__veil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;background:linear-gradient(145deg,#ede5e912,#1b172c24);text-shadow:0 1px 4px #0005;font-size:13px;padding:24px;text-align:center;pointer-events:none;transition:opacity .26s var(--chat-ease-out, cubic-bezier(.23, 1, .32, 1))}.lola-photo__preview{filter:blur(5px);transform:scale(1.08)}.lola-photo.is-revealed .lola-photo__veil{opacity:0}.lola-photo__dust{position:absolute;inset:0;overflow:hidden}.lola-photo__dust span{position:absolute;inset:-24px;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%3e%3cg%20fill='white'%3e%3ccircle%20cx='54.86'%20cy='224.21'%20r='0.82'%20opacity='0.54'/%3e%3ccircle%20cx='139.50'%20cy='95.41'%20r='0.65'%20opacity='0.67'/%3e%3ccircle%20cx='101.11'%20cy='32.85'%20r='0.75'%20opacity='0.50'/%3e%3ccircle%20cx='84.19'%20cy='74.24'%20r='0.94'%20opacity='0.49'/%3e%3ccircle%20cx='250.37'%20cy='247.69'%20r='0.83'%20opacity='0.90'/%3e%3ccircle%20cx='140.16'%20cy='137.84'%20r='0.76'%20opacity='0.73'/%3e%3ccircle%20cx='179.85'%20cy='100.26'%20r='0.73'%20opacity='0.96'/%3e%3ccircle%20cx='73.74'%20cy='0.07'%20r='0.62'%20opacity='0.54'/%3e%3ccircle%20cx='149.59'%20cy='118.85'%20r='0.80'%20opacity='0.97'/%3e%3ccircle%20cx='13.32'%20cy='233.77'%20r='0.46'%20opacity='0.80'/%3e%3ccircle%20cx='196.97'%20cy='105.01'%20r='0.80'%20opacity='0.96'/%3e%3ccircle%20cx='3.87'%20cy='63.34'%20r='1.00'%20opacity='0.48'/%3e%3ccircle%20cx='179.17'%20cy='198.06'%20r='0.69'%20opacity='0.58'/%3e%3ccircle%20cx='153.44'%20cy='37.14'%20r='0.76'%20opacity='0.99'/%3e%3ccircle%20cx='151.72'%20cy='163.59'%20r='0.49'%20opacity='0.68'/%3e%3ccircle%20cx='91.66'%20cy='108.11'%20r='0.58'%20opacity='0.45'/%3e%3ccircle%20cx='58.99'%20cy='233.96'%20r='0.77'%20opacity='0.38'/%3e%3ccircle%20cx='44.23'%20cy='34.15'%20r='1.11'%20opacity='0.31'/%3e%3ccircle%20cx='16.64'%20cy='172.77'%20r='0.94'%20opacity='0.95'/%3e%3ccircle%20cx='195.44'%20cy='50.70'%20r='0.78'%20opacity='0.35'/%3e%3ccircle%20cx='162.20'%20cy='147.42'%20r='0.79'%20opacity='0.81'/%3e%3ccircle%20cx='130.64'%20cy='23.22'%20r='0.68'%20opacity='0.53'/%3e%3ccircle%20cx='73.50'%20cy='81.55'%20r='0.63'%20opacity='0.87'/%3e%3ccircle%20cx='150.78'%20cy='151.68'%20r='0.90'%20opacity='0.96'/%3e%3ccircle%20cx='59.20'%20cy='47.57'%20r='0.52'%20opacity='0.39'/%3e%3ccircle%20cx='106.88'%20cy='155.06'%20r='0.97'%20opacity='0.32'/%3e%3ccircle%20cx='225.30'%20cy='163.17'%20r='0.80'%20opacity='0.96'/%3e%3ccircle%20cx='106.53'%20cy='7.86'%20r='0.80'%20opacity='0.85'/%3e%3ccircle%20cx='133.63'%20cy='247.80'%20r='1.07'%20opacity='0.35'/%3e%3ccircle%20cx='20.41'%20cy='180.60'%20r='0.85'%20opacity='0.51'/%3e%3ccircle%20cx='76.33'%20cy='7.16'%20r='1.14'%20opacity='0.78'/%3e%3ccircle%20cx='92.76'%20cy='104.31'%20r='0.76'%20opacity='0.93'/%3e%3ccircle%20cx='126.39'%20cy='1.72'%20r='0.49'%20opacity='0.77'/%3e%3ccircle%20cx='95.93'%20cy='235.04'%20r='0.60'%20opacity='0.31'/%3e%3ccircle%20cx='36.10'%20cy='71.24'%20r='1.04'%20opacity='0.71'/%3e%3ccircle%20cx='100.81'%20cy='38.35'%20r='0.66'%20opacity='0.72'/%3e%3ccircle%20cx='239.61'%20cy='79.23'%20r='0.72'%20opacity='0.34'/%3e%3ccircle%20cx='47.40'%20cy='85.81'%20r='1.06'%20opacity='0.47'/%3e%3ccircle%20cx='119.38'%20cy='161.45'%20r='0.89'%20opacity='0.95'/%3e%3ccircle%20cx='163.26'%20cy='71.53'%20r='0.54'%20opacity='0.76'/%3e%3ccircle%20cx='192.71'%20cy='222.44'%20r='1.09'%20opacity='0.88'/%3e%3ccircle%20cx='182.04'%20cy='172.62'%20r='0.73'%20opacity='0.90'/%3e%3ccircle%20cx='26.20'%20cy='216.01'%20r='0.53'%20opacity='0.53'/%3e%3ccircle%20cx='177.94'%20cy='121.69'%20r='0.47'%20opacity='0.94'/%3e%3ccircle%20cx='70.31'%20cy='185.74'%20r='1.02'%20opacity='0.80'/%3e%3ccircle%20cx='200.28'%20cy='87.40'%20r='0.52'%20opacity='0.37'/%3e%3ccircle%20cx='245.81'%20cy='65.45'%20r='0.50'%20opacity='0.47'/%3e%3ccircle%20cx='243.94'%20cy='34.89'%20r='1.12'%20opacity='0.90'/%3e%3ccircle%20cx='146.31'%20cy='7.75'%20r='0.59'%20opacity='0.34'/%3e%3ccircle%20cx='43.85'%20cy='126.33'%20r='0.83'%20opacity='0.37'/%3e%3ccircle%20cx='88.74'%20cy='216.51'%20r='0.56'%20opacity='0.69'/%3e%3ccircle%20cx='229.57'%20cy='113.43'%20r='0.82'%20opacity='0.44'/%3e%3ccircle%20cx='195.86'%20cy='27.36'%20r='1.10'%20opacity='0.61'/%3e%3ccircle%20cx='231.70'%20cy='25.88'%20r='0.70'%20opacity='0.64'/%3e%3ccircle%20cx='70.76'%20cy='76.20'%20r='0.89'%20opacity='0.43'/%3e%3ccircle%20cx='108.44'%20cy='107.89'%20r='1.06'%20opacity='0.55'/%3e%3ccircle%20cx='87.36'%20cy='131.70'%20r='0.74'%20opacity='0.45'/%3e%3ccircle%20cx='148.04'%20cy='2.71'%20r='0.50'%20opacity='0.93'/%3e%3ccircle%20cx='200.89'%20cy='15.78'%20r='0.63'%20opacity='0.68'/%3e%3ccircle%20cx='39.36'%20cy='1.09'%20r='0.71'%20opacity='0.38'/%3e%3ccircle%20cx='118.44'%20cy='28.13'%20r='0.77'%20opacity='0.34'/%3e%3ccircle%20cx='170.32'%20cy='1.79'%20r='1.10'%20opacity='0.74'/%3e%3ccircle%20cx='61.40'%20cy='106.73'%20r='0.49'%20opacity='0.45'/%3e%3ccircle%20cx='190.43'%20cy='24.09'%20r='0.83'%20opacity='0.37'/%3e%3ccircle%20cx='72.00'%20cy='28.30'%20r='0.46'%20opacity='0.68'/%3e%3ccircle%20cx='213.25'%20cy='224.29'%20r='0.90'%20opacity='0.36'/%3e%3ccircle%20cx='167.80'%20cy='136.83'%20r='0.57'%20opacity='0.61'/%3e%3ccircle%20cx='50.96'%20cy='160.20'%20r='1.02'%20opacity='0.61'/%3e%3ccircle%20cx='64.19'%20cy='40.08'%20r='0.50'%20opacity='0.81'/%3e%3ccircle%20cx='64.79'%20cy='119.66'%20r='0.66'%20opacity='0.59'/%3e%3ccircle%20cx='0.88'%20cy='138.07'%20r='0.87'%20opacity='0.79'/%3e%3ccircle%20cx='47.55'%20cy='161.00'%20r='0.68'%20opacity='0.45'/%3e%3ccircle%20cx='112.40'%20cy='95.60'%20r='0.72'%20opacity='0.78'/%3e%3ccircle%20cx='234.15'%20cy='193.59'%20r='0.52'%20opacity='0.36'/%3e%3ccircle%20cx='134.64'%20cy='146.71'%20r='0.51'%20opacity='0.50'/%3e%3ccircle%20cx='88.03'%20cy='74.30'%20r='1.01'%20opacity='0.37'/%3e%3ccircle%20cx='215.28'%20cy='111.23'%20r='0.72'%20opacity='0.35'/%3e%3ccircle%20cx='239.77'%20cy='232.03'%20r='0.59'%20opacity='0.56'/%3e%3ccircle%20cx='12.35'%20cy='219.25'%20r='1.09'%20opacity='0.91'/%3e%3ccircle%20cx='153.48'%20cy='4.17'%20r='0.64'%20opacity='0.94'/%3e%3ccircle%20cx='176.71'%20cy='159.62'%20r='1.08'%20opacity='0.78'/%3e%3ccircle%20cx='225.37'%20cy='85.15'%20r='0.80'%20opacity='0.31'/%3e%3ccircle%20cx='74.54'%20cy='192.45'%20r='0.93'%20opacity='0.33'/%3e%3ccircle%20cx='122.23'%20cy='126.92'%20r='1.15'%20opacity='0.42'/%3e%3ccircle%20cx='197.85'%20cy='229.62'%20r='0.45'%20opacity='0.33'/%3e%3ccircle%20cx='15.91'%20cy='195.41'%20r='0.80'%20opacity='0.77'/%3e%3ccircle%20cx='46.98'%20cy='211.30'%20r='0.55'%20opacity='0.91'/%3e%3ccircle%20cx='105.86'%20cy='195.11'%20r='0.56'%20opacity='0.73'/%3e%3ccircle%20cx='189.09'%20cy='242.39'%20r='1.04'%20opacity='0.96'/%3e%3ccircle%20cx='221.60'%20cy='77.50'%20r='0.51'%20opacity='0.71'/%3e%3ccircle%20cx='44.68'%20cy='233.07'%20r='0.48'%20opacity='0.66'/%3e%3ccircle%20cx='17.21'%20cy='65.58'%20r='0.99'%20opacity='0.89'/%3e%3ccircle%20cx='106.07'%20cy='67.29'%20r='0.76'%20opacity='0.30'/%3e%3ccircle%20cx='13.88'%20cy='126.36'%20r='0.68'%20opacity='0.36'/%3e%3ccircle%20cx='139.92'%20cy='43.25'%20r='1.06'%20opacity='0.80'/%3e%3ccircle%20cx='162.36'%20cy='227.37'%20r='0.76'%20opacity='0.87'/%3e%3ccircle%20cx='29.69'%20cy='49.95'%20r='0.79'%20opacity='0.48'/%3e%3ccircle%20cx='21.47'%20cy='97.17'%20r='0.67'%20opacity='0.43'/%3e%3ccircle%20cx='186.21'%20cy='39.61'%20r='0.97'%20opacity='0.60'/%3e%3ccircle%20cx='40.63'%20cy='25.82'%20r='0.60'%20opacity='0.63'/%3e%3ccircle%20cx='246.10'%20cy='4.25'%20r='0.58'%20opacity='0.80'/%3e%3ccircle%20cx='106.32'%20cy='145.39'%20r='1.13'%20opacity='0.37'/%3e%3ccircle%20cx='154.32'%20cy='224.14'%20r='0.55'%20opacity='0.53'/%3e%3ccircle%20cx='216.62'%20cy='238.48'%20r='0.67'%20opacity='0.45'/%3e%3ccircle%20cx='46.68'%20cy='252.32'%20r='0.48'%20opacity='0.90'/%3e%3ccircle%20cx='211.65'%20cy='74.69'%20r='1.05'%20opacity='0.88'/%3e%3ccircle%20cx='212.28'%20cy='219.10'%20r='1.00'%20opacity='0.58'/%3e%3ccircle%20cx='96.14'%20cy='19.17'%20r='0.50'%20opacity='0.68'/%3e%3ccircle%20cx='112.08'%20cy='104.54'%20r='0.93'%20opacity='0.52'/%3e%3ccircle%20cx='185.90'%20cy='121.03'%20r='1.12'%20opacity='0.83'/%3e%3ccircle%20cx='37.35'%20cy='50.99'%20r='0.75'%20opacity='0.66'/%3e%3ccircle%20cx='54.30'%20cy='241.95'%20r='0.89'%20opacity='0.71'/%3e%3ccircle%20cx='32.20'%20cy='179.54'%20r='0.92'%20opacity='0.53'/%3e%3ccircle%20cx='118.79'%20cy='200.60'%20r='0.84'%20opacity='0.42'/%3e%3ccircle%20cx='176.05'%20cy='166.57'%20r='0.90'%20opacity='0.95'/%3e%3ccircle%20cx='235.41'%20cy='189.16'%20r='1.03'%20opacity='0.78'/%3e%3ccircle%20cx='178.18'%20cy='116.20'%20r='0.68'%20opacity='0.54'/%3e%3ccircle%20cx='165.27'%20cy='181.83'%20r='0.45'%20opacity='0.87'/%3e%3ccircle%20cx='76.16'%20cy='168.84'%20r='0.92'%20opacity='0.97'/%3e%3ccircle%20cx='121.06'%20cy='127.34'%20r='1.13'%20opacity='0.93'/%3e%3ccircle%20cx='246.41'%20cy='125.65'%20r='0.80'%20opacity='0.74'/%3e%3ccircle%20cx='113.55'%20cy='157.42'%20r='0.81'%20opacity='0.66'/%3e%3ccircle%20cx='214.68'%20cy='113.05'%20r='0.61'%20opacity='0.59'/%3e%3ccircle%20cx='146.08'%20cy='43.32'%20r='0.92'%20opacity='0.76'/%3e%3ccircle%20cx='106.54'%20cy='239.25'%20r='0.77'%20opacity='0.82'/%3e%3ccircle%20cx='233.08'%20cy='204.31'%20r='0.46'%20opacity='0.75'/%3e%3ccircle%20cx='129.90'%20cy='10.71'%20r='0.65'%20opacity='0.48'/%3e%3ccircle%20cx='242.56'%20cy='172.16'%20r='0.89'%20opacity='0.47'/%3e%3ccircle%20cx='137.47'%20cy='68.66'%20r='0.87'%20opacity='0.41'/%3e%3ccircle%20cx='74.58'%20cy='143.68'%20r='1.12'%20opacity='0.84'/%3e%3ccircle%20cx='37.32'%20cy='101.58'%20r='1.10'%20opacity='0.38'/%3e%3ccircle%20cx='175.82'%20cy='245.18'%20r='0.78'%20opacity='0.58'/%3e%3ccircle%20cx='27.34'%20cy='101.73'%20r='0.70'%20opacity='0.86'/%3e%3ccircle%20cx='86.00'%20cy='68.99'%20r='0.53'%20opacity='0.45'/%3e%3ccircle%20cx='141.73'%20cy='101.65'%20r='0.53'%20opacity='0.92'/%3e%3ccircle%20cx='136.45'%20cy='17.95'%20r='0.85'%20opacity='0.89'/%3e%3ccircle%20cx='133.54'%20cy='182.61'%20r='1.13'%20opacity='0.76'/%3e%3ccircle%20cx='156.55'%20cy='105.92'%20r='0.72'%20opacity='0.68'/%3e%3ccircle%20cx='205.13'%20cy='243.18'%20r='0.84'%20opacity='0.46'/%3e%3ccircle%20cx='52.27'%20cy='54.28'%20r='1.03'%20opacity='0.95'/%3e%3ccircle%20cx='26.71'%20cy='39.67'%20r='0.66'%20opacity='0.48'/%3e%3ccircle%20cx='208.68'%20cy='172.42'%20r='0.89'%20opacity='0.44'/%3e%3ccircle%20cx='138.81'%20cy='10.67'%20r='0.77'%20opacity='0.45'/%3e%3ccircle%20cx='180.38'%20cy='206.24'%20r='0.79'%20opacity='0.35'/%3e%3ccircle%20cx='106.76'%20cy='69.54'%20r='0.89'%20opacity='0.51'/%3e%3ccircle%20cx='22.10'%20cy='250.67'%20r='0.77'%20opacity='0.33'/%3e%3ccircle%20cx='83.27'%20cy='204.88'%20r='0.72'%20opacity='0.87'/%3e%3ccircle%20cx='163.11'%20cy='142.15'%20r='0.46'%20opacity='0.61'/%3e%3ccircle%20cx='146.83'%20cy='73.09'%20r='0.79'%20opacity='0.43'/%3e%3ccircle%20cx='81.77'%20cy='147.12'%20r='0.50'%20opacity='0.92'/%3e%3c/g%3e%3c/svg%3e");background-size:256px 256px;animation:lola-photo-dust 4s linear infinite}.lola-photo__dust span:nth-child(2){background-size:211px 211px;background-position:83px 137px;animation-direction:reverse;animation-delay:-1.3s}.lola-photo__dust span:nth-child(3){background-size:307px 307px;background-position:173px 51px;animation-delay:-2.7s}.lola-photo[data-motion=paused] .lola-photo__dust span{animation-play-state:paused}.lola-photo__lock,.lola-photo__hint{position:relative;background:#211f3038;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lola-photo__lock{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff26}.lola-photo__hint{padding:6px 12px;border-radius:999px;font-size:12px;line-height:1.4}@keyframes lola-photo-dust{0%,to{transform:translate3d(-8px,5px,0);opacity:.22}25%{transform:translate3d(3px,-8px,0);opacity:.65}50%{transform:translate3d(10px,1px,0);opacity:.3}75%{transform:translate3d(-1px,9px,0);opacity:.55}}.lola-photo__download,.lola-photo__open,.lola-photo__retry{position:absolute;bottom:12px;right:12px;border:1px solid #fff3;border-radius:999px;background:#17191dc9;color:#fff;padding:10px;display:flex;align-items:center;gap:8px;cursor:pointer}.lola-photo__viewer{position:fixed;inset:0;z-index:10000;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;background:#101116;padding:50px 16px 16px}.lola-photo__viewer img{width:100%;height:100%;object-fit:contain}.lola-photo__viewer button{position:absolute;right:16px;top:12px;padding:8px;color:#fff;background:#ffffff1a;border-radius:50%}@media(prefers-reduced-motion:reduce){.lola-photo__original,.lola-photo__veil{transition:none}.lola-photo__dust span{animation:none;opacity:.25}}.lola-photo.is-expiring{opacity:0;transform:scale(.985);transition:opacity .16s ease-out,transform .16s ease-out}@media(prefers-reduced-motion:reduce){.lola-photo.is-expiring{transform:none;transition:none}}.lola-photo__duration{display:block;margin-top:6px;font-size:11px;opacity:.85}.lola-photo__countdown{position:absolute;top:10px;left:10px;padding:4px 8px;border-radius:12px;background:#171923aa;color:#fff;font-size:12px;font-variant-numeric:tabular-nums}.lola-photo__download{right:58px}.lola-photo__viewer .lola-photo__download{top:12px;bottom:auto;right:64px}
1
+ .lola-media-button,.lola-media-icon{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ffffff20;background:#ffffff0c;color:#f2f4f8;font:inherit;font-size:13px;cursor:pointer;text-decoration:none;transition:background-color .16s ease,transform .16s cubic-bezier(.23,1,.32,1)}.lola-media-button{padding:10px 14px;min-height:48px;border-radius:24px}.lola-media-icon{width:36px;height:36px;padding:0;border-radius:50%;flex-shrink:0;background:#17191dd9}.lola-media-button:disabled,.lola-media-icon:disabled{opacity:.4;cursor:default}.lola-media-button.is-primary{background:#f2f3f5;color:#17181b;border-color:transparent}.lola-media-button:active:not(:disabled),.lola-media-icon:active:not(:disabled){transform:scale(.97)}.lola-media-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 24px));max-height:min(700px,88dvh);overflow:auto;padding:22px 22px 20px;border:1px solid #ffffff12;border-radius:26px;background:#2a2b2f;color:#f2f4f8;font:14px/1.45 Helvetica Neue,Helvetica,system-ui,sans-serif;box-shadow:0 30px 70px #0009;overscroll-behavior:contain;color-scheme:dark}.lola-media-dialog::backdrop{background:#090c13b3}.lola-media-dialog>header,.lola-media-heading{display:flex;align-items:center;gap:10px}.lola-media-dialog>header{justify-content:space-between;margin-bottom:18px}.lola-media-heading strong{font-size:21px;font-weight:600;letter-spacing:-.02em}.lola-media-dialog p{color:#9a9da3;margin:12px 0;font-size:13px}.lola-media-selection button{border:0;background:none;color:#cfd3da;padding:8px 0 8px 8px;font:inherit;cursor:pointer}.lola-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lola-media-tile{position:relative;display:grid;place-items:center;aspect-ratio:3 / 4;overflow:hidden;border-radius:16px;background:repeating-linear-gradient(135deg,#3b3d43 0 12px,#34363b 12px 24px);cursor:pointer;isolation:isolate}.lola-media-grid img{width:100%;height:100%;object-fit:cover}.lola-media-tile:after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:inherit;pointer-events:none}.lola-media-grid .is-selected:after{border-color:#f2f3f5;background:#0a0b0d2e}.lola-media-grid input{position:absolute;top:8px;right:8px;margin:0;width:22px;height:22px;accent-color:#f2f3f5;cursor:pointer;z-index:1}.lola-media-grid time{position:absolute;bottom:8px;left:8px;padding:3px 7px;border-radius:7px;font:10.5px monospace;color:#fff;background:#10151d99;font-variant-numeric:tabular-nums}.lola-media-empty{text-align:center;padding:32px 8px}.lola-media-channels{display:grid;gap:8px}.lola-media-channels button span{flex:1}.lola-media-channels .is-selected{border-color:#ffffff8c;background:#ffffff1f}.lola-media-channels button:disabled{opacity:.6}.lola-media-connect{margin-top:12px;padding-top:4px;border-top:1px solid #ffffff14}.lola-media-command code{display:block;-webkit-user-select:all;user-select:all;padding:8px;margin-top:8px;overflow-wrap:anywhere;background:#0003;border-radius:6px}.lola-media-dialog :focus-visible{outline:2px solid #b4ccff;outline-offset:2px}.lola-photo-expired{width:min(100%,320px);padding:22px 22px 20px;border-radius:18px;background:#252830;color:#e2e6ef;display:flex;align-items:center;gap:12px;font-size:13px}.lola-photo__send{position:absolute;bottom:10px;left:10px;display:flex;width:36px}@media(hover:hover)and (pointer:fine){.lola-media-button:hover:not(:disabled),.lola-media-icon:hover:not(:disabled),.lola-media-channels button:hover:not(:disabled){background-color:#ffffff24}}@media(prefers-reduced-motion:reduce){.lola-media-button,.lola-media-icon{transition:none}}.lola-media-dialog.is-sharing{width:min(380px,calc(100vw - 24px))}.lola-media-dialog>header>.lola-media-icon{width:38px;height:38px;background:#ffffff0a}.lola-media-heading{gap:12px}.lola-media-selection{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;color:#9a9da3;margin:0 0 14px}.lola-media-dialog>footer{position:sticky;bottom:-20px;display:flex;background:#2a2b2f;padding:0 0 4px;z-index:2;margin-top:20px;gap:10px}.lola-media-dialog>footer .lola-media-button{flex:1;font-size:14.5px;font-weight:500}.lola-media-dialog>footer .is-primary{font-weight:600}.lola-media-dialog.is-sharing>footer .lola-media-button{min-height:52px;border-radius:26px}.lola-media-tile>button{width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.lola-media-tile>button:disabled{cursor:default}.lola-media-tile>button:focus-visible{outline-offset:-4px}.lola-media-tile time{pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lola-media-tile input{appearance:none;border-radius:7px;border:1.5px solid #ffffff8c;background:#0c0d0f59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lola-media-tile input:checked{background:#f2f3f5;border-color:#f2f3f5}.lola-media-check{position:absolute;top:13px;right:13px;z-index:2;color:#17181b;pointer-events:none}.lola-media-channels button{display:flex;align-items:center;width:100%;min-height:56px;padding:0 16px;border:1px solid transparent;background:#ffffff0d;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:18px;gap:13px;font-size:15px;font-weight:500;border-color:#ffffff0f}.lola-media-channels .lola-media-provider{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#8d90a0,#5c5f6b)}.lola-media-provider[data-provider=telegram]{background:linear-gradient(135deg,#4aa8e0,#2b7bb8)}.lola-media-provider[data-provider=whatsapp]{background:linear-gradient(135deg,#5fd07a,#2f9e52)}.lola-media-share-selection{display:flex;align-items:center;gap:12px;margin:16px 0 14px;color:#9a9da3;font-size:13.5px}.lola-media-thumbnails{display:flex}.lola-media-thumbnails img{width:34px;height:34px;border:2px solid #2a2b2f;border-radius:10px;object-fit:cover}.lola-media-thumbnails img+img{margin-left:-12px}.lola-media-dialog [role=status]{font-size:12.5px;color:#9a9da3}@media(max-width:360px){.lola-media-dialog{padding:16px}.lola-media-grid{gap:8px}}.lola-media-dialog button,.lola-media-dialog strong,.lola-media-viewer button{font-family:inherit}.lola-media-dialog *,.lola-media-dialog *:before,.lola-media-dialog *:after{box-sizing:border-box}.lola-media-success:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#4ade80}@media(hover:hover){.lola-media-button.is-primary:hover:not(:disabled),.lola-media-viewer-bottom .lola-media-share-button:hover:not(:disabled){background:#fff}}.lola-photo{position:relative;width:min(100%,320px);max-height:440px;overflow:hidden;border-radius:18px;background:#252830;isolation:isolate}.lola-photo__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lola-photo__original{background:#252830;opacity:0;transition:opacity .26s var(--chat-ease-out, cubic-bezier(.23, 1, .32, 1))}.lola-photo__original.is-ready{opacity:1}.lola-photo__veil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;background:linear-gradient(145deg,#ede5e912,#1b172c24);text-shadow:0 1px 4px #0005;font-size:13px;padding:24px;text-align:center;pointer-events:none;transition:opacity .26s var(--chat-ease-out, cubic-bezier(.23, 1, .32, 1))}.lola-photo__preview{filter:blur(5px);transform:scale(1.08)}.lola-photo.is-revealed .lola-photo__veil{opacity:0}.lola-photo__dust{position:absolute;inset:0;overflow:hidden}.lola-photo__dust span{position:absolute;inset:-24px;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%3e%3cg%20fill='white'%3e%3ccircle%20cx='54.86'%20cy='224.21'%20r='0.82'%20opacity='0.54'/%3e%3ccircle%20cx='139.50'%20cy='95.41'%20r='0.65'%20opacity='0.67'/%3e%3ccircle%20cx='101.11'%20cy='32.85'%20r='0.75'%20opacity='0.50'/%3e%3ccircle%20cx='84.19'%20cy='74.24'%20r='0.94'%20opacity='0.49'/%3e%3ccircle%20cx='250.37'%20cy='247.69'%20r='0.83'%20opacity='0.90'/%3e%3ccircle%20cx='140.16'%20cy='137.84'%20r='0.76'%20opacity='0.73'/%3e%3ccircle%20cx='179.85'%20cy='100.26'%20r='0.73'%20opacity='0.96'/%3e%3ccircle%20cx='73.74'%20cy='0.07'%20r='0.62'%20opacity='0.54'/%3e%3ccircle%20cx='149.59'%20cy='118.85'%20r='0.80'%20opacity='0.97'/%3e%3ccircle%20cx='13.32'%20cy='233.77'%20r='0.46'%20opacity='0.80'/%3e%3ccircle%20cx='196.97'%20cy='105.01'%20r='0.80'%20opacity='0.96'/%3e%3ccircle%20cx='3.87'%20cy='63.34'%20r='1.00'%20opacity='0.48'/%3e%3ccircle%20cx='179.17'%20cy='198.06'%20r='0.69'%20opacity='0.58'/%3e%3ccircle%20cx='153.44'%20cy='37.14'%20r='0.76'%20opacity='0.99'/%3e%3ccircle%20cx='151.72'%20cy='163.59'%20r='0.49'%20opacity='0.68'/%3e%3ccircle%20cx='91.66'%20cy='108.11'%20r='0.58'%20opacity='0.45'/%3e%3ccircle%20cx='58.99'%20cy='233.96'%20r='0.77'%20opacity='0.38'/%3e%3ccircle%20cx='44.23'%20cy='34.15'%20r='1.11'%20opacity='0.31'/%3e%3ccircle%20cx='16.64'%20cy='172.77'%20r='0.94'%20opacity='0.95'/%3e%3ccircle%20cx='195.44'%20cy='50.70'%20r='0.78'%20opacity='0.35'/%3e%3ccircle%20cx='162.20'%20cy='147.42'%20r='0.79'%20opacity='0.81'/%3e%3ccircle%20cx='130.64'%20cy='23.22'%20r='0.68'%20opacity='0.53'/%3e%3ccircle%20cx='73.50'%20cy='81.55'%20r='0.63'%20opacity='0.87'/%3e%3ccircle%20cx='150.78'%20cy='151.68'%20r='0.90'%20opacity='0.96'/%3e%3ccircle%20cx='59.20'%20cy='47.57'%20r='0.52'%20opacity='0.39'/%3e%3ccircle%20cx='106.88'%20cy='155.06'%20r='0.97'%20opacity='0.32'/%3e%3ccircle%20cx='225.30'%20cy='163.17'%20r='0.80'%20opacity='0.96'/%3e%3ccircle%20cx='106.53'%20cy='7.86'%20r='0.80'%20opacity='0.85'/%3e%3ccircle%20cx='133.63'%20cy='247.80'%20r='1.07'%20opacity='0.35'/%3e%3ccircle%20cx='20.41'%20cy='180.60'%20r='0.85'%20opacity='0.51'/%3e%3ccircle%20cx='76.33'%20cy='7.16'%20r='1.14'%20opacity='0.78'/%3e%3ccircle%20cx='92.76'%20cy='104.31'%20r='0.76'%20opacity='0.93'/%3e%3ccircle%20cx='126.39'%20cy='1.72'%20r='0.49'%20opacity='0.77'/%3e%3ccircle%20cx='95.93'%20cy='235.04'%20r='0.60'%20opacity='0.31'/%3e%3ccircle%20cx='36.10'%20cy='71.24'%20r='1.04'%20opacity='0.71'/%3e%3ccircle%20cx='100.81'%20cy='38.35'%20r='0.66'%20opacity='0.72'/%3e%3ccircle%20cx='239.61'%20cy='79.23'%20r='0.72'%20opacity='0.34'/%3e%3ccircle%20cx='47.40'%20cy='85.81'%20r='1.06'%20opacity='0.47'/%3e%3ccircle%20cx='119.38'%20cy='161.45'%20r='0.89'%20opacity='0.95'/%3e%3ccircle%20cx='163.26'%20cy='71.53'%20r='0.54'%20opacity='0.76'/%3e%3ccircle%20cx='192.71'%20cy='222.44'%20r='1.09'%20opacity='0.88'/%3e%3ccircle%20cx='182.04'%20cy='172.62'%20r='0.73'%20opacity='0.90'/%3e%3ccircle%20cx='26.20'%20cy='216.01'%20r='0.53'%20opacity='0.53'/%3e%3ccircle%20cx='177.94'%20cy='121.69'%20r='0.47'%20opacity='0.94'/%3e%3ccircle%20cx='70.31'%20cy='185.74'%20r='1.02'%20opacity='0.80'/%3e%3ccircle%20cx='200.28'%20cy='87.40'%20r='0.52'%20opacity='0.37'/%3e%3ccircle%20cx='245.81'%20cy='65.45'%20r='0.50'%20opacity='0.47'/%3e%3ccircle%20cx='243.94'%20cy='34.89'%20r='1.12'%20opacity='0.90'/%3e%3ccircle%20cx='146.31'%20cy='7.75'%20r='0.59'%20opacity='0.34'/%3e%3ccircle%20cx='43.85'%20cy='126.33'%20r='0.83'%20opacity='0.37'/%3e%3ccircle%20cx='88.74'%20cy='216.51'%20r='0.56'%20opacity='0.69'/%3e%3ccircle%20cx='229.57'%20cy='113.43'%20r='0.82'%20opacity='0.44'/%3e%3ccircle%20cx='195.86'%20cy='27.36'%20r='1.10'%20opacity='0.61'/%3e%3ccircle%20cx='231.70'%20cy='25.88'%20r='0.70'%20opacity='0.64'/%3e%3ccircle%20cx='70.76'%20cy='76.20'%20r='0.89'%20opacity='0.43'/%3e%3ccircle%20cx='108.44'%20cy='107.89'%20r='1.06'%20opacity='0.55'/%3e%3ccircle%20cx='87.36'%20cy='131.70'%20r='0.74'%20opacity='0.45'/%3e%3ccircle%20cx='148.04'%20cy='2.71'%20r='0.50'%20opacity='0.93'/%3e%3ccircle%20cx='200.89'%20cy='15.78'%20r='0.63'%20opacity='0.68'/%3e%3ccircle%20cx='39.36'%20cy='1.09'%20r='0.71'%20opacity='0.38'/%3e%3ccircle%20cx='118.44'%20cy='28.13'%20r='0.77'%20opacity='0.34'/%3e%3ccircle%20cx='170.32'%20cy='1.79'%20r='1.10'%20opacity='0.74'/%3e%3ccircle%20cx='61.40'%20cy='106.73'%20r='0.49'%20opacity='0.45'/%3e%3ccircle%20cx='190.43'%20cy='24.09'%20r='0.83'%20opacity='0.37'/%3e%3ccircle%20cx='72.00'%20cy='28.30'%20r='0.46'%20opacity='0.68'/%3e%3ccircle%20cx='213.25'%20cy='224.29'%20r='0.90'%20opacity='0.36'/%3e%3ccircle%20cx='167.80'%20cy='136.83'%20r='0.57'%20opacity='0.61'/%3e%3ccircle%20cx='50.96'%20cy='160.20'%20r='1.02'%20opacity='0.61'/%3e%3ccircle%20cx='64.19'%20cy='40.08'%20r='0.50'%20opacity='0.81'/%3e%3ccircle%20cx='64.79'%20cy='119.66'%20r='0.66'%20opacity='0.59'/%3e%3ccircle%20cx='0.88'%20cy='138.07'%20r='0.87'%20opacity='0.79'/%3e%3ccircle%20cx='47.55'%20cy='161.00'%20r='0.68'%20opacity='0.45'/%3e%3ccircle%20cx='112.40'%20cy='95.60'%20r='0.72'%20opacity='0.78'/%3e%3ccircle%20cx='234.15'%20cy='193.59'%20r='0.52'%20opacity='0.36'/%3e%3ccircle%20cx='134.64'%20cy='146.71'%20r='0.51'%20opacity='0.50'/%3e%3ccircle%20cx='88.03'%20cy='74.30'%20r='1.01'%20opacity='0.37'/%3e%3ccircle%20cx='215.28'%20cy='111.23'%20r='0.72'%20opacity='0.35'/%3e%3ccircle%20cx='239.77'%20cy='232.03'%20r='0.59'%20opacity='0.56'/%3e%3ccircle%20cx='12.35'%20cy='219.25'%20r='1.09'%20opacity='0.91'/%3e%3ccircle%20cx='153.48'%20cy='4.17'%20r='0.64'%20opacity='0.94'/%3e%3ccircle%20cx='176.71'%20cy='159.62'%20r='1.08'%20opacity='0.78'/%3e%3ccircle%20cx='225.37'%20cy='85.15'%20r='0.80'%20opacity='0.31'/%3e%3ccircle%20cx='74.54'%20cy='192.45'%20r='0.93'%20opacity='0.33'/%3e%3ccircle%20cx='122.23'%20cy='126.92'%20r='1.15'%20opacity='0.42'/%3e%3ccircle%20cx='197.85'%20cy='229.62'%20r='0.45'%20opacity='0.33'/%3e%3ccircle%20cx='15.91'%20cy='195.41'%20r='0.80'%20opacity='0.77'/%3e%3ccircle%20cx='46.98'%20cy='211.30'%20r='0.55'%20opacity='0.91'/%3e%3ccircle%20cx='105.86'%20cy='195.11'%20r='0.56'%20opacity='0.73'/%3e%3ccircle%20cx='189.09'%20cy='242.39'%20r='1.04'%20opacity='0.96'/%3e%3ccircle%20cx='221.60'%20cy='77.50'%20r='0.51'%20opacity='0.71'/%3e%3ccircle%20cx='44.68'%20cy='233.07'%20r='0.48'%20opacity='0.66'/%3e%3ccircle%20cx='17.21'%20cy='65.58'%20r='0.99'%20opacity='0.89'/%3e%3ccircle%20cx='106.07'%20cy='67.29'%20r='0.76'%20opacity='0.30'/%3e%3ccircle%20cx='13.88'%20cy='126.36'%20r='0.68'%20opacity='0.36'/%3e%3ccircle%20cx='139.92'%20cy='43.25'%20r='1.06'%20opacity='0.80'/%3e%3ccircle%20cx='162.36'%20cy='227.37'%20r='0.76'%20opacity='0.87'/%3e%3ccircle%20cx='29.69'%20cy='49.95'%20r='0.79'%20opacity='0.48'/%3e%3ccircle%20cx='21.47'%20cy='97.17'%20r='0.67'%20opacity='0.43'/%3e%3ccircle%20cx='186.21'%20cy='39.61'%20r='0.97'%20opacity='0.60'/%3e%3ccircle%20cx='40.63'%20cy='25.82'%20r='0.60'%20opacity='0.63'/%3e%3ccircle%20cx='246.10'%20cy='4.25'%20r='0.58'%20opacity='0.80'/%3e%3ccircle%20cx='106.32'%20cy='145.39'%20r='1.13'%20opacity='0.37'/%3e%3ccircle%20cx='154.32'%20cy='224.14'%20r='0.55'%20opacity='0.53'/%3e%3ccircle%20cx='216.62'%20cy='238.48'%20r='0.67'%20opacity='0.45'/%3e%3ccircle%20cx='46.68'%20cy='252.32'%20r='0.48'%20opacity='0.90'/%3e%3ccircle%20cx='211.65'%20cy='74.69'%20r='1.05'%20opacity='0.88'/%3e%3ccircle%20cx='212.28'%20cy='219.10'%20r='1.00'%20opacity='0.58'/%3e%3ccircle%20cx='96.14'%20cy='19.17'%20r='0.50'%20opacity='0.68'/%3e%3ccircle%20cx='112.08'%20cy='104.54'%20r='0.93'%20opacity='0.52'/%3e%3ccircle%20cx='185.90'%20cy='121.03'%20r='1.12'%20opacity='0.83'/%3e%3ccircle%20cx='37.35'%20cy='50.99'%20r='0.75'%20opacity='0.66'/%3e%3ccircle%20cx='54.30'%20cy='241.95'%20r='0.89'%20opacity='0.71'/%3e%3ccircle%20cx='32.20'%20cy='179.54'%20r='0.92'%20opacity='0.53'/%3e%3ccircle%20cx='118.79'%20cy='200.60'%20r='0.84'%20opacity='0.42'/%3e%3ccircle%20cx='176.05'%20cy='166.57'%20r='0.90'%20opacity='0.95'/%3e%3ccircle%20cx='235.41'%20cy='189.16'%20r='1.03'%20opacity='0.78'/%3e%3ccircle%20cx='178.18'%20cy='116.20'%20r='0.68'%20opacity='0.54'/%3e%3ccircle%20cx='165.27'%20cy='181.83'%20r='0.45'%20opacity='0.87'/%3e%3ccircle%20cx='76.16'%20cy='168.84'%20r='0.92'%20opacity='0.97'/%3e%3ccircle%20cx='121.06'%20cy='127.34'%20r='1.13'%20opacity='0.93'/%3e%3ccircle%20cx='246.41'%20cy='125.65'%20r='0.80'%20opacity='0.74'/%3e%3ccircle%20cx='113.55'%20cy='157.42'%20r='0.81'%20opacity='0.66'/%3e%3ccircle%20cx='214.68'%20cy='113.05'%20r='0.61'%20opacity='0.59'/%3e%3ccircle%20cx='146.08'%20cy='43.32'%20r='0.92'%20opacity='0.76'/%3e%3ccircle%20cx='106.54'%20cy='239.25'%20r='0.77'%20opacity='0.82'/%3e%3ccircle%20cx='233.08'%20cy='204.31'%20r='0.46'%20opacity='0.75'/%3e%3ccircle%20cx='129.90'%20cy='10.71'%20r='0.65'%20opacity='0.48'/%3e%3ccircle%20cx='242.56'%20cy='172.16'%20r='0.89'%20opacity='0.47'/%3e%3ccircle%20cx='137.47'%20cy='68.66'%20r='0.87'%20opacity='0.41'/%3e%3ccircle%20cx='74.58'%20cy='143.68'%20r='1.12'%20opacity='0.84'/%3e%3ccircle%20cx='37.32'%20cy='101.58'%20r='1.10'%20opacity='0.38'/%3e%3ccircle%20cx='175.82'%20cy='245.18'%20r='0.78'%20opacity='0.58'/%3e%3ccircle%20cx='27.34'%20cy='101.73'%20r='0.70'%20opacity='0.86'/%3e%3ccircle%20cx='86.00'%20cy='68.99'%20r='0.53'%20opacity='0.45'/%3e%3ccircle%20cx='141.73'%20cy='101.65'%20r='0.53'%20opacity='0.92'/%3e%3ccircle%20cx='136.45'%20cy='17.95'%20r='0.85'%20opacity='0.89'/%3e%3ccircle%20cx='133.54'%20cy='182.61'%20r='1.13'%20opacity='0.76'/%3e%3ccircle%20cx='156.55'%20cy='105.92'%20r='0.72'%20opacity='0.68'/%3e%3ccircle%20cx='205.13'%20cy='243.18'%20r='0.84'%20opacity='0.46'/%3e%3ccircle%20cx='52.27'%20cy='54.28'%20r='1.03'%20opacity='0.95'/%3e%3ccircle%20cx='26.71'%20cy='39.67'%20r='0.66'%20opacity='0.48'/%3e%3ccircle%20cx='208.68'%20cy='172.42'%20r='0.89'%20opacity='0.44'/%3e%3ccircle%20cx='138.81'%20cy='10.67'%20r='0.77'%20opacity='0.45'/%3e%3ccircle%20cx='180.38'%20cy='206.24'%20r='0.79'%20opacity='0.35'/%3e%3ccircle%20cx='106.76'%20cy='69.54'%20r='0.89'%20opacity='0.51'/%3e%3ccircle%20cx='22.10'%20cy='250.67'%20r='0.77'%20opacity='0.33'/%3e%3ccircle%20cx='83.27'%20cy='204.88'%20r='0.72'%20opacity='0.87'/%3e%3ccircle%20cx='163.11'%20cy='142.15'%20r='0.46'%20opacity='0.61'/%3e%3ccircle%20cx='146.83'%20cy='73.09'%20r='0.79'%20opacity='0.43'/%3e%3ccircle%20cx='81.77'%20cy='147.12'%20r='0.50'%20opacity='0.92'/%3e%3c/g%3e%3c/svg%3e");background-size:256px 256px;animation:lola-photo-dust 4s linear infinite}.lola-photo__dust span:nth-child(2){background-size:211px 211px;background-position:83px 137px;animation-direction:reverse;animation-delay:-1.3s}.lola-photo__dust span:nth-child(3){background-size:307px 307px;background-position:173px 51px;animation-delay:-2.7s}.lola-photo[data-motion=paused] .lola-photo__dust span{animation-play-state:paused}.lola-photo__lock,.lola-photo__hint{position:relative;background:#211f3038;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lola-photo__lock{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff26}.lola-photo__hint{padding:6px 12px;border-radius:999px;font-size:12px;line-height:1.4}@keyframes lola-photo-dust{0%,to{transform:translate3d(-8px,5px,0);opacity:.22}25%{transform:translate3d(3px,-8px,0);opacity:.65}50%{transform:translate3d(10px,1px,0);opacity:.3}75%{transform:translate3d(-1px,9px,0);opacity:.55}}.lola-photo__download,.lola-photo__open,.lola-photo__retry{position:absolute;bottom:12px;right:12px;border:1px solid #fff3;border-radius:999px;background:#17191dc9;color:#fff;padding:10px;display:flex;align-items:center;gap:8px;cursor:pointer}@media(prefers-reduced-motion:reduce){.lola-photo__original,.lola-photo__veil{transition:none}.lola-photo__dust span{animation:none;opacity:.25}}.lola-photo.is-expiring{opacity:0;transform:scale(.985);transition:opacity .16s ease-out,transform .16s ease-out}@media(prefers-reduced-motion:reduce){.lola-photo.is-expiring{transform:none;transition:none}}.lola-photo__duration{display:block;margin-top:6px;font-size:11px;opacity:.85}.lola-photo__countdown{position:absolute;top:10px;left:10px;padding:4px 8px;border-radius:12px;background:#171923aa;color:#fff;font-size:12px;font-variant-numeric:tabular-nums}.lola-photo__download{right:58px}.lola-photo__open,.lola-photo__download{width:36px;height:36px;padding:0;justify-content:center;bottom:10px;right:10px}.lola-photo__download{right:52px}.lola-photo__send{left:10px;right:auto;width:36px}.lola-photo__open:focus-visible,.lola-photo__download:focus-visible{outline:2px solid white;outline-offset:2px}.lola-photo.is-video .lola-photo__open,.lola-photo.is-video .lola-photo__download{top:10px;bottom:auto;z-index:2}
@@ -32,6 +32,7 @@ export declare const normalizeChatAttachment: (candidate: unknown) => ChatAttach
32
32
  export declare const normalizeChatAttachments: (values: readonly unknown[] | undefined) => ChatAttachment[];
33
33
  export declare const normalizeMessageForSession: (message: RawMessageData, interactionSessionId: string) => MessageData;
34
34
  export declare const listConversations: (config: WidgetConfig, api: AppApi, cursor?: string, signal?: AbortSignal) => Promise<VersionedCursorPage<ConversationData>>;
35
+ export declare const listSupportConversations: (config: WidgetConfig, api: AppApi, cursor?: string, signal?: AbortSignal) => Promise<VersionedCursorPage<ConversationData>>;
35
36
  export declare const acknowledgeConversationMessageRead: (config: WidgetConfig, api: AppApi, conversationId: string, messageId: string, readProof: string, signal?: AbortSignal) => Promise<void>;
36
37
  export declare const listConversationMessages: (config: WidgetConfig, api: AppApi, conversationId: string, cursor?: string, signal?: AbortSignal) => Promise<CursorPage<MessageData>>;
37
38
  /** Fill every ordinal gap after a disconnect, including gaps larger than one page. */
@@ -40,4 +41,14 @@ export declare const createConversation: (config: WidgetConfig, api: AppApi, sig
40
41
  export declare const selectConversation: (config: WidgetConfig, api: AppApi, conversationId: string, signal?: AbortSignal) => Promise<ConversationData>;
41
42
  export declare const getConversation: (config: WidgetConfig, api: AppApi, conversationId: string, signal?: AbortSignal) => Promise<ConversationData>;
42
43
  export declare function sendMessage(config: WidgetConfig, api: AppApi, messageText: string, conversationId?: string, clientMessageId?: `${string}-${string}-${string}-${string}-${string}`, attachments?: readonly ChatAttachment[]): Promise<SendMessageResult>;
44
+ export declare const acceptSupportOffer: (config: WidgetConfig, api: AppApi, sourceConversationId: string, occurrenceId: string, idempotencyKey: string) => Promise<{
45
+ supportConversationId: string | null;
46
+ }>;
47
+ export declare const sendSupportMessage: (config: WidgetConfig, api: AppApi, conversationId: string, text: string, clientMessageId: string, attachments?: readonly ChatAttachment[]) => Promise<{
48
+ conversationId: string;
49
+ userMessageId: string;
50
+ escalationId: string;
51
+ reopened: boolean;
52
+ }>;
53
+ export declare const listSupportEvents: (config: WidgetConfig, api: AppApi, conversationId: string, cursor?: string) => Promise<CursorPage<import("./messages.api.types").SupportAssignmentEvent>>;
43
54
  export {};
@@ -46,6 +46,7 @@ type AgenticStep = {
46
46
  text: JSONContent;
47
47
  };
48
48
  export type MessageData = {
49
+ origin?: "HANDOFF_CONTEXT" | "LIVE";
49
50
  id: string;
50
51
  conversationId: string;
51
52
  companyId: string;
@@ -76,14 +77,16 @@ export type MessageData = {
76
77
  };
77
78
  /**
78
79
  * Result of accepting a customer message. `assistantMessage` is deliberately
79
- * nullable: during a human handoff the backend can accept the message without
80
- * admitting it to Lola's intake.
80
+ * nullable: while CMS has manually paused AI, the backend can accept the message
81
+ * without admitting it to Lola's intake.
81
82
  */
82
83
  export type SendMessageResult = {
83
84
  recoveringAssistantMessageId?: string;
84
85
  conversationId: string;
85
86
  assistantMessage: MessageData | null;
86
87
  assistantAdmitted: boolean;
88
+ userMessageId?: string;
89
+ handoffOffer?: ConversationData["handoffOffer"];
87
90
  aiSuspension: ConversationAISuspension | null;
88
91
  };
89
92
  export type ConversationStatus = "OPEN" | "CLOSED";
@@ -95,7 +98,39 @@ export type ConversationAISuspension = {
95
98
  serverTime: string;
96
99
  suspendedUntil: string | null;
97
100
  };
101
+ export type SupportConversation = {
102
+ caseId: string;
103
+ escalationId: string;
104
+ sourceConversationId: string;
105
+ closedAt: string | null;
106
+ reopenUntil: string | null;
107
+ };
108
+ export type SupportAssignmentEvent = {
109
+ id: string;
110
+ type: "ASSIGNED" | "TRANSFERRED" | "RELEASED";
111
+ occurredAt: string;
112
+ afterMessageOrdinal?: number;
113
+ operator: {
114
+ displayName: string;
115
+ avatarAsset?: unknown;
116
+ } | null;
117
+ };
98
118
  export type ConversationData = {
119
+ kind?: "ASSISTANT" | "SUPPORT";
120
+ handoffOffer?: {
121
+ id: string;
122
+ caseId: string;
123
+ status: "OFFERED" | "ACCEPTED" | "DECLINED";
124
+ supportConversationId: string | null;
125
+ } | null;
126
+ capabilities?: {
127
+ canSendMessage: boolean;
128
+ canUploadAttachment: boolean;
129
+ canUseVoice: boolean;
130
+ canReopen: boolean;
131
+ };
132
+ support?: SupportConversation | null;
133
+ unreadCount?: number;
99
134
  id: string;
100
135
  title: string | null;
101
136
  status: ConversationStatus;
@@ -128,6 +163,7 @@ export type RawChatAttachment = {
128
163
  previewUrl?: unknown;
129
164
  };
130
165
  export type RawMessageData = {
166
+ origin?: "HANDOFF_CONTEXT" | "LIVE";
131
167
  id: string;
132
168
  threadId: string;
133
169
  role: MessageRole;
@@ -0,0 +1,45 @@
1
+ import type { AppApi } from "@/App";
2
+ import type { WidgetConfig } from "@/index.types";
3
+ export declare const MESSENGER_PROVIDERS: readonly ["telegram", "whatsapp", "instagram", "line", "viber", "kakao"];
4
+ export type MessengerProvider = (typeof MESSENGER_PROVIDERS)[number];
5
+ export declare const MESSENGER_NAMES: Record<MessengerProvider, string>;
6
+ export declare const isMessengerProvider: (value: unknown) => value is MessengerProvider;
7
+ export type MessengerLinkChallenge = {
8
+ id: string;
9
+ provider: MessengerProvider;
10
+ expiresAt: string;
11
+ deepLink: string;
12
+ flow: "DEEPLINK";
13
+ instruction?: string;
14
+ manualCommand?: string;
15
+ manualCommandRequired?: boolean;
16
+ };
17
+ export type MessengerLinkState = {
18
+ provider: MessengerProvider;
19
+ linked: boolean;
20
+ status: "NOT_LINKED" | "ACTIVE" | "REVOKED" | "BLOCKED";
21
+ challengeStatus: "OPEN" | "PENDING_CONFIRMATION" | "CONFIRMED" | "EXPIRED" | "REVOKED";
22
+ expiresAt?: string;
23
+ activeLink?: {
24
+ displayName?: string;
25
+ } | null;
26
+ pendingCandidate?: {
27
+ displayName?: string;
28
+ } | null;
29
+ };
30
+ export declare class MessengerLinkApiError extends Error {
31
+ readonly status: number;
32
+ readonly code?: string | undefined;
33
+ constructor(status: number, code?: string | undefined);
34
+ }
35
+ export declare const assertMessengerChallenge: (value: MessengerLinkChallenge, provider: MessengerProvider) => MessengerLinkChallenge;
36
+ export declare const createMessengerLinkChallenge: (config: WidgetConfig, api: AppApi, provider: MessengerProvider, commandId: string, conversationId?: string) => Promise<MessengerLinkChallenge>;
37
+ export declare const getMessengerLinkChallenge: (config: WidgetConfig, api: AppApi, provider: MessengerProvider, id: string) => Promise<MessengerLinkState>;
38
+ export declare const confirmMessengerLink: (config: WidgetConfig, api: AppApi, provider: MessengerProvider, id: string) => Promise<MessengerLinkState>;
39
+ export declare const cancelMessengerLinkChallenge: (config: WidgetConfig, api: AppApi, provider: MessengerProvider, id: string) => Promise<void>;
40
+ export type MessengerConsent = {
41
+ enabled: boolean;
42
+ version?: number;
43
+ };
44
+ export declare const getMessengerConsent: (config: WidgetConfig, api: AppApi, provider: MessengerProvider) => Promise<MessengerConsent>;
45
+ export declare const updateMessengerConsent: (config: WidgetConfig, api: AppApi, provider: MessengerProvider, enabled: boolean, idempotencyKey: string, version?: number) => Promise<MessengerConsent>;
@@ -1,4 +1,4 @@
1
- import { C as A, E as e, S as s, d as E, b as n } from "./index-CoNRUH9c.js";
1
+ import { C as A, E as e, S as s, p as E, h as n } from "./index-_XUrpFzQ.js";
2
2
  export {
3
3
  A as ChatWidgetInstance,
4
4
  e as EXTERNALLY_AVAILABLE_ACTIONS,
@@ -0,0 +1 @@
1
+ export declare const MEDIA_MESSENGER_SHARING_ENABLED = false;
@@ -1,3 +1,4 @@
1
+ import { type MessengerProvider } from "@/api/messenger-link.api";
1
2
  import type { AppApi } from "@/App";
2
3
  import type { Avatar } from "@/avatar/Avatar";
3
4
  import type { WidgetConfig } from "@/index.types";
@@ -41,6 +42,12 @@ type ChatWidgetContextValue = {
41
42
  ctaTelegramBotUsername: string | null;
42
43
  ctaTelegramDeepLink: string | null;
43
44
  ctaManualCommand: string | null;
45
+ ctaManualCommandRequired?: boolean;
46
+ ctaConnectionNotice?: string | null;
47
+ ctaConnectedProvider?: MessengerProvider | null;
48
+ dismissConnectionNotice?: () => void;
49
+ ctaMessengerProvider?: MessengerProvider | null;
50
+ ctaMessengerInstruction?: string | null;
44
51
  hasUnreadCta: boolean;
45
52
  compactPreviewController: CompactPreviewController;
46
53
  getCtaPresentation: (commandId: string) => {
@@ -12,6 +12,7 @@ type InternalHandlers = {
12
12
  setChatOpen?: (open: boolean, commandId: string) => void | Promise<void>;
13
13
  playAnimation?: (animation: string, expiresAt?: string | null) => void | Promise<void>;
14
14
  showCta?: (context: CtaCommandContext) => void;
15
+ connectMessenger?: (context: CtaCommandContext) => CtaActionExecutionResult | Promise<CtaActionExecutionResult>;
15
16
  connectTelegram?: (context: CtaCommandContext) => CtaActionExecutionResult | Promise<CtaActionExecutionResult>;
16
17
  speakText?: (context: SpeakTextCommandContext) => void | Promise<void>;
17
18
  startVoiceConversation?: (context: StartVoiceConversationCommandContext) => void | Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import type { StreamingSpeechMimeType } from "@/domain/speech/speech.constants";
2
- export declare const COMMAND_TYPES: readonly ["show_assistant", "hide_assistant", "open_chat", "close_chat", "play_animation", "highlight_element", "remove_highlight", "show_cta", "connect_telegram", "speak_text", "start_voice_conversation", "open_page", "open_modal"];
2
+ export declare const COMMAND_TYPES: readonly ["show_assistant", "hide_assistant", "open_chat", "close_chat", "play_animation", "highlight_element", "remove_highlight", "show_cta", "connect_telegram", "connect_messenger", "speak_text", "start_voice_conversation", "open_page", "open_modal"];
3
3
  export type CommandType = (typeof COMMAND_TYPES)[number];
4
4
  export type CommandAckStatus = "received" | "succeeded" | "failed" | "expired" | "unsupported";
5
5
  export type CommandAck = {
@@ -119,7 +119,7 @@ export type HighlightCommandContext = HostCommandContext & {
119
119
  export type CtaCommandContext = Omit<HostCommandContext, "target"> & {
120
120
  label: string;
121
121
  text?: string;
122
- action: "none" | "open_modal" | "open_page" | "connect_telegram";
122
+ action: "none" | "open_modal" | "open_page" | "connect_telegram" | "connect_messenger";
123
123
  conversationId?: string;
124
124
  scenarioRunId: string;
125
125
  expiresAt: string | null;
@@ -34,6 +34,15 @@ export type MessageStore = {
34
34
  currentThreadMessages: MessageData[];
35
35
  messages: MessageData[];
36
36
  conversations: ConversationData[];
37
+ supportNextCursor: string | null | undefined;
38
+ supportLoading: boolean;
39
+ composerDrafts: Map<string | undefined, string>;
40
+ supportPending: Map<string, PendingCustomerMessage>;
41
+ supportRetry: Map<string, PendingCustomerMessage>;
42
+ supportErrors: Map<string, {
43
+ message: string;
44
+ occurredAt: number;
45
+ }>;
37
46
  conversationsNextCursor: string | null;
38
47
  isLoadingMoreConversations: boolean;
39
48
  threadIds: string[];
@@ -73,6 +82,8 @@ export type MessageStore = {
73
82
  };
74
83
  export type MessageFrameHandlingResult = "INSERTED" | "UPDATED" | "DUPLICATE" | "IGNORED";
75
84
  export type MessageStoreActions = {
85
+ refreshSupportConversations: (loadMore?: boolean) => Promise<void>;
86
+ upsertSupportConversation: (conversation: ConversationData) => void;
76
87
  initMessageStore: (config: WidgetConfig, api: AppApi) => Promise<void>;
77
88
  disposeMessageStore: () => void;
78
89
  setCurrentThread: (conversationId: string) => Promise<void>;
@@ -131,6 +142,7 @@ export declare const useLatestReadMessageDate: () => string | null;
131
142
  export declare const useLatestMessageDate: () => string | null;
132
143
  export declare const useConversationNavigationRequest: () => ConversationNavigationRequest | null;
133
144
  export declare const useScenarioChoiceSubmissionResult: (clientEventId?: string) => ScenarioChoiceSubmissionResult | undefined;
145
+ export declare const useCurrentConversation: () => ConversationData | undefined;
134
146
  export declare const useSendError: () => string | null;
135
147
  export declare const useSendErrorOccurredAt: () => number | null;
136
148
  export declare const selectIsCurrentThreadLoading: (state: MessageStore) => boolean;
@@ -146,3 +158,4 @@ export declare const useCurrentChatTypingByActor: (actor: ChatTypingState["actor
146
158
  export declare const selectIsCurrentConversationAISuspended: (state: MessageStore) => boolean;
147
159
  export declare const useCurrentConversationAISuspended: () => boolean;
148
160
  export declare const useMessageStoreActions: () => MessageStoreActions;
161
+ export declare const useComposerDrafts: () => readonly [Map<string | undefined, string>, (update: (drafts: Map<string | undefined, string>) => Map<string | undefined, string>) => void];
@@ -10,7 +10,7 @@ export type MessageAuthorPresentation = Readonly<{
10
10
  presentationVersion: number | null;
11
11
  legacyAvatarUrl: string | null;
12
12
  }>;
13
- export declare const RESPONDER_HUMAN_SUPPORT_STATES: readonly ["NONE", "ROUTING", "ASSIGNED"];
13
+ export declare const RESPONDER_HUMAN_SUPPORT_STATES: readonly ["NONE", "ROUTING", "WAITING_EXTERNAL", "ASSIGNED"];
14
14
  export declare const RESPONDER_AI_STATES: readonly ["ACTIVE", "SUSPENDED"];
15
15
  export type ResponderHumanSupportState = (typeof RESPONDER_HUMAN_SUPPORT_STATES)[number];
16
16
  export type ResponderAIState = (typeof RESPONDER_AI_STATES)[number];
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,4 @@
1
+ import { type SupportCatalog } from "./support-messages";
1
2
  import { type SupportedLocale } from "./i18n";
2
3
  declare const en: {
3
4
  readonly app: {
@@ -170,6 +171,36 @@ type BaseTranslationKey = {
170
171
  [Group in keyof CatalogShape & string]: `${Group}.${keyof CatalogShape[Group] & string}`;
171
172
  }[keyof CatalogShape & string];
172
173
  declare const photoEn: {
174
+ videoOpen: string;
175
+ videoLoading: string;
176
+ videoReady: string;
177
+ videoPlayPause: string;
178
+ videoSeek: string;
179
+ videoSound: string;
180
+ videoPreview: string;
181
+ videoPlayPreview: string;
182
+ videoViewer: string;
183
+ previous: string;
184
+ next: string;
185
+ restore: string;
186
+ share: string;
187
+ back: string;
188
+ selected: string;
189
+ selectAll: string;
190
+ deselect: string;
191
+ selectPhoto: string;
192
+ downloadSelected: string;
193
+ downloadReady: string;
194
+ chooseMessenger: string;
195
+ noMessengers: string;
196
+ channelUnavailable: string;
197
+ connectHint: string;
198
+ connect: string;
199
+ openMessenger: string;
200
+ sendCode: string;
201
+ waitingConnection: string;
202
+ sendSelected: string;
203
+ working: string;
173
204
  temporary: string;
174
205
  secondsLeft: string;
175
206
  expired: string;
@@ -200,7 +231,29 @@ declare const photoEn: {
200
231
  ready: string;
201
232
  close: string;
202
233
  };
203
- export type TranslationKey = `photo.${keyof typeof photoEn & string}` | BaseTranslationKey | `attachment.${keyof AttachmentCatalog & string}` | `compact.${keyof CompactCatalog & string}`;
234
+ declare const messengerEn: {
235
+ copyAndOpen: string;
236
+ copyInstruction: string;
237
+ copied: string;
238
+ copyFailed: string;
239
+ consent: string;
240
+ consentHint: string;
241
+ consentFailed: string;
242
+ consentLoading: string;
243
+ retry: string;
244
+ waiting: string;
245
+ popupBlocked: string;
246
+ checkStatus: string;
247
+ open: string;
248
+ failed: string;
249
+ expired: string;
250
+ retrying: string;
251
+ setupRequired: string;
252
+ connected: string;
253
+ disconnected: string;
254
+ fallback: string;
255
+ };
256
+ export type TranslationKey = `support.${keyof SupportCatalog & string}` | `messenger.${keyof typeof messengerEn & string}` | `photo.${keyof typeof photoEn & string}` | BaseTranslationKey | `attachment.${keyof AttachmentCatalog & string}` | `compact.${keyof CompactCatalog & string}`;
204
257
  export type TranslationMessages = Record<TranslationKey, string>;
205
258
  export declare const MESSAGES: Record<SupportedLocale, TranslationMessages>;
206
259
  export {};
@@ -0,0 +1,25 @@
1
+ import type { SupportedLocale } from "./i18n";
2
+ declare const en: {
3
+ title: string;
4
+ assistant: string;
5
+ connect: string;
6
+ connecting: string;
7
+ connectFailed: string;
8
+ placeholder: string;
9
+ active: string;
10
+ closed: string;
11
+ readOnly: string;
12
+ reopen: string;
13
+ context: string;
14
+ joined: string;
15
+ transferred: string;
16
+ released: string;
17
+ unread: string;
18
+ more: string;
19
+ history: string;
20
+ externalWaiting: string;
21
+ operatorLeft: string;
22
+ };
23
+ export type SupportCatalog = typeof en;
24
+ export declare const supportCatalogs: Record<SupportedLocale, SupportCatalog>;
25
+ export {};