@alxxsck/ai-assistant 3.8.1 → 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 (31) hide show
  1. package/dist/{Avatar-Dysajrfu.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/bridge-ai-chat-widget.es.js +1 -1
  9. package/dist/config/media-sharing.d.ts +1 -0
  10. package/dist/domain/message/message.store.d.ts +13 -0
  11. package/dist/domain/support-presentation/support-presentation.types.d.ts +1 -1
  12. package/dist/i18n/media-chrome.d.ts +1 -0
  13. package/dist/i18n/messages.d.ts +14 -1
  14. package/dist/i18n/support-messages.d.ts +25 -0
  15. package/dist/{index-DmB_5CV9.js → index-_XUrpFzQ.js} +3 -3
  16. package/dist/{mount-BUOeaAtc.js → mount-DNkE0lYL.js} +8672 -7870
  17. package/dist/photoswipe.esm-Bc05x7rO.js +2952 -0
  18. package/dist/ui/components/MediaPhotoViewer.d.ts +17 -0
  19. package/dist/ui/components/MediaVideoPlayer.d.ts +9 -0
  20. package/dist/ui/components/MediaVideoViewer.d.ts +7 -0
  21. package/dist/ui/components/SupportAssignmentTimeline.d.ts +4 -0
  22. package/dist/ui/components/SupportConversationControls.d.ts +4 -0
  23. package/dist/ui/components/SupportHistory.d.ts +5 -0
  24. package/dist/ui/components/UserMediaLibrary.d.ts +4 -2
  25. package/dist/ui/components/VideoTeaser.d.ts +5 -0
  26. package/dist/ui/hooks/useSupportAssignmentEvents.d.ts +2 -0
  27. package/dist/ui/hooks/useSupportConversationSync.d.ts +1 -0
  28. package/dist/ui/hooks/useSupportReadOnly.d.ts +2 -0
  29. package/dist/ui/responder-visual-state.d.ts +1 -1
  30. package/package.json +5 -3
  31. package/dist/ChatWidgetContent-GopG0V-j.js +0 -6288
@@ -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,.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:40px;border-radius:12px}.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:#9eb9f4;color:#10203c;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(460px,calc(100vw - 24px));max-height:min(700px,88dvh);overflow:auto;padding:16px;border:1px solid #ffffff1c;border-radius:22px;background:#1b2029;color:#f2f4f8;font:14px/1.45 system-ui;box-shadow:0 24px 80px #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:12px}.lola-media-heading strong{font-size:17px;font-weight:600;letter-spacing:-.02em}.lola-media-dialog p{color:#bac3d3;margin:12px 0;font-size:13px}.lola-media-selection{display:flex;align-items:center;justify-content:space-between;margin:12px 0;font-size:12px;color:#bac3d3}.lola-media-selection button{border:0;background:none;color:#a9c6ff;padding:8px 0 8px 8px;font:inherit;cursor:pointer}.lola-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.lola-media-grid label{position:relative;display:grid;place-items:center;aspect-ratio:1;overflow:hidden;border-radius:9px;background:#252d3a;cursor:pointer;isolation:isolate}.lola-media-grid img{width:100%;height:100%;object-fit:cover}.lola-media-grid label:after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:inherit;pointer-events:none}.lola-media-grid .is-selected:after{border-color:#b4ccff;background:#7499e522}.lola-media-grid input{position:absolute;top:5px;right:5px;margin:0;width:22px;height:22px;accent-color:#9eb9f4;cursor:pointer;z-index:1}.lola-media-grid time{position:absolute;bottom:5px;left:5px;padding:2px 5px;border-radius:5px;font-size:10px;color:#fff;background:#10151d99;font-variant-numeric:tabular-nums}.lola-media-dialog footer{position:sticky;bottom:-16px;display:flex;gap:8px;background:#1b2029;padding:14px 0 4px;margin-top:8px;z-index:2}.lola-media-dialog footer .lola-media-button{flex:1}.lola-media-empty{text-align:center;padding:32px 8px}.lola-media-channels{display:grid;gap:6px}.lola-media-channels button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px;border-radius:12px;border:1px solid transparent;background:#ffffff06;color:inherit;font:inherit;text-align:left;cursor:pointer}.lola-media-channels button span{flex:1}.lola-media-channels .is-selected{border-color:#9eb9f4;background:#9eb9f414}.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:16px;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:#506080}}@media(prefers-reduced-motion:reduce){.lola-media-button,.lola-media-icon{transition:none}}.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}.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__viewer{box-sizing:border-box}
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;
@@ -1,4 +1,4 @@
1
- import { C as A, E as e, S as s, p as E, h as n } from "./index-DmB_5CV9.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;
@@ -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,18 @@ 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;
173
186
  share: string;
174
187
  back: string;
175
188
  selected: string;
@@ -240,7 +253,7 @@ declare const messengerEn: {
240
253
  disconnected: string;
241
254
  fallback: string;
242
255
  };
243
- export type TranslationKey = `messenger.${keyof typeof messengerEn & string}` | `photo.${keyof typeof photoEn & string}` | BaseTranslationKey | `attachment.${keyof AttachmentCatalog & string}` | `compact.${keyof CompactCatalog & string}`;
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}`;
244
257
  export type TranslationMessages = Record<TranslationKey, string>;
245
258
  export declare const MESSAGES: Record<SupportedLocale, TranslationMessages>;
246
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 {};