@askly/widget 2.11.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MIGRATION-3.0.md +58 -0
- package/README.md +87 -3
- package/dist/app/HelpTab-jjw4cF1_.js +1 -0
- package/dist/app/VoiceRecorder-CMc1Bz14.js +1 -0
- package/dist/app/askly-app.js +1 -0
- package/dist/app/shared-C0Z29aNi.js +1 -0
- package/dist/app/speech-8iAgRQFA.js +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/loader.js +1 -0
- package/dist/types/app.d.ts +3 -0
- package/dist/types/core/api.d.ts +30 -0
- package/dist/types/core/config.d.ts +44 -0
- package/dist/types/core/html.d.ts +2 -0
- package/dist/{core → types/core}/speech.d.ts +2 -7
- package/dist/{core → types/core}/types.d.ts +1 -0
- package/dist/types/core/voice.d.ts +7 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/loader/attrs.d.ts +4 -0
- package/dist/types/loader/core.d.ts +26 -0
- package/dist/types/widget-entry.d.ts +1 -0
- package/dist/{widget.d.ts → types/widget.d.ts} +1 -2
- package/dist/widget.js +1 -10
- package/package.json +32 -21
- package/dist/index.d.ts +0 -124
- /package/dist/{core → types/core}/events.d.ts +0 -0
- /package/dist/{core → types/core}/format.d.ts +0 -0
- /package/dist/{core → types/core}/greeting.d.ts +0 -0
- /package/dist/{core → types/core}/session.d.ts +0 -0
- /package/dist/{core → types/core}/storage.d.ts +0 -0
- /package/dist/{icons.d.ts → types/icons.d.ts} +0 -0
- /package/dist/{identity.d.ts → types/identity.d.ts} +0 -0
- /package/dist/{markdown.d.ts → types/markdown.d.ts} +0 -0
- /package/dist/{pathRules.d.ts → types/pathRules.d.ts} +0 -0
- /package/dist/{realtime.d.ts → types/realtime.d.ts} +0 -0
- /package/dist/{ui → types/ui}/ChatTerms.d.ts +0 -0
- /package/dist/{ui → types/ui}/Composer.d.ts +0 -0
- /package/dist/{ui → types/ui}/ConversationList.d.ts +0 -0
- /package/dist/{ui → types/ui}/ExploreTab.d.ts +0 -0
- /package/dist/{ui → types/ui}/GreetingBubble.d.ts +0 -0
- /package/dist/{ui → types/ui}/HelpTab.d.ts +0 -0
- /package/dist/{ui → types/ui}/Launcher.d.ts +0 -0
- /package/dist/{ui → types/ui}/MessageList.d.ts +0 -0
- /package/dist/{ui → types/ui}/NavTabs.d.ts +0 -0
- /package/dist/{ui → types/ui}/PanelHeader.d.ts +0 -0
- /package/dist/{ui → types/ui}/VoiceRecorder.d.ts +0 -0
package/MIGRATION-3.0.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Migrating to @askly/widget 3.0
|
|
2
|
+
|
|
3
|
+
3.0 changes how the widget is delivered, not what it does. Every option, method and event from
|
|
4
|
+
2.x still works. Most sites have nothing to do.
|
|
5
|
+
|
|
6
|
+
## Script tag
|
|
7
|
+
|
|
8
|
+
Nothing to change if you load it from a CDN. `dist/widget.js` is now a loader of under 5 KB
|
|
9
|
+
that fetches the widget on demand from the `app/` directory next to it, so the existing
|
|
10
|
+
one-line embed keeps working, including on `@latest`. We recommend pinning the major version:
|
|
11
|
+
|
|
12
|
+
```html
|
|
13
|
+
<script src="https://unpkg.com/@askly/widget@3/dist/widget.js" data-app-id="…" async></script>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
If you copied `widget.js` to your own server, copy the whole `dist/` directory this time
|
|
17
|
+
(`widget.js` and `app/`), and keep old `app/` files around for a while after each update:
|
|
18
|
+
a visitor who already has the main file may still fetch its chunks.
|
|
19
|
+
|
|
20
|
+
## npm
|
|
21
|
+
|
|
22
|
+
`react` and `react-dom` are no longer peer dependencies; you can remove them if the widget was
|
|
23
|
+
the only reason you had them. `import Askly from "@askly/widget"` still works and still gives
|
|
24
|
+
you the same API. What you import is now the loader; the widget's code is fetched from the CDN,
|
|
25
|
+
for your exact package version, when first needed. To keep everything on your own origin, copy
|
|
26
|
+
`dist/app/` to your static assets and pass its URL as `appUrl` (see the README).
|
|
27
|
+
|
|
28
|
+
If you rendered the React component directly (`import { ChatWidget } from "@askly/widget"`),
|
|
29
|
+
that export is gone. Use `Askly.init()`, or `<AsklyProvider>` from the new `@askly/react`.
|
|
30
|
+
|
|
31
|
+
## Styling
|
|
32
|
+
|
|
33
|
+
The widget now renders in a Shadow DOM. CSS on your page that targeted the widget's class names
|
|
34
|
+
(`.askly-chat-modal`, `.askly-chat-button`, …) no longer reaches it. Colours and fonts come from
|
|
35
|
+
the portal; for per-page adjustments set these properties on the host elements:
|
|
36
|
+
|
|
37
|
+
```css
|
|
38
|
+
askly-widget, askly-loader { --askly-brand: #0f766e; --askly-font-family: "Inter", sans-serif; }
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Content Security Policy
|
|
42
|
+
|
|
43
|
+
The widget's code is now a module that the loader imports, so a nonce on the `<script>` tag is
|
|
44
|
+
no longer enough on its own: add `'strict-dynamic'` to `script-src`, or list the origin you load
|
|
45
|
+
the widget from. If your page enforces Trusted Types, allow the policy name `askly`. With
|
|
46
|
+
Turnstile on, allow `https://challenges.cloudflare.com` in `script-src` and `frame-src`.
|
|
47
|
+
|
|
48
|
+
## New
|
|
49
|
+
|
|
50
|
+
- `Askly.unmount()` removes the widget without forgetting the visitor (use it where a framework
|
|
51
|
+
mounts and unmounts; `shutdown()` still also resets identity, for logout).
|
|
52
|
+
- `<askly-chat app-id="…">` element, `appUrl` option, `@askly/react`.
|
|
53
|
+
|
|
54
|
+
## Removed
|
|
55
|
+
|
|
56
|
+
- The `readAloud` option (removed in 2.11.0; still accepted and ignored).
|
|
57
|
+
- The `ChatWidget` React component export.
|
|
58
|
+
- Internet Explorer 11: the build targets ES2019 and needs dynamic `import()` (Chrome 73, Safari 12.1, Firefox 67 and later).
|
package/README.md
CHANGED
|
@@ -22,14 +22,30 @@ Askly is an **embeddable AI support chat widget** for React and plain HTML. Drop
|
|
|
22
22
|
|
|
23
23
|
### Script tag (any website)
|
|
24
24
|
|
|
25
|
-
One line, before `</body
|
|
25
|
+
One line, before `</body>`:
|
|
26
26
|
|
|
27
27
|
```html
|
|
28
|
-
<script src="https://unpkg.com/@askly/widget@
|
|
28
|
+
<script src="https://unpkg.com/@askly/widget@3/dist/widget.js" data-app-id="YOUR_APP_ID" async></script>
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
That's the whole install. Your branding — name, logo, theme, welcome message — loads automatically from your Askly portal settings.
|
|
32
32
|
|
|
33
|
+
What the page downloads is a loader of under 5 KB. It paints the launcher at once and fetches the
|
|
34
|
+
widget itself (about 40 KB, from the same place as the loader) only when it is about to be
|
|
35
|
+
needed: when the visitor moves to the launcher, when the greeting bubble is due, when a
|
|
36
|
+
conversation from an earlier visit may have replies waiting, or when your code calls the API.
|
|
37
|
+
Voice input and the help centre are fetched separately, the first time they are used.
|
|
38
|
+
|
|
39
|
+
The widget renders inside a Shadow DOM, so your site's CSS cannot affect it and its CSS cannot
|
|
40
|
+
affect your site. Pin a major version (`@3`) rather than `@latest`, so a future major release
|
|
41
|
+
cannot change your embed without you.
|
|
42
|
+
|
|
43
|
+
You can also place it as an element, with the same attributes minus the `data-` prefix:
|
|
44
|
+
|
|
45
|
+
```html
|
|
46
|
+
<askly-chat app-id="YOUR_APP_ID" position="left"></askly-chat>
|
|
47
|
+
```
|
|
48
|
+
|
|
33
49
|
### NPM (React / bundlers)
|
|
34
50
|
|
|
35
51
|
```bash
|
|
@@ -42,7 +58,62 @@ import Askly from '@askly/widget';
|
|
|
42
58
|
Askly.init({ appId: "YOUR_APP_ID" });
|
|
43
59
|
```
|
|
44
60
|
|
|
45
|
-
The
|
|
61
|
+
The package has no dependencies and no React peer dependency. What you import is the same small
|
|
62
|
+
loader as the script tag; the widget's code is fetched from the CDN, for exactly the package
|
|
63
|
+
version you installed, when it is first needed. It adds about 3 KB to your bundle.
|
|
64
|
+
|
|
65
|
+
To serve the widget from your own origin instead, copy `node_modules/@askly/widget/dist/app/` to
|
|
66
|
+
your static assets and point the loader at it:
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
Askly.init({ appId: "YOUR_APP_ID", appUrl: "/static/askly/app/askly-app.js" });
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### React
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install @askly/widget @askly/react
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```tsx
|
|
79
|
+
import { AsklyProvider, useAskly } from "@askly/react";
|
|
80
|
+
|
|
81
|
+
<AsklyProvider appId="YOUR_APP_ID">
|
|
82
|
+
<App />
|
|
83
|
+
</AsklyProvider>
|
|
84
|
+
|
|
85
|
+
// anywhere below the provider
|
|
86
|
+
const askly = useAskly();
|
|
87
|
+
askly.showNewMessage("Hi, I have a question about billing.");
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
`AsklyProvider` initialises the widget on mount and removes it on unmount; `useAsklyEvent(name, handler)`
|
|
91
|
+
and `useAsklyIdentity(identity)` wrap `Askly.on()` and `Askly.identify()`.
|
|
92
|
+
|
|
93
|
+
### Theming from your page
|
|
94
|
+
|
|
95
|
+
Colours come from the portal. If you need to adjust them per page, set these two custom
|
|
96
|
+
properties on the widget's host elements; they are the one thing that crosses into the widget
|
|
97
|
+
and they win over the portal's values:
|
|
98
|
+
|
|
99
|
+
```css
|
|
100
|
+
askly-widget, askly-loader { --askly-brand: #0f766e; --askly-font-family: "Inter", sans-serif; }
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
(`askly-loader` is the launcher shown before the widget's code has been fetched.)
|
|
104
|
+
|
|
105
|
+
### Content Security Policy
|
|
106
|
+
|
|
107
|
+
With a strict CSP:
|
|
108
|
+
|
|
109
|
+
- `script-src` must allow the origin the widget is loaded from (the loader and the widget come
|
|
110
|
+
from the same place). A nonce on the `<script>` tag alone is not enough, because the widget's
|
|
111
|
+
code is a module the loader imports: add `'strict-dynamic'`, or list the origin.
|
|
112
|
+
- `connect-src` must include the Askly API, and `media-src` needs `blob:` if voice input is on.
|
|
113
|
+
- With Cloudflare Turnstile on, `script-src` and `frame-src` must allow `https://challenges.cloudflare.com`.
|
|
114
|
+
- Pages that enforce Trusted Types must allow the policy name `askly` (`trusted-types askly`).
|
|
115
|
+
- Styles use constructed stylesheets, so `style-src` needs no `'unsafe-inline'` in current
|
|
116
|
+
browsers. Safari and iOS before 16.4 fall back to a `<style>` element, which does need it.
|
|
46
117
|
|
|
47
118
|
## Quick Start
|
|
48
119
|
|
|
@@ -373,11 +444,24 @@ npm install
|
|
|
373
444
|
npm run build
|
|
374
445
|
```
|
|
375
446
|
|
|
447
|
+
`npm run build` produces:
|
|
448
|
+
|
|
449
|
+
| File | What |
|
|
450
|
+
| :--- | :--- |
|
|
451
|
+
| `dist/widget.js` (= `dist/loader.js`) | The script-tag loader. |
|
|
452
|
+
| `dist/app/askly-app.js` | The widget, an ES module the loader imports; `dist/app/*-[hash].js` are its lazy chunks. |
|
|
453
|
+
| `dist/index.esm.js`, `dist/index.umd.js` | The npm entry (the loader as a module). |
|
|
454
|
+
| `dist/types/` | Type declarations. |
|
|
455
|
+
| `packages/react/dist/` | `@askly/react`. |
|
|
456
|
+
|
|
457
|
+
`npm run size` checks the budgets: 5 KB for the loader, 42 KB for the app (gzip).
|
|
458
|
+
|
|
376
459
|
### Releasing
|
|
377
460
|
|
|
378
461
|
```bash
|
|
379
462
|
npm version <patch|minor|major>
|
|
380
463
|
npm publish # prepublishOnly rebuilds dist/
|
|
464
|
+
cd packages/react && npm version <same> && npm publish
|
|
381
465
|
```
|
|
382
466
|
|
|
383
467
|
**Publishing is not the last step.** The tenant portal bundles this package
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as e,j as t,t as a,a1 as l,a2 as c,C as s,b as n,B as r}from"./shared-C0Z29aNi.js";function i(i){const{allArticles:o,articleFeedback:m,articlesLoading:d,handleSearchChange:p,handleSelectArticle:u,organizationLogo:h,organizationName:E,searchError:N,searchLoading:f,searchQuery:y,searchResults:g,selectedArticle:v,selectedCollection:k,setActiveTab:b,setArticleFeedback:x,setInput:w,setSelectedArticle:C,setSelectedCollection:S,themeColor:z}=i;return e.createElement("div",{className:"chat-body help-layout"},v?e.createElement("div",{className:"help-article-reader"},e.createElement("div",{className:"article-breadcrumb"},e.createElement("button",{className:"article-breadcrumb-link",onClick:()=>{C(null),S(null)}},"Help Center"),e.createElement("span",null,"/"),e.createElement("span",{className:"article-breadcrumb-type"},v.document_type||"Guide")),e.createElement("button",{className:"help-back-btn",onClick:()=>C(null),style:{marginBottom:14}},e.createElement(t,{size:16}),e.createElement("span",null,"Back to articles")),e.createElement("div",{className:"help-article-heading"},v.title),e.createElement("div",{className:"article-author-bar"},e.createElement("img",{src:h||"https://askly.co.in/logo-small.png",alt:E,className:"article-author-avatar"}),e.createElement("div",{className:"article-author-text"},e.createElement("span",{className:"article-author-name"},"Written by ",E," Support Team"),e.createElement("span",{className:"article-author-meta"},"Updated recently • ⏱ ",Math.max(1,Math.ceil((v.content||"").split(/\s+/).length/180))," min read"))),e.createElement("div",{className:"help-article-body",dangerouslySetInnerHTML:{__html:a(l(v.content))}}),e.createElement("div",{className:"article-feedback"},e.createElement("div",{className:"article-feedback-title"},"Did this answer your question?"),m[v.id]?e.createElement("div",{className:"article-feedback-thanks"},"🎉 Thank you for your feedback!"):e.createElement("div",{className:"article-feedback-options"},e.createElement("button",{className:"article-feedback-btn",onClick:()=>x(e=>({...e,[v.id]:"yes"}))},"😃 Yes"),e.createElement("button",{className:"article-feedback-btn",onClick:()=>x(e=>({...e,[v.id]:"somewhat"}))},"😐 Somewhat"),e.createElement("button",{className:"article-feedback-btn",onClick:()=>x(e=>({...e,[v.id]:"no"}))},"😞 No")),e.createElement("button",{className:"article-handoff",onClick:()=>{w(`I have a question about article "${v.title}": `),b("messages")}},e.createElement("div",{className:"article-handoff-text"},e.createElement("span",{className:"article-handoff-title"},e.createElement(c,{size:13})," Still have questions?"),e.createElement("span",{className:"article-handoff-desc"},"Ask our AI Agent for instant answers")),e.createElement(s,{size:16,className:"article-handoff-chevron"})))):e.createElement("div",null,e.createElement("div",{className:"home-search-input-wrapper",style:{marginBottom:14}},e.createElement(n,{size:14,className:"search-icon-svg"}),e.createElement("input",{type:"text",value:y,onChange:p,placeholder:"Search for articles..."}),f&&e.createElement("span",{className:"search-loader"})),k&&e.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:12}},e.createElement("button",{onClick:()=>S(null),style:{all:"unset",cursor:"pointer",fontSize:12,color:z,fontWeight:500,display:"flex",alignItems:"center",gap:4}},e.createElement(t,{size:14}),e.createElement("span",null,"All Collections")),e.createElement("span",{style:{fontSize:12,color:"var(--text-4)"}},"/"),e.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--text-1)",textTransform:"capitalize"}},k)),e.createElement("div",{className:"help-articles-list"},""===y.trim()?k?(()=>{const t=o.filter(e=>(e.document_type||"guide").toLowerCase()===k.toLowerCase());return e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10,width:"100%"}},e.createElement("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-3)",textTransform:"uppercase",letterSpacing:"0.5px"}},k," Articles (",t.length,")"),e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},t.map(t=>e.createElement("button",{key:t.id,className:"help-article-row",onClick:()=>u(t)},e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:3,alignItems:"flex-start",textAlign:"left"}},e.createElement("span",{className:"article-row-title"},t.title),t.content&&e.createElement("span",{className:"article-row-preview"},t.content.replace(/[\n\r]+/g," ").slice(0,85),"...")),e.createElement(s,{size:14,className:"article-row-chevron"})))))})():e.createElement("div",{className:"help-collections"},(()=>{if(d)return[0,1,2].map(t=>e.createElement("div",{key:t,className:"help-collection-card is-skeleton"},e.createElement("div",{className:"help-collection-left"},e.createElement("span",{className:"askly-skeleton help-collection-icon-skel"}),e.createElement("div",{className:"help-collection-text"},e.createElement("span",{className:"askly-skeleton askly-skeleton-line",style:{width:"60%"}}),e.createElement("span",{className:"askly-skeleton askly-skeleton-line",style:{width:"90%"}})))));const t={};o.forEach(e=>{const a=(e.document_type||"guide").toLowerCase();t[a]||(t[a]=[]),t[a].push(e)});const a=Object.keys(t);return 0===a.length?e.createElement("div",{className:"askly-empty-state"},e.createElement("div",{className:"askly-empty-icon"},e.createElement(r,{size:22})),e.createElement("div",{className:"askly-empty-title"},"Help Documentation"),e.createElement("div",{className:"askly-empty-desc"},"Search above to fetch instant solutions from our knowledge base.")):a.map(a=>{const l=t[a],c="guide"===a?"Guides & Tutorials":"faq"===a?"Frequently Asked Questions":"troubleshooting"===a?"Troubleshooting & Support":"Rules & Documentation",n="guide"===a?"Setup walkthroughs, rules, and getting started guides":"faq"===a?"Quick answers to common account and service questions":"troubleshooting"===a?"Step-by-step solutions for technical issues":"Official terms, rules, and policy documentation";return e.createElement("button",{key:a,className:"help-collection-card",onClick:()=>S(a)},e.createElement("div",{className:"help-collection-left"},e.createElement("div",{className:"help-collection-icon"},e.createElement(r,{size:16})),e.createElement("div",{className:"help-collection-text"},e.createElement("div",{className:"help-collection-title"},c),e.createElement("div",{className:"help-collection-desc"},n),e.createElement("div",{className:"help-collection-count"},l.length," ",1===l.length?"article":"articles"))),e.createElement(s,{size:16,className:"help-collection-chevron"}))})})()):N?e.createElement("div",{className:"no-search-results"},N):0!==g.length||f?g.map(t=>e.createElement("button",{key:t.id,className:"help-article-row",onClick:()=>u(t)},e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:3,alignItems:"flex-start"}},e.createElement("span",{className:"article-row-title"},t.title),e.createElement("span",{className:"article-row-preview"},t.content.slice(0,80),"...")),e.createElement(s,{size:14,className:"article-row-chevron"}))):e.createElement("div",{className:"no-search-results"},'No articles matching "',y,'"'))))}export{i as HelpTab};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as e,q as a,g as t,X as n}from"./shared-C0Z29aNi.js";function s({phase:s,meterRef:c,maxMs:l,onStop:r,onCancel:i}){const[o,m]=e([]),[p,u]=e(0);a(()=>{if("recording"!==s)return;const e=setInterval(()=>{const{level:e,elapsedMs:a}=c.current;u(a),m(a=>(a.length>=80?a.slice(1):a).concat(e))},100);return()=>clearInterval(e)},[s]);const b="recording"===s,d=l-p,v="transcribing"===s?"Transcribing…":b?"Listening…":"Waiting for the microphone…";return t.createElement("div",{className:`askly-voice ${s}`},t.createElement("button",{type:"button",className:"askly-voice-btn",onClick:i,title:"Cancel","aria-label":"Cancel voice input"},t.createElement(n,{size:20})),t.createElement("span",{className:"askly-voice-meter","aria-hidden":"true"},o.map((e,a)=>t.createElement("i",{key:a,style:{height:`${Math.round(2+22*Math.min(1,e))}px`}}))),t.createElement("span",{className:"askly-voice-status",role:"status"},v),b&&d<=1e4&&t.createElement("span",{className:"askly-voice-time"},Math.max(0,Math.ceil(d/1e3)),"s"),b?t.createElement("button",{type:"button",className:"askly-voice-btn done",onClick:r,title:"Stop and transcribe","aria-label":"Stop and transcribe"},t.createElement("span",{className:"askly-voice-stop"})):t.createElement("span",{className:"askly-voice-btn done busy","aria-hidden":"true"},t.createElement("span",{className:"askly-voice-spinner"})))}export{s as VoiceRecorder};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as e,T as t,s as a,f as r,C as n,a as o,L as s,G as l,X as i,b as c,B as d,c as p,P as u,S as m,M as g,A as h,d as f,z as y,e as x,h as b,i as v,j as k,t as w,k as E,l as N,m as z,n as I,r as S,o as C,p as A,q as T,u as q,W as M,v as j,w as _,x as $,y as D,D as R,E as U,F as O,H as L,_ as P,I as V,J as F,K as H,N as Y,O as B,Q as G,R as J,U as W,V as X,Y as K,Z as Q,$ as Z,a0 as ee}from"./shared-C0Z29aNi.js";function te(e,t=[],a=[]){return t.length>0?t.some(t=>e.startsWith(t)):!(a.length>0)||!a.some(t=>e.startsWith(t))}const ae=[1e3,2e3,5e3,15e3,3e4,6e4];function re(e){let t,a="message";const r=[];for(const n of e.split("\n")){if(!n||":"===n.charAt(0))continue;const e=n.indexOf(":"),o=-1===e?n:n.slice(0,e),s=-1===e?"":n.slice(e+1).replace(/^ /,"");"event"===o?a=s:"id"===o?t=s:"data"===o&&r.push(s)}if(0===r.length)return null;try{return{type:a,id:t,data:JSON.parse(r.join("\n"))}}catch{return null}}const ne="askly_visitor_",oe="askly_scope_",se={};function le(e){var t;try{const t=window.localStorage.getItem(e);if(null!==t)return t}catch{}return null!==(t=se[e])&&void 0!==t?t:null}function ie(e,t){se[e]=t;try{window.localStorage.setItem(e,t)}catch{}}function ce(e){delete se[e];try{window.localStorage.removeItem(e)}catch{}}function de(e,t){const a=ne+(e||"detect"),r=le(a);if(r)return r;if(t&&t!==e){const e=le(ne+t);if(e)return ie(a,e),e}const n=function(){try{if("undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID();if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues){const e=crypto.getRandomValues(new Uint8Array(16));e[6]=15&e[6]|64,e[8]=63&e[8]|128;const t=Array.from(e,e=>e.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}();return ie(a,n),n}function pe(e){const t=e||"detect",a=le(oe+t);a&&a!==t&&pe(a),ce(ne+t),ce("askly_threads_"+t);for(const e of Object.keys(se))e.includes(t)&&!e.startsWith(oe)&&delete se[e];try{const e=[];for(let a=0;a<window.localStorage.length;a++){const r=window.localStorage.key(a);r&&r.startsWith(`askly_conversations_${t}`)&&e.push(r)}e.forEach(e=>window.localStorage.removeItem(e))}catch{}}function ue(){return`chat_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}let me=null;const ge=new Set;function he(e){me=e,ge.forEach(t=>{try{t(e)}catch(e){console.error("[Askly] identify listener failed:",e)}})}const fe=new Set;let ye=0;function xe(){return ye}function be(o){const{conversations:s,setActiveChatId:l,startNewChat:i}=o;return e.createElement("div",{className:"conversations-list-container"},e.createElement("div",{className:"conversations-scrollable"},0===s.length&&e.createElement("div",{className:"askly-empty-state"},e.createElement("div",{className:"askly-empty-icon"},e.createElement(t,{size:22})),e.createElement("div",{className:"askly-empty-title"},"No conversations yet"),e.createElement("div",{className:"askly-empty-desc"},"Start a chat and our AI agent & team will help you out.")),s.map((t,o)=>{const i=t.messages[t.messages.length-1],c=i?i.content:"No messages yet",d=t.lastUpdated?new Date(t.lastUpdated):new Date;return e.createElement("button",{key:t.id,className:"conversation-list-item",onClick:()=>l(t.id)},e.createElement("div",{className:"conversation-item-left"},e.createElement("div",{className:"conversation-item-details"},e.createElement("span",{className:"conversation-item-title"},"Chat #",s.length-o),e.createElement("span",{className:"conversation-item-preview"},a(c).slice(0,50)))),e.createElement("div",{className:"conversation-item-right"},e.createElement("span",{className:"conversation-item-time"},r(d)),e.createElement(n,{size:14})))})),e.createElement("button",{className:"start-new-chat-btn",onClick:()=>i()},"Ask a Question"))}function ve(t){const{open:a,setOpen:r,buttonIcon:n,buttonShape:l,buttonStyle:i,launcherUnread:c,resolvedTheme:d,setActiveChatId:p,setActiveTab:u,unreadChatId:m}=t;return e.createElement("div",{className:`askly-chat-button shape-${l} ${a?"open":""}`,"data-askly-theme":d,style:i,onClick:()=>{!a&&m&&(u("messages"),p(m)),r(!a)},title:"Support Center"},a?e.createElement(o,{size:24}):"💬"===n?e.createElement(s,{size:32}):n,!a&&c>0&&e.createElement("span",{className:"askly-launcher-badge",role:"status","aria-label":1===c?"1 new message":`${c} new messages`},c>9?"9+":c))}function ke(t){const{accentVars:a,aiAnswering:r,aiAvatarUrl:n,dismissGreeting:o,faqs:s,greetingText:c,openFromGreeting:d,organizationLogo:p,position:u,resolvedTheme:m}=t;return e.createElement("div",{className:`askly-greeting askly-greeting-${u}`,"data-askly-theme":m,style:a,role:"status"},e.createElement("div",{className:"askly-greeting-card"},e.createElement("button",{type:"button",className:"askly-greeting-body",onClick:()=>d()},(r&&n||p)&&e.createElement("img",{src:r&&n||p,alt:"",className:"askly-greeting-avatar"}),e.createElement("span",{className:"askly-greeting-text"},c)),e.createElement("button",{type:"button",className:"askly-greeting-close",onClick:o,"aria-label":"Dismiss greeting",title:"Dismiss"},e.createElement(i,{size:14}))),s.length>0&&e.createElement("div",{className:"askly-greeting-chips"},s.slice(0,l).map((t,a)=>e.createElement("button",{type:"button",key:a,className:"quick-reply-chip askly-greeting-chip",onClick:()=>d(t.question)},t.question))))}function we(a){const{allArticles:r,articlesLoading:s,expandedFaqIndex:l,faqs:i,handleSearchChange:p,handleSelectArticle:u,organizationLogo:m,organizationName:g,searchError:h,searchLoading:f,searchQuery:y,searchResults:x,setActiveTab:b,setExpandedFaqIndex:v,setInput:k}=a;return e.createElement("div",{className:"chat-body home-layout"},e.createElement("div",{className:"home-hero"},e.createElement("div",{className:"home-hero-brand"},e.createElement("img",{src:m||"https://askly.co.in/logo-small.png",alt:g,className:"home-hero-logo"})),e.createElement("div",{className:"home-hero-title"},"Hello there"),e.createElement("div",{className:"home-hero-subtitle"},"How can we help?")),e.createElement("div",{className:"home-content"},e.createElement("div",{className:"explore-search"},e.createElement(c,{size:16,className:"explore-search-icon"}),e.createElement("input",{type:"text",value:y,onChange:p,placeholder:"Search for help…"}),f&&e.createElement("span",{className:"search-loader"})),""!==y.trim()?e.createElement("div",{className:"explore-search-panel"},h?e.createElement("div",{className:"no-search-results"},h):0!==x.length||f?x.map(t=>e.createElement("button",{key:t.id,className:"search-result-item",onClick:()=>{u(t),b("help")}},e.createElement(d,{size:13,style:{flexShrink:0}}),e.createElement("span",{className:"search-result-title"},t.title),e.createElement(n,{size:14,style:{marginLeft:"auto",flexShrink:0}}))):e.createElement("div",{className:"no-search-results"},'No articles matching "',y,'"')):e.createElement(e.Fragment,null,e.createElement("button",{className:"explore-cta",onClick:()=>b("messages")},e.createElement("span",{className:"explore-cta-orbs","aria-hidden":"true"}),e.createElement("span",{className:"explore-cta-text"},e.createElement("span",{className:"explore-cta-title"},"Ask our AI Agent"),e.createElement("span",{className:"explore-cta-sub"},"Instant answers, 24/7 — or reach the team")),e.createElement("span",{className:"explore-cta-arrow"},e.createElement(n,{size:18}))),e.createElement("div",{className:"explore-tiles"},e.createElement("button",{className:"explore-tile",onClick:()=>b("help")},e.createElement("span",{className:"explore-tile-icon"},e.createElement(d,{size:18})),e.createElement("span",{className:"explore-tile-title"},"Help Center"),e.createElement("span",{className:"explore-tile-sub"},"Guides & docs")),e.createElement("button",{className:"explore-tile",onClick:()=>b("messages")},e.createElement("span",{className:"explore-tile-icon"},e.createElement(t,{size:18})),e.createElement("span",{className:"explore-tile-title"},"Messages"),e.createElement("span",{className:"explore-tile-sub"},"Your conversations"))),i.length>0&&e.createElement("div",{className:"explore-section"},e.createElement("div",{className:"explore-section-head"},e.createElement("span",null,"Popular questions"),e.createElement("span",{className:"explore-section-count"},i.length)),e.createElement("div",{className:"explore-faq-list"},i.map((t,a)=>{const r=l===a;return e.createElement("div",{key:a,className:"explore-faq "+(r?"open":"")},e.createElement("button",{className:"explore-faq-q",onClick:()=>v(r?null:a)},e.createElement("span",null,t.question),e.createElement(o,{size:15,className:"explore-faq-chevron"})),r&&e.createElement("div",{className:"explore-faq-a"},e.createElement("div",null,t.answer),e.createElement("button",{className:"faq-ask-link",onClick:()=>{k(t.question),b("messages")}},e.createElement("span",null,"Ask AI Agent about this"),e.createElement(n,{size:12}))))}))),(s||r.length>0)&&e.createElement("div",{className:"explore-section"},e.createElement("div",{className:"explore-section-head"},e.createElement("span",null,"Recommended reading")),e.createElement("div",{className:"recommended-articles-list"},s?[0,1,2].map(t=>e.createElement("div",{key:t,className:"rec-article-skeleton"},e.createElement("span",{className:"askly-skeleton askly-skeleton-chip"}),e.createElement("span",{className:"askly-skeleton askly-skeleton-line"}))):r.slice(0,3).map(t=>e.createElement("button",{key:t.id,className:"rec-article-row",onClick:()=>{u(t),b("help")}},e.createElement(d,{size:13,className:"rec-article-icon"}),e.createElement("span",{className:"rec-article-title"},t.title),e.createElement(n,{size:14,className:"rec-article-chevron"}))))))))}function Ee(a){const{activeTab:r,setActiveTab:n,setSelectedArticle:o}=a;return e.createElement("div",{className:"chat-nav-tabs"},e.createElement("button",{className:"nav-tab-btn "+("explore"===r?"active":""),onClick:()=>{n("explore"),o(null)}},e.createElement("span",{className:"nav-tab-icon"},e.createElement(c,{active:"explore"===r})),e.createElement("span",null,"Explore")),e.createElement("button",{className:"nav-tab-btn "+("messages"===r?"active":""),onClick:()=>n("messages")},e.createElement("span",{className:"nav-tab-icon"},e.createElement(t,{active:"messages"===r})),e.createElement("span",null,"Messages")),e.createElement("button",{className:"nav-tab-btn "+("help"===r?"active":""),onClick:()=>n("help")},e.createElement("span",{className:"nav-tab-icon"},e.createElement(p,{active:"help"===r})),e.createElement("span",null,"Help")))}const Ne=y(()=>import("./VoiceRecorder-CMc1Bz14.js").then(e=>({default:e.VoiceRecorder})).catch(()=>({default:ze})));function ze({onCancel:t}){return e.useEffect(()=>{t()},[]),null}const Ie=["😀","😃","😄","😁","😆","😅","😂","🤣","😊","😇","🙂","🙃","😉","😌","😍","🥰","😘","😗","😙","😚","😋","😛","😝","😜","🤪","🤠","🥳","😎","🤓","🧐","👍","👎","👌","✌️","🤞","🤟","🤘","🤙","👋","👏"];function Se(t){const{cancelVoiceInput:a,fileInputRef:r,handleEmojiClick:n,handleFileChange:o,handleFileUploadClick:s,input:l,inputRef:i,isTyping:c,leadRequired:d,placeholderText:p,sendMessage:y,setInput:x,setShowEmojiPicker:b,showEmojiPicker:v,startVoiceInput:k,stopVoiceInput:w,turnstileBlocked:E,uploadingFile:N,voiceInputEnabled:z,voiceMaxMs:I,voiceMeterRef:S,voicePhase:C}=t,A="idle"!==C,T=c||N||d||E||A;return e.createElement("div",{className:"chat-footer "+(A?"voice-active":"")},A&&e.createElement(f,{fallback:e.createElement("div",{className:"askly-voice"})},e.createElement(Ne,{phase:C,meterRef:S,maxMs:I,onStop:w,onCancel:a})),e.createElement("div",{className:"composer-input-row",style:A?{display:"none"}:void 0},e.createElement("textarea",{ref:i,rows:1,value:l,onChange:e=>x(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||229===e.nativeEvent.keyCode||(e.preventDefault(),y())},"aria-label":"Message",placeholder:d?"Add your email above to continue…":E?"Verify security check to chat...":p,disabled:T})),e.createElement("input",{type:"file",ref:r,style:{display:"none"},onChange:o}),e.createElement("div",{className:"composer-actions-row",style:A?{display:"none"}:void 0},e.createElement("div",{className:"composer-actions-left"},e.createElement("button",{className:"footer-action-btn",onClick:s,disabled:T,title:"Upload attachment (Max 10MB)"},e.createElement(u,{size:18})),e.createElement("button",{className:"footer-action-btn "+(v?"active":""),onClick:()=>b(!v),disabled:T,title:"Insert emoji"},e.createElement(m,{size:18})),z&&e.createElement("button",{className:"voice-btn "+("recording"===C?"listening":""),onClick:"recording"===C?w:k,title:"recording"===C?"Finish recording":"Voice input","aria-label":"recording"===C?"Finish recording":"Voice input","aria-pressed":"recording"===C,disabled:"recording"!==C&&T},e.createElement(g,{size:18}))),e.createElement("button",{onClick:()=>y(),disabled:T||!l.trim(),className:"send-btn"},e.createElement(h,{size:18}))),v&&e.createElement("div",{className:"askly-emoji-picker"},Ie.map(t=>e.createElement("button",{key:t,onClick:()=>n(t),className:"emoji-item"},t))))}function Ce(t){const{activeChatId:a,activeTab:r,aiAnswering:n,aiAvatarUrl:o,aiName:s,headerStyle:l,isExpanded:i,organizationLogo:c,organizationName:d,setActiveChatId:p,setIsExpanded:u,setOpen:m}=t,g=e.createElement("div",{style:{display:"flex",gap:8,alignItems:"center"}},e.createElement("button",{className:"header-action-btn",onClick:()=>u(!i),title:i?"Collapse window":"Expand window"},i?e.createElement(b,{size:16}):e.createElement(v,{size:16})),e.createElement("button",{className:"header-action-btn",onClick:()=>m(!1)},e.createElement(x,{size:18})));if("explore"===r)return e.createElement("div",{className:"chat-header chat-header-floating"},e.createElement("div",{className:"header-content"}),g);if("messages"===r&&null!==a)return e.createElement("div",{className:"chat-header",style:l},e.createElement("div",{className:"header-content"},e.createElement("button",{className:"header-back-arrow-btn",onClick:()=>p(null),title:"Back to conversations"},e.createElement(k,{size:20})),(()=>{const t=n&&o||c,a=n&&s||d;return e.createElement(e.Fragment,null,e.createElement("img",{src:t||"https://askly.co.in/logo-small.png",alt:a,className:"header-avatar "+(t?"":"is-default-logo")}),n&&s&&e.createElement("div",{className:"header-title"},s))})()),g);const h="help"===r?"Help Center":"Messages";return e.createElement("div",{className:"chat-header",style:l},e.createElement("div",{className:"header-content"},e.createElement("div",{className:"header-title header-title-lg"},h)),g)}function Ae(e){var t;return"markdown"===(null!==(t=e.format)&&void 0!==t?t:"agent"===e.role?"markdown":"text")?S(e.content):C(e.content)}const Te=e.memo(function(t){const{copiedMsgIndex:a,messages:n,msgReactions:o,setCopiedMsgIndex:s,setMsgReactions:l,showTimestamp:i}=t;return e.createElement(e.Fragment,null,n.map((t,c)=>{const d="agent"===t.role;d&&(0===c||n[c-1].role);const p=o[c];return e.createElement("div",{key:c,className:`msg-wrapper ${t.role}`},e.createElement("div",{className:"msg-column"},e.createElement("div",{className:`msg ${t.role}`},e.createElement("div",{className:"msg-content",dangerouslySetInnerHTML:{__html:w(Ae(t))}}),i&&t.timestamp&&e.createElement("div",{className:"msg-time"},r(t.timestamp))),d&&t.content&&e.createElement("div",{className:"msg-reactions"},e.createElement("button",{className:"msg-reaction-btn "+("up"===p?"active":""),title:"Helpful",onClick:()=>l(e=>({...e,[c]:"up"===e[c]?void 0:"up"}))},e.createElement(E,{size:13})),e.createElement("button",{className:"msg-reaction-btn "+("down"===p?"active":""),title:"Not helpful",onClick:()=>l(e=>({...e,[c]:"down"===e[c]?void 0:"down"}))},e.createElement(N,{size:13})),e.createElement("button",{className:"msg-reaction-btn",title:a===c?"Copied":"Copy",onClick:()=>{var e;try{null===(e=navigator.clipboard)||void 0===e||e.writeText(t.content)}catch(e){}s(c),setTimeout(()=>s(e=>e===c?null:e),1500)}},a===c?e.createElement(z,{size:13}):e.createElement(I,{size:13})))))}))});function qe(){return e.createElement("div",{className:"chat-terms-notice"},e.createElement("span",null,"By chatting, you agree to our"," ",e.createElement("a",{href:"https://askly.co.in/terms",target:"_blank",rel:"noopener noreferrer",className:"askly-terms-link"},"Terms")),e.createElement("span",{className:"chat-terms-divider"},"·"),e.createElement("span",null,"Powered by"," ",e.createElement("a",{href:"https://askly.co.in",target:"_blank",rel:"noopener noreferrer",className:"askly-powered-link"},"Askly")))}const Me=y(()=>import("./HelpTab-jjw4cF1_.js").then(e=>({default:e.HelpTab})).catch(()=>({default:je})));function je(){return e.createElement("div",{className:"askly-lead-error askly-composer-notice",role:"alert"},"The help centre couldn't be loaded. Check your connection and try again.")}const _e=({orgId:t,organizationName:a="Askly",themeColor:r="#0f172a",theme:n="auto",position:s="right",orgServerRoute:l,enableVoiceChat:i,voiceInput:c,welcomeMessage:d="Hi! How can I help you today?",placeholderText:p="Type your message...",organizationLogo:u,buttonIcon:m="💬",buttonShape:g="round",autoOpen:h=!1,greeting:y,showTimestamp:x=!1,soundEnabled:b=!1,soundVolume:v=.4,poweredBy:k="Team Askly",userId:w,timestamp:E,signature:N,turnstileSiteKey:z,excludePaths:I=[],includePaths:S=[],configOverride:C,resetGeneration:J,greetingStartedAt:W,onMessageSent:X,onMessageReceived:K,onChatOpened:Q,onChatClosed:Z,onEscalation:ee})=>{var ne,se,ce;const[he,ye]=A("undefined"!=typeof window?window.location.pathname:""),[Ne,ze]=A(a),[Ie,Ae]=A(u),[je,_e]=A(r),[$e,De]=A(n),[Re,Ue]=A(g),[Oe,Le]=A("off"),[Pe,Ve]=A(V(c)||(!1===i?"off":void 0)),[Fe,He]=A(null),[Ye,Be]=A(null),Ge="object"==typeof y&&null!==y?y:null,[Je,We]=A(!0),[Xe,Ke]=A(null),[Qe,Ze]=A(G),[et,tt]=A(!1),[at,rt]=A(!0),[nt,ot]=A("smart"),[st,lt]=A("Leave your email and we'll reply there if you've gone."),[it,ct]=A(!1),[dt,pt]=A(!1),[ut,mt]=A(!1),[gt,ht]=A(!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-color-scheme: dark)").matches);T(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),t=e=>ht(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);const ft="auto"===$e?gt?"dark":"light":$e,[yt,xt]=A(d),[bt,vt]=A(t),kt=e=>{if(!e)return;var a,r;e.orgId&&(vt(e.orgId),a=t||"detect",(r=e.orgId)&&r!==a&&le(oe+a)!==r&&ie(oe+a,r),jr.current=!0),e.organizationName&&ze(e.organizationName),e.logoUrl&&Ae(e.logoUrl),e.themeColor&&_e(e.themeColor),"light"!==e.theme&&"dark"!==e.theme&&"auto"!==e.theme||De(e.theme),"round"!==e.buttonShape&&"square"!==e.buttonShape||Ue(e.buttonShape);const n=V(e.voiceInput);if(n&&Le(n),void 0!==e.ai_name&&He(e.ai_name||null),void 0!==e.ai_avatar_url&&Be(e.ai_avatar_url||null),void 0!==e.greetingEnabled&&We(!!e.greetingEnabled),void 0!==e.greetingMessage&&Ke("string"==typeof e.greetingMessage&&e.greetingMessage.trim()?e.greetingMessage:null),"number"==typeof e.greetingDelayMs&&e.greetingDelayMs>=0&&Ze(e.greetingDelayMs),void 0!==e.ai_answering&&rt(e.ai_answering),e.leadCapture&&ot(e.leadCapture),e.leadCapturePrompt&<(e.leadCapturePrompt),e.welcomeMessage&&xt(e.welcomeMessage),e.faqs&&Array.isArray(e.faqs)&&At(e.faqs),e.featured_articles&&Array.isArray(e.featured_articles)){const t=e.featured_articles.map((e,t)=>({id:e.id||`featured_${t}`,title:e.title||"Featured Article",content:e.content||"",document_type:e.document_type||"guide",score:1}));jt(t)}};T(()=>{const e=`askly_config_${t||"detect"}`;let a=null;try{a="undefined"!=typeof window?window.sessionStorage:null}catch{a=null}if(a)try{const t=a.getItem(e);t&&(kt(JSON.parse(t)),tt(!0))}catch{}C&&kt(C);(async()=>{try{const r=l.replace(/\/messages\/widget$/,"")+"/messages/widget/config",n=t?`?org_id=${t}`:"",o=await fetch(`${r}${n}`);if(o.ok){const t=await o.json();if(kt(t),a)try{a.setItem(e,JSON.stringify(t))}catch{}C&&kt(C),kt(Fn.current),tt(!0)}}catch(e){console.warn("[Askly] Failed to load remote widget config, using local properties:",e)}finally{Pn(!0)}})()},[t,l,a,r,i,d,C]),T(()=>{if("undefined"==typeof window)return;const e=()=>{ye(window.location.pathname)},t=window.history.pushState,a=window.history.replaceState;let r=!0;const n=function(...a){t.apply(this,a),r&&e()},o=function(...t){a.apply(this,t),r&&e()};return window.history.pushState=n,window.history.replaceState=o,window.addEventListener("popstate",e),()=>{r=!1,window.removeEventListener("popstate",e),window.history.pushState===n&&(window.history.pushState=t),window.history.replaceState===o&&(window.history.replaceState=a)}},[]);const[wt,Et]=A(h),[Nt,zt]=A("messages");T(()=>{const e=()=>Et(!0),t=()=>Et(!1),a=()=>Et(e=>!e);return window.addEventListener("askly:open",e),window.addEventListener("askly:close",t),window.addEventListener("askly:toggle",a),()=>{window.removeEventListener("askly:open",e),window.removeEventListener("askly:close",t),window.removeEventListener("askly:toggle",a)}},[]);const[It,St]=A(!1),[Ct,At]=A([]),[Tt,qt]=A(null),[Mt,jt]=A([]),[_t,$t]=A("all"),[Dt,Rt]=A({}),[Ut,Ot]=A(null),Lt=te(he,S,I),[Pt,Vt]=A(0),Ft=bt||"detect",Ht=q(void 0),Yt=q(!1),Bt=e.useMemo(()=>{if("undefined"==typeof window)return"";Yt.current&&Ht.current&&Ht.current!==Ft&&(Yt.current=!1,pe(Ft));const e=de(Ft,Ht.current);return Ht.current=Ft,e},[Ft,Pt]),Gt=q(Bt);Gt.current=Bt;const[Jt,Wt]=A(!1),Xt=q(bt);Xt.current=bt;const Kt=q(l);Kt.current=l;const Qt=e=>Kt.current.replace(/\/messages\/widget$/,"")+"/messages/widget"+e,Zt=q(null);Zt.current||(Zt.current=new M({api:Qt,getOrganizationId:()=>Xt.current,getVisitorId:()=>Gt.current,onChange:()=>Wt(!!Zt.current&&Zt.current.human)}));const ea=Zt.current;T(()=>()=>ea.clear(),[Bt]);const[ta,aa]=A(null),[ra,na]=A(!0),oa=ra?w:void 0,sa=ra?N:void 0,la=ra?E:void 0,ia=(null==ta?void 0:ta.userId)||oa,ca=`askly_conversations_${Ft}_${ia||Bt||"guest"}`,[da,pa]=A(()=>"undefined"!=typeof window?j(ca):[]),ua=q(da);ua.current=da;const ma=q(Ft),ga=q(ia||Bt);T(()=>{if("undefined"==typeof window)return;const e=j(ca),t=ia||Bt,a=ma.current!==Ft,r=ga.current===t;ma.current=Ft,ga.current=t,a&&r&&0===e.length&&ua.current.length>0||pa(e)},[ca]);const[ha,fa]=A(null),ya=q(ha);ya.current=ha;const[xa,ba]=A([]),[va,ka]=A(""),[wa,Ea]=A([]),Na=wa.includes(ha||"primary"),[za,Ia]=A(null),Sa="off"===Oe||"off"===Pe?"off":Pe||Oe,[Ca,Aa]=A("idle"),[Ta,qa]=A(null),[Ma,ja]=A(!1),_a=q({level:0,elapsedMs:0}),$a=q(null),Da=q(null),Ra=q(null),Ua=q(0),Oa=q(!1),La=q(()=>{}),[Pa,Va]=A(!1),[Fa,Ha]=A(null),[Ya,Ba]=A(0),[Ga,Ja]=A(!1),Wa=q(!1),Xa=q(null),Ka=!(!(null==ta?void 0:ta.hash)&&!sa||Ga),Qa=!!z&&!Ka&&!Jt,Za=Qa&&!Fa,[er,tr]=A(""),[ar,rr]=A([]),[nr,or]=A(!1),[sr,lr]=A(null),[ir,cr]=A(null),[dr,pr]=A([]),[ur,mr]=A(!0),[gr,hr]=A({}),[fr,yr]=A(null),xr=q(null);T(()=>{(async()=>{if(bt){mr(!0);try{const e=l.replace(/\/messages\/widget$/,"")+"/knowledge/widget/list",t=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({organization_id:bt,limit:20})});if(t.ok){const e=await t.json(),a=(e.results||e.documents||[]).map(e=>({id:e.id||e._id,title:e.title||e.filename||"Untitled Article",content:e.content||"",document_type:e.document_type||"guide",score:e.score||0}));pr(a)}}catch(e){console.error("Failed to load article catalog:",e)}finally{mr(!1)}}})()},[bt,l]);const[br,vr]=A(!1),[kr,wr]=A(!1),Er=q(null),Nr=q(!0),zr=q(!1),Ir=q(0),[Sr,Cr]=A(0),Ar=q(null),Tr=q(null),qr=q(null),Mr=q(Ft);Mr.current=Ft;const jr=q(!1),_r=q(0),$r=_r.current;T(()=>{"undefined"!=typeof window&&$r===_r.current&&_(ca,da)},[da,ca]),T(()=>{const e=()=>{_r.current+=1,La.current(),ea.clear(),Wa.current=!1,Ja(!1),Kr.current=new Set,an([]),ja(!1),Oa.current=!1,pe(Mr.current),jr.current||(Yt.current=!0),Gt.current=de(Mr.current),aa(null),na(!1),pa([]),fa(null),ba([]),ka(""),Ea([]),ct(!1),pt(!1),mt(!1),wn(""),In(null),tr(""),rr([]),cr(null),hr({}),yr(null),Ia(null),Vt(e=>e+1)},t=(a=e,fe.add(a),()=>{fe.delete(a)});var a;return void 0!==J&&xe()!==J&&e(),()=>{t(),_r.current+=1,La.current()}},[]);const[Dr,Rr]=A(null);T(()=>{if(ha){const e=da.find(e=>e.id===ha);ba(e?e.messages:[])}else ba([]);Rr(ha)},[ha]),T(()=>{ha&&xa.length>0&&pa(e=>{const t=e.find(e=>e.id===ha);return t&&JSON.stringify(t.messages)===JSON.stringify(xa)?e:t?e.map(e=>e.id===ha?{...e,messages:xa,lastUpdated:(new Date).toISOString()}:e):xa.some(e=>"user"===e.role)?[{id:ha,messages:xa,lastUpdated:(new Date).toISOString()},...e]:e})},[xa,ha]),T(()=>{var e;if(bt&&Bt)return e=async e=>{if(aa(e),!e.hash)return void console.warn("[Askly] identify() called without `hash`. The user will not be linked server-side. Generate the HMAC on your backend — see the Askly docs.");e.timestamp||console.warn("[Askly] identify() called with `hash` but no `timestamp`. The server recomputes the HMAC from the timestamp it was signed with, so verification will fail without it."),ea.userId&&ea.userId!==e.userId&&ea.clear(),Wa.current=!1,Ja(!1);let t=()=>{};const a=new Promise(e=>{t=e});Xa.current=a;try{const t=Gt.current,a=ea.token,r=await fetch(Qt("/identify"),{method:"POST",headers:{"Content-Type":"application/json",...a?{Authorization:`Bearer ${a}`}:{}},body:JSON.stringify({organization_id:bt,visitor_id:t,user_id:e.userId,timestamp:e.timestamp||Math.floor(Date.now()/1e3),signature:e.hash,email:e.email,name:e.name,phone:e.phone,attributes:e.attributes||{}})});r.ok?t===Gt.current&&(O("identify:success",{userId:e.userId}),ea.apply(await r.json().catch(()=>null))):(console.error(`[Askly] identify() was rejected by the server (HTTP ${r.status}). The user is not linked to their Askly profile, and messages are sent as an anonymous visitor.`),400!==r.status&&403!==r.status||(Wa.current=!0,Ja(!0)),O("identify:error",{userId:e.userId,status:r.status}))}catch(t){console.error("[Askly] identify() request failed:",t),O("identify:error",{userId:e.userId})}finally{t(),Xa.current===a&&(Xa.current=null)}},ge.add(e),me&&e(me),()=>{ge.delete(e)}},[bt,Bt,l]);const Ur=()=>{const e=ue(),t={id:e,messages:yt?[{role:"agent",content:yt,timestamp:new Date,format:"markdown"}]:[],lastUpdated:(new Date).toISOString()};return pa(e=>[t,...e]),fa(e),e},Or=$(null!==(ne=null==Ge?void 0:Ge.message)&&void 0!==ne?ne:Xe,at?Fe:null,Ne),Lr=null!==(se=null==Ge?void 0:Ge.delayMs)&&void 0!==se?se:Qe,Pr=!1!==y&&(!0===y||Je)&&!h,Vr=t||"detect",Fr=da.some(e=>e.messages.some(e=>"user"===e.role)),[Hr,Yr]=A(!1),[Br,Gr]=A("undefined"==typeof document||!document.hidden),Jr=da.reduce((e,t)=>e+(t.unread||0),0),Wr=null===(ce=da.filter(e=>(e.unread||0)>0).sort((e,t)=>e.lastUpdated<t.lastUpdated?1:-1)[0])||void 0===ce?void 0:ce.id,Xr=q(Nt);Xr.current=Nt;const Kr=q(new Set);T(()=>{wt&&"messages"===Nt&&ha&&da.some(e=>e.id===ha&&(e.unread||0)>0)&&pa(e=>e.map(e=>e.id===ha?{...e,unread:0}:e))},[wt,Nt,ha,da]);const[Qr,Zr]=A(!1),en=q(!1);T(()=>{if(!Pr||!et||wt||!Lt||en.current)return;if(Fr)return;if("undefined"==typeof window||D(Vr))return;const e=W?Date.now()-W:0,t=setTimeout(()=>{en.current=!0,Zr(!0),R("shown")},Math.max(0,Lr-e));return()=>clearTimeout(t)},[Pr,et,wt,Lt,Lr,Vr,Fr]),T(()=>{wt&&(en.current=!0,Qr&&Zr(!1),Pr&&"undefined"!=typeof window&&U(Vr))},[wt]);const[tn,an]=A([]),[rn,nn]=A(0),on=q(null),sn=q(0);T(()=>{rn!==sn.current&&wt&&qr.current&&(sn.current=rn,qr.current.focus())},[rn,wt,Nt,ha,xa.length]),T(()=>{"messages"!==Nt||0!==da.length||ha||Ur()},[Nt,da.length,ha]),T(()=>{const e=e=>1===e.length&&"agent"===e[0].role&&!e[0].messageId&&"greeting"!==e[0].kind&&e[0].content!==yt;pa(t=>t.some(t=>e(t.messages))?t.map(t=>e(t.messages)?{...t,messages:[{...t.messages[0],content:yt}]}:t):t),ba(t=>e(t)?[{...t[0],content:yt}]:t)},[yt]);const ln=(e,t)=>{e!==ya.current?pa(a=>a.map(a=>a.id===e?{...a,messages:[...a.messages,t],lastUpdated:(new Date).toISOString()}:a)):ba(e=>[...e,t])},cn=q(xa);T(()=>{cn.current=xa},[xa]);const dn=q({chatId:null,ids:new Set});T(()=>{if(!(wt&&Lt&&"messages"===Nt&&ha&&bt&&Bt))return;let e=!1;const t=e=>`${Qt("/conversation")}?org_id=${encodeURIComponent(bt)}`+(e?"":`&visitor_id=${encodeURIComponent(Bt)}`)+`&thread_key=${encodeURIComponent(ha)}`,a=async()=>{if("undefined"==typeof document||!document.hidden)try{const a=await ea.fetch(t);if(!a.ok)return;const r=await a.json();if(e)return;void 0!==r.contact_known&&ct(r.contact_known);const n=(r.messages||[]).filter(e=>"human"===e.role&&e.message_id),o=dn.current;o.chatId!==ha&&(o.chatId=ha,o.ids=new Set);const s=new Set(cn.current.map(e=>e.messageId).filter(Boolean));o.ids.forEach(e=>s.add(e)),Kr.current.forEach(e=>s.add(e));const l=n.filter(e=>!s.has(e.message_id)).map(e=>({role:"agent",content:e.content,timestamp:e.timestamp?new Date(e.timestamp):new Date,messageId:e.message_id,format:"markdown"===e.format?"markdown":"text"}));if(!e&&l.length>0){const e=l.filter(e=>!Kr.current.has(e.messageId));l.forEach(e=>{o.ids.add(e.messageId),Kr.current.add(e.messageId)}),e.length>0&&(ba(t=>{const a=new Set(t.map(e=>e.messageId).filter(Boolean)),r=e.filter(e=>!a.has(e.messageId));return r.length?[...t,...r]:t}),fn("received"),e.forEach(e=>{null==K||K(e.content),O("message:received",{text:e.content,conversationId:ha,from:"agent",messageId:e.messageId})}))}}catch{}},r=setInterval(a,Hr?3e4:4e3);a();const n=()=>{document.hidden||a()};return document.addEventListener("visibilitychange",n),()=>{e=!0,clearInterval(r),document.removeEventListener("visibilitychange",n)}},[wt,Lt,Nt,ha,bt,l,Bt,Hr]),T(()=>{if("undefined"==typeof document)return;let e;const t=()=>{clearTimeout(e),document.hidden?e=setTimeout(()=>Gr(!1),15e3):Gr(!0)};return document.addEventListener("visibilitychange",t),()=>{clearTimeout(e),document.removeEventListener("visibilitychange",t)}},[]),T(()=>{if(!(bt&&Bt&&Lt&&Br&&Fr))return;if("undefined"==typeof fetch||"undefined"==typeof AbortController||"undefined"==typeof TextDecoder)return;const e=e=>e&&"human"===e.role&&e.message_id?{role:"agent",content:e.content,timestamp:e.timestamp?new Date(e.timestamp):new Date,messageId:e.message_id,format:"markdown"===e.format?"markdown":"text"}:null,t=(e,t)=>{var a;const r=t.messageId;if(Kr.current.has(r))return;Kr.current.add(r);const n=e===ya.current;if((n?cn.current:(null===(a=ua.current.find(t=>t.id===e))||void 0===a?void 0:a.messages)||[]).some(e=>e.messageId===r))return;const o=xn.current&&n&&"messages"===Xr.current;n&&ba(e=>e.some(e=>e.messageId===r)?e:[...e,t]),pa(a=>{const s=a.find(t=>t.id===e),l=(new Date).toISOString();return s?a.map(a=>{if(a.id!==e)return a;const s=n||a.messages.some(e=>e.messageId===r)?a.messages:[...a.messages,t];return{...a,messages:s,lastUpdated:l,unread:o?a.unread:(a.unread||0)+1}}):n?a:[{id:e,messages:[t],lastUpdated:l,unread:1},...a]}),fn("received"),null==K||K(t.content),O("message:received",{text:t.content,conversationId:e,from:"agent",messageId:r})};let a=!1;const r=function(e){let t=!1,a=null,r=null;const n=e=>new Promise(t=>{const a=setTimeout(t,e);r=()=>{clearTimeout(a),t()}});return(async()=>{let r=0;for(;!t;){let o,s=0,l=!1;a=new AbortController;const i=()=>{clearTimeout(o),o=setTimeout(()=>a&&a.abort(),45e3)};try{const r=await e.connect(a.signal);if(t)return;if(!r||404===r.status||405===r.status)return void e.onDown("unsupported");if(!r.ok)throw new Error(`stream HTTP ${r.status}`);if(!r.body||"function"!=typeof r.body.getReader)return void e.onDown("unsupported");const n=r.body.getReader(),o=new TextDecoder;let c="";for(i();;){const{value:a,done:r}=await n.read();if(r)break;i(),c+=o.decode(a,{stream:!0}).replace(/\r\n/g,"\n");let d=c.indexOf("\n\n");for(;-1!==d;){const a=re(c.slice(0,d));c=c.slice(d+2),d=c.indexOf("\n\n"),a&&!t&&("ready"===a.type?(s=Date.now(),e.onLive()):"reconnect"===a.type?l=!0:e.onEvent(a))}if(l)break}}catch{}finally{clearTimeout(o);try{a.abort()}catch{}}if(t)return;e.onDown("down");const c=s>0&&Date.now()-s>=3e4;c?r=0:r+=1;const d=c&&l?500:ae[Math.min(r,ae.length-1)];await n(d/2+Math.random()*(d/2))}})(),{close:()=>{if(t=!0,a)try{a.abort()}catch{}r&&r()},kick:()=>{if(!t){if(a)try{a.abort()}catch{}r&&r()}}}}({connect:async e=>{var t;if(!ea.supported)return null;if(!(null!==(t=ea.token)&&void 0!==t?t:await ea.start())){if(!ea.supported)return null;throw new Error("no session yet")}const{res:a,token:r}=await ea.request(`${Qt("/events")}?org_id=${encodeURIComponent(bt)}`,{headers:{Accept:"text/event-stream"},signal:e});if(!r)throw new Error("session lost");return a},onEvent:a=>{if("message"!==a.type||!a.data||"string"!=typeof a.data.thread_key)return;const r=e(a.data.message);r&&t(a.data.thread_key,r)},onLive:()=>{Yr(!0),(async()=>{const r=ua.current.filter(e=>e.messages.some(e=>"user"===e.role)).slice(0,5);for(const n of r){if(a)return;try{const r=await ea.fetch(e=>`${Qt("/conversation")}?org_id=${encodeURIComponent(bt)}`+(e?"":`&visitor_id=${encodeURIComponent(Bt)}`)+`&thread_key=${encodeURIComponent(n.id)}`);if(!r.ok||a)continue;const o=await r.json();for(const r of o.messages||[]){const o=e(r);o&&!a&&t(n.id,o)}}catch{}}})()},onDown:()=>Yr(!1)});let n=!0;const o=setInterval(async()=>{if(n&&ea.token)try{const e=await ea.fetch(`${Qt("/presence")}?org_id=${encodeURIComponent(bt)}`,{method:"POST"});404!==e.status&&405!==e.status||(n=!1)}catch{}},45e3),s=()=>r.kick();return window.addEventListener("online",s),()=>{a=!0,clearInterval(o),window.removeEventListener("online",s),r.close(),Yr(!1)}},[bt,Bt,Lt,Br,Fr,l]),T(()=>{if(wt&&Qa&&"undefined"!=typeof window&&!document.getElementById("cloudflare-turnstile-script")){const e=document.createElement("script");e.id="cloudflare-turnstile-script",e.src=L("https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"),e.async=!0,e.defer=!0,document.head.appendChild(e)}},[wt,Qa]);const pn=wt&&Lt&&"messages"===Nt&&null!==ha;T(()=>{if(!Qa||!pn||"undefined"==typeof window)return;let e,t=!1;const a=()=>{if(t)return;const r=window.turnstile,n=document.getElementById("askly-turnstile-container");if(r&&n)try{Ar.current=r.render(n,{sitekey:z,callback:e=>{Ha(e),Ia(null)},"expired-callback":()=>{Ha(null)},"error-callback":()=>{Ha(null)}})}catch(e){console.error("[Askly] Turnstile render error:",e)}else e=setTimeout(a,300)};return e=setTimeout(a,150),()=>{t=!0,clearTimeout(e);const a=Ar.current;if(Ar.current=null,a&&window.turnstile)try{window.turnstile.remove(a)}catch{}Ha(null)}},[Qa,pn,ha,z]),T(()=>{if(0===Ya)return;const e=Ar.current;if(e&&window.turnstile)try{window.turnstile.reset(e)}catch(e){console.error("[Askly] Turnstile reset error:",e)}},[Ya]);const un=q(null),mn=()=>{if("undefined"==typeof window)return null;if(!un.current){const e=window.AudioContext||window.webkitAudioContext;if(!e)return null;try{un.current=new e}catch{return null}}return un.current},gn=()=>{const e=mn();e&&"suspended"===e.state&&e.resume().catch(()=>{})},hn={sent:[{freq:392,start:0,duration:.08}],received:[{freq:587.33,start:0,duration:.09},{freq:783.99,start:.09,duration:.14}],error:[{freq:311.13,start:0,duration:.14,type:"sawtooth"},{freq:233.08,start:.12,duration:.18,type:"sawtooth"}],escalation:[{freq:880,start:0,duration:.12},{freq:1174.66,start:.11,duration:.2,type:"triangle"}]},fn=e=>{if(!b)return;const t=mn();if(!t)return;"suspended"===t.state&&t.resume().catch(()=>{});const a=hn[e]||hn.received,r=t.currentTime,n=.35*Math.max(0,Math.min(1,v));for(const e of a){const a=t.createOscillator(),o=t.createGain();a.type=e.type||"sine",a.frequency.value=e.freq;const s=r+e.start;o.gain.setValueAtTime(1e-4,s),o.gain.exponentialRampToValueAtTime(n,s+.012),o.gain.exponentialRampToValueAtTime(1e-4,s+e.duration),a.connect(o).connect(t.destination),a.start(s),a.stop(s+e.duration+.03)}},yn=q(!1);T(()=>{yn.current?wt&&Lt?(gn(),null==Q||Q(),O("open")):(La.current(),null==Z||Z(),O("close")):yn.current=!0},[wt&&Lt]);const xn=q(wt);xn.current=wt;T(()=>()=>{xr.current&&clearTimeout(xr.current)},[]);const bn=e=>{const t=e.target.value;if(tr(t),xr.current&&clearTimeout(xr.current),!t.trim())return rr([]),lr(null),void or(!1);or(!0),xr.current=setTimeout(()=>(async e=>{if(!e.trim())return rr([]),void lr(null);or(!0),lr(null);try{const t=l.replace(/\/messages\/widget$/,"")+"/knowledge/widget/search",a=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({organization_id:bt||"",query:e,top_k:5})});if(a.ok){const e=await a.json();rr(e.results||[])}else rr([]),lr(429===a.status?"You're searching too fast — please wait a moment and try again.":"Search is unavailable right now. Please try again shortly.")}catch(e){console.error("RAG search failed:",e),rr([]),lr("Search is unavailable right now. Please try again shortly.")}finally{or(!1)}})(t),350)},vn=e=>{cr(e)},[kn,wn]=A(""),[En,Nn]=A(!1),[zn,In]=A(null),Sn=!it&&("always"===nt?0===xa.filter(e=>"user"===e.role).length:"smart"===nt&&(dt||!at));T(()=>{var e;Sn&&(null===(e=on.current)||void 0===e||e.focus())},[Sn]);const Cn=xa[xa.length-1],An="smart"===nt&&!it&&!Sn&&!ut&&!Na&&xa.some(e=>"user"===e.role)&&"agent"===(null==Cn?void 0:Cn.role),Tn=(e="smooth")=>{const t=Er.current;if(!t)return;const a="undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":e;"function"==typeof t.scrollTo?t.scrollTo({top:t.scrollHeight,behavior:a}):t.scrollTop=t.scrollHeight,Nr.current=!0,Cr(0)};P(()=>{if(Ir.current=0,Nr.current=!0,Cr(0),null===ha)return;zr.current=!0;const e=Er.current;e&&(e.scrollTop=e.scrollHeight)},[ha]),T(()=>{var e;if(!Er.current||null===ha)return;const t=xa.length-Ir.current;Ir.current=xa.length;const a=t>0&&"user"===(null===(e=xa[xa.length-1])||void 0===e?void 0:e.role);Nr.current||a?(Tn(zr.current?"auto":"smooth"),zr.current=!1):t>0&&Cr(e=>e+t)},[xa,Na,kr,Sn,ha]),T(()=>{const e=Er.current;if(!e||"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(()=>{Nr.current&&(e.scrollTop=e.scrollHeight)});return t.observe(e),()=>t.disconnect()},[ha]);P(()=>{const e=qr.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,120)}px`,e.style.overflowY=e.scrollHeight>120?"auto":"hidden")},[va,ha]);const qn=async()=>{const e=kn.trim();if(e&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)){if(bt&&Bt){Nn(!0),In(null);try{if(!(await ea.fetch(Qt("/contact-details"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({organization_id:bt,visitor_id:Bt,email:e,timestamp:Math.floor(Date.now()/1e3)})})).ok)throw new Error("Could not save that address.");ct(!0),O("lead:captured"),wn("")}catch{In("Couldn't save that just now. You can carry on chatting.")}finally{Nn(!1)}}}else In("That doesn't look like an email address.")},Mn=async(e,t)=>{const a=("string"==typeof e?e:va).trim();if(!a)return;if(Sn)return;if(Za)return void Ia("Please complete the security check first.");const r=ha,n=r||"primary",o=_r.current,s=Ar.current,i=(null==ta?void 0:ta.timestamp)||la||Math.floor(Date.now()/1e3),c=!(!t||!t.voice)||"string"!=typeof e&&Oa.current;Oa.current=!1;const d={role:"user",content:a,timestamp:new Date,format:"text"};ba(e=>[...e,d]),ka(""),Ia(null),Da.current=null,qa(null),Ea(e=>e.includes(n)?e:[...e,n]),gn(),fn("sent"),null==X||X(a),O("message:sent",{text:a,conversationId:n});try{Xa.current&&await Xa.current,ea.token||await ea.start();const e={organization_id:bt||"",visitor_id:Gt.current,thread_key:n,message:a,timestamp:i,context:{url:"undefined"!=typeof window?window.location.href:void 0,title:"undefined"!=typeof document?document.title:void 0,referrer:"undefined"!=typeof document&&document.referrer||void 0,locale:"undefined"!=typeof navigator?navigator.language:void 0,screen:"undefined"!=typeof window&&window.screen?`${window.screen.width}x${window.screen.height}`:void 0}};c&&(e.metadata={input_mode:"voice"}),ia&&(e.user_id=ia);const t=(null==ta?void 0:ta.hash)||sa,s=!!ea.userId&&ea.userId===ia;!t||s||Wa.current?e.timestamp=Math.floor(Date.now()/1e3):e.signature=t,Fa&&(e.turnstile_token=Fa);const{res:d,token:p}=await ea.request(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!d.ok){const e=await d.json().catch(()=>({})),t=new Error(e.detail||`HTTP ${d.status}`);throw t.status=d.status,t}const u=await d.json();if(o!==_r.current)return;if(ea.token&&ea.token!==p||ea.apply(u),u.reply){const e={role:"agent",content:u.reply,timestamp:new Date,format:"text"===u.format?"text":"markdown"};ln(r,e)}void 0!==u.contact_known&&ct(u.contact_known),u.escalated||u.should_escalate?(pt(!0),fn("escalation"),null==ee||ee(u),O("escalated",{conversationId:n})):u.reply&&fn("received"),u.reply&&(null==K||K(u.reply),O("message:received",{text:u.reply,conversationId:n,from:"ai",messageId:u.message_id}))}catch(e){if(o!==_r.current)return;console.error("[Askly] Message failed:",e),O("error",{message:"Message could not be sent",status:null==e?void 0:e.status}),ln(r,{role:"agent",content:429===(null==e?void 0:e.status)?"You're sending messages too quickly. Please wait a moment and try again.":"Sorry, something went wrong. Please try again.",timestamp:new Date,format:"text"}),fn("error"),Va(!0),setTimeout(()=>Va(!1),500)}finally{Ea(e=>e.filter(e=>e!==n)),Qa&&Ar.current===s&&(Ha(null),Ba(e=>e+1))}},jn=q(null);jn.current={sendMessage:Mn,voiceInput:Sa,leadRequired:Sn,turnstileBlocked:Za,isTyping:Na,uploadingFile:kr,input:va};const _n=(e,t=!1)=>{const a=B(e);Aa("idle"),qa(t?a:null),Ia(a),O("voice:error",{code:e})},$n=async e=>{const t=Ua.current,a=_r.current,r=ya.current;Da.current=e,Aa("transcribing"),qa(null);const n="undefined"!=typeof AbortController?new AbortController:null;Ra.current=n;const o=setTimeout(()=>null==n?void 0:n.abort(),3e4);try{ea.token||await ea.start();const o=new FormData;o.append("organization_id",bt||""),o.append("file",e.blob,-1!==e.blob.type.indexOf("mp4")?"clip.mp4":"clip.webm"),o.append("duration_ms",String(Math.round(e.durationMs))),"undefined"!=typeof navigator&&navigator.language&&o.append("language",navigator.language);const s=await ea.fetch(Qt("/transcribe"),{method:"POST",body:o,signal:n?n.signal:void 0});if(t!==Ua.current||a!==_r.current)return;if(!s.ok){const e=(await s.json().catch(()=>({}))).detail;return console.error("[Askly] Transcription failed:",s.status,e),void("voice_disabled"===e?_n("disabled"):429===s.status?_n("limit"):_n("failed",s.status>=500))}const l=await s.json();if(t!==Ua.current||a!==_r.current)return;Da.current=null;const i="string"==typeof l.text?l.text.trim():"";if(!i)return void _n("no-speech");Aa("idle"),Ia(null),O("voice:transcript",{text:i,language:l.language||void 0});const c=jn.current;!("auto-send"!==c.voiceInput||c.leadRequired||c.turnstileBlocked||c.isTyping||c.uploadingFile||c.input.trim()||r!==ya.current)?c.sendMessage(i,{voice:!0}):(Oa.current=!0,ka(e=>e+(""===e||/\s$/.test(e)?"":" ")+i))}catch(e){if(t!==Ua.current||a!==_r.current)return;console.error("[Askly] Transcription failed:",e),_n("network",!0)}finally{clearTimeout(o),Ra.current===n&&(Ra.current=null)}},Dn=async()=>{if("off"===Sa||"idle"!==Ca)return;if(Sn||Za||Na||kr)return;const e=++Ua.current;Da.current=null,_a.current={level:0,elapsedMs:0},qa(null),Ia(null),vr(!1),Aa("starting");try{const{startRecording:t}=await(import("./speech-8iAgRQFA.js"));if(e!==Ua.current)return;const a=await t({maxMs:6e4,silenceMs:2e3,noSpeechMs:8e3,onMeter:(e,t)=>{_a.current={level:e,elapsedMs:t}},onDone:t=>{e===Ua.current&&($a.current=null,O("voice:stop",{durationMs:t.durationMs}),"ok"!==t.outcome?_n(t.outcome):t.blob.size<200?_n("no-speech"):$n(t))}});if(e!==Ua.current)return void a.cancel();$a.current=a,Aa("recording"),O("voice:start")}catch(t){if(e!==Ua.current)return;_n(t&&t.code||"failed")}},Rn=()=>{var e;null===(e=$a.current)||void 0===e||e.stop()},Un=()=>{var e,t;Ua.current+=1,null===(e=$a.current)||void 0===e||e.cancel(),$a.current=null,null===(t=Ra.current)||void 0===t||t.abort(),Ra.current=null,Da.current=null,qa(null),Aa("idle")};La.current=Un;T(()=>{"idle"!==Ca&&Un()},[pn,ha]);const On=q(Ca);T(()=>{const e=On.current;On.current=Ca,"idle"!==e&&"idle"===Ca&&pn&&nn(e=>e+1)},[Ca]),T(()=>{""===va&&(Oa.current=!1)},[va]),T(()=>{if("idle"===Ca)return;if("off"===Sa)return void Un();const e=e=>{"Escape"===e.key&&Un()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[Ca,Sa]),T(()=>{var e;const t=tn[0];if(!t||!wt||!Lt||"messages"!==Nt)return;const a=null!==(e=t.chatId)&&void 0!==e?e:ha;if(!a)return void(da.length>0&&fa(da[0].id));if(ha!==a||Dr!==a)return;const r=()=>{const e=tn.map(e=>e.text).filter(e=>!!e);an([]),e.length&&ka(e.join("\n")),nn(e=>e+1)};if(!t.send)return an(e=>e.slice(1)),null!==t.text&&ka(t.text),void nn(e=>e+1);if(Sn)return r();if(Za){const e=setTimeout(r,1e4);return()=>clearTimeout(e)}Na||(an(e=>e.slice(1)),Mn(t.text))},[tn,wt,Lt,Nt,ha,Dr,da.length,Sn,Za,Na]);const[Ln,Pn]=A(!1);T(()=>{if(Ma&&Ln)return"off"===Sa?(ja(!1),console.warn("[Askly] startVoiceInput() ignored: voice input is turned off."),void O("voice:error",{code:"disabled"})):void(!pn||Dr!==ha||tn.length>0||(ja(!1),Sn||Za||Na||kr?console.warn("[Askly] startVoiceInput() ignored: the message box is not available yet."):Dn()))},[Ma,Ln,Sa,pn,Dr,ha,tn.length]);const Vn=q(()=>{}),Fn=q({}),[Hn,Yn]=A(null);Vn.current=e=>{if(Lt||"close"===e.type||"update"===e.type)switch(e.type){case"open":Et(!0);break;case"close":Et(!1);break;case"toggle":Et(e=>!e);break;case"showSpace":zt("home"===e.space?"explore":"help"===e.space?"help":"messages"),Et(!0);break;case"showNewMessage":case"sendMessage":{const t="sendMessage"===e.type,a="string"==typeof e.text?e.text:null;if(t&&!(a||"").trim())break;zt("messages"),Et(!0),an(e=>[...e,{chatId:null,text:t?a.trim():a,send:t}]);break}case"showArticle":Yn(e.articleId);break;case"startVoiceInput":Ln&&"off"===Sa||(zt("messages"),Et(!0),an(e=>[...e,{chatId:null,text:null,send:!1}])),ja(!0);break;case"stopVoiceInput":Rn();break;case"update":{const t=["organizationName","logoUrl","themeColor","theme","buttonShape","welcomeMessage","ai_name","ai_avatar_url","greetingEnabled","greetingMessage","greetingDelayMs","faqs"],a={};for(const r of t)e.config&&void 0!==e.config[r]&&(a[r]=e.config[r]);const r=V(e.config&&e.config.voiceInput)||(e.config&&!1===e.config.enableVoiceChat?"off":void 0);r&&Ve(r),Fn.current={...Fn.current,...a},kt(a);break}}else console.warn(`[Askly] ${e.type}() ignored: the widget is hidden on this path.`)},T(()=>{if(!Hn)return;const e=dr.concat(Mt).find(e=>e.id===Hn);e?(Yn(null),cr(e),zt("help"),Et(!0)):Ln&&!ur&&bt&&(Yn(null),console.warn(`[Askly] showArticle(): no article with id "${Hn}".`))},[Hn,dr,Mt,ur,bt]),T(()=>F(e=>Vn.current(e)),[]);const Bn=wt&≪T(()=>{H.open=Bn},[Bn]),T(()=>{H.visitorId=Bt},[Bt]),T(()=>{H.unread!==Jr&&(H.unread=Jr,O("unread",{count:Jr}))},[Jr]),T(()=>{Ln&&!H.ready&&(H.ready=!0,O("ready",{visitorId:Gt.current}))},[Ln]),T(()=>()=>{H.open&&O("close"),H.unread>0&&O("unread",{count:0}),Y()},[]);const Gn="#0f172a"===je||"#6366f1"===je||"#2563eb"===je?{}:{"--askly-accent":`var(--askly-brand, ${je})`},Jn={right:"right"===s?"24px":void 0,left:"left"===s?"24px":void 0,...Gn},Wn={right:"right"===s?"24px":void 0,left:"left"===s?"24px":void 0,...Gn},Xn={conversations:da,setActiveChatId:fa,startNewChat:Ur},Kn={open:wt,setOpen:Et,buttonIcon:m,buttonShape:Re,buttonStyle:Jn,launcherUnread:Jr,resolvedTheme:ft,setActiveChatId:fa,setActiveTab:zt,unreadChatId:Wr},Qn={accentVars:Gn,aiAnswering:at,aiAvatarUrl:Ye,dismissGreeting:()=>{en.current=!0,Zr(!1),U(Vr),R("dismissed")},faqs:Ct,greetingText:Or,openFromGreeting:e=>{const t={role:"agent",content:Or,timestamp:new Date,format:"text",kind:"greeting"},a=da.find(e=>!e.messages.some(e=>"user"===e.role)),r=a?a.id:ue();pa(e=>a?e.map(e=>e.id===r?{...e,messages:[t],lastUpdated:(new Date).toISOString()}:e):[{id:r,messages:[t],lastUpdated:(new Date).toISOString()},...e]),ha===r&&ba([t]),fa(r),zt("messages"),Et(!0),e&&an(t=>[...t,{chatId:r,text:e,send:!0}]),nn(e=>e+1),R("clicked")},organizationLogo:Ie,position:s,resolvedTheme:ft},Zn={allArticles:dr,articlesLoading:ur,expandedFaqIndex:Tt,faqs:Ct,handleSearchChange:bn,handleSelectArticle:vn,organizationLogo:Ie,organizationName:Ne,searchError:sr,searchLoading:nr,searchQuery:er,searchResults:ar,setActiveTab:zt,setExpandedFaqIndex:qt,setInput:ka},eo={allArticles:dr,articleFeedback:Dt,articlesLoading:ur,handleSearchChange:bn,handleSelectArticle:vn,organizationLogo:Ie,organizationName:Ne,searchError:sr,searchLoading:nr,searchQuery:er,searchResults:ar,selectedArticle:ir,selectedCollection:Ut,setActiveTab:zt,setArticleFeedback:Rt,setInput:ka,setSelectedArticle:cr,setSelectedCollection:Ot,themeColor:je},to={activeTab:Nt,setActiveTab:zt,setSelectedArticle:cr},ao={cancelVoiceInput:Un,fileInputRef:Tr,handleEmojiClick:e=>{var t;ka(t=>t+e),vr(!1),null===(t=qr.current)||void 0===t||t.focus()},handleFileChange:async e=>{var t,a;const r=null===(t=e.target.files)||void 0===t?void 0:t[0];if(r){wr(!0);try{const e=l.replace(/\/widget$/,"")+"/widget/upload",t=new FormData;t.append("organization_id",bt||""),t.append("file",r);const n=await ea.fetch(e,{method:"POST",body:t});if(!n.ok){const e=await n.json().catch(()=>({})),t=new Error(e.detail||"Upload failed");throw t.status=n.status,t}const o=await n.json(),s=r.type.startsWith("image/")?``:`[File attachment: ${r.name}](${o.blob_url})`;ka(e=>e+(e.endsWith(" ")||""===e?"":" ")+s),null===(a=qr.current)||void 0===a||a.focus(),Ia(null)}catch(e){console.error("[Askly] Attachment upload failed:",e),Ia(400===(null==e?void 0:e.status)?"That file can't be attached. It may be too large (10 MB limit) or a type that isn't allowed.":"That attachment couldn't be uploaded. Please try again.")}finally{wr(!1),e.target&&(e.target.value="")}}},handleFileUploadClick:()=>{var e;null===(e=Tr.current)||void 0===e||e.click()},input:va,inputRef:qr,isTyping:Na,leadRequired:Sn,placeholderText:p,sendMessage:Mn,setInput:ka,setShowEmojiPicker:vr,showEmojiPicker:br,startVoiceInput:Dn,stopVoiceInput:Rn,turnstileBlocked:Za,uploadingFile:kr,voiceInputEnabled:"off"!==Sa,voiceMaxMs:6e4,voiceMeterRef:_a,voicePhase:Ca},ro={activeChatId:ha,activeTab:Nt,aiAnswering:at,aiAvatarUrl:Ye,aiName:Fe,headerStyle:{},isExpanded:It,organizationLogo:Ie,organizationName:Ne,setActiveChatId:fa,setIsExpanded:St,setOpen:Et},no={copiedMsgIndex:fr,messages:xa,msgReactions:gr,setCopiedMsgIndex:yr,setMsgReactions:hr,showTimestamp:x};return Lt?e.createElement(e.Fragment,null,e.createElement(ve,{...Kn}),Qr&&!wt&&e.createElement(ke,{...Qn}),wt&&e.createElement("div",{className:`askly-chat-modal ${It?"expanded":""} ${Pa?"askly-shake":""}`,"data-askly-theme":ft,style:Wn},e.createElement(Ce,{...ro}),"explore"===Nt&&e.createElement(we,{...Zn}),"messages"===Nt&&(null===ha?e.createElement(be,{...Xn}):e.createElement("div",{className:"chat-screen"},e.createElement("div",{className:"chat-stream"},e.createElement("div",{className:"chat-body",ref:Er,onScroll:()=>{const e=Er.current;if(!e)return;const t=e.scrollHeight-e.scrollTop-e.clientHeight<=80;Nr.current=t,t&&Cr(0)},onLoadCapture:()=>{Nr.current&&Tn("auto")}},e.createElement(Te,{...no}),Ct.length>0&&xa.length<=1&&!Na&&!Sn&&e.createElement("div",{className:"quick-replies"},Ct.slice(0,4).map((t,a)=>e.createElement("button",{key:a,className:"quick-reply-chip",onClick:()=>Mn(t.question)},t.question))),An&&e.createElement("div",{className:"askly-lead-card"},e.createElement("div",{className:"askly-lead-copy"},st),e.createElement("div",{className:"askly-lead-row"},e.createElement("input",{type:"email",value:kn,onChange:e=>{wn(e.target.value),In(null)},onKeyDown:e=>{"Enter"===e.key&&qn()},placeholder:"you@example.com",disabled:En,"aria-label":"Your email address"}),e.createElement("button",{className:"askly-lead-submit",onClick:()=>{qn()},disabled:En||!kn.trim()},En?"…":"Save")),zn&&e.createElement("div",{className:"askly-lead-error"},zn),e.createElement("button",{className:"askly-lead-dismiss",onClick:()=>mt(!0)},"No thanks")),Na&&e.createElement("div",{className:"msg-wrapper agent"},at?e.createElement("div",{className:"typing-indicator"},e.createElement("span",null),e.createElement("span",null),e.createElement("span",null)):e.createElement("div",{className:"msg agent",style:{opacity:.75,fontStyle:"italic"}},"Sending to the team…")),kr&&e.createElement("div",{className:"msg-wrapper user"},e.createElement("div",{className:"msg user",style:{opacity:.7,display:"flex",alignItems:"center",gap:8}},e.createElement("span",{className:"search-loader",style:{borderColor:"#fff",borderTopColor:"transparent"}}),e.createElement("span",null,"Uploading attachment..."))),Qa&&e.createElement("div",{className:"askly-turnstile-wrapper",style:Fa?{display:"none"}:void 0},e.createElement("slot",{name:"turnstile"}))),Sr>0&&e.createElement("button",{type:"button",className:"askly-jump-latest",onClick:()=>Tn("smooth"),"aria-live":"polite"},e.createElement(o,{size:14}),1===Sr?"1 new message":`${Sr} new messages`,e.createElement("span",{className:"askly-jump-badge"},Sr))),Sn&&e.createElement("div",{className:"askly-lead-card askly-lead-required"},e.createElement("div",{className:"askly-lead-copy"},st),e.createElement("div",{className:"askly-lead-row"},e.createElement("input",{type:"email",value:kn,onChange:e=>{wn(e.target.value),In(null)},onKeyDown:e=>{"Enter"===e.key&&qn()},placeholder:"you@example.com",disabled:En,ref:on,"aria-label":"Your email address"}),e.createElement("button",{className:"askly-lead-submit",onClick:()=>{qn()},disabled:En||!kn.trim()},En?"…":"Save")),zn&&e.createElement("div",{className:"askly-lead-error"},zn)),za&&e.createElement("div",{className:"askly-lead-error askly-composer-notice",role:"alert"},za,null!==Ta&&Ta===za&&e.createElement("button",{type:"button",className:"askly-notice-action",onClick:()=>{const e=Da.current;e&&"idle"===Ca&&(Ua.current+=1,Ia(null),$n(e))}},"Try again")),e.createElement(Se,{...ao}),e.createElement(qe,null))),"help"===Nt&&e.createElement(f,{fallback:null},e.createElement(Me,{...eo})),!("messages"===Nt&&null!==ha)&&e.createElement(Ee,{...to}))):null};var $e=':host{all:initial;display:block}.askly-chat-button,.askly-chat-modal,.askly-greeting{--askly-bg:#fff;--askly-surface:#fff;--askly-surface-2:#f6f7f9;--askly-surface-3:#eef0f4;--askly-header-bg:hsla(0,0%,100%,.82);--askly-header-fg:#0f172a;--askly-accent:var(--askly-brand,#2563eb);--askly-accent-contrast:#fff;--askly-border:rgba(15,23,42,.08);--askly-border-strong:#e2e5ea;--text-1:#0f172a;--text-2:#334155;--text-3:#64748b;--text-4:#94a3b8;--askly-online:#22c55e;--askly-danger:#ef4444;--askly-danger-bg:#fee2e2;--askly-success:#16a34a;--askly-success-bg:rgba(22,163,74,.09);--askly-link:#2563eb;--askly-scrollbar:#cbd5e1;--askly-scrollbar-hover:#94a3b8;--askly-accent-strong:color-mix(in srgb,var(--askly-accent) 92%,#000);--askly-accent-soft:color-mix(in srgb,var(--askly-accent) 12%,transparent);--askly-accent-ring:color-mix(in srgb,var(--askly-accent) 22%,transparent);--askly-elev-1:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.05);--askly-elev-2:0 4px 12px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);--askly-elev-3:0 18px 48px rgba(15,23,42,.18),0 6px 16px rgba(15,23,42,.1);--askly-elev-launch:0 10px 30px rgba(15,23,42,.28),0 4px 10px rgba(15,23,42,.18);--askly-radius-sm:10px;--askly-radius-md:14px;--askly-radius-lg:20px;--askly-radius-xl:22px;--askly-ease:cubic-bezier(0.16,1,0.3,1);--askly-ease-snappy:cubic-bezier(0.4,0,0.2,1);--askly-font:var(--askly-font-family,"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)}.askly-chat-button[data-askly-theme=dark],.askly-chat-modal[data-askly-theme=dark],.askly-greeting[data-askly-theme=dark]{--askly-bg:#0f1115;--askly-surface:#181b21;--askly-surface-2:#21252d;--askly-surface-3:#2b303a;--askly-header-bg:rgba(15,17,21,.78);--askly-header-fg:#f4f5f7;--askly-accent:var(--askly-brand,#3b82f6);--askly-accent-contrast:#fff;--askly-border:hsla(0,0%,100%,.09);--askly-border-strong:#333944;--text-1:#f3f4f6;--text-2:#d2d6dd;--text-3:#9aa2af;--text-4:#6b7280;--askly-online:#4ade80;--askly-danger:#f87171;--askly-danger-bg:hsla(0,91%,71%,.15);--askly-success:#4ade80;--askly-success-bg:rgba(74,222,128,.12);--askly-link:#7cb0ff;--askly-scrollbar:#3a3f4a;--askly-scrollbar-hover:#4d5462;--askly-accent-strong:color-mix(in srgb,var(--askly-accent) 90%,#fff);--askly-elev-1:0 1px 2px rgba(0,0,0,.4);--askly-elev-2:0 6px 16px rgba(0,0,0,.45);--askly-elev-3:0 20px 55px rgba(0,0,0,.62),0 6px 16px rgba(0,0,0,.5);--askly-elev-launch:0 12px 34px rgba(0,0,0,.55)}.askly-chat-button{align-items:center;background:var(--askly-accent);border:none;border-radius:23%;bottom:24px;box-shadow:var(--askly-elev-launch);color:var(--askly-accent-contrast);cursor:pointer;display:flex;font-family:var(--askly-font);font-size:28px;height:60px;justify-content:center;position:fixed;right:24px;transition:transform .28s var(--askly-ease),box-shadow .28s var(--askly-ease),border-radius .28s var(--askly-ease);width:60px;z-index:99999}.askly-chat-button:hover{box-shadow:0 18px 40px rgba(15,23,42,.34),0 6px 14px rgba(15,23,42,.22);transform:translateY(-3px) scale(1.05)}.askly-chat-button:active{transform:scale(.94)}.askly-launcher-badge{background:#dc2626;border-radius:999px;box-shadow:0 0 0 2px var(--askly-bg);box-sizing:border-box;color:#fff;font-size:11px;font-weight:600;height:20px;line-height:20px;min-width:20px;padding:0 5px;position:absolute;right:-4px;text-align:center;top:-4px}.askly-chat-button.shape-square{border-radius:23%}.askly-chat-button.shape-round{border-radius:50%}.askly-chat-modal{-webkit-font-smoothing:antialiased;animation:slideUp .36s var(--askly-ease);background:var(--askly-bg);border:none;border-radius:var(--askly-radius-lg);bottom:100px;box-shadow:var(--askly-elev-3);color:var(--text-1);display:flex;flex-direction:column;font-family:var(--askly-font);height:min(704px,100vh - 120px);height:min(704px,100dvh - 120px);max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);max-width:calc(100vw - 48px);overflow:hidden;position:fixed;right:24px;width:min(384px,100vw - 48px);z-index:99998}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes asklyShake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.askly-chat-modal.askly-shake{animation:asklyShake .45s cubic-bezier(.36,.07,.19,.97)}.chat-header{align-items:center;backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);background:var(--askly-header-bg);border-bottom:1px solid var(--askly-border);color:var(--askly-header-fg,inherit);display:flex;flex-shrink:0;justify-content:space-between;padding:15px 18px}.chat-header.chat-header-floating{backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;border-bottom:none!important;left:0;padding:12px 14px;pointer-events:none;position:absolute;right:0;top:0;z-index:5}.chat-header-floating .header-action-btn{color:#fff;opacity:.92;pointer-events:auto}.chat-header-floating .header-action-btn:hover{background:hsla(0,0%,100%,.22);color:#fff;opacity:1}.header-title.header-title-lg{font-size:18px;font-weight:700;letter-spacing:-.02em}.header-content{align-items:center;display:flex;gap:12px}.header-avatar{border:none;border-radius:0;box-shadow:none;max-height:32px;max-width:120px;object-fit:contain}.header-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.header-status{align-items:center;display:flex;font-size:11px;gap:6px;opacity:.9}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.chat-body{background:var(--askly-bg);display:flex;flex:1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:20px}.chat-body,.chat-footer textarea,.conversations-scrollable,.help-layout,.home-layout,.home-search-results{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-color:var(--askly-scrollbar) transparent;scrollbar-width:thin}.chat-body:hover,.chat-footer textarea:hover,.conversations-scrollable:hover,.help-layout:hover,.home-layout:hover,.home-search-results:hover{scrollbar-color:var(--askly-scrollbar-hover) transparent}.chat-body::-webkit-scrollbar,.chat-footer textarea::-webkit-scrollbar,.conversations-scrollable::-webkit-scrollbar,.help-layout::-webkit-scrollbar,.home-layout::-webkit-scrollbar,.home-search-results::-webkit-scrollbar{width:8px}.chat-body::-webkit-scrollbar-track,.chat-footer textarea::-webkit-scrollbar-track,.conversations-scrollable::-webkit-scrollbar-track,.help-layout::-webkit-scrollbar-track,.home-layout::-webkit-scrollbar-track,.home-search-results::-webkit-scrollbar-track{background:transparent}.chat-body::-webkit-scrollbar-thumb,.chat-footer textarea::-webkit-scrollbar-thumb,.conversations-scrollable::-webkit-scrollbar-thumb,.help-layout::-webkit-scrollbar-thumb,.home-layout::-webkit-scrollbar-thumb,.home-search-results::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--askly-scrollbar);border:2px solid transparent;border-radius:10px}.chat-body::-webkit-scrollbar-thumb:hover,.chat-footer textarea::-webkit-scrollbar-thumb:hover,.conversations-scrollable::-webkit-scrollbar-thumb:hover,.help-layout::-webkit-scrollbar-thumb:hover,.home-layout::-webkit-scrollbar-thumb:hover,.home-search-results::-webkit-scrollbar-thumb:hover{background-color:var(--askly-scrollbar-hover)}.msg-wrapper{align-items:flex-end;animation:fadeIn .32s var(--askly-ease);display:flex;gap:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-wrapper.user{flex-direction:row-reverse}.msg-column{display:flex;flex-direction:column;gap:4px;max-width:78%;min-width:0}.msg-wrapper.user .msg-column{align-items:flex-end}.msg-avatar{align-items:center;align-self:flex-start;background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));border-radius:50%;box-shadow:var(--askly-elev-1);color:var(--askly-accent-contrast);display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;overflow:hidden;width:28px}.msg-avatar img{height:100%;object-fit:cover;width:100%}.msg-avatar.msg-avatar-hidden{visibility:hidden}.msg{word-wrap:break-word;border-radius:18px;max-width:100%;padding:10px 14px;position:relative;width:fit-content}.msg,.msg-content{overflow-wrap:anywhere}.msg-content{font-size:13.5px;line-height:1.55}.msg-content p{margin:0 0 8px}.msg-content ol,.msg-content ul{margin:4px 0 8px;padding-left:20px}.msg-content li{margin-top:3px}.msg-content>:last-child{margin-bottom:0}.msg-content strong{font-weight:650}.msg-content code.inline-code{background:var(--askly-surface-3);border:1px solid var(--askly-border);border-radius:5px;padding:1px 5px}.msg-content code.inline-code,.msg-content pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.msg-content pre{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:8px;box-sizing:border-box;display:block;line-height:1.5;margin:6px 0 8px;max-width:100%;overflow-x:auto;padding:8px 10px;white-space:pre}.msg-content pre code{background:none;border:0;font:inherit;padding:0}.askly-chat-modal[data-askly-theme=dark] .msg.agent .msg-content pre{background:var(--askly-surface-2)}.msg.user .msg-content code.inline-code,.msg.user .msg-content pre{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.28);color:inherit}.msg.user{background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));border-bottom-right-radius:6px;box-shadow:var(--askly-elev-1);color:var(--askly-accent-contrast)}.msg.agent{background:var(--askly-surface-2);border:1px solid var(--askly-border);border-bottom-left-radius:6px;color:var(--text-1)}.askly-chat-modal[data-askly-theme=dark] .msg.agent{background:var(--askly-surface)}.msg-time{font-size:10px;margin-top:5px;opacity:.6;text-align:right}.msg-reactions{display:flex;gap:2px;opacity:0;padding-left:4px;transform:translateY(-2px);transition:opacity .18s var(--askly-ease),transform .18s var(--askly-ease)}.msg-reactions:focus-within,.msg-wrapper:hover .msg-reactions{opacity:1;transform:translateY(0)}.msg-reaction-btn{all:unset;align-items:center;border-radius:7px;color:var(--text-4);cursor:pointer;display:flex;height:24px;justify-content:center;transition:background .15s,color .15s;width:26px}.msg-reaction-btn:hover{background:var(--askly-surface-2);color:var(--text-2)}.msg-reaction-btn.active{background:var(--askly-accent-soft);color:var(--askly-accent)}.quick-replies{animation:fadeIn .32s var(--askly-ease);display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 2px 36px}.quick-reply-chip{all:unset;background:var(--askly-surface);border:1px solid var(--askly-border-strong);border-radius:999px;box-sizing:border-box;color:var(--askly-accent);cursor:pointer;font-size:12.5px;font-weight:500;line-height:1.2;max-width:100%;padding:8px 14px;transition:all .16s var(--askly-ease)}.quick-reply-chip:hover{background:var(--askly-accent-soft);border-color:var(--askly-accent);transform:translateY(-1px)}.typing-indicator{align-items:center;background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:18px;border-bottom-left-radius:6px;display:flex;gap:4px;padding:12px 16px;width:fit-content}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite both;background:var(--text-4);border-radius:50%;height:6px;width:6px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.4;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.chat-footer{background:var(--askly-surface);border:1px solid var(--askly-border-strong);border-radius:var(--askly-radius-lg);box-shadow:var(--askly-elev-1);display:flex;flex-direction:column;flex-shrink:0;gap:6px;margin:10px 16px 12px;padding:10px 12px 8px;position:relative;transition:border-color .2s var(--askly-ease),box-shadow .2s var(--askly-ease)}.chat-footer:hover{border-color:var(--text-3)}.chat-footer:focus-within{border-color:var(--askly-accent);box-shadow:0 0 0 3px var(--askly-accent-ring)}.composer-input-row{align-items:stretch;display:flex;width:100%}.chat-footer textarea{background:transparent;border:none;border-radius:0;box-sizing:border-box;color:var(--text-1);display:block;flex:1;font-family:inherit;font-size:14px;line-height:20px;margin:0;max-height:120px;min-height:32px;min-width:0;outline:none;overflow-y:hidden;padding:6px 8px;resize:none;width:100%}.chat-footer textarea::placeholder{color:var(--text-4)}.chat-footer textarea:disabled{cursor:not-allowed;opacity:.6}.chat-screen,.chat-stream{display:flex;flex:1;flex-direction:column;min-height:0}.chat-stream{position:relative}.askly-jump-latest{align-items:center;animation:fadeIn .2s var(--askly-ease);background:var(--askly-surface);border:1px solid var(--askly-border-strong);border-radius:999px;bottom:12px;box-shadow:var(--askly-elev-2);box-sizing:border-box;color:var(--text-2);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:600;gap:6px;left:50%;line-height:1;padding:6px 12px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:6}.askly-jump-latest:hover{border-color:var(--text-3);color:var(--text-1)}.askly-jump-badge{align-items:center;background:var(--askly-accent);border-radius:999px;box-sizing:border-box;color:var(--askly-accent-contrast);display:inline-flex;font-size:11px;height:18px;justify-content:center;min-width:18px;padding:0 5px}.composer-actions-row{align-items:center;display:flex;justify-content:space-between;width:100%}.composer-actions-left{align-items:center;display:flex;gap:2px}.voice-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-4);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .2s;width:34px}.voice-btn:hover{background:var(--askly-accent-soft);color:var(--askly-accent)}.voice-btn.listening{animation:pulseRed 1.5s ease-in-out infinite;background:var(--askly-danger-bg);color:var(--askly-danger)}@keyframes pulseRed{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.4)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}.chat-footer.voice-active{border-color:var(--text-3);border-radius:999px;padding:8px 10px}.askly-voice{align-items:center;display:flex;gap:10px;height:44px}.askly-voice-meter{align-items:center;display:flex;flex:1;gap:3px;height:26px;justify-content:flex-end;min-width:0;overflow:hidden}.askly-voice-meter i{background:var(--text-1);border-radius:1px;display:block;flex-shrink:0;min-height:2px;width:2px}.askly-voice.transcribing .askly-voice-meter{opacity:.4}.askly-voice-status{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.askly-voice-time{color:var(--text-3);flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums}.askly-voice-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-1);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:0;width:40px}.askly-voice-btn.done,.askly-voice-btn:hover{background:var(--askly-accent-soft)}.askly-voice-btn.done{box-shadow:inset 0 0 0 2px var(--askly-border-strong)}.askly-voice-btn.done:hover{box-shadow:inset 0 0 0 2px var(--text-3)}.askly-voice-btn.busy{cursor:default}.askly-voice-stop{background:var(--text-1);border-radius:3px;height:13px;width:13px}.askly-voice-spinner{animation:asklyVoiceSpin .8s linear infinite;border:2px solid var(--askly-border-strong);border-radius:50%;border-top-color:var(--text-1);height:16px;width:16px}@keyframes asklyVoiceSpin{to{transform:rotate(1turn)}}.askly-notice-action{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-weight:600;margin-left:8px;padding:0;text-decoration:underline}@media (prefers-reduced-motion:reduce){.askly-voice-spinner{animation-duration:2.4s}}.send-btn{align-items:center;background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));border:none;border-radius:50%;box-shadow:var(--askly-elev-1);color:var(--askly-accent-contrast);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s var(--askly-ease);width:36px}.send-btn:hover:not(:disabled){filter:brightness(1.06);transform:scale(1.08)}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.footer-action-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-4);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .2s;width:34px}.footer-action-btn.active,.footer-action-btn:hover{background:var(--askly-surface-2);color:var(--text-1)}.chat-powered-by{background:var(--askly-bg);border-top:1px solid var(--askly-border);color:var(--text-4);font-size:11px;padding:8px 16px;text-align:center}.chat-powered-by strong{color:var(--text-2);font-weight:600}.chat-terms-notice{align-items:center;background:var(--askly-bg);border-top:1px solid var(--askly-border);color:var(--text-4);display:flex;flex-shrink:0;font-size:10px;gap:4px;justify-content:center;padding:5px 10px;text-align:center;white-space:nowrap}.chat-terms-divider{color:var(--text-4);opacity:.5}.askly-powered-link,.askly-terms-link{color:var(--text-3);font-weight:600;text-decoration:none;transition:color .15s var(--askly-ease)}.askly-powered-link:hover,.askly-terms-link:hover{color:var(--askly-accent);text-decoration:underline}.askly-turnstile-wrapper{background:var(--askly-bg);border-bottom:1px solid var(--askly-border);border-top:1px solid var(--askly-border);display:flex;justify-content:center;margin:10px 0;padding:12px 16px}.askly-lead-card{background:var(--askly-surface-2);border:1px solid var(--askly-border-strong);border-radius:14px;display:flex;flex-direction:column;gap:8px;margin:10px 0;padding:12px 14px}.askly-lead-required{background:var(--askly-bg);border-bottom:none;border-left:none;border-radius:0;border-right:none;flex-shrink:0;margin:0}.askly-lead-copy{color:var(--text-2);font-size:12.5px;line-height:1.5}.askly-lead-row{align-items:center;display:flex;gap:8px}.askly-lead-row input{background:var(--askly-bg);border:1.5px solid var(--askly-border-strong);border-radius:999px;box-sizing:border-box;color:var(--text-1);flex:1;font-family:inherit;font-size:13px;height:38px;min-width:0;outline:none;padding:0 12px;transition:all .2s var(--askly-ease)}.askly-lead-row input::placeholder{color:var(--text-4)}.askly-lead-row input:focus{background:var(--askly-surface);border-color:var(--askly-accent);box-shadow:0 0 0 3px var(--askly-accent-ring)}.askly-lead-row input:disabled{cursor:not-allowed;opacity:.6}.askly-lead-submit{all:unset;background:var(--askly-accent);border-radius:999px;color:var(--askly-accent-contrast);cursor:pointer;flex-shrink:0;font-size:12.5px;font-weight:600;height:38px;padding:0 16px;text-align:center;transition:all .2s var(--askly-ease)}.askly-lead-submit:hover:not(:disabled){background:var(--askly-accent-strong)}.askly-lead-submit:disabled{cursor:not-allowed;opacity:.5}.askly-lead-error{color:#dc2626;font-size:11.5px;line-height:1.45}.askly-lead-dismiss{all:unset;align-self:flex-start;color:var(--text-4);cursor:pointer;font-size:11.5px;text-decoration:underline}.askly-lead-dismiss:hover{color:var(--text-2)}@media (min-width:601px){.askly-chat-modal.expanded{max-width:calc(100vw - 48px);width:min(700px,100vw - 48px)}}.home-layout{background:var(--askly-bg);gap:0;overflow-y:auto;padding:0}.home-hero,.home-layout{display:flex;flex-direction:column}.home-hero{background:radial-gradient(120% 90% at 15% 0,color-mix(in srgb,var(--askly-accent) 94%,#fff) 0,transparent 55%),linear-gradient(150deg,var(--askly-accent),var(--askly-accent-strong));color:var(--askly-accent-contrast);flex-shrink:0;gap:4px;overflow:hidden;padding:34px 24px 28px;position:relative}.home-hero:before{inset:0;mask-image:linear-gradient(180deg,#000 40%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent)}.home-hero:after,.home-hero:before{content:"";pointer-events:none;position:absolute}.home-hero:after{background:linear-gradient(120deg,hsla(0,0%,100%,.18),transparent 60%);height:160%;right:-20%;top:-40%;transform:rotate(18deg);width:70%}.home-hero>*{position:relative;z-index:1}.home-hero-brand{align-items:center;display:flex;gap:9px;margin-bottom:18px}.home-hero-logo{max-height:34px;max-width:124px;object-fit:contain;object-position:left center;opacity:.96}.home-hero-title{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.home-hero-wave{animation:wave 2.4s ease-in-out infinite;display:inline-block;transform-origin:70% 70%}@keyframes wave{0%,60%,to{transform:rotate(0deg)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.home-hero-subtitle{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.2;opacity:.72}.home-content{display:flex;flex-direction:column;flex-shrink:0;gap:12px;margin-top:0;padding:16px 16px 20px;position:relative;z-index:2}.home-action-card{all:unset;align-items:center;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-2);box-sizing:border-box;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:16px 18px;transition:transform .2s var(--askly-ease),box-shadow .2s var(--askly-ease),border-color .2s var(--askly-ease)}.home-action-card:hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-3);transform:translateY(-2px)}.card-title{color:var(--text-1);font-size:14.5px;font-weight:600;margin-bottom:2px}.card-desc{color:var(--text-3);font-size:12px;line-height:1.4}.card-icon-chip{align-items:center;background:var(--askly-accent-soft);border-radius:12px;color:var(--askly-accent);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.faq-card{align-items:stretch;cursor:default;flex-direction:column;gap:10px}.faq-card:hover{border-color:var(--askly-border);box-shadow:var(--askly-elev-2);transform:none}.faq-card-head{align-items:center;display:flex;justify-content:space-between}.faq-count-badge{background:var(--askly-accent-soft);border-radius:999px;color:var(--askly-accent);font-size:10px;font-weight:600;padding:3px 8px}.faq-list{display:flex;flex-direction:column;gap:6px}.faq-item{background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:var(--askly-radius-sm);overflow:hidden;transition:border-color .2s var(--askly-ease),background .2s var(--askly-ease)}.faq-item.open{background:var(--askly-surface);border-color:var(--askly-accent)}.faq-question{all:unset;align-items:center;box-sizing:border-box;color:var(--text-1);cursor:pointer;display:flex;font-size:12.5px;font-weight:500;gap:8px;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.faq-chevron{color:var(--text-3);flex-shrink:0;transition:transform .22s var(--askly-ease)}.faq-item.open .faq-chevron{color:var(--askly-accent);transform:rotate(180deg)}.faq-answer{border-top:1px solid var(--askly-border);color:var(--text-2);font-size:12px;line-height:1.55;padding:8px 12px 12px}.faq-ask-link{all:unset;align-items:center;color:var(--askly-accent);cursor:pointer;display:inline-flex;font-size:11.5px;font-weight:600;gap:4px;margin-top:10px}.faq-ask-link:hover{text-decoration:underline}.home-search-card{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-2);padding:16px 18px}.home-search-input-wrapper{align-items:center;display:flex;position:relative;width:100%}.home-search-input-wrapper input{background:var(--askly-bg);border:1.5px solid var(--askly-border-strong);border-radius:999px;box-sizing:border-box;color:var(--text-1);font-size:13px;height:40px;outline:none;padding:0 12px 0 36px;transition:all .2s var(--askly-ease);width:100%}.home-search-input-wrapper input::placeholder{color:var(--text-4)}.home-search-input-wrapper input:focus{background:var(--askly-surface);border-color:var(--askly-accent);box-shadow:0 0 0 3px var(--askly-accent-ring)}.search-icon-svg{color:var(--text-4);left:13px;pointer-events:none;position:absolute}.search-loader{animation:spin .6s linear infinite;border:2px solid var(--askly-border-strong);border-radius:50%;border-top-color:var(--askly-accent);height:14px;position:absolute;right:12px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.home-search-results{border-top:1px solid var(--askly-border);display:flex;flex-direction:column;gap:4px;margin-top:10px;max-height:200px;overflow-y:auto;padding-top:10px}.search-result-item{all:unset;align-items:center;border-radius:var(--askly-radius-sm);box-sizing:border-box;color:var(--text-2);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:9px 10px;text-align:left;transition:background .15s,color .15s;width:100%}.search-result-item:hover{background:var(--askly-surface-2);color:var(--text-1)}.search-result-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-search-results{color:var(--text-4);font-size:12.5px;padding:14px;text-align:center}.recommended-articles{border-top:1px solid var(--askly-border);margin-top:12px;padding-top:12px}.recommended-articles-head{color:var(--text-3);font-size:10.5px;font-weight:700;letter-spacing:.6px;margin-bottom:8px;text-transform:uppercase}.recommended-articles-list{display:flex;flex-direction:column;gap:6px}.rec-article-row{all:unset;align-items:center;background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:var(--askly-radius-sm);box-sizing:border-box;cursor:pointer;display:flex;gap:8px;padding:9px 11px;transition:all .16s var(--askly-ease)}.rec-article-row:hover{background:var(--askly-accent-soft);border-color:var(--askly-accent)}.rec-article-icon{color:var(--text-3);flex-shrink:0}.rec-article-row:hover .rec-article-icon{color:var(--askly-accent)}.rec-article-title{color:var(--text-1);flex:1;font-size:12px;font-weight:500;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.rec-article-chevron{color:var(--text-4);flex-shrink:0}.rec-article-skeleton{background:var(--askly-surface-2);border-radius:var(--askly-radius-sm);gap:8px;padding:9px 11px}.explore-search,.rec-article-skeleton{align-items:center;border:1px solid var(--askly-border);display:flex}.explore-search{background:var(--askly-surface);border-radius:999px;box-shadow:var(--askly-elev-2);box-sizing:border-box;height:46px;padding:0 14px;position:relative;transition:border-color .2s var(--askly-ease),box-shadow .2s var(--askly-ease);width:100%}.explore-search:focus-within{border-color:var(--askly-accent);box-shadow:0 0 0 3px var(--askly-accent-ring),var(--askly-elev-2)}.explore-search-icon{color:var(--text-4);flex-shrink:0}.explore-search input{background:transparent;border:none;color:var(--text-1);flex:1;font-family:inherit;font-size:13.5px;min-width:0;outline:none;padding:0 10px}.explore-search input::placeholder{color:var(--text-4)}.explore-search .search-loader{margin-left:auto;position:static}.explore-search-panel{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);display:flex;flex-direction:column;gap:4px;padding:6px}.explore-cta{all:unset;align-items:center;background:linear-gradient(135deg,var(--askly-accent),var(--askly-accent-strong));border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-2);box-sizing:border-box;color:var(--askly-accent-contrast);cursor:pointer;display:flex;gap:13px;overflow:hidden;padding:16px;position:relative;transition:transform .2s var(--askly-ease),box-shadow .2s var(--askly-ease)}.explore-cta:hover{box-shadow:var(--askly-elev-3);transform:translateY(-2px)}.explore-cta:active{transform:scale(.99)}.explore-cta-orbs{background:radial-gradient(60px 60px at 88% -10%,hsla(0,0%,100%,.28),transparent 70%),radial-gradient(80px 80px at 108% 120%,hsla(0,0%,100%,.16),transparent 70%);inset:0;pointer-events:none;position:absolute}.explore-cta-icon{align-items:center;backdrop-filter:blur(4px);background:hsla(0,0%,100%,.18);border-radius:13px;display:flex;flex-shrink:0;height:42px;justify-content:center;position:relative;width:42px}.explore-cta-icon svg{animation:askly-twinkle 3.2s var(--askly-ease) infinite}@keyframes askly-twinkle{0%,to{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.75;transform:scale(1.12) rotate(8deg)}}.explore-cta-text{display:flex;flex-direction:column;gap:2px;min-width:0;position:relative}.explore-cta-title{font-size:15px;font-weight:700;letter-spacing:-.01em}.explore-cta-sub{font-size:11.5px;line-height:1.35;opacity:.82}.explore-cta-arrow{align-items:center;display:flex;margin-left:auto;opacity:.85;position:relative;transition:transform .2s var(--askly-ease)}.explore-cta:hover .explore-cta-arrow{opacity:1;transform:translateX(3px)}.explore-tiles{display:grid;gap:10px;grid-template-columns:1fr 1fr}.explore-tile{all:unset;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:14px;transition:transform .18s var(--askly-ease),box-shadow .18s var(--askly-ease),border-color .18s var(--askly-ease)}.explore-tile:hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-2);transform:translateY(-2px)}.explore-tile-icon{align-items:center;background:var(--askly-accent-soft);border-radius:11px;color:var(--askly-accent);display:flex;height:36px;justify-content:center;margin-bottom:5px;width:36px}.explore-tile-title{color:var(--text-1);font-size:13.5px;font-weight:600}.explore-tile-sub{color:var(--text-3);font-size:11px}.explore-section{display:flex;flex-direction:column;gap:8px}.explore-section-head{align-items:center;color:var(--text-3);display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.6px;padding:0 2px;text-transform:uppercase}.explore-section-count{background:var(--askly-accent-soft);border-radius:999px;color:var(--askly-accent);font-size:10px;font-weight:700;letter-spacing:0;padding:1px 7px;text-transform:none}.explore-faq-list{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);display:flex;flex-direction:column;overflow:hidden}.explore-faq{border-bottom:1px solid var(--askly-border)}.explore-faq:last-child{border-bottom:none}.explore-faq-q{all:unset;align-items:center;box-sizing:border-box;color:var(--text-1);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;justify-content:space-between;padding:13px 14px;transition:background .15s;width:100%}.explore-faq-q:hover{background:var(--askly-surface-2)}.explore-faq-chevron{color:var(--text-4);flex-shrink:0;transition:transform .22s var(--askly-ease),color .15s}.explore-faq.open .explore-faq-q{background:var(--askly-surface-2)}.explore-faq.open .explore-faq-chevron{color:var(--askly-accent);transform:rotate(180deg)}.explore-faq-a{background:var(--askly-surface-2);color:var(--text-2);font-size:12.5px;line-height:1.55;padding:0 14px 14px}.explore-faq-a>div:first-child{padding-top:2px}.askly-skeleton{background:var(--askly-surface-3);border-radius:6px;display:block;overflow:hidden;position:relative}.askly-skeleton:after{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text-4) 22%,transparent),transparent);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes shimmer{to{transform:translateX(100%)}}.askly-skeleton-line{height:10px;width:100%}.askly-skeleton-chip{border-radius:5px;flex-shrink:0;height:16px;width:16px}.askly-empty-state{align-items:center;display:flex;flex-direction:column;gap:6px;margin:auto 0;padding:44px 24px;text-align:center}.askly-empty-icon{align-items:center;background:var(--askly-accent-soft);border-radius:16px;color:var(--askly-accent);display:flex;height:52px;justify-content:center;margin-bottom:8px;width:52px}.askly-empty-title{color:var(--text-1);font-size:14px;font-weight:600}.askly-empty-desc{color:var(--text-3);font-size:12px;line-height:1.5;max-width:240px}.chat-nav-tabs{background:var(--askly-surface);border-top:1px solid var(--askly-border);display:flex;flex-shrink:0;gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom, 0px))}.nav-tab-btn{all:unset;align-items:center;border-radius:var(--askly-radius-md);box-sizing:border-box;color:var(--text-4);cursor:pointer;display:flex;flex:1;flex-direction:column;font-size:11px;font-weight:500;gap:4px;padding:7px 6px;transition:color .2s var(--askly-ease),background .2s var(--askly-ease)}.nav-tab-btn:hover{color:var(--text-2)}.nav-tab-btn:hover .nav-tab-icon{transform:translateY(-1px)}.nav-tab-icon{align-items:center;display:flex;justify-content:center;transition:transform .2s var(--askly-ease)}.nav-tab-btn.active{color:var(--askly-accent);font-weight:600}.nav-tab-btn.active .nav-tab-icon svg{animation:navTabPop .3s var(--askly-ease)}@keyframes navTabPop{0%{transform:scale(.85)}55%{transform:scale(1.1)}to{transform:scale(1)}}.askly-emoji-picker{background:var(--askly-surface);border:1px solid var(--askly-border-strong);border-radius:var(--askly-radius-md);bottom:calc(100% + 8px);box-shadow:var(--askly-elev-3);display:grid;gap:4px;grid-template-columns:repeat(6,1fr);height:180px;overflow-y:auto;padding:10px;position:absolute;right:20px;width:240px;z-index:10}.emoji-item{all:unset;align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:4px;transition:background .15s}.emoji-item:hover{background:var(--askly-surface-2)}.header-action-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--askly-header-fg,var(--text-2));cursor:pointer;display:flex;height:28px;justify-content:center;opacity:.7;transition:all .15s;width:28px}.header-action-btn:hover{background:rgba(0,0,0,.06);color:var(--askly-header-fg,var(--text-1));opacity:1}.askly-chat-modal[data-askly-theme=dark] .header-action-btn:hover{background:hsla(0,0%,100%,.14)}.header-back-arrow-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--askly-header-fg,var(--text-1));cursor:pointer;display:flex;justify-content:center;margin-right:-4px;outline:none;padding:4px;transition:background .2s}.header-back-arrow-btn:hover{background:rgba(0,0,0,.06)}.askly-chat-modal[data-askly-theme=dark] .header-back-arrow-btn:hover{background:hsla(0,0%,100%,.14)}.help-layout{background:var(--askly-bg);overflow-x:hidden;overflow-y:auto;padding:20px}.help-collections{display:flex;flex-direction:column;gap:12px}.help-collection-card{all:unset;align-items:center;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);box-sizing:border-box;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px;text-align:left;transition:transform .16s var(--askly-ease),box-shadow .16s var(--askly-ease),border-color .16s var(--askly-ease)}.help-collection-card:not(.is-skeleton):hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-2);transform:translateY(-2px)}.help-collection-left{align-items:flex-start;display:flex;gap:12px;min-width:0}.help-collection-icon{align-items:center;background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));box-shadow:var(--askly-elev-1);color:#fff;display:flex;justify-content:center}.help-collection-icon,.help-collection-icon-skel{border-radius:10px;flex-shrink:0;height:36px;width:36px}.help-collection-text{display:flex;flex-direction:column;gap:3px;min-width:0}.help-collection-title{color:var(--text-1);font-size:13.5px;font-weight:600}.help-collection-desc{color:var(--text-3);font-size:11.5px;line-height:1.4}.help-collection-count{color:var(--askly-accent);font-size:10.5px;font-weight:600;margin-top:3px}.help-collection-chevron{color:var(--text-4);flex-shrink:0}.help-articles-list{display:flex;flex-direction:column;gap:10px}.help-article-row{all:unset;align-items:center;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);box-sizing:border-box;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 16px;text-align:left;transition:transform .18s var(--askly-ease),box-shadow .18s var(--askly-ease),border-color .18s var(--askly-ease);width:100%}.help-article-row:hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-2);transform:translateY(-1px)}.help-article-row>div:first-child{flex:1;min-width:0}.article-row-title{color:var(--text-1);font-size:13.5px;font-weight:600;overflow-wrap:anywhere}.article-row-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-3);display:-webkit-box;font-size:12px;line-height:1.4;overflow:hidden;overflow-wrap:anywhere}.help-collection-desc,.help-collection-title{overflow-wrap:anywhere}.article-row-chevron{color:var(--text-4);flex-shrink:0;transition:color .15s}.help-article-row:hover .article-row-chevron{color:var(--askly-accent)}.help-article-reader{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0}.article-breadcrumb{align-items:center;color:var(--text-3);display:flex;font-size:11px;gap:6px;margin-bottom:12px}.article-breadcrumb-link{all:unset;color:var(--askly-accent);cursor:pointer;font-weight:600}.article-breadcrumb-link:hover{text-decoration:underline}.article-breadcrumb-type{text-transform:capitalize}.help-back-btn{all:unset;align-items:center;color:var(--text-3);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;transition:color .15s}.help-back-btn:hover{color:var(--askly-accent)}.help-article-heading{color:var(--text-1);font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.32;margin-bottom:10px}.article-author-bar{align-items:center;border-bottom:1px solid var(--askly-border);display:flex;gap:10px;margin-bottom:18px;padding-bottom:14px}.article-author-avatar{border:1px solid var(--askly-border);border-radius:50%;flex-shrink:0;height:30px;object-fit:cover;width:30px}.article-author-text{display:flex;flex-direction:column;gap:2px}.article-author-name{color:var(--text-1);font-size:11.5px;font-weight:600}.article-author-meta{color:var(--text-3);font-size:10.5px}.help-article-body{color:var(--text-2);font-size:13.5px;line-height:1.65;overflow-wrap:anywhere}.help-article-body h1,.help-article-body h2,.help-article-body h3{color:var(--text-1);font-weight:700;letter-spacing:-.01em;margin:18px 0 8px}.help-article-body p{margin:0 0 12px}.help-article-body ol,.help-article-body ul{margin:0 0 12px;padding-left:22px}.help-article-body li{margin-top:4px}.help-article-body pre{background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:8px;box-sizing:border-box;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;margin:0 0 12px;max-width:100%;overflow-x:auto;padding:10px 12px;white-space:pre}.help-article-body pre code{background:none;border:0;font:inherit;padding:0}.help-article-body blockquote{border-left:3px solid var(--askly-border-strong);color:var(--text-3);margin:0 0 12px;padding:2px 0 2px 12px}.help-article-body code.inline-code{background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:2px 6px}.article-feedback{border-top:1px solid var(--askly-border);display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:16px}.article-feedback-title{color:var(--text-1);font-size:12.5px;font-weight:600;text-align:center}.article-feedback-thanks{background:var(--askly-success-bg);border:1px solid color-mix(in srgb,var(--askly-success) 25%,transparent);border-radius:var(--askly-radius-sm);color:var(--askly-success);font-size:12px;font-weight:600;padding:10px 14px;text-align:center}.article-feedback-options{display:flex;gap:10px;justify-content:center}.article-feedback-btn{all:unset;align-items:center;background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:var(--askly-radius-sm);color:var(--text-1);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s var(--askly-ease)}.article-feedback-btn:hover{background:var(--askly-accent-soft);border-color:var(--askly-accent)}.article-handoff{all:unset;align-items:center;background:var(--askly-accent-soft);border:1px solid color-mix(in srgb,var(--askly-accent) 40%,transparent);border-radius:var(--askly-radius-sm);box-sizing:border-box;cursor:pointer;display:flex;gap:10px;justify-content:space-between;margin-top:10px;padding:11px 13px;transition:all .16s var(--askly-ease)}.article-handoff:hover{background:color-mix(in srgb,var(--askly-accent) 16%,transparent);border-color:var(--askly-accent)}.article-handoff-text{display:flex;flex-direction:column;gap:2px}.article-handoff-title{align-items:center;color:var(--text-1);display:inline-flex;font-size:12px;font-weight:600;gap:6px}.article-handoff-title svg{color:var(--askly-accent)}.article-handoff-desc{color:var(--text-3);font-size:11px}.article-handoff-chevron{color:var(--askly-accent);flex-shrink:0}.help-catalog-intro{color:var(--text-4);padding:40px 20px;text-align:center}.message-inline-image{border:1px solid var(--askly-border);border-radius:10px;margin-top:6px;max-width:100%}.message-inline-link{color:inherit;font-weight:500;text-decoration:underline}.msg.agent .message-inline-link{color:var(--askly-link)}.conversations-list-container{background:var(--askly-bg);box-sizing:border-box;display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:20px}.conversations-scrollable{display:flex;flex:1;flex-direction:column;gap:8px;margin-bottom:16px;min-height:0;overflow-y:auto;padding-right:2px}.conversation-list-item{all:unset;align-items:center;background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-1);box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;padding:12px 14px;transition:transform .18s var(--askly-ease),box-shadow .18s var(--askly-ease),border-color .18s var(--askly-ease);width:100%}.conversation-list-item:hover{border-color:var(--askly-border-strong);box-shadow:var(--askly-elev-2);transform:translateY(-1px)}.conversation-item-left{align-items:center;display:flex;gap:12px;overflow:hidden;text-align:left}.conversation-item-icon{align-items:center;background:var(--askly-surface-2);border:1px solid var(--askly-border);border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;object-fit:cover;width:36px}.conversation-item-details{align-items:flex-start;display:flex;flex-direction:column;gap:2px;overflow:hidden}.conversation-item-title{color:var(--text-1);font-size:13px;font-weight:600}.conversation-item-preview{color:var(--text-3);font-size:11.5px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item-right{align-items:center;color:var(--text-4);display:flex;flex-shrink:0;gap:6px}.conversation-item-time{font-size:10px}.start-new-chat-btn{all:unset;align-items:center;background:linear-gradient(145deg,var(--askly-accent),var(--askly-accent-strong));border-radius:var(--askly-radius-md);box-shadow:var(--askly-elev-2);box-sizing:border-box;color:var(--askly-accent-contrast);cursor:pointer;display:flex;flex-shrink:0;font-size:13.5px;font-weight:600;height:44px;justify-content:center;text-align:center;transition:transform .18s var(--askly-ease),box-shadow .18s var(--askly-ease),filter .18s var(--askly-ease);width:100%}.start-new-chat-btn:hover{box-shadow:var(--askly-elev-3);filter:brightness(1.05);transform:translateY(-1px)}.start-new-chat-btn:active{transform:scale(.98)}.askly-greeting{-webkit-font-smoothing:antialiased;animation:asklyGreetingIn .32s var(--askly-ease);bottom:98px;display:flex;flex-direction:column;font-family:var(--askly-font);gap:8px;max-width:min(300px,calc(100vw - 48px));position:fixed;z-index:99998}.askly-greeting-right{align-items:flex-end;right:24px}.askly-greeting-left{align-items:flex-start;left:24px}@keyframes asklyGreetingIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.askly-greeting-card{background:var(--askly-surface);border:1px solid var(--askly-border);border-radius:16px;box-shadow:var(--askly-elev-3);color:var(--text-1);position:relative}.askly-greeting-body{all:unset;align-items:center;border-radius:16px;box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font-size:13.5px;gap:10px;line-height:1.45;padding:12px 34px 12px 14px}.askly-greeting-body:focus-visible,.askly-greeting-chip:focus-visible,.askly-greeting-close:focus-visible{outline:2px solid var(--askly-accent);outline-offset:2px}.askly-greeting-avatar{border-radius:50%;flex-shrink:0;height:28px;object-fit:cover;width:28px}.askly-greeting-close{all:unset;align-items:center;border-radius:50%;box-sizing:border-box;color:var(--text-3);cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:6px;top:6px;width:24px}.askly-greeting-close:hover{background:var(--askly-surface-2);color:var(--text-1)}.askly-greeting-chips{align-items:inherit;display:flex;flex-direction:column;gap:6px}.askly-greeting-chip{box-shadow:var(--askly-elev-1,0 1px 2px rgba(15,23,42,.08))}@media (max-width:600px){.askly-chat-modal,.askly-chat-modal.expanded{border:none!important;border-radius:0!important;bottom:0!important;height:100dvh!important;left:0!important;max-height:100dvh!important;max-width:100vw!important;right:0!important;width:100vw!important}.chat-header{border-radius:0!important}.askly-chat-button{bottom:16px;right:16px}.askly-greeting{bottom:88px;max-width:calc(100vw - 32px)}.askly-greeting-right{right:16px}.askly-greeting-left{left:16px}.askly-greeting-chips{display:none}.askly-greeting-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.askly-chat-button.open{display:none}}@media (prefers-reduced-motion:reduce){.askly-chat-modal,.askly-greeting,.askly-jump-latest,.askly-skeleton:after,.home-hero-wave,.msg-wrapper,.quick-replies{animation:none!important}.askly-chat-button,.conversation-list-item,.help-article-row,.home-action-card,.send-btn{transition:none!important}}.askly-composer-notice{padding:6px 16px}';const De="askly-widget";let Re,Ue;let Oe=null,Le=null,Pe=0,Ve=!1;const Fe=(...e)=>{Ve&&console.log("[Askly]",...e)},He={init:(t={})=>{Ve=!!t.debug,Fe("Initializing...");const a=t.orgServerRoute||"https://api.askly.co.in/api/messages/widget",r=t.appId||t.widgetId||t.orgId;if(Ue=r,r||console.error("[Askly] Missing required `appId`. The widget cannot load without it."),te("undefined"!=typeof window?window.location.pathname:"",t.includePaths,t.excludePaths)||Fe("Hidden on this path until navigation allows it."),document.querySelector(De))return void console.warn("[Askly] Widget already initialized on this page; ignoring duplicate init().");const n=document.createElement(De),o=n.attachShadow({mode:"open"});!function(e){if(void 0===Re)try{Re=new CSSStyleSheet,Re.replaceSync($e)}catch{Re=null}if(Re&&"adoptedStyleSheets"in e)try{return void(e.adoptedStyleSheets=[Re])}catch{}const t=document.createElement("style");t.textContent=$e,e.appendChild(t)}(o);const s=document.createElement("div");o.appendChild(s);const l=document.createElement("div");l.id="askly-turnstile-container",l.slot="turnstile",n.appendChild(l),document.body.appendChild(n),ee();const i=Q(s);i.render(e.createElement(_e,{...t,orgId:r,orgServerRoute:a,resetGeneration:xe(),greetingStartedAt:Pe||Date.now()})),Oe=i,Le=n,Fe("ChatWidget rendered."),t.userId&&he({userId:t.userId,hash:t.signature,timestamp:t.timestamp})},identify:e=>{e&&e.userId?he(e):console.error("[Askly] identify() requires a `userId`.")},reset:()=>{me=null,pe(Ue||"detect"),ye+=1,fe.forEach(e=>{try{e()}catch(e){console.error("[Askly] reset listener failed:",e)}})},shutdown:()=>{He.reset(),He.unmount()},unmount:()=>{if(Oe){try{Oe.unmount()}catch{}Oe=null}Z();const e=Le||document.querySelector(De);e&&e.remove(),Le=null},open:()=>J({type:"open"}),close:()=>J({type:"close"}),toggle:()=>J({type:"toggle"}),show:()=>J({type:"open"}),hide:()=>J({type:"close"}),isOpen:()=>H.open,getUnreadCount:()=>H.unread,getVisitorId:()=>H.visitorId,on:(e,t)=>K(e,t),off:(e,t)=>X(e,t),once:(e,t)=>W(e,t),ready:()=>new Promise(e=>{H.ready?e():W("ready",()=>e())}),showSpace:e=>J({type:"showSpace",space:e}),showNewMessage:e=>J({type:"showNewMessage",text:e}),sendMessage:e=>J({type:"sendMessage",text:e}),showArticle:e=>J({type:"showArticle",articleId:e}),startVoiceInput:()=>J({type:"startVoiceInput"}),stopVoiceInput:()=>J({type:"stopVoiceInput"}),update:e=>J({type:"update",config:e})};if("undefined"!=typeof window){const e=window,t=e.Askly&&3===e.Askly.v&&Array.isArray(e.Askly.q)?e.Askly:void 0;if(t){const e=t.q||[];t.q=null,Pe=t._t||0,t._unpaint&&t._unpaint(),Object.keys(He).forEach(e=>{t[e]=He[e]}),e.filter(e=>"on"===e[0]||"once"===e[0]).forEach(([e,t])=>He[e](...t)),e.filter(e=>"on"!==e[0]&&"once"!==e[0]).forEach(([e,t])=>{try{He[e](...t)}catch(t){console.error(`[Askly] ${e}() failed:`,t)}});const a=t._r;t._r=[],a.length&&He.ready().then(()=>a.forEach(e=>e()))}else e.Askly||(e.Askly=He)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e,t,n,r,o,i,_,u,l,s,a,c,f,p,h,d={},m=[],v=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function y(e,t){for(var n in t)e[n]=t[n];return e}function k(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function w(t,n,r){var o,i,_,u={};for(_ in n)"key"==_?o=n[_]:"ref"==_?i=n[_]:u[_]=n[_];if(arguments.length>2&&(u.children=arguments.length>3?e.call(arguments,2):r),"function"==typeof t&&null!=t.defaultProps)for(_ in t.defaultProps)void 0===u[_]&&(u[_]=t.defaultProps[_]);return b(t,u,o,i,null)}function b(e,r,o,i,_){var u={type:e,props:r,key:o,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==_?++n:_,__i:-1,__u:0};return null==_&&null!=t.vnode&&t.vnode(u),u}function C(e){return e.children}function S(e,t){this.props=e,this.context=t}function x(e,t){if(null==t)return e.__?x(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?x(e):null}function N(e){if(e.__P&&e.__d){var n=e.__v,r=n.__e,o=[],i=[],_=y({},n);_.__v=n.__v+1,t.vnode&&t.vnode(_),A(e.__P,_,n,e.__n,e.__P.namespaceURI,32&n.__u?[r]:null,o,null==r?x(n):r,!!(32&n.__u),i),_.__v=n.__v,_.__.__k[_.__i]=_,O(o,_,i),n.__e=n.__=null,_.__e!=r&&M(_)}}function M(e){if(null!=(e=e.__)&&null!=e.__c)return e.__e=e.__c.base=null,e.__k.some(function(t){if(null!=t&&null!=t.__e)return e.__e=e.__c.base=t.__e}),M(e)}function E(e){(!e.__d&&(e.__d=!0)&&r.push(e)&&!$.__r++||o!=t.debounceRendering)&&((o=t.debounceRendering)||i)($)}function $(){try{for(var e,t=1;r.length;)r.length>t&&r.sort(_),e=r.shift(),t=r.length,N(e)}finally{r.length=$.__r=0}}function H(e,t,n,r,o,i,_,u,l,s,a){var c,f,p,h,v,y,k=r&&r.__k||m,w=t.length;for(l=function(e,t,n,r,o){var i,_,u,l,s,a=n.length,c=a,f=0;for(e.__k=new Array(o),i=0;i<o;i++)null!=(_=t[i])&&"boolean"!=typeof _&&"function"!=typeof _?("string"==typeof _||"number"==typeof _||"bigint"==typeof _||_.constructor==String?_=e.__k[i]=b(null,_,null,null,null):g(_)?_=e.__k[i]=b(C,{children:_},null,null,null):void 0===_.constructor&&_.__b>0?_=e.__k[i]=b(_.type,_.props,_.key,_.ref?_.ref:null,_.__v):e.__k[i]=_,l=i+f,_.__=e,_.__b=e.__b+1,u=null,-1!=(s=_.__i=I(_,n,l,c))&&(c--,(u=n[s])&&(u.__u|=2)),null==u||null==u.__v?(-1==s&&(o>a?f--:o<a&&f++),"function"!=typeof _.type&&(_.__u|=4)):s!=l&&(s==l-1?f--:s==l+1?f++:(s>l?f--:f++,_.__u|=4))):e.__k[i]=null;if(c)for(i=0;i<a;i++)null!=(u=n[i])&&!(2&u.__u)&&(u.__e==r&&(r=x(u)),z(u,u));return r}(n,t,k,l,w),c=0;c<w;c++)null!=(p=n.__k[c])&&(f=-1!=p.__i&&k[p.__i]||d,p.__i=c,y=A(e,p,f,o,i,_,u,l,s,a),h=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&W(f.ref,null,p),a.push(p.ref,p.__c||h,p)),null==v&&null!=h&&(v=h),4&p.__u?(l=P(p,l,e),f.__e&&(f.__e=null)):"function"==typeof p.type&&void 0!==y?l=y:h&&(l=h.nextSibling),p.__u&=-7);return n.__e=v,l}function P(e,t,n){var r,o;if("function"==typeof e.type){for(r=e.__k,o=0;r&&o<r.length;o++)r[o]&&(r[o].__=e,t=P(r[o],t,n));return t}e.__e!=t&&(t&&e.type&&!t.parentNode&&(t=x(e)),t=n.insertBefore(e.__e,t||null));do{t=t&&t.nextSibling}while(null!=t&&8==t.nodeType);return t}function U(e,t){return t=t||[],null==e||"boolean"==typeof e||(g(e)?e.some(function(e){U(e,t)}):t.push(e)),t}function I(e,t,n,r){var o,i,_,u=e.key,l=e.type,s=t[n],a=null!=s&&!(2&s.__u);if(null===s&&null==u||a&&u==s.key&&l==s.type)return n;if(r>(a?1:0))for(o=n-1,i=n+1;o>=0||i<t.length;)if(null!=(s=t[_=o>=0?o--:i++])&&!(2&s.__u)&&u==s.key&&l==s.type)return _;return-1}function R(e,t,n){"-"==t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||v.test(t)?n:n+"px"}function L(e,t,n,r,o){var i,_;e:if("style"==t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||R(e.style,t,"");if(n)for(t in n)r&&n[t]==r[t]||R(e.style,t,n[t])}else if("o"==t[0]&&"n"==t[1])i=t!=(t=t.replace(a,"$1")),_=t.toLowerCase(),t=_ in e||"onFocusOut"==t||"onFocusIn"==t?_.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?r?n[s]=r[s]:(n[s]=c,e.addEventListener(t,i?p:f,i)):e.removeEventListener(t,i?p:f,i);else{if("http://www.w3.org/2000/svg"==o)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=t&&"height"!=t&&"href"!=t&&"list"!=t&&"form"!=t&&"tabIndex"!=t&&"download"!=t&&"rowSpan"!=t&&"colSpan"!=t&&"role"!=t&&"popover"!=t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!=t[4]?e.removeAttribute(t):e.setAttribute(t,"popover"==t&&1==n?"":n))}}function T(e){return function(n){if(this.l){var r=this.l[n.type+e];if(null==n[l])n[l]=c++;else if(n[l]<r[s])return;return r(t.event?t.event(n):n)}}}function A(e,n,r,o,i,_,u,l,s,a){var c,f,p,h,d,v,w,b,N,M,E,$,P,U,I,R,L=n.type;if(void 0!==n.constructor)return null;128&r.__u&&(s=!!(32&r.__u),_=[l=n.__e=r.__e]),(c=t.__b)&&c(n);e:if("function"==typeof L){f=u.length;try{if(N=n.props,M=L.prototype&&L.prototype.render,E=(c=L.contextType)&&o[c.__c],$=c?E?E.props.value:c.__:o,r.__c?b=(p=n.__c=r.__c).__=p.__E:(M?n.__c=p=new L(N,$):(n.__c=p=new S(N,$),p.constructor=L,p.render=j),E&&E.sub(p),p.state||(p.state={}),p.__n=o,h=p.__d=!0,p.__h=[],p._sb=[]),M&&null==p.__s&&(p.__s=p.state),M&&null!=L.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=y({},p.__s)),y(p.__s,L.getDerivedStateFromProps(N,p.__s))),d=p.props,v=p.state,p.__v=n,h)M&&null==L.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),M&&null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else{if(M&&null==L.getDerivedStateFromProps&&N!==d&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(N,$),n.__v==r.__v||!p.__e&&null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(N,p.__s,$)){n.__v!=r.__v&&(p.props=N,p.state=p.__s,p.__d=!1),n.__e=r.__e,n.__k=r.__k,n.__k.some(function(e){e&&(e.__=n)}),m.push.apply(p.__h,p._sb),p._sb=[],p.__h.length&&u.push(p),l=x(r);break e}null!=p.componentWillUpdate&&p.componentWillUpdate(N,p.__s,$),M&&null!=p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(d,v,w)})}if(p.context=$,p.props=N,p.__P=e,p.__e=!1,P=t.__r,U=0,M)p.state=p.__s,p.__d=!1,P&&P(n),c=p.render(p.props,p.state,p.context),m.push.apply(p.__h,p._sb),p._sb=[];else do{p.__d=!1,P&&P(n),c=p.render(p.props,p.state,p.context),p.state=p.__s}while(p.__d&&++U<25);p.state=p.__s,null!=p.getChildContext&&(o=y(y({},o),p.getChildContext())),M&&!h&&null!=p.getSnapshotBeforeUpdate&&(w=p.getSnapshotBeforeUpdate(d,v)),I=null!=c&&c.type===C&&null==c.key?D(c.props.children):c,l=H(e,g(I)?I:[I],n,r,o,i,_,u,l,s,a),p.base=n.__e,n.__u&=-161,p.__h.length&&u.push(p),b&&(p.__E=p.__=null)}catch(e){if(u.length=f,n.__v=null,s||null!=_){if(e.then){for(n.__u|=s?160:128;l&&8==l.nodeType&&l.nextSibling;)l=l.nextSibling;null!=_&&(_[_.indexOf(l)]=null),n.__e=l}else if(null!=_)for(R=_.length;R--;)k(_[R])}else n.__e=r.__e;null==n.__k&&(n.__k=r.__k||[]),e.then||V(n),t.__e(e,n,r)}}else null==_&&n.__v==r.__v?(n.__k=r.__k,n.__e=r.__e):l=n.__e=F(r.__e,n,r,o,i,_,u,s,a);return(c=t.diffed)&&c(n),128&n.__u?void 0:l}function V(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(V))}function O(e,n,r){for(var o=0;o<r.length;o++)W(r[o],r[++o],r[++o]);t.__c&&t.__c(n,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(e){e.call(n)})}catch(e){t.__e(e,n.__v)}})}function D(e){return"object"!=typeof e||null==e||e.__b>0?e:g(e)?e.map(D):void 0!==e.constructor?null:y({},e)}function F(n,r,o,i,_,u,l,s,a){var c,f,p,h,m,v,y,w=o.props||d,b=r.props,C=r.type;if("svg"==C?_="http://www.w3.org/2000/svg":"math"==C?_="http://www.w3.org/1998/Math/MathML":_||(_="http://www.w3.org/1999/xhtml"),null!=u)for(c=0;c<u.length;c++)if((m=u[c])&&"setAttribute"in m==!!C&&(C?m.localName==C:3==m.nodeType)){n=m,u[c]=null;break}if(null==n){if(null==C)return document.createTextNode(b);n=document.createElementNS(_,C,b.is&&b),s&&(t.__m&&t.__m(r,u),s=!1),u=null}if(null==C)w===b||s&&n.data==b||(n.data=b);else{if(u="textarea"==C&&null!=b.defaultValue?null:u&&e.call(n.childNodes),!s&&null!=u)for(w={},c=0;c<n.attributes.length;c++)w[(m=n.attributes[c]).name]=m.value;for(c in w)m=w[c],"dangerouslySetInnerHTML"==c?p=m:"children"==c||c in b||"value"==c&&"defaultValue"in b||"checked"==c&&"defaultChecked"in b||L(n,c,null,m,_);for(c in b)m=b[c],"children"==c?h=m:"dangerouslySetInnerHTML"==c?f=m:"value"==c?v=m:"checked"==c?y=m:s&&"function"!=typeof m||w[c]===m||L(n,c,m,w[c],_);if(f)s||p&&(f.__html==p.__html||f.__html==n.innerHTML)||(n.innerHTML=f.__html),r.__k=[];else if(p&&(n.innerHTML=""),H("template"==r.type?n.content:n,g(h)?h:[h],r,o,i,"foreignObject"==C?"http://www.w3.org/1999/xhtml":_,u,l,u?u[0]:o.__k&&x(o,0),s,a),null!=u)for(c=u.length;c--;)k(u[c]);s&&"textarea"!=C||(c="value","progress"==C&&null==v?n.removeAttribute("value"):null!=v&&(v!==n[c]||"progress"==C&&!v||"option"==C&&v!=w[c])&&L(n,c,v,w[c],_),c="checked",null!=y&&y!=n[c]&&L(n,c,y,w[c],_))}return n}function W(e,n,r){try{if("function"==typeof e){var o="function"==typeof e.__u;o&&e.__u(),o&&null==n||(e.__u=e(n))}else e.current=n}catch(e){t.__e(e,r)}}function z(e,n,r){var o,i;if(t.unmount&&t.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||W(o,null,n)),null!=(o=e.__c)){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(e){t.__e(e,n)}o.base=o.__P=o.__n=null}if(o=e.__k)for(i=0;i<o.length;i++)o[i]&&z(o[i],n,r||"function"!=typeof e.type);r||k(e.__e),e.__c=e.__=e.__e=void 0}function j(e,t,n){return this.constructor(e,n)}function q(n,r,o){var i,_,u,l;r==document&&(r=document.documentElement),t.__&&t.__(n,r),_=(i="function"==typeof o)?null:o&&o.__k||r.__k,u=[],l=[],A(r,n=(!i&&o||r).__k=w(C,null,[n]),_||d,d,r.namespaceURI,!i&&o?[o]:_?null:r.firstChild?e.call(r.childNodes):null,u,!i&&o?o:_?_.__e:r.firstChild,i,l),O(u,n,l),n.props.children=null}function B(e,t){q(e,t,B)}function Z(t,n,r){var o,i,_,u,l=y({},t.props);for(_ in t.type&&t.type.defaultProps&&(u=t.type.defaultProps),n)"key"==_?o=n[_]:"ref"==_?i=n[_]:l[_]=void 0===n[_]&&null!=u?u[_]:n[_];return arguments.length>2&&(l.children=arguments.length>3?e.call(arguments,2):r),b(t.type,l,o||t.key,i||t.ref,null)}e=m.slice,t={__e:function(e,t,n,r){for(var o,i,_;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),_=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),_=o.__d),_)return o.__E=o}catch(t){e=t}throw e}},n=0,S.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=y({},this.state),"function"==typeof e&&(e=e(y({},n),this.props)),e&&y(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),E(this))},S.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),E(this))},S.prototype.render=C,r=[],i="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,_=function(e,t){return e.__v.__b-t.__v.__b},$.__r=0,u=Math.random().toString(8),l="__d"+u,s="__a"+u,a=/(PointerCapture)$|Capture$/i,c=0,f=T(!1),p=T(!0),h=0;var J,Y,G,K,Q=0,X=[],ee=t,te=ee.__b,ne=ee.__r,re=ee.diffed,oe=ee.__c,ie=ee.unmount,_e=ee.__;function ue(e,t){ee.__h&&ee.__h(Y,e,Q||t),Q=0;var n=Y.__H||(Y.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function le(e){return Q=1,se(xe,e)}function se(e,t,n){var r=ue(J++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):xe(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=Y,!Y.__f)){var o=function(e,t,n){if(!r.__c.__H)return!0;var o=!1,_=r.__c.props!==e;if(r.__c.__H.__.some(function(e){if(e.__N){o=!0;var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(_=!0)}}),i){var u=i.call(this,e,t,n);return o?u||_:u}return!o||_};Y.__f=!0;var i=Y.shouldComponentUpdate,_=Y.componentWillUpdate;Y.componentWillUpdate=function(e,t,n){if(this.__e){var r=i;i=void 0,o(e,t,n),i=r}_&&_.call(this,e,t,n)},Y.shouldComponentUpdate=o}return r.__N||r.__}function ae(e,t){var n=ue(J++,3);!ee.__s&&Se(n.__H,t)&&(n.__=e,n.u=t,Y.__H.__h.push(n))}function ce(e,t){var n=ue(J++,4);!ee.__s&&Se(n.__H,t)&&(n.__=e,n.u=t,Y.__h.push(n))}function fe(e){return Q=5,he(function(){return{current:e}},[])}function pe(e,t,n){Q=6,ce(function(){if("function"==typeof e){var n=e(t());return function(){e(null),n&&"function"==typeof n&&n()}}if(e)return e.current=t(),function(){return e.current=null}},null==n?n:n.concat(e))}function he(e,t){var n=ue(J++,7);return Se(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function de(e,t){return Q=8,he(function(){return e},t)}function me(e){var t=Y.context[e.__c],n=ue(J++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(Y)),t.props.value):e.__}function ve(e,t){ee.useDebugValue&&ee.useDebugValue(t?t(e):e)}function ge(){var e=ue(J++,11);if(!e.__){for(var t=Y.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function ye(){for(var e;e=X.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(be),t.__h.some(Ce),t.__h=[]}catch(n){t.__h=[],ee.__e(n,e.__v)}}}ee.__b=function(e){Y=null,te&&te(e)},ee.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),_e&&_e(e,t)},ee.__r=function(e){ne&&ne(e),J=0;var t=(Y=e.__c).__H;t&&(G===Y?(t.__h=[],Y.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(be),t.__h.some(Ce),t.__h=[],J=0)),G=Y},ee.diffed=function(e){re&&re(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==X.push(t)&&K===ee.requestAnimationFrame||((K=ee.requestAnimationFrame)||we)(ye)),t.__H.__.some(function(e){e.u&&(e.__H=e.u,e.u=void 0)})),G=Y=null},ee.__c=function(e,t){t.some(function(e){try{e.__h.some(be),e.__h=e.__h.filter(function(e){return!e.__||Ce(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],ee.__e(n,e.__v)}}),oe&&oe(e,t)},ee.unmount=function(e){ie&&ie(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{be(e)}catch(e){t=e}}),n.__H=void 0,t&&ee.__e(t,n.__v))};var ke="function"==typeof requestAnimationFrame;function we(e){var t,n=function(){clearTimeout(r),ke&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);ke&&(t=requestAnimationFrame(n))}function be(e){var t=Y,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),Y=t}function Ce(e){var t=Y;e.__c=e.__(),Y=t}function Se(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function xe(e,t){return"function"==typeof t?t(e):t}function Ne(e,t){for(var n in t)e[n]=t[n];return e}function Me(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function Ee(e,t){var n=t(),r=le({t:{__:n,u:t}}),o=r[0].t,i=r[1];return ce(function(){o.__=n,o.u=t,$e(o)&&i({t:o})},[e,n,t]),ae(function(){return $e(o)&&i({t:o}),e(function(){$e(o)&&i({t:o})})},[e]),n}function $e(e){try{return!((t=e.__)===(n=e.u())&&(0!==t||1/t==1/n)||t!=t&&n!=n)}catch(e){return!0}var t,n}function He(e){e()}function Pe(e){return e}function Ue(){return[!1,He]}var Ie=ce;function Re(e,t){this.props=e,this.context=t}(Re.prototype=new S).isPureReactComponent=!0,Re.prototype.shouldComponentUpdate=function(e,t){return Me(this.props,e)||Me(this.state,t)};var Le=t.__b;t.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Le&&Le(e)};var Te="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;var Ae=function(e,t){return null==e?null:U(U(e).map(t))},Ve={map:Ae,forEach:Ae,count:function(e){return e?U(e).length:0},only:function(e){var t=U(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:U},Oe=t.__e;t.__e=function(e,t,n,r){if(e.then)for(var o,i=t;i=i.__;)if((o=i.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k||[]),o.__c(e,t);Oe(e,t,n,r)};var De=t.unmount;function Fe(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){"function"==typeof e.__c&&e.__c()}),e.__c.__H=null),null!=(e=Ne({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return Fe(e,t,n)})),e}function We(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return We(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function ze(){this.__u=0,this.o=null,this.__b=null}function je(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function qe(e){var t,n,r,o=null;function i(i){if(t||(t=e()).then(function(e){e&&(o=e.default||e),r=!0},function(e){n=e,r=!0}),n)throw n;if(!r)throw t;return o?w(o,i):null}return i.displayName="Lazy",i.__f=!0,i}function Be(){this.i=null,this.l=null}t.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),De&&De(e)},(ze.prototype=new S).__c=function(e,t){var n=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(n);var o=je(r.__v),i=!1,_=function(){i||r.__z||(i=!0,n.__R=null,o?o(l):l())};n.__R=_;var u=n.__P;n.__P=null;var l=function(){if(! --r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=We(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=u,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(_,_)},ze.prototype.componentWillUnmount=function(){this.o=[]},ze.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Fe(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__a&&w(C,null,e.fallback);return o&&(o.__u&=-33),[w(C,null,t.__a?null:e.children),o]};var Ze=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};function Je(e){return this.getChildContext=function(){return e.context},e.children}function Ye(e){var t=this,n=e.h;if(t.componentWillUnmount=function(){q(null,t.v),t.v=null,t.h=null},t.h&&t.h!==n&&t.componentWillUnmount(),!t.v){for(var r=t.__v;null!==r&&!r.__m&&null!==r.__;)r=r.__;t.h=n,t.v={nodeType:1,parentNode:n,childNodes:[],__k:{__m:r.__m},contains:function(){return!0},namespaceURI:n.namespaceURI,insertBefore:function(e,n){this.childNodes.push(e),t.h.insertBefore(e,n)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.h.removeChild(e)}}}q(w(Je,{context:t.context},e.__v),t.v)}(Be.prototype=new S).__a=function(e){var t=this,n=je(t.__v),r=t.l.get(e);return r[0]++,function(o){var i=function(){t.props.revealOrder?(r.push(o),Ze(t,e,r)):o()};n?n(i):i()}},Be.prototype.render=function(e){this.i=null,this.l=new Map;var t=U(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},Be.prototype.componentDidUpdate=Be.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){Ze(e,n,t)})};var Ge="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,Ke=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Qe=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Xe=/[A-Z0-9]/g,et="undefined"!=typeof document,tt=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};function nt(e,t,n){return null==t.__k&&(t.textContent=""),q(e,t),"function"==typeof n&&n(),e?e.__c:null}S.prototype.isReactComponent=!0,["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(S.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var rt=t.event;t.event=function(e){return rt&&(e=rt(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var ot,it={configurable:!0,get:function(){return this.class}},_t=t.vnode;t.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,r={},o=-1==n.indexOf("-");for(var i in t){var _=t[i];if(!("value"===i&&"defaultValue"in t&&null==_||et&&"children"===i&&"noscript"===n||"class"===i||"className"===i)){var u=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===_?_="":"translate"===u&&"no"===_?_=!1:"o"===u[0]&&"n"===u[1]?"ondoubleclick"===u?i="ondblclick":"onchange"!==u||"input"!==n&&"textarea"!==n||tt(t.type)?"onfocus"===u?i="onfocusin":"onblur"===u?i="onfocusout":Qe.test(i)&&(i=u):u=i="oninput":o&&Ke.test(i)?i=i.replace(Xe,"-$&").toLowerCase():null===_&&(_=void 0),"oninput"===u&&r[i=u]&&(i="oninputCapture"),r[i]=_}}"select"==n&&(r.multiple&&Array.isArray(r.value)&&(r.value=U(t.children).forEach(function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)})),null!=r.defaultValue&&(r.value=U(t.children).forEach(function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,"className",it)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=Ge,_t&&_t(e)};var ut=t.__r;t.__r=function(e){ut&&ut(e),ot=e.__c};var lt=t.diffed;t.diffed=function(e){lt&<(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value),ot=null};var st={ReactCurrentDispatcher:{current:{readContext:function(e){return ot.__n[e.__c].props.value},useCallback:de,useContext:me,useDebugValue:ve,useDeferredValue:Pe,useEffect:ae,useId:ge,useImperativeHandle:pe,useInsertionEffect:Ie,useLayoutEffect:ce,useMemo:he,useReducer:se,useRef:fe,useState:le,useSyncExternalStore:Ee,useTransition:Ue}}};function at(e){return!!e&&e.$$typeof===Ge}function ct(e){return!!e.__k&&(q(null,e),!0)}var ft={useState:le,useId:ge,useReducer:se,useEffect:ae,useLayoutEffect:ce,useInsertionEffect:Ie,useTransition:Ue,useDeferredValue:Pe,useSyncExternalStore:Ee,startTransition:He,useRef:fe,useImperativeHandle:pe,useMemo:he,useCallback:de,useContext:me,useDebugValue:ve,version:"18.3.1",Children:Ve,render:nt,hydrate:function(e,t,n){return B(e,t),"function"==typeof n&&n(),e?e.__c:null},unmountComponentAtNode:ct,createPortal:function(e,t){var n=w(Ye,{__v:e,h:t});return n.containerInfo=t,n},createElement:w,createContext:function(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,E(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c="__cC"+h++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t},createFactory:function(e){return w.bind(null,e)},cloneElement:function(e){return at(e)?Z.apply(null,arguments):e},createRef:function(){return{current:null}},Fragment:C,isValidElement:at,isElement:at,isFragment:function(e){return at(e)&&e.type===C},isMemo:function(e){return!!e&&"string"==typeof e.displayName&&0==e.displayName.indexOf("Memo(")},findDOMNode:function(e){return e&&(e.base||1===e.nodeType&&e)||null},Component:S,PureComponent:Re,memo:function(e,t){function n(e){var n=this.props.ref;return n!=e.ref&&n&&("function"==typeof n?n(null):n.current=null),t?!t(this.props,e)||n!=e.ref:Me(this.props,e)}function r(t){return this.shouldComponentUpdate=n,w(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.__f=r.prototype.isReactComponent=!0,r.type=e,r},forwardRef:function(e){function t(t){var n=Ne({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Te,t.render=e,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t},flushSync:function(e,n){var r,o=t.debounceRendering;t.debounceRendering=function(e){r=e};try{var i=e(n);return r&&r(),i}finally{t.debounceRendering=o}},unstable_batchedUpdates:function(e,t){return e(t)},StrictMode:C,Suspense:ze,SuspenseList:Be,lazy:qe,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:st};function pt(e){return{render:function(t){nt(t,e)},unmount:function(){ct(e)}}}const ht=e=>({size:t=24,color:n="currentColor",strokeWidth:r=2,...o})=>ft.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:r,strokeLinecap:"round",strokeLinejoin:"round",...o},e.map(([e,t],n)=>ft.createElement(e,{key:n,...t}))),dt=ht([["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]]),mt=ht([["path",{d:"M5 12h14"}]]),vt=ht([["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]]),gt=ht([["path",{d:"M12 19v3"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3"}]]),yt=ht([["path",{d:"M15 3h6v6"}],["path",{d:"m21 3-7 7"}],["path",{d:"m3 21 7-7"}],["path",{d:"M9 21H3v-6"}]]),kt=ht([["path",{d:"m14 10 7-7"}],["path",{d:"M20 10h-6V4"}],["path",{d:"m3 21 7-7"}],["path",{d:"M4 14h6v6"}]]),wt=ht([["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"}]]),bt=ht([["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9"}]]),Ct=ht([["path",{d:"m9 18 6-6-6-6"}]]),St=ht([["path",{d:"m15 18-6-6 6-6"}]]),xt=ht([["path",{d:"M12 7v14"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}]]),Nt=ht([["path",{d:"m6 9 6 6 6-6"}]]),Mt=ht([["path",{d:"M7 10v12"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"}]]),Et=ht([["path",{d:"M17 14V2"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"}]]),$t=ht([["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]]),Ht=ht([["path",{d:"M20 6 9 17l-5-5"}]]),Pt=ht([["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .962 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.962 0z"}],["path",{d:"M20 3v4"}],["path",{d:"M22 5h-4"}]]),Ut=({size:e=22,className:t,style:n},r,o)=>ft.createElement("svg",{width:e,height:e,viewBox:r,fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,style:n},o),It=e=>Ut(e,"0 0 128 128",ft.createElement("g",{fill:"currentColor"},ft.createElement("path",{d:"M109,55c0-29.8-24.2-54-54-54C25.2,1,1,25.2,1,55s24.2,54,54,54c13.5,0,25.8-5,35.2-13.1l25.4,25.4l5.7-5.7L95.9,90.2C104,80.8,109,68.5,109,55z M55,101C29.6,101,9,80.4,9,55S29.6,9,55,9s46,20.6,46,46S80.4,101,55,101z"}),ft.createElement("path",{d:"M25.6,30.9l6.2,5.1C37.5,29,46,25,55,25v-8C43.6,17,32.9,22.1,25.6,30.9z"}),ft.createElement("path",{d:"M17,55h8c0-2.1,0.2-4.1,0.6-6.1l-7.8-1.6C17.3,49.8,17,52.4,17,55z"}))),Rt=e=>Ut(e,"0 0 24 24",ft.createElement("path",{fill:"currentColor",d:"M16 2H8C4 2 2 4 2 8V21C2 21.55 2.45 22 3 22H16C20 22 22 20 22 16V8C22 4 20 2 16 2ZM14 15.25H7C6.59 15.25 6.25 14.91 6.25 14.5C6.25 14.09 6.59 13.75 7 13.75H14C14.41 13.75 14.75 14.09 14.75 14.5C14.75 14.91 14.41 15.25 14 15.25ZM17 10.25H7C6.59 10.25 6.25 9.91 6.25 9.5C6.25 9.09 6.59 8.75 7 8.75H17C17.41 8.75 17.75 9.09 17.75 9.5C17.75 9.91 17.41 10.25 17 10.25Z"})),Lt=({size:e=26,className:t,style:n})=>ft.createElement("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,style:n},ft.createElement("g",{transform:"translate(24 0) scale(-1 1)"},ft.createElement("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M16 2H8C4 2 2 4 2 8V21C2 21.55 2.45 22 3 22H16C20 22 22 20 22 16V8C22 4 20 2 16 2ZM15.5 12.75H8.5C8.09 12.75 7.75 12.41 7.75 12C7.75 11.59 8.09 11.25 8.5 11.25H15.5C15.91 11.25 16.25 11.59 16.25 12C16.25 12.41 15.91 12.75 15.5 12.75Z"}))),Tt=e=>Ut(e,"0 0 24 24",ft.createElement(ft.Fragment,null,ft.createElement("path",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",d:"M12 20H12.01"}),ft.createElement("path",{stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",d:"M7 9C7 7.87439 7.37194 6.83566 7.99963 6C8.91184 4.78555 10.3642 4 12 4C14.7614 4 17 6.23858 17 9C17 11.4212 15.279 13.4405 12.9936 13.9013C12.4522 14.0104 12 14.4477 12 15V15V16"}))),At={};function Vt(e,t){return(At[e]=At[e]||[]).push(t),()=>Ot(e,t)}function Ot(e,t){const n=At[e];if(n)for(let e=n.length-1;e>=0;e--)n[e]!==t&&n[e].original!==t||n.splice(e,1)}function Dt(e,t){const n=r=>{Ot(e,n),t(r)};return n.original=t,Vt(e,n)}function Ft(e,...t){const n=At[e];if(n)for(const r of n.slice())try{r(t[0])}catch(t){console.error(`[Askly] "${e}" handler failed:`,t)}}let Wt=null,zt=[],jt=!1;function qt(){jt=!0}function Bt(e){Wt?Wt(e):jt?zt.push(e):console.warn(`[Askly] ${e.type}() ignored: the widget is not initialised on this page.`)}function Zt(e){Wt=e,jt=!1;const t=zt;return zt=[],t.forEach(e),()=>{Wt===e&&(Wt=null)}}function Jt(){zt=[],jt=!1}const Yt={ready:!1,open:!1,unread:0,visitorId:""};function Gt(){Yt.ready=!1,Yt.open=!1,Yt.unread=0,Yt.visitorId=""}function Kt(e){try{const t=window.localStorage.getItem(e),n=t?JSON.parse(t):[];return Array.isArray(n)?n:[]}catch{return[]}}function Qt(e,t){try{return void window.localStorage.setItem(e,JSON.stringify(t))}catch{}try{const n=t.filter(e=>e.messages.some(e=>"user"===e.role)).slice(0,30).map(e=>e.messages.length>200?{...e,messages:e.messages.slice(-200)}:e);window.localStorage.setItem(e,JSON.stringify(n))}catch{}}class Xt{constructor(e){this.options=e,this.token=null,this.supported=!0,this.userId=null,this.human=!1,this.pending=null,this.lastFailure=null}apply(e){e&&"string"==typeof e.session_token&&(this.token=e.session_token,this.userId=e.session_verified&&"string"==typeof e.session_user_id?e.session_user_id:null,this.human=!!e.session_human,this.options.onChange())}clear(){this.token=null,this.pending=null,this.userId=null,this.human=!1,this.options.onChange()}start(e){const t=this.options.getOrganizationId();if(!this.supported||!t)return Promise.resolve(null);if(this.pending)return this.pending;const n=this.options.getVisitorId();let r=null;return r=(async()=>{try{const r=await fetch(this.options.api("/session"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?{organization_id:t,token:e}:{organization_id:t,visitor_id:n})});if(404===r.status||405===r.status)return this.supported=!1,null;if(!r.ok)return this.lastFailure=401===r.status?"rejected":"transient",null;this.lastFailure=null;const o=await r.json();return n!==this.options.getVisitorId()?null:(this.token&&this.token!==e||this.apply(o),this.token)}catch{return this.lastFailure="transient",null}finally{this.pending===r&&(this.pending=null)}})(),this.pending=r,r}async request(e,t={}){var n;const r=n=>fetch("function"==typeof e?e(!!n):e,{...t,headers:{...t.headers,...n?{Authorization:`Bearer ${n}`}:{}}}),o=null!==(n=this.token)&&void 0!==n?n:await this.start(),i=await r(o);if(401!==i.status||!o)return{res:i,token:o};let _=await this.start(o);if(!_||_===o){const e=this.token;if(e&&e!==o)_=e;else{if("rejected"!==this.lastFailure)return{res:i,token:o};this.clear(),_=await this.start()}}return{res:await r(_),token:_}}async fetch(e,t={}){return(await this.request(e,t)).res}}let en;function tn(){if(void 0===en){const e="undefined"!=typeof window?window.trustedTypes:void 0;if(en=null,e&&e.createPolicy)try{en=e.createPolicy("askly",{createHTML:e=>e,createScriptURL:e=>e})}catch{en=null}}return en}function nn(e){const t=tn();return t?t.createHTML(e):e}function rn(e){const t=tn();return t?t.createScriptURL(e):e}function on(e){return!1===e||"off"===e?"off":!0===e||"review"===e?"review":"auto-send"===e?"auto-send":void 0}function _n(e){switch(e){case"insecure":return"Voice input needs a secure (https) page.";case"unsupported":return"Voice input isn't supported in this browser.";case"denied":return"Microphone access is blocked. Allow it in your browser's site settings to use voice input.";case"no-microphone":return"No microphone was found.";case"no-speech":return"I didn't catch that. Please try again.";case"no-audio":return"No sound is coming from your microphone. Check that it isn't muted and that the right one is selected.";case"limit":return"Voice input isn't available right now. Please type your message.";case"disabled":return"Voice input is turned off.";case"network":return"Your recording couldn't be transcribed. Check your connection and try again.";default:return"Your recording couldn't be transcribed. Please try again or type your message."}}const un=3e3,ln=3;function sn(e,t,n){const r="Hi from {organizationName}. How can we help?";let o="string"==typeof e&&e.trim()?e:t?"Hi, I'm {ai_name} from {organizationName}. How can I help?":r;return t||-1===o.indexOf("{ai_name}")||(o=r),o.replace(/\{ai_name\}/g,()=>t||"").replace(/\{organizationName\}/g,()=>n).trim()}function an(e){try{return"1"===window.sessionStorage.getItem(`askly_greeting_dismissed_${e}`)}catch{return!1}}function cn(e){try{window.sessionStorage.setItem(`askly_greeting_dismissed_${e}`,"1")}catch{}}function fn(e){Ft("shown"===e?"greeting:shown":"clicked"===e?"greeting:clicked":"greeting:dismissed");try{window.dispatchEvent(new Event(`askly:greeting:${e}`))}catch{}}const pn={headings:!1,blockquotes:!1,images:!1},hn={headings:!0,blockquotes:!0,images:!0};function dn(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function mn(e){const t=e.trim();return/^(https?:\/\/|mailto:|tel:)/i.test(t)&&!/[\s\0-]/.test(t)}function vn(e,t){return`<a href="${dn(e.trim())}" target="_blank" rel="noopener noreferrer" class="message-inline-link">${t}</a>`}class gn{constructor(){this.items=[]}put(e){return this.items.push(e),`${this.items.length-1}`}restore(e){return e.replace(/(\d+)/g,(e,t)=>this.items[Number(t)])}}const yn=/`([^`\n]+)`/g,kn=/!\[([^\]\n]*)\]\(((?:[^()\s]|\([^()\s]*\))+)\)/g,wn=/\[([^\]\n]+)\]\(((?:[^()\s]|\([^()\s]*\))+)\)/g,bn=/(^|[^\w"'=/\]\(])(https?:\/\/[^\s<>()]*[^\s<>().,;:!?'"])/g,Cn=/\*\*(?=\S)([\s\S]*?\S)\*\*/g,Sn=/(^|[^\w*])\*(?=\S)([^*\n]*?\S)\*(?![\w*])/g,xn=/(^|[^\w_])_(?=\S)([^_\n]*?\S)_(?![\w_])/g;function Nn(e,t){const n=new gn;let r=e;return t.emphasis&&(r=r.replace(yn,(e,t)=>n.put(`<code class="inline-code">${dn(t)}</code>`))),t.images?r=r.replace(kn,(e,t,r)=>function(e){const t=e.trim();return/^https:\/\//i.test(t)&&!/[\s\0-]/.test(t)}(r)?n.put(`<img src="${dn(r.trim())}" alt="${dn(t)}" class="message-inline-image" />`):n.put(dn(t))):t.links&&(r=r.replace(kn,(e,t,r)=>n.put(mn(r)?vn(r,dn(t||r)):dn(t||r)))),t.links&&(r=r.replace(wn,(e,t,r)=>n.put(mn(r)?vn(r,dn(t)):dn(t)))),r=r.replace(bn,(e,t,r)=>t+n.put(vn(r,dn(r)))),r=dn(r),t.emphasis&&(r=r.replace(Cn,"<strong>$1</strong>"),r=r.replace(Sn,"$1<em>$2</em>"),r=r.replace(xn,"$1<em>$2</em>")),r=r.replace(/\n/g,"<br />"),n.restore(r)}const Mn=/^\s{0,3}```\s*([\w+-]*)\s*$/,En=/^\s{0,3}```\s*$/,$n=/^\s{0,3}(#{1,3})\s+(.+?)\s*#*\s*$/,Hn=/^\s{0,3}>\s?(.*)$/,Pn=/^\s*([-*+]|\d{1,3}[.)])\s+(.*)$/,Un=/^\s{2,}\S/;function In(e,t){const n={emphasis:!0,links:!0,images:t.images},r=e.replace(/\r\n?/g,"\n").split("\n"),o=[];let i=0;const _=e=>Mn.test(e)||Pn.test(e)||t.headings&&$n.test(e)||t.blockquotes&&Hn.test(e);for(;i<r.length;){const e=r[i];if(""===e.trim()){i++;continue}const u=e.match(Mn);if(u){const e=u[1],t=[];for(i++;i<r.length&&!En.test(r[i]);)t.push(r[i]),i++;for(i++;t.length&&""===t[t.length-1].trim();)t.pop();const n=e?` class="language-${e}"`:"";o.push(`<pre><code${n}>${dn(t.join("\n"))}</code></pre>`);continue}if(t.headings){const t=e.match($n);if(t){const e=t[1].length;o.push(`<h${e}>${Nn(t[2],n)}</h${e}>`),i++;continue}}if(t.blockquotes&&Hn.test(e)){const e=[];for(;i<r.length;){const t=r[i].match(Hn);if(!t)break;e.push(t[1]),i++}o.push(`<blockquote><p>${Nn(e.join("\n"),n)}</p></blockquote>`);continue}const l=e.match(Pn);if(l){const e=/\d/.test(l[1]),t=e?parseInt(l[1],10):1,_=[];for(;i<r.length;){const e=r[i].match(Pn);if(e)_.push(e[2]),i++;else{if(!_.length||!Un.test(r[i]))break;_[_.length-1]+=" "+r[i].trim(),i++}}const u=e?"ol":"ul",s=e&&1!==t?` start="${t}"`:"";o.push(`<${u}${s}>${_.map(e=>`<li>${Nn(e,n)}</li>`).join("")}</${u}>`);continue}const s=[e];for(i++;i<r.length&&""!==r[i].trim()&&!_(r[i]);)s.push(r[i]),i++;o.push(`<p>${Nn(s.join("\n"),n)}</p>`)}return o.join("")}function Rn(e){return e?In(e,pn):""}function Ln(e){return e?In(e,hn):""}function Tn(e){return e?Nn(e,{emphasis:!1,links:!1,images:!1}):""}function An(e){return e?e.replace(/```[\s\S]*?```/g," [Code] ").replace(/!\[[^\]]*\]\([^)]*\)/g,"[Image]").replace(/\[[^\]]*\]\([^)]*\)/g,"[Link]").replace(/`([^`]*)`/g,"$1").replace(/\*\*([^*]*)\*\*/g,"$1").replace(/(^|[^\w*])\*([^*\n]+)\*(?![\w*])/g,"$1$2").replace(/(^|[^\w_])_([^_\n]+)_(?![\w_])/g,"$1$2").replace(/^\s{0,3}#{1,6}\s+/gm,"").replace(/^\s*(?:[-*+]|\d{1,3}[.)])\s+/gm,"").replace(/^\s{0,3}>\s?/gm,"").replace(/\s+/g," ").trim():""}function Vn(e){if(!e)return"";try{const t=new Date(e);return isNaN(t.getTime())?"":t.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}catch(e){return""}}export{Jt as $,vt as A,xt as B,Ct as C,fn as D,cn as E,Ft as F,ln as G,rn as H,on as I,Zt as J,Yt as K,Lt as L,gt as M,Gt as N,_n as O,wt as P,un as Q,Bt as R,bt as S,Rt as T,Dt as U,Ot as V,Xt as W,dt as X,Vt as Y,pt as Z,ce as _,Nt as a,qt as a0,Ln as a1,Pt as a2,It as b,Tt as c,ze as d,mt as e,Vn as f,ft as g,kt as h,yt as i,St as j,Mt as k,Et as l,Ht as m,$t as n,Tn as o,le as p,ae as q,Rn as r,An as s,nn as t,fe as u,Kt as v,Qt as w,sn as x,an as y,qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(){return"undefined"==typeof window||"undefined"==typeof navigator?"unsupported":navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?void 0===window.MediaRecorder?"unsupported":null:!1===window.isSecureContext?"insecure":"unsupported"}const t=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus"];function o(e){const t=e&&e.name;return"NotAllowedError"===t||"SecurityError"===t||"PermissionDeniedError"===t?"denied":"NotFoundError"===t||"DevicesNotFoundError"===t||"OverconstrainedError"===t?"no-microphone":"failed"}async function n(n){const r=e();if(r)throw{code:r};let a;try{a=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0}})}catch(e){throw{code:o(e)}}const i=()=>{try{a.getTracks().forEach(e=>e.stop())}catch{}};let c;try{const e=function(){const e=window.MediaRecorder;if(e&&"function"==typeof e.isTypeSupported)for(const o of t)try{if(e.isTypeSupported(o))return o}catch{}}(),o={audioBitsPerSecond:32e3};e&&(o.mimeType=e),c=new window.MediaRecorder(a,o)}catch(e){throw i(),{code:"unsupported"}}let s=null,d=null,u=null;try{const e=window.AudioContext||window.webkitAudioContext;if(e){s=new e,d=s.createAnalyser(),d.fftSize=1024,s.createMediaStreamSource(a).connect(d);const t=s.createGain();t.gain.value=0,d.connect(t),t.connect(s.destination),"suspended"===s.state&&s.resume&&s.resume().catch(()=>{}),u=new Uint8Array(d.fftSize)}}catch{d=null}const l=[],p=Date.now();let w=!1,f=!1,h=-1,m=0,y=!1,M=p,v=!1,g=!1,D=!1,S=null;const b=()=>{if(S&&clearInterval(S),S=null,i(),s)try{s.close()}catch{}s=null},x=()=>{if(!D){D=!0;try{"inactive"!==c.state?c.stop():c.onstop()}catch{c.onstop()}}};c.ondataavailable=e=>{e.data&&e.data.size>0&&l.push(e.data)},c.onstop=()=>{if(g)return;g=!0;const e=Date.now()-p;if(b(),v)return;const t=(c.mimeType||l[0]&&l[0].type||"audio/webm").split(";")[0],o=f&&m<.0015?"no-audio":y?"no-speech":"ok";n.onDone({blob:new Blob(l,{type:t}),durationMs:e,outcome:o})},c.onerror=()=>x(),S=setInterval(()=>{const e=Date.now(),t=e-p;let o=0;const r=d&&u&&s&&"running"===s.state;if(r){if(d&&u){f=!0,d.getByteTimeDomainData(u);let t=0;for(let e=0;e<u.length;e++){const o=(u[e]-128)/128;t+=o*o}o=Math.sqrt(t/u.length),m=Math.max(m,o),h=h<0?o:Math.min(o,1.05*h+3e-4),o>Math.max(.008,3*h+.004)&&(w=!0,M=e)}}else M=e;n.onMeter(Math.min(1,o/Math.max(.04,m)),t),t>=n.maxMs||r&&w&&e-M>=n.silenceMs?x():f&&!w&&t>=n.noSpeechMs&&(y=!0,x())},100);try{c.start()}catch(e){throw v=!0,g=!0,b(),{code:"failed"}}return{stop:x,cancel:()=>{v=!0,x()}}}export{n as startRecording,e as voiceInputBlocker};
|