@tenancy.nz/chat-ui 0.1.34 → 0.1.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -14,10 +14,10 @@ var wn = (n, t, e, i) => ({
14
14
  }
15
15
  });
16
16
  import * as Ut from "react";
17
- import kt, { useState as fe, useCallback as Bn, isValidElement as Wy, cloneElement as Fm, useEffect as si, useMemo as ja, useRef as Fe } from "react";
17
+ import kt, { useState as fe, useCallback as Bn, isValidElement as Wy, cloneElement as Fm, useRef as Me, useEffect as si, useMemo as ja } from "react";
18
18
  import * as Mf from "react-dom";
19
19
  import Jh, { createPortal as jx } from "react-dom";
20
- const WO = ':root{--bg: #f7f9fc;--panel: #ffffff;--text: #0b1324;--muted: #64748b;--accent: #1a73e8;--accent-2: #1a73e8;--danger: #e11d48;--border: #e5e7eb;--pdf-citations-width: 260px;--brand-blue: #0445B7;--brand-pink: #DB2C73;--brand-green: #0CC1A3}*{box-sizing:border-box}html,body{font-family:Montserrat,Inter,ui-sans-serif,system-ui;overflow-x:hidden;width:100%;margin:0}.app{display:grid;grid-template-rows:auto 1fr auto;min-height:100%}.app,.chat-container{overflow-x:hidden}.app-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0}.app-header h1{margin:0;font-size:18px;letter-spacing:.2px;color:#111827}.app-header .subtitle{margin:4px 0 0;color:var(--muted);font-size:12px}.app-main{display:grid;grid-template-columns:1fr;padding:0}.app-footer{padding:10px 16px;color:var(--muted);border-top:1px solid var(--border);font-size:12px;background:var(--panel)}.chat-container{width:100%;max-width:none;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;overflow:hidden;box-shadow:none}.chat-layout{display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 65px);min-height:calc(100vh - 65px)}.sidebar{border-right:1px solid var(--border);background:#fff;padding:10px;display:flex;flex-direction:column;gap:10px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:#0f172a;padding:8px 20px 8px 12px;border-radius:12px;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;margin-top:6px;margin-right:6px}.sidebar-new{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#0445b7,#0cc1a3);border:0;color:#fff;width:32px;height:32px;display:inline-grid;place-items:center;border-radius:9999px;cursor:pointer;font-size:18px;font-weight:700;box-shadow:0 0 #0445b738,0 6px 14px #0445b747;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.sidebar-new:hover{transform:translateY(-1px);box-shadow:0 0 0 6px #0445b71f,0 8px 16px #0445b757;filter:saturate(110%)}.sidebar-new:active{transform:translateY(0);box-shadow:0 4px 10px #0445b738}.sidebar-new:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.thread-list{overflow-y:auto;overflow-x:hidden;display:grid;gap:6px;padding:6px 20px 26px 8px;box-sizing:border-box;scrollbar-gutter:stable both-edges;max-height:100vh}.thread-group{display:grid;gap:6px}.thread-group-title{color:#94a3b8;font-size:11px;padding:8px 6px 0;text-transform:uppercase;letter-spacing:.04em}.thread-empty{color:var(--muted);font-size:12px;padding:12px 8px}.sidebar-loading{padding:8px 6px;display:grid;gap:8px}.sidebar-error{padding:8px;border:1px solid #fecaca;background:#fff1f2;color:#7f1d1d;border-radius:8px;display:grid;gap:8px}.sidebar-error .sidebar-error-text{font-size:12px}.thread-item{display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border:none;background:none;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;width:calc(100% - 6px);transition:all .2s ease;margin-right:6px;overflow:hidden}.thread-item:hover{background:#f1f5f9}.thread-item.active{background:#e0f2fe}.thread-icon{flex-shrink:0}.thread-text{flex:1;min-width:0;overflow:hidden;width:100%}.thread-title{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.thread-date{font-size:12px;color:var(--accent);font-weight:500}.messages-main{display:flex;flex-direction:column;overflow:auto;position:relative;height:100vh;min-height:100vh}.messages{overflow:auto;padding:28px 40px 100px;display:flex;flex-direction:column;gap:20px;background:#fff;position:relative;margin:0 auto;overflow:visible;width:100%;max-width:1280px;min-height:100vh}.messages-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fffc;-webkit-backdrop-filter:blur(2px) saturate(110%);backdrop-filter:blur(2px) saturate(110%);z-index:5;min-height:100vh}.messages-loading .loading-inner{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 8px 18px #00000014;color:#374151;font-size:13px}.messages-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffd9;-webkit-backdrop-filter:blur(2px) saturate(110%);backdrop-filter:blur(2px) saturate(110%);z-index:6}.messages-error .messages-error-card{display:grid;gap:10px;max-width:520px;width:calc(100% - 40px);padding:14px 16px;border-radius:12px;border:1px solid #fee2e2;background:#fff1f2;color:#7f1d1d;box-shadow:0 10px 24px #00000014;text-align:center}.messages-error .messages-error-text{font-size:14px}.messages-error .messages-error-actions{display:inline-flex;gap:8px;justify-content:center}.message{display:flex;gap:12px;align-items:flex-start;animation:messageSlideIn .3s ease-out;flex-wrap:wrap}.messages>:last-child{padding-bottom:200px}.message.user{flex-direction:row-reverse}.message.assistant{flex-direction:row}.message .msg-subdivider,.message .sources-copy,.message .sources-hud{flex-basis:100%}.message.assistant .msg-subdivider,.message.assistant .sources-copy,.message.assistant .sources-hud{flex:0 0 auto;align-self:flex-start;margin-left:40px;width:100%;max-width:min(72ch,calc(100% - 40px))}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px) and (min-width: 641px){.message.assistant>.ai-avatar{flex:0 0 36px}.message.assistant>.bubble-plain{flex:1 1 0;min-width:0;max-width:calc(100% - 48px);overflow-wrap:anywhere;word-break:break-word}.message.user>.user-avatar,.message.user>.user-avatar-img{flex:0 0 36px}.message.user>.bubble{flex:1 1 auto;min-width:0;max-width:calc(100% - 48px)}}@media (max-width: 640px){.messages{height:calc(100dvh - 96px);padding:16px 12px 160px;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}.message{gap:8px}.message.assistant>.ai-avatar{flex:0 0 36px}.message.assistant>.bubble-plain{flex:1 1 0;min-width:0;max-width:calc(100% - 44px);overflow-wrap:anywhere;word-break:break-word}.message.user>.user-avatar,.message.user>.user-avatar-img{flex:0 0 36px}.message.user>.bubble{flex:1 1 auto;min-width:0;max-width:calc(100% - 44px)!important}.message.assistant .msg-subdivider,.message.assistant .sources-copy,.message.assistant .sources-hud{margin-left:0;max-width:100%}.sources-hud{margin-top:8px}}.ai-avatar{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#0445b7,#0cc1a3);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0445b726}.user-avatar,.user-avatar-img{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000f}.user-avatar{display:grid;place-items:center;color:#0b1324;font-weight:600;font-size:13px;background:transparent}.user-avatar-img{object-fit:cover}.bubble{max-width:80%;padding:12px 14px;border-radius:12px;line-height:1.6;white-space:normal;word-wrap:break-word;font-size:14px;color:#1f2937;font-family:Montserrat,Inter,ui-sans-serif,system-ui}.message.user .bubble{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;color:#0b1324;border:1px solid transparent;border-bottom-right-radius:4px}.message.assistant .bubble{background:#fff;border:1px solid #e5e7eb;color:#0b1324;border-bottom-left-radius:4px}.message.assistant .bubble-plain{background:transparent;border:0;padding:0;max-width:72ch;font-size:14px;color:#0b1324;font-family:Montserrat,Inter,ui-sans-serif,system-ui;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;min-width:0}.message.assistant .bubble-plain h1,.message.assistant .bubble-plain h2,.message.assistant .bubble-plain h3,.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{color:#0b1324;font-weight:600}.message.assistant .bubble-plain p{color:#0b1324}.message.assistant .bubble-plain p,.bubble p{margin:0 0 8px}.bubble>*:first-child{margin-top:0}.bubble>*:last-child{margin-bottom:0}.bubble p{margin:0 0 8px}.bubble ul,.bubble ol{margin:8px 0 8px 18px;padding:0}.bubble li{margin:4px 0}.bubble h1,.bubble h2,.bubble h3,.bubble h4,.bubble h5,.bubble h6{margin:10px 0 6px;line-height:1.3}.bubble pre{margin:8px 0;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;overflow:auto}.bubble code:not(pre code){background:#f3f4f6;padding:1px 4px;border-radius:4px}.bubble table{border-collapse:collapse;margin:8px 0}.bubble th,.bubble td{border:1px solid #e5e7eb;padding:6px 8px}.message.assistant .bubble-plain a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.message.assistant .bubble-plain{line-height:1.65}.message.assistant .bubble-plain p{margin:0 0 12px}.message.assistant .bubble-plain ul,.message.assistant .bubble-plain ol{margin:0 0 12px 20px;padding:0}.message.assistant .bubble-plain li+li{margin-top:4px}.message.assistant .bubble-plain blockquote{margin:12px 0;padding:10px 12px;border-left:4px solid #dbeafe;background:#f8fafc;color:#0b1324;border-radius:6px}.message.assistant .bubble-plain h1{font-size:20px;margin:0 0 16px}.message.assistant .bubble-plain h2{font-size:18px;margin:0 0 16px}.message.assistant .bubble-plain h3{font-size:16px;margin:14px 0 6px}.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{font-size:14px;margin:0 0 16px}.message.assistant .bubble-plain pre{margin:12px 0;padding:12px;background:#0b132405;border:1px solid #e5e7eb;border-radius:8px;overflow:auto;-webkit-overflow-scrolling:touch}.message.assistant .bubble-plain code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px}.message.assistant .bubble-plain table{width:100%;border-collapse:collapse;margin:12px 0}.message.assistant .bubble-plain th{background:#f3f4f6;font-weight:600}.message.assistant .bubble-plain th,.message.assistant .bubble-plain td{border:1px solid #e5e7eb;padding:6px 8px}.message.assistant .bubble-plain tr:nth-child(2n) td{background:#fafafa}.message.assistant .bubble-plain img{max-width:100%;height:auto;border-radius:6px}.message.assistant .bubble-plain hr{border:0;border-top:1px solid #e5e7eb;margin:14px 0}.avatar{width:28px;height:28px;border-radius:9999px;background:transparent;border:0;display:grid;place-items:center;color:var(--accent);font-size:14px;margin-top:3px}.avatar-star{transform:rotate(12deg)}.bubble-pending{opacity:.8;font-style:italic}.msg-toolbar{display:flex;align-items:center;gap:12px;margin-left:40px}.msg-divider{height:1px;background:#e5e7eb;flex:1}.btn-copy{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-copy:hover{color:#111827;border-color:#cfd8e3}.sources-hud{margin-top:0;border:1px solid #dbe7ff;background:#f8fafc;padding:6px 6px 8px;border-radius:8px;width:100%}.sources-copy{display:flex;align-items:center;gap:6px;margin:0 0 6px}.msg-subdivider{height:1px;background:#f3f3f3;margin:10px 0 6px}.sources-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.sources-title{font-size:10px;color:#6b7280;margin:0;text-transform:uppercase;letter-spacing:.04em}.sources-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.source-item{display:flex;align-items:center;gap:4px}.source-link{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;cursor:pointer;min-width:160px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-link:hover{border-color:#d1d5db;background:#f9fafb}.source-rank{font-weight:600;color:var(--accent)}.source-name{font-weight:500;color:#0b1324;overflow:hidden;text-overflow:ellipsis}.source-page{color:#6b7280}.source-score{margin-left:auto;font-variant-numeric:tabular-nums;color:#6b7280}.source-open{text-decoration:none;font-size:10px}.btn-copy-inline{border:0;background:transparent;padding:0;color:#1a73e8;display:inline-flex;align-items:center;gap:6px;font-size:12px}.btn-copy-inline:hover{text-decoration:underline}.message-divider{height:1px;background:#f3f3f3;margin:10px 0 2px 40px}.message.user{align-items:center;gap:8px}.user-bubble{background:#e8f0fe;border:1px solid #dbe7ff;color:#0b1324;box-shadow:0 1px 2px #0000000a,0 3px 10px #0445b71a}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(#e2e8f0,#e2e8f0) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;color:#274a9a;display:grid;place-items:center;font-size:13px;font-weight:600;font-family:Montserrat,Inter,ui-sans-serif,system-ui;border:1px solid transparent;flex-shrink:0}.user-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:inline-block;flex-shrink:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:2vh 2vw;z-index:1000;visibility:hidden;opacity:0;pointer-events:none;background:#ffffff8c;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);transition:opacity .12s ease-in-out,visibility .12s ease-in-out}.modal.open{visibility:visible;opacity:1;pointer-events:auto}.modal-content{background:#fff;width:min(92vw,800px);max-width:min(92vw,800px);max-height:680px;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.modal-title{font-weight:600;color:#111827}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:#6b7280;border:0;font-size:20px;line-height:1;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:6px;cursor:pointer}.modal-body{height:680px;overflow:hidden;position:relative;padding:0}.modal-body.panning{cursor:grabbing}.pdf-stage canvas{display:block}.pdf-viewer{position:relative;min-height:320px}.pdf-blocker{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:5}.pdf-loading{display:flex;align-items:center;justify-content:center;height:320px}.spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer{padding:0;background:transparent;position:fixed;width:calc(100% - 540px);bottom:30px}.composer-field{position:relative;display:flex;align-items:stretch;gap:0;max-width:1280px;margin:0 auto;padding:0 40px}.composer-field textarea{flex:1;padding:14px 18px;border:1px solid var(--border);border-radius:12px 0 0 12px;border-right:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.4;resize:none;outline:none;font-family:inherit;max-height:80px;min-height:48px;transition:all .2s ease}.composer-field textarea:focus{border-color:var(--accent)}.composer-field:focus-within textarea{border-color:var(--accent)}.composer-field:focus-within .composer-send{border-color:var(--accent)}.composer-send:hover{border-color:var(--accent)}.composer-field textarea::placeholder{color:var(--muted)}.composer-send{padding:0 14px;border:1px solid var(--border);border-left:0;border-radius:0 12px 12px 0;background:#0e0044;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:48px;height:auto;align-self:stretch}.composer .composer-send{background:#0e0044!important;color:#fff!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.composer-send:hover:not(:disabled){background:#160060;transform:translateY(-1px);box-shadow:0 4px 12px #0e004459}.composer-send:disabled{background:#0e0044;opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.empty-hero{display:grid;place-items:center;margin-top:0;min-height:calc(100% - 56px);width:100%;overflow-x:visible;max-width:100vw}.empty-hero-inner{text-align:center;max-width:min(900px,100%);width:100%;margin:0 auto;animation:heroIn .6s cubic-bezier(.22,.61,.36,1) both;overflow:visible;max-width:100vw}.empty-hero-logo{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:16px;overflow:visible;z-index:0}.empty-hero-logo svg{width:clamp(112px,17.6vw,176px);height:auto;overflow:visible;filter:drop-shadow(0 10px 24px rgba(4,69,183,.18))}.empty-hero-logo>svg,.empty-hero-logo svg{position:relative;z-index:0}.empty-hero h1,.empty-hero p,.empty-hero .chip-row{position:relative;z-index:2}.empty-hero-logo svg>g{transform-box:view-box;transform-origin:center;transform:rotate(var(--g, 0deg));will-change:transform}.empty-hero h1{margin:0;font-family:Montserrat,Inter,ui-sans-serif;font-weight:800;color:#0b1324;font-size:36px;letter-spacing:.2px}.empty-hero h1.typewriter{display:block;max-width:100%;width:100%;overflow:visible;contain:layout paint}.empty-hero h1.typewriter span{display:inline-block;white-space:nowrap;overflow:hidden;width:0ch;position:relative;padding-right:0;--caret-opacity: 1;--chars: 23;box-shadow:none;animation:typing 2.6s steps(var(--chars),end) forwards,caretBlink 2.6s step-end 1 both,postType 1ms linear 2.6s forwards,shineSlide 8s ease-in-out infinite;background:linear-gradient(90deg,var(--brand-pink) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%}.empty-hero h1.typewriter span:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--text);opacity:var(--caret-opacity);z-index:1}.empty-hero p{margin:0 0 24px;color:#64748b;font-size:16px}@keyframes typing{0%{width:0ch}to{width:calc(var(--chars) * 1ch)}}@keyframes caretBlink{0%,to{--caret-opacity: 1}50%{--caret-opacity: 0}}@keyframes postType{to{white-space:normal;width:auto;max-width:100%;overflow:visible;--caret-opacity: 0}}@keyframes shineSlide{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes heroIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.empty-hero h1.typewriter span{animation:none;width:auto;border-right:0}.empty-hero-inner{animation:none}}@media (max-width: 640px){.empty-hero h1.typewriter{overflow:visible}.empty-hero h1.typewriter span{animation:shineSlide 8s ease-in-out infinite;width:auto;max-width:100%;white-space:normal;padding-right:0}.empty-hero h1.typewriter span:after{display:none}}.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:800px;margin:0 auto}.chip{transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.chip:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0445b724;filter:saturate(108%)}.chip:active{transform:translateY(0);box-shadow:0 6px 14px #0445b71f}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#0b1324;border-radius:9999px;padding:8px 14px;font-size:13px;cursor:pointer;border:1px solid transparent;box-shadow:0 1px 2px #00000005;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;font-family:Montserrat,Inter,ui-sans-serif,system-ui;transition:transform .15s ease,box-shadow .15s ease;animation:chipIn .5s ease-out both}.chip:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000000f}.chip:active{transform:translateY(0);box-shadow:0 1px 2px #00000008}@keyframes chipIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chip-row .chip:nth-child(1){animation-delay:.02s}.chip-row .chip:nth-child(2){animation-delay:.06s}.chip-row .chip:nth-child(3){animation-delay:.1s}.chip-row .chip:nth-child(4){animation-delay:.14s}.chip-row .chip:nth-child(5){animation-delay:.18s}.chip:hover{background:linear-gradient(#f8fbff,#f8fbff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box}.skeleton{position:relative;overflow:hidden;background:#f3f4f6}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-line{height:12px;border-radius:6px;margin:8px 0}.skeleton-line.sm{height:10px}.skeleton-line.lg{height:14px}.w40{width:40%}.w60{width:60%}.w80{width:80%}.w100{width:100%}.pdf-thumbs{width:130px;min-width:110px;max-width:160px;border-left:1px solid #eef2f7;background:#fbfbfb;overflow:auto}.pdf-thumbs-list{list-style:none;margin:0;padding:8px;display:grid;gap:8px}.pdf-thumb{display:grid;gap:6px;width:100%;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px;cursor:pointer}.pdf-thumb.active{outline:2px solid #1a73e8;outline-offset:0}.pdf-thumb img{display:block;width:100%;height:auto;border-radius:4px}.thumb-label{font-size:11px;color:#6b7280;justify-self:center}.thumb-skeleton{background:#f3f4f6;border-radius:6px;position:relative;overflow:hidden}.thumb-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:shimmer 1.2s infinite}.pdf-citations{flex:0 0 var(--pdf-citations-width);width:var(--pdf-citations-width);border-right:1px solid #eef2f7;background:#fbfbfb;overflow-y:auto;overflow-x:hidden;padding:8px 12px 12px 8px;box-sizing:border-box}.pdf-citations *{max-width:100%;word-break:break-word}.pdf-container{display:flex;width:100%;height:100%;gap:0}.pdf-content{flex:1;min-width:0;overflow:hidden;padding:0 16px}.pdf-toolbar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 8px #00000008;padding:8px 12px}.pdf-toolbar-left{display:flex;gap:8px}.pdf-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.12);color:#111827;width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;cursor:pointer}.pdf-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-page-label{font-size:13px;color:#374151}.typing-hud{display:flex;justify-content:flex-start;align-items:flex-start;margin:16px 0;animation:typingSlideIn .3s ease-out}.typing-hud-inner{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 8px 18px #00000014;color:#374151;font-size:13px}.typing-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,#5446e6,#1a73e8);box-shadow:0 0 0 2px #1a73e81f;animation:pulseDot 1.4s ease-in-out infinite}.typing-text{opacity:.9}@keyframes typingSlideIn{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes pulseDot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.pdf-sources{width:100%}.pdf-sources-title{padding:10px 10px 6px;font-size:12px;font-weight:600;color:#374151}.pdf-sources-list{list-style:none;margin:0;padding:0 12px 12px 8px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.pdf-source-item{display:flex;width:100%;text-align:left;gap:8px;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:transparent;color:#111827;cursor:pointer}.pdf-source-item.active{background:#1976d214}.pdf-source-rank{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.12);font-size:12px;color:#374151}.pdf-source-text{display:inline-block;overflow:hidden}.pdf-source-filename{display:block;font-size:12px;font-weight:600;color:#111827}.pdf-source-page{display:block;font-size:11px;color:#6b7280}.pdf-source-snippet{display:block;font-size:11px;color:#6b7280;margin-top:2px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1280px){.modal-content{width:95vw}}@media (max-width: 1024px){.pdf-thumbs,.pdf-citations{display:none}.modal-content{width:96vw;height:92vh}}@media (max-width: 640px){.modal-content{width:98vw;height:92vh;border-radius:10px}}@media (max-width: 900px){.chat-layout{grid-template-columns:1fr;position:relative}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(86vw,320px);max-width:92vw;transform:translate(-100%);transition:transform .2s ease-in-out;z-index:1000;box-shadow:0 10px 30px #0000002e}.chat-container.drawer-open .sidebar{transform:translate(0)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);z-index:900}.mobile-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}.sidebar-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:8px;width:36px;height:36px;display:inline-grid;place-items:center;cursor:pointer}}@media (min-width: 901px){.mobile-bar{display:none}}.older-messages{display:flex;justify-content:center;margin:8px 0}.toasts{position:fixed;top:16px;right:16px;display:grid;gap:8px;z-index:2000}.toast{background:#111827;color:#fff;border-radius:8px;padding:10px 12px;font-size:13px;box-shadow:0 10px 20px #0003}.toast.error{background:#b91c1c}.toast.success{background:#065f46}';
20
+ const WO = ':root{--bg: #f7f9fc;--panel: #ffffff;--text: #0b1324;--muted: #64748b;--accent: #1a73e8;--accent-2: #1a73e8;--danger: #e11d48;--border: #e5e7eb;--pdf-citations-width: 260px;--brand-blue: #0445B7;--brand-pink: #DB2C73;--brand-green: #0CC1A3}*{box-sizing:border-box}html,body{font-family:Montserrat,Inter,ui-sans-serif,system-ui;overflow-x:hidden;width:100%;margin:0}.app{display:grid;grid-template-rows:auto 1fr auto;min-height:100%}.app,.chat-container{overflow-x:hidden}.app-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0}.app-header h1{margin:0;font-size:18px;letter-spacing:.2px;color:#111827}.app-header .subtitle{margin:4px 0 0;color:var(--muted);font-size:12px}.app-main{display:grid;grid-template-columns:1fr;padding:0}.app-footer{padding:10px 16px;color:var(--muted);border-top:1px solid var(--border);font-size:12px;background:var(--panel)}.chat-container{width:100%;max-width:none;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;overflow:hidden;box-shadow:none}.chat-layout{display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 65px);min-height:calc(100vh - 65px)}.sidebar{border-right:1px solid var(--border);background:#fff;padding:10px;display:flex;flex-direction:column;gap:10px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:#0f172a;padding:8px 20px 8px 12px;border-radius:12px;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;margin-top:6px;margin-right:6px}.sidebar-new{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#0445b7,#0cc1a3);border:0;color:#fff;width:32px;height:32px;display:inline-grid;place-items:center;border-radius:9999px;cursor:pointer;font-size:18px;font-weight:700;box-shadow:0 0 #0445b738,0 6px 14px #0445b747;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.sidebar-new:hover{transform:translateY(-1px);box-shadow:0 0 0 6px #0445b71f,0 8px 16px #0445b757;filter:saturate(110%)}.sidebar-new:active{transform:translateY(0);box-shadow:0 4px 10px #0445b738}.sidebar-new:focus-visible{outline:2px solid #7fb3ff;outline-offset:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.thread-list{overflow-y:auto;overflow-x:hidden;display:grid;gap:6px;padding:6px 20px 26px 8px;box-sizing:border-box;scrollbar-gutter:stable both-edges;max-height:100vh}.thread-group{display:grid;gap:6px}.thread-group-title{color:#94a3b8;font-size:11px;padding:8px 6px 0;text-transform:uppercase;letter-spacing:.04em}.thread-empty{color:var(--muted);font-size:12px;padding:12px 8px}.sidebar-loading{padding:8px 6px;display:grid;gap:8px}.sidebar-error{padding:8px;border:1px solid #fecaca;background:#fff1f2;color:#7f1d1d;border-radius:8px;display:grid;gap:8px}.sidebar-error .sidebar-error-text{font-size:12px}.thread-item{display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border:none;background:none;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;width:calc(100% - 6px);transition:all .2s ease;margin-right:6px;overflow:hidden}.thread-item:hover{background:#f1f5f9}.thread-item.active{background:#e0f2fe}.thread-icon{flex-shrink:0}.thread-text{flex:1;min-width:0;overflow:hidden;width:100%}.thread-title{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.thread-date{font-size:12px;color:var(--accent);font-weight:500}.messages-main{display:flex;flex-direction:column;overflow:auto;position:relative;height:100vh;min-height:100vh}.messages{overflow:auto;padding:28px 40px 100px;display:flex;flex-direction:column;gap:20px;background:#fff;position:relative;margin:0 auto;overflow:visible;width:100%;max-width:1280px;min-height:100vh}.messages-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fffc;-webkit-backdrop-filter:blur(2px) saturate(110%);backdrop-filter:blur(2px) saturate(110%);z-index:5;min-height:100vh}.messages-loading .loading-inner{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 8px 18px #00000014;color:#374151;font-size:13px}.messages-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffd9;-webkit-backdrop-filter:blur(2px) saturate(110%);backdrop-filter:blur(2px) saturate(110%);z-index:6}.messages-error .messages-error-card{display:grid;gap:10px;max-width:520px;width:calc(100% - 40px);padding:14px 16px;border-radius:12px;border:1px solid #fee2e2;background:#fff1f2;color:#7f1d1d;box-shadow:0 10px 24px #00000014;text-align:center}.messages-error .messages-error-text{font-size:14px}.messages-error .messages-error-actions{display:inline-flex;gap:8px;justify-content:center}.message{display:flex;gap:12px;align-items:flex-start;animation:messageSlideIn .3s ease-out;flex-wrap:wrap}.messages>:last-child:not(.empty-hero){padding-bottom:200px}.message.user{flex-direction:row-reverse}.message.assistant{flex-direction:row}.message .msg-subdivider,.message .sources-copy,.message .sources-hud{flex-basis:100%}.message.assistant .msg-subdivider,.message.assistant .sources-copy,.message.assistant .sources-hud{flex:0 0 auto;align-self:flex-start;margin-left:40px;width:100%;max-width:min(72ch,calc(100% - 40px))}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px) and (min-width: 641px){.message.assistant>.ai-avatar{flex:0 0 36px}.message.assistant>.bubble-plain{flex:1 1 0;min-width:0;max-width:calc(100% - 48px);overflow-wrap:anywhere;word-break:break-word}.message.user>.user-avatar,.message.user>.user-avatar-img{flex:0 0 36px}.message.user>.bubble{flex:1 1 auto;min-width:0;max-width:calc(100% - 48px)}}@media (max-width: 640px){.messages{height:calc(100dvh - 96px);padding:16px 12px 160px;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}.message{gap:8px}.message.assistant>.ai-avatar{flex:0 0 36px}.message.assistant>.bubble-plain{flex:1 1 0;min-width:0;max-width:calc(100% - 44px);overflow-wrap:anywhere;word-break:break-word}.message.user>.user-avatar,.message.user>.user-avatar-img{flex:0 0 36px}.message.user>.bubble{flex:1 1 auto;min-width:0;max-width:calc(100% - 44px)!important}.message.assistant .msg-subdivider,.message.assistant .sources-copy,.message.assistant .sources-hud{margin-left:0;max-width:100%}.sources-hud{margin-top:8px}}.ai-avatar{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#0445b7,#0cc1a3);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0445b726}.user-avatar,.user-avatar-img{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000f}.user-avatar{display:grid;place-items:center;color:#0b1324;font-weight:600;font-size:13px;background:transparent}.user-avatar-img{object-fit:cover}.bubble{max-width:80%;padding:12px 14px;border-radius:12px;line-height:1.6;white-space:normal;word-wrap:break-word;font-size:14px;color:#1f2937;font-family:Montserrat,Inter,ui-sans-serif,system-ui}.message.user .bubble{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;color:#0b1324;border:1px solid transparent;border-bottom-right-radius:4px}.message.assistant .bubble{background:#fff;border:1px solid #e5e7eb;color:#0b1324;border-bottom-left-radius:4px}.message.assistant .bubble-plain{background:transparent;border:0;padding:0;max-width:72ch;font-size:14px;color:#0b1324;font-family:Montserrat,Inter,ui-sans-serif,system-ui;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;min-width:0}.message.assistant .bubble-plain h1,.message.assistant .bubble-plain h2,.message.assistant .bubble-plain h3,.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{color:#0b1324;font-weight:600}.message.assistant .bubble-plain p{color:#0b1324}.message.assistant .bubble-plain p,.bubble p{margin:0 0 8px}.bubble>*:first-child{margin-top:0}.bubble>*:last-child{margin-bottom:0}.bubble p{margin:0 0 8px}.bubble ul,.bubble ol{margin:8px 0 8px 18px;padding:0}.bubble li{margin:4px 0}.bubble h1,.bubble h2,.bubble h3,.bubble h4,.bubble h5,.bubble h6{margin:10px 0 6px;line-height:1.3}.bubble pre{margin:8px 0;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;overflow:auto}.bubble code:not(pre code){background:#f3f4f6;padding:1px 4px;border-radius:4px}.bubble table{border-collapse:collapse;margin:8px 0}.bubble th,.bubble td{border:1px solid #e5e7eb;padding:6px 8px}.message.assistant .bubble-plain a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.message.assistant .bubble-plain{line-height:1.65}.message.assistant .bubble-plain p{margin:0 0 12px}.message.assistant .bubble-plain ul,.message.assistant .bubble-plain ol{margin:0 0 12px 20px;padding:0}.message.assistant .bubble-plain li+li{margin-top:4px}.message.assistant .bubble-plain blockquote{margin:12px 0;padding:10px 12px;border-left:4px solid #dbeafe;background:#f8fafc;color:#0b1324;border-radius:6px}.message.assistant .bubble-plain h1{font-size:20px;margin:0 0 16px}.message.assistant .bubble-plain h2{font-size:18px;margin:0 0 16px}.message.assistant .bubble-plain h3{font-size:16px;margin:14px 0 6px}.message.assistant .bubble-plain h4,.message.assistant .bubble-plain h5,.message.assistant .bubble-plain h6{font-size:14px;margin:0 0 16px}.message.assistant .bubble-plain pre{margin:12px 0;padding:12px;background:#0b132405;border:1px solid #e5e7eb;border-radius:8px;overflow:auto;-webkit-overflow-scrolling:touch}.message.assistant .bubble-plain code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px}.message.assistant .bubble-plain table{width:100%;border-collapse:collapse;margin:12px 0}.message.assistant .bubble-plain th{background:#f3f4f6;font-weight:600}.message.assistant .bubble-plain th,.message.assistant .bubble-plain td{border:1px solid #e5e7eb;padding:6px 8px}.message.assistant .bubble-plain tr:nth-child(2n) td{background:#fafafa}.message.assistant .bubble-plain img{max-width:100%;height:auto;border-radius:6px}.message.assistant .bubble-plain hr{border:0;border-top:1px solid #e5e7eb;margin:14px 0}.avatar{width:28px;height:28px;border-radius:9999px;background:transparent;border:0;display:grid;place-items:center;color:var(--accent);font-size:14px;margin-top:3px}.avatar-star{transform:rotate(12deg)}.bubble-pending{opacity:.8;font-style:italic}.msg-toolbar{display:flex;align-items:center;gap:12px;margin-left:40px}.msg-divider{height:1px;background:#e5e7eb;flex:1}.btn-copy{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-copy:hover{color:#111827;border-color:#cfd8e3}.sources-hud{margin-top:0;border:1px solid #dbe7ff;background:#f8fafc;padding:6px 6px 8px;border-radius:8px;width:100%}.sources-copy{display:flex;align-items:center;gap:6px;margin:0 0 6px}.msg-subdivider{height:1px;background:#f3f3f3;margin:10px 0 6px}.sources-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.sources-title{font-size:10px;color:#6b7280;margin:0;text-transform:uppercase;letter-spacing:.04em}.sources-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.source-item{display:flex;align-items:center;gap:4px}.source-link{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;cursor:pointer;min-width:160px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-link:hover{border-color:#d1d5db;background:#f9fafb}.source-rank{font-weight:600;color:var(--accent)}.source-name{font-weight:500;color:#0b1324;overflow:hidden;text-overflow:ellipsis}.source-page{color:#6b7280}.source-score{margin-left:auto;font-variant-numeric:tabular-nums;color:#6b7280}.source-open{text-decoration:none;font-size:10px}.btn-copy-inline{border:0;background:transparent;padding:0;color:#1a73e8;display:inline-flex;align-items:center;gap:6px;font-size:12px}.btn-copy-inline:hover{text-decoration:underline}.message-divider{height:1px;background:#f3f3f3;margin:10px 0 2px 40px}.message.user{align-items:center;gap:8px}.user-bubble{background:#e8f0fe;border:1px solid #dbe7ff;color:#0b1324;box-shadow:0 1px 2px #0000000a,0 3px 10px #0445b71a}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(#e2e8f0,#e2e8f0) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;color:#274a9a;display:grid;place-items:center;font-size:13px;font-weight:600;font-family:Montserrat,Inter,ui-sans-serif,system-ui;border:1px solid transparent;flex-shrink:0}.user-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:inline-block;flex-shrink:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:2vh 2vw;z-index:1000;visibility:hidden;opacity:0;pointer-events:none;background:#ffffff8c;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);transition:opacity .12s ease-in-out,visibility .12s ease-in-out}.modal.open{visibility:visible;opacity:1;pointer-events:auto}.modal-content{background:#fff;width:min(92vw,800px);max-width:min(92vw,800px);max-height:680px;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.modal-title{font-weight:600;color:#111827}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:#6b7280;border:0;font-size:20px;line-height:1;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:6px;cursor:pointer}.modal-body{height:680px;overflow:hidden;position:relative;padding:0}.modal-body.panning{cursor:grabbing}.pdf-stage canvas{display:block}.pdf-viewer{position:relative;min-height:320px}.pdf-blocker{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:5}.pdf-loading{display:flex;align-items:center;justify-content:center;height:320px}.spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer{padding:0;background:transparent;position:fixed;width:calc(100% - 540px);bottom:30px}.composer-field{position:relative;display:flex;align-items:stretch;gap:0;max-width:1280px;margin:0 auto;padding:0 40px}.composer-field textarea{flex:1;padding:14px 18px;border:1px solid var(--border);border-radius:12px 0 0 12px;border-right:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.4;resize:none;outline:none;font-family:inherit;max-height:80px;min-height:48px;transition:all .2s ease}.composer-field textarea:focus{border-color:var(--accent)}.composer-field:focus-within textarea{border-color:var(--accent)}.composer-field:focus-within .composer-send{border-color:var(--accent)}.composer-send:hover{border-color:var(--accent)}.composer-field textarea::placeholder{color:var(--muted)}.composer-send{padding:0 14px;border:1px solid var(--border);border-left:0;border-radius:0 12px 12px 0;background:#0e0044;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:48px;height:auto;align-self:stretch}.composer .composer-send{background:#0e0044!important;color:#fff!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.composer-send:hover:not(:disabled){background:#160060;transform:translateY(-1px);box-shadow:0 4px 12px #0e004459}.composer-send:disabled{background:#0e0044;opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.empty-hero{display:grid;place-items:center;margin-top:0;min-height:calc(100% - 56px);width:100%;overflow-x:visible;max-width:100vw}.empty-hero-inner{text-align:center;max-width:min(900px,100%);width:100%;margin:0 auto;animation:heroIn .6s cubic-bezier(.22,.61,.36,1) both;overflow:visible;max-width:100vw}.empty-hero-logo{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:16px;overflow:visible;z-index:0}.empty-hero-logo svg{width:clamp(112px,17.6vw,176px);height:auto;overflow:visible;filter:drop-shadow(0 10px 24px rgba(4,69,183,.18))}.empty-hero-logo>svg,.empty-hero-logo svg{position:relative;z-index:0}.empty-hero h1,.empty-hero p,.empty-hero .chip-row{position:relative;z-index:2}.empty-hero-logo svg>g{transform-box:view-box;transform-origin:center;transform:rotate(var(--g, 0deg));will-change:transform}.empty-hero h1{margin:0;font-family:Montserrat,Inter,ui-sans-serif;font-weight:800;color:#0b1324;font-size:36px;letter-spacing:.2px}.empty-hero h1.typewriter{display:block;max-width:100%;width:100%;overflow:visible;contain:layout paint}.empty-hero h1.typewriter span{display:inline-block;white-space:nowrap;overflow:hidden;width:0ch;position:relative;padding-right:0;--caret-opacity: 1;--chars: 23;box-shadow:none;animation:typing 2.6s steps(var(--chars),end) forwards,caretBlink 2.6s step-end 1 both,postType 1ms linear 2.6s forwards,shineSlide 8s ease-in-out infinite;background:linear-gradient(90deg,var(--brand-pink) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%}.empty-hero h1.typewriter span:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--text);opacity:var(--caret-opacity);z-index:1}.empty-hero p{margin:0 0 24px;color:#64748b;font-size:16px}@keyframes typing{0%{width:0ch}to{width:calc(var(--chars) * 1ch)}}@keyframes caretBlink{0%,to{--caret-opacity: 1}50%{--caret-opacity: 0}}@keyframes postType{to{white-space:normal;width:auto;max-width:100%;overflow:visible;--caret-opacity: 0}}@keyframes shineSlide{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes heroIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.empty-hero h1.typewriter span{animation:none;width:auto;border-right:0}.empty-hero-inner{animation:none}}@media (max-width: 640px){.empty-hero h1.typewriter{overflow:visible}.empty-hero h1.typewriter span{animation:shineSlide 8s ease-in-out infinite;width:auto;max-width:100%;white-space:normal;padding-right:0}.empty-hero h1.typewriter span:after{display:none}}.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:800px;margin:0 auto}.chip{transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.chip:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0445b724;filter:saturate(108%)}.chip:active{transform:translateY(0);box-shadow:0 6px 14px #0445b71f}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#0b1324;border-radius:9999px;padding:8px 14px;font-size:13px;cursor:pointer;border:1px solid transparent;box-shadow:0 1px 2px #00000005;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box;font-family:Montserrat,Inter,ui-sans-serif,system-ui;transition:transform .15s ease,box-shadow .15s ease;animation:chipIn .5s ease-out both}.chip:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000000f}.chip:active{transform:translateY(0);box-shadow:0 1px 2px #00000008}@keyframes chipIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chip-row .chip:nth-child(1){animation-delay:.02s}.chip-row .chip:nth-child(2){animation-delay:.06s}.chip-row .chip:nth-child(3){animation-delay:.1s}.chip-row .chip:nth-child(4){animation-delay:.14s}.chip-row .chip:nth-child(5){animation-delay:.18s}.chip:hover{background:linear-gradient(#f8fbff,#f8fbff) padding-box,linear-gradient(180deg,#0445b7,#0cc1a3) border-box}.skeleton{position:relative;overflow:hidden;background:#f3f4f6}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-line{height:12px;border-radius:6px;margin:8px 0}.skeleton-line.sm{height:10px}.skeleton-line.lg{height:14px}.w40{width:40%}.w60{width:60%}.w80{width:80%}.w100{width:100%}.pdf-thumbs{width:130px;min-width:110px;max-width:160px;border-left:1px solid #eef2f7;background:#fbfbfb;overflow:auto}.pdf-thumbs-list{list-style:none;margin:0;padding:8px;display:grid;gap:8px}.pdf-thumb{display:grid;gap:6px;width:100%;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px;cursor:pointer}.pdf-thumb.active{outline:2px solid #1a73e8;outline-offset:0}.pdf-thumb img{display:block;width:100%;height:auto;border-radius:4px}.thumb-label{font-size:11px;color:#6b7280;justify-self:center}.thumb-skeleton{background:#f3f4f6;border-radius:6px;position:relative;overflow:hidden}.thumb-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff9,#fff0);animation:shimmer 1.2s infinite}.pdf-citations{flex:0 0 var(--pdf-citations-width);width:var(--pdf-citations-width);border-right:1px solid #eef2f7;background:#fbfbfb;overflow-y:auto;overflow-x:hidden;padding:8px 12px 12px 8px;box-sizing:border-box}.pdf-citations *{max-width:100%;word-break:break-word}.pdf-container{display:flex;width:100%;height:100%;gap:0}.pdf-content{flex:1;min-width:0;overflow:hidden;padding:0 16px}.pdf-toolbar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 8px #00000008;padding:8px 12px}.pdf-toolbar-left{display:flex;gap:8px}.pdf-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.12);color:#111827;width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;cursor:pointer}.pdf-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-page-label{font-size:13px;color:#374151}.typing-hud{display:flex;justify-content:flex-start;align-items:flex-start;margin:16px 0;animation:typingSlideIn .3s ease-out}.typing-hud-inner{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 8px 18px #00000014;color:#374151;font-size:13px}.typing-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,#5446e6,#1a73e8);box-shadow:0 0 0 2px #1a73e81f;animation:pulseDot 1.4s ease-in-out infinite}.typing-text{opacity:.9}@keyframes typingSlideIn{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes pulseDot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.pdf-sources{width:100%}.pdf-sources-title{padding:10px 10px 6px;font-size:12px;font-weight:600;color:#374151}.pdf-sources-list{list-style:none;margin:0;padding:0 12px 12px 8px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.pdf-source-item{display:flex;width:100%;text-align:left;gap:8px;padding:10px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:transparent;color:#111827;cursor:pointer}.pdf-source-item.active{background:#1976d214}.pdf-source-rank{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.12);font-size:12px;color:#374151}.pdf-source-text{display:inline-block;overflow:hidden}.pdf-source-filename{display:block;font-size:12px;font-weight:600;color:#111827}.pdf-source-page{display:block;font-size:11px;color:#6b7280}.pdf-source-snippet{display:block;font-size:11px;color:#6b7280;margin-top:2px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1280px){.modal-content{width:95vw}}@media (max-width: 1024px){.pdf-thumbs,.pdf-citations{display:none}.modal-content{width:96vw;height:92vh}}@media (max-width: 640px){.modal-content{width:98vw;height:92vh;border-radius:10px}}@media (max-width: 900px){.chat-layout{grid-template-columns:1fr;position:relative}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(86vw,320px);max-width:92vw;transform:translate(-100%);transition:transform .2s ease-in-out;z-index:1000;box-shadow:0 10px 30px #0000002e}.chat-container.drawer-open .sidebar{transform:translate(0)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);z-index:900}.mobile-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}.sidebar-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:8px;width:36px;height:36px;display:inline-grid;place-items:center;cursor:pointer}}@media (min-width: 901px){.mobile-bar{display:none}}.older-messages{display:flex;justify-content:center;margin:8px 0}.toasts{position:fixed;top:16px;right:16px;display:grid;gap:8px;z-index:2000}.toast{background:#111827;color:#fff;border-radius:8px;padding:10px 12px;font-size:13px;box-shadow:0 10px 20px #0003}.toast.error{background:#b91c1c}.toast.success{background:#065f46}';
21
21
  var Wc = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
22
22
  function Aa(n) {
23
23
  return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
@@ -279,18 +279,18 @@ function Bx() {
279
279
  if (In && At && typeof In.stack == "string") {
280
280
  for (var Lt = In.stack.split(`
281
281
  `), vn = At.stack.split(`
282
- `), Re = Lt.length - 1, Le = vn.length - 1; Re >= 1 && Le >= 0 && Lt[Re] !== vn[Le]; )
283
- Le--;
284
- for (; Re >= 1 && Le >= 0; Re--, Le--)
285
- if (Lt[Re] !== vn[Le]) {
286
- if (Re !== 1 || Le !== 1)
282
+ `), Re = Lt.length - 1, De = vn.length - 1; Re >= 1 && De >= 0 && Lt[Re] !== vn[De]; )
283
+ De--;
284
+ for (; Re >= 1 && De >= 0; Re--, De--)
285
+ if (Lt[Re] !== vn[De]) {
286
+ if (Re !== 1 || De !== 1)
287
287
  do
288
- if (Re--, Le--, Le < 0 || Lt[Re] !== vn[Le]) {
288
+ if (Re--, De--, De < 0 || Lt[Re] !== vn[De]) {
289
289
  var ui = `
290
290
  ` + Lt[Re].replace(" at new ", " at ");
291
291
  return P.displayName && ui.includes("<anonymous>") && (ui = ui.replace("<anonymous>", P.displayName)), typeof P == "function" && bt.set(P, ui), ui;
292
292
  }
293
- while (Re >= 1 && Le >= 0);
293
+ while (Re >= 1 && De >= 0);
294
294
  break;
295
295
  }
296
296
  }
@@ -475,8 +475,8 @@ function Bx() {
475
475
  Bt[Jt] === void 0 && (Bt[Jt] = Re[Jt]);
476
476
  }
477
477
  if (Lt || vn) {
478
- var Le = typeof P == "function" ? P.displayName || P.name || "Unknown" : P;
479
- Lt && Et(Bt, Le), vn && qt(Bt, Le);
478
+ var De = typeof P == "function" ? P.displayName || P.name || "Unknown" : P;
479
+ Lt && Et(Bt, De), vn && qt(Bt, De);
480
480
  }
481
481
  return ae(P, Lt, vn, Xt, At, X.current, Bt);
482
482
  }
@@ -603,9 +603,9 @@ Check the top-level render call using <` + it + ">.");
603
603
  var Re;
604
604
  P === null ? Re = "null" : Yi(P) ? Re = "array" : P !== void 0 && P.$$typeof === t ? (Re = "<" + (N(P.type) || "Unknown") + " />", Lt = " Did you accidentally export a JSX literal instead of a component?") : Re = typeof P, w("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", Re, Lt);
605
605
  }
606
- var Le = Te(P, V, it, Xt, Jt);
607
- if (Le == null)
608
- return Le;
606
+ var De = Te(P, V, it, Xt, Jt);
607
+ if (De == null)
608
+ return De;
609
609
  if (Bt) {
610
610
  var ui = V.children;
611
611
  if (ui !== void 0)
@@ -633,7 +633,7 @@ React keys must be passed directly to JSX without using spread:
633
633
  <%s key={someKey} {...props} />`, If, no, Lx, no), _a[no + If] = !0;
634
634
  }
635
635
  }
636
- return P === i ? ds(Le) : ki(Le), Le;
636
+ return P === i ? ds(De) : ki(De), De;
637
637
  }
638
638
  }
639
639
  function eo(P, V, it) {
@@ -5373,33 +5373,37 @@ const R0 = "chatui_tour_done_v1", HS = () => {
5373
5373
  }
5374
5374
  };
5375
5375
  function WS() {
5376
- const [n, t] = fe(HS());
5376
+ const [n, t] = fe(!1), e = Me(HS());
5377
5377
  si(() => {
5378
- const l = () => t(!0);
5379
- return window.addEventListener("start-chat-tour", l), () => window.removeEventListener("start-chat-tour", l);
5378
+ const u = () => {
5379
+ requestAnimationFrame(() => requestAnimationFrame(() => {
5380
+ l(!0), t(!0);
5381
+ }));
5382
+ };
5383
+ return window.addEventListener("start-chat-tour", u), () => window.removeEventListener("start-chat-tour", u);
5380
5384
  }, []), si(() => {
5381
- var h;
5385
+ var d;
5382
5386
  if (!n) return;
5383
- const l = "tour-overflow-fix";
5384
- let u = document.getElementById(l);
5385
- u || (u = document.createElement("style"), u.id = l, u.textContent = ".messages-main{overflow:auto !important;}", document.head.appendChild(u));
5387
+ const u = "tour-overflow-fix";
5388
+ let h = document.getElementById(u);
5389
+ h || (h = document.createElement("style"), h.id = u, h.textContent = ".messages-main{overflow:auto !important;}", document.head.appendChild(h));
5386
5390
  try {
5387
- (h = document.querySelector(".messages-main")) == null || h.style.removeProperty("overflow");
5391
+ (d = document.querySelector(".messages-main")) == null || d.style.removeProperty("overflow");
5388
5392
  } catch {
5389
5393
  }
5390
5394
  return () => {
5391
- var d;
5395
+ var f;
5392
5396
  try {
5393
- u && u.remove();
5397
+ h && h.remove();
5394
5398
  } catch {
5395
5399
  }
5396
5400
  try {
5397
- (d = document.querySelector(".messages-main")) == null || d.style.removeProperty("overflow");
5401
+ (f = document.querySelector(".messages-main")) == null || f.style.removeProperty("overflow");
5398
5402
  } catch {
5399
5403
  }
5400
5404
  };
5401
5405
  }, [n]);
5402
- const e = ja(() => [
5406
+ const i = ja(() => [
5403
5407
  {
5404
5408
  target: ".chat-container",
5405
5409
  placement: "center",
@@ -5439,99 +5443,102 @@ function WS() {
5439
5443
  content: "Create a fresh conversation anytime to keep topics organized.",
5440
5444
  placement: "right"
5441
5445
  }
5442
- ], []), i = Fe(null), r = ja(() => {
5443
- var d, f;
5444
- const l = ((f = (d = i.current) == null ? void 0 : d.getRootNode) == null ? void 0 : f.call(d)) || document, u = (p) => {
5445
- var g;
5446
+ ], []), r = Me(null), s = ja(() => {
5447
+ var f, p;
5448
+ const u = ((p = (f = r.current) == null ? void 0 : f.getRootNode) == null ? void 0 : p.call(f)) || document, h = (g) => {
5449
+ var m;
5446
5450
  try {
5447
- return ((g = l.querySelector) == null ? void 0 : g.call(l, p)) ?? null;
5451
+ return ((m = u.querySelector) == null ? void 0 : m.call(u, g)) ?? null;
5448
5452
  } catch {
5449
5453
  return null;
5450
5454
  }
5451
- }, h = u(".chat-container") || i.current;
5452
- return e.map((p, g) => {
5453
- const m = typeof p.target == "string" ? p.target : "", v = m ? u(m) : null;
5454
- return v ? { ...p, target: v } : (console.debug("[tour] step", g, "missing target in root:", m, "-> fallback to chat container"), { ...p, target: h ?? document.body, placement: "center" });
5455
+ }, d = h(".chat-container") || r.current;
5456
+ return i.map((g, m) => {
5457
+ const v = typeof g.target == "string" ? g.target : "", b = v ? h(v) : null;
5458
+ return b ? { ...g, target: b } : (console.debug("[tour] step", m, "missing target in root:", v, "-> fallback to chat container"), { ...g, target: d ?? document.body, placement: "center" });
5455
5459
  });
5456
- }, [e, n]), s = Bn((l) => {
5457
- var d;
5458
- const { status: u } = l;
5459
- if (u === Nt.FINISHED || u === Nt.SKIPPED) {
5460
+ }, [i, n]), o = Bn((u) => {
5461
+ var f;
5462
+ const { status: h } = u;
5463
+ if (h === Nt.FINISHED || h === Nt.SKIPPED) {
5460
5464
  US(), t(!1);
5461
5465
  try {
5462
- (d = document.querySelector(".messages-main")) == null || d.style.removeProperty("overflow");
5466
+ (f = document.querySelector(".messages-main")) == null || f.style.removeProperty("overflow");
5463
5467
  } catch {
5464
5468
  }
5465
5469
  }
5466
- }, []), [o, a] = fe(!1);
5470
+ }, []), [a, l] = fe(!1);
5467
5471
  return si(() => {
5468
- var b, w;
5469
- if (!n) {
5470
- a(!1);
5472
+ var p, g;
5473
+ if (!e.current || n) {
5474
+ l(!1);
5471
5475
  return;
5472
5476
  }
5473
- const l = ((w = (b = i.current) == null ? void 0 : b.getRootNode) == null ? void 0 : w.call(b)) || document, u = (E) => {
5474
- var T;
5477
+ const u = ((g = (p = r.current) == null ? void 0 : p.getRootNode) == null ? void 0 : g.call(p)) || document, h = (m) => {
5478
+ var v;
5475
5479
  try {
5476
- return ((T = l.querySelector) == null ? void 0 : T.call(l, E)) ?? null;
5480
+ return ((v = u.querySelector) == null ? void 0 : v.call(u, m)) ?? null;
5477
5481
  } catch {
5478
5482
  return null;
5479
5483
  }
5480
- }, h = e.map((E) => typeof E.target == "string" ? E.target : "").filter(Boolean), d = () => h.some((E) => !!u(E));
5481
- let f = 0, p = 0, g = null, m = null;
5482
- const v = () => {
5483
- f = requestAnimationFrame(() => {
5484
- p = requestAnimationFrame(() => a(!0));
5485
- });
5486
- };
5487
- if (d())
5488
- v();
5489
- else {
5490
- const E = l instanceof Document ? l.documentElement : l;
5491
- try {
5492
- g = new MutationObserver(() => {
5493
- if (d()) {
5494
- try {
5495
- g && g.disconnect();
5496
- } catch {
5497
- }
5498
- v();
5484
+ }, d = i.map((m) => typeof m.target == "string" ? m.target : "").filter(Boolean), f = d.map((m) => h(m)).filter(Boolean);
5485
+ if (f.length !== d.length) {
5486
+ const m = new MutationObserver(() => {
5487
+ const b = d.map((w) => h(w)).filter(Boolean);
5488
+ if (b.length === d.length) {
5489
+ try {
5490
+ m.disconnect();
5491
+ } catch {
5499
5492
  }
5500
- }), g.observe(E, { childList: !0, subtree: !0 });
5493
+ const w = new IntersectionObserver((E, T) => {
5494
+ if (E.every((_) => _.isIntersecting)) {
5495
+ try {
5496
+ T.disconnect();
5497
+ } catch {
5498
+ }
5499
+ requestAnimationFrame(() => requestAnimationFrame(() => {
5500
+ l(!0), t(!0);
5501
+ }));
5502
+ }
5503
+ }, { root: u instanceof ShadowRoot ? u : null, threshold: 0 });
5504
+ b.forEach((E) => w.observe(E));
5505
+ }
5506
+ }), v = u instanceof Document ? u.documentElement : u;
5507
+ try {
5508
+ m.observe(v, { childList: !0, subtree: !0 });
5501
5509
  } catch {
5502
5510
  }
5503
- m = setTimeout(() => {
5511
+ return () => {
5504
5512
  try {
5505
- g && g.disconnect();
5513
+ m.disconnect();
5506
5514
  } catch {
5507
5515
  }
5508
- v();
5509
- }, 2e3);
5516
+ };
5517
+ } else {
5518
+ const m = new IntersectionObserver((v, b) => {
5519
+ if (v.every((E) => E.isIntersecting)) {
5520
+ try {
5521
+ b.disconnect();
5522
+ } catch {
5523
+ }
5524
+ requestAnimationFrame(() => requestAnimationFrame(() => {
5525
+ l(!0), t(!0);
5526
+ }));
5527
+ }
5528
+ }, { root: u instanceof ShadowRoot ? u : null, threshold: 0 });
5529
+ return f.forEach((v) => m.observe(v)), () => {
5530
+ try {
5531
+ m.disconnect();
5532
+ } catch {
5533
+ }
5534
+ };
5510
5535
  }
5511
- return () => {
5512
- try {
5513
- cancelAnimationFrame(f);
5514
- } catch {
5515
- }
5516
- try {
5517
- cancelAnimationFrame(p);
5518
- } catch {
5519
- }
5520
- try {
5521
- g && g.disconnect();
5522
- } catch {
5523
- }
5524
- try {
5525
- clearTimeout(m);
5526
- } catch {
5527
- }
5528
- };
5529
- }, [n, e]), /* @__PURE__ */ I.jsxs(I.Fragment, { children: [
5530
- /* @__PURE__ */ I.jsx("span", { ref: i, style: { position: "absolute", inset: 0, pointerEvents: "none" }, "aria-hidden": !0 }),
5531
- n && o && /* @__PURE__ */ I.jsx(
5536
+ }, [i, n]), /* @__PURE__ */ I.jsxs(I.Fragment, { children: [
5537
+ /* @__PURE__ */ I.jsx("span", { ref: r, style: { position: "absolute", inset: 0, pointerEvents: "none" }, "aria-hidden": !0 }),
5538
+ n && a && /* @__PURE__ */ I.jsx(
5532
5539
  $S,
5533
5540
  {
5534
- steps: r,
5541
+ steps: s,
5535
5542
  run: n,
5536
5543
  continuous: !0,
5537
5544
  showSkipButton: !0,
@@ -5546,7 +5553,7 @@ function WS() {
5546
5553
  }
5547
5554
  },
5548
5555
  spotlightClicks: !0,
5549
- callback: s
5556
+ callback: o
5550
5557
  }
5551
5558
  )
5552
5559
  ] });
@@ -5621,14 +5628,14 @@ Hn.prototype.property = "";
5621
5628
  Hn.prototype.spaceSeparated = !1;
5622
5629
  Hn.prototype.space = void 0;
5623
5630
  let JS = 0;
5624
- const Tt = Ea(), Ne = Ea(), xp = Ea(), G = Ea(), pe = Ea(), $a = Ea(), Wn = Ea();
5631
+ const Tt = Ea(), Fe = Ea(), xp = Ea(), G = Ea(), pe = Ea(), $a = Ea(), Wn = Ea();
5625
5632
  function Ea() {
5626
5633
  return 2 ** ++JS;
5627
5634
  }
5628
5635
  const Ap = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5629
5636
  __proto__: null,
5630
5637
  boolean: Tt,
5631
- booleanish: Ne,
5638
+ booleanish: Fe,
5632
5639
  commaOrSpaceSeparated: Wn,
5633
5640
  commaSeparated: $a,
5634
5641
  number: G,
@@ -5681,10 +5688,10 @@ function rc(n) {
5681
5688
  const O0 = rc({
5682
5689
  properties: {
5683
5690
  ariaActiveDescendant: null,
5684
- ariaAtomic: Ne,
5691
+ ariaAtomic: Fe,
5685
5692
  ariaAutoComplete: null,
5686
- ariaBusy: Ne,
5687
- ariaChecked: Ne,
5693
+ ariaBusy: Fe,
5694
+ ariaChecked: Fe,
5688
5695
  ariaColCount: G,
5689
5696
  ariaColIndex: G,
5690
5697
  ariaColSpan: G,
@@ -5692,36 +5699,36 @@ const O0 = rc({
5692
5699
  ariaCurrent: null,
5693
5700
  ariaDescribedBy: pe,
5694
5701
  ariaDetails: null,
5695
- ariaDisabled: Ne,
5702
+ ariaDisabled: Fe,
5696
5703
  ariaDropEffect: pe,
5697
5704
  ariaErrorMessage: null,
5698
- ariaExpanded: Ne,
5705
+ ariaExpanded: Fe,
5699
5706
  ariaFlowTo: pe,
5700
- ariaGrabbed: Ne,
5707
+ ariaGrabbed: Fe,
5701
5708
  ariaHasPopup: null,
5702
- ariaHidden: Ne,
5709
+ ariaHidden: Fe,
5703
5710
  ariaInvalid: null,
5704
5711
  ariaKeyShortcuts: null,
5705
5712
  ariaLabel: null,
5706
5713
  ariaLabelledBy: pe,
5707
5714
  ariaLevel: G,
5708
5715
  ariaLive: null,
5709
- ariaModal: Ne,
5710
- ariaMultiLine: Ne,
5711
- ariaMultiSelectable: Ne,
5716
+ ariaModal: Fe,
5717
+ ariaMultiLine: Fe,
5718
+ ariaMultiSelectable: Fe,
5712
5719
  ariaOrientation: null,
5713
5720
  ariaOwns: pe,
5714
5721
  ariaPlaceholder: null,
5715
5722
  ariaPosInSet: G,
5716
- ariaPressed: Ne,
5717
- ariaReadOnly: Ne,
5723
+ ariaPressed: Fe,
5724
+ ariaReadOnly: Fe,
5718
5725
  ariaRelevant: null,
5719
- ariaRequired: Ne,
5726
+ ariaRequired: Fe,
5720
5727
  ariaRoleDescription: pe,
5721
5728
  ariaRowCount: G,
5722
5729
  ariaRowIndex: G,
5723
5730
  ariaRowSpan: G,
5724
- ariaSelected: Ne,
5731
+ ariaSelected: Fe,
5725
5732
  ariaSetSize: G,
5726
5733
  ariaSort: null,
5727
5734
  ariaValueMax: G,
@@ -5775,7 +5782,7 @@ const QS = rc({
5775
5782
  cols: G,
5776
5783
  colSpan: null,
5777
5784
  content: null,
5778
- contentEditable: Ne,
5785
+ contentEditable: Fe,
5779
5786
  controls: Tt,
5780
5787
  controlsList: pe,
5781
5788
  coords: G | $a,
@@ -5789,7 +5796,7 @@ const QS = rc({
5789
5796
  dirName: null,
5790
5797
  disabled: Tt,
5791
5798
  download: xp,
5792
- draggable: Ne,
5799
+ draggable: Fe,
5793
5800
  encType: null,
5794
5801
  enterKeyHint: null,
5795
5802
  fetchPriority: null,
@@ -5960,7 +5967,7 @@ const QS = rc({
5960
5967
  sizes: null,
5961
5968
  slot: null,
5962
5969
  span: G,
5963
- spellCheck: Ne,
5970
+ spellCheck: Fe,
5964
5971
  src: null,
5965
5972
  srcDoc: null,
5966
5973
  srcLang: null,
@@ -5975,7 +5982,7 @@ const QS = rc({
5975
5982
  type: null,
5976
5983
  typeMustMatch: Tt,
5977
5984
  useMap: null,
5978
- value: Ne,
5985
+ value: Fe,
5979
5986
  width: G,
5980
5987
  wrap: null,
5981
5988
  writingSuggestions: null,
@@ -6067,7 +6074,7 @@ const QS = rc({
6067
6074
  // `<table>`
6068
6075
  scheme: null,
6069
6076
  // `<meta>`
6070
- scrolling: Ne,
6077
+ scrolling: Fe,
6071
6078
  // `<frame>`. Use overflow in the child context
6072
6079
  standby: null,
6073
6080
  // `<object>`
@@ -18306,7 +18313,7 @@ class oI {
18306
18313
  const qh = {
18307
18314
  DATA: 1,
18308
18315
  ERROR: 2
18309
- }, De = {
18316
+ }, Ne = {
18310
18317
  CANCEL: 1,
18311
18318
  CANCEL_COMPLETE: 2,
18312
18319
  CLOSE: 3,
@@ -18401,7 +18408,7 @@ class Cc {
18401
18408
  return this.streamControllers[s].pullCall = h, l.postMessage({
18402
18409
  sourceName: o,
18403
18410
  targetName: a,
18404
- stream: De.PULL,
18411
+ stream: Ne.PULL,
18405
18412
  streamId: s,
18406
18413
  desiredSize: u.desiredSize
18407
18414
  }), h.promise;
@@ -18412,7 +18419,7 @@ class Cc {
18412
18419
  return this.streamControllers[s].cancelCall = h, this.streamControllers[s].isClosed = !0, l.postMessage({
18413
18420
  sourceName: o,
18414
18421
  targetName: a,
18415
- stream: De.CANCEL,
18422
+ stream: Ne.CANCEL,
18416
18423
  streamId: s,
18417
18424
  reason: Ln(u)
18418
18425
  }), h.promise;
@@ -18483,7 +18490,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18483
18490
  this.desiredSize -= h, f > 0 && this.desiredSize <= 0 && (this.sinkCapability = Promise.withResolvers(), this.ready = this.sinkCapability.promise), s.postMessage({
18484
18491
  sourceName: i,
18485
18492
  targetName: r,
18486
- stream: De.ENQUEUE,
18493
+ stream: Ne.ENQUEUE,
18487
18494
  streamId: e,
18488
18495
  chunk: u
18489
18496
  }, d);
@@ -18492,7 +18499,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18492
18499
  this.isCancelled || (this.isCancelled = !0, s.postMessage({
18493
18500
  sourceName: i,
18494
18501
  targetName: r,
18495
- stream: De.CLOSE,
18502
+ stream: Ne.CLOSE,
18496
18503
  streamId: e
18497
18504
  }), delete o.streamSinks[e]);
18498
18505
  },
@@ -18500,7 +18507,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18500
18507
  je(u instanceof Error, "error must have a valid reason"), !this.isCancelled && (this.isCancelled = !0, s.postMessage({
18501
18508
  sourceName: i,
18502
18509
  targetName: r,
18503
- stream: De.ERROR,
18510
+ stream: Ne.ERROR,
18504
18511
  streamId: e,
18505
18512
  reason: Ln(u)
18506
18513
  }));
@@ -18516,7 +18523,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18516
18523
  s.postMessage({
18517
18524
  sourceName: i,
18518
18525
  targetName: r,
18519
- stream: De.START_COMPLETE,
18526
+ stream: Ne.START_COMPLETE,
18520
18527
  streamId: e,
18521
18528
  success: !0
18522
18529
  });
@@ -18524,7 +18531,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18524
18531
  s.postMessage({
18525
18532
  sourceName: i,
18526
18533
  targetName: r,
18527
- stream: De.START_COMPLETE,
18534
+ stream: Ne.START_COMPLETE,
18528
18535
  streamId: e,
18529
18536
  reason: Ln(u)
18530
18537
  });
@@ -18532,18 +18539,18 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18532
18539
  }, yw = function(t) {
18533
18540
  const e = t.streamId, i = this.sourceName, r = t.sourceName, s = this.comObj, o = this.streamControllers[e], a = this.streamSinks[e];
18534
18541
  switch (t.stream) {
18535
- case De.START_COMPLETE:
18542
+ case Ne.START_COMPLETE:
18536
18543
  t.success ? o.startCall.resolve() : o.startCall.reject(Ln(t.reason));
18537
18544
  break;
18538
- case De.PULL_COMPLETE:
18545
+ case Ne.PULL_COMPLETE:
18539
18546
  t.success ? o.pullCall.resolve() : o.pullCall.reject(Ln(t.reason));
18540
18547
  break;
18541
- case De.PULL:
18548
+ case Ne.PULL:
18542
18549
  if (!a) {
18543
18550
  s.postMessage({
18544
18551
  sourceName: i,
18545
18552
  targetName: r,
18546
- stream: De.PULL_COMPLETE,
18553
+ stream: Ne.PULL_COMPLETE,
18547
18554
  streamId: e,
18548
18555
  success: !0
18549
18556
  });
@@ -18553,7 +18560,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18553
18560
  s.postMessage({
18554
18561
  sourceName: i,
18555
18562
  targetName: r,
18556
- stream: De.PULL_COMPLETE,
18563
+ stream: Ne.PULL_COMPLETE,
18557
18564
  streamId: e,
18558
18565
  success: !0
18559
18566
  });
@@ -18561,29 +18568,29 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18561
18568
  s.postMessage({
18562
18569
  sourceName: i,
18563
18570
  targetName: r,
18564
- stream: De.PULL_COMPLETE,
18571
+ stream: Ne.PULL_COMPLETE,
18565
18572
  streamId: e,
18566
18573
  reason: Ln(u)
18567
18574
  });
18568
18575
  });
18569
18576
  break;
18570
- case De.ENQUEUE:
18577
+ case Ne.ENQUEUE:
18571
18578
  if (je(o, "enqueue should have stream controller"), o.isClosed)
18572
18579
  break;
18573
18580
  o.controller.enqueue(t.chunk);
18574
18581
  break;
18575
- case De.CLOSE:
18582
+ case Ne.CLOSE:
18576
18583
  if (je(o, "close should have stream controller"), o.isClosed)
18577
18584
  break;
18578
18585
  o.isClosed = !0, o.controller.close(), A(this, Si, ud).call(this, o, e);
18579
18586
  break;
18580
- case De.ERROR:
18587
+ case Ne.ERROR:
18581
18588
  je(o, "error should have stream controller"), o.controller.error(Ln(t.reason)), A(this, Si, ud).call(this, o, e);
18582
18589
  break;
18583
- case De.CANCEL_COMPLETE:
18590
+ case Ne.CANCEL_COMPLETE:
18584
18591
  t.success ? o.cancelCall.resolve() : o.cancelCall.reject(Ln(t.reason)), A(this, Si, ud).call(this, o, e);
18585
18592
  break;
18586
- case De.CANCEL:
18593
+ case Ne.CANCEL:
18587
18594
  if (!a)
18588
18595
  break;
18589
18596
  const l = Ln(t.reason);
@@ -18591,7 +18598,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18591
18598
  s.postMessage({
18592
18599
  sourceName: i,
18593
18600
  targetName: r,
18594
- stream: De.CANCEL_COMPLETE,
18601
+ stream: Ne.CANCEL_COMPLETE,
18595
18602
  streamId: e,
18596
18603
  success: !0
18597
18604
  });
@@ -18599,7 +18606,7 @@ sl = new WeakMap(), Si = new WeakSet(), mw = function({
18599
18606
  s.postMessage({
18600
18607
  sourceName: i,
18601
18608
  targetName: r,
18602
- stream: De.CANCEL_COMPLETE,
18609
+ stream: Ne.CANCEL_COMPLETE,
18603
18610
  streamId: e,
18604
18611
  reason: Ln(u)
18605
18612
  });
@@ -23421,7 +23428,7 @@ class dO {
23421
23428
  case He.FILEATTACHMENT:
23422
23429
  return new TO(t);
23423
23430
  default:
23424
- return new Me(t);
23431
+ return new Le(t);
23425
23432
  }
23426
23433
  }
23427
23434
  }
@@ -23806,9 +23813,9 @@ qo = new WeakMap(), vl = new WeakMap(), wl = new WeakMap(), Wu = new WeakSet(),
23806
23813
  } = Gs(t);
23807
23814
  e.left = `${100 * (t[0] - a) / s}%`, e.top = `${100 * (o - t[3] + l) / o}%`, r === 0 ? (e.width = `${100 * u / s}%`, e.height = `${100 * h / o}%`) : this.setRotation(r);
23808
23815
  };
23809
- let Me = Mm;
23816
+ let Le = Mm;
23810
23817
  var ri, so, $w, Hw;
23811
- class Bw extends Me {
23818
+ class Bw extends Le {
23812
23819
  constructor(e, i = null) {
23813
23820
  super(e, {
23814
23821
  isRenderable: !0,
@@ -23942,7 +23949,7 @@ ri = new WeakSet(), so = function() {
23942
23949
  }, Hw = function(e, i) {
23943
23950
  e.href = this.linkService.getAnchorUrl(""), e.onclick = () => (this.linkService.executeSetOCGState(i), !1), A(this, ri, so).call(this);
23944
23951
  };
23945
- class fO extends Me {
23952
+ class fO extends Le {
23946
23953
  constructor(t) {
23947
23954
  super(t, {
23948
23955
  isRenderable: !0
@@ -23956,7 +23963,7 @@ class fO extends Me {
23956
23963
  })), !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.append(t), this.container;
23957
23964
  }
23958
23965
  }
23959
- class ka extends Me {
23966
+ class ka extends Le {
23960
23967
  render() {
23961
23968
  return this.container;
23962
23969
  }
@@ -24498,14 +24505,14 @@ class yO extends ka {
24498
24505
  }), this.data.combo && this._setTextStyle(r), this._setBackgroundColor(r), this._setDefaultPropertiesFromJS(r), this.container.append(r), this.container;
24499
24506
  }
24500
24507
  }
24501
- class gg extends Me {
24508
+ class gg extends Le {
24502
24509
  constructor(t) {
24503
24510
  const {
24504
24511
  data: e,
24505
24512
  elements: i
24506
24513
  } = t;
24507
24514
  super(t, {
24508
- isRenderable: Me._hasPopupData(e)
24515
+ isRenderable: Le._hasPopupData(e)
24509
24516
  }), this.elements = i, this.popup = null;
24510
24517
  }
24511
24518
  render() {
@@ -24717,7 +24724,7 @@ xl = new WeakMap(), af = new WeakMap(), lf = new WeakMap(), Al = new WeakMap(),
24717
24724
  }, bg = function() {
24718
24725
  c(this, Pe).classList.remove("focused"), !(c(this, Yr) || !this.isVisible) && (c(this, Pe).hidden = !0, c(this, Pe).style.zIndex = parseInt(c(this, Pe).style.zIndex) - 1e3);
24719
24726
  };
24720
- class Yw extends Me {
24727
+ class Yw extends Le {
24721
24728
  constructor(t) {
24722
24729
  super(t, {
24723
24730
  isRenderable: !0,
@@ -24738,7 +24745,7 @@ class Yw extends Me {
24738
24745
  }
24739
24746
  }
24740
24747
  var Xu;
24741
- class wO extends Me {
24748
+ class wO extends Le {
24742
24749
  constructor(e) {
24743
24750
  super(e, {
24744
24751
  isRenderable: !0,
@@ -24763,7 +24770,7 @@ class wO extends Me {
24763
24770
  }
24764
24771
  Xu = new WeakMap();
24765
24772
  var Ku;
24766
- class xO extends Me {
24773
+ class xO extends Le {
24767
24774
  constructor(e) {
24768
24775
  super(e, {
24769
24776
  isRenderable: !0,
@@ -24788,7 +24795,7 @@ class xO extends Me {
24788
24795
  }
24789
24796
  Ku = new WeakMap();
24790
24797
  var Ju;
24791
- class AO extends Me {
24798
+ class AO extends Le {
24792
24799
  constructor(e) {
24793
24800
  super(e, {
24794
24801
  isRenderable: !0,
@@ -24813,7 +24820,7 @@ class AO extends Me {
24813
24820
  }
24814
24821
  Ju = new WeakMap();
24815
24822
  var Qu;
24816
- class Xw extends Me {
24823
+ class Xw extends Le {
24817
24824
  constructor(e) {
24818
24825
  super(e, {
24819
24826
  isRenderable: !0,
@@ -24860,7 +24867,7 @@ class SO extends Xw {
24860
24867
  super(t), this.containerClassName = "polygonAnnotation", this.svgElementName = "svg:polygon";
24861
24868
  }
24862
24869
  }
24863
- class EO extends Me {
24870
+ class EO extends Le {
24864
24871
  constructor(t) {
24865
24872
  super(t, {
24866
24873
  isRenderable: !0,
@@ -24872,7 +24879,7 @@ class EO extends Me {
24872
24879
  }
24873
24880
  }
24874
24881
  var Zu, Ko, th, yg;
24875
- class Pm extends Me {
24882
+ class Pm extends Le {
24876
24883
  constructor(e) {
24877
24884
  super(e, {
24878
24885
  isRenderable: !0,
@@ -24959,7 +24966,7 @@ Zu = new WeakMap(), Ko = new WeakMap(), th = new WeakSet(), yg = function(e, i)
24959
24966
  };
24960
24967
  }
24961
24968
  };
24962
- class Kw extends Me {
24969
+ class Kw extends Le {
24963
24970
  constructor(t) {
24964
24971
  super(t, {
24965
24972
  isRenderable: !0,
@@ -24971,7 +24978,7 @@ class Kw extends Me {
24971
24978
  return !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.classList.add("highlightAnnotation"), this._editOnDoubleClick(), this.container;
24972
24979
  }
24973
24980
  }
24974
- class kO extends Me {
24981
+ class kO extends Le {
24975
24982
  constructor(t) {
24976
24983
  super(t, {
24977
24984
  isRenderable: !0,
@@ -24983,7 +24990,7 @@ class kO extends Me {
24983
24990
  return !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.classList.add("underlineAnnotation"), this.container;
24984
24991
  }
24985
24992
  }
24986
- class _O extends Me {
24993
+ class _O extends Le {
24987
24994
  constructor(t) {
24988
24995
  super(t, {
24989
24996
  isRenderable: !0,
@@ -24995,7 +25002,7 @@ class _O extends Me {
24995
25002
  return !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.classList.add("squigglyAnnotation"), this.container;
24996
25003
  }
24997
25004
  }
24998
- class CO extends Me {
25005
+ class CO extends Le {
24999
25006
  constructor(t) {
25000
25007
  super(t, {
25001
25008
  isRenderable: !0,
@@ -25007,7 +25014,7 @@ class CO extends Me {
25007
25014
  return !this.data.popupRef && this.hasPopupData && this._createPopup(), this.container.classList.add("strikeoutAnnotation"), this.container;
25008
25015
  }
25009
25016
  }
25010
- class Jw extends Me {
25017
+ class Jw extends Le {
25011
25018
  constructor(t) {
25012
25019
  super(t, {
25013
25020
  isRenderable: !0,
@@ -25019,7 +25026,7 @@ class Jw extends Me {
25019
25026
  }
25020
25027
  }
25021
25028
  var eh, nh, vg;
25022
- class TO extends Me {
25029
+ class TO extends Le {
25023
25030
  constructor(e) {
25024
25031
  var r;
25025
25032
  super(e, {
@@ -28950,7 +28957,7 @@ function jO() {
28950
28957
  }
28951
28958
  const Hy = /* @__PURE__ */ new Map();
28952
28959
  function zO({ fileUrl: n, pageNumber: t, onMeta: e, scrollBehavior: i = "auto", highlights: r, clientId: s, apiKey: o, authToken: a }) {
28953
- const [l, u] = fe(0), [h, d] = fe(!0), [f, p] = fe(null), [g, m] = fe(0), v = Fe([]), b = Fe([]), w = Fe(null), E = Fe(null), T = Fe(!1), C = Fe(null), _ = Fe(null), O = Fe(1), U = Bn((D) => {
28960
+ const [l, u] = fe(0), [h, d] = fe(!0), [f, p] = fe(null), [g, m] = fe(0), v = Me([]), b = Me([]), w = Me(null), E = Me(null), T = Me(!1), C = Me(null), _ = Me(null), O = Me(1), U = Bn((D) => {
28954
28961
  try {
28955
28962
  return !D || /^https?:\/\//i.test(D) ? D : new URL(D, window.location.origin).href;
28956
28963
  } catch {
@@ -29237,7 +29244,7 @@ function BO({
29237
29244
  onChangePage: h,
29238
29245
  onMeta: d
29239
29246
  }) {
29240
- const [f, p] = fe(!1), g = Fe(null), m = Fe(null), v = Fe(null);
29247
+ const [f, p] = fe(!1), g = Me(null), m = Me(null), v = Me(null);
29241
29248
  return /* @__PURE__ */ I.jsx("div", { className: `modal ${n && t ? "open" : ""}`, onClick: u, children: /* @__PURE__ */ I.jsxs("div", { className: "modal-content", onClick: (b) => b.stopPropagation(), children: [
29242
29249
  /* @__PURE__ */ I.jsxs("div", { className: "modal-header", children: [
29243
29250
  /* @__PURE__ */ I.jsx("div", { className: "modal-title", children: e }),
@@ -29343,7 +29350,7 @@ function BO({
29343
29350
  }
29344
29351
  const hp = {};
29345
29352
  function VO({ user: n, generateToken: t, clientId: e, apiBase: i, docsBase: r }) {
29346
- const s = i || "https://fastify.tpsportal.co.nz/api/v1", o = r || "https://fastify.tpsportal.co.nz/api/v1/docs", a = hp == null ? void 0 : hp.VITE_API_KEY, [l, u] = fe([]), [h, d] = fe(""), [f, p] = fe(!1), [g, m] = fe(null), [v, b] = fe(null), [w, E] = fe([]), [T, C] = fe({}), [_, O] = fe({ open: !1 }), [U, B] = fe(null), R = Fe(null), z = Fe(!0), D = Fe(null), N = Fe(!0), $ = Fe(0), [W, M] = fe(!0), [L, nt] = fe(50), [gt, S] = fe(!1), [H, Q] = fe(!1), [k, J] = fe(null), [ut, Y] = fe(!1), [Z, ht] = fe(!0), [xt, bt] = fe(null), ee = Fe(null), tt = Fe(null), ve = Fe(null), { toasts: ue, pushToast: Be } = Vx(), ge = ja(() => Hx({ apiBase: s, generateToken: t, clientId: e }), [s, t, e]), [ci, Ei] = fe();
29353
+ const s = i || "https://fastify.tpsportal.co.nz/api/v1", o = r || "https://fastify.tpsportal.co.nz/api/v1/docs", a = hp == null ? void 0 : hp.VITE_API_KEY, [l, u] = fe([]), [h, d] = fe(""), [f, p] = fe(!1), [g, m] = fe(null), [v, b] = fe(null), [w, E] = fe([]), [T, C] = fe({}), [_, O] = fe({ open: !1 }), [U, B] = fe(null), R = Me(null), z = Me(!0), D = Me(null), N = Me(!0), $ = Me(0), [W, M] = fe(!0), [L, nt] = fe(50), [gt, S] = fe(!1), [H, Q] = fe(!1), [k, J] = fe(null), [ut, Y] = fe(!1), [Z, ht] = fe(!0), [xt, bt] = fe(null), ee = Me(null), tt = Me(null), ve = Me(null), { toasts: ue, pushToast: Be } = Vx(), ge = ja(() => Hx({ apiBase: s, generateToken: t, clientId: e }), [s, t, e]), [ci, Ei] = fe();
29347
29354
  si(() => {
29348
29355
  t && Promise.resolve(t()).then(Ei).catch(() => Ei(void 0));
29349
29356
  }, [t]);