@hgt-weprotalk/mira-client 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{launcher-D5gmlTx-.js → launcher-BaqU_YNU.js} +44 -26
- package/dist/components/chat-widget/ChatLauncher.d.ts +5 -0
- package/dist/components/chat-widget/ChatLauncher.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatLauncher.types.d.ts +10 -0
- package/dist/components/chat-widget/ChatLauncher.types.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatPanel.d.ts +3 -5
- package/dist/components/chat-widget/ChatPanel.d.ts.map +1 -1
- package/dist/components/chat-widget/ChatWidget.d.ts +1 -22
- package/dist/components/chat-widget/ChatWidget.d.ts.map +1 -1
- package/dist/components/chat-widget/ChatWidget.types.d.ts +49 -0
- package/dist/components/chat-widget/ChatWidget.types.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatWidgetBody.d.ts +5 -0
- package/dist/components/chat-widget/ChatWidgetBody.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatWidgetPanel.d.ts +3 -0
- package/dist/components/chat-widget/ChatWidgetPanel.d.ts.map +1 -0
- package/dist/components/chat-widget/ChatWidgetPanel.types.d.ts +19 -0
- package/dist/components/chat-widget/ChatWidgetPanel.types.d.ts.map +1 -0
- package/dist/components/chat-widget/GuideBubble.d.ts +3 -0
- package/dist/components/chat-widget/GuideBubble.d.ts.map +1 -0
- package/dist/components/chat-widget/GuideBubble.types.d.ts +8 -0
- package/dist/components/chat-widget/GuideBubble.types.d.ts.map +1 -0
- package/dist/components/chat-widget/GuideBubbleBlock.d.ts +3 -0
- package/dist/components/chat-widget/GuideBubbleBlock.d.ts.map +1 -0
- package/dist/components/chat-widget/GuideBubbleBlock.types.d.ts +5 -0
- package/dist/components/chat-widget/GuideBubbleBlock.types.d.ts.map +1 -0
- package/dist/components/chat-widget/GuideBubbleGroup.d.ts +3 -0
- package/dist/components/chat-widget/GuideBubbleGroup.d.ts.map +1 -0
- package/dist/components/chat-widget/GuideBubbleGroup.types.d.ts +5 -0
- package/dist/components/chat-widget/GuideBubbleGroup.types.d.ts.map +1 -0
- package/dist/components/chat-widget/QuickEntryZone.d.ts +4 -6
- package/dist/components/chat-widget/QuickEntryZone.d.ts.map +1 -1
- package/dist/components/chat-widget/layoutTokens.d.ts +1 -1
- package/dist/components/chat-widget/useChatWidgetEmbedEffects.d.ts +13 -0
- package/dist/components/chat-widget/useChatWidgetEmbedEffects.d.ts.map +1 -0
- package/dist/components/chat-widget/useChatWidgetPanelState.d.ts +17 -0
- package/dist/components/chat-widget/useChatWidgetPanelState.d.ts.map +1 -0
- package/dist/components/chat-widget/useGuideBubbleHide.d.ts +10 -0
- package/dist/components/chat-widget/useGuideBubbleHide.d.ts.map +1 -0
- package/dist/embed/assets/de-DE-qkPYU8l6.js +1 -0
- package/dist/embed/assets/en-AU-Cl_hI5xZ.js +1 -0
- package/dist/embed/assets/en-CA-DDjB0zyC.js +1 -0
- package/dist/embed/assets/en-GB-B9YWeH7t.js +1 -0
- package/dist/embed/assets/fr-FR-Bm6sspfd.js +1 -0
- package/dist/embed/assets/frame-CzBYEcEP.js +81 -0
- package/dist/embed/assets/{frame-BBn9Hafa.js → frame-VdmCXt0d.js} +2 -2
- package/dist/embed/assets/ja-JP-XpPeT7zK.js +1 -0
- package/dist/embed/assets/{lib-C56vNTpU.js → lib-BWifTX6x.js} +1 -1
- package/dist/embed/assets/lib-kYkoLnAC.js +14 -0
- package/dist/embed/assets/style-DD7HwMzB.css +2 -0
- package/dist/embed/assets/{style-DiPXQIiL.css → style-ejd9bFYf.css} +1 -1
- package/dist/embed/assets/zh-CN-Co57-I3x.js +1 -0
- package/dist/embed/chat-widget.js +79 -50
- package/dist/embed/frame.html +2 -2
- package/dist/embed/guide-bubble-preview.png +0 -0
- package/dist/embed/messages.d.ts +6 -83
- package/dist/embed/messages.d.ts.map +1 -1
- package/dist/embed/messages.types.d.ts +95 -0
- package/dist/embed/messages.types.d.ts.map +1 -0
- package/dist/embed/messagesCore.d.ts +2 -0
- package/dist/embed/messagesCore.d.ts.map +1 -0
- package/dist/embed/messagesPost.d.ts +7 -0
- package/dist/embed/messagesPost.d.ts.map +1 -0
- package/dist/embed/mira-chat-host.js +1 -1
- package/dist/fixtures/guideBubblePreview.d.ts +5 -0
- package/dist/fixtures/guideBubblePreview.d.ts.map +1 -0
- package/dist/guide-bubble-preview.png +0 -0
- package/dist/hooks/useChatWidgetMobile.d.ts +1 -1
- package/dist/hooks/useHandoff.d.ts +1 -2
- package/dist/hooks/useHandoff.d.ts.map +1 -1
- package/dist/index.cjs +28 -28
- package/dist/index.js +2553 -2342
- package/dist/mira-client.css +1 -1
- package/dist/services/chat/agentAdapter.d.ts.map +1 -1
- package/dist/services/chat/guideBubbleHide.d.ts +11 -0
- package/dist/services/chat/guideBubbleHide.d.ts.map +1 -0
- package/dist/services/chat/guideBubbleHideSync.d.ts +13 -0
- package/dist/services/chat/guideBubbleHideSync.d.ts.map +1 -0
- package/dist/services/chat/guideBubbleMapper.d.ts +4 -0
- package/dist/services/chat/guideBubbleMapper.d.ts.map +1 -0
- package/dist/services/chat/guideBubbleVisibility.d.ts +4 -0
- package/dist/services/chat/guideBubbleVisibility.d.ts.map +1 -0
- package/dist/services/chat/index.d.ts.map +1 -1
- package/dist/types/agent.d.ts +2 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/chat.d.ts +3 -0
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/guideBubble.d.ts +40 -0
- package/dist/types/guideBubble.d.ts.map +1 -0
- package/dist/types/quickEntry.d.ts +1 -1
- package/dist/types/quickEntry.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){var e=`mira-chat-widget`,t=e=>!!e&&typeof e==`object`&&`source`in e,n=e=>{if(!t(e)||e.source!==`mira-chat-widget`)return!1;let n=e;return n.type===`resize`?typeof n.width==`number`&&typeof n.height==`number`&&n.width>0&&n.height>0:n.type===`event`?typeof n.name==`string`:n.type===`response`&&typeof n.requestId==`string`&&typeof n.ok==`boolean`},r=(e=>e.replace(/<!--[\s\S]*?-->/g,``).replace(/\sclass="[^"]*"/g,``).trim())(`<!-- @license lucide-static v1.34.0 - ISC --> <svg class="lucide lucide-chevron-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" > <path d="m6 9 6 6 6-6" /> </svg>`).replace(`<svg `,`<svg class="mira-chat-launcher-chevron" `),i=e=>/^https?:\/\//.test(e)||e.startsWith(`/`)||e.startsWith(`data:`),a={panelWidthPx:520,panelHeightPx:740,panelViewportTopInsetPx:16,panelLauncherReservedBlockPx:92,assistantBubbleMaxWidthPx:445,assistantBodyMaxWidthPx:415,productCardWidthPx:202,mobileBreakpointPx:
|
|
1
|
+
(function(){var e=`mira-chat-widget`,t=e=>!!e&&typeof e==`object`&&`source`in e,n=e=>{if(!t(e)||e.source!==`mira-chat-widget`)return!1;let n=e;return n.type===`resize`?typeof n.width==`number`&&typeof n.height==`number`&&n.width>0&&n.height>0:n.type===`event`?typeof n.name==`string`:n.type===`response`&&typeof n.requestId==`string`&&typeof n.ok==`boolean`},r=(e=>e.replace(/<!--[\s\S]*?-->/g,``).replace(/\sclass="[^"]*"/g,``).trim())(`<!-- @license lucide-static v1.34.0 - ISC --> <svg class="lucide lucide-chevron-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" > <path d="m6 9 6 6 6-6" /> </svg>`).replace(`<svg `,`<svg class="mira-chat-launcher-chevron" `),i=e=>/^https?:\/\//.test(e)||e.startsWith(`/`)||e.startsWith(`data:`),a={panelWidthPx:520,panelHeightPx:740,panelViewportTopInsetPx:16,panelLauncherReservedBlockPx:92,assistantBubbleMaxWidthPx:445,assistantBodyMaxWidthPx:415,productCardWidthPx:202,mobileBreakpointPx:768,mobilePanelHorizontalInsetPx:16,mobilePanelVerticalReservedPx:84,mobileAssistantBubbleMaxWidth:`98%`,mobileAssistantBodyMaxWidth:`calc(100vw - 44px)`};a.panelLauncherReservedBlockPx;var o={right:`--mira-chat-widget-window-right`,bottom:`--mira-chat-widget-window-bottom`,left:`--mira-chat-widget-window-left`,top:`--mira-chat-widget-window-top`,width:`--mira-chat-widget-window-width`,maxWidth:`--mira-chat-widget-window-max-width`,height:`--mira-chat-widget-window-height`,maxHeight:`--mira-chat-widget-window-max-height`,borderRadius:`--mira-chat-widget-window-border-radius`},s={windowRightPx:20,buttonBottomPx:20,buttonHeightPx:56,gapPx:16,widthPx:a.panelWidthPx,heightPx:a.panelHeightPx,borderRadiusPx:18},c=s.buttonBottomPx+s.buttonHeightPx+s.gapPx,l=e=>`${e}px`,u=`min(${l(a.panelHeightPx)}, calc(100dvh - ${a.panelViewportTopInsetPx}px - ${c}px))`,d=`
|
|
2
2
|
${o.right}: ${l(s.windowRightPx)};
|
|
3
3
|
${o.bottom}: ${l(c)};
|
|
4
4
|
${o.left}: unset;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
${o.height}: ${l(s.heightPx)};
|
|
9
9
|
${o.maxHeight}: ${u};
|
|
10
10
|
${o.borderRadius}: ${l(s.borderRadiusPx)};
|
|
11
|
-
`;`${o.right}${l(s.windowRightPx)}${o.bottom}${l(c)}${o.width}${l(s.widthPx)}${o.height}${l(s.heightPx)}${o.maxHeight}${u}${o.borderRadius}${l(s.borderRadiusPx)}`;var f=(e,t=16)=>{let n=e.trim();return!n||n===`unset`||n===`auto`?0:n.endsWith(`rem`)?Number.parseFloat(n)*t:n.endsWith(`px`)?Number.parseFloat(n):Number.parseFloat(n)||0},p=(e,t=document.documentElement)=>{let n=getComputedStyle(t),r=Number.parseFloat(n.fontSize)||16;return f(n.getPropertyValue(e),r)},m=`mira-chat-widget-button`,
|
|
11
|
+
`;`${o.right}${l(s.windowRightPx)}${o.bottom}${l(c)}${o.width}${l(s.widthPx)}${o.height}${l(s.heightPx)}${o.maxHeight}${u}${o.borderRadius}${l(s.borderRadiusPx)}`;var f=(e,t=16)=>{let n=e.trim();return!n||n===`unset`||n===`auto`?0:n.endsWith(`rem`)?Number.parseFloat(n)*t:n.endsWith(`px`)?Number.parseFloat(n):Number.parseFloat(n)||0},p=(e,t=document.documentElement)=>{let n=getComputedStyle(t),r=Number.parseFloat(n.fontSize)||16;return f(n.getPropertyValue(e),r)},m=a.mobileBreakpointPx,h=()=>typeof window>`u`?!1:window.innerWidth<=m,g=`(max-width: ${m}px)`,_=`mira-chat-widget-button`,v=`mira-chat-widget-window`,y=`mira-chat-widget-control`,b=`mira-chat-widget-style`,x=320,S=`cubic-bezier(0.22, 1, 0.36, 1)`,C=`
|
|
12
12
|
right: var(${o.right});
|
|
13
13
|
bottom: var(${o.bottom});
|
|
14
14
|
left: var(${o.left});
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
height: var(${o.height});
|
|
19
19
|
max-height: var(${o.maxHeight});
|
|
20
20
|
border-radius: var(${o.borderRadius});
|
|
21
|
-
`,
|
|
21
|
+
`,w=()=>{if(document.getElementById(b))return;let e=document.createElement(`style`);e.id=b,e.textContent=`
|
|
22
22
|
:root {
|
|
23
23
|
--mira-chat-widget-button-right: ${s.windowRightPx}px;
|
|
24
24
|
--mira-chat-widget-button-bottom: ${s.buttonBottomPx}px;
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
${d}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
#${
|
|
42
|
+
#${_} {
|
|
43
43
|
position: fixed;
|
|
44
44
|
right: var(--mira-chat-widget-button-right);
|
|
45
45
|
bottom: var(--mira-chat-widget-button-bottom);
|
|
@@ -54,18 +54,18 @@
|
|
|
54
54
|
color: var(--mira-chat-widget-button-color);
|
|
55
55
|
line-height: 1;
|
|
56
56
|
cursor: pointer;
|
|
57
|
-
z-index:
|
|
57
|
+
z-index: 2147483645;
|
|
58
58
|
display: grid;
|
|
59
59
|
place-items: center;
|
|
60
60
|
padding: 0;
|
|
61
61
|
overflow: hidden;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
#${
|
|
64
|
+
#${_}.is-below-iframe {
|
|
65
65
|
z-index: 2147483645;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
#${
|
|
68
|
+
#${_} .mira-chat-launcher-avatar {
|
|
69
69
|
position: absolute;
|
|
70
70
|
inset: 0;
|
|
71
71
|
width: 100%;
|
|
@@ -78,26 +78,26 @@
|
|
|
78
78
|
pointer-events: none;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
#${
|
|
81
|
+
#${_} .mira-chat-launcher-avatar.is-visible {
|
|
82
82
|
opacity: 1;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
#${
|
|
85
|
+
#${_} svg {
|
|
86
86
|
width: 26px;
|
|
87
87
|
height: 26px;
|
|
88
88
|
display: block;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
#${
|
|
92
|
-
transition: transform 220ms ${
|
|
91
|
+
#${_} .mira-chat-launcher-chevron {
|
|
92
|
+
transition: transform 220ms ${S};
|
|
93
93
|
transform-origin: center;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
#${
|
|
97
|
-
transform: rotate(
|
|
96
|
+
#${_}.is-open .mira-chat-launcher-chevron {
|
|
97
|
+
transform: rotate(0deg);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
#${
|
|
100
|
+
#${v} {
|
|
101
101
|
position: fixed;
|
|
102
102
|
inset: 0;
|
|
103
103
|
width: 100%;
|
|
@@ -112,18 +112,18 @@
|
|
|
112
112
|
transform: translateY(14px) scale(0.97);
|
|
113
113
|
transform-origin: bottom right;
|
|
114
114
|
transition:
|
|
115
|
-
opacity ${
|
|
116
|
-
transform ${
|
|
115
|
+
opacity ${x}ms ${S},
|
|
116
|
+
transform ${x}ms ${S};
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
#${
|
|
119
|
+
#${v}.is-open {
|
|
120
120
|
opacity: 1;
|
|
121
121
|
transform: translateY(0) scale(1);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
#${
|
|
124
|
+
#${y} {
|
|
125
125
|
position: fixed;
|
|
126
|
-
${
|
|
126
|
+
${C}
|
|
127
127
|
z-index: 2147483645;
|
|
128
128
|
display: none;
|
|
129
129
|
background: transparent;
|
|
@@ -132,20 +132,38 @@
|
|
|
132
132
|
transform: translateY(14px) scale(0.97);
|
|
133
133
|
transform-origin: bottom right;
|
|
134
134
|
transition:
|
|
135
|
-
opacity ${
|
|
136
|
-
transform ${
|
|
135
|
+
opacity ${x}ms ${S},
|
|
136
|
+
transform ${x}ms ${S};
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
#${
|
|
139
|
+
#${y}.is-open {
|
|
140
140
|
opacity: 1;
|
|
141
141
|
transform: translateY(0) scale(1);
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
+
@media ${g} {
|
|
145
|
+
#${y} {
|
|
146
|
+
display: none !important;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
#${v} {
|
|
150
|
+
pointer-events: auto;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
#${v}.is-open {
|
|
154
|
+
z-index: 2147483647;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
#${_}.is-open {
|
|
158
|
+
z-index: 2147483646;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
144
162
|
@media (prefers-reduced-motion: reduce) {
|
|
145
|
-
#${
|
|
146
|
-
#${
|
|
147
|
-
#${
|
|
163
|
+
#${_} .mira-chat-launcher-chevron,
|
|
164
|
+
#${v},
|
|
165
|
+
#${y} {
|
|
148
166
|
transition-duration: 0.01ms !important;
|
|
149
167
|
}
|
|
150
168
|
}
|
|
151
|
-
`,document.head.appendChild(e)},
|
|
169
|
+
`,document.head.appendChild(e)},T=()=>{let e=document.currentScript;return e instanceof HTMLScriptElement?e:document.querySelector(`script[data-agent-name]`)},E=e=>{let t=new URL(e.src,window.location.href),n=t.pathname.replace(/\/[^/]+$/,``);return new URL(`${n}/`,t.origin)},D=e=>{let t=new URL(`frame.html`,E(e)),{agentName:n,site:r,locale:i,apiBaseUrl:a,launcherAvatar:o}=e.dataset;return n?.trim()&&t.searchParams.set(`agentName`,n.trim()),r?.trim()&&t.searchParams.set(`site`,r.trim()),i?.trim()&&t.searchParams.set(`locale`,i.trim()),a?.trim()&&t.searchParams.set(`apiBaseUrl`,a.trim()),o?.trim()&&t.searchParams.set(`launcherAvatar`,o.trim()),t.searchParams.set(`layout`,`inline`),t.searchParams.set(`parentOrigin`,window.location.origin),t};(()=>{if(document.getElementById(_))return;let t=T();if(!t){console.error(`[mira-chat] launcher script tag not found`);return}w();let a=D(t),l=a.origin,u=t.dataset.launcherAvatar?.trim()??``,d=i(u)?u:``,f=!1,m=document.createElement(`button`);m.id=_,m.type=`button`,m.title=`Open chat`,m.setAttribute(`aria-label`,`Open chat`),m.style.display=`none`;let g=e=>{if(m.innerHTML=r,e||!d||f)return;let t=document.createElement(`img`);t.className=`mira-chat-launcher-avatar`,t.src=d,t.alt=``,t.setAttribute(`aria-hidden`,`true`),t.addEventListener(`load`,()=>{t.classList.add(`is-visible`)},{once:!0}),t.addEventListener(`error`,()=>{f=!0,g(e)},{once:!0}),m.appendChild(t)};g(!1);let b=document.createElement(`iframe`);b.id=v,b.title=`Mira Chat Widget`,b.setAttribute(`allow`,`clipboard-write`),b.setAttribute(`allowtransparency`,`true`),b.style.backgroundColor=`transparent`,b.src=a.toString();let S=null,C=!1,E=null;document.body.appendChild(b),document.body.appendChild(m);let O=()=>{E!==null&&(clearTimeout(E),E=null)},k=()=>{S!==null&&(b.style.pointerEvents=`none`,S.style.pointerEvents=`auto`)},A=()=>{S!==null&&(b.style.pointerEvents=`auto`,S.style.pointerEvents=`none`)};h()||(S=document.createElement(`div`),S.id=y,S.setAttribute(`aria-hidden`,`true`),S.addEventListener(`mouseenter`,()=>{C&&A()}),document.body.appendChild(S));let j=()=>{if(S===null)return{width:s.widthPx,height:s.heightPx,right:s.windowRightPx,bottom:c,borderRadius:s.borderRadiusPx};let e=S.getBoundingClientRect(),t=window.getComputedStyle(S),n=Number.parseFloat(t.borderRadius)||s.borderRadiusPx;return{width:e.width,height:e.height,right:p(o.right),bottom:p(o.bottom),borderRadius:n}},M=()=>{if(!C||b.contentWindow===null||h())return;let t={source:e,type:`command`,name:`set-dialog-layout`,payload:j()};b.contentWindow.postMessage(t,l)},N=()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{M()})})},P=()=>{let e=document.documentElement;for(let t of Object.values(o))e.style.removeProperty(t)},F=e=>{m.classList.toggle(`is-below-iframe`,e)},I=e=>{m.classList.toggle(`is-open`,e),m.title=e?`Close chat`:`Open chat`,m.setAttribute(`aria-label`,e?`Close chat`:`Open chat`),g(e)},L=()=>{if(b.contentWindow===null)return;let t={source:e,type:`command`,name:`panel-open`};b.contentWindow.postMessage(t,l)};window.addEventListener(`message`,e=>{if(e.origin===l&&!(!n(e.data)||e.data.type!==`event`)){if(e.data.name===`ready`){m.style.display=`grid`,N();return}if(e.data.name===`dialog-pointer-leave`){h()||k();return}if(e.data.name===`photo-preview-open`){F(!0);return}if(e.data.name===`photo-preview-close`){F(!1);return}if(e.data.name===`launcher-avatar`){if(u)return;let t=e.data.payload?.url?.trim()??``;if(!i(t))return;d=t,f=!1,C||g(!1)}}});let R=()=>{if(O(),C=!0,I(!0),b.style.display=`block`,h()){requestAnimationFrame(()=>{b.classList.add(`is-open`)}),L();return}S!==null&&(S.style.display=`block`),requestAnimationFrame(()=>{b.classList.add(`is-open`),S?.classList.add(`is-open`)}),N(),L()},z=()=>{if(C){if(O(),C=!1,I(!1),h()){b.classList.remove(`is-open`),b.style.display=`none`,F(!1);return}b.classList.remove(`is-open`),S?.classList.remove(`is-open`),k(),E=setTimeout(()=>{E=null,b.style.display=`none`,S!==null&&(S.style.display=`none`),P(),F(!1)},x)}};m.addEventListener(`click`,()=>{if(C){z();return}R()}),window.addEventListener(`resize`,()=>{h()||N()}),window.__MIRA_CHAT_WIDGET__={iframe:b,frameOrigin:l,mode:`launcher`,open:R,close:z},window.dispatchEvent(new CustomEvent(`mira-chat-widget-mounted`))})()})();
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ChatLauncherProps } from "./ChatLauncher.types";
|
|
2
|
+
/** 右下角 Launcher 按钮(头像 + 未读点) */
|
|
3
|
+
declare const ChatLauncher: ({ isOpen, avatarUrl, unreadVisible, unreadLabel, openLabel, closeLabel, onToggleOpen, }: ChatLauncherProps) => import("react").JSX.Element;
|
|
4
|
+
export default ChatLauncher;
|
|
5
|
+
//# sourceMappingURL=ChatLauncher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatLauncher.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatLauncher.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,gCAAgC;AAChC,QAAA,MAAM,YAAY,GAAI,yFAQnB,iBAAiB,gCAmBnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatLauncher.types.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatLauncher.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B"}
|
|
@@ -96,10 +96,8 @@ interface ChatPanelProps {
|
|
|
96
96
|
onSelectSuggestedQuestion: (item: RecommendedQuestion) => void;
|
|
97
97
|
/** 点击快捷入口 PRESET_MSG */
|
|
98
98
|
onSelectQuickEntryPreset: (entry: QuickEntry) => void;
|
|
99
|
-
/**
|
|
100
|
-
|
|
101
|
-
/** 快捷入口 COLLECT_FORM 关闭 */
|
|
102
|
-
onCollectFormDismiss: () => void;
|
|
99
|
+
/** 点击快捷入口 COLLECT_FORM(转人工) */
|
|
100
|
+
onQuickEntryHandoff: () => void;
|
|
103
101
|
/** 取消留资表单 / 关闭失败提示 */
|
|
104
102
|
onDismissHandoffForm: () => void;
|
|
105
103
|
/** 提交留资表单 */
|
|
@@ -124,6 +122,6 @@ interface ChatPanelProps {
|
|
|
124
122
|
onPhotoPreviewVisibleChange?: (visible: boolean) => void;
|
|
125
123
|
}
|
|
126
124
|
/** 客服面板:会话列表 / 对话页 + 输入区 */
|
|
127
|
-
declare const ChatPanel: ({ panelView, agentName, messageAgentDisplayName, agentAvatar, agentSubtitle, headerStatusBadge, sessions, isLoadingSessions, isLoadingHistory, showBackButton, requiresLeaveHandoffConfirm, messages, inputValue, isInitializing, isResponding, isThinking, thinkingStageIndex, isInputDisabled, inputPlaceholder, error, showHandoffForm, showWaitingBanner, showHandoffFailed, handoffError, showClosedNotice, hasBackUnread, zendeskUnreadByConversationId, storedProfile, connecting, sdkLoading, sdkReady, suggestedQuestions, openingStatement, quickEntries, showQuickEntries, onInputChange, onSend, onStop, onClose, onReset, onBack, onSelectSession, onDeleteSession, onSelectSuggestedQuestion, onSelectQuickEntryPreset,
|
|
125
|
+
declare const ChatPanel: ({ panelView, agentName, messageAgentDisplayName, agentAvatar, agentSubtitle, headerStatusBadge, sessions, isLoadingSessions, isLoadingHistory, showBackButton, requiresLeaveHandoffConfirm, messages, inputValue, isInitializing, isResponding, isThinking, thinkingStageIndex, isInputDisabled, inputPlaceholder, error, showHandoffForm, showWaitingBanner, showHandoffFailed, handoffError, showClosedNotice, hasBackUnread, zendeskUnreadByConversationId, storedProfile, connecting, sdkLoading, sdkReady, suggestedQuestions, openingStatement, quickEntries, showQuickEntries, onInputChange, onSend, onStop, onClose, onReset, onBack, onSelectSession, onDeleteSession, onSelectSuggestedQuestion, onSelectQuickEntryPreset, onQuickEntryHandoff, onDismissHandoffForm, onSubmitHandoffForm, onRetryHandoff, onLikeMessage, onDislikeInitMessage, onDislikeReasonMessage, onDialogPointerLeave, scrollToBottomSignal, panelEnterAnimationSignal, isClosing, onPhotoPreviewVisibleChange, }: ChatPanelProps) => import("react").JSX.Element;
|
|
128
126
|
export default ChatPanel;
|
|
129
127
|
//# sourceMappingURL=ChatPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatPanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,5 @@
|
|
|
1
|
-
import { type Locale } from "../../i18n";
|
|
2
1
|
import "./chat-widget.css";
|
|
3
|
-
|
|
4
|
-
/** iframe 嵌入模式:样式与宿主页 iframe 窗口配合 */
|
|
5
|
-
embedMode?: boolean;
|
|
6
|
-
/** iframe 面板模式:不渲染 launcher,仅聊天面板(宿主页控制按钮) */
|
|
7
|
-
panelOnly?: boolean;
|
|
8
|
-
/** iframe 模式下宿主页 origin,用于 postMessage */
|
|
9
|
-
parentOrigin?: string;
|
|
10
|
-
/** 嵌入时可显式指定语言,如 "en-US" */
|
|
11
|
-
locale?: Locale;
|
|
12
|
-
/** Web Messenger integrationId 已改由 GET /config/byName 返回的 integrationsId 提供(不再从宿主传入) */
|
|
13
|
-
/** Agent 配置名(对应 script embed 的 data-agent-name) */
|
|
14
|
-
agentName?: string;
|
|
15
|
-
/** Agent 站点(对应 script embed 的 data-site,与 agentName 组成 config/byName 查询) */
|
|
16
|
-
site?: string;
|
|
17
|
-
/** Launcher 按钮头像 URL(对应 script embed 的 data-launcher-avatar;优先于 config API) */
|
|
18
|
-
launcherAvatar?: string;
|
|
19
|
-
/** Agent API 根路径(对应 script embed 的 data-api-base-url;默认 /prod-api) */
|
|
20
|
-
apiBaseUrl?: string;
|
|
21
|
-
/** bootstrap 失败(如 GET /config/byName 失败)时回调,宿主可用于回退 Zendesk */
|
|
22
|
-
onInitError?: (error: Error) => void;
|
|
23
|
-
}
|
|
2
|
+
import type { ChatWidgetProps } from "./ChatWidget.types";
|
|
24
3
|
/** 右下角客服挂件:config/byName → Zendesk SDK → 会话 bootstrap */
|
|
25
4
|
declare const ChatWidget: ({ embedMode, panelOnly, parentOrigin, locale, agentName, site, launcherAvatar, apiBaseUrl, onInitError, }: ChatWidgetProps) => import("react").JSX.Element;
|
|
26
5
|
export default ChatWidget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatWidget.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatWidget.tsx"],"names":[],"mappings":"AAeA,OAAO,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,yDAAyD;AACzD,QAAA,MAAM,UAAU,GAAI,2GAUjB,eAAe,gCAwIjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Locale } from "../../i18n";
|
|
2
|
+
export interface ChatWidgetProps {
|
|
3
|
+
/** iframe 嵌入模式:样式与宿主页 iframe 窗口配合 */
|
|
4
|
+
embedMode?: boolean;
|
|
5
|
+
/** iframe 面板模式:不渲染 launcher,仅聊天面板(宿主页控制按钮) */
|
|
6
|
+
panelOnly?: boolean;
|
|
7
|
+
/** iframe 模式下宿主页 origin,用于 postMessage */
|
|
8
|
+
parentOrigin?: string;
|
|
9
|
+
/** 嵌入时可显式指定语言,如 "en-US" */
|
|
10
|
+
locale?: Locale;
|
|
11
|
+
/** Web Messenger integrationId 已改由 GET /config/byName 返回的 integrationsId 提供(不再从宿主传入) */
|
|
12
|
+
/** Agent 配置名(对应 script embed 的 data-agent-name) */
|
|
13
|
+
agentName?: string;
|
|
14
|
+
/** Agent 站点(对应 script embed 的 data-site,与 agentName 组成 config/byName 查询) */
|
|
15
|
+
site?: string;
|
|
16
|
+
/** Launcher 按钮头像 URL(对应 script embed 的 data-launcher-avatar;优先于 config API) */
|
|
17
|
+
launcherAvatar?: string;
|
|
18
|
+
/** Agent API 根路径(对应 script embed 的 data-api-base-url;默认 /prod-api) */
|
|
19
|
+
apiBaseUrl?: string;
|
|
20
|
+
/** bootstrap 失败(如 GET /config/byName 失败)时回调,宿主可用于回退 Zendesk */
|
|
21
|
+
onInitError?: (error: Error) => void;
|
|
22
|
+
}
|
|
23
|
+
export interface ChatWidgetBodyProps {
|
|
24
|
+
/** 面板是否打开 */
|
|
25
|
+
isOpen: boolean;
|
|
26
|
+
/** 面板是否挂载(关闭动画期间仍为 true) */
|
|
27
|
+
isPanelVisible: boolean;
|
|
28
|
+
/** 仅面板模式(不渲染 launcher) */
|
|
29
|
+
panelOnly: boolean;
|
|
30
|
+
/** iframe 嵌入模式 */
|
|
31
|
+
embedMode: boolean;
|
|
32
|
+
/** 宿主传入的 Launcher 头像(优先于 config API) */
|
|
33
|
+
hostLauncherAvatar?: string;
|
|
34
|
+
/** 宿主页 origin(postMessage 用) */
|
|
35
|
+
parentOrigin: string;
|
|
36
|
+
/** 切换面板开合 */
|
|
37
|
+
onToggleOpen: () => void;
|
|
38
|
+
/** 鼠标离开对话框区域回调(iframe 模式通知宿主页) */
|
|
39
|
+
onDialogPointerLeave?: () => void;
|
|
40
|
+
/** 滚动到底部信号(递增计数) */
|
|
41
|
+
scrollToBottomSignal?: number;
|
|
42
|
+
/** 面板进入动画信号(递增计数,embed 模式由 panel-open 触发) */
|
|
43
|
+
panelEnterAnimationSignal?: number;
|
|
44
|
+
/** 面板是否正在播放关闭动画 */
|
|
45
|
+
isPanelClosing?: boolean;
|
|
46
|
+
/** 图片预览可见性变化回调 */
|
|
47
|
+
onPhotoPreviewVisibleChange?: (visible: boolean) => void;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=ChatWidget.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWidget.types.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatWidget.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,4BAA4B;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,0BAA0B;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,kCAAkC;IAClC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,oBAAoB;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mBAAmB;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB;IAClB,2BAA2B,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ChatWidgetBodyProps } from "./ChatWidget.types";
|
|
2
|
+
/** Widget 主体:依赖 I18nProvider 提供的 t */
|
|
3
|
+
declare const ChatWidgetBody: ({ isOpen, isPanelVisible, panelOnly, embedMode, hostLauncherAvatar, parentOrigin, onToggleOpen, onDialogPointerLeave, scrollToBottomSignal, panelEnterAnimationSignal, isPanelClosing, onPhotoPreviewVisibleChange, }: ChatWidgetBodyProps) => import("react").JSX.Element;
|
|
4
|
+
export default ChatWidgetBody;
|
|
5
|
+
//# sourceMappingURL=ChatWidgetBody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWidgetBody.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatWidgetBody.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,sCAAsC;AACtC,QAAA,MAAM,cAAc,GAAI,uNAarB,mBAAmB,gCAqJrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ChatWidgetPanelProps } from "./ChatWidgetPanel.types";
|
|
2
|
+
export default function ChatWidgetPanel({ handoff, inputValue, onInputChange, onSend, onClose, onSelectSuggestedQuestion, onSelectQuickEntryPreset, isPanelClosing, panelEnterAnimationSignal, scrollToBottomSignal, onDialogPointerLeave, onPhotoPreviewVisibleChange, }: ChatWidgetPanelProps): import("react").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=ChatWidgetPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWidgetPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatWidgetPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,OAAO,EACP,UAAU,EACV,aAAa,EACb,MAAM,EACN,OAAO,EACP,yBAAyB,EACzB,wBAAwB,EACxB,cAAsB,EACtB,yBAA6B,EAC7B,oBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,GAC5B,EAAE,oBAAoB,+BAoEtB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { useHandoff } from "../../hooks/useHandoff";
|
|
2
|
+
import type { RecommendedQuestion } from "../../types/agent";
|
|
3
|
+
import type { QuickEntry } from "../../types/quickEntry";
|
|
4
|
+
export type ChatWidgetHandoff = ReturnType<typeof useHandoff>;
|
|
5
|
+
export interface ChatWidgetPanelProps {
|
|
6
|
+
handoff: ChatWidgetHandoff;
|
|
7
|
+
inputValue: string;
|
|
8
|
+
onInputChange: (value: string) => void;
|
|
9
|
+
onSend: () => void | Promise<void>;
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
onSelectSuggestedQuestion: (item: RecommendedQuestion) => void | Promise<void>;
|
|
12
|
+
onSelectQuickEntryPreset: (entry: QuickEntry) => void | Promise<void>;
|
|
13
|
+
isPanelClosing?: boolean;
|
|
14
|
+
panelEnterAnimationSignal?: number;
|
|
15
|
+
scrollToBottomSignal?: number;
|
|
16
|
+
onDialogPointerLeave?: () => void;
|
|
17
|
+
onPhotoPreviewVisibleChange?: (visible: boolean) => void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=ChatWidgetPanel.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWidgetPanel.types.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/ChatWidgetPanel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yBAAyB,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,wBAAwB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,2BAA2B,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuideBubble.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/GuideBubble.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,KAAK,EACL,UAAU,EACV,SAAS,GACV,EAAE,gBAAgB,+BAqBlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuideBubble.types.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/GuideBubble.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuideBubbleBlock.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/GuideBubbleBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,qBAAqB,sCA6BxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuideBubbleBlock.types.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/GuideBubbleBlock.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,uBAAuB,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuideBubbleGroup.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/GuideBubbleGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,qBAAqB,+BAyBxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GuideBubbleGroup.types.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/GuideBubbleGroup.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,gBAAgB,CAAC;CACzB"}
|
|
@@ -6,12 +6,10 @@ interface QuickEntryZoneProps {
|
|
|
6
6
|
userMessageCount: number;
|
|
7
7
|
/** 点击 PRESET_MSG 类型入口 */
|
|
8
8
|
onSelectPresetEntry: (entry: QuickEntry) => void;
|
|
9
|
-
/** COLLECT_FORM
|
|
10
|
-
|
|
11
|
-
/** COLLECT_FORM 关闭时恢复 AI_CHAT */
|
|
12
|
-
onCollectFormDismiss: () => void;
|
|
9
|
+
/** 点击 COLLECT_FORM 类型入口(转人工留资) */
|
|
10
|
+
onHandoffEntryClick: () => void;
|
|
13
11
|
}
|
|
14
|
-
/** 输入区上方的快捷入口:按 rounds 展示,支持预设消息 / 外链 /
|
|
15
|
-
declare const QuickEntryZone: ({ entries, userMessageCount, onSelectPresetEntry,
|
|
12
|
+
/** 输入区上方的快捷入口:按 rounds 展示,支持预设消息 / 外链 / 转人工 */
|
|
13
|
+
declare const QuickEntryZone: ({ entries, userMessageCount, onSelectPresetEntry, onHandoffEntryClick, }: QuickEntryZoneProps) => import("react").JSX.Element | null;
|
|
16
14
|
export default QuickEntryZone;
|
|
17
15
|
//# sourceMappingURL=QuickEntryZone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickEntryZone.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/QuickEntryZone.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"QuickEntryZone.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/QuickEntryZone.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,mBAAmB;IAC3B,oBAAoB;IACpB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,sBAAsB;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,mBAAmB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACjD,kCAAkC;IAClC,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,+CAA+C;AAC/C,QAAA,MAAM,cAAc,GAAI,0EAKrB,mBAAmB,uCAyDrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -12,7 +12,7 @@ export declare const CHAT_WIDGET_LAYOUT: {
|
|
|
12
12
|
readonly assistantBodyMaxWidthPx: 415;
|
|
13
13
|
/** 商品卡片固定宽度(单卡 / 多卡共用,Swiper slidesPerView auto) */
|
|
14
14
|
readonly productCardWidthPx: 202;
|
|
15
|
-
readonly mobileBreakpointPx:
|
|
15
|
+
readonly mobileBreakpointPx: 768;
|
|
16
16
|
readonly mobilePanelHorizontalInsetPx: 16;
|
|
17
17
|
readonly mobilePanelVerticalReservedPx: 84;
|
|
18
18
|
readonly mobileAssistantBubbleMaxWidth: "98%";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface UseChatWidgetEmbedEffectsOptions {
|
|
2
|
+
embedMode: boolean;
|
|
3
|
+
panelOnly: boolean;
|
|
4
|
+
parentOrigin: string;
|
|
5
|
+
requestScrollToBottom: () => void;
|
|
6
|
+
requestPanelEnterAnimation: () => void;
|
|
7
|
+
}
|
|
8
|
+
/** iframe panel-only 模式:图片预览通知与 panel-open 宿主页指令 */
|
|
9
|
+
export declare function useChatWidgetEmbedEffects({ embedMode, panelOnly, parentOrigin, requestScrollToBottom, requestPanelEnterAnimation, }: UseChatWidgetEmbedEffectsOptions): {
|
|
10
|
+
handlePhotoPreviewVisibleChange: (visible: boolean) => void;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=useChatWidgetEmbedEffects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatWidgetEmbedEffects.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/useChatWidgetEmbedEffects.ts"],"names":[],"mappings":"AAMA,UAAU,gCAAgC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,0BAA0B,EAAE,MAAM,IAAI,CAAC;CACxC;AAED,oDAAoD;AACpD,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,0BAA0B,GAC3B,EAAE,gCAAgC;+CAErB,OAAO;EAgDpB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface UseChatWidgetPanelStateOptions {
|
|
2
|
+
panelOnly: boolean;
|
|
3
|
+
windowTabSyncEnabled: boolean;
|
|
4
|
+
}
|
|
5
|
+
/** 面板开合、关闭动画与滚动/进入动画信号 */
|
|
6
|
+
export declare function useChatWidgetPanelState({ panelOnly, windowTabSyncEnabled, }: UseChatWidgetPanelStateOptions): {
|
|
7
|
+
isOpen: boolean;
|
|
8
|
+
isPanelVisible: boolean;
|
|
9
|
+
isPanelClosing: boolean;
|
|
10
|
+
scrollToBottomSignal: number;
|
|
11
|
+
panelEnterAnimationSignal: number;
|
|
12
|
+
requestScrollToBottom: () => void;
|
|
13
|
+
requestPanelEnterAnimation: () => void;
|
|
14
|
+
handleToggleOpen: () => void;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=useChatWidgetPanelState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatWidgetPanelState.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/useChatWidgetPanelState.ts"],"names":[],"mappings":"AAGA,UAAU,8BAA8B;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,0BAA0B;AAC1B,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,oBAAoB,GACrB,EAAE,8BAA8B;;;;;;;;;EAiFhC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface UseGuideBubbleHideOptions {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function useGuideBubbleHide({ isOpen, enabled, }: UseGuideBubbleHideOptions): {
|
|
6
|
+
isHidden: boolean;
|
|
7
|
+
hide: () => void;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=useGuideBubbleHide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGuideBubbleHide.d.ts","sourceRoot":"","sources":["../../../src/components/chat-widget/useGuideBubbleHide.ts"],"names":[],"mappings":"AAaA,UAAU,yBAAyB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,GACR,EAAE,yBAAyB,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CA2ErE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={"header.subtitle":`Online-Support`,"sessionStatus.aiChat":`KI`,"sessionStatus.transferring":`Warten auf Mitarbeiter`,"sessionStatus.transferred":`Mit Mitarbeiter`,"sessionStatus.close":`Beendet`,"header.newChat":`Neuer Chat`,"header.back":`Zurück`,"header.close":`Schließen`,"launcher.open":`Chat öffnen`,"launcher.close":`Chat schließen`,"guideBubble.label":`Support options`,"guideBubble.close":`Schließen`,"panel.connecting":`Verbindung wird hergestellt...`,"input.send":`Senden`,"input.stop":`Stoppen`,"message.avatarAi":`KI`,"message.avatarAgent":`Mitarbeiter`,"message.agentLabel":`Mitarbeiter`,"message.streamingPlaceholder":`...`,"message.cancelled":`Antwort gestoppt`,"thinking.stage.understanding":`Frage wird verstanden`,"thinking.stage.searching":`Wissensdatenbank wird durchsucht`,"thinking.stage.generating":`Antwort wird erstellt`,"confirm.leaveHandoffTitle":`Mitarbeiter-Support läuft`,"confirm.leaveHandoffBody":`Sie werden gerade an einen Mitarbeiter weitergeleitet oder chatten bereits mit einem. Sie können später in der Liste zu diesem Gespräch zurückkehren.`,"confirm.leaveHandoffCancel":`Im Chat bleiben`,"confirm.leaveHandoffAccept":`Zur Liste`,"confirm.leaveHandoffClose":`Bestätigungsdialog schließen`,"suggested.title":`Vorgeschlagene Fragen`,"legal.recordingNotice":`Dieses Online-Gespräch wird mithilfe von Cloud-Diensten aufgezeichnet.`,"handoff.eyebrow":`Mitarbeiter-Support`,"handoff.title":`An Mitarbeiter weiterleiten`,"handoff.desc":`Hinterlassen Sie Ihre Kontaktdaten und ein Mitarbeiter wird sich um Ihr Anliegen kümmern.`,"handoff.name":`Name`,"handoff.namePlaceholder":`Name eingeben`,"handoff.email":`E-Mail`,"handoff.emailPlaceholder":`name@example.com`,"handoff.note":`Notiz (optional)`,"handoff.notePlaceholder":`Beschreiben Sie kurz Ihr Anliegen`,"handoff.dismiss":`Schließen`,"handoff.submit":`Senden & weiterleiten`,"handoff.submitting":`Wird gesendet...`,"handoff.sdkLoading":`SDK wird initialisiert...`,"waiting.banner":`Gesendet. Sie werden mit einem Mitarbeiter verbunden…`,"handoff.failed":`Verbindung zu einem Mitarbeiter nicht möglich. Versuchen Sie es später erneut oder schließen Sie das Formular, um mit der KI fortzufahren.`,"handoff.retry":`Erneut versuchen`,"collectForm.eyebrow":`Frage aufnehmen`,"collectForm.title":`Teilen Sie uns Ihre Frage mit`,"collectForm.desc":`Hinterlassen Sie Ihre Kontaktdaten und Frage. Wir melden uns bald.`,"collectForm.name":`Name`,"collectForm.namePlaceholder":`Name eingeben`,"collectForm.email":`E-Mail`,"collectForm.emailPlaceholder":`name@example.com`,"collectForm.question":`Frage`,"collectForm.questionPlaceholder":`Beschreiben Sie, wozu Sie eine Antwort benötigen`,"collectForm.dismiss":`Schließen`,"collectForm.submit":`Senden`,"collectForm.submittedPendingApi":`Erhalten. Sende-API folgt in Kürze.`,"divider.handoff":`— An Mitarbeiter weitergeleitet —`,"placeholder.handoffForm":`Weiterleitungsformular ausfüllen`,"placeholder.waiting":`Sie werden mit einem Mitarbeiter verbunden…`,"placeholder.handoffFailed":`Verbindung zu einem Mitarbeiter nicht möglich`,"placeholder.closed":`Dieses Gespräch wurde beendet`,"placeholder.human":`Nachricht eingeben, Enter zum Senden`,"placeholder.default":`Nachricht eingeben, Enter zum Senden`,"title.human":`Mitarbeiter-Support`,"title.default":`KI-Assistent`,"error.initFailed":`Chat konnte nicht initialisiert werden`,"error.sendFailed":`Senden fehlgeschlagen`,"error.sendRetry":`Entschuldigung, Ihre Nachricht konnte nicht gesendet werden. Bitte versuchen Sie es erneut.`,"error.resetFailed":`Neuer Chat konnte nicht gestartet werden`,"error.sdkInitFailed":`Zendesk SDK konnte nicht initialisiert werden`,"error.profileRequired":`Bitte geben Sie Name und E-Mail ein`,"error.sdkNotReady":`SDK ist nicht bereit. Bitte Seite aktualisieren`,"error.sdkLoading":`SDK wird initialisiert. Bitte warten`,"error.handoffFailed":`Mitarbeiter-Chat konnte nicht gestartet werden`,"error.messageSendFailed":`Nachricht konnte nicht gesendet werden`,"error.passControlFailed":`passControl fehlgeschlagen`,"error.passControlWarning":`{{message}}. Die Chat-Sitzung wurde erstellt und Sie können weiterhin Nachrichten senden. Stellen Sie sicher, dass Switchboard korrekt konfiguriert ist.`,"handoff.messagePrefix":`[Weiterleitung] Besucher {{name}} ({{email}}) hat Mitarbeiter-Support angefordert`,"handoff.messageNote":`Notiz: {{note}}`,"feedback.like":`Hilfreich`,"feedback.dislike":`Nicht hilfreich`,"feedback.thanks":`Danke.`,"feedback.copy":`Kopieren`,"feedback.copied":`Kopiert`,"feedback.sheetTitle":`Was ist schiefgelaufen?`,"feedback.sheetDesc":`Wählen Sie den passendsten Grund, damit wir uns verbessern können.`,"feedback.sheetClose":`Feedback-Panel schließen`,"feedback.reason.inaccurate":`Ungenaue Antwort`,"feedback.reason.misunderstood":`Frage nicht verstanden`,"feedback.reason.incomplete":`Unvollständig oder nicht hilfreich`,"feedback.reason.other":`Sonstiges`,"feedback.otherPlaceholder":`Mehr erzählen...`,"feedback.cancel":`Abbrechen`,"feedback.submit":`Feedback senden`,"feedback.submitting":`Wird gesendet...`,"error.feedbackFailed":`Feedback konnte nicht gesendet werden. Bitte versuchen Sie es erneut.`,"error.sessionListFailed":`Gespräche konnten nicht geladen werden`,"error.sessionDeleteFailed":`Gespräch konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.`,"error.historyLoadFailed":`Nachrichtenverlauf konnte nicht geladen werden`,"sessionList.title":`Nachrichten`,"sessionList.newChat":`Neuer Chat`,"sessionList.startChat":`Chat starten`,"sessionList.loading":`Gespräche werden geladen...`,"sessionList.loadingHistory":`Nachrichten werden geladen...`,"sessionList.empty":`Noch keine Gespräche`,"sessionList.noPreview":`(Keine Vorschau)`,"sessionList.delete":`Gespräch löschen`,"closed.notice":`Dieses Gespräch wurde beendet. Sie können keine weiteren Nachrichten senden. Starten Sie einen neuen Chat, wenn Sie Hilfe benötigen.`,"unread.hasUnread":`Ungelesene Nachrichten`,"productCard.details":`DETAILS`,"productCard.learnMore":`MEHR ERFAHREN`,"productCard.fallbackTitle":`Produkt`,"productCard.openDetails":`Details zu {{title}} anzeigen`,"productCard.scrollLeft":`Produktkarten nach links scrollen`,"productCard.scrollRight":`Produktkarten nach rechts scrollen`,"messageList.scrollToBottom":`Nach unten scrollen`};export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={"header.subtitle":`Online support`,"sessionStatus.aiChat":`AI`,"sessionStatus.transferring":`Awaiting Agent`,"sessionStatus.transferred":`With Agent`,"sessionStatus.close":`Ended`,"header.newChat":`New chat`,"header.back":`Back`,"header.close":`Close`,"launcher.open":`Open chat`,"launcher.close":`Close chat`,"guideBubble.label":`Support options`,"guideBubble.close":`Close guide`,"panel.connecting":`Connecting...`,"input.send":`Send`,"input.stop":`Stop`,"message.avatarAi":`AI`,"message.avatarAgent":`Agent`,"message.agentLabel":`Human agent`,"message.streamingPlaceholder":`...`,"message.cancelled":`Reply stopped`,"thinking.stage.understanding":`Understanding your question`,"thinking.stage.searching":`Searching knowledge base`,"thinking.stage.generating":`Generating reply`,"confirm.leaveHandoffTitle":`Human support in progress`,"confirm.leaveHandoffBody":`You are transferring to or chatting with a human agent. You can return to this conversation from the list later.`,"confirm.leaveHandoffCancel":`Stay in chat`,"confirm.leaveHandoffAccept":`Back to list`,"confirm.leaveHandoffClose":`Close confirmation dialog`,"suggested.title":`Suggested questions`,"legal.recordingNotice":`This online conversation is recorded using cloud services.`,"handoff.eyebrow":`Human support`,"handoff.title":`Transfer to human support`,"handoff.desc":`Leave your contact details and an agent will follow up on your issue.`,"handoff.name":`Name`,"handoff.namePlaceholder":`Enter your name`,"handoff.email":`Email`,"handoff.emailPlaceholder":`name@example.com`,"handoff.note":`Note (optional)`,"handoff.notePlaceholder":`Briefly describe your issue`,"handoff.dismiss":`Close`,"handoff.submit":`Submit & transfer`,"handoff.submitting":`Submitting...`,"handoff.sdkLoading":`Initialising SDK...`,"waiting.banner":`Submitted. Connecting you to a human agent…`,"handoff.failed":`Unable to connect to a human agent. Try again later or close the form to continue with AI.`,"handoff.retry":`Retry`,"collectForm.eyebrow":`Question intake`,"collectForm.title":`Tell us your question`,"collectForm.desc":`Leave your contact details and question. We will follow up soon.`,"collectForm.name":`Name`,"collectForm.namePlaceholder":`Enter your name`,"collectForm.email":`Email`,"collectForm.emailPlaceholder":`name@example.com`,"collectForm.question":`Question`,"collectForm.questionPlaceholder":`Describe what you would like to ask`,"collectForm.dismiss":`Close`,"collectForm.submit":`Submit`,"collectForm.submittedPendingApi":`Received. Submit API coming soon.`,"divider.handoff":`— Transferred to human support —`,"placeholder.handoffForm":`Complete the transfer form`,"placeholder.waiting":`Connecting you to a human agent…`,"placeholder.handoffFailed":`Unable to connect to a human agent`,"placeholder.closed":`This conversation has ended`,"placeholder.human":`Type a message, press Enter to send`,"placeholder.default":`Type a message, press Enter to send`,"title.human":`Human support`,"title.default":`AI Assistant`,"error.initFailed":`Failed to initialise chat`,"error.sendFailed":`Failed to send`,"error.sendRetry":`Sorry, your message could not be sent. Please try again.`,"error.resetFailed":`Failed to start a new chat`,"error.sdkInitFailed":`Failed to initialise Zendesk SDK`,"error.profileRequired":`Please enter your name and email`,"error.sdkNotReady":`SDK is not ready. Please refresh the page`,"error.sdkLoading":`SDK is initialising. Please wait`,"error.handoffFailed":`Failed to start human chat session`,"error.messageSendFailed":`Failed to send message`,"error.passControlFailed":`passControl failed`,"error.passControlWarning":`{{message}}. The chat session was created and you can still send messages. Ensure Switchboard is configured correctly.`,"handoff.messagePrefix":`[Transfer] Visitor {{name}} ({{email}}) requested human support`,"handoff.messageNote":`Note: {{note}}`,"feedback.like":`Helpful`,"feedback.dislike":`Unhelpful`,"feedback.thanks":`Thanks.`,"feedback.copy":`Copy`,"feedback.copied":`Copied`,"feedback.sheetTitle":`What went wrong?`,"feedback.sheetDesc":`Pick the closest reason so we can improve.`,"feedback.sheetClose":`Close feedback panel`,"feedback.reason.inaccurate":`Inaccurate reply`,"feedback.reason.misunderstood":`Didn't understand my question`,"feedback.reason.incomplete":`Incomplete or unhelpful`,"feedback.reason.other":`Other`,"feedback.otherPlaceholder":`Tell us more...`,"feedback.cancel":`Cancel`,"feedback.submit":`Submit feedback`,"feedback.submitting":`Submitting...`,"error.feedbackFailed":`Failed to submit feedback. Please try again.`,"error.sessionListFailed":`Failed to load conversations`,"error.sessionDeleteFailed":`Failed to delete conversation. Please try again.`,"error.historyLoadFailed":`Failed to load message history`,"sessionList.title":`Messages`,"sessionList.newChat":`New chat`,"sessionList.startChat":`Start a chat`,"sessionList.loading":`Loading conversations...`,"sessionList.loadingHistory":`Loading messages...`,"sessionList.empty":`No conversations yet`,"sessionList.noPreview":`(No preview)`,"sessionList.delete":`Delete conversation`,"closed.notice":`This conversation has ended. You cannot send more messages. Start a new chat if you need help.`,"unread.hasUnread":`Unread messages`,"productCard.details":`DETAILS`,"productCard.learnMore":`LEARN MORE`,"productCard.fallbackTitle":`Product`,"productCard.openDetails":`View details for {{title}}`,"productCard.scrollLeft":`Scroll product cards left`,"productCard.scrollRight":`Scroll product cards right`,"messageList.scrollToBottom":`Scroll to bottom`};export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={"header.subtitle":`Online support`,"sessionStatus.aiChat":`AI`,"sessionStatus.transferring":`Awaiting Agent`,"sessionStatus.transferred":`With Agent`,"sessionStatus.close":`Ended`,"header.newChat":`New chat`,"header.back":`Back`,"header.close":`Close`,"launcher.open":`Open chat`,"launcher.close":`Close chat`,"guideBubble.label":`Support options`,"guideBubble.close":`Close guide`,"panel.connecting":`Connecting...`,"input.send":`Send`,"input.stop":`Stop`,"message.avatarAi":`AI`,"message.avatarAgent":`Agent`,"message.agentLabel":`Human agent`,"message.streamingPlaceholder":`...`,"message.cancelled":`Reply stopped`,"thinking.stage.understanding":`Understanding your question`,"thinking.stage.searching":`Searching knowledge base`,"thinking.stage.generating":`Generating reply`,"confirm.leaveHandoffTitle":`Human support in progress`,"confirm.leaveHandoffBody":`You are transferring to or chatting with a human agent. You can return to this conversation from the list later.`,"confirm.leaveHandoffCancel":`Stay in chat`,"confirm.leaveHandoffAccept":`Back to list`,"confirm.leaveHandoffClose":`Close confirmation dialog`,"suggested.title":`Suggested questions`,"legal.recordingNotice":`This online conversation is recorded using cloud services.`,"handoff.eyebrow":`Human support`,"handoff.title":`Transfer to human support`,"handoff.desc":`Leave your contact details and an agent will follow up on your issue.`,"handoff.name":`Name`,"handoff.namePlaceholder":`Enter your name`,"handoff.email":`Email`,"handoff.emailPlaceholder":`name@example.com`,"handoff.note":`Note (optional)`,"handoff.notePlaceholder":`Briefly describe your issue`,"handoff.dismiss":`Close`,"handoff.submit":`Submit & transfer`,"handoff.submitting":`Submitting...`,"handoff.sdkLoading":`Initializing SDK...`,"waiting.banner":`Submitted. Connecting you to a human agent…`,"handoff.failed":`Unable to connect to a human agent. Try again later or close the form to continue with AI.`,"handoff.retry":`Retry`,"collectForm.eyebrow":`Question intake`,"collectForm.title":`Tell us your question`,"collectForm.desc":`Leave your contact details and question. We will follow up soon.`,"collectForm.name":`Name`,"collectForm.namePlaceholder":`Enter your name`,"collectForm.email":`Email`,"collectForm.emailPlaceholder":`name@example.com`,"collectForm.question":`Question`,"collectForm.questionPlaceholder":`Describe what you would like to ask`,"collectForm.dismiss":`Close`,"collectForm.submit":`Submit`,"collectForm.submittedPendingApi":`Received. Submit API coming soon.`,"divider.handoff":`— Transferred to human support —`,"placeholder.handoffForm":`Complete the transfer form`,"placeholder.waiting":`Connecting you to a human agent…`,"placeholder.handoffFailed":`Unable to connect to a human agent`,"placeholder.closed":`This conversation has ended`,"placeholder.human":`Type a message, press Enter to send`,"placeholder.default":`Type a message, press Enter to send`,"title.human":`Human support`,"title.default":`AI Assistant`,"error.initFailed":`Failed to initialize chat`,"error.sendFailed":`Failed to send`,"error.sendRetry":`Sorry, your message could not be sent. Please try again.`,"error.resetFailed":`Failed to start a new chat`,"error.sdkInitFailed":`Failed to initialize Zendesk SDK`,"error.profileRequired":`Please enter your name and email`,"error.sdkNotReady":`SDK is not ready. Please refresh the page`,"error.sdkLoading":`SDK is initializing. Please wait`,"error.handoffFailed":`Failed to start human chat session`,"error.messageSendFailed":`Failed to send message`,"error.passControlFailed":`passControl failed`,"error.passControlWarning":`{{message}}. The chat session was created and you can still send messages. Ensure Switchboard is configured correctly.`,"handoff.messagePrefix":`[Transfer] Visitor {{name}} ({{email}}) requested human support`,"handoff.messageNote":`Note: {{note}}`,"feedback.like":`Helpful`,"feedback.dislike":`Unhelpful`,"feedback.thanks":`Thanks.`,"feedback.copy":`Copy`,"feedback.copied":`Copied`,"feedback.sheetTitle":`What went wrong?`,"feedback.sheetDesc":`Pick the closest reason so we can improve.`,"feedback.sheetClose":`Close feedback panel`,"feedback.reason.inaccurate":`Inaccurate reply`,"feedback.reason.misunderstood":`Didn't understand my question`,"feedback.reason.incomplete":`Incomplete or unhelpful`,"feedback.reason.other":`Other`,"feedback.otherPlaceholder":`Tell us more...`,"feedback.cancel":`Cancel`,"feedback.submit":`Submit feedback`,"feedback.submitting":`Submitting...`,"error.feedbackFailed":`Failed to submit feedback. Please try again.`,"error.sessionListFailed":`Failed to load conversations`,"error.sessionDeleteFailed":`Failed to delete conversation. Please try again.`,"error.historyLoadFailed":`Failed to load message history`,"sessionList.title":`Messages`,"sessionList.newChat":`New chat`,"sessionList.startChat":`Start a chat`,"sessionList.loading":`Loading conversations...`,"sessionList.loadingHistory":`Loading messages...`,"sessionList.empty":`No conversations yet`,"sessionList.noPreview":`(No preview)`,"sessionList.delete":`Delete conversation`,"closed.notice":`This conversation has ended. You cannot send more messages. Start a new chat if you need help.`,"unread.hasUnread":`Unread messages`,"productCard.details":`DETAILS`,"productCard.learnMore":`LEARN MORE`,"productCard.fallbackTitle":`Product`,"productCard.openDetails":`View details for {{title}}`,"productCard.scrollLeft":`Scroll product cards left`,"productCard.scrollRight":`Scroll product cards right`,"messageList.scrollToBottom":`Scroll to bottom`};export{e as default};
|