@opencx/widget-react 5.0.0-beta.3 → 5.0.0-beta.4

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.
@@ -0,0 +1,343 @@
1
+ "use strict";var Ko=Object.defineProperty;var Jo=(e,t,r)=>t in e?Ko(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var as=(e,t,r)=>Jo(e,typeof t!="symbol"?t+"":t,r);const s=require("react/jsx-dev-runtime"),Qo=require("@radix-ui/react-popover"),B=require("framer-motion"),c=require("react"),k=require("@opencx/widget-react-headless"),h=require("zod"),re=require("react/jsx-runtime"),Q=require("@opencx/widget-core"),A=require("lucide-react"),ea=require("clsx"),ta=require("tailwind-merge"),ra=require("@radix-ui/react-slot"),tn=require("class-variance-authority"),rn=require("remark-gfm"),sa=require("react-markdown"),sn=require("rehype-raw"),gt=require("rehype-sanitize"),na=require("@radix-ui/react-avatar"),nn=require("@uiw/react-iframe"),is=require("tinycolor2"),oa=require("@radix-ui/react-tooltip"),kt=require("react-dom"),aa=require("@radix-ui/react-menu"),ia=require("html-to-image"),la=require("react-dropzone"),on=require("@shardsui/notation"),ca=require("react-use/lib/useAsyncFn");function Et(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const We=Et(Qo),Ue=Et(c),ut=Et(na),Ee=Et(oa),ye=Et(aa);var an=h.z.union([h.z.string(),h.z.number(),h.z.boolean(),h.z.null(),h.z.object({$state:h.z.string()})]);h.z.union([h.z.string(),h.z.object({$state:h.z.string()})]);h.z.union([h.z.number(),h.z.object({$state:h.z.string()})]);h.z.union([h.z.boolean(),h.z.object({$state:h.z.string()})]);function ln(e,t){if(e!=null)return typeof e=="object"&&"$state"in e?le(t,e.$state):e}function ma(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Ct(e){return(e.startsWith("/")?e.slice(1).split("/"):e.split("/")).map(ma)}function le(e,t){if(!t||t==="/")return e;const r=Ct(t);let n=e;for(const o of r){if(n==null)return;if(Array.isArray(n)){const i=parseInt(o,10);n=n[i]}else if(typeof n=="object")n=n[o];else return}return n}function cn(e){return/^\d+$/.test(e)}function ua(e,t,r){const n=Ct(t);if(n.length===0)return;let o=e;for(let a=0;a<n.length-1;a++){const l=n[a],m=n[a+1],u=m!==void 0&&(cn(m)||m==="-");if(Array.isArray(o)){const p=parseInt(l,10);(o[p]===void 0||typeof o[p]!="object")&&(o[p]=u?[]:{}),o=o[p]}else(!(l in o)||typeof o[l]!="object")&&(o[l]=u?[]:{}),o=o[l]}const i=n[n.length-1];if(Array.isArray(o))if(i==="-")o.push(r);else{const a=parseInt(i,10);o[a]=r}else o[i]=r}function er(e,t,r){const n=Ct(t);if(n.length===0)return;let o=e;for(let a=0;a<n.length-1;a++){const l=n[a],m=n[a+1],u=m!==void 0&&(cn(m)||m==="-");if(Array.isArray(o)){const p=parseInt(l,10);(o[p]===void 0||typeof o[p]!="object")&&(o[p]=u?[]:{}),o=o[p]}else(!(l in o)||typeof o[l]!="object")&&(o[l]=u?[]:{}),o=o[l]}const i=n[n.length-1];if(Array.isArray(o))if(i==="-")o.push(r);else{const a=parseInt(i,10);o.splice(a,0,r)}else o[i]=r}function ls(e,t){const r=Ct(t);if(r.length===0)return;let n=e;for(let i=0;i<r.length-1;i++){const a=r[i];if(Array.isArray(n)){const l=parseInt(a,10);if(n[l]===void 0||typeof n[l]!="object")return;n=n[l]}else{if(!(a in n)||typeof n[a]!="object")return;n=n[a]}}const o=r[r.length-1];if(Array.isArray(n)){const i=parseInt(o,10);i>=0&&i<n.length&&n.splice(i,1)}else delete n[o]}function cr(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!="object")return!1;if(Array.isArray(e))return!Array.isArray(t)||e.length!==t.length?!1:e.every((a,l)=>cr(a,t[l]));const r=e,n=t,o=Object.keys(r),i=Object.keys(n);return o.length!==i.length?!1:o.every(a=>cr(r[a],n[a]))}function mn(e){const t=e.trim();if(!t||!t.startsWith("{"))return null;try{const r=JSON.parse(t);return r.op&&r.path!==void 0?r:null}catch{return null}}function un(e,t){switch(t.op){case"add":er(e,t.path,t.value);break;case"replace":ua(e,t.path,t.value);break;case"remove":ls(e,t.path);break;case"move":{if(!t.from)break;const r=le(e,t.from);ls(e,t.from),er(e,t.path,r);break}case"copy":{if(!t.from)break;const r=le(e,t.from);er(e,t.path,r);break}case"test":{const r=le(e,t.path);if(!cr(r,t.value))throw new Error(`Test operation failed: value at "${t.path}" does not match`);break}}return e}function pa(e,t){return un(e,t),e}function da(e){const t={};let r=0;function n(a){const l=`el-${r++}`,{type:m,props:u,children:p,...d}=a,f=[];if(Array.isArray(p))for(const N of p)N&&typeof N=="object"&&"type"in N&&f.push(n(N));const g={type:m??"unknown",props:u??{},children:f};for(const[N,y]of Object.entries(d))N!=="state"&&y!==void 0&&(g[N]=y);return t[l]=g,l}const i={root:n(e),elements:t};return e.state&&typeof e.state=="object"&&!Array.isArray(e.state)&&(i.state=e.state),i}function fa(e,t={}){const r=e.split(`
2
+ `),n={...t};for(const o of r){const i=mn(o);i&&un(n,i)}return n}var ha="spec",ga=`data-${ha}`;function cs(e,t,r){const n=Ct(t);if(n.length===0)return e;const o={...e};let i=o;for(let l=0;l<n.length-1;l++){const m=n[l],u=i[m];if(Array.isArray(u))i[m]=[...u];else if(u!==null&&typeof u=="object")i[m]={...u};else{const p=n[l+1];i[m]=p!==void 0&&/^\d+$/.test(p)?[]:{}}i=i[m]}const a=n[n.length-1];return Array.isArray(i)?a==="-"?i.push(r):i[parseInt(a,10)]=r:i[a]=r,o}function ba(e={}){let t={...e};const r=new Set;function n(){for(const o of r)o()}return{get(o){return le(t,o)},set(o,i){le(t,o)!==i&&(t=cs(t,o,i),n())},update(o){let i=!1,a=t;for(const[l,m]of Object.entries(o))le(a,l)!==m&&(a=cs(a,l,m),i=!0);i&&(t=a,n())},getSnapshot(){return t},getServerSnapshot(){return t},subscribe(o){return r.add(o),()=>{r.delete(o)}}}}var tr=20;function Cr(e,t="",r=0,n,o){const i=n??new Set,a=o??{current:!1},l={};for(const[m,u]of Object.entries(e)){const p=`${t}/${m}`;r<tr&&u!==null&&typeof u=="object"&&!Array.isArray(u)&&Object.getPrototypeOf(u)===Object.prototype&&!i.has(u)?(i.add(u),Object.assign(l,Cr(u,p,r+1,i,a))):(process.env.NODE_ENV!=="production"&&!a.current&&r>=tr&&u!==null&&typeof u=="object"&&!Array.isArray(u)&&Object.getPrototypeOf(u)===Object.prototype&&!i.has(u)&&(a.current=!0,console.warn(`flattenToPointers: depth limit (${tr}) reached. Nested state beyond this depth will be treated as a leaf value.`)),l[p]=u)}return l}var Mt=h.z.union([h.z.number(),h.z.object({$state:h.z.string()})]),jr={eq:h.z.unknown().optional(),neq:h.z.unknown().optional(),gt:Mt.optional(),gte:Mt.optional(),lt:Mt.optional(),lte:Mt.optional(),not:h.z.literal(!0).optional()},wa=h.z.object({$state:h.z.string(),...jr}),xa=h.z.object({$item:h.z.string(),...jr}),va=h.z.object({$index:h.z.literal(!0),...jr}),ms=h.z.union([wa,xa,va]),mr=h.z.lazy(()=>h.z.union([h.z.boolean(),ms,h.z.array(ms),h.z.object({$and:h.z.array(mr)}),h.z.object({$or:h.z.array(mr)})]));function st(e,t){return typeof e=="object"&&e!==null&&"$state"in e&&typeof e.$state=="string"?le(t.stateModel,e.$state):e}function Na(e){return"$item"in e}function ya(e){return"$index"in e}function ka(e,t){return ya(e)?t.repeatIndex:Na(e)?t.repeatItem===void 0?void 0:e.$item===""?t.repeatItem:le(t.repeatItem,e.$item):le(t.stateModel,e.$state)}function us(e,t){const r=ka(e,t);let n;if(e.eq!==void 0){const o=st(e.eq,t);n=r===o}else if(e.neq!==void 0){const o=st(e.neq,t);n=r!==o}else if(e.gt!==void 0){const o=st(e.gt,t);n=typeof r=="number"&&typeof o=="number"?r>o:!1}else if(e.gte!==void 0){const o=st(e.gte,t);n=typeof r=="number"&&typeof o=="number"?r>=o:!1}else if(e.lt!==void 0){const o=st(e.lt,t);n=typeof r=="number"&&typeof o=="number"?r<o:!1}else if(e.lte!==void 0){const o=st(e.lte,t);n=typeof r=="number"&&typeof o=="number"?r<=o:!1}else n=!!r;return e.not===!0?!n:n}function Ea(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&"$and"in e}function Ca(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&"$or"in e}function it(e,t){return e===void 0?!0:typeof e=="boolean"?e:Array.isArray(e)?e.every(r=>us(r,t)):Ea(e)?e.$and.every(r=>it(r,t)):Ca(e)?e.$or.some(r=>it(r,t)):us(e,t)}function ja(e){const t=new Map;for(const r of e)t.set(r.name,r);return t}function Da(e,t){if(!t||t.size===0)return;let r;for(const[n,o]of t)if(n in e){if(r)throw new Error(`Ambiguous directive: object has multiple directive keys ("${r.name}" and "${n}")`);r=o}return r}function Sa(e){return typeof e=="object"&&e!==null&&"$state"in e&&typeof e.$state=="string"}function pn(e){return typeof e=="object"&&e!==null&&"$item"in e&&typeof e.$item=="string"}function dn(e){return typeof e=="object"&&e!==null&&"$index"in e&&e.$index===!0}function fn(e){return typeof e=="object"&&e!==null&&"$bindState"in e&&typeof e.$bindState=="string"}function hn(e){return typeof e=="object"&&e!==null&&"$bindItem"in e&&typeof e.$bindItem=="string"}function Va(e){return typeof e=="object"&&e!==null&&"$cond"in e&&"$then"in e&&"$else"in e}function Pa(e){return typeof e=="object"&&e!==null&&"$computed"in e&&typeof e.$computed=="string"}function _a(e){return typeof e=="object"&&e!==null&&"$template"in e&&typeof e.$template=="string"}var Ia=100,rr=new Set;function Dr(e,t){if(t.repeatBasePath==null){console.warn(`$bindItem used outside repeat scope: "${e}"`);return}return e===""?t.repeatBasePath:t.repeatBasePath+"/"+e}function Xe(e,t){var r;if(e==null)return e;if(Sa(e))return le(t.stateModel,e.$state);if(pn(e))return t.repeatItem===void 0?void 0:e.$item===""?t.repeatItem:le(t.repeatItem,e.$item);if(dn(e))return t.repeatIndex;if(fn(e))return le(t.stateModel,e.$bindState);if(hn(e)){const n=Dr(e.$bindItem,t);return n===void 0?void 0:le(t.stateModel,n)}if(Va(e)){const n=it(e.$cond,t);return Xe(n?e.$then:e.$else,t)}if(Pa(e)){const n=(r=t.functions)==null?void 0:r[e.$computed];if(!n){rr.has(e.$computed)||(rr.size<Ia&&rr.add(e.$computed),console.warn(`Unknown $computed function: "${e.$computed}"`));return}const o={};if(e.args)for(const[i,a]of Object.entries(e.args))o[i]=Xe(a,t);return n(o)}if(_a(e))return e.$template.replace(/\$\{([^}]+)\}/g,(n,o)=>{if(o.startsWith("/")){const a=le(t.stateModel,o);return a!=null?String(a):""}if(t.repeatItem!==void 0){const a=le(t.repeatItem,o);if(a!=null)return String(a)}const i=le(t.stateModel,"/"+o);return i!=null?String(i):""});if(Array.isArray(e))return e.map(n=>Xe(n,t));if(typeof e=="object"){const n=Da(e,t.directives);if(n)return n.resolve(e,t);const o={};for(const[i,a]of Object.entries(e))o[i]=Xe(a,t);return o}return e}function Aa(e,t){const r={};for(const[n,o]of Object.entries(e))r[n]=Xe(o,t);return r}function Ma(e,t){let r;for(const[n,o]of Object.entries(e))if(fn(o))r||(r={}),r[n]=o.$bindState;else if(hn(o)){const i=Dr(o.$bindItem,t);i!==void 0&&(r||(r={}),r[n]=i)}return r}function ps(e,t){return pn(e)?Dr(e.$item,t):dn(e)?t.repeatIndex:Xe(e,t)}var gn=new Set;function za(e){for(const t of gn){const r=t.onDispatch;if(r)try{r(e)}catch(n){process.env.NODE_ENV!=="production"&&console.error("[json-render] action observer threw in onDispatch:",n)}}}function Ta(e){for(const t of gn){const r=t.onSettle;if(r)try{r(e)}catch(n){process.env.NODE_ENV!=="production"&&console.error("[json-render] action observer threw in onSettle:",n)}}}var ds=0;function Ra(){return ds+=1,`${Date.now()}-${ds}`}var Oa=0,fs=new Set;function $a(){return Oa>0}function La(e){return fs.add(e),()=>{fs.delete(e)}}var Fa=h.z.object({title:h.z.string(),message:h.z.string(),confirmLabel:h.z.string().optional(),cancelLabel:h.z.string().optional(),variant:h.z.enum(["default","danger"]).optional()}),Wa=h.z.union([h.z.object({navigate:h.z.string()}),h.z.object({set:h.z.record(h.z.string(),h.z.unknown())}),h.z.object({action:h.z.string()})]),Ha=h.z.union([h.z.object({set:h.z.record(h.z.string(),h.z.unknown())}),h.z.object({action:h.z.string()})]);h.z.object({action:h.z.string(),params:h.z.record(h.z.string(),an).optional(),confirm:Fa.optional(),onSuccess:Wa.optional(),onError:Ha.optional(),preventDefault:h.z.boolean().optional()});function Ba(e,t){const r={};if(e.params)for(const[o,i]of Object.entries(e.params))r[o]=ln(i,t);let n=e.confirm;return n&&(n={...n,message:hs(n.message,t),title:hs(n.title,t)}),{action:e.action,params:r,confirm:n,onSuccess:e.onSuccess,onError:e.onError}}function hs(e,t){return e.replace(/\$\{([^}]+)\}/g,(r,n)=>{const o=ln({$state:n},t);return String(o??"")})}async function gs(e){const{action:t,handler:r,setState:n,navigate:o,executeAction:i}=e;try{if(await r(t.params),t.onSuccess)if("navigate"in t.onSuccess&&o)o(t.onSuccess.navigate);else if("set"in t.onSuccess)for(const[a,l]of Object.entries(t.onSuccess.set))n(a,l);else"action"in t.onSuccess&&i&&await i(t.onSuccess.action)}catch(a){if(t.onError)if("set"in t.onError)for(const[l,m]of Object.entries(t.onError.set)){const u=typeof m=="string"&&m==="$error.message"?a.message:m;n(l,u)}else"action"in t.onError&&i&&await i(t.onError.action);else throw a}}var Ua=h.z.object({type:h.z.string(),args:h.z.record(h.z.string(),an).optional(),message:h.z.string()});h.z.object({checks:h.z.array(Ua).optional(),validateOn:h.z.enum(["change","blur","submit"]).optional(),enabled:mr.optional()});var bs=(e,t)=>{const r=t==null?void 0:t.other;return e===r},qa={required:e=>e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:!0,email:e=>typeof e!="string"?!1:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),minLength:(e,t)=>{if(typeof e!="string")return!1;const r=t==null?void 0:t.min;return typeof r!="number"?!1:e.length>=r},maxLength:(e,t)=>{if(typeof e!="string")return!1;const r=t==null?void 0:t.max;return typeof r!="number"?!1:e.length<=r},pattern:(e,t)=>{if(typeof e!="string")return!1;const r=t==null?void 0:t.pattern;if(typeof r!="string")return!1;try{return new RegExp(r).test(e)}catch{return!1}},min:(e,t)=>{if(typeof e!="number")return!1;const r=t==null?void 0:t.min;return typeof r!="number"?!1:e>=r},max:(e,t)=>{if(typeof e!="number")return!1;const r=t==null?void 0:t.max;return typeof r!="number"?!1:e<=r},numeric:e=>typeof e=="number"?!isNaN(e):typeof e=="string"?!isNaN(parseFloat(e)):!1,url:e=>{if(typeof e!="string")return!1;try{return new URL(e),!0}catch{return!1}},matches:bs,equalTo:bs,lessThan:(e,t)=>{const r=t==null?void 0:t.other;if(e==null||r==null||e===""||r==="")return!1;if(typeof e=="number"&&typeof r=="number"||typeof e=="string"&&typeof r=="string")return e<r;const n=Number(e),o=Number(r);return!isNaN(n)&&!isNaN(o)?n<o:!1},greaterThan:(e,t)=>{const r=t==null?void 0:t.other;if(e==null||r==null||e===""||r==="")return!1;if(typeof e=="number"&&typeof r=="number"||typeof e=="string"&&typeof r=="string")return e>r;const n=Number(e),o=Number(r);return!isNaN(n)&&!isNaN(o)?n>o:!1},requiredIf:(e,t)=>(t==null?void 0:t.field)?e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:!0:!0};function Ga(e,t){const{value:r,stateModel:n,customFunctions:o}=t,i={};if(e.args)for(const[m,u]of Object.entries(e.args))i[m]=Xe(u,{stateModel:n});const a=qa[e.type]??(o==null?void 0:o[e.type]);if(!a)return console.warn(`Unknown validation function: ${e.type}`),{type:e.type,valid:!0,message:e.message};const l=a(r,i);return{type:e.type,valid:l,message:e.message}}function Ya(e,t){const r=[],n=[];if(e.enabled&&!it(e.enabled,{stateModel:t.stateModel}))return{valid:!0,errors:[],checks:[]};if(e.checks)for(const o of e.checks){const i=Ga(o,t);r.push(i),i.valid||n.push(i.message)}return{valid:n.length===0,errors:n,checks:r}}var Xa=["patch"];function Za(e){var t;return(t=e==null?void 0:e.modes)!=null&&t.length?e.modes:Xa}function Ka(){return["PATCH MODE (RFC 6902 JSON Patch):","Output one JSON object per line. Each line is a patch operation.",'- Add: {"op":"add","path":"/elements/new-key","value":{...}}','- Replace: {"op":"replace","path":"/elements/existing-key","value":{...}}','- Remove: {"op":"remove","path":"/elements/old-key"}',"Only output patches for what needs to change."].join(`
3
+ `)}function Ja(){return["MERGE MODE (RFC 7396 JSON Merge Patch):","Output a single JSON object on one line with __json_edit set to true.","Include only the keys that changed. Unmentioned keys are preserved.","Set a key to null to delete it.","","Example (update a title and add an element):",'{"__json_edit":true,"elements":{"main":{"props":{"title":"New Title"}},"new-el":{"type":"Card","props":{},"children":[]}}}',"","Example (delete an element):",'{"__json_edit":true,"elements":{"old-widget":null}}'].join(`
4
+ `)}function Qa(){return["DIFF MODE (unified diff):","Output a unified diff inside a ```diff code fence.","The diff applies against the JSON-serialized current spec.","","Example:","```diff","--- a/spec.json","+++ b/spec.json","@@ -3,1 +3,1 @@",'- "title": "Login"','+ "title": "Welcome Back"',"```"].join(`
5
+ `)}function ei(e){if(e.length===1)return"";const t=["Choose the best edit strategy for the requested change:"];return e.includes("patch")&&t.push("- PATCH: best for precise, targeted single-field updates"),e.includes("merge")&&t.push("- MERGE: best for structural changes (add/remove elements, reparent children, update multiple props at once)"),e.includes("diff")&&t.push("- DIFF: best for small text-level changes when you can see the exact lines to change"),t.join(`
6
+ `)}function ti(e,t){const r=Za(e),n=[];n.push("EDITING EXISTING SPECS:"),n.push("");const o=ei(r);o&&(n.push(o),n.push(""));for(const i of r){switch(i){case"patch":n.push(Ka());break;case"merge":n.push(Ja());break;case"diff":n.push(Qa());break}n.push("")}return n.join(`
7
+ `)}function bn(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.root=="string"&&typeof t.elements=="object"&&t.elements!==null&&Object.keys(t.elements).length>0}function ri(){return{string:()=>({kind:"string"}),number:()=>({kind:"number"}),boolean:()=>({kind:"boolean"}),array:e=>({kind:"array",inner:e}),object:e=>({kind:"object",inner:e}),record:e=>({kind:"record",inner:e}),any:()=>({kind:"any"}),zod:()=>({kind:"zod"}),ref:e=>({kind:"ref",inner:e}),propsOf:e=>({kind:"propsOf",inner:e}),map:e=>({kind:"map",inner:e}),optional:()=>({optional:!0})}}function si(e,t){const r=ri();return{definition:e(r),promptTemplate:t==null?void 0:t.promptTemplate,defaultRules:t==null?void 0:t.defaultRules,builtInActions:t==null?void 0:t.builtInActions,createCatalog(o){return ni(this,o)}}}function ni(e,t){const r=t.components,n=t.actions,o=r?Object.keys(r):[],i=n?Object.keys(n):[],a=oi(e.definition,t);return{schema:e,data:t,componentNames:o,actionNames:i,prompt(l={}){return li(this,l)},jsonSchema(l={}){return Le(a,l.strict??!1)},validate(l){const m=a.safeParse(l);return m.success?{success:!0,data:m.data}:{success:!1,error:m.error}},zodSchema(){return a},get _specType(){throw new Error("_specType is only for type inference")}}}function oi(e,t){return $t(e.spec,t)}function $t(e,t){switch(e.kind){case"string":return h.z.string();case"number":return h.z.number();case"boolean":return h.z.boolean();case"any":return h.z.any();case"array":{const r=$t(e.inner,t);return h.z.array(r)}case"object":{const r=e.inner,n={};for(const[o,i]of Object.entries(r)){let a=$t(i,t);i.optional&&(a=a.optional()),n[o]=a}return h.z.object(n)}case"record":{const r=$t(e.inner,t);return h.z.record(h.z.string(),r)}case"ref":{const r=e.inner,n=ai(r,t);return n.length===0?h.z.string():n.length===1?h.z.literal(n[0]):h.z.enum(n)}case"propsOf":{const r=e.inner,n=ii(r,t);return n.length===0?h.z.record(h.z.string(),h.z.unknown()):n.length===1?n[0]:h.z.record(h.z.string(),h.z.unknown())}default:return h.z.unknown()}}function ai(e,t){const r=e.split(".");let n={catalog:t};for(const o of r)if(n&&typeof n=="object")n=n[o];else return[];return n&&typeof n=="object"?Object.keys(n):[]}function ii(e,t){const r=e.split(".");let n={catalog:t};for(const o of r)if(n&&typeof n=="object")n=n[o];else return[];return n&&typeof n=="object"?Object.values(n).map(o=>o.props).filter(o=>o!==void 0):[]}function li(e,t){if(e.schema.promptTemplate){const j={catalog:e.data,componentNames:e.componentNames,actionNames:e.actionNames,options:t,formatZodType:ke};return e.schema.promptTemplate(j)}const{system:r="You are a UI generator that outputs JSON.",customRules:n=[],mode:o="standalone"}=t,i=o==="chat"?(console.warn('[json-render] mode "chat" is deprecated, use "inline" instead'),"inline"):o==="generate"?(console.warn('[json-render] mode "generate" is deprecated, use "standalone" instead'),"standalone"):o,a=[];a.push(r),a.push(""),i==="inline"?(a.push("OUTPUT FORMAT (text + JSONL, RFC 6902 JSON Patch):"),a.push("You respond conversationally. When generating UI, first write a brief explanation (1-3 sentences), then output JSONL patch lines wrapped in a ```spec code fence."),a.push("The JSONL lines use RFC 6902 JSON Patch operations to build a UI tree. Always wrap them in a ```spec fence block:"),a.push(" ```spec"),a.push(' {"op":"add","path":"/root","value":"main"}'),a.push(' {"op":"add","path":"/elements/main","value":{"type":"Card","props":{"title":"Hello"},"children":[]}}'),a.push(" ```"),a.push("If the user's message does not require a UI (e.g. a greeting or clarifying question), respond with text only — no JSONL.")):(a.push("OUTPUT FORMAT (JSONL, RFC 6902 JSON Patch):"),a.push("Output JSONL (one JSON object per line) using RFC 6902 JSON Patch operations to build a UI tree.")),a.push("Each line is a JSON patch operation (add, remove, replace). Start with /root, then stream /elements and /state patches interleaved so the UI fills in progressively as it streams."),a.push(""),a.push("Example output (each line is a separate JSON object):"),a.push("");const l=e.data.components,m=e.componentNames,u=m[0]||"Component",p=m.length>1?m[1]:u,d=l==null?void 0:l[u],f=l==null?void 0:l[p],g=d?ws(d):{},N=f?ws(f):{},y=f!=null&&f.props?ci(f.props):null,E=y?{...N,[y]:{$item:"title"}}:N,v=[JSON.stringify({op:"add",path:"/root",value:"main"}),JSON.stringify({op:"add",path:"/elements/main",value:{type:u,props:g,children:["child-1","list"]}}),JSON.stringify({op:"add",path:"/elements/child-1",value:{type:p,props:N,children:[]}}),JSON.stringify({op:"add",path:"/elements/list",value:{type:u,props:g,repeat:{statePath:"/items",key:"id"},children:["item"]}}),JSON.stringify({op:"add",path:"/elements/item",value:{type:p,props:E,children:[]}}),JSON.stringify({op:"add",path:"/state/items",value:[]}),JSON.stringify({op:"add",path:"/state/items/0",value:{id:"1",title:"First Item"}}),JSON.stringify({op:"add",path:"/state/items/1",value:{id:"2",title:"Second Item"}})].join(`
8
+ `);a.push(`${v}
9
+
10
+ Note: state patches appear right after the elements that use them, so the UI fills in as it streams. ONLY use component types from the AVAILABLE COMPONENTS list below.`),a.push(""),a.push("INITIAL STATE:"),a.push("Specs include a /state field to seed the state model. Components with { $bindState } or { $bindItem } read from and write to this state, and $state expressions read from it."),a.push("CRITICAL: You MUST include state patches whenever your UI displays data via $state, $bindState, $bindItem, $item, or $index expressions, or uses repeat to iterate over arrays. Without state, these references resolve to nothing and repeat lists render zero items."),a.push("Output state patches right after the elements that reference them, so the UI fills in progressively as it streams."),a.push("Stream state progressively - output one patch per array item instead of one giant blob:"),a.push(' For arrays: {"op":"add","path":"/state/posts/0","value":{"id":"1","title":"First Post",...}} then /state/posts/1, /state/posts/2, etc.'),a.push(' For scalars: {"op":"add","path":"/state/newTodoText","value":""}'),a.push(' Initialize the array first if needed: {"op":"add","path":"/state/posts","value":[]}'),a.push('When content comes from the state model, use { "$state": "/some/path" } dynamic props to display it instead of hardcoding the same value in both state and props. The state model is the single source of truth.'),a.push("Include realistic sample data in state. For blogs: 3-4 posts with titles, excerpts, authors, dates. For product lists: 3-5 items with names, prices, descriptions. Never leave arrays empty."),a.push(""),a.push("DYNAMIC LISTS (repeat field):"),a.push('Any element can have a top-level "repeat" field to render its children once per item in a state array: { "repeat": { "statePath": "/arrayPath", "key": "id" } }.'),a.push('The element itself renders once (as the container), and its children are expanded once per array item. "statePath" is the state array path. "key" is an optional field name on each item for stable React keys.'),a.push(`Example: ${JSON.stringify({type:u,props:g,repeat:{statePath:"/todos",key:"id"},children:["todo-item"]})}`),a.push('Inside children of a repeated element, use { "$item": "field" } to read a field from the current item, and { "$index": true } to get the current array index. For two-way binding to an item field use { "$bindItem": "completed" } on the appropriate prop.'),a.push("ALWAYS use the repeat field for lists backed by state arrays. NEVER hardcode individual elements for each array item."),a.push('IMPORTANT: "repeat" is a top-level field on the element (sibling of type/props/children), NOT inside props.'),a.push(""),a.push("ARRAY STATE ACTIONS:"),a.push('Use action "pushState" to append items to arrays. Params: { statePath: "/arrayPath", value: { ...item }, clearStatePath: "/inputPath" }.'),a.push('Values inside pushState can contain { "$state": "/statePath" } references to read current state (e.g. the text from an input field).'),a.push('Use "$id" inside a pushState value to auto-generate a unique ID.'),a.push('Example: on: { "press": { "action": "pushState", "params": { "statePath": "/todos", "value": { "id": "$id", "title": { "$state": "/newTodoText" }, "completed": false }, "clearStatePath": "/newTodoText" } } }'),a.push(`Use action "removeState" to remove items from arrays by index. Params: { statePath: "/arrayPath", index: N }. Inside a repeated element's children, use { "$index": true } for the current item index. Action params support the same expressions as props: { "$item": "field" } resolves to the absolute state path, { "$index": true } resolves to the index number, and { "$state": "/path" } reads a value from state.`),a.push("For lists where users can add/remove items (todos, carts, etc.), use pushState and removeState instead of hardcoding with setState."),a.push(""),a.push('IMPORTANT: State paths use RFC 6901 JSON Pointer syntax (e.g. "/todos/0/title"). Do NOT use JavaScript-style dot notation (e.g. "/todos.length" is WRONG). To generate unique IDs for new items, use "$id" instead of trying to read array length.'),a.push("");const P=l;if(P){a.push(`AVAILABLE COMPONENTS (${e.componentNames.length}):`),a.push("");for(const[j,I]of Object.entries(P)){const F=I.props?ke(I.props):"{}",W=I.slots&&I.slots.length>0?" [accepts children]":"",q=I.events&&I.events.length>0?` [events: ${I.events.join(", ")}]`:"",H=I.description?` - ${I.description}`:"";a.push(`- ${j}: ${F}${H}${W}${q}`)}a.push("")}const x=e.data.actions,S=e.schema.builtInActions??[],b=x&&e.actionNames.length>0,w=S.length>0;if(b||w){a.push("AVAILABLE ACTIONS:"),a.push("");for(const j of S)a.push(`- ${j.name}: ${j.description} [built-in]`);if(b)for(const[j,I]of Object.entries(x))a.push(`- ${j}${I.description?`: ${I.description}`:""}`);a.push("")}a.push("EVENTS (the `on` field):"),a.push("Elements can have an optional `on` field to bind events to actions. The `on` field is a top-level field on the element (sibling of type/props/children), NOT inside props."),a.push('Each key in `on` is an event name (from the component\'s supported events), and the value is an action binding: `{ "action": "<actionName>", "params": { ... } }`.'),a.push(""),a.push("Example:"),a.push(` ${JSON.stringify({type:u,props:g,on:{press:{action:"setState",params:{statePath:"/saved",value:!0}}},children:[]})}`),a.push(""),a.push('Action params can use dynamic references to read from state: { "$state": "/statePath" }.'),a.push("IMPORTANT: Do NOT put action/actionParams inside props. Always use the `on` field for event bindings."),a.push(""),a.push("VISIBILITY CONDITIONS:"),a.push("Elements can have an optional `visible` field to conditionally show/hide based on state. IMPORTANT: `visible` is a top-level field on the element object (sibling of type/props/children), NOT inside props."),a.push(`Correct: ${JSON.stringify({type:u,props:g,visible:{$state:"/activeTab",eq:"home"},children:["..."]})}`),a.push('- `{ "$state": "/path" }` - visible when state at path is truthy'),a.push('- `{ "$state": "/path", "not": true }` - visible when state at path is falsy'),a.push('- `{ "$state": "/path", "eq": "value" }` - visible when state equals value'),a.push('- `{ "$state": "/path", "neq": "value" }` - visible when state does not equal value'),a.push('- `{ "$state": "/path", "gt": N }` / `gte` / `lt` / `lte` - numeric comparisons'),a.push("- Use ONE operator per condition (eq, neq, gt, gte, lt, lte). Do not combine multiple operators."),a.push('- Any condition can add `"not": true` to invert its result'),a.push("- `[condition, condition]` - all conditions must be true (implicit AND)"),a.push('- `{ "$and": [condition, condition] }` - explicit AND (use when nesting inside $or)'),a.push('- `{ "$or": [condition, condition] }` - at least one must be true (OR)'),a.push("- `true` / `false` - always visible/hidden"),a.push(""),a.push("Use a component with on.press bound to setState to update state and drive visibility."),a.push(`Example: A ${u} with on: { "press": { "action": "setState", "params": { "statePath": "/activeTab", "value": "home" } } } sets state, then a container with visible: { "$state": "/activeTab", "eq": "home" } shows only when that tab is active.`),a.push(""),a.push('For tab patterns where the first/default tab should be visible when no tab is selected yet, use $or to handle both cases: visible: { "$or": [{ "$state": "/activeTab", "eq": "home" }, { "$state": "/activeTab", "not": true }] }. This ensures the first tab is visible both when explicitly selected AND when /activeTab is not yet set.'),a.push(""),a.push("DYNAMIC PROPS:"),a.push("Any prop value can be a dynamic expression that resolves based on state. Three forms are supported:"),a.push(""),a.push('1. Read-only state: `{ "$state": "/statePath" }` - resolves to the value at that state path (one-way read).'),a.push(' Example: `"color": { "$state": "/theme/primary" }` reads the color from state.'),a.push(""),a.push('2. Two-way binding: `{ "$bindState": "/statePath" }` - resolves to the value at the state path AND enables write-back. Use on form input props (value, checked, pressed, etc.).'),a.push(' Example: `"value": { "$bindState": "/form/email" }` binds the input value to /form/email.'),a.push(' Inside repeat scopes: `"checked": { "$bindItem": "completed" }` binds to the current item\'s completed field.'),a.push(""),a.push('3. Conditional: `{ "$cond": <condition>, "$then": <value>, "$else": <value> }` - evaluates the condition (same syntax as visibility conditions) and picks the matching value.'),a.push(' Example: `"color": { "$cond": { "$state": "/activeTab", "eq": "home" }, "$then": "#007AFF", "$else": "#8E8E93" }`'),a.push(""),a.push("Use $bindState for form inputs (text fields, checkboxes, selects, sliders, etc.) and $state for read-only data display. Inside repeat scopes, use $bindItem for form inputs bound to the current item. Use dynamic props instead of duplicating elements with opposing visible conditions when only prop values differ."),a.push(""),a.push('4. Template: `{ "$template": "Hello, ${/name}!" }` - interpolates references in the string. Absolute paths like `${/path}` resolve against the state model. Bare names like `${field}` resolve against the current repeat item first, then fall back to the state model at `/<field>`.'),a.push(' Example: `"label": { "$template": "Items: ${/cart/count} | Total: ${/cart/total}" }` renders "Items: 3 | Total: 42.00" when /cart/count is 3 and /cart/total is 42.00. Inside a repeat, `{ "$template": "${name} - ${email}" }` reads name and email from each item.'),a.push("");const D=e.data.functions;if(D&&Object.keys(D).length>0){a.push('5. Computed: `{ "$computed": "<functionName>", "args": { "key": <expression> } }` - calls a registered function with resolved args and returns the result.'),a.push(' Example: `"value": { "$computed": "fullName", "args": { "first": { "$state": "/form/firstName" }, "last": { "$state": "/form/lastName" } } }`'),a.push(" Available functions:");for(const j of Object.keys(D))a.push(` - ${j}`);a.push("")}const z=t.directives;if(z&&z.length>0){a.push("CUSTOM DYNAMIC VALUES:"),a.push("");for(const j of z){const I=j.description?` (${j.description})`:"";a.push(`- ${j.name}${I}: ${ke(j.schema)}`)}a.push(""),a.push("Directives compose: any value field can contain another directive or a $state expression, resolved inside-out."),a.push("")}(l?Object.entries(l).some(([,j])=>j.props?ke(j.props).includes("checks"):!1):!1)&&(a.push("VALIDATION:"),a.push("Form components that accept a `checks` prop support client-side validation."),a.push('Each check is an object: { "type": "<name>", "message": "...", "args": { ... } }'),a.push(""),a.push("Built-in validation types:"),a.push(" - required — value must be non-empty"),a.push(" - email — valid email format"),a.push(' - minLength — minimum string length (args: { "min": N })'),a.push(' - maxLength — maximum string length (args: { "max": N })'),a.push(' - pattern — match a regex (args: { "pattern": "regex" })'),a.push(' - min — minimum numeric value (args: { "min": N })'),a.push(' - max — maximum numeric value (args: { "max": N })'),a.push(" - numeric — value must be a number"),a.push(" - url — valid URL format"),a.push(' - matches — must equal another field (args: { "other": { "$state": "/path" } })'),a.push(' - equalTo — alias for matches (args: { "other": { "$state": "/path" } })'),a.push(' - lessThan — value must be less than another field (args: { "other": { "$state": "/path" } })'),a.push(' - greaterThan — value must be greater than another field (args: { "other": { "$state": "/path" } })'),a.push(' - requiredIf — required only when another field is truthy (args: { "field": { "$state": "/path" } })'),a.push(""),a.push("Example:"),a.push(' "checks": [{ "type": "required", "message": "Email is required" }, { "type": "email", "message": "Invalid email" }]'),a.push(""),a.push("IMPORTANT: When using checks, the component must also have a { $bindState } or { $bindItem } on its value/checked prop for two-way binding."),a.push("Always include validation checks on form inputs for a good user experience (e.g. required, email, minLength)."),a.push("")),(b||w)&&(a.push("STATE WATCHERS:"),a.push("Elements can have an optional `watch` field to react to state changes and trigger actions. The `watch` field is a top-level field on the element (sibling of type/props/children), NOT inside props."),a.push("Maps state paths (JSON Pointers) to action bindings. When the value at a watched path changes, the bound actions fire automatically."),a.push(""),a.push("Example (cascading select — country changes trigger city loading):"),a.push(` ${JSON.stringify({type:"Select",props:{value:{$bindState:"/form/country"},options:["US","Canada","UK"]},watch:{"/form/country":{action:"loadCities",params:{country:{$state:"/form/country"}}}},children:[]})}`),a.push(""),a.push("Use `watch` for cascading dependencies where changing one field should trigger side effects (loading data, resetting dependent fields, computing derived values)."),a.push("IMPORTANT: `watch` is a top-level field on the element (sibling of type/props/children), NOT inside props. Watchers only fire when the value changes, not on initial render."),a.push(""));const _=t.editModes;_&&_.length>0&&a.push(ti({modes:_})),a.push("RULES:");const C=i==="inline"?["When generating UI, wrap all JSONL patches in a ```spec code fence - one JSON object per line inside the fence","Write a brief conversational response before any JSONL output",'First set root: {"op":"add","path":"/root","value":"<root-key>"}','Then add each element: {"op":"add","path":"/elements/<key>","value":{...}}',"Output /state patches right after the elements that use them, one per array item for progressive loading. REQUIRED whenever using $state, $bindState, $bindItem, $item, $index, or repeat.","ONLY use components listed above","Each element value needs: type, props, children (array of child keys)","Use unique keys for the element map entries (e.g., 'header', 'metric-1', 'chart-revenue')"]:["Output ONLY JSONL patches - one JSON object per line, no markdown, no code fences",'First set root: {"op":"add","path":"/root","value":"<root-key>"}','Then add each element: {"op":"add","path":"/elements/<key>","value":{...}}',"Output /state patches right after the elements that use them, one per array item for progressive loading. REQUIRED whenever using $state, $bindState, $bindItem, $item, $index, or repeat.","ONLY use components listed above","Each element value needs: type, props, children (array of child keys)","Use unique keys for the element map entries (e.g., 'header', 'metric-1', 'chart-revenue')"],L=e.schema.defaultRules??[];return[...C,...L,...n].forEach((j,I)=>{a.push(`${I+1}. ${j}`)}),a.join(`
11
+ `)}function ws(e){return e.example&&Object.keys(e.example).length>0?e.example:e.props?wn(e.props):{}}function wn(e){if(!e||!e._def)return{};const t=e._def,r=Ke(e);if(r!=="ZodObject"&&r!=="object")return{};const n=typeof t.shape=="function"?t.shape():t.shape;if(!n)return{};const o={};for(const[i,a]of Object.entries(n)){const l=Ke(a);l==="ZodOptional"||l==="optional"||l==="ZodNullable"||l==="nullable"||(o[i]=ur(a))}return o}function ur(e){if(!e||!e._def)return"...";const t=e._def;switch(Ke(e)){case"ZodString":case"string":return"example";case"ZodNumber":case"number":return 0;case"ZodBoolean":case"boolean":return!0;case"ZodLiteral":case"literal":return t.value;case"ZodEnum":case"enum":{if(Array.isArray(t.values)&&t.values.length>0)return t.values[0];if(t.entries&&typeof t.entries=="object"){const n=Object.values(t.entries);return n.length>0?n[0]:"example"}return"example"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":case"ZodDefault":case"default":{const n=t.innerType??t.wrapped;return n?ur(n):null}case"ZodArray":case"array":return[];case"ZodObject":case"object":return wn(e);case"ZodUnion":case"union":{const n=t.options;return n&&n.length>0?ur(n[0]):"..."}default:return"..."}}function ci(e){if(!e||!e._def)return null;const t=e._def,r=Ke(e);if(r!=="ZodObject"&&r!=="object")return null;const n=typeof t.shape=="function"?t.shape():t.shape;if(!n)return null;for(const[o,i]of Object.entries(n)){const a=Ke(i);if(!(a==="ZodOptional"||a==="optional"||a==="ZodNullable"||a==="nullable")&&(a==="ZodString"||a==="string"))return o}return null}function Ke(e){if(!e||!e._def)return"";const t=e._def;return t.typeName??t.type??""}function ke(e){if(!e||!e._def)return"unknown";const t=e._def;switch(Ke(e)){case"ZodString":case"string":return"string";case"ZodNumber":case"number":return"number";case"ZodBoolean":case"boolean":return"boolean";case"ZodLiteral":case"literal":{const n=t.values,o=(n==null?void 0:n[0])??t.value;return JSON.stringify(o)}case"ZodEnum":case"enum":{let n;if(Array.isArray(t.values))n=t.values;else if(t.entries&&typeof t.entries=="object")n=Object.values(t.entries);else return"enum";return n.map(o=>`"${o}"`).join(" | ")}case"ZodArray":case"array":{const n=typeof t.element=="object"?t.element:typeof t.type=="object"?t.type:void 0;return n?`Array<${ke(n)}>`:"Array<unknown>"}case"ZodObject":case"object":{const n=typeof t.shape=="function"?t.shape():t.shape;return n?`{ ${Object.entries(n).map(([i,a])=>{const l=Ke(a);return`${i}${l==="ZodOptional"||l==="ZodNullable"||l==="optional"||l==="nullable"?"?":""}: ${ke(a)}`}).join(", ")} }`:"object"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":{const n=t.innerType??t.wrapped;return n?ke(n):"unknown"}case"ZodUnion":case"union":{const n=t.options;return n?n.map(o=>ke(o)).join(" | "):"unknown"}case"ZodRecord":case"record":{const n=t.keyType??void 0,o=t.valueType??t.element??void 0,i=n?ke(n):"string",a=o?ke(o):"unknown";return`Record<${i}, ${a}>`}case"ZodDefault":case"default":{const n=t.innerType??t.wrapped;return n?ke(n):"unknown"}default:return"unknown"}}function xs(e){return typeof e.type=="string"?e.type:typeof e.typeName=="string"?e.typeName:""}function vs(e){return e.startsWith("Zod")?e.slice(3).toLowerCase():e.toLowerCase()}function Le(e,t=!1){const r=e._def;switch(vs(xs(r))){case"string":return{type:"string"};case"number":return{type:"number"};case"boolean":return{type:"boolean"};case"literal":{const o=r.values;return{const:o?o[0]:r.value}}case"enum":{const o=r.entries;return{enum:(o?Object.values(o):r.values)??[]}}case"array":{const o=r.element??r.type;return{type:"array",items:o?Le(o,t):{}}}case"object":{const o=r.shape,i=typeof o=="function"?o():o;if(!i)return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object"};const a={},l=[];for(const[m,u]of Object.entries(i)){const p=u._def,d=vs(xs(p)),f=d==="optional"||d==="nullable";if(t)if(l.push(m),f){const g=Le(u,t);a[m]={anyOf:[g,{type:"null"}]}}else a[m]=Le(u,t);else a[m]=Le(u),f||l.push(m)}return{type:"object",properties:a,required:l.length>0?l:void 0,additionalProperties:!1}}case"record":{const o=r.valueType;return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object",additionalProperties:o?Le(o):!0}}case"optional":case"nullable":{const o=r.innerType;return o?Le(o,t):{}}case"union":{const o=r.options;return o?{anyOf:o.map(i=>Le(i,t))}:{}}case"any":case"unknown":return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{};default:return{}}}function mi(e,t){return e.createCatalog(t)}var ui=si(e=>({spec:e.object({root:e.string(),elements:e.record(e.object({type:e.ref("catalog.components"),props:e.propsOf("catalog.components"),children:e.array(e.string()),visible:e.any()}))}),catalog:e.object({components:e.map({props:e.zod(),slots:e.array(e.string()),description:e.string(),example:e.any()}),actions:e.map({params:e.zod(),description:e.string()})})}),{builtInActions:[{name:"setState",description:"Update a value in the state model at the given statePath. Params: { statePath: string, value: any }"},{name:"pushState",description:'Append an item to an array in state. Params: { statePath: string, value: any, clearStatePath?: string }. Value can contain {"$state":"/path"} refs and "$id" for auto IDs.'},{name:"removeState",description:"Remove an item from an array in state by index. Params: { statePath: string, index: number }"},{name:"validateForm",description:"Validate all registered form fields and write the result to state. Params: { statePath?: string }. Defaults to /formValidation. Result: { valid: boolean, errors: Record<string, string[]> }."}],defaultRules:["CRITICAL INTEGRITY CHECK: Before outputting ANY element that references children, you MUST have already output (or will output) each child as its own element. If an element has children: ['a', 'b'], then elements 'a' and 'b' MUST exist. A missing child element causes that entire branch of the UI to be invisible.","SELF-CHECK: After generating all elements, mentally walk the tree from root. Every key in every children array must resolve to a defined element. If you find a gap, output the missing element immediately.",'CRITICAL: The "visible" field goes on the ELEMENT object, NOT inside "props". Correct: {"type":"<ComponentName>","props":{},"visible":{"$state":"/tab","eq":"home"},"children":[...]}.','CRITICAL: The "on" field goes on the ELEMENT object, NOT inside "props". Use on.press, on.change, on.submit etc. NEVER put action/actionParams inside props.',"When the user asks for a UI that displays data (e.g. blog posts, products, users), ALWAYS include a state field with realistic sample data. The state field is a top-level field on the spec (sibling of root/elements).",'When building repeating content backed by a state array (e.g. posts, products, items), use the "repeat" field on a container element. Example: { "type": "<ContainerComponent>", "props": {}, "repeat": { "statePath": "/posts", "key": "id" }, "children": ["post-card"] }. Replace <ContainerComponent> with an appropriate component from the AVAILABLE COMPONENTS list. Inside repeated children, use { "$item": "field" } to read a field from the current item, and { "$index": true } for the current array index. For two-way binding to an item field use { "$bindItem": "completed" }. Do NOT hardcode individual elements for each array item.',"Design with visual hierarchy: use container components to group content, heading components for section titles, proper spacing, and status indicators. ONLY use components from the AVAILABLE COMPONENTS list.","For data-rich UIs, use multi-column layout components if available. For forms and single-column content, use vertical layout components. ONLY use components from the AVAILABLE COMPONENTS list.","Always include realistic, professional-looking sample data. For blogs include 3-4 posts with varied titles, authors, dates, categories. For products include names, prices, images. Never leave data empty."]}),xn=c.createContext(null);function pi(e,t){return e?null:Object.keys(t).length===0?{}:Cr(t)}function di({store:e,initialState:t={},onStateChange:r,children:n}){const o=c.useRef(void 0);!e&&!o.current&&(o.current=ba(t));const i=e??o.current,a=c.useRef(i);a.current=i;const l=c.useRef(!!e);l.current=!!e;const m=c.useRef(e?"controlled":"uncontrolled"),u=c.useRef(!1);if(process.env.NODE_ENV!=="production"){const x=e?"controlled":"uncontrolled";x!==m.current&&!u.current&&(u.current=!0,console.warn(`StateProvider: switching from ${m.current} to ${x} mode is not supported.`))}const p=c.useRef(t),d=c.useRef(pi(!!e,t));c.useEffect(()=>{if(e||t===p.current)return;p.current=t;const x=t&&Object.keys(t).length>0?Cr(t):{},S=d.current??{},b=new Set([...Object.keys(S),...Object.keys(x)]),w={};for(const D of b)S[D]!==x[D]&&(w[D]=D in x?x[D]:void 0);d.current=x,Object.keys(w).length>0&&i.update(w)},[e,t,i]);const f=c.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getServerSnapshot??i.getSnapshot),g=c.useRef(r);g.current=r;const N=c.useCallback((x,S)=>{var D;const b=a.current,w=b.getSnapshot();b.set(x,S),!l.current&&b.getSnapshot()!==w&&((D=g.current)==null||D.call(g,[{path:x,value:S}]))},[]),y=c.useCallback(x=>{var w;const S=a.current,b=S.getSnapshot();if(S.update(x),!l.current&&S.getSnapshot()!==b){const D=[];for(const[z,M]of Object.entries(x))le(b,z)!==M&&D.push({path:z,value:M});D.length>0&&((w=g.current)==null||w.call(g,D))}},[]),E=c.useCallback(x=>a.current.get(x),[]),v=c.useCallback(()=>a.current.getSnapshot(),[]),P=c.useMemo(()=>({state:f,get:E,set:N,update:y,getSnapshot:v}),[f,E,N,y,v]);return re.jsx(xn.Provider,{value:P,children:n})}function jt(){const e=c.useContext(xn);if(!e)throw new Error("useStateStore must be used within a StateProvider");return e}var vn=c.createContext(null);function fi({children:e}){const{state:t}=jt(),r=c.useMemo(()=>({stateModel:t}),[t]),n=c.useMemo(()=>i=>it(i,r),[r]),o=c.useMemo(()=>({isVisible:n,ctx:r}),[n,r]);return re.jsx(vn.Provider,{value:o,children:e})}function hi(){const e=c.useContext(vn);if(!e)throw new Error("useVisibility must be used within a VisibilityProvider");return e}var Nn=c.createContext(null);function gi(e,t){if(e===t)return!0;if(!e||!t)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(const o of r){const i=e[o],a=t[o];if(i!==a){if(typeof i=="object"&&i!==null&&typeof a=="object"&&a!==null){const l=i.$state,m=a.$state;if(typeof l=="string"&&l===m)continue}return!1}}return!0}function bi(e,t){if(e===t)return!0;if(e.validateOn!==t.validateOn)return!1;const r=e.checks??[],n=t.checks??[];if(r.length!==n.length)return!1;for(let o=0;o<r.length;o++){const i=r[o],a=n[o];if(i.type!==a.type||i.message!==a.message||!gi(i.args,a.args))return!1}return!0}function wi({customFunctions:e={},children:t}){const{state:r,getSnapshot:n}=jt(),[o,i]=c.useState({}),a=c.useRef({}),[l,m]=c.useState({}),u=c.useCallback((y,E)=>{m(v=>{const P=v[y];return P&&bi(P,E)?v:{...v,[y]:E}})},[]),p=c.useCallback((y,E)=>{var w;const v=n(),P=y.split("/").filter(Boolean);let x=v;for(const D of P)if(x!=null&&typeof x=="object")x=x[D];else{x=void 0;break}const S=Ya(E,{value:x,stateModel:v,customFunctions:e}),b={touched:((w=a.current[y])==null?void 0:w.touched)??!0,validated:!0,result:S};return a.current={...a.current,[y]:b},i(a.current),S},[e,n]),d=c.useCallback(y=>{var E,v;a.current={...a.current,[y]:{...a.current[y],touched:!0,validated:((E=a.current[y])==null?void 0:E.validated)??!1,result:((v=a.current[y])==null?void 0:v.result)??null}},i(a.current)},[]),f=c.useCallback(y=>{const{[y]:E,...v}=a.current;a.current=v,i(v)},[]),g=c.useCallback(()=>{let y=!0;for(const[E,v]of Object.entries(l))p(E,v).valid||(y=!1);return y},[l,p]),N=c.useMemo(()=>({customFunctions:e,get fieldStates(){return a.current},validate:p,touch:d,clear:f,validateAll:g,registerField:u}),[e,o,p,d,f,g,u]);return re.jsx(Nn.Provider,{value:N,children:t})}function xi(){return c.useContext(Nn)}var Ns=0;function ys(){return Ns+=1,`${Date.now()}-${Ns}`}function pr(e,t){if(e==null)return e;if(e==="$id")return ys();if(typeof e=="object"&&!Array.isArray(e)){const r=e,n=Object.keys(r);if(n.length===1&&typeof r.$state=="string")return t(r.$state);if(n.length===1&&"$id"in r)return ys()}if(Array.isArray(e))return e.map(r=>pr(r,t));if(typeof e=="object"){const r={};for(const[n,o]of Object.entries(e))r[n]=pr(o,t);return r}return e}var yn=c.createContext(null);function vi({handlers:e={},navigate:t,children:r}){const{get:n,set:o,getSnapshot:i}=jt(),a=xi(),[l,m]=c.useState(e),[u,p]=c.useState(new Set),[d,f]=c.useState(null),g=c.useCallback((P,x)=>{m(S=>({...S,[P]:x}))},[]),N=c.useCallback(async P=>{var z;const x=Ba(P,i()),S=Ra(),b=Date.now();za({id:S,name:x.action,params:x.params,at:b});let w=!0,D;try{if(x.action==="setState"&&x.params){const _=x.params.statePath,C=x.params.value;_&&o(_,C);return}if(x.action==="pushState"&&x.params){const _=x.params.statePath,C=x.params.value;if(_){const L=pr(C,n),U=n(_)??[];o(_,[...U,L]);const j=x.params.clearStatePath;j&&o(j,"")}return}if(x.action==="removeState"&&x.params){const _=x.params.statePath,C=x.params.index;if(_!==void 0&&C!==void 0){const L=n(_)??[];o(_,L.filter((U,j)=>j!==C))}return}if(x.action==="push"&&x.params){const _=x.params.screen;if(_){const C=n("/currentScreen"),L=n("/navStack")??[];C?o("/navStack",[...L,C]):o("/navStack",[...L,""]),o("/currentScreen",_)}return}if(x.action==="pop"){const _=n("/navStack")??[];if(_.length>0){const C=_[_.length-1];o("/navStack",_.slice(0,-1)),C?o("/currentScreen",C):o("/currentScreen",void 0)}return}if(x.action==="validateForm"){const _=a==null?void 0:a.validateAll;if(!_){console.warn("validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.");return}const C=_(),L={};for(const[j,I]of Object.entries(a.fieldStates))I.result&&!I.result.valid&&(L[j]=I.result.errors);const U=((z=x.params)==null?void 0:z.statePath)||"/formValidation";o(U,{valid:C,errors:L});return}const M=l[x.action];if(!M){console.warn(`No handler registered for action: ${x.action}`);return}if(x.confirm)return new Promise((_,C)=>{f({action:x,handler:M,resolve:()=>{f(null),_()},reject:()=>{f(null),C(new Error("Action cancelled"))}})}).then(async()=>{p(_=>new Set(_).add(x.action));try{await gs({action:x,handler:M,setState:o,navigate:t,executeAction:async _=>{await N({action:_})}})}finally{p(_=>{const C=new Set(_);return C.delete(x.action),C})}});p(_=>new Set(_).add(x.action));try{await gs({action:x,handler:M,setState:o,navigate:t,executeAction:async _=>{await N({action:_})}})}finally{p(_=>{const C=new Set(_);return C.delete(x.action),C})}}catch(M){throw w=!1,D=M,M}finally{const M=Date.now();Ta({id:S,name:x.action,ok:w,at:M,durationMs:M-b,error:D})}},[l,n,o,i,t,a]),y=c.useCallback(()=>{d==null||d.resolve()},[d]),E=c.useCallback(()=>{d==null||d.reject()},[d]),v=c.useMemo(()=>({handlers:l,loadingActions:u,pendingConfirmation:d,execute:N,confirm:y,cancel:E,registerHandler:g}),[l,u,d,N,y,E,g]);return re.jsx(yn.Provider,{value:v,children:r})}function kn(){const e=c.useContext(yn);if(!e)throw new Error("useActions must be used within an ActionProvider");return e}function Ni({confirm:e,onConfirm:t,onCancel:r}){const n=e.variant==="danger";return re.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:50},onClick:r,children:re.jsxs("div",{style:{backgroundColor:"white",borderRadius:"8px",padding:"24px",maxWidth:"400px",width:"100%",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.1)"},onClick:o=>o.stopPropagation(),children:[re.jsx("h3",{style:{margin:"0 0 8px 0",fontSize:"18px",fontWeight:600},children:e.title}),re.jsx("p",{style:{margin:"0 0 24px 0",color:"#6b7280"},children:e.message}),re.jsxs("div",{style:{display:"flex",gap:"12px",justifyContent:"flex-end"},children:[re.jsx("button",{onClick:r,style:{padding:"8px 16px",borderRadius:"6px",border:"1px solid #d1d5db",backgroundColor:"white",cursor:"pointer"},children:e.cancelLabel??"Cancel"}),re.jsx("button",{onClick:t,style:{padding:"8px 16px",borderRadius:"6px",border:"none",backgroundColor:n?"#dc2626":"#3b82f6",color:"white",cursor:"pointer"},children:e.confirmLabel??"Confirm"})]})]})})}var En=c.createContext(null);function yi({item:e,index:t,basePath:r,children:n}){return re.jsx(En.Provider,{value:{item:e,index:t,basePath:r},children:n})}function ki(){return c.useContext(En)}var Ei=class extends c.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){console.error(`[json-render] Rendering error in <${this.props.elementType}>:`,e,t.componentStack)}render(){return this.state.hasError?null:this.props.children}},Cn={},jn=c.createContext(Cn);function Ci(){return c.useContext(jn)}var Dn=c.createContext(void 0);function ji(){return c.useContext(Dn)}function Di(){return c.useSyncExternalStore(La,$a,()=>!1)}var Sn=c.memo(function e({element:t,elementKey:r,spec:n,registry:o,loading:i,fallback:a}){var F;const l=Di(),m=ki(),{ctx:u}=hi(),{execute:p}=kn(),{getSnapshot:d,state:f}=jt(),g=Ci(),N=ji(),y=c.useMemo(()=>{const R=m?{...u,repeatItem:m.item,repeatIndex:m.index,repeatBasePath:m.basePath}:{...u};return R.functions=g,R.directives=N,R},[u,m,g,N]),E=t.visible===void 0?!0:it(t.visible,y),v=t.on,P=c.useCallback(async R=>{const W=v==null?void 0:v[R];if(!W)return;const q=Array.isArray(W)?W:[W];for(const H of q){if(!H.params){await p(H);continue}const $={...y,stateModel:d()},X={};for(const[oe,Z]of Object.entries(H.params))X[oe]=ps(Z,$);await p({...H,params:X})}},[v,p,y,d]),x=c.useCallback(R=>{const W=v==null?void 0:v[R];if(!W)return{emit:()=>{},shouldPreventDefault:!1,bound:!1};const H=(Array.isArray(W)?W:[W]).some($=>$.preventDefault);return{emit:()=>P(R),shouldPreventDefault:H,bound:!0}},[v,P]),S=t.watch,b=c.useRef(null),w=c.useRef(void 0),D=c.useMemo(()=>{if(!S)return;const R={};for(const q of Object.keys(S))R[q]=le(f,q);const W=w.current;if(W){const q=Object.keys(R);if(q.length===Object.keys(W).length&&q.every(H=>R[H]===W[H]))return W}return w.current=R,R},[S,f]);if(c.useEffect(()=>{if(!S||!D)return;const R=Object.keys(S);if(R.length===0)return;const W=b.current;if(b.current=D,W===null)return;let q=!1;return(async()=>{for(const H of R){if(q)break;if(D[H]!==W[H]){const $=S[H];if(!$)continue;const X=Array.isArray($)?$:[$];for(const oe of X){if(q)break;if(!oe.params){if(await p(oe),q)break;continue}const Z={...y,stateModel:d()},T={};for(const[G,K]of Object.entries(oe.params))T[G]=ps(K,Z);if(await p({...oe,params:T}),q)break}}}})().catch(console.error),()=>{q=!0}},[S,D,p,y,d]),!E)return null;const z=t.props,M=Ma(z,y),_=Aa(z,y),C=_!==t.props?{...t,props:_}:t,L=o[C.type]??a;if(!L)return console.warn(`No renderer for component type: ${C.type}`),null;const U=C.repeat?re.jsx(Si,{element:C,spec:n,registry:o,loading:i,fallback:a}):(F=C.children)==null?void 0:F.map(R=>{const W=n.elements[R];return W?re.jsx(e,{element:W,elementKey:R,spec:n,registry:o,loading:i,fallback:a},R):(i||console.warn(`[json-render] Missing element "${R}" referenced as child of "${C.type}". This element will not render.`),null)}),j=re.jsx(L,{element:C,emit:P,on:x,bindings:M,loading:i,children:U}),I=l&&r?re.jsx("span",{"data-jr-key":r,style:{display:"contents"},children:j}):j;return re.jsx(Ei,{elementType:C.type,children:I})});function Si({element:e,spec:t,registry:r,loading:n,fallback:o}){const{state:i}=jt(),a=e.repeat,l=a.statePath,m=le(i,l)??[];return re.jsx(re.Fragment,{children:m.map((u,p)=>{var f;const d=a.key&&typeof u=="object"&&u!==null?String(u[a.key]??p):String(p);return re.jsx(yi,{item:u,index:p,basePath:`${l}/${p}`,children:(f=e.children)==null?void 0:f.map(g=>{const N=t.elements[g];return N?re.jsx(Sn,{element:N,elementKey:g,spec:t,registry:r,loading:n,fallback:o},g):(n||console.warn(`[json-render] Missing element "${g}" referenced as child of "${e.type}" (repeat). This element will not render.`),null)})},d)})})}function Vi({spec:e,registry:t,loading:r,fallback:n}){if(!e||!e.root)return null;const o=e.elements[e.root];return o?re.jsx(Sn,{element:o,elementKey:e.root,spec:e,registry:t,loading:r,fallback:n}):null}function Pi({registry:e,store:t,initialState:r,handlers:n,navigate:o,validationFunctions:i,functions:a,directives:l,onStateChange:m,children:u}){const p=c.useMemo(()=>l?ja(l):void 0,[l]);return re.jsx(di,{store:t,initialState:r,onStateChange:m,children:re.jsx(fi,{children:re.jsx(wi,{customFunctions:i,children:re.jsx(vi,{handlers:n,navigate:o,children:re.jsx(jn.Provider,{value:a??Cn,children:re.jsxs(Dn.Provider,{value:p,children:[u,re.jsx(_i,{})]})})})})})})}function _i(){const{pendingConfirmation:e,confirm:t,cancel:r}=kn();return e!=null&&e.action.confirm?re.jsx(Ni,{confirm:e.action.confirm,onConfirm:t,onCancel:r}):null}function Ii(e,t){const r={};if(t.components)for(const[a,l]of Object.entries(t.components))r[a]=({element:m,children:u,emit:p,on:d,bindings:f,loading:g})=>l({props:m.props,children:u,emit:p,on:d,bindings:f,loading:g});const n=t.actions?Object.entries(t.actions):[];return{registry:r,handlers:(a,l)=>{const m={};for(const[u,p]of n)m[u]=async d=>{const f=a(),g=l();f&&await p(d,f,g)};return m},executeAction:async(a,l,m,u={})=>{const p=n.find(([d])=>d===a);p?await p[1](l,m,u):console.warn(`Unknown action: ${a}`)}}}function Ai(e){if(typeof e!="object"||e===null)return!1;const t=e;switch(t.type){case"patch":return typeof t.patch=="object"&&t.patch!==null;case"flat":case"nested":return typeof t.spec=="object"&&t.spec!==null;default:return!1}}function Mi(e){const t={root:"",elements:{}};let r=!1;for(const n of e)if(n.type===ga){if(!Ai(n.data))continue;const o=n.data;if(o.type==="patch")r=!0,pa(t,o.patch);else if(o.type==="flat")r=!0,Object.assign(t,o.spec);else if(o.type==="nested"){r=!0;const i=da(o.spec);Object.assign(t,i)}}return r?t:null}function ee(){const{dir:e}=k.useDocumentDir(),t=k.useConfig();return c.useMemo(()=>{const r=Q.resolveLanguage(t.language);return{t:(o,i)=>Q.getTranslation(o,r,t.translationOverrides,i),language:r,dir:Q.isRtlLanguage(r)?"rtl":"ltr",hostDocumentDir:e}},[t.language,t.translationOverrides,e])}function Vn(e){const t=Q.resolveLanguage(e);return(r,n)=>Q.getTranslation(r,t,void 0,n)}const zi={t:Vn("en"),anchorTarget:"_blank"},Pn=c.createContext(zi);function Ti({host:e,children:t}){return s.jsxDEV(Pn.Provider,{value:e,children:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/host.tsx",lineNumber:44,columnNumber:5},this)}function Dt(){return c.useContext(Pn)}function Ri({language:e,onUiAction:t,anchorTarget:r="_blank"}){return c.useMemo(()=>({t:Vn(e),anchorTarget:r,onUiAction:t}),[e,r,t])}class Oi extends c.Component{constructor(){super(...arguments);as(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(r){Q.log.error("json-render: spec failed to render",{_e:r instanceof Error?r.message:String(r)})}componentDidUpdate(r){this.state.hasError&&r.resetKey!==this.props.resetKey&&this.setState({hasError:!1})}render(){return this.state.hasError?null:this.props.children}}function $i(e){if(!e.elements)return e;let t=!1;const r={};for(const[n,o]of Object.entries(e.elements)){const i=Li(o,e);i!==o&&(t=!0),r[n]=i}return t?{...e,elements:r}:e}function Li(e,t){if(e.type!=="List")return e;const r=e.repeat;if(!r||typeof r.statePath!="string")return e;const n=Q.isRecord(e.props)?e.props:{},o=n.items;if(Array.isArray(o)&&o.length>0)return e;const a=le(t.state??{},r.statePath);if(!Array.isArray(a)||a.length===0)return e;const{repeat:l,...m}=e;return{...m,props:{...n,items:a}}}function V(...e){return ta.twMerge(ea.clsx(e))}const Fi=c.lazy(()=>Promise.resolve().then(()=>require("./Chart.impl-CgMJWhHk.cjs")));function Wi(e){const t=e.height??220;return s.jsxDEV(c.Suspense,{fallback:s.jsxDEV(Hi,{height:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/Chart.tsx",lineNumber:21,columnNumber:25},this),children:s.jsxDEV(Fi,{...e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/Chart.tsx",lineNumber:22,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/Chart.tsx",lineNumber:21,columnNumber:5},this)}function Hi({height:e}){return s.jsxDEV("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/Chart.tsx",lineNumber:29,columnNumber:5},this)}const _n=h.z.object({title:h.z.string().nullish(),description:h.z.string().nullish()}),In=h.z.object({direction:h.z.enum(["row","column"]).nullish(),gap:h.z.enum(["sm","md","lg"]).nullish(),align:h.z.enum(["start","center","end","stretch"]).nullish(),justify:h.z.enum(["start","center","end","between"]).nullish()}),An=h.z.object({columns:h.z.union([h.z.literal(1),h.z.literal(2),h.z.literal(3)]).nullish(),gap:h.z.enum(["sm","md","lg"]).nullish()}),Mn=h.z.object({text:h.z.string(),level:h.z.union([h.z.literal(1),h.z.literal(2),h.z.literal(3),h.z.literal(4)]).nullish()}),zn=h.z.object({text:h.z.string(),variant:h.z.enum(["body","caption","muted","code"]).nullish()}),Tn=h.z.object({text:h.z.string(),variant:h.z.enum(["default","secondary","success","warning","destructive"]).nullish()}),Bi=new Set(["http:","https:","mailto:"]),Ui=h.z.string().nullish().transform(e=>{if(!e)return null;try{return Bi.has(new URL(e).protocol)?e:null}catch{return null}}),Rn=h.z.object({id:h.z.string().nullish(),label:h.z.string(),secondary:h.z.string().nullish(),badge:h.z.string().nullish(),status:h.z.enum(["success","warning","error","info","neutral"]).nullish(),href:Ui}),On=h.z.object({items:h.z.array(Rn),maxVisible:h.z.number().int().positive().nullish()}),qi=h.z.object({items:h.z.array(Rn.extend({href:h.z.string().nullish()})),maxVisible:On.shape.maxVisible}),$n=h.z.object({columns:h.z.array(h.z.string()),rows:h.z.array(h.z.array(h.z.string())),caption:h.z.string().nullish()}),Gi=h.z.object({value:h.z.string(),direction:h.z.enum(["up","down","flat"]),label:h.z.string().nullish()}),Ln=h.z.object({label:h.z.string(),value:h.z.string(),description:h.z.string().nullish(),trend:h.z.enum(["up","down","neutral"]).nullish(),delta:Gi.nullish()}),Fn=h.z.object({type:h.z.enum(["info","tip","warning","important"]).nullish(),title:h.z.string().nullish(),content:h.z.string()}),Yi=h.z.object({label:h.z.string(),value:h.z.number()}),Wn=h.z.object({type:h.z.enum(["bar","line","pie"]),data:h.z.array(Yi),title:h.z.string().nullish(),height:h.z.number().int().positive().nullish(),centerLabel:h.z.string().nullish()}),Hn=h.z.object({agentId:h.z.string(),agentName:h.z.string(),model:h.z.string().nullish()});function xe(e,t,r){const n=e.safeParse(t);return n.success?n.data:r}const Xi=mi(ui,{components:{Card:{props:_n,slots:["default"],description:"Container card with an optional title/description. Group related content.",example:{title:"Order summary",description:"Placed 2 days ago"}},Stack:{props:In,slots:["default"],description:'Flex layout. Use direction="row" for side-by-side, "column" (default) to stack.'},Grid:{props:An,slots:["default"],description:"Column grid that wraps on narrow screens. columns=2 for side-by-side metrics or cards; columns=3 only for three short metrics — the chat panel is about 400px wide, so three wide cells wrap."},Heading:{props:Mn,description:"Section heading. level 1 (largest) to 4.",example:{text:"Your orders",level:3}},Text:{props:zn,description:'A paragraph of text. variant "muted"/"caption" for secondary text, "code" for monospace.'},Badge:{props:Tn,description:"Small status pill. Use variant to convey state (success/warning/destructive).",example:{text:"Delivered",variant:"success"}},List:{props:qi,description:"A vertical list of items, each with a label and optional secondary text, badge, and status dot. Pass the full array in `items` — do NOT use repeat/state for the rows.",example:{items:[{label:"Order #1024",secondary:"Shipped",status:"success"},{label:"Order #1025",secondary:"Processing",status:"warning"}]}},Table:{props:$n,description:"A data table. `columns` are header strings; `rows` is a 2D array of cell strings (each row same length as columns).",example:{columns:["Item","Qty","Price"],rows:[["Widget","2","$20"],["Gadget","1","$15"]]}},Metric:{props:Ln,description:"A single key figure (KPI / insight card) with a label, big value, optional description, trend arrow, and an optional period-over-period delta ({ value, direction, label }).",example:{label:"Total spent",value:"$1,240",description:"Last 30 days",trend:"up",delta:{value:"+8%",direction:"up",label:"vs previous 30d"}}},Callout:{props:Fn,description:"A highlighted info / tip / warning box for a single important note. Use for one call-out, not for long prose.",example:{type:"tip",title:"Heads up",content:"Free shipping over $50."}},PhoneAgentCard:{props:Hn,description:'A phone agent card with a "Test via web" action. NEVER author this yourself: it only comes back, already fenced, from the phone-agent tools — carry that fence verbatim.',example:{agentId:"00000000-0000-4000-8000-000000000000",agentName:"Support line",model:"oppie-vox-livekit"}},Chart:{props:Wn,description:"A bar, line, or pie (donut) chart. `data` is an array of { label, value } points. Choose by the question: line = trend over time, bar = comparison across categories, pie = share of a total (optional `centerLabel` shows a big number in the donut hole). Use for trends or distributions, not for a handful of numbers (use Metric for those). Colours, axes, legend, and tooltips are handled for you.",example:{type:"bar",title:"Orders per month",data:[{label:"Jan",value:12},{label:"Feb",value:18}]}}},actions:{}}),ks={sm:"gap-1.5",md:"gap-3",lg:"gap-4"},Zi="10rem";function Ki(e){return e===1?"minmax(0, 1fr)":`repeat(auto-fit, minmax(max(${Zi}, calc(100% / ${e} - 1rem)), 1fr))`}const{registry:Es}=Ii(Xi,{components:{Card:({props:e,children:t})=>{const r=xe(_n,e,{});return s.jsxDEV("div",{className:"flex flex-col gap-2 rounded-xl border border-muted-foreground/15 p-3",children:[(r.title||r.description)&&s.jsxDEV("div",{className:"flex flex-col gap-0.5",children:[r.title&&s.jsxDEV("div",{className:"text-sm font-semibold text-foreground",children:r.title},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:76,columnNumber:17},void 0),r.description&&s.jsxDEV("div",{className:"text-xs text-muted-foreground",children:r.description},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:81,columnNumber:17},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:74,columnNumber:13},void 0),t]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:72,columnNumber:9},void 0)},Stack:({props:e,children:t})=>{const r=xe(In,e,{}),n={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"}[r.align??"stretch"],o={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between"}[r.justify??"start"];return s.jsxDEV("div",{className:V("flex",r.direction==="row"?"flex-row":"flex-col",ks[r.gap??"md"],n,o),children:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:107,columnNumber:9},void 0)},Grid:({props:e,children:t})=>{const r=xe(An,e,{});return s.jsxDEV("div",{className:V("grid",ks[r.gap??"md"]),style:{gridTemplateColumns:Ki(r.columns??1)},children:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:124,columnNumber:9},void 0)},Heading:({props:e})=>{const t=xe(Mn,e,{text:""}),r=t.level??3,n={1:"text-xl font-bold",2:"text-lg font-bold",3:"text-base font-semibold",4:"text-sm font-semibold"}[r]??"text-base font-semibold";return c.createElement(`h${r}`,{className:V("text-foreground",n)},t.text)},Text:({props:e})=>{const t=xe(zn,e,{text:""});if(t.variant==="code")return s.jsxDEV("code",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground",children:t.text},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:154,columnNumber:11},void 0);const r=t.variant==="muted"||t.variant==="caption";return s.jsxDEV("p",{className:V("whitespace-pre-wrap",r?"text-xs text-muted-foreground":"text-sm text-foreground"),children:t.text},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:161,columnNumber:9},void 0)},Badge:({props:e})=>{const t=xe(Tn,e,{text:""}),r={default:"bg-primary text-primary-foreground",secondary:"bg-secondary text-secondary-foreground",success:"bg-emerald-500/15 text-emerald-600 dark:text-emerald-400",warning:"bg-amber-500/15 text-amber-600 dark:text-amber-400",destructive:"bg-destructive/15 text-destructive"}[t.variant??"secondary"];return s.jsxDEV("span",{className:V("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",r),children:t.text},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:182,columnNumber:9},void 0)},List:({props:e})=>{const t=xe(On,e,{items:[]});return t.items.length===0?s.jsxDEV(Cs,{translationKey:"json_no_items"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:196,columnNumber:16},void 0):s.jsxDEV(cl,{items:t.items,maxVisible:t.maxVisible},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:198,columnNumber:14},void 0)},Table:({props:e})=>{const t=xe($n,e,{columns:[],rows:[]});return t.columns.length===0?s.jsxDEV(Cs,{translationKey:"json_no_data"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:204,columnNumber:16},void 0):s.jsxDEV("div",{className:"overflow-x-auto rounded-lg border border-muted-foreground/15",children:s.jsxDEV("table",{className:"w-full text-sm",children:[t.caption&&s.jsxDEV("caption",{className:"px-3 py-2 text-start text-xs text-muted-foreground",children:t.caption},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:210,columnNumber:15},void 0),s.jsxDEV("thead",{children:s.jsxDEV("tr",{className:"border-b border-muted-foreground/15 bg-muted/40",children:t.columns.map((r,n)=>s.jsxDEV("th",{className:"px-3 py-2 text-start font-medium text-foreground",children:r},n,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:217,columnNumber:19},void 0))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:215,columnNumber:15},void 0)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:214,columnNumber:13},void 0),s.jsxDEV("tbody",{children:t.rows.map((r,n)=>s.jsxDEV("tr",{className:"border-b border-muted-foreground/10 last:border-0",children:r.map((o,i)=>s.jsxDEV("td",{className:"px-3 py-2 text-muted-foreground",children:o},i,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:233,columnNumber:21},void 0))},n,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:228,columnNumber:17},void 0))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:226,columnNumber:13},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:208,columnNumber:11},void 0)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:207,columnNumber:9},void 0)},Metric:({props:e})=>{const t=xe(Ln,e,{label:"",value:""});return s.jsxDEV(al,{label:t.label,value:t.value,description:t.description,trend:t.trend,delta:t.delta},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:248,columnNumber:9},void 0)},Callout:({props:e})=>{const t=xe(Fn,e,{content:""}),r=Qi[t.type??"info"],n=r.Icon;return s.jsxDEV("div",{className:V("flex gap-2 rounded-lg border-l-2 p-3",r.cls),children:[s.jsxDEV(n,{className:"mt-0.5 size-4 shrink-0"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:264,columnNumber:11},void 0),s.jsxDEV("div",{className:"flex flex-col gap-0.5",children:[t.title&&s.jsxDEV("span",{className:"text-sm font-semibold",children:t.title},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:267,columnNumber:15},void 0),s.jsxDEV("span",{className:"text-sm",children:t.content},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:269,columnNumber:13},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:265,columnNumber:11},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:263,columnNumber:9},void 0)},PhoneAgentCard:({props:e})=>{const t=xe(Hn,e,{agentId:"",agentName:""});return s.jsxDEV(tl,{...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:280,columnNumber:14},void 0)},Chart:({props:e})=>{const t=xe(Wn,e,{type:"bar",data:[]});return s.jsxDEV("div",{className:"flex flex-col gap-1",children:[t.title&&s.jsxDEV("span",{className:"text-xs font-medium text-muted-foreground",children:t.title},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:288,columnNumber:13},void 0),s.jsxDEV(Wi,{...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:292,columnNumber:11},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:286,columnNumber:9},void 0)}}}),Ji=({element:e})=>{const{t}=Dt();return s.jsxDEV("div",{className:"rounded-lg border border-dashed border-muted-foreground/30 px-2 py-1.5 text-xs text-muted-foreground",children:t("json_unsupported",{type:e.type})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:303,columnNumber:5},void 0)},Qi={info:{Icon:A.Info,cls:"border-l-blue-500 bg-blue-500/5 text-foreground"},tip:{Icon:A.Lightbulb,cls:"border-l-emerald-500 bg-emerald-500/5 text-foreground"},warning:{Icon:A.AlertTriangle,cls:"border-l-amber-500 bg-amber-500/5 text-foreground"},important:{Icon:A.AlertCircle,cls:"border-l-red-500 bg-red-500/5 text-foreground"}};function Cs({translationKey:e}){const{t}=Dt();return s.jsxDEV("div",{className:"rounded-lg border border-muted-foreground/15 px-3 py-2 text-xs text-muted-foreground",children:t(e)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:332,columnNumber:5},this)}const el="oppie-vox-livekit";function tl({agentId:e,agentName:t,model:r}){const{t:n,onUiAction:o}=Dt(),i=!!o&&!!e&&r===el;return s.jsxDEV("div",{className:"flex w-full flex-col gap-3 rounded-xl border border-muted-foreground/15 p-3",children:[s.jsxDEV("div",{className:"flex items-center gap-3",children:[s.jsxDEV("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:s.jsxDEV(A.Phone,{className:"size-4","aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:361,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:360,columnNumber:9},this),s.jsxDEV("div",{className:"min-w-0 flex-1",children:[s.jsxDEV("div",{className:"truncate text-sm font-medium text-foreground",children:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:364,columnNumber:11},this),s.jsxDEV("div",{className:"text-xs text-muted-foreground",children:n("json_phone_agent")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:367,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:363,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:359,columnNumber:7},this),i&&s.jsxDEV("button",{type:"button",className:"flex w-full items-center justify-center gap-2 rounded-lg bg-secondary px-3 py-2 text-sm font-medium text-secondary-foreground hover:bg-secondary/80",onClick:()=>o==null?void 0:o({type:"test-phone-agent",payload:{agentId:e,model:r??null}}),children:[s.jsxDEV(A.Play,{className:"size-4","aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:383,columnNumber:11},this),n("json_phone_agent_test")]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:373,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:358,columnNumber:5},this)}const rl={up:"↑",down:"↓",neutral:"→"},sl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",neutral:"text-muted-foreground"},nl={up:"↑",down:"↓",flat:"→"},ol={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",flat:"text-muted-foreground"};function al({label:e,value:t,description:r,trend:n,delta:o}){return s.jsxDEV("div",{className:"min-w-[140px] space-y-1 rounded-xl border border-muted-foreground/15 p-3",children:[s.jsxDEV("span",{className:"text-xs font-medium text-muted-foreground",children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:427,columnNumber:7},this),s.jsxDEV("div",{className:"flex items-baseline gap-2",children:[s.jsxDEV("span",{className:"text-2xl font-medium tracking-tight text-foreground",children:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:429,columnNumber:9},this),n?s.jsxDEV("span",{className:V("text-sm font-medium",sl[n]),children:rl[n]},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:433,columnNumber:11},this):null]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:428,columnNumber:7},this),o?s.jsxDEV("div",{className:"flex items-baseline gap-1 text-xs",children:[s.jsxDEV("span",{className:V("font-medium",ol[o.direction]),children:[nl[o.direction]," ",o.value]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:440,columnNumber:11},this),o.label?s.jsxDEV("span",{className:"text-muted-foreground",children:o.label},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:444,columnNumber:13},this):null]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:439,columnNumber:9},this):null,r?s.jsxDEV("span",{className:"block text-xs text-muted-foreground",children:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:449,columnNumber:9},this):null]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:426,columnNumber:5},this)}const il={success:"bg-emerald-500",warning:"bg-amber-500",error:"bg-red-500",info:"bg-blue-500",neutral:"bg-muted-foreground/40"};function ll({item:e,showBadge:t,showSecondary:r,showStatus:n}){return s.jsxDEV(s.Fragment,{children:[t&&(e.badge?s.jsxDEV("span",{className:"block min-w-0 truncate text-xs font-medium",title:e.badge,children:e.badge},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:485,columnNumber:11},this):s.jsxDEV("span",{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:492,columnNumber:11},this)),s.jsxDEV("span",{className:"block min-w-0 truncate",title:e.label,children:e.label},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:494,columnNumber:7},this),r&&(e.secondary?s.jsxDEV("span",{className:"block min-w-0 truncate text-xs text-muted-foreground",title:e.secondary,children:e.secondary},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:499,columnNumber:11},this):s.jsxDEV("span",{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:506,columnNumber:11},this)),n&&(e.status?s.jsxDEV("span",{className:V("size-2 rounded-full",il[e.status]),"aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:510,columnNumber:11},this):s.jsxDEV("span",{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:515,columnNumber:11},this))]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:482,columnNumber:5},this)}function cl({items:e,maxVisible:t}){const r=t??10,{anchorTarget:n,t:o}=Dt(),[i,a]=c.useState(!1),l=e.length>r,m=i?e:e.slice(0,r),u=m.some(N=>!!N.badge),p=m.some(N=>!!N.secondary),d=m.some(N=>!!N.status),f=[u&&"auto","minmax(0,1fr)",p&&"minmax(0,2fr)",d&&"auto"].filter(Boolean).join(" "),g="grid min-w-0 grid-cols-[subgrid] col-span-full items-center gap-x-2.5 px-3 py-2 text-sm text-foreground";return s.jsxDEV("div",{className:"grid overflow-hidden rounded-lg border border-muted-foreground/15",style:{gridTemplateColumns:f},children:[m.map((N,y)=>{const E=N.id??`row-${y}`,v=s.jsxDEV(ll,{item:N,showBadge:u,showSecondary:p,showStatus:d},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:566,columnNumber:11},this);return N.href?s.jsxDEV("a",{href:N.href,target:n||"_top",rel:"noopener noreferrer",className:V(g,"transition-colors hover:bg-muted/50",y>0&&"border-t border-muted-foreground/10"),children:v},E,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:574,columnNumber:11},this):s.jsxDEV("div",{className:V(g,y>0&&"border-t border-muted-foreground/10"),children:v},E,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:588,columnNumber:11},this)}),l&&s.jsxDEV("button",{type:"button",className:"col-span-full flex w-full items-center justify-center gap-1 border-t border-muted-foreground/10 py-2 text-xs text-muted-foreground transition-colors hover:bg-muted/50",onClick:()=>a(N=>!N),children:i?s.jsxDEV(s.Fragment,{children:[s.jsxDEV(A.ChevronUp,{className:"size-3"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:607,columnNumber:15},this),o("json_see_less")]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:606,columnNumber:13},this):s.jsxDEV(s.Fragment,{children:[s.jsxDEV(A.ChevronDown,{className:"size-3"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:612,columnNumber:15},this),o("json_see_more",{count:e.length-r})]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:611,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:600,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/registry.tsx",lineNumber:559,columnNumber:5},this)}function Bn({spec:e}){const{anchorTarget:t,onUiAction:r}=k.useConfig(),{t:n}=ee(),o=c.useMemo(()=>({t:n,anchorTarget:t??"_blank",onUiAction:r}),[n,t,r]);return s.jsxDEV(Un,{spec:e,host:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/SpecRenderer.tsx",lineNumber:32,columnNumber:10},this)}function ml({spec:e,language:t,onUiAction:r,anchorTarget:n}){const o=Ri({language:t,onUiAction:r,anchorTarget:n});return s.jsxDEV(Un,{spec:e,host:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/SpecRenderer.tsx",lineNumber:53,columnNumber:10},this)}function Un({spec:e,host:t}){const r=c.useMemo(()=>e?$i(e):null,[e]);return!r||!bn(r)?null:s.jsxDEV(Ti,{host:t,children:s.jsxDEV(Oi,{resetKey:r,children:s.jsxDEV(Pi,{registry:Es,initialState:r.state,children:s.jsxDEV(Vi,{spec:r,registry:Es,fallback:Ji},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/SpecRenderer.tsx",lineNumber:76,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/SpecRenderer.tsx",lineNumber:75,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/SpecRenderer.tsx",lineNumber:74,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/json-render/SpecRenderer.tsx",lineNumber:73,columnNumber:5},this)}function qn(e){if(!e)return[];const t=e.split(`
12
+ `),r=[];let n=[],o=[],i=[],a=!1;function l(){if(n.length===0)return;const u=n.join(`
13
+ `);u.trim()&&r.push({type:"markdown",content:u}),n=[]}function m(){if(i.length===0)return;let u=null;if(o.length>0)try{u=fa(o.join(`
14
+ `),{root:"",elements:{}})}catch{}u&&bn(u)?(l(),r.push({type:"ui",spec:u})):n.push(...i),o=[],i=[]}for(const u of t){const p=u.trim();if(!a&&p==="```spec"){a=!0,i=[u];continue}if(a&&p==="```"){i.push(u),m(),a=!1;continue}if(a){i.push(u),p!==""&&mn(u)&&o.push(u);continue}n.push(u)}return m(),l(),r}function ul(e){return Mi(e)}function O(e){return{"data-component":e}}const dr=[{kind:"csv",label:"CSV",mimes:["text/csv","application/csv"],extensions:["csv"]},{kind:"excel",label:"Excel",mimes:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],extensions:["xls","xlsx"]}],pl=Object.fromEntries(dr.flatMap(e=>e.mimes.map(t=>[t,e.extensions.map(r=>`.${r}`)]))),dl={"video/mp4":[".mp4"],"video/webm":[".webm"],"video/quicktime":[".mov"]};function Gn({type:e,name:t}){var o,i;const r=((o=t.split(".").pop())==null?void 0:o.toLowerCase())??"",n=((i=e.toLowerCase().split(";")[0])==null?void 0:i.trim())??"";return dr.find(a=>r&&a.extensions.includes(r))??dr.find(a=>n&&a.mimes.includes(n))??null}const lt={x:2,y:2},Se=c.memo(c.forwardRef(({children:e,className:t,scale:r=1.02,off:n=!1},o)=>{const[i,a]=c.useState(!1),[l,m]=c.useState({x:0,y:0});if(n||/translate/.test(e.props.className||""))return e;const p=N=>{var z,M;const{clientX:y,clientY:E}=N,v=N.currentTarget.getBoundingClientRect(),P=y-(v.left+v.width/2),x=E-(v.top+v.height/2),S=Math.max(-1,Math.min(1,P/(v.width/2))),b=Math.max(-1,Math.min(1,x/(v.height/2))),w=S*lt.x,D=b*lt.y;m({x:w,y:D}),(M=(z=e.props).onMouseMove)==null||M.call(z,N)},d=()=>{var N,y;a(!0),(y=(N=e.props).onMouseEnter)==null||y.call(N)},f=()=>{var N,y;a(!1),m({x:0,y:0}),(y=(N=e.props).onMouseLeave)==null||y.call(N)},g={"--wobble-x":i?`${l.x}px`:"0px","--wobble-y":i?`${l.y}px`:"0px","--scale":1-(r-1)};return c.cloneElement(e,{ref:o,onMouseMove:p,onMouseEnter:d,onMouseLeave:f,style:{...g,...e.props.style},className:V("translate-x-[var(--wobble-x)]","translate-y-[var(--wobble-y)]","hover:scale-[var(--scale)] active:hover:scale-[calc(var(--scale)-0.02)]",t,e.props.className,"transition-all ease-out")})}));Se.displayName="Wobble";const St=[.23,1,.32,1],fl=`cubic-bezier(${St.join(", ")})`,Me={duration:.2,ease:St},ze={duration:.15,ease:St},ct={type:"spring",stiffness:500,damping:45,mass:1},hl=[.32,.72,.24,1],gl=`cubic-bezier(${hl.join(", ")})`,bl="0 2px 12px 0 rgba(0,0,0,0.18), 0 1px 4px 0 rgba(0,0,0,0), 0 0 0 1px rgba(255,255,255,0.08), inset 0 1px 0 0 rgba(255,255,255,0)",wl="0 8px 28px 0 rgba(0,0,0,0.10), 0 1px 4px 0 rgba(0,0,0,0), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",xl="0 12px 40px 0 rgba(0,0,0,0.12), 0 2px 8px 0 rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",vl="0 24px 48px -16px rgba(0,0,0,0.18), 0 4px 16px 0 rgba(0,0,0,0.05), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",Nl=10,yl=(e,t,r)=>({initial:{opacity:0,x:-e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Me,delay:r}},exit:{opacity:0,x:e,...t.exit,transition:ze},transition:Me}),kl=(e,t,r)=>({initial:{opacity:0,x:e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Me,delay:r}},exit:{opacity:0,x:-e,...t.exit,transition:ze},transition:Me}),El=(e,t,r)=>({initial:{opacity:0,y:e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Me,delay:r}},exit:{opacity:0,y:-e,...t.exit,transition:ze},transition:Me}),Cl=(e,t,r)=>({initial:{opacity:0,y:-e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Me,delay:r}},exit:{opacity:0,y:e,...t.exit,transition:ze},transition:Me}),jl={right:yl,left:kl,up:El,down:Cl},te=c.forwardRef(({fadeIn:e="down",distance:t=Nl,children:r,snapExit:n=!1,overrides:o={},delay:i=0,...a},l)=>{const m=e?jl[e](t,o,i):{};return n&&m.exit&&typeof m.exit=="object"&&!Array.isArray(m.exit)&&(m.exit.transition={duration:0}),s.jsxDEV(B.motion.div,{ref:l,...a,...m,children:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/MotionDiv.tsx",lineNumber:145,columnNumber:7},void 0)});te.displayName="MotionDiv";const fr=tn.cva(V("inline-flex shrink-0 items-center justify-center gap-2","text-sm font-medium whitespace-nowrap","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50","active:scale-95 hover:active:scale-95","rounded-xl","transition"),{variants:{variant:{default:"bg-primary text-primary-foreground",destructive:"bg-destructive text-destructive-foreground",outline:"bg-background border",secondary:"bg-secondary text-secondary-foreground",ghost:"hover:bg-secondary",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"py-2 px-3.5 text-xs",lg:"min-h-12 px-4 rounded-[20px]",icon:"h-10 w-10",fit:"size-fit p-2",free:"p-2",selfless:"p-0"}},defaultVariants:{variant:"default",size:"default"}}),se=Ue.forwardRef(({className:e,variant:t="default",size:r,asChild:n=!1,...o},i)=>{const a=n?ra.Slot:"button";return s.jsxDEV(Se,{ref:i,children:s.jsxDEV(a,{...O("ui_lib/btn"),"data-variant":t,className:V(fr({variant:t,size:r,className:e})),...o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/button.tsx",lineNumber:63,columnNumber:9},void 0)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/button.tsx",lineNumber:62,columnNumber:7},void 0)});se.displayName="Button";const Yn=c.createContext(null);function Dl({children:e}){const[t,r]=c.useState(!1),[n,o]=c.useState(null),i=l=>{o(l),r(!0)},a=c.useCallback(()=>{r(!1),setTimeout(()=>{o(null)},200)},[]);return s.jsxDEV(Yn.Provider,{value:{open:i,close:a,isOpen:t,content:n},children:[s.jsxDEV(Sl,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:46,columnNumber:7},this),e]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:43,columnNumber:5},this)}function Bt(){const e=c.useContext(Yn);return e||(Q.log.error("useDialoger must be used within a DialogerProvider"),{open:()=>{},close:()=>{},isOpen:!1,content:null})}function Sl(){const{contentIframeRef:e}=k.useWidget(),{isOpen:t,content:r,close:n}=Bt();return c.useEffect(()=>{var a,l;if(!t)return;const o=m=>{m.defaultPrevented||m.key!=="Escape"||(m.preventDefault(),n())},i=(l=(a=e==null?void 0:e.current)==null?void 0:a.contentWindow)==null?void 0:l.document;return i==null||i.addEventListener("keydown",o),()=>i==null?void 0:i.removeEventListener("keydown",o)},[n,e,t]),s.jsxDEV(B.AnimatePresence,{mode:"wait",children:t&&r&&s.jsxDEV(te,{overrides:{initial:{y:0},exit:{y:0}},className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm",tabIndex:-1,onClick:n,children:r},"dialog-content",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:93,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:91,columnNumber:5},this)}function Ut({children:e,className:t,withClose:r=!1}){const{close:n}=Bt();return s.jsxDEV("div",{"data-opencx-escape-scope":!0,className:V("fixed left-[50%] top-[50%] z-50 flex flex-col gap-4 w-full max-w-[61.8%] translate-x-[-50%] translate-y-[-50%] border bg-background p-4 rounded-3xl",t),onClick:o=>o.stopPropagation(),children:[e,r&&s.jsxDEV(se,{size:"fit",className:"rounded-full absolute top-4 right-4 opacity-50 hover:opacity-100",onClick:n,children:[s.jsxDEV(A.X,{className:"h-4 w-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:136,columnNumber:11},this),s.jsxDEV("span",{className:"sr-only",children:"Close"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:137,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:131,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:121,columnNumber:5},this)}const Sr=({className:e,...t})=>s.jsxDEV("div",{className:V("flex flex-col gap-2 text-center pt-2",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:148,columnNumber:3},void 0);Sr.displayName="DialogerHeader";const Vr=({className:e,...t})=>s.jsxDEV("div",{className:V("flex flex-col gap-2 text-center",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:159,columnNumber:3},void 0);Vr.displayName="DialogerBody";const Xn=({className:e,...t})=>s.jsxDEV("div",{className:V("flex flex-col gap-2",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:170,columnNumber:3},void 0);Xn.displayName="DialogerFooter";const Pr=c.forwardRef(({className:e,...t},r)=>s.jsxDEV("p",{ref:r,className:V("text-lg font-semibold leading-none tracking-tight",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:178,columnNumber:3},void 0));Pr.displayName="DialogerTitle";const _r=c.forwardRef(({className:e,...t},r)=>s.jsxDEV("p",{ref:r,className:V("text-sm text-muted-foreground",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Dialoger.tsx",lineNumber:193,columnNumber:3},void 0));_r.displayName="DialogerDescription";function qt({children:e,trigger:t}){const{open:r}=Bt();return c.cloneElement(t,{onClick:()=>{var o,i;r(e),(i=(o=t.props).onClick)==null||i.call(o)}})}const js=1,Ds=5,Ss=.5,Vl=2.5;function Pl(e,t,r,n){if(!r||!n||t<=1)return{x:0,y:0};const o=r.getBoundingClientRect(),i=n.offsetWidth,a=n.offsetHeight,l=Math.max(0,(i*t-o.width)/(2*t)),m=Math.max(0,(a*t-o.height)/(2*t));return{x:Math.min(l,Math.max(-l,e.x)),y:Math.min(m,Math.max(-m,e.y))}}function Zn({src:e,alt:t}){const[r,n]=c.useState(1),[o,i]=c.useState({x:0,y:0}),[a,l]=c.useState(!1),m=c.useRef({x:0,y:0}),u=c.useRef({x:0,y:0}),p=c.useRef(null),d=c.useRef(null),f=c.useRef(!1),g=b=>Math.min(Ds,Math.max(js,b)),N=c.useCallback(()=>{n(1),i({x:0,y:0})},[]),y=c.useCallback(()=>{n(b=>g(b+Ss))},[]),E=c.useCallback(()=>{n(b=>{const w=g(b-Ss);return w<=1&&i({x:0,y:0}),w})},[]),v=c.useCallback(b=>{b.preventDefault(),f.current=!1,l(!0),m.current={x:b.clientX,y:b.clientY},u.current={...o},b.target.setPointerCapture(b.pointerId)},[o]),P=c.useCallback(b=>{if(!a)return;const w=b.clientX-m.current.x,D=b.clientY-m.current.y;if((Math.abs(w)>3||Math.abs(D)>3)&&(f.current=!0),r<=1)return;const z={x:u.current.x+w/r,y:u.current.y+D/r};i(Pl(z,r,p.current,d.current))},[a,r]),x=c.useCallback(()=>{const b=f.current;l(!1),!b&&n(w=>w>1?(i({x:0,y:0}),1):Vl)},[]),S=r>1;return s.jsxDEV("div",{className:"relative size-full flex items-center justify-center select-none",onClick:b=>b.stopPropagation(),children:[s.jsxDEV("div",{ref:p,className:V("overflow-hidden max-h-full max-w-full rounded-2xl flex items-center justify-center",S&&"size-full"),onPointerDown:v,onPointerMove:P,onPointerUp:x,onPointerCancel:x,style:{cursor:a?"grabbing":S?"grab":"zoom-in",touchAction:"none"},children:s.jsxDEV("img",{ref:d,src:e,alt:t,className:"block max-w-full object-contain pointer-events-none",draggable:!1,style:{maxHeight:"100vh",transform:`scale(${r}) translate(${o.x}px, ${o.y}px)`,transformOrigin:"center center"}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:130,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:115,columnNumber:7},this),s.jsxDEV("div",{className:"absolute bottom-3 left-1/2 -translate-x-1/2 flex items-center gap-1 bg-black/60 backdrop-blur-sm rounded-full px-1.5 py-1 transition opacity-50 hover:opacity-100",children:[s.jsxDEV(sr,{onClick:E,label:"Zoom out",disabled:r<=js,children:s.jsxDEV(A.ZoomOut,{className:"size-3.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:151,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:146,columnNumber:9},this),s.jsxDEV("span",{className:"text-white text-xs font-medium min-w-[3ch] text-center tabular-nums",children:[Math.round(r*100),"%"]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:153,columnNumber:9},this),s.jsxDEV(sr,{onClick:y,label:"Zoom in",disabled:r>=Ds,children:s.jsxDEV(A.ZoomIn,{className:"size-3.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:161,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:156,columnNumber:9},this),S&&s.jsxDEV(s.Fragment,{children:[s.jsxDEV("div",{className:"w-px h-4 bg-white/30 mx-0.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:165,columnNumber:13},this),s.jsxDEV(sr,{onClick:N,label:"Reset zoom",children:s.jsxDEV(A.RotateCcw,{className:"size-3.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:167,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:166,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:164,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:145,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:111,columnNumber:5},this)}function sr({onClick:e,label:t,children:r,disabled:n}){return s.jsxDEV("button",{onClick:e,"aria-label":t,disabled:n,className:"text-white/80 hover:text-white disabled:text-white/30 disabled:hover:bg-transparent p-1.5 rounded-full hover:bg-white/15 transition-colors",children:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ZoomableImage.tsx",lineNumber:188,columnNumber:5},this)}function Vs({url:e,name:t,size:r,icon:n,label:o}){return s.jsxDEV(Se,{children:s.jsxDEV("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:V("block size-fit max-w-[min(100%,16rem)] shrink-0 rounded-2xl border","bg-background/80 transition-colors hover:bg-accent/60","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"),children:s.jsxDEV("div",{className:"flex items-center gap-3 p-3 min-w-0",children:[s.jsxDEV("div",{className:V("flex size-10 shrink-0 items-center justify-center rounded-xl","bg-secondary text-muted-foreground"),"aria-hidden":!0,children:n},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:42,columnNumber:11},this),s.jsxDEV("div",{className:"min-w-0 flex-1 flex flex-col gap-0.5 text-left",children:[s.jsxDEV("span",{className:V("text-xs font-medium text-foreground line-clamp-1","break-words [word-break:break-word]"),children:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:52,columnNumber:13},this),s.jsxDEV("span",{className:"text-xs text-muted-foreground tabular-nums",children:[(r/1024).toFixed(2)," KB · ",o]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:60,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:41,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:31,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:30,columnNumber:5},this)}function Kn({attachment:e}){const{name:t,size:r,type:n,url:o}=e,i=n.startsWith("image/"),a=n.startsWith("video/"),l=n.startsWith("audio/"),m=n==="application/pdf";if(l)return s.jsxDEV(Se,{children:s.jsxDEV("div",{className:"w-full shrink-0 overflow-hidden",children:s.jsxDEV("audio",{controls:!0,className:"w-full",children:[s.jsxDEV("source",{src:o,type:n},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:83,columnNumber:13},this),"Your browser does not support the audio tag."]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:82,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:81,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:80,columnNumber:7},this);if(a)return s.jsxDEV(Se,{children:s.jsxDEV("div",{className:"w-full border shrink-0 rounded-2xl overflow-hidden",children:s.jsxDEV("video",{controls:!0,children:[s.jsxDEV("source",{src:o,type:n},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:96,columnNumber:13},this),"Your browser does not support the video tag."]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:95,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:94,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:93,columnNumber:7},this);if(i)return s.jsxDEV(qt,{trigger:s.jsxDEV("div",{children:s.jsxDEV(Se,{children:s.jsxDEV("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:s.jsxDEV("img",{src:o,className:"object-cover size-16",alt:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:111,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:110,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:109,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:108,columnNumber:11},this),children:s.jsxDEV(Ut,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:s.jsxDEV(Zn,{src:o,alt:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:121,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:117,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:106,columnNumber:7},this);if(m)return s.jsxDEV(Vs,{url:o,name:t,size:r,icon:s.jsxDEV(A.FileText,{className:"size-5",strokeWidth:1.75},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:133,columnNumber:15},this),label:"PDF"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:129,columnNumber:7},this);const u=Gn({type:n,name:t});return u?s.jsxDEV(Vs,{url:o,name:t,size:r,icon:s.jsxDEV(A.FileSpreadsheet,{className:"size-5",strokeWidth:1.75},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:146,columnNumber:15},this),label:u.label},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:142,columnNumber:7},this):s.jsxDEV(Se,{children:s.jsxDEV("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:s.jsxDEV("div",{className:"flex items-end gap-2 p-2",children:[s.jsxDEV("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:V("text-xs text-blue-500 line-clamp-2 underline hover:text-blue-600","break-words [word-break:break-word]"),children:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:156,columnNumber:11},this),s.jsxDEV("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:[(r/1024).toFixed(2)," KB"]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:167,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:155,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:154,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AttachmentPreview.tsx",lineNumber:153,columnNumber:5},this)}const Jn=c.memo(sa,(e,t)=>e.children===t.children&&e.className===t.className);function Qn(e){return e.replace(/<citations>[\s\S]*?<\/citations>/g,"").replace(/<citations[\s\S]*$/,"").replace(/<(?:ref|cite)\s[^>]*?\/?>/g,"").replace(/<r(?:e(?:f[^>]*)?)?$/,"").replace(/<c(?:i(?:t(?:a(?:t(?:i(?:o(?:n(?:s)?)?)?)?)?)?(?:e[^>]*)?)?)?$/,"").trimEnd()}var Qs,en;const _l={...gt.defaultSchema,attributes:{...gt.defaultSchema.attributes,code:[...((Qs=gt.defaultSchema.attributes)==null?void 0:Qs.code)??[],"className"],pre:[...((en=gt.defaultSchema.attributes)==null?void 0:en.pre)??[],"className"]}};function Gt({children:e,messageType:t,messageId:r}){const{anchorTarget:n}=k.useConfig();return s.jsxDEV(Jn,{"data-type":t,"data-id":r,remarkPlugins:[rn],rehypePlugins:[sn,[gt,_l]],components:{a:({children:o,...i})=>s.jsxDEV("a",{target:i.target||n||"_top",...i,children:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/RichText.tsx",lineNumber:55,columnNumber:13},this),img:({src:o,alt:i,...a})=>o?s.jsxDEV(qt,{trigger:s.jsxDEV("img",{src:o,alt:i,...a,className:"cursor-pointer rounded-xl"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/RichText.tsx",lineNumber:65,columnNumber:17},this),children:s.jsxDEV(Ut,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:s.jsxDEV(Zn,{src:o,alt:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/RichText.tsx",lineNumber:77,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/RichText.tsx",lineNumber:73,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/RichText.tsx",lineNumber:63,columnNumber:13},this):s.jsxDEV("img",{src:o,alt:i,...a},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/RichText.tsx",lineNumber:61,columnNumber:28},this)},children:Qn(e)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/RichText.tsx",lineNumber:47,columnNumber:5},this)}function Te(){const{widgetCtx:{org:e}}=k.useWidget(),{sessionState:{session:t}}=k.useSessions(),r=k.useConfig(),{messagesState:{messages:n}}=k.useMessages(),{routerState:{screen:o}}=k.useWidgetRouter();return{react:c,org:e,session:t,config:r,messages:n,currentScreen:o}}function Il({currentMessage:e}){var n;const t=Te(),r=(n=t.config.customComponents)==null?void 0:n["message::after"];return r?s.jsxDEV(r,{...t,currentMessage:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/MessageAfterComponent.tsx",lineNumber:15,columnNumber:10},this):null}function hr(e){const{data:t,id:r,type:n,attachments:o,isFirstInGroup:i,isLastInGroup:a,isAloneInGroup:l,dataComponentNames:m,classNames:u}=e,p=n==="AI"||n==="AGENT"?t.message:"",d=c.useMemo(()=>n==="AI"?qn(p):null,[n,p]);if(n!=="AI"&&n!=="AGENT")return null;const{variant:f="default"}=t,g=(E,v,P=!0)=>s.jsxDEV("div",{className:"flex flex-row gap-2",children:[s.jsxDEV("div",{...O((m==null?void 0:m.message)??"chat/agent_msg/msg"),"data-first":i,"data-last":a,"data-alone":l,"data-variant":f,className:V("transition-all","w-fit py-3 px-4 rounded-3xl bg-secondary text-secondary-foreground","leading-snug text-sm prose prose-sm prose-a:decoration-primary prose-a:underline","break-words [word-break:break-word]",f==="error"&&"bg-destructive/15 text-destructive",i&&!l&&"rounded-bl-md",a&&!l&&"rounded-tl-md",!i&&!a&&!l&&"rounded-l-md",u==null?void 0:u.message),children:s.jsxDEV(Gt,{messageType:n,messageId:r,children:E},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:84,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:57,columnNumber:7},this),P&&s.jsxDEV(Il,{currentMessage:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:88,columnNumber:21},this)]},v,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:56,columnNumber:5},this),N=(d==null?void 0:d.some(E=>E.type==="ui"))??!1,y=(d==null?void 0:d.reduce((E,v,P)=>v.type==="markdown"?P:E,-1))??-1;return s.jsxDEV("div",{...O((m==null?void 0:m.messageContainer)??"chat/agent_msg/root"),className:V("w-5/6 flex flex-col items-start gap-1",u==null?void 0:u.messageContainer),children:[o&&o.length>0&&s.jsxDEV("div",{className:"w-full gap-1 flex flex-row flex-wrap items-center justify-start",children:o==null?void 0:o.map(E=>s.jsxDEV(Kn,{attachment:E},E.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:110,columnNumber:13},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:108,columnNumber:9},this),N&&d?d.map((E,v)=>E.type==="markdown"?g(E.content,`md-${v}`,v===y):s.jsxDEV("div",{className:"w-full",children:s.jsxDEV(Bn,{spec:E.spec},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:127,columnNumber:17},this)},`ui-${v}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:126,columnNumber:15},this)):p.length>0&&g(p)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/AgentMessageDefaultComponent.tsx",lineNumber:100,columnNumber:5},this)}function Al(e){return s.jsxDEV("div",{className:"w-full max-w-full overflow-auto shrink-0",children:s.jsxDEV("pre",{className:"text-xs leading-tight whitespace-pre-wrap break-word",children:JSON.stringify(e,null,1)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/FallbackDefaultComponent.tsx",lineNumber:10,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/FallbackDefaultComponent.tsx",lineNumber:9,columnNumber:5},this)}const Ir=Ue.forwardRef(({className:e,...t},r)=>s.jsxDEV(ut.Root,{ref:r,className:V("relative flex size-6 aspect-square shrink-0 overflow-hidden rounded-full bg-secondary",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/avatar.tsx",lineNumber:9,columnNumber:3},void 0));Ir.displayName=ut.Root.displayName;const Ar=Ue.forwardRef(({className:e,...t},r)=>s.jsxDEV(ut.Image,{ref:r,className:V("aspect-square h-full w-full",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/avatar.tsx",lineNumber:25,columnNumber:3},void 0));Ar.displayName=ut.Image.displayName;const Mr=Ue.forwardRef(({className:e,...t},r)=>s.jsxDEV(ut.Fallback,{ref:r,className:V("flex size-full text-xs items-center justify-center rounded-lg",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/avatar.tsx",lineNumber:37,columnNumber:3},void 0));Mr.displayName=ut.Fallback.displayName;function gr({agent:e,...t}){var r,n;return s.jsxDEV(Ir,{...t,children:[s.jsxDEV(Ar,{src:(e==null?void 0:e.avatarUrl)||(e==null?void 0:e.avatar)||"",alt:"Agent Icon"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentAvatar.tsx",lineNumber:14,columnNumber:7},this),(e==null?void 0:e.name)&&s.jsxDEV(Mr,{children:(n=(r=e==null?void 0:e.name)==null?void 0:r.slice(0,1))==null?void 0:n.toUpperCase()},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentAvatar.tsx",lineNumber:19,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentAvatar.tsx",lineNumber:13,columnNumber:5},this)}function Ml({agent:e}){return s.jsxDEV(B.AnimatePresence,{children:s.jsxDEV(te,{...O("chat/bot_loading/root"),className:"flex flex-row items-end w-full gap-2 animate-pulse",children:[s.jsxDEV(gr,{agent:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/LoadingDefaultComponent.tsx",lineNumber:20,columnNumber:9},this),s.jsxDEV("div",{...O("chat/bot_loading/bouncing_dots_container"),className:V("flex items-center [&_span]:bg-secondary-foreground [&_span]:size-1 gap-1 p-2 rounded-xl bg-secondary"),children:[s.jsxDEV(B.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.3s]"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/LoadingDefaultComponent.tsx",lineNumber:28,columnNumber:11},this),s.jsxDEV(B.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.15s]"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/LoadingDefaultComponent.tsx",lineNumber:29,columnNumber:11},this),s.jsxDEV(B.motion.span,{className:"rounded-full animate-bounce"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/LoadingDefaultComponent.tsx",lineNumber:30,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/LoadingDefaultComponent.tsx",lineNumber:21,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/LoadingDefaultComponent.tsx",lineNumber:16,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/LoadingDefaultComponent.tsx",lineNumber:15,columnNumber:5},this)}const zl='*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}*{border-color:hsl(var(--opencx-border))}.\\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.opencx-text-shimmer{animation:opencx-text-shimmer 2.5s ease-in-out infinite}.opencx-fade-up{animation:opencx-fade-up .3s cubic-bezier(.23,1,.32,1) both}.opencx-placeholder-in{animation:opencx-placeholder-in .2s cubic-bezier(.23,1,.32,1) both}.opencx-placeholder-out{animation:opencx-placeholder-out .18s cubic-bezier(.23,1,.32,1) both}@keyframes opencx-text-shimmer{0%,to{opacity:.45}50%{opacity:1}}@keyframes opencx-fade-up{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}to{opacity:1;filter:blur(0px);transform:translateY(0)}}@keyframes opencx-placeholder-in{0%{opacity:0;transform:translateY(4px);filter:blur(1px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes opencx-placeholder-out{0%{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:0;transform:translateY(-8px);filter:blur(1px)}}.opencx-input-recall{animation:opencx-input-recall .15s cubic-bezier(.23,1,.32,1)}@keyframes opencx-input-recall{0%{opacity:.25;translate:0 -3px}to{opacity:1;translate:0 0}}@media (prefers-reduced-motion: reduce){.opencx-text-shimmer,.opencx-fade-up,.opencx-placeholder-in,.opencx-placeholder-out,.opencx-input-recall{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-0\\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.end-1{inset-inline-end:.25rem}.end-6{inset-inline-end:1.5rem}.left-1\\/2,.left-\\[50\\%\\]{left:50%}.right-4{right:1rem}.start-2{inset-inline-start:.5rem}.top-1{top:.25rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-\\[50\\%\\]{top:50%}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-full{grid-column:1 / -1}.m-2{margin:.5rem}.-mx-0\\.5{margin-left:-.125rem;margin-right:-.125rem}.mx-0\\.5{margin-left:.125rem;margin-right:.125rem}.mx-auto{margin-left:auto;margin-right:auto}.-mt-0\\.5{margin-top:-.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ms-1\\.5{margin-inline-start:.375rem}.ms-\\[30px\\]{margin-inline-start:30px}.ms-auto{margin-inline-start:auto}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-0{width:0px;height:0px}.size-1\\.5{width:.375rem;height:.375rem}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-16{width:4rem;height:4rem}.size-2{width:.5rem;height:.5rem}.size-2\\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-\\[18px\\]{width:18px;height:18px}.size-fit{width:fit-content;height:fit-content}.size-full{width:100%;height:100%}.h-0{height:0px}.h-1{height:.25rem}.h-10{height:2.5rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.max-h-16{max-height:4rem}.max-h-40{max-height:10rem}.max-h-72{max-height:18rem}.max-h-\\[160px\\]{max-height:160px}.max-h-\\[200px\\]{max-height:200px}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-12{min-height:3rem}.w-0{width:0px}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2\\/5{width:40%}.w-3\\/5{width:60%}.w-4{width:1rem}.w-5\\/6{width:83.333333%}.w-7{width:1.75rem}.w-\\[32px\\]{width:32px}.w-\\[3px\\]{width:3px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.w-svw{width:100svw}.min-w-0{min-width:0px}.min-w-80{min-width:20rem}.min-w-\\[140px\\]{min-width:140px}.min-w-\\[3ch\\]{min-width:3ch}.max-w-40{max-width:10rem}.max-w-48{max-width:12rem}.max-w-96{max-width:24rem}.max-w-\\[61\\.8\\%\\]{max-width:61.8%}.max-w-\\[min\\(100\\%\\,16rem\\)\\]{max-width:min(100%,16rem)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\\[var\\(--radix-popover-content-transform-origin\\)\\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\\[var\\(--radix-tooltip-content-transform-origin\\)\\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.-translate-x-1\\/2,.translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[var\\(--wobble-x\\)\\]{--tw-translate-x: var(--wobble-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[var\\(--wobble-y\\)\\]{--tw-translate-y: var(--wobble-y);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-y-50{--tw-scale-y: .5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\\[subgrid\\]{grid-template-columns:subgrid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\\[1px\\]{gap:1px}.gap-\\[3px\\]{gap:3px}.gap-x-2\\.5{column-gap:.625rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[20px\\]{border-radius:20px}.rounded-\\[calc\\(var\\(--opencx-inset-radius\\)\\+var\\(--cx-p\\)\\)\\]{border-radius:calc(var(--opencx-inset-radius) + var(--cx-p))}.rounded-\\[calc\\(var\\(--pk-r\\)-var\\(--pk-p\\)\\)\\]{border-radius:calc(var(--pk-r) - var(--pk-p))}.rounded-\\[var\\(--opencx-inset-radius\\)\\]{border-radius:var(--opencx-inset-radius)}.rounded-\\[var\\(--pk-r\\)\\]{border-radius:var(--pk-r)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.border{border-width:1px}.border-\\[1\\.5px\\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-border{border-color:hsl(var(--opencx-border))}.border-destructive\\/30{border-color:hsl(var(--opencx-destructive) / .3)}.border-muted-foreground\\/10{border-color:hsl(var(--opencx-muted-foreground) / .1)}.border-muted-foreground\\/15{border-color:hsl(var(--opencx-muted-foreground) / .15)}.border-muted-foreground\\/20{border-color:hsl(var(--opencx-muted-foreground) / .2)}.border-muted-foreground\\/30{border-color:hsl(var(--opencx-muted-foreground) / .3)}.border-primary{border-color:hsl(var(--opencx-primary))}.border-l-amber-500{--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-emerald-500{--tw-border-opacity: 1;border-left-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-l-red-500{--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-t-current{border-top-color:currentColor}.bg-\\[white\\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\\/15{background-color:#f59e0b26}.bg-amber-500\\/5{background-color:#f59e0b0d}.bg-background{background-color:hsl(var(--opencx-background))}.bg-background\\/80{background-color:hsl(var(--opencx-background) / .8)}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\\/5{background-color:#3b82f60d}.bg-current{background-color:currentColor}.bg-destructive{background-color:hsl(var(--opencx-destructive))}.bg-destructive\\/10{background-color:hsl(var(--opencx-destructive) / .1)}.bg-destructive\\/15{background-color:hsl(var(--opencx-destructive) / .15)}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\\/15{background-color:#10b98126}.bg-emerald-500\\/5{background-color:#10b9810d}.bg-foreground\\/50{background-color:hsl(var(--opencx-foreground) / .5)}.bg-foreground\\/60{background-color:hsl(var(--opencx-foreground) / .6)}.bg-muted{background-color:hsl(var(--opencx-muted))}.bg-muted-foreground\\/10{background-color:hsl(var(--opencx-muted-foreground) / .1)}.bg-muted-foreground\\/30{background-color:hsl(var(--opencx-muted-foreground) / .3)}.bg-muted-foreground\\/40{background-color:hsl(var(--opencx-muted-foreground) / .4)}.bg-muted\\/30{background-color:hsl(var(--opencx-muted) / .3)}.bg-muted\\/40{background-color:hsl(var(--opencx-muted) / .4)}.bg-primary{background-color:hsl(var(--opencx-primary))}.bg-primary-foreground\\/20{background-color:hsl(var(--opencx-primary-foreground) / .2)}.bg-primary\\/10{background-color:hsl(var(--opencx-primary) / .1)}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\\/5{background-color:#ef44440d}.bg-secondary{background-color:hsl(var(--opencx-secondary))}.bg-secondary-foreground\\/10{background-color:hsl(var(--opencx-secondary-foreground) / .1)}.bg-secondary-foreground\\/20{background-color:hsl(var(--opencx-secondary-foreground) / .2)}.bg-transparent{background-color:transparent}.bg-white\\/30{background-color:#ffffff4d}.bg-\\[radial-gradient\\(ellipse_at_top_left\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\,radial-gradient\\(ellipse_at_top_right\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\]{background-image:radial-gradient(ellipse at top left,hsl(var(--opencx-primary)),transparent),radial-gradient(ellipse at top right,hsl(var(--opencx-primary)),transparent)}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-foreground\\/70{--tw-gradient-from: hsl(var(--opencx-foreground) / .7) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--opencx-foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-foreground\\/0{--tw-gradient-to: hsl(var(--opencx-foreground) / 0) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-foreground{fill:hsl(var(--opencx-foreground))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left-top{object-position:left top}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\\[var\\(--cx-p\\)\\]{padding:var(--cx-p)}.p-\\[var\\(--pk-p\\)\\]{padding:var(--pk-p)}.px-0\\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.pb-0{padding-bottom:0}.pb-0\\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pe-1{padding-inline-end:.25rem}.pe-2\\.5{padding-inline-end:.625rem}.pe-4{padding-inline-end:1rem}.ps-1{padding-inline-start:.25rem}.ps-1\\.5{padding-inline-start:.375rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-8{padding-inline-start:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\\[1\\.75rem\\]{font-size:1.75rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-background{color:hsl(var(--opencx-background))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--opencx-destructive))}.text-destructive-foreground{color:hsl(var(--opencx-destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--opencx-foreground))}.text-foreground\\/80{color:hsl(var(--opencx-foreground) / .8)}.text-foreground\\/90{color:hsl(var(--opencx-foreground) / .9)}.text-muted-foreground{color:hsl(var(--opencx-muted-foreground))}.text-muted-foreground\\/40{color:hsl(var(--opencx-muted-foreground) / .4)}.text-muted-foreground\\/50{color:hsl(var(--opencx-muted-foreground) / .5)}.text-muted-foreground\\/60{color:hsl(var(--opencx-muted-foreground) / .6)}.text-muted-foreground\\/70{color:hsl(var(--opencx-muted-foreground) / .7)}.text-muted-foreground\\/75{color:hsl(var(--opencx-muted-foreground) / .75)}.text-primary{color:hsl(var(--opencx-primary))}.text-primary-foreground{color:hsl(var(--opencx-primary-foreground))}.text-primary-foreground\\/60{color:hsl(var(--opencx-primary-foreground) / .6)}.text-primary\\/70{color:hsl(var(--opencx-primary) / .7)}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--opencx-secondary-foreground))}.text-secondary-foreground\\/60{color:hsl(var(--opencx-secondary-foreground) / .6)}.text-secondary-foreground\\/70{color:hsl(var(--opencx-secondary-foreground) / .7)}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\\/80{color:#fffc}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-foreground{caret-color:hsl(var(--opencx-foreground))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-8{outline-width:8px}.outline-background{outline-color:hsl(var(--opencx-background))}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-border{--tw-ring-color: hsl(var(--opencx-border))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--opencx-background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[background-color\\,color\\,transform\\]{transition-property:background-color,color,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[height\\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-opencx{transition-timing-function:cubic-bezier(.23,1,.32,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in{--tw-enter-scale: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-opencx{animation-timing-function:cubic-bezier(.23,1,.32,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.\\[--tw-prose-body\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-body: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-foreground))}.\\[--tw-prose-bullets\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-bullets: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-code\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-code: hsl(var(--opencx-foreground))}.\\[--tw-prose-counters\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-counters: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-headings\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-headings: hsl(var(--opencx-foreground))}.\\[--tw-prose-hr\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-hr: hsl(var(--opencx-border))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-primary\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-primary))}.\\[--tw-prose-pre-bg\\:hsl\\(var\\(--opencx-muted\\)\\)\\]{--tw-prose-pre-bg: hsl(var(--opencx-muted))}.\\[--tw-prose-pre-code\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-pre-code: hsl(var(--opencx-foreground))}.\\[--tw-prose-quote-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-quote-borders: hsl(var(--opencx-border))}.\\[--tw-prose-quotes\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-quotes: hsl(var(--opencx-muted-foreground))}.\\[animation-delay\\:-0\\.15s\\]{animation-delay:-.15s}.\\[animation-delay\\:-0\\.3s\\]{animation-delay:-.3s}.\\[field-sizing\\:content\\;\\],.\\[field-sizing\\:content\\]{field-sizing:content}.\\[overflow-wrap\\:anywhere\\]{overflow-wrap:anywhere}.\\[word-break\\:break-word\\]{word-break:break-word}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-transparent::file-selector-button{background-color:transparent}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-medium::file-selector-button{font-weight:500}.file\\:text-primary-foreground::file-selector-button{color:hsl(var(--opencx-primary-foreground))}.placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--opencx-muted-foreground))}.placeholder\\:text-muted-foreground\\/75::placeholder{color:hsl(var(--opencx-muted-foreground) / .75)}.last\\:border-0:last-child{border-width:0px}.focus-within\\:opacity-100:focus-within{opacity:1}.hover\\:scale-\\[var\\(--scale\\)\\]:hover{--tw-scale-x: var(--scale);--tw-scale-y: var(--scale);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-accent\\/60:hover{background-color:hsl(var(--opencx-accent) / .6)}.hover\\:bg-muted:hover{background-color:hsl(var(--opencx-muted))}.hover\\:bg-muted\\/50:hover{background-color:hsl(var(--opencx-muted) / .5)}.hover\\:bg-muted\\/60:hover{background-color:hsl(var(--opencx-muted) / .6)}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--opencx-primary) / .9)}.hover\\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\\:bg-secondary:hover{background-color:hsl(var(--opencx-secondary))}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--opencx-secondary) / .8)}.hover\\:bg-white\\/15:hover{background-color:#ffffff26}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\\:text-foreground:hover{color:hsl(var(--opencx-foreground))}.hover\\:text-muted-foreground:hover{color:hsl(var(--opencx-muted-foreground))}.hover\\:text-primary:hover{color:hsl(var(--opencx-primary))}.hover\\:text-primary-foreground:hover{color:hsl(var(--opencx-primary-foreground))}.hover\\:text-secondary-foreground:hover{color:hsl(var(--opencx-secondary-foreground))}.hover\\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-80:hover{opacity:.8}.focus-visible\\:opacity-100:focus-visible{opacity:1}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline:focus-visible{outline-style:solid}.focus-visible\\:outline-2:focus-visible{outline-width:2px}.focus-visible\\:outline-ring:focus-visible{outline-color:hsl(var(--opencx-ring))}.focus-visible\\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--opencx-ring))}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:scale-\\[0\\.97\\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:hover\\:scale-\\[calc\\(var\\(--scale\\)-0\\.02\\)\\]:hover:active{--tw-scale-x: calc(var(--scale) - .02);--tw-scale-y: calc(var(--scale) - .02);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:active\\:scale-95:active:hover{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:text-white\\/30:disabled{color:#ffffff4d}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\\:opacity-100{opacity:1}.aria-expanded\\:bg-muted[aria-expanded=true]{background-color:hsl(var(--opencx-muted))}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.prose-headings\\:my-1\\.5 :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.375rem;margin-bottom:.375rem}.prose-headings\\:text-\\[13px\\] :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:13px}.prose-p\\:my-1 :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-a\\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:underline}.prose-a\\:decoration-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-color:hsl(var(--opencx-primary))}.prose-pre\\:my-1\\.5 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.375rem;margin-bottom:.375rem}.prose-pre\\:p-2 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){padding:.5rem}.prose-pre\\:text-\\[11px\\] :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:11px}.prose-ol\\:my-1 :is(:where(ol):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-ul\\:my-1 :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-li\\:my-0\\.5 :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.125rem;margin-bottom:.125rem}.prose-hr\\:my-2 :is(:where(hr):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.5rem;margin-bottom:.5rem}@media (prefers-reduced-motion: reduce){.motion-reduce\\:animate-none{animation:none}}.rtl\\:-scale-100:where([dir=rtl],[dir=rtl] *){--tw-scale-x: -1;--tw-scale-y: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (prefers-color-scheme: dark){.dark\\:text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\\:text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}}.\\[\\&\\>\\*\\:first-child\\]\\:mt-0>*:first-child{margin-top:0}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>*:last-child{margin-bottom:0}.\\[\\&_span\\]\\:size-1 span{width:.25rem;height:.25rem}.\\[\\&_span\\]\\:bg-secondary-foreground span{background-color:hsl(var(--opencx-secondary-foreground))}.\\[\\&_svg\\]\\:text-muted-foreground\\/70 svg{color:hsl(var(--opencx-muted-foreground) / .7)}.\\[\\&_svg\\]\\:hover\\:text-primary:hover svg{color:hsl(var(--opencx-primary))}@media (hover:none){.\\[\\@media\\(hover\\:none\\)\\]\\:opacity-100{opacity:1}}',Tl="5.0.0-beta.4";function Rl(e,t){const r=typeof(e==null?void 0:e.right)=="number",n=typeof(e==null?void 0:e.left)=="number";return r&&!n?"right":n&&!r||t==="rtl"?"left":"right"}const Ps=450;function De(){const[e,t]=c.useState(()=>(window.top||window).innerWidth<Ps);return c.useEffect(()=>{const r=window.top||window,n=()=>{t(r.innerWidth<Ps)};return n(),r.addEventListener("resize",n),()=>{r.removeEventListener("resize",n)}},[]),{isSmallScreen:e}}const zt={transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)",transitionDuration:"1000ms"};function he(){var f,g,N,y,E,v,P,x,S,b,w,D,z,M,_,C,L,U,j,I,F,R,W,q,H,$,X,oe,Z,T,G,K,ae,ie,ge,ue,we,Pe,me,_e,Re,be,Qe,et,Ie,pe,Oe,tt;const{dir:e}=k.useDocumentDir(),{isSmallScreen:t}=De(),{theme:r,inline:n}=k.useConfig(),o=de=>n?"100%":de,i=(de,qe)=>t?`100dv${de}`:qe,a=(de,qe)=>o(i(de,qe)),l=Rl((f=r==null?void 0:r.widgetTrigger)==null?void 0:f.offset,e),m={zIndex:((g=r==null?void 0:r.widgetTrigger)==null?void 0:g.zIndex)??1e7,offset:{bottom:((y=(N=r==null?void 0:r.widgetTrigger)==null?void 0:N.offset)==null?void 0:y.bottom)??20,right:((v=(E=r==null?void 0:r.widgetTrigger)==null?void 0:E.offset)==null?void 0:v.right)??(l==="right"?20:"initial"),left:((x=(P=r==null?void 0:r.widgetTrigger)==null?void 0:P.offset)==null?void 0:x.left)??(l==="left"?20:"initial")},size:{button:((b=(S=r==null?void 0:r.widgetTrigger)==null?void 0:S.size)==null?void 0:b.button)??48,icon:((D=(w=r==null?void 0:r.widgetTrigger)==null?void 0:w.size)==null?void 0:D.icon)??24}},u=(()=>{const de=l==="right"?m.offset.right:m.offset.left;return typeof de!="number"?0:de})(),p={palette:(r==null?void 0:r.palette)??"neutral",primaryColor:(r==null?void 0:r.primaryColor)??"hsl(0 0% 9%)",widgetTrigger:m,widgetContentContainer:{borderRadius:t?"0px":((z=r==null?void 0:r.widgetContentContainer)==null?void 0:z.borderRadius)??"32px",zIndex:((M=r==null?void 0:r.widgetContentContainer)==null?void 0:M.zIndex)??m.zIndex+1,outline:((_=r==null?void 0:r.widgetContentContainer)==null?void 0:_.outline)??"none",outlineColor:((C=r==null?void 0:r.widgetContentContainer)==null?void 0:C.outlineColor)??"hsl(0 0% 50% / .5)",boxShadow:((L=r==null?void 0:r.widgetContentContainer)==null?void 0:L.boxShadow)??"0 0px 100px 0px rgb(0 0 0 / 0.25)",transitionProperty:((U=r==null?void 0:r.widgetContentContainer)==null?void 0:U.transitionProperty)??"all",transitionTimingFunction:((j=r==null?void 0:r.widgetContentContainer)==null?void 0:j.transitionTimingFunction)??zt.transitionTimingFunction,transitionDuration:((I=r==null?void 0:r.widgetContentContainer)==null?void 0:I.transitionDuration)??zt.transitionDuration,offset:{side:t?0:m.offset.bottom+m.size.button+lt.y*2+(((R=(F=r==null?void 0:r.widgetContentContainer)==null?void 0:F.offset)==null?void 0:R.side)??10),align:t?0:u+(((q=(W=r==null?void 0:r.widgetContentContainer)==null?void 0:W.offset)==null?void 0:q.align)??0)}},screens:{welcome:{width:a("w",(($=(H=r==null?void 0:r.screens)==null?void 0:H.welcome)==null?void 0:$.width)??"400px"),minHeight:a("h",((oe=(X=r==null?void 0:r.screens)==null?void 0:X.welcome)==null?void 0:oe.minHeight)??"1px")},sessions:{width:a("w",((T=(Z=r==null?void 0:r.screens)==null?void 0:Z.sessions)==null?void 0:T.width)??"450px"),height:a("h",((K=(G=r==null?void 0:r.screens)==null?void 0:G.sessions)==null?void 0:K.height)??"600px")},chat:{width:a("w",((ie=(ae=r==null?void 0:r.screens)==null?void 0:ae.chat)==null?void 0:ie.width)??"525px"),height:a("h",((ue=(ge=r==null?void 0:r.screens)==null?void 0:ge.chat)==null?void 0:ue.height)??"700px"),withCanvas:{width:a("w",((me=(Pe=(we=r==null?void 0:r.screens)==null?void 0:we.chat)==null?void 0:Pe.withCanvas)==null?void 0:me.width)??"min(1050px, 100vw)"),height:a("h",((be=(Re=(_e=r==null?void 0:r.screens)==null?void 0:_e.chat)==null?void 0:Re.withCanvas)==null?void 0:be.height)??"min(800px, 100vh)"),transitionTimingFunction:((Ie=(et=(Qe=r==null?void 0:r.screens)==null?void 0:Qe.chat)==null?void 0:et.withCanvas)==null?void 0:Ie.transitionTimingFunction)??zt.transitionTimingFunction,transitionDuration:((tt=(Oe=(pe=r==null?void 0:r.screens)==null?void 0:pe.chat)==null?void 0:Oe.withCanvas)==null?void 0:tt.transitionDuration)??zt.transitionDuration}}}},d={maxHeight:a("h",`calc(
15
+ 100vh
16
+ - ${p.widgetTrigger.offset.bottom}px
17
+ - ${p.widgetContentContainer.offset.side}px
18
+ - ${lt.y*2}px
19
+ )`),maxWidth:a("w",`calc(
20
+ 100vw
21
+ - ${u*2}px
22
+ )`),minHeight:a("h",`min(
23
+ ${p.screens.welcome.minHeight},
24
+ ${p.screens.sessions.height},
25
+ ${p.screens.chat.height}
26
+ )`),minWidth:a("w",`min(
27
+ ${p.screens.welcome.width},
28
+ ${p.screens.sessions.width},
29
+ ${p.screens.chat.width}
30
+ )`)};return{theme:p,triggerSide:l,computed:d,cssVars:Ol({palette:p.palette,primary:p.primaryColor})}}function Ol({palette:e,primary:t}){const r=eo(e),n=is(t).toHsl(),o=is(t).isLight()?r[950]:r[50];return{"--opencx-primary":`${n.h} ${n.s*100}% ${n.l*100}%`,"--opencx-primary-foreground":o,"--opencx-background":r[100],"--opencx-foreground":r[950],"--opencx-destructive":"0 72.2% 50.6%","--opencx-destructive-foreground":r[50],"--opencx-accent":r[200],"--opencx-accent-foreground":"var(--opencx-foreground)","--opencx-secondary":r[200],"--opencx-secondary-foreground":"var(--opencx-foreground)","--opencx-muted":r[200],"--opencx-muted-foreground":r[500],"--opencx-input":r[300],"--opencx-border":r[300],"--opencx-ring":"var(--opencx-foreground)"}}function eo(e){const t={50:"0 0% 98%",100:"0 0% 96.1%",200:"0 0% 89.8%",300:"0 0% 83.1%",400:"0 0% 63.9%",500:"0 0% 45.1%",600:"0 0% 32.2%",700:"0 0% 25.1%",800:"0 0% 14.9%",900:"0 0% 9%",950:"0 0% 3.9%"},r={50:"60 9.1% 97.8%",100:"60 4.8% 95.9%",200:"20 5.9% 90%",300:"24 5.7% 82.9%",400:"24 5.4% 63.9%",500:"25 5.3% 44.7%",600:"33.3 5.5% 32.4%",700:"30 6.3% 25.1%",800:"12 6.5% 15.1%",900:"24 9.8% 10%",950:"20 14.3% 4.1%"},n={50:"0 0% 98%",100:"240 4.8% 95.9%",200:"240 5.9% 90%",300:"240 4.9% 83.9%",400:"240 5% 64.9%",500:"240 3.8% 46.1%",600:"240 5.2% 33.9%",700:"240 5.3% 26.1%",800:"240 3.7% 15.9%",900:"240 5.9% 10%",950:"240 10% 3.9%"},o={50:"210 40% 98%",100:"210 40% 96.1%",200:"214.3 31.8% 91.4%",300:"212.7 26.8% 83.9%",400:"215 20.2% 65.1%",500:"215.4 16.3% 46.9%",600:"215.3 19.3% 34.5%",700:"215.3 25% 26.7%",800:"217.2 32.6% 17.5%",900:"222.2 47.4% 11.2%",950:"222.2 84% 4.9%"};switch(e){case"neutral":return t;case"stone":return r;case"zinc":return n;case"slate":return o;default:return Q.isExhaustive(e,eo.name),t}}const $l=Ee.Provider,Ll=Ee.Root,Fl=Ee.Trigger,to=Ue.forwardRef(({className:e,sideOffset:t=4,...r},n)=>s.jsxDEV(Ee.Content,{ref:n,sideOffset:t,className:V("z-50 overflow-hidden max-w-xs rounded-xl bg-primary border text-primary-foreground p-2 text-center align-middle text-xs origin-[var(--radix-tooltip-content-transform-origin)] animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/tooltip.tsx",lineNumber:16,columnNumber:3},void 0));to.displayName=Ee.Content.displayName;const ro=Ue.createContext(!1);function Wl({children:e}){return s.jsxDEV(ro.Provider,{value:!0,children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/tooltip.tsx",lineNumber:39,columnNumber:5},this)}function je({children:e,content:t,side:r,align:n,shortcut:o}){const{disableTooltips:i}=k.useConfig(),a=Ue.useContext(ro);return!t||i||a?e:s.jsxDEV(Ll,{children:[s.jsxDEV(Fl,{asChild:!0,children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/tooltip.tsx",lineNumber:67,columnNumber:7},this),s.jsxDEV(to,{side:r,align:n,collisionPadding:8,avoidCollisions:!0,children:[t,o&&s.jsxDEV("span",{className:"ms-1.5 whitespace-nowrap text-primary-foreground/60",children:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/tooltip.tsx",lineNumber:76,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/tooltip.tsx",lineNumber:68,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/tooltip.tsx",lineNumber:66,columnNumber:5},this)}const so="OpenCX Live Chat";function zr({transparent:e=!1}={}){return`<!DOCTYPE html>
31
+ <html>
32
+ <head>
33
+ <style>
34
+ ${zl}
35
+ html, body {
36
+ height: 100%;
37
+ width: 100%;
38
+ margin: 0;
39
+ padding: 0;
40
+ font-size: 16px;${e?`
41
+ background: transparent;`:""}
42
+ }
43
+ </style>
44
+ <meta name="viewport" content="width=device-width, initial-scale=1, interactive-widget=resizes-content">
45
+ </head>
46
+ <body>
47
+ </body>
48
+ </html>`}function Tr({overrides:e,rootRef:t,style:r,shellRadius:n,children:o}){const{cssOverrides:i}=k.useConfig(),{cssVars:a,theme:l}=he(),{dir:m}=ee(),u={"--opencx-shell-radius":n??l.widgetContentContainer.borderRadius,"--opencx-inset-radius":"max(0.75rem, calc(var(--opencx-shell-radius) - 0.5rem))"};return s.jsxDEV(s.Fragment,{children:[e?s.jsxDEV("style",{children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/FrameDocument.tsx",lineNumber:84,columnNumber:20},this):null,i?s.jsxDEV("style",{children:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/FrameDocument.tsx",lineNumber:85,columnNumber:23},this):null,s.jsxDEV("div",{ref:t,style:{...a,...u,...r},"data-version":Tl,dir:m,className:V("antialiased font-sans size-full overflow-hidden relative text-secondary-foreground isolate"),children:s.jsxDEV($l,{delayDuration:200,disableHoverableContent:!0,children:s.jsxDEV(Dl,{children:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/FrameDocument.tsx",lineNumber:100,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/FrameDocument.tsx",lineNumber:95,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/FrameDocument.tsx",lineNumber:86,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/FrameDocument.tsx",lineNumber:83,columnNumber:5},this)}function no(){const{contentIframeRef:e}=k.useWidget(),{inline:t}=k.useConfig();return{setWidth:r=>{var n;(n=e==null?void 0:e.current)==null||n.style.setProperty("--opencx-widget-width",t?"100%":r)},setHeight:r=>{var n;(n=e==null?void 0:e.current)==null||n.style.setProperty("--opencx-widget-height",t?"100%":r)}}}function Rr({width:e,height:t}){const{isSmallScreen:r}=De(),{setWidth:n,setHeight:o}=no();c.useEffect(()=>{e&&n(e),t&&o(t)},[r,t,e,n,o])}const _s=A.CircleDashedIcon;function mt({name:e,className:t}){const r=(()=>{switch(e){case"Check":return A.CheckIcon;case"CheckCheck":return A.CheckCheckIcon;case"CircleCheck":return A.CircleCheckIcon;case"CircleCheckBig":return A.CircleCheckBigIcon;case"CircleX":return A.CircleXIcon;case"Expand":return A.ExpandIcon;case"Maximize":return A.MaximizeIcon;case"Maximize2":return A.Maximize2Icon;case"Minimize":return A.MinimizeIcon;case"Minimize2":return A.Minimize2Icon;case"Shrink":return A.ShrinkIcon;case"SquareCheck":return A.SquareCheckIcon;case"SquareCheckBig":return A.SquareCheckBigIcon;case"SquareX":return A.SquareXIcon;case"X":return A.XIcon;case"AtSign":return A.AtSignIcon;case"Bot":return A.BotIcon;case"Book":return A.BookIcon;case"BookOpen":return A.BookOpenIcon;case"Building2":return A.Building2Icon;case"Calendar":return A.CalendarIcon;case"CreditCard":return A.CreditCardIcon;case"Database":return A.DatabaseIcon;case"FileText":return A.FileTextIcon;case"Folder":return A.FolderIcon;case"Globe":return A.GlobeIcon;case"Link":return A.LinkIcon;case"Mail":return A.MailIcon;case"Package":return A.PackageIcon;case"Plug":return A.PlugIcon;case"Settings":return A.SettingsIcon;case"ShoppingCart":return A.ShoppingCartIcon;case"Tag":return A.TagIcon;case"Ticket":return A.TicketIcon;case"User":return A.UserIcon;case"Users":return A.UsersIcon;case"Workflow":return A.WorkflowIcon;case"Zap":return A.ZapIcon;case void 0:return _s;default:return Q.isExhaustive(e,mt.name),_s}})();return s.jsxDEV(r,{className:V("size-4",t)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/DynamicIcon.tsx",lineNumber:144,columnNumber:10},this)}function Or(e){const{t}=ee(),{session:r}=k.usePrimitiveState(e.ctx.sessionCtx.sessionState),{messages:n}=k.usePrimitiveState(e.ctx.messageCtx.state),o=k.usePrimitiveState(e.ctx.messageCtx.draftState),i=e.title||(r==null?void 0:r.title)||t("companion_chat_number",{count:e.id});let a=(r==null?void 0:r.lastMessage)??o.text??"";for(let u=n.length-1;u>=0;u--){const p=n[u],d=p.type==="USER"?p.content:p.type==="SYSTEM"?"":p.data.message;if(d.trim()){a=d;break}}const l=e.working?t("companion_working"):r!=null&&r.isOpened?t("companion_open"):t(r?"companion_closed":"companion_draft");return{title:!e.hasDraft&&!e.hasSession&&!e.working&&!r&&!e.title&&!n.length&&!o.text&&!o.mentions.length?t("new_conversation"):i,preview:a.replace(/\s+/g," ").trim(),status:l}}function $r(){const[e]=c.useState(()=>typeof window<"u"&&window.matchMedia("(hover: hover) and (pointer: fine)").matches);return e}function Lr(){const e=$r(),[t,r]=c.useState(null),[n,o]=c.useState(!1),[i,a]=c.useState(!1),[l,m]=c.useState(!1),u=c.useRef(!1),p=c.useRef(void 0),d=c.useCallback(()=>clearTimeout(p.current),[]);c.useEffect(()=>d,[d]);const f=c.useCallback((g=!1)=>{d(),u.current=!1,g&&a(!1),o(!1)},[d]);return{anchor:t,open:n,animate:i,autoFocus:l,close:f,toggle(g,N=!1){if(d(),n&&u.current){f(!N);return}u.current=!0,r(g),a(N),m(!0),o(!0)},hover(g){d(),!(!e||n)&&(p.current=setTimeout(()=>{u.current=!1,r(g),a(!0),m(!1),o(!0)},100))},enter:d,leave(){d(),u.current||(p.current=setTimeout(()=>f(),200))}}}function Fr(){return s.jsxDEV("style",{children:`
49
+ [data-companion-action] {
50
+ transition: transform 150ms ease-out, background-color 150ms ease-out, color 150ms ease-out, opacity 100ms ease-out;
51
+ }
52
+ @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
53
+ [data-companion-action] { transform: translate(var(--wobble-x, 0px), var(--wobble-y, 0px)); }
54
+ [data-companion-action]:hover { transform: translate(var(--wobble-x, 0px), var(--wobble-y, 0px)) scale(var(--scale, .98)); }
55
+ [data-companion-action]:hover:active { transform: translate(var(--wobble-x, 0px), var(--wobble-y, 0px)) scale(calc(var(--scale, .98) - .02)); }
56
+ }
57
+ @media (prefers-reduced-motion: reduce), (pointer: coarse) {
58
+ [data-companion-action] { transform: none !important; transition: none; }
59
+ }
60
+ `},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionControlStyles.tsx",lineNumber:6,columnNumber:5},this)}function Hl({picker:e,...t}){return s.jsxDEV(s.Fragment,{children:[s.jsxDEV(Fr,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:35,columnNumber:7},this),s.jsxDEV(se,{...t,variant:"ghost",size:"selfless",type:"button","data-companion-action":"","aria-haspopup":"menu","aria-expanded":e.open,onPointerEnter:r=>e.hover(r.currentTarget),onPointerLeave:e.leave,onClick:r=>{r.stopPropagation(),e.toggle(r.currentTarget,r.detail>0)},onKeyDown:r=>{(r.key==="ArrowDown"||r.key==="ArrowUp")&&(r.preventDefault(),e.toggle(r.currentTarget))}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:36,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:34,columnNumber:5},this)}function Bl({chat:e,selected:t,onSelect:r,onClose:n}){const{t:o}=ee(),{title:i,preview:a,status:l}=Or(e);return s.jsxDEV(Se,{children:s.jsxDEV("div",{"data-chat-row":"","data-companion-action":"","data-selected":t||void 0,children:[s.jsxDEV(ye.RadioItem,{asChild:!0,value:String(e.id),textValue:i,onSelect:m=>{m.preventDefault(),r()},children:s.jsxDEV("button",{className:fr({size:"selfless",className:"bg-transparent"}),type:"button","data-companion-action":"","aria-description":a||void 0,"aria-label":`${i} — ${l}${t?` — ${o("companion_viewing")}`:""}`,"data-chat-select":e.id,children:[s.jsxDEV("span",{"data-chat-indicator":"","aria-hidden":!0,children:s.jsxDEV(ye.ItemIndicator,{children:s.jsxDEV(A.CheckIcon,{size:14},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:103,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:102,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:101,columnNumber:13},this),s.jsxDEV("span",{"data-chat-title":"",children:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:106,columnNumber:13},this),e.working&&s.jsxDEV(A.LoaderCircleIcon,{size:14,"data-working":"","aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:108,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:90,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:81,columnNumber:9},this),s.jsxDEV(ye.Item,{asChild:!0,textValue:o("companion_close_chat",{title:i}),onSelect:m=>{m.preventDefault(),n()},children:s.jsxDEV("button",{className:fr({size:"selfless",className:"bg-transparent"}),type:"button","data-companion-action":"","aria-label":o("companion_close_chat",{title:i}),"data-chat-close":e.id,children:s.jsxDEV(A.XIcon,{size:14,"aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:130,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:120,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:112,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:76,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:75,columnNumber:5},this)}function Wr(e){const{picker:t,portalTarget:r}=e;return t.anchor&&r?s.jsxDEV(Ul,{...e,anchor:t.anchor,portalTarget:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:149,columnNumber:5},this):null}function Ul({picker:e,anchor:t,portalTarget:r,placement:n,onSelected:o}){const{open:i,animate:a,autoFocus:l,close:m,enter:u,leave:p}=e,{chats:d,activeId:f,selectChat:g,newChat:N,closeChat:y}=k.useCompanionChats(),{canCreateNewSession:E}=k.useSessions(),{t:v,dir:P}=ee(),{cssVars:x,theme:S}=he(),b=c.useRef(null),w=c.useRef(t.ownerDocument.activeElement),D=c.useCallback(j=>{j&&!b.current&&(w.current=t.ownerDocument.activeElement),b.current=j},[t]),z=c.useRef(!1),M=c.useRef({onClose:m,onSelected:o});M.current={onClose:m,onSelected:o};const _=c.useMemo(()=>({current:{getBoundingClientRect(){let j=t.getBoundingClientRect(),I=t.ownerDocument.defaultView;const F=r.ownerDocument.defaultView;for(;I&&I!==F;){const R=I.frameElement;if(!R)break;const W=R.getBoundingClientRect(),q=W.width/R.offsetWidth||1,H=W.height/R.offsetHeight||1;j=new DOMRect(W.left+j.left*q,W.top+j.top*H,j.width*q,j.height*H),I=R.ownerDocument.defaultView}return j}}}),[t,r]),C=d.filter(j=>j.working).length;c.useEffect(()=>{if(!i||t.ownerDocument===r.ownerDocument)return;const j=F=>{F.composedPath().includes(t)||F.type==="focusin"&&!l&&F.target===w.current||M.current.onClose(F.type==="focusin")},I=t.ownerDocument;return I.addEventListener("pointerdown",j,!0),I.addEventListener("focusin",j),()=>{I.removeEventListener("pointerdown",j,!0),I.removeEventListener("focusin",j)}},[t,r,i,l]),c.useLayoutEffect(()=>{var j,I,F;(j=b.current)==null||j.toggleAttribute("inert",!i),i&&l&&((F=(I=b.current)==null?void 0:I.querySelector('[aria-checked="true"]'))==null||F.focus({preventScroll:!0}))},[i,l]);function L(j){var I,F;t.focus({preventScroll:!0}),j===void 0?N():g(j),M.current.onClose(!0),(F=(I=M.current).onSelected)==null||F.call(I)}function U(j){var R,W,q,H;const I=d.findIndex($=>$.id===j),F=d[I+1]??d[I-1];j===f?(t.focus({preventScroll:!0}),M.current.onClose(!0)):(W=(R=b.current)==null?void 0:R.querySelector(F?`[data-chat-select="${F.id}"]`:"[data-new-chat]"))==null||W.focus({preventScroll:!0}),y(j),j===f&&((H=(q=M.current).onSelected)==null||H.call(q))}return kt.createPortal(s.jsxDEV(ye.Root,{open:i,onOpenChange:j=>{!j&&!z.current&&M.current.onClose()},modal:!1,dir:P==="rtl"?"rtl":"ltr",children:[s.jsxDEV(ye.Anchor,{virtualRef:_},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:291,columnNumber:7},this),s.jsxDEV(ye.Content,{ref:D,loop:!0,side:n==="above"?"top":"bottom",align:n==="below"?"start":"center",sideOffset:6,collisionPadding:12,updatePositionStrategy:"always","aria-label":v("companion_chats"),"data-companion-chat-picker":"","data-motion":a?"pointer":"instant",onEntryFocus:j=>{var I,F,R;j.preventDefault(),l?(F=(I=b.current)==null?void 0:I.querySelector('[aria-checked="true"]'))==null||F.focus({preventScroll:!0}):(z.current=!0,(R=w.current)==null||R.focus({preventScroll:!0}),z.current=!1)},onCloseAutoFocus:j=>{j.preventDefault()},onEscapeKeyDown:j=>{j.preventDefault(),t.focus({preventScroll:!0}),M.current.onClose(!0)},onFocusOutside:j=>{var I,F;((I=b.current)!=null&&I.contains(j.detail.originalEvent.target)||j.detail.originalEvent.target===t||j.detail.originalEvent.target===((F=t.ownerDocument.defaultView)==null?void 0:F.frameElement)||!l&&j.detail.originalEvent.target===w.current)&&j.preventDefault()},onInteractOutside:j=>{j.detail.originalEvent.composedPath().includes(t)&&j.preventDefault()},onPointerEnter:u,onPointerLeave:p,onPointerDown:j=>j.stopPropagation(),onMouseDown:j=>j.stopPropagation(),onClick:j=>j.stopPropagation(),onKeyDown:j=>{j.key==="Tab"&&(j.preventDefault(),t.focus({preventScroll:!0}),M.current.onClose(!0))},style:{...x,zIndex:S.widgetContentContainer.zIndex+1,boxSizing:"border-box",width:"min(248px, calc(100vw - 24px))",maxHeight:"min(360px, var(--radix-popper-available-height))",padding:6,borderRadius:10,border:"1px solid hsl(var(--opencx-border) / .5)",background:"hsl(var(--opencx-background))",color:"hsl(var(--opencx-foreground))",boxShadow:"0 4px 16px rgb(0 0 0 / .08), 0 1px 3px rgb(0 0 0 / .06)",font:"13px/1.4 ui-sans-serif, system-ui, sans-serif",overflowY:"auto",outline:"none"},children:[s.jsxDEV(Fr,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:372,columnNumber:9},this),s.jsxDEV("style",{children:`
61
+ [data-companion-chat-picker] {
62
+ transform-origin: var(--radix-popper-transform-origin);
63
+ animation: opencx-menu-in ${ze.duration*1e3}ms ${fl};
64
+ }
65
+ [data-companion-chat-picker][data-state="closed"] { animation-name: opencx-menu-out; pointer-events: none; }
66
+ [data-companion-chat-picker][data-motion="instant"] { animation: none; }
67
+ @media (prefers-reduced-motion: reduce) {
68
+ [data-companion-chat-picker] { animation: none !important; }
69
+ }
70
+ @keyframes opencx-menu-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }
71
+ @keyframes opencx-menu-out { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(.96); } }
72
+ [data-companion-chat-picker] button {
73
+ display: flex; align-items: center; justify-content: flex-start; gap: 8px; width: 100%; min-height: 34px;
74
+ padding: 7px 8px; border: 0; border-radius: 7px; background: transparent;
75
+ color: inherit; font: inherit; text-align: start; cursor: pointer; box-sizing: border-box;
76
+ }
77
+ [data-companion-chat-picker] [data-chat-row] { display: flex; align-items: center; border-radius: 7px; }
78
+ [data-companion-chat-picker] [data-chat-row] + [data-chat-row] { margin-top: 4px; }
79
+ [data-companion-chat-picker] [data-chat-select] { flex: 1; min-width: 0; min-height: 36px; color: hsl(var(--opencx-foreground) / .8); }
80
+ [data-companion-chat-picker] [data-selected] [data-chat-select] { color: hsl(var(--opencx-foreground)); }
81
+ [data-companion-chat-picker] [data-chat-indicator] { width: 14px; height: 14px; display: flex; align-items: center; flex-shrink: 0; color: hsl(var(--opencx-muted-foreground)); }
82
+ [data-companion-chat-picker] [data-selected] [data-chat-indicator],
83
+ [data-companion-chat-picker] [data-working] { color: hsl(var(--opencx-foreground)); }
84
+ [data-companion-chat-picker] [data-chat-title] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; line-height: 20px; }
85
+ [data-companion-chat-picker] [data-chat-close] { width: 28px; min-height: 28px; padding: 0; margin-inline-end: 4px; flex-shrink: 0; justify-content: center; color: hsl(var(--opencx-muted-foreground)); }
86
+ [data-companion-chat-picker] [data-chat-row]:focus-within { background: hsl(var(--opencx-secondary)); }
87
+ @media (hover: hover) and (pointer: fine) {
88
+ [data-companion-chat-picker] [data-chat-row]:hover,
89
+ [data-companion-chat-picker] [data-new-chat][data-highlighted] { background: hsl(var(--opencx-secondary)); }
90
+ [data-companion-chat-picker] [data-chat-close]:hover { color: hsl(var(--opencx-foreground)); }
91
+ }
92
+ [data-companion-chat-picker] [data-chat-row] button {
93
+ background: transparent; transform: none;
94
+ }
95
+ [data-companion-chat-picker] [data-chat-close][data-highlighted] { color: hsl(var(--opencx-foreground)); }
96
+ [data-companion-chat-picker] button:active { background: hsl(var(--opencx-foreground) / .065); }
97
+ [data-companion-chat-picker] button:focus { outline: none; }
98
+ [data-companion-chat-picker] button:disabled { opacity: .45; cursor: default; }
99
+ @media (pointer: coarse) {
100
+ [data-companion-chat-picker] button, [data-companion-chat-picker] [data-chat-select] { min-height: 48px; }
101
+ [data-companion-chat-picker] [data-chat-close] { width: 48px; min-height: 48px; }
102
+ [data-companion-chat-picker] [data-chat-title], [data-companion-chat-picker] [data-new-chat] { font-size: 16px; }
103
+ }
104
+ [data-companion-chat-picker] svg { flex-shrink: 0; }
105
+ [data-companion-chat-picker] [data-working] { animation: opencx-picker-spin 1.2s linear infinite; }
106
+ @keyframes opencx-picker-spin { to { transform: rotate(360deg); } }
107
+ @media (prefers-reduced-motion: reduce) { [data-companion-chat-picker] [data-working] { animation: none; } }
108
+ `},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:373,columnNumber:9},this),s.jsxDEV(ye.Label,{style:{display:"flex",justifyContent:"space-between",gap:8,padding:"5px 8px 7px",fontSize:12,color:"hsl(var(--opencx-muted-foreground))"},children:[s.jsxDEV("span",{children:v("companion_chats")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:432,columnNumber:11},this),C>0&&s.jsxDEV("span",{role:"status",children:v("companion_working_chats",{count:C})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:434,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:422,columnNumber:9},this),s.jsxDEV(ye.RadioGroup,{value:String(f),children:d.map(j=>s.jsxDEV(Bl,{chat:j,selected:j.id===f,onSelect:()=>L(j.id),onClose:()=>U(j.id)},j.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:441,columnNumber:13},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:439,columnNumber:9},this),s.jsxDEV(ye.Separator,{style:{height:1,background:"hsl(var(--opencx-border) / .4)",margin:"5px 4px"}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:450,columnNumber:9},this),s.jsxDEV(ye.Group,{children:s.jsxDEV(ye.Item,{asChild:!0,disabled:!E,onSelect:j=>{j.preventDefault(),L()},children:s.jsxDEV(se,{variant:"ghost",size:"selfless",type:"button","data-companion-action":"","data-new-chat":"",disabled:!E,children:[s.jsxDEV(A.PlusIcon,{size:14,"aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:474,columnNumber:15},this),v("new_conversation")]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:466,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:458,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:457,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:292,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ChatPicker.tsx",lineNumber:283,columnNumber:5},this),r)}function Yt(){const[e,t]=c.useState(null);return c.useEffect(()=>{const r=document.createElement("div");return r.setAttribute("data-opencx-root",""),r.style.display="contents",document.documentElement.appendChild(r),t(r),()=>{r.remove(),t(null)}},[]),e}function ql(){const{chats:e,openChats:t,activeId:r}=k.useCompanionChats(),n=e.find(g=>g.id===r),o=Or(n),{t:i}=ee(),a=Lr(),l=Yt(),m=o.title,u=t.filter(g=>g.id!==r),p=u.filter(g=>g.working).length,d=`${i("companion_other_sessions",{count:u.length})}${p?` · ${i("companion_working_chats",{count:p})}`:""}`,f=`${i("companion_switch_chat")}: ${m}${u.length?` · ${d}`:""}`;return s.jsxDEV(s.Fragment,{children:[s.jsxDEV(Hl,{picker:a,"data-companion-conversation-title":"",className:"flex h-8 min-w-0 max-w-full items-center gap-1.5 rounded-md px-1 text-[13px] leading-5 text-start hover:bg-muted aria-expanded:bg-muted focus-visible:outline focus-visible:outline-2 focus-visible:outline-ring","aria-label":f,children:[n.working&&s.jsxDEV(A.LoaderCircleIcon,{"aria-label":i("companion_working"),className:"size-3.5 shrink-0 animate-spin motion-reduce:animate-none"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:32,columnNumber:11},this),s.jsxDEV("span",{className:"truncate font-medium",children:m},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:37,columnNumber:9},this),u.length>0&&s.jsxDEV("span",{"data-other-session-count":"",role:"status","aria-atomic":"true",className:"flex shrink-0 items-center gap-1 text-[11px] font-normal text-muted-foreground",children:[s.jsxDEV("span",{className:"sr-only",children:d},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:45,columnNumber:13},this),p>0&&s.jsxDEV(A.LoaderCircleIcon,{"data-other-sessions-working":"","aria-hidden":!0,className:"size-3 animate-spin motion-reduce:animate-none"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:47,columnNumber:15},this),s.jsxDEV("span",{"aria-hidden":!0,className:"tabular-nums",children:["+",u.length]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:53,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:39,columnNumber:11},this),s.jsxDEV(A.ChevronsUpDownIcon,{"aria-hidden":!0,className:"size-3 shrink-0 text-muted-foreground"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:58,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:25,columnNumber:7},this),a.anchor&&l&&s.jsxDEV(Wr,{picker:a,portalTarget:l,placement:"below"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:64,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/ConversationTitle.tsx",lineNumber:24,columnNumber:5},this)}function Gl(){var r;const e=Te(),t=(r=e.config.customComponents)==null?void 0:r.headerBottom;return t?s.jsxDEV(t,{...e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/HeaderBottomComponent.tsx",lineNumber:10,columnNumber:10},this):null}function Yl({fallback:e}){var n;const t=Te(),r=(n=t.config.customComponents)==null?void 0:n.headerTitle;return r?s.jsxDEV(r,{...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/HeaderTitleComponent.tsx",lineNumber:10,columnNumber:10},this):e}function oo(e,t,r){var n,o;switch(e){case"chat":return((n=t==null?void 0:t.chatScreen)==null?void 0:n.headerTitle)??r;case"sessions":return((o=t==null?void 0:t.sessionsScreen)==null?void 0:o.headerTitle)??r;case"welcome":return r;default:return Q.isExhaustive(e,oo.name),r}}function ao(){const{widgetCtx:{org:e}}=k.useWidget(),{routerState:{screen:t}}=k.useWidgetRouter(),{textContent:r}=k.useConfig();return oo(t,r,e.name)}function Xl(e){switch(e){case"chat":return O("chat/header");case"sessions":return O("sessions/header");case"welcome":return;default:Q.isExhaustive(e,ao.name);return}}function Zl(){const{router:e}=k.useConfig(),{routerState:{screen:t},toSessionsScreen:r}=k.useWidgetRouter();return t!=="chat"||e!=null&&e.chatScreenOnly?null:s.jsxDEV(se,{variant:"ghost",size:"fit",className:"rounded-full",onClick:r,children:s.jsxDEV(A.ChevronLeftIcon,{className:"size-4 rtl:-scale-100"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:107,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:101,columnNumber:5},this)}function Kl({button:e}){const{setIsOpen:t}=k.useWidgetTrigger(),{isSmallScreen:r}=De(),n=Te();if(r&&e.hideOnSmallScreen||!r&&e.hideOnLargeScreen)return null;const o=()=>{var i;e.handleClick?e.handleClick():t(!1),(i=e.onClicked)==null||i.call(e,n)};return s.jsxDEV(se,{variant:"ghost",size:"fit",className:"rounded-full",onClick:o,children:s.jsxDEV(mt,{name:e.icon},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:140,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:134,columnNumber:5},this)}function br({button:e}){const[t,r]=c.useState(!1),{routerState:{screen:n}}=k.useWidgetRouter(),{isSmallScreen:o}=De(),{theme:i}=he(),{setWidth:a,setHeight:l}=no(),m=Te();if(n!=="chat"&&n!=="sessions")return null;const u=(()=>{switch(n){case"chat":return i.screens.chat.height;case"sessions":return i.screens.sessions.height;default:return Q.isExhaustive(n,br.name),i.screens.chat.height}})(),p=(()=>{switch(n){case"chat":return i.screens.chat.width;case"sessions":return i.screens.sessions.width;default:return Q.isExhaustive(n,br.name),i.screens.chat.width}})(),d=()=>{var f;r(g=>{const N=!g;return l(N?"100vh":u),a(N?`max(40vw, ${p})`:p),N}),(f=e.onClicked)==null||f.call(e,m)};return o&&e.hideOnSmallScreen||!o&&e.hideOnLargeScreen?null:s.jsxDEV(se,{variant:"ghost",size:"fit",className:"rounded-full",onClick:d,children:s.jsxDEV(mt,{name:e.icon||(t?e.shrinkIcon:e.expandIcon)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:206,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:200,columnNumber:5},this)}function io({button:e}){var E,v;const{close:t}=Bt(),{widgetCtx:r}=k.useWidget(),{setIsOpen:n}=k.useWidgetTrigger(),{resolveSession:o,sessionState:i}=k.useSessions(),{isSmallScreen:a}=De(),l=Te(),m=!i.session,u=((E=i.session)==null?void 0:E.isOpened)===!1,p=e.onResolved||"stay-in-chat",d=e.behaviorBeforeSessionCreation||"disabled",f=e.behaviorIfSessionIsResolved||"disabled",g=!!(i.isResolvingSession||m&&d==="disabled"||u&&f==="disabled"),N=async()=>{const{success:P,error:x}=await o();if(t(),!P)return Q.log.error("failed to resolve session",x),!1;switch(p){case"stay-in-chat":break;case"close-widget":n(!1);break;case"reset-chat":r.resetChat();break;case"reset-chat-and-close-widget":n(!1),r.resetChat();break;default:Q.isExhaustive(p,io.name);break}return!0},y=()=>{if(m)switch(d){case"disabled":return;case"close-widget":n(!1);break;default:Q.isExhaustive(d,y.name)}if(u)switch(f){case"disabled":return;case"close-widget":n(!1);break;case"reset-chat":r.resetChat();break;case"reset-chat-and-close-widget":n(!1),setTimeout(()=>{r.resetChat()},200);break;default:Q.isExhaustive(f,y.name)}};return a&&e.hideOnSmallScreen||!a&&e.hideOnLargeScreen?null:((v=e.confirmation)==null?void 0:v.type)==="modal"&&!u&&!m?s.jsxDEV(qt,{trigger:s.jsxDEV(se,{variant:"ghost",size:"fit",className:"rounded-full",disabled:g,onClick:()=>{var P;return(P=e.onClicked)==null?void 0:P.call(e,l)},children:s.jsxDEV(mt,{name:e.icon},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:329,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:322,columnNumber:11},this),children:s.jsxDEV(Ut,{children:[s.jsxDEV(Sr,{children:s.jsxDEV(Pr,{children:e.confirmation.title||"Close conversation"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:335,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:334,columnNumber:11},this),s.jsxDEV(Vr,{children:s.jsxDEV(_r,{children:e.confirmation.description||"Are you sure you want to close this conversation?"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:340,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:339,columnNumber:11},this),s.jsxDEV(Xn,{children:[s.jsxDEV(se,{variant:"secondary",onClick:t,disabled:i.isResolvingSession,children:e.confirmation.cancelButtonText||"No"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:346,columnNumber:13},this),s.jsxDEV(se,{variant:"destructive",onClick:async()=>{var x,S;await N()&&((S=(x=e.confirmation)==null?void 0:x.onResolved)==null||S.call(x,l))},disabled:i.isResolvingSession,children:e.confirmation.confirmButtonText||"Yes"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:353,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:345,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:333,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:320,columnNumber:7},this):s.jsxDEV(se,{variant:"ghost",size:"fit",className:"rounded-full",onClick:()=>{var P;u||m?y():N(),(P=e.onClicked)==null||P.call(e,l)},disabled:g,children:s.jsxDEV(mt,{name:e.icon},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:384,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:370,columnNumber:5},this)}function wr({button:e}){switch(e.functionality){case"close-widget":return s.jsxDEV(Kl,{button:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:392,columnNumber:14},this);case"expand-shrink":return s.jsxDEV(br,{button:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:394,columnNumber:14},this);case"resolve-session":return s.jsxDEV(io,{button:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:396,columnNumber:14},this);default:return Q.isExhaustive(e,wr.name),null}}const Jl={functionality:"close-widget",hideOnLargeScreen:!0,icon:"X"};function Ql(){const{routerState:{screen:e}}=k.useWidgetRouter(),{headerButtons:t}=k.useConfig(),r=e==="chat"?t==null?void 0:t.chatScreen:e==="sessions"?t==null?void 0:t.sessionsScreen:[];return!r||r.length===0?s.jsxDEV(wr,{button:Jl},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:423,columnNumber:12},this):s.jsxDEV(s.Fragment,{children:r.map(n=>s.jsxDEV(wr,{button:n},`${n.functionality}-${n.icon}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:429,columnNumber:9},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:427,columnNumber:5},this)}function lo(){const e=k.useConfig(),t=e.displayMode==="companion"&&!e.inline,{routerState:{screen:r}}=k.useWidgetRouter(),n=Xl(r),o=ao();return s.jsxDEV("header",{...n,className:"py-2 px-4 shrink-0",children:[s.jsxDEV("div",{className:"flex items-center gap-2",children:[s.jsxDEV(Zl,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:450,columnNumber:9},this),s.jsxDEV("div",{className:V("min-w-0 flex-1 h-8 flex items-center",r==="sessions"&&"ps-2"),style:{paddingInlineEnd:t?64:void 0},children:s.jsxDEV(Yl,{fallback:t&&r!=="sessions"?s.jsxDEV(ql,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:461,columnNumber:17},this):s.jsxDEV("h2",{className:"font-semibold",children:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:463,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:458,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:451,columnNumber:9},this),s.jsxDEV(Ql,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:468,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:449,columnNumber:7},this),s.jsxDEV(Gl,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:470,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/Header.tsx",lineNumber:448,columnNumber:5},this)}function co({className:e}){return s.jsxDEV(A.LoaderIcon,{className:V("size-4 animate-spin",e)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/LoadingSpinner.tsx",lineNumber:6,columnNumber:10},this)}function ec(){const{messagesState:{isInitialFetchLoading:e}}=k.useMessages(),{isSmallScreen:t}=De(),{activeMode:r,Component:n}=k.useModes();return{isCanvasOpen:!e&&!t&&!!r&&!!n}}function tc({isFirstInGroup:e,isLastInGroup:t,isAloneInGroup:r,...n}){const{componentStore:o}=k.useWidget();if(n.type!=="AGENT"&&n.type!=="AI")return null;if(n.data.action){const a=o.getComponent(n.data.action.name);if(a)return s.jsxDEV(a,{...n,id:n.id,isFirstInGroup:e,isLastInGroup:t,isAloneInGroup:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessage.tsx",lineNumber:26,columnNumber:9},this)}const i=o.getComponent(n.component);return i?s.jsxDEV(i,{...n,id:n.id,isFirstInGroup:e,isLastInGroup:t,isAloneInGroup:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessage.tsx",lineNumber:52,columnNumber:5},this):s.jsxDEV(hr,{...n,isFirstInGroup:e,isLastInGroup:t,isAloneInGroup:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessage.tsx",lineNumber:42,columnNumber:7},this)}function Hr({suggestion:e,className:t,...r}){const{sendMessage:n}=k.useMessages(),o=()=>{const i=e.trim();i&&n({content:i})};return s.jsxDEV(se,{...O("chat/suggested_reply_btn"),size:"sm",className:V("rounded-xl w-fit",t),...r,onClick:o,children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/SuggestedReplyButton.tsx",lineNumber:21,columnNumber:5},this)}function mo({messages:e,className:t,containerClassName:r}){var a,l;const{timestamps:n}=k.useConfig();if(!((a=n==null?void 0:n.perMessageGroup)!=null&&a.enabled))return null;const o=(l=e[e.length-1])==null?void 0:l.timestamp;if(!o)return null;const i=(()=>{try{return new Date(o).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!0})}catch(m){return Q.log.error("failed to format timestamp",m),null}})();return i?s.jsxDEV("div",{className:r,children:s.jsxDEV("span",{className:V("text-xs text-muted-foreground",t),children:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/GroupTimestamp.tsx",lineNumber:45,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/GroupTimestamp.tsx",lineNumber:44,columnNumber:5},this):null}const rc=2e3;function sc(e){return e.map(t=>Qn(t.data.message).trim()).filter(t=>t.length>0).join(`
109
+
110
+ `)}function nc(){const{messageActions:e}=k.useConfig(),t=k.useDisplayMode();return(e==null?void 0:e.copy)??t==="companion"}function oc({messages:e}){const{t}=ee(),{messageActions:r}=k.useConfig(),n=(r==null?void 0:r.display)==="always",[o,i]=c.useState(!1),a=c.useRef(null);c.useEffect(()=>()=>{a.current&&clearTimeout(a.current)},[]);const l=sc(e),m=typeof navigator<"u"?navigator.clipboard:void 0;if(!m||l.length===0)return null;const u=()=>{m.writeText(l).then(()=>{i(!0),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>i(!1),rc)},d=>Q.log.warn("copying the reply failed",d))},p=t(o?"copied":"copy_reply");return s.jsxDEV("div",{...O("chat/agent_msg_group/actions"),className:V("flex items-center gap-1 -mt-0.5 transition-opacity duration-150",n?"opacity-100":V("opacity-0 group-hover:opacity-100 focus-within:opacity-100","[@media(hover:none)]:opacity-100")),children:s.jsxDEV(je,{content:p,side:"bottom",align:"start",children:s.jsxDEV("button",{...O("chat/agent_msg_group/actions/copy"),type:"button","aria-label":p,"aria-live":"polite",onClick:u,className:V("flex size-6 items-center justify-center rounded-md","text-muted-foreground/70 hover:bg-muted hover:text-foreground","transition-colors active:scale-95"),children:o?s.jsxDEV(A.CheckIcon,{className:"size-3.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/MessageActions.tsx",lineNumber:104,columnNumber:13},this):s.jsxDEV(A.CopyIcon,{className:"size-3.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/MessageActions.tsx",lineNumber:106,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/MessageActions.tsx",lineNumber:91,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/MessageActions.tsx",lineNumber:90,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/MessageActions.tsx",lineNumber:78,columnNumber:5},this)}function ac(e){return e.type==="AI"&&e.data.variant!=="error"}function Wt({messages:e,agent:t,suggestedReplies:r,actions:n=!0}){const o=nc(),i=e.filter(ac);return s.jsxDEV("div",{...O("chat/agent_msg_group/root"),className:V("group flex items-end gap-2"),children:[s.jsxDEV(je,{content:t==null?void 0:t.name,side:"right",align:"end",children:s.jsxDEV(gr,{...O("chat/agent_msg_group/root/avatar"),agent:t,className:"hidden"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:45,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:44,columnNumber:7},this),s.jsxDEV("div",{className:V("flex-1 flex flex-col gap-1"),children:[s.jsxDEV("div",{...O("chat/agent_msg_group/avatar_and_msgs/root"),className:V("flex items-end gap-2"),children:[s.jsxDEV(je,{content:t==null?void 0:t.name,side:"right",align:"end",children:s.jsxDEV(gr,{...O("chat/agent_msg_group/avatar_and_msgs/avatar"),agent:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:58,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:57,columnNumber:11},this),s.jsxDEV("div",{...O("chat/agent_msg_group/avatar_and_msgs/msgs"),className:V("flex-1 flex flex-col gap-1"),children:[e.map((a,l,m)=>s.jsxDEV(tc,{isFirstInGroup:l===0,isLastInGroup:l===m.length-1,isAloneInGroup:m.length===1,...a},a.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:68,columnNumber:15},this)),s.jsxDEV(mo,{messages:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:76,columnNumber:13},this),n&&o&&i.length>0&&s.jsxDEV(oc,{messages:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:78,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:63,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:53,columnNumber:9},this),r&&r.length>0&&s.jsxDEV("div",{...O("chat/agent_msg_group/suggestions"),className:V("flex flex-col gap-1 ps-8"),children:r==null?void 0:r.map((a,l)=>s.jsxDEV(Hr,{suggestion:a},`${a}-${l}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:89,columnNumber:15},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:84,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:52,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/AgentMessageGroup.tsx",lineNumber:40,columnNumber:5},this)}const Is=["⠏","⠗","⠧","⠷","⠾","⠽","⠻","⠟"];function uo({className:e}){const t=B.useReducedMotion(),[r,n]=c.useState(0);return c.useEffect(()=>{if(t)return;const o=setInterval(()=>n(i=>(i+1)%Is.length),80);return()=>clearInterval(o)},[t]),s.jsxDEV("span",{className:V("select-none",e),"aria-hidden":!0,children:Is[r]},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/BrailleSpinner.tsx",lineNumber:24,columnNumber:5},this)}function As({turn:e,agent:t,timestamp:r}){const{componentStore:n,config:o,widgetCtx:i}=k.useWidget(),a=n.getComponent("agent_chat_steps"),l=n.getComponent("agent_chat_spec"),[m]=c.useState(()=>new Date().toISOString()),u=r??m,p=k.applyPresentation(e.items,Q.resolveClientPresentation(i.agent.presentation,o.presentation));return s.jsxDEV("div",{...O("chat/streaming_turn/root"),className:"flex flex-col gap-2",children:[p.map((d,f)=>d.kind==="text"?s.jsxDEV(Wt,{messages:[{id:`streaming-${f}`,type:"AI",component:"bot_message",timestamp:u,data:{message:d.text},agent:t}],agent:t,actions:!e.active},`text-${f}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StreamingTurn.tsx",lineNumber:67,columnNumber:11},this):d.kind==="spec"?l&&s.jsxDEV(l,{parts:d.parts},`spec-${f}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StreamingTurn.tsx",lineNumber:84,columnNumber:13},this):d.kind==="questions"?null:a&&s.jsxDEV(a,{active:e.active,steps:d.steps},`steps-${f}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StreamingTurn.tsx",lineNumber:88,columnNumber:13},this)),e.active&&!ic(p)&&s.jsxDEV("div",{...O("chat/streaming_turn/working"),className:"flex h-5 items-center ps-1",children:s.jsxDEV(uo,{className:"text-[14px] leading-none text-primary/70"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StreamingTurn.tsx",lineNumber:106,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StreamingTurn.tsx",lineNumber:102,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StreamingTurn.tsx",lineNumber:64,columnNumber:5},this)}function ic(e){const t=e.at(-1);return(t==null?void 0:t.kind)==="steps"&&t.steps.some(r=>!r.done)}function lc({parts:e}){const t=c.useMemo(()=>ul(e),[e]);return s.jsxDEV(Bn,{spec:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StreamingTurn.tsx",lineNumber:129,columnNumber:10},this)}function po(){var r,n;const e=Te();if((r=e.session)!=null&&r.isOpened||!e.session)return null;const t=(n=e.config.customComponents)==null?void 0:n.onSessionResolved;return t?s.jsxDEV(t,{...e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/SessionResolvedComponent.tsx",lineNumber:12,columnNumber:10},this):null}function fo(){var r;const e=Te(),t=(r=e.config.customComponents)==null?void 0:r.chatBottomComponents;return t?s.jsxDEV("div",{children:t.map(({key:n,component:o})=>s.jsxDEV(o,{...e},n,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/ChatBottomComponents.tsx",lineNumber:13,columnNumber:9},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/custom-components/ChatBottomComponents.tsx",lineNumber:11,columnNumber:5},this):null}function ho(e){const t=[];let r=null;return e.forEach(n=>{var o,i,a,l,m,u;(((o=r==null?void 0:r[0])==null?void 0:o.type)!==n.type||((i=r[0])==null?void 0:i.type)==="AGENT"&&n.type==="AGENT"&&(((a=n.agent)==null?void 0:a.id)!==((l=r[0].agent)==null?void 0:l.id)||((m=n.agent)==null?void 0:m.name)!==((u=r[0].agent)==null?void 0:u.name)))&&(r=[],t.push(r)),r.push(n)}),t}function xr(e){var t;return((t=e==null?void 0:e[0])==null?void 0:t.type)==="USER"}function cc(e){var t;return((t=e==null?void 0:e[0])==null?void 0:t.type)==="AI"}function mc(e){var t;return((t=e==null?void 0:e[0])==null?void 0:t.type)==="AGENT"}function go(){const{messagesState:{messages:e}}=k.useMessages(),{chatBannerItems:t}=k.useConfig();return!(t!=null&&t.length)||e.length>0&&t.every(r=>!r.persistent)?null:s.jsxDEV("div",{className:"w-full text-center text-xs",children:t.map(({message:r,persistent:n},o)=>e.length>0&&!n?null:s.jsxDEV("div",{children:s.jsxDEV(Gt,{children:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatBannerItems.tsx",lineNumber:24,columnNumber:13},this)},`${r}-${o}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatBannerItems.tsx",lineNumber:23,columnNumber:11},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatBannerItems.tsx",lineNumber:20,columnNumber:5},this)}const uc=10*1024,Ms=new Map;function pc(e){const t=Ms.get(e);if(t!==void 0)return t;const r=dc(e);return Ms.set(e,r),r}function dc(e){const t=e.trim();if(!t||t.length>uc||typeof DOMParser>"u")return null;const r=new DOMParser().parseFromString(t,"image/svg+xml"),n=r.documentElement;return n.localName!=="svg"||n.namespaceURI!=="http://www.w3.org/2000/svg"||r.getElementsByTagName("parsererror").length>0?null:`data:image/svg+xml,${encodeURIComponent(t)}`}const fc=tn.cva("inline-flex items-center gap-1.5 rounded-full px-2 py-0.5 text-xs font-medium transition-colors",{variants:{variant:{default:"bg-primary text-primary-foreground",secondary:"bg-secondary text-secondary-foreground",outline:"border text-foreground"}},defaultVariants:{variant:"default"}});function hc({className:e,variant:t,...r}){return s.jsxDEV("div",{className:V(fc({variant:t}),e),...r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/badge.tsx",lineNumber:27,columnNumber:5},this)}function bo({customStatus:e,className:t,dotClassName:r}){const n=e.icon?pc(e.icon):null,o=e.color||"currentColor";return n?s.jsxDEV("span",{"aria-hidden":!0,className:V("size-3.5 shrink-0",t),style:{backgroundColor:o,maskImage:`url("${n}")`,maskSize:"contain",maskRepeat:"no-repeat",maskPosition:"center",WebkitMaskImage:`url("${n}")`,WebkitMaskSize:"contain",WebkitMaskRepeat:"no-repeat",WebkitMaskPosition:"center"}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CustomStatus.tsx",lineNumber:23,columnNumber:7},this):s.jsxDEV("span",{"aria-hidden":!0,className:V("size-2 shrink-0 rounded-full",r),style:{backgroundColor:o}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CustomStatus.tsx",lineNumber:43,columnNumber:5},this)}function wo({customStatus:e,className:t}){return s.jsxDEV(hc,{variant:"secondary",className:V("relative isolate overflow-hidden max-w-full text-primary",t),title:e.description||void 0,style:e.color?{color:`color-mix(in srgb, ${e.color} 55%, hsl(var(--opencx-foreground)))`}:void 0,children:[e.color&&s.jsxDEV("span",{"aria-hidden":!0,className:"absolute inset-0 -z-10 opacity-20",style:{backgroundColor:e.color}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CustomStatus.tsx",lineNumber:78,columnNumber:9},this),s.jsxDEV(bo,{customStatus:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CustomStatus.tsx",lineNumber:84,columnNumber:7},this),s.jsxDEV("span",{className:"truncate",children:e.name},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CustomStatus.tsx",lineNumber:85,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CustomStatus.tsx",lineNumber:59,columnNumber:5},this)}function xo(){const{sessionState:{session:e}}=k.useSessions(),t=e==null?void 0:e.customStatus;return s.jsxDEV(B.AnimatePresence,{mode:"wait",children:t&&s.jsxDEV(te,{className:"sticky top-2 z-10 self-center max-w-full",snapExit:!0,children:s.jsxDEV(qt,{trigger:s.jsxDEV(se,{variant:"ghost",size:"selfless",className:"rounded-full",children:s.jsxDEV(wo,{customStatus:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:36,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:35,columnNumber:15},this),children:s.jsxDEV(Ut,{withClose:!0,children:[s.jsxDEV(Sr,{children:[s.jsxDEV(bo,{customStatus:t,className:"size-8 mx-auto",dotClassName:"size-3 mx-auto"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:42,columnNumber:17},this),s.jsxDEV(Pr,{children:t.name},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:47,columnNumber:17},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:41,columnNumber:15},this),t.description&&s.jsxDEV(Vr,{children:s.jsxDEV(_r,{children:t.description},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:51,columnNumber:19},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:50,columnNumber:17},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:40,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:33,columnNumber:11},this)},t.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:28,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCustomStatus.tsx",lineNumber:26,columnNumber:5},this)}function vo(){var l;const{messagesState:{messages:e}}=k.useMessages(),t=k.useConfig(),r=k.useBot(),{advancedInitialMessages:n=[],initialQuestions:o,initialQuestionsPosition:i}=t;if(e.length>0)return null;const a=n.length?n.map(m=>m.message):(l=t.initialMessages)!=null&&l.length?t.initialMessages:["Hello, how can I help you?"];return s.jsxDEV(Wt,{messages:a.map((m,u)=>({component:"bot_message",data:{message:m},id:`${u}-${m}`,type:"AI",timestamp:null})),suggestedReplies:i==="below-initial-messages"?o:void 0,agent:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/InitialMessages.tsx",lineNumber:34,columnNumber:5},this)}function No({src:e,alt:t,title:r,note:n,shape:o="strip",className:i,children:a,...l}){const m=o==="tile";return s.jsxDEV("div",{...l,className:V("relative overflow-hidden bg-background ring-1 ring-border",m?"size-12 shrink-0 rounded-2xl":"max-w-full rounded-xl",i),children:[s.jsxDEV("img",{src:e,alt:t,title:r,draggable:!1,className:V("block object-cover object-left-top",m?"size-full":"h-10 w-auto max-w-40")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/MarkThumbnail.tsx",lineNumber:40,columnNumber:7},this),n&&s.jsxDEV("div",{className:V("absolute inset-x-0 bottom-0 truncate px-1.5 py-0.5","bg-gradient-to-t from-foreground/70 to-foreground/0","text-[10px] font-medium leading-tight text-background"),children:n},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/MarkThumbnail.tsx",lineNumber:51,columnNumber:9},this),a]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/MarkThumbnail.tsx",lineNumber:32,columnNumber:5},this)}const gc=60;function Fe(e,t){return e.length>t?`${e.slice(0,t)}…`:e}function Br(e){return(e.textContent??"").replace(/\s+/g," ").trim()}function bc(e){return/[!/[\]():]/.test(e)||/^-?[a-z]{1,6}-\d/.test(e)||/^(flex|grid|block|inline|hidden|absolute|relative|fixed|sticky|static|truncate|container)$/.test(e)}function wc(e){const t=e.getAttribute("class");return t?t.split(/\s+/).map(n=>n.replace(/[_-][a-zA-Z0-9]{5,}.*$/,"")).find(n=>n.length>2&&!/^[a-z]{1,2}$/.test(n)&&!/[A-Z0-9]{5,}/.test(n)&&!bc(n))??null:null}function xc(e){const t=e.tagName.toLowerCase(),r=e.getAttribute("aria-label"),n=Br(e);if(t==="button"||e.getAttribute("role")==="button")return r?`button [${r}]`:n?`button "${Fe(n,30)}"`:"button";if(t==="a"){if(n)return`link "${Fe(n,30)}"`;const i=e.getAttribute("href");return i?`link to ${Fe(i,40)}`:"link"}if(t==="input"||t==="textarea"||t==="select"){const i=e.getAttribute("placeholder"),a=e.getAttribute("name");return i?`${t} "${Fe(i,30)}"`:r?`${t} [${r}]`:a?`${t} [${a}]`:t==="input"?`${e.getAttribute("type")??"text"} input`:t}if(/^h[1-6]$/.test(t))return n?`${t} "${Fe(n,40)}"`:t;if(t==="img"){const i=e.getAttribute("alt");return i?`image "${Fe(i,30)}"`:"image"}if(t==="svg")return"icon";if(r)return`${t} [${r}]`;if(n&&n.length<=gc)return`${t} "${Fe(n,40)}"`;const o=wc(e);return o||(t==="div"?"container":t)}function zs(e,t){try{return e.querySelectorAll(t).length===1}catch{return!1}}function vc(e){const t=e.ownerDocument;if(e.id){const o=`#${CSS.escape(e.id)}`;if(zs(t,o))return o}const r=[];let n=e;for(;n&&n.tagName.toLowerCase()!=="html";){const o=n.tagName.toLowerCase();if(n.id){r.unshift(`${o}#${CSS.escape(n.id)}`);break}let i=o;const a=n.parentElement;if(a){const m=Array.from(a.children).filter(u=>u.tagName===(n==null?void 0:n.tagName));m.length>1&&(i+=`:nth-of-type(${m.indexOf(n)+1})`)}r.unshift(i);const l=r.join(" > ");if(zs(t,l))return l;n=a}return r.join(" > ")}function Nc(e){const t=e.getBoundingClientRect();return{x:Math.round(t.x),y:Math.round(t.y),width:Math.round(t.width),height:Math.round(t.height)}}const yc=8;function Ts(e,t=yc){const r=document.documentElement.clientWidth||window.innerWidth,n=document.documentElement.clientHeight||window.innerHeight,o=Math.max(e.x,t),i=Math.max(e.y,t),a=Math.min(e.x+e.width,r-t),l=Math.min(e.y+e.height,n-t);return{x:Math.round(o),y:Math.round(i),width:Math.round(Math.max(0,a-o)),height:Math.round(Math.max(0,l-i))}}function kc(e){const t=Br(e);return{name:xc(e),selector:vc(e),tag:e.tagName.toLowerCase(),text:t?Fe(t,200):void 0}}const yo=["#opencx-root","[data-opencx-root]","[data-opencx-overlay]"],Ec=yo.join(", ");function vt(e){return e.closest(Ec)!==null}function vr(e,t){let r=document.elementFromPoint(e,t);if(!r)return null;const n=r.getRootNode();typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(r=n.host);let i=r.closest('button, a, input, textarea, select, [role="button"], [role="link"]')??r;for(;i&&!(i instanceof HTMLElement);)i=i.parentElement;if(!(i instanceof HTMLElement)||vt(i))return null;const a=i.tagName.toLowerCase();return a==="html"||a==="body"?null:i}function Cc(e){var i;if(e.selector)try{const a=document.querySelector(e.selector);if(a instanceof HTMLElement&&!vt(a))return a}catch{}const t=(i=e.text)==null?void 0:i.replace(/\s+/g," ").trim().toLowerCase();if(!t)return null;let r=null,n=Number.POSITIVE_INFINITY;const o=Array.from(document.body.querySelectorAll("*"));for(const a of o){const l=a.tagName.toLowerCase();if(l==="script"||l==="style"||l==="noscript"||vt(a))continue;const m=Br(a).toLowerCase();m.includes(t)&&m.length<=n&&(r=a,n=m.length)}return r}const jc=480,Dc=3e3,Ur=new WeakMap;async function Sc(e){const t=e.getBoundingClientRect();if(t.width<1||t.height<1)return null;const r=Math.min(2,Math.max(.5,jc/Math.max(t.width,t.height))),n=ia.toJpeg(e,{quality:.85,pixelRatio:r,backgroundColor:"#ffffff",filter:i=>!(i instanceof Element)||!vt(i)}),o=new Promise(i=>setTimeout(()=>i(null),Dc));try{return await Promise.race([n,o])}catch{return null}}function Vc(e,t){Ur.set(e,Sc(t))}const ko=new WeakMap;function Pc(e,t){const r=Ur.get(e);if(!r)return;const n=r.then(o=>{const i=o?Ic(o,"page-mark.jpg"):null;return i?t(i):null}).catch(()=>null).then(o=>(o&&(e.snapshotUrl=o),o));ko.set(e,n)}async function _c(e,t){if(e.snapshotUrl)return e.snapshotUrl;const r=ko.get(e);if(!r)return null;const n=new Promise(o=>setTimeout(()=>o(null),t));return Promise.race([r,n])}function Ic(e,t){const r=/^data:([^;,]+);base64,([\s\S]*)$/.exec(e);if(!r)return null;const[,n,o]=r;if(!n||o===void 0)return null;try{const i=atob(o),a=new Uint8Array(i.length);for(let l=0;l<i.length;l++)a[l]=i.charCodeAt(l);return new File([a],t,{type:n})}catch{return null}}function Ac(e){return Ur.get(e)}function Eo(e){const[t,r]=c.useState(null);return c.useEffect(()=>{var o;if(r(null),!e)return;let n=!1;return(o=Ac(e))==null||o.then(i=>{!n&&i&&r(i)}),()=>{n=!0}},[e]),t}function Mc({element:e}){const t=Eo(e.mark)??e.snapshotUrl??null,r=e.note??e.name;return t?s.jsxDEV(No,{src:t,alt:r,title:e.name,note:e.note},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/SentMarkChip.tsx",lineNumber:25,columnNumber:7},this):s.jsxDEV("span",{className:V("inline-flex items-center gap-1.5 max-w-48","rounded-full py-1 ps-2 pe-2.5","bg-background ring-1 ring-border","text-xs text-foreground"),title:e.name,children:[s.jsxDEV(A.PenLineIcon,{className:"size-3 shrink-0 text-primary"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/SentMarkChip.tsx",lineNumber:44,columnNumber:7},this),s.jsxDEV("span",{className:"truncate",children:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/SentMarkChip.tsx",lineNumber:45,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/SentMarkChip.tsx",lineNumber:35,columnNumber:5},this)}const zc=150,Tc=40,Rc=3;function Oc(e,t){const r=new Map;for(const i of e){const a=r.get(i.type);a?a.push(i):r.set(i.type,[i])}const n=[],o=[];for(const[i,a]of Array.from(r)){const l=t.has(i)?a:a.slice(0,Rc);n.push({type:i,items:l,hidden:a.length-l.length}),o.push(...l)}return{groups:n,visible:o}}function $c(e,t){const r=e.slice(0,t),n=/(?:^|\s)@(\S*)$/.exec(r);return n?{start:t-n[1].length-1,query:n[1]}:null}function Lc(e,t){const r=t.trim().toLowerCase();if(!r)return[...e];const n=o=>{var a;const i=o.title.toLowerCase();return i.startsWith(r)?0:i.includes(r)?1:(a=o.description)!=null&&a.toLowerCase().includes(r)?2:-1};return e.map((o,i)=>({item:o,index:i,rank:n(o)})).filter(o=>o.rank>=0).sort((o,i)=>o.rank-i.rank||o.index-i.index).map(o=>o.item)}const xt=e=>`@${e.title}`;function Rs(e,t){const r=[];for(const n of t){const o=xt(n);let i=0;for(;;){const a=e.indexOf(o,i);if(a===-1)break;r.push({start:a,end:a+o.length}),i=a+o.length}}return r}function Fc({text:e,setText:t,inputRef:r}){const{mentions:n}=k.useConfig(),{widgetCtx:o}=k.useWidget(),i=n==null?void 0:n.items,a=n==null?void 0:n.search,l=c.useMemo(()=>{if(a)return a;if(i)return I=>Lc(i,I)},[a,i]),m=!!l&&o.features.pageContext,{mentions:u,setMentions:p}=k.useComposerDraft(),[d,f]=c.useState(null),[g,N]=c.useState([]),[y,E]=c.useState(()=>new Set),[v,P]=c.useState(0),[x,S]=c.useState(!1),{groups:b,visible:w}=c.useMemo(()=>Oc(g,y),[y,g]);c.useEffect(()=>{p(I=>{const F=I.filter(R=>e.includes(xt(R)));return F.length===I.length?I:F})},[e,p]);const D=c.useCallback((I="nearest")=>{if(!m)return;const F=r.current;let R=(F==null?void 0:F.selectionStart)??e.length;if(F&&F.selectionStart===F.selectionEnd){const H=Rs(e,u).find($=>R>$.start&&R<$.end);H&&(R=I==="forward"?H.end:I==="backward"||R-H.start<H.end-R?H.start:H.end,F.setSelectionRange(R,R))}const W=$c(e,R),q=W&&u.some(H=>e.startsWith(xt(H),W.start))?null:W;f(H=>(H==null?void 0:H.start)===(q==null?void 0:q.start)&&(H==null?void 0:H.query)===(q==null?void 0:q.query)?H:q)},[m,r,u,e]);c.useEffect(()=>D(),[D]);const z=c.useRef(0);c.useEffect(()=>{if(!d||!l){N([]),S(!1);return}const I=++z.current;S(!0);const F=setTimeout(()=>{Promise.resolve().then(()=>l(d.query)).then(R=>{I===z.current&&(N(R.slice(0,Tc)),E(new Set),P(0),S(!1))},R=>{I===z.current&&(Q.log.warn("mentions search failed",R),N([]),S(!1))})},zc);return()=>clearTimeout(F)},[d,l]);const M=c.useCallback(()=>{z.current+=1,f(null),N([]),S(!1)},[]),_=c.useCallback(I=>{if(!d)return;const F=d.start+1+d.query.length,R=`${xt(I)} `,W=e.slice(0,d.start)+R+e.slice(F);t(W),p(H=>H.some($=>$.type===I.type&&$.id===I.id)?H:[...H,I]),M();const q=d.start+R.length;requestAnimationFrame(()=>{const H=r.current;H&&(H.focus(),H.setSelectionRange(q,q))})},[d,M,r,t,p,e]),C=c.useCallback(I=>{E(F=>new Set(F).add(I))},[]),L=m&&d!==null,U=c.useCallback(I=>{const F=r.current;if(m&&F&&F.selectionStart===F.selectionEnd&&(I.key==="Backspace"||I.key==="Delete")){const R=F.selectionStart,W=Rs(e,u).find(q=>I.key==="Backspace"?q.end===R:q.start===R);if(W){I.preventDefault();const q=e[W.end]===" "?W.end+1:W.end;return t(e.slice(0,W.start)+e.slice(q)),requestAnimationFrame(()=>F.setSelectionRange(W.start,W.start)),!0}}if(!L)return!1;if(I.key==="Escape")return I.preventDefault(),M(),!0;if(w.length===0)return!1;if(I.key==="ArrowDown")return I.preventDefault(),P(R=>(R+1)%w.length),!0;if(I.key==="ArrowUp")return I.preventDefault(),P(R=>(R-1+w.length)%w.length),!0;if(I.key==="Enter"||I.key==="Tab"){I.preventDefault();const R=w[v];return R&&_(R),!0}return!1},[M,m,v,r,L,_,u,t,e,w]),j=c.useCallback(()=>{p([]),M()},[M,p]);return c.useMemo(()=>({picked:u,isOpen:L,anchorIndex:(d==null?void 0:d.start)??null,preview:(n==null?void 0:n.preview)!==!1,groups:b,visible:w,expandGroup:C,searching:x,highlighted:v,setHighlighted:P,pick:_,onKeyDown:U,onCaretMove:D,reset:j}),[u,L,d,n==null?void 0:n.preview,b,w,C,x,v,_,U,D,j])}function Co({text:e,mentions:t,tokenClassName:r}){if(!t||t.length===0)return s.jsxDEV(s.Fragment,{children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionText.tsx",lineNumber:24,columnNumber:50},this);const n=Array.from(new Set(t.map(xt))).sort((l,m)=>m.length-l.length),o=[];let i=e,a=0;for(;i.length>0;){let l=-1,m="";for(const u of n){const p=i.indexOf(u);p!==-1&&(l===-1||p<l)&&(l=p,m=u)}if(l===-1){o.push(i);break}l>0&&o.push(i.slice(0,l)),o.push(c.createElement("span",{...O("chat/mention"),key:a++,className:V("rounded-sm px-0.5 -mx-0.5",r)},m)),i=i.slice(l+m.length)}return s.jsxDEV(s.Fragment,{children:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionText.tsx",lineNumber:57,columnNumber:10},this)}function Wc({message:e,isFirstInGroup:t,isLastInGroup:r,isAloneInGroup:n}){var o;return s.jsxDEV("div",{...O("chat/user_msg/root"),className:"w-5/6 flex flex-col items-end gap-1",children:[e.markedElements&&e.markedElements.length>0&&s.jsxDEV("div",{...O("chat/user_msg/marked_elements"),className:"w-full flex gap-1 flex-wrap justify-end",children:e.markedElements.map((i,a)=>s.jsxDEV(Mc,{element:i},`${i.name}-${a}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessage.tsx",lineNumber:31,columnNumber:13},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessage.tsx",lineNumber:26,columnNumber:9},this),e.attachments&&e.attachments.length>0&&s.jsxDEV("div",{className:"w-full flex gap-1 flex-wrap justify-end",children:(o=e.attachments)==null?void 0:o.map(i=>s.jsxDEV(Kn,{attachment:i},i.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessage.tsx",lineNumber:38,columnNumber:13},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessage.tsx",lineNumber:36,columnNumber:9},this),e.content.length>0&&s.jsxDEV("div",{...O("chat/user_msg/msg"),"data-first":t,"data-last":r,"data-alone":n,"data-pending":e.pending===!0,className:V("transition-all","w-fit py-3 px-4 rounded-3xl text-sm","bg-primary text-primary-foreground",e.pending&&"opacity-60","break-words [word-break:break-word]","whitespace-pre-wrap",t&&!n&&"rounded-br-md",r&&!n&&"rounded-tr-md",!t&&!r&&!n&&"rounded-r-md"),children:s.jsxDEV(Co,{text:e.content,mentions:e.mentions,tokenClassName:"bg-primary-foreground/20 font-medium"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessage.tsx",lineNumber:68,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessage.tsx",lineNumber:43,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessage.tsx",lineNumber:21,columnNumber:5},this)}function Hc({messages:e}){return s.jsxDEV("div",{...O("chat/user_msg_group/root"),className:V("group","flex flex-col gap-1 justify-end items-end"),children:[e.map((t,r,n)=>s.jsxDEV(Wc,{message:t,isFirstInGroup:r===0,isLastInGroup:r===n.length-1,isAloneInGroup:n.length===1},t.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessageGroup.tsx",lineNumber:19,columnNumber:9},this)),s.jsxDEV(mo,{messages:e,containerClassName:"ms-auto"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessageGroup.tsx",lineNumber:27,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/UserMessageGroup.tsx",lineNumber:14,columnNumber:5},this)}function Nr({groups:e,pendingReply:t=!1}){const{humanAgent:r}=k.useConfig(),n=k.useBot();return s.jsxDEV(s.Fragment,{children:e.map((o,i)=>{var l,m;const a=(l=o[0])==null?void 0:l.id;if(!a)return null;if(xr(o))return s.jsxDEV(Hc,{messages:o},a,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MessageGroups.tsx",lineNumber:36,columnNumber:18},this);if(cc(o))return s.jsxDEV(Wt,{messages:o,agent:n,actions:!t||i!==e.length-1},a,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MessageGroups.tsx",lineNumber:41,columnNumber:13},this);if(mc(o)){const u=(m=o[0])==null?void 0:m.agent;return s.jsxDEV(Wt,{messages:o,agent:u?{...u,name:(r==null?void 0:r.name)||u.name||"",avatarUrl:(r==null?void 0:r.avatarUrl)||u.avatarUrl||null}:r?{isAi:!1,id:null,name:r.name||"",avatarUrl:r.avatarUrl||null}:void 0},a,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MessageGroups.tsx",lineNumber:53,columnNumber:13},this)}return null})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MessageGroups.tsx",lineNumber:30,columnNumber:5},this)}const Bc=150;function Uc({scrollHeight:e,scrollTop:t,clientHeight:r},n=Bc){return e-t-r<n}function qc(e){const t=c.useRef(null),r=c.useRef(!0),[n,o]=c.useState(!1),i=c.useCallback(()=>{const l=t.current,m=l?Uc(l):!0;r.current=m,o(!m)},[]),a=c.useCallback(()=>{const l=t.current;l&&(l.scrollTo({top:l.scrollHeight,behavior:"smooth"}),r.current=!0,o(!1))},[]);return c.useEffect(()=>{if(!r.current)return;const l=setTimeout(()=>{const m=t.current;m&&(m.scrollTop=m.scrollHeight)},0);return()=>clearTimeout(l)},e),{containerRef:t,handleScroll:i,showScrollDown:n,scrollToBottom:a}}function Gc(){const{messagesState:{messages:e}}=k.useMessages(),{isStreaming:t,liveItems:r,turnSources:n,liveTurnKey:o,turnFailed:i,retryFailedTurn:a}=k.useAgentChatUi(),{componentStore:l}=k.useWidget(),{t:m}=ee(),u=k.useBot(),p=c.useMemo(()=>ho(e),[e]),d=c.useMemo(()=>{const w=new Map;for(const D of n)for(const z of D.rowIds)w.set(z,D);return w},[n]),f=c.useMemo(()=>{for(let w=p.length-1;w>=0;w-=1){const D=p[w];if(D&&xr(D))return w}return-1},[p]),g=r.length>0,{nodes:N,renderedSourceKeys:y}=c.useMemo(()=>{const w=[],D=new Set;return p.forEach((z,M)=>{var U;const _=(U=z[0])==null?void 0:U.id;if(!_)return;if(xr(z)){w.push(s.jsxDEV(Nr,{groups:[z]},_,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:99,columnNumber:20},this));return}let C=[];const L=()=>{var I;const j=(I=C[0])==null?void 0:I.id;j&&w.push(s.jsxDEV(Nr,{groups:[C]},j,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:109,columnNumber:22},this)),C=[]};for(const j of z){const I=d.get(j.id);I?(L(),D.has(I.key)||(D.add(I.key),w.push(s.jsxDEV(As,{turn:{active:!1,items:I.items},agent:u,timestamp:j.timestamp},I.key,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:120,columnNumber:15},this)))):g&&M>f||C.push(j)}L()}),{nodes:w,renderedSourceKeys:D}},[p,d,g,f,u]),E=o!==null&&r.length>0&&!y.has(o),v=l.getComponent("loading"),{containerRef:P,handleScroll:x,showScrollDown:S,scrollToBottom:b}=qc([e,r]);return s.jsxDEV("div",{...O("chat/msgs/wrapper"),className:"relative flex flex-1 flex-col min-h-0",children:[s.jsxDEV("div",{...O("chat/msgs/root"),ref:P,onScroll:x,className:"max-h-full relative flex-1 py-2 px-4 flex flex-col gap-2 overflow-auto",children:[s.jsxDEV(xo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:169,columnNumber:9},this),s.jsxDEV(go,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:170,columnNumber:9},this),s.jsxDEV(vo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:171,columnNumber:9},this),[...N,...E?[s.jsxDEV(As,{turn:{active:t,items:r},agent:u},o,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:182,columnNumber:17},this)]:[]],t&&r.length===0&&v&&s.jsxDEV(v,{agent:u},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:193,columnNumber:11},this),i&&!t&&s.jsxDEV("div",{...O("chat/turn_failed/root"),className:"flex items-center gap-2 self-start rounded-xl border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:[s.jsxDEV("span",{children:m("turn_failed_message")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:203,columnNumber:13},this),s.jsxDEV("button",{...O("chat/turn_failed/retry"),type:"button",onClick:a,className:"font-medium underline underline-offset-2 hover:opacity-80",children:m("turn_failed_retry")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:204,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:199,columnNumber:11},this),s.jsxDEV(fo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:215,columnNumber:9},this),s.jsxDEV(po,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:216,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:163,columnNumber:7},this),s.jsxDEV(B.AnimatePresence,{children:S&&c.createElement(B.motion.button,{...O("chat/msgs/scroll-to-bottom"),key:"scroll-to-bottom",type:"button",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8},transition:{duration:.15},onClick:b,"aria-label":m("scroll_to_bottom"),className:"absolute bottom-3 left-1/2 z-20 flex size-8 -translate-x-1/2 items-center justify-center rounded-full border border-border bg-background text-muted-foreground shadow-lg transition-colors hover:text-foreground"},s.jsxDEV(A.ArrowDown,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:233,columnNumber:13},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:219,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/AgentChatMain.tsx",lineNumber:159,columnNumber:5},this)}function Yc(){const e=Te(),{activeMode:t,Component:r}=k.useModes(),{sendMessage:n}=k.useMessages(),{createStateCheckpoint:o}=k.useSessions(),[i,a]=c.useState(!1),l=async m=>{try{a(!0),await n(m)}catch(u){Q.log.error("mode component send failed",u)}finally{a(!1)}};return!t||!r?null:s.jsxDEV(r,{...e,mode:t,createStateCheckpoint:o,sendMessage:l,isSendingMessage:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatCanvas.tsx",lineNumber:32,columnNumber:5},this)}const ve=c.forwardRef((e,t)=>{var r,n,o;return s.jsxDEV(te,{...e,ref:t,className:V("overflow-hidden",e.className),overrides:{initial:{height:0,opacity:0,...(r=e.overrides)==null?void 0:r.initial},animate:{height:"auto",opacity:1,...(n=e.overrides)==null?void 0:n.animate},exit:{height:0,opacity:0,...(o=e.overrides)==null?void 0:o.exit}}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/MotionDiv__VerticalReveal.tsx",lineNumber:10,columnNumber:5},void 0)});ve.displayName="MotionDiv__VerticalReveal";const Xc=[{label:"Terrible",value:1,emoji:"😡"},{label:"Poor",value:2,emoji:"😞"},{label:"Okay",value:3,emoji:"😐"},{label:"Good",value:4,emoji:"😊"},{label:"Great",value:5,emoji:"😍"}];function Zc(){const{isSmallScreen:e}=De(),{t}=ee(),{submitCsat:r,isCsatRequested:n,isCsatSubmitted:o,submittedScore:i,submittedFeedback:a}=k.useCsat(),[l,m]=c.useState(null),[u,p]=c.useState(null),d=g=>{m(N=>N===g?null:g)},f=()=>{l&&r({score:l,feedback:u||void 0})};return!n&&!o?null:s.jsxDEV("div",{className:"w-1/2 min-w-80 max-w-96 mx-auto overflow-hidden",children:[s.jsxDEV(B.AnimatePresence,{mode:"wait",children:n&&!l?s.jsxDEV(ve,{children:s.jsxDEV("p",{className:"text-sm text-muted-foreground text-center pt-2",children:t("csat_title")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:73,columnNumber:13},this)},"csat-requested-title",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:72,columnNumber:11},this):o?s.jsxDEV(ve,{children:s.jsxDEV("p",{className:"text-sm text-muted-foreground text-center pt-2",children:t("csat_submitted_title")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:79,columnNumber:13},this)},"csat-submitted-title",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:78,columnNumber:11},this):null},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:70,columnNumber:7},this),s.jsxDEV("div",{dir:"ltr",className:V("flex gap-4 justify-between pt-2 px-2 pb-2","transition-all",o&&"gap-0 justify-center"),children:Xc.map(g=>s.jsxDEV(se,{variant:g.value===l?"secondary":"ghost",size:"selfless",className:V("transition-all overflow-hidden","text-2xl size-8 rounded-full","opacity-35","hover:opacity-100",!l&&"opacity-100",g.value===l&&"opacity-100",o&&g.value!==i&&"opacity-0 size-0",o&&g.value===i&&"opacity-100 size-fit text-4xl"),onClick:n?()=>d(g.value):void 0,children:g.emoji},g.value,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:102,columnNumber:11},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:93,columnNumber:7},this),s.jsxDEV(B.AnimatePresence,{mode:"wait",children:(l||i)&&s.jsxDEV(ve,{children:s.jsxDEV("div",{className:"pb-2 px-2 flex items-end",children:[s.jsxDEV("textarea",{rows:3,className:V("transition-all","max-h-40 [field-sizing:content]","w-full resize-none","bg-transparent outline-none","placeholder:text-muted-foreground",e?"text-[16px]":"text-sm",o&&"text-center"),value:o?a||"":u||"",onChange:n?g=>p(g.target.value):void 0,readOnly:o,placeholder:n?t("csat_feedback_placeholder"):void 0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:134,columnNumber:15},this),s.jsxDEV(se,{size:"fit",onClick:f,disabled:!l,className:V("transition-all overflow-hidden","rounded-full size-8 flex items-center justify-center p-0",o&&"opacity-0 size-0"),children:s.jsxDEV(A.ArrowUpIcon,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:170,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:160,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:133,columnNumber:13},this)},"feedback-box",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:132,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:130,columnNumber:7},this),s.jsxDEV("div",{className:V("h-0 transition-[height]",o&&"h-4")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:178,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/CsatSurvey.tsx",lineNumber:68,columnNumber:5},this)}function Kc(){const{t:e}=ee(),t=[e("i_need_more_help"),e("this_was_helpful")];return s.jsxDEV("div",{...O("chat/might_solve_user_issue_suggested_replies_container"),className:"flex items-center gap-2 p-2 pb-0 flex-wrap",children:t.map(r=>s.jsxDEV(Hr,{suggestion:r,className:"flex-1"},r,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/MightSolveUserIssueSuggestedReplies.tsx",lineNumber:16,columnNumber:9},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/MightSolveUserIssueSuggestedReplies.tsx",lineNumber:11,columnNumber:5},this)}function Os(){const{sessionState:e}=k.useSessions(),{chatFooterItems:t}=k.useConfig(),r=!!e.session&&!e.session.isOpened,n=!r;return s.jsxDEV(B.AnimatePresence,{mode:"wait",children:t==null?void 0:t.map((o,i)=>o.showWhenSessionIsOpen===!1&&n||o.showWhenSessionIsResolved===!1&&r?null:s.jsxDEV(ve,{children:s.jsxDEV("div",{className:"pb-2 text-center text-xs",children:s.jsxDEV(Gt,{children:o.message},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooterItems.tsx",lineNumber:28,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooterItems.tsx",lineNumber:27,columnNumber:13},this)},`${o.message}-${i}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooterItems.tsx",lineNumber:26,columnNumber:11},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooterItems.tsx",lineNumber:16,columnNumber:5},this)}const Jc=["box","circle","arrow","bracket","underline","highlight","strike-through","crossed-off"];function Qc(e){const t=new Map,r=[];for(const n of e){let o;for(const i of n.elements){const a=i.selector||i.name,l=t.get(a);if(l){o??(o=l);continue}const m={...i};t.set(a,m),r.push(m),o??(o=m)}n.note&&o&&(o.note=o.note?`${o.note}
111
+ ${n.note}`:n.note)}return r}const $s=20,em=4e3;function yr(e,t){for(let r=e.nextElementSibling;r instanceof SVGSVGElement&&r.classList.contains("notation");r=r.nextElementSibling)r.setAttribute("data-opencx-overlay",""),r.style.zIndex=String(t),r.style.filter="drop-shadow(0 0 1px rgb(255 255 255 / 0.85))"}function tm(e,t,r,n){const o=document.createElement("div");o.setAttribute("data-opencx-overlay",""),Object.assign(o.style,{position:"absolute",left:`${e.x}px`,top:`${e.y}px`,width:`${e.width}px`,height:`${e.height}px`,pointerEvents:"none",zIndex:String(n)}),document.documentElement.appendChild(o);let i=null;try{i=on.annotate(o,{type:t,color:r,strokeWidth:2,wobble:.8}),i.show(),yr(o,n)}catch(u){Q.log.warn("page mark: could not be drawn",u)}let a=!1;const l=()=>{if(!a){a=!0;try{i==null||i.remove()}catch{}o.remove()}},m=u=>{if(!a)try{i==null||i.update(u),yr(o,n)}catch{}};return{setRect(u){a||(o.style.left=`${u.x}px`,o.style.top=`${u.y}px`,o.style.width=`${u.width}px`,o.style.height=`${u.height}px`,m({}))},setShape(u){m({type:u})},undraw(){if(!a){if(!i)return l();try{i.hide(),i.finished.then(l)}catch{return l()}window.setTimeout(l,em)}},remove:l}}const Lt="rounded-full size-8 flex items-center justify-center p-0 overflow-hidden",jo="bg-primary text-primary-foreground hover:bg-primary/90 hover:text-primary-foreground",rm=V("rounded-full p-0.5 text-muted-foreground","hover:bg-muted hover:text-foreground","transition-transform active:scale-90");function sm({entity:e,onRemove:t}){const{t:r}=ee();return s.jsxDEV("div",{...O("chat/input_box/page_context_pill"),className:V("flex items-center gap-1.5 max-w-full","rounded-full py-0.5 pe-1","text-xs text-foreground"),title:`${e.type}: ${e.title}`,children:[s.jsxDEV(A.FileTextIcon,{className:"size-3 shrink-0 text-primary"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-context/PageContextPill.tsx",lineNumber:37,columnNumber:7},this),s.jsxDEV("span",{className:"truncate max-w-48 font-medium",children:e.title},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-context/PageContextPill.tsx",lineNumber:38,columnNumber:7},this),s.jsxDEV("button",{type:"button","aria-label":r("page_context_remove"),className:rm,onClick:t,children:s.jsxDEV(A.XIcon,{className:"size-3"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-context/PageContextPill.tsx",lineNumber:45,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-context/PageContextPill.tsx",lineNumber:39,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-context/PageContextPill.tsx",lineNumber:28,columnNumber:5},this)}const nm=h.z.object({type:h.z.string().min(1),id:h.z.string().min(1),title:h.z.string().min(1),meta:h.z.record(h.z.string(),h.z.unknown()).optional()});function om(){var n;const e=k.useConfig(),{widgetCtx:t}=k.useWidget();if(k.useHostLocation(),!t.features.pageContext)return null;const r=nm.safeParse((n=Q.resolveConfigContext(e))==null?void 0:n.entity);return r.success?r.data:null}function Tt(e,t){var n;const r=(n=Object.entries(e).find(([o])=>o===t))==null?void 0:n[1];return typeof r=="string"?`hsl(${r})`:"currentColor"}function qr({cssVars:e,primaryColor:t,contentZIndex:r}){return{accent:t,surface:Tt(e,"--opencx-background"),foreground:Tt(e,"--opencx-foreground"),mutedForeground:Tt(e,"--opencx-muted-foreground"),border:Tt(e,"--opencx-border"),inkZIndex:r-2,chromeZIndex:r-1,editorZIndex:r+1}}function am({isActive:e,draft:t,hover:r,onShapeChange:n,onAttach:o,onDiscard:i}){const a=Yt(),{theme:l,cssVars:m}=he(),{t:u}=ee();if(!a||!e)return null;const p=qr({cssVars:m,primaryColor:l.primaryColor,contentZIndex:l.widgetContentContainer.zIndex}),{accent:d}=p;return kt.createPortal(s.jsxDEV("div",{"data-opencx-overlay":"",style:{pointerEvents:"none"},children:[s.jsxDEV("style",{children:`
112
+ @keyframes opencx-mark-hint-in {
113
+ from { opacity: 0; transform: translateX(-50%) translateY(-6px); }
114
+ to { opacity: 1; transform: translateX(-50%) translateY(0); }
115
+ }
116
+ @keyframes opencx-mark-editor-in {
117
+ from { opacity: 0; transform: translateY(4px); }
118
+ to { opacity: 1; transform: translateY(0); }
119
+ }
120
+ @keyframes opencx-mark-frame-in {
121
+ from { opacity: 0; transform: scale(1.015); }
122
+ to { opacity: 1; transform: scale(1); }
123
+ }
124
+ @media (prefers-reduced-motion: reduce) {
125
+ [data-opencx-mark-hint], [data-opencx-mark-editor],
126
+ [data-opencx-mark-frame] { animation: none !important; }
127
+ }
128
+ `},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:51,columnNumber:7},this),!t&&s.jsxDEV(s.Fragment,{children:[s.jsxDEV("div",{"data-opencx-mark-hint":"",style:{position:"fixed",top:16,left:"50%",transform:"translateX(-50%)",zIndex:p.chromeZIndex,display:"flex",alignItems:"center",gap:8,background:`color-mix(in srgb, ${p.surface} 92%, transparent)`,backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",color:p.foreground,font:"500 12px/1.4 system-ui, sans-serif",padding:"7px 12px 7px 10px",borderRadius:999,whiteSpace:"nowrap",boxShadow:`0 0 0 1px ${p.border}, 0 8px 24px color-mix(in srgb, ${p.foreground} 14%, transparent)`,animation:"opencx-mark-hint-in 200ms cubic-bezier(0.23, 1, 0.32, 1)"},children:[s.jsxDEV("span",{style:{width:7,height:7,borderRadius:999,background:d}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:96,columnNumber:13},this),u("page_mark_hint"),s.jsxDEV(im,{theme:p,children:u("page_mark_escape")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:105,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:72,columnNumber:11},this),r&&s.jsxDEV("div",{"data-opencx-mark-frame":"",style:{position:"fixed",left:r.rect.x-4,top:r.rect.y-4,width:r.rect.width+8,height:r.rect.height+8,zIndex:p.chromeZIndex,borderRadius:10,boxShadow:`0 0 0 2px ${p.surface}, 0 0 0 3.5px ${d}, 0 12px 32px color-mix(in srgb, ${p.foreground} 16%, transparent)`,animation:"opencx-mark-frame-in 140ms cubic-bezier(0.23, 1, 0.32, 1)",transitionProperty:"left, top, width, height",transitionDuration:"90ms",transitionTimingFunction:"cubic-bezier(0.23, 1, 0.32, 1)",pointerEvents:"none"}},r.key,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:111,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:71,columnNumber:9},this),t&&s.jsxDEV(s.Fragment,{children:[[[t.rect.x,t.rect.y],[t.rect.x+t.rect.width,t.rect.y],[t.rect.x,t.rect.y+t.rect.height],[t.rect.x+t.rect.width,t.rect.y+t.rect.height]].map(([f,g],N)=>s.jsxDEV("div",{style:{position:"fixed",left:f-5,top:g-5,width:10,height:10,borderRadius:999,background:p.surface,boxShadow:`0 0 0 2px ${d}, 0 2px 6px color-mix(in srgb, ${p.foreground} 25%, transparent)`,zIndex:p.chromeZIndex,pointerEvents:"none"}},N,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:150,columnNumber:13},this)),s.jsxDEV(mm,{draft:t,theme:p,onShapeChange:n,onAttach:o,onDiscard:i},"editor",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:166,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:136,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:50,columnNumber:5},this),a)}function im({children:e,theme:t}){return s.jsxDEV("span",{style:{font:"600 10px/1 system-ui, sans-serif",color:t.mutedForeground,background:`color-mix(in srgb, ${t.foreground} 7%, transparent)`,border:`1px solid ${t.border}`,borderRadius:5,padding:"3px 5px 2px"},children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:189,columnNumber:5},this)}const lm={box:s.jsxDEV("rect",{x:"3",y:"5",width:"14",height:"10",rx:"1"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:209,columnNumber:8},void 0),circle:s.jsxDEV("ellipse",{cx:"10",cy:"10",rx:"7",ry:"5.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:210,columnNumber:11},void 0),arrow:s.jsxDEV(s.Fragment,{children:[s.jsxDEV("path",{d:"M3 10h13"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:213,columnNumber:7},void 0),s.jsxDEV("path",{d:"M12 6l4 4-4 4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:214,columnNumber:7},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:212,columnNumber:5},void 0),bracket:s.jsxDEV("path",{d:"M7 4H4v12h3"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:217,columnNumber:12},void 0),underline:s.jsxDEV(s.Fragment,{children:[s.jsxDEV("path",{d:"M5 8h10",opacity:"0.35"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:220,columnNumber:7},void 0),s.jsxDEV("path",{d:"M4 14h12"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:221,columnNumber:7},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:219,columnNumber:5},void 0),highlight:s.jsxDEV(s.Fragment,{children:[s.jsxDEV("rect",{x:"3",y:"7",width:"14",height:"6",rx:"1",fill:"currentColor",opacity:"0.3",stroke:"none"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:226,columnNumber:7},void 0),s.jsxDEV("path",{d:"M5 10h10"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:236,columnNumber:7},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:225,columnNumber:5},void 0),"strike-through":s.jsxDEV(s.Fragment,{children:[s.jsxDEV("path",{d:"M6 6h8",opacity:"0.35"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:241,columnNumber:7},void 0),s.jsxDEV("path",{d:"M6 14h8",opacity:"0.35"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:242,columnNumber:7},void 0),s.jsxDEV("path",{d:"M4 10h12"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:243,columnNumber:7},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:240,columnNumber:5},void 0),"crossed-off":s.jsxDEV(s.Fragment,{children:[s.jsxDEV("path",{d:"M4 5l12 10"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:248,columnNumber:7},void 0),s.jsxDEV("path",{d:"M16 5L4 15"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:249,columnNumber:7},void 0)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:247,columnNumber:5},void 0)},cm={box:"page_mark_shape_box",circle:"page_mark_shape_circle",arrow:"page_mark_shape_arrow",bracket:"page_mark_shape_bracket",underline:"page_mark_shape_underline",highlight:"page_mark_shape_highlight","strike-through":"page_mark_shape_strike_through","crossed-off":"page_mark_shape_crossed_off"};function mm({draft:e,theme:t,onShapeChange:r,onAttach:n,onDiscard:o}){const{accent:i}=t,{t:a}=ee(),[l,m]=c.useState(""),u=c.useRef(null);c.useEffect(()=>{var v;(v=u.current)==null||v.focus()},[]);const p=320,d=window.innerWidth,f=window.innerHeight,{rect:g}=e,N=Math.max(12,Math.min(g.x+g.width/2-p/2,d-p-12)),y=g.y+g.height+16,E=y+120>f?Math.max(12,g.y-116):y;return s.jsxDEV("div",{"data-opencx-mark-editor":"",style:{position:"fixed",left:N,top:E,width:p,zIndex:t.editorZIndex,pointerEvents:"auto",display:"flex",flexDirection:"column",gap:6,background:`color-mix(in srgb, ${t.surface} 96%, transparent)`,backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",padding:8,borderRadius:14,boxShadow:`0 0 0 1px ${t.border}, 0 12px 32px color-mix(in srgb, ${t.foreground} 18%, transparent)`,animation:"opencx-mark-editor-in 180ms cubic-bezier(0.23, 1, 0.32, 1)"},children:[s.jsxDEV("div",{style:{display:"flex",gap:2,justifyContent:"space-between"},children:Jc.map(v=>{const P=v===e.shape,x=a(cm[v]);return s.jsxDEV("button",{type:"button",title:x,"aria-label":a("page_mark_shape_aria",{shape:x}),"aria-pressed":P,onClick:()=>r(v),style:{border:"none",cursor:"pointer",borderRadius:8,width:32,height:28,display:"flex",alignItems:"center",justifyContent:"center",background:P?i:"transparent",color:P?t.surface:t.mutedForeground},children:s.jsxDEV("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:lm[v]},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:350,columnNumber:15},this)},v,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:330,columnNumber:13},this)})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:325,columnNumber:7},this),s.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:8},children:[s.jsxDEV("input",{ref:u,value:l,onChange:v=>m(v.target.value),onKeyDown:v=>{v.key==="Enter"?(v.preventDefault(),n(l)):v.key==="Escape"&&(v.preventDefault(),v.stopPropagation(),o())},placeholder:a("page_mark_note_placeholder"),style:{flex:1,minWidth:0,border:"none",outline:"none",background:"transparent",color:t.foreground,font:"500 13px/1.4 system-ui, sans-serif",paddingInlineStart:4}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:369,columnNumber:9},this),s.jsxDEV("button",{type:"button","aria-label":a("page_mark_attach"),onClick:()=>n(l),style:{border:"none",borderRadius:999,width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",background:i,color:t.surface,font:"600 13px/1 system-ui, sans-serif",cursor:"pointer"},children:"↑"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:395,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:368,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkOverlay.tsx",lineNumber:304,columnNumber:5},this)}function um({mark:e,onRemove:t}){var l;const{t:r}=ee(),n=Eo(e),o=e.note??((l=e.elements[0])==null?void 0:l.name)??r("page_mark_region"),i=r("page_mark_remove",{label:o}),a=e.elements.map(m=>m.name).join(", ");return n?s.jsxDEV(No,{...O("chat/input_box/page_mark_pill"),className:"group",shape:"tile",src:n,alt:o,title:a,note:e.note,children:s.jsxDEV("button",{type:"button","aria-label":i,className:V("absolute top-1 end-1 rounded-full p-0.5","bg-foreground/60 text-background backdrop-blur-sm","opacity-0 group-hover:opacity-100 focus-visible:opacity-100","transition-opacity active:scale-90"),onClick:t,children:s.jsxDEV(A.XIcon,{className:"size-3"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkPill.tsx",lineNumber:55,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkPill.tsx",lineNumber:44,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkPill.tsx",lineNumber:35,columnNumber:7},this):s.jsxDEV("div",{...O("chat/input_box/page_mark_pill"),title:a,className:V("group relative size-12 shrink-0 overflow-hidden","flex items-center justify-center","rounded-2xl bg-background ring-1 ring-border"),children:[s.jsxDEV(A.PenLineIcon,{className:"size-4 shrink-0 text-primary"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkPill.tsx",lineNumber:74,columnNumber:7},this),s.jsxDEV("span",{className:V("absolute inset-x-0 bottom-0 truncate px-1.5 py-0.5","bg-gradient-to-t from-foreground/70 to-foreground/0","text-[10px] font-medium leading-tight text-background"),children:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkPill.tsx",lineNumber:75,columnNumber:7},this),s.jsxDEV("button",{type:"button","aria-label":i,className:V("absolute top-1 end-1 rounded-full p-0.5","bg-foreground/60 text-background backdrop-blur-sm","opacity-0 group-hover:opacity-100 focus-visible:opacity-100","transition-opacity active:scale-90"),onClick:t,children:s.jsxDEV(A.XIcon,{className:"size-3"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkPill.tsx",lineNumber:95,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkPill.tsx",lineNumber:84,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarkPill.tsx",lineNumber:65,columnNumber:5},this)}const Ve={"close-panel":"Escape","toggle-fullscreen":"Mod+Shift+F",send:"Enter","send-alt":"Mod+Enter","history-prev":"ArrowUp","history-next":"ArrowDown"};function Do(){return typeof navigator>"u"?!1:/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent)}function Je(e,t,r=Do()){const n=t.split("+"),o=n.at(-1)??"",i=new Set(n.slice(0,-1)),a=i.has("Cmd")||i.has("Mod")&&r,l=i.has("Ctrl")||i.has("Mod")&&!r;return e.metaKey!==a||e.ctrlKey!==l||e.altKey!==i.has("Alt")||e.shiftKey!==i.has("Shift")?!1:e.key.toLowerCase()===o.toLowerCase()}const pm={Mod:"⌘",Cmd:"⌘",Ctrl:"⌃",Alt:"⌥",Shift:"⇧"},dm={Escape:"Esc",Enter:"⏎",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→"};function Gr(e,t=Do()){const r=e.split("+"),n=r.at(-1)??"",o=r.slice(0,-1),i=dm[n]??(n.length===1?n.toUpperCase():n);return t?[...o.map(a=>pm[a]??a),i].join(""):[...o.map(a=>a==="Mod"?"Ctrl":a),i].join("+")}const fm=25*1024*1024,So={"application/pdf":[".pdf"],...pl,...dl},hm={"text/*":[".txt"],"image/*":[".png",".jpg",".jpeg",".gif"],...So},gm={"image/png":[".png"],"image/jpeg":[".jpg",".jpeg"],"image/gif":[".gif"],"image/webp":[".webp"],...So};function bm({status:e}){switch(e){case"uploading":return s.jsxDEV(A.Loader2,{className:"size-4 animate-spin"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:51,columnNumber:14},this);case"error":return s.jsxDEV(A.AlertCircle,{className:"size-4 text-destructive"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:53,columnNumber:14},this);default:return null}}function wm({file:e,fileContent:t}){const r=e.type.split("/")[0];return r==="image"&&t?s.jsxDEV("img",{src:typeof t=="string"?t:"",className:"object-cover bg-secondary size-full",alt:e.name},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:70,columnNumber:7},this):r==="audio"?s.jsxDEV(A.FileAudio2Icon,{className:"size-4 text-muted-foreground"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:78,columnNumber:12},this):r==="video"?s.jsxDEV(A.FileVideo2Icon,{className:"size-4 text-muted-foreground"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:81,columnNumber:12},this):e.type==="application/pdf"?s.jsxDEV(A.FileText,{className:"size-4 text-muted-foreground"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:84,columnNumber:12},this):Gn({type:e.type,name:e.name})?s.jsxDEV(A.FileSpreadsheet,{className:"size-4 text-muted-foreground"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:87,columnNumber:12},this):s.jsxDEV(A.FileIcon,{className:"size-4 text-muted-foreground"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:89,columnNumber:10},this)}function xm({file:{status:e,file:t,error:r},onCancel:n}){const{t:o}=ee(),[i,a]=c.useState(null);return c.useEffect(()=>{if(!t.type.startsWith("image/"))return;const l=new FileReader;return l.onload=()=>a(l.result),l.onerror=()=>Q.log.error("failed to read file for preview"),l.readAsDataURL(t),()=>l.abort()},[t]),s.jsxDEV(je,{side:"bottom",content:e==="error"?s.jsxDEV("span",{className:"text-destructive",children:o("upload_failed",{error:r??""})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:120,columnNumber:11},this):t.name,children:s.jsxDEV("div",{className:V(e==="uploading"&&"opacity-50","group","size-12 border rounded-2xl overflow-hidden relative","flex items-center justify-center shrink-0"),children:[s.jsxDEV("div",{className:"absolute inset-0 flex items-center justify-center",children:s.jsxDEV(bm,{status:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:137,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:136,columnNumber:9},this),s.jsxDEV("button",{type:"button",className:V("absolute bg-foreground/50 inset-0 size-full z-10","flex items-center justify-center","opacity-0 group-hover:opacity-100 transition"),onClick:n,"aria-label":o("remove_attachment"),children:s.jsxDEV(A.XIcon,{className:"size-4 text-primary-foreground"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:149,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:139,columnNumber:9},this),s.jsxDEV(wm,{file:t,fileContent:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:151,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:128,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/UploadPreview.tsx",lineNumber:116,columnNumber:5},this)}function vm(){const{queuedUserMessages:e,removeQueued:t,stop:r}=k.useAgentChatUi(),{messagesState:{messages:n}}=k.useMessages(),{t:o}=ee(),i=c.useMemo(()=>e.filter(a=>!n.some(l=>l.id===a.id)),[e,n]);return s.jsxDEV(B.AnimatePresence,{children:i.length>0&&s.jsxDEV(ve,{children:s.jsxDEV("div",{...O("chat/queued_sends/root"),className:"mb-1 rounded-2xl border border-muted-foreground/15 bg-background shadow-sm",children:[s.jsxDEV("div",{...O("chat/queued_sends/header"),className:"flex items-center justify-between px-3 pt-2 pb-1",children:[s.jsxDEV("span",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:o("queued_label",{count:i.length})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:51,columnNumber:15},this),s.jsxDEV("button",{type:"button",...O("chat/queued_sends/send_now"),"aria-label":o("send_queued_now"),title:o("send_queued_now"),onClick:r,className:"rounded-md p-0.5 text-muted-foreground/60 transition-colors hover:text-foreground hover:bg-muted",children:s.jsxDEV(A.CornerDownLeftIcon,{className:"size-3"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:62,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:54,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:47,columnNumber:13},this),s.jsxDEV("ul",{...O("chat/queued_sends/list"),className:"flex flex-col pb-1",children:i.map(a=>s.jsxDEV("li",{...O("chat/queued_sends/item"),className:"group flex items-center gap-2 px-3 py-1",children:[s.jsxDEV("button",{type:"button",title:o("send_queued_now"),onClick:r,className:"min-w-0 flex-1 truncate text-start text-xs text-foreground/80 hover:text-foreground",children:a.content},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:75,columnNumber:19},this),s.jsxDEV("button",{type:"button",...O("chat/queued_sends/remove"),"aria-label":o("remove_queued_message"),onClick:()=>t(a.id),className:"shrink-0 rounded-md p-0.5 text-muted-foreground/60 transition-colors hover:text-foreground hover:bg-muted",children:s.jsxDEV(A.XIcon,{className:"size-3.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:90,columnNumber:21},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:83,columnNumber:19},this)]},a.id,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:70,columnNumber:17},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:65,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:43,columnNumber:11},this)},"queued-sends-pill",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:42,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/agent/QueuedSendsPill.tsx",lineNumber:40,columnNumber:5},this)}function Nm({levelRef:e}){const t=c.useRef(null);return c.useEffect(()=>{let r=0;const n=new Q.DictationLevelSmoother({attack:.2,release:.07}),o=[],i=()=>{var l;const a=(l=t.current)==null?void 0:l.children;if(a){const m=n.next(e.current);for(let u=0;u<a.length;u++){const p=a[u];if(p instanceof HTMLElement){const d=.75+.25*Math.sin(Date.now()/260+u*1.7),f=`scaleY(${Math.max(.25,Math.min(1,m*1.8*d)).toFixed(3)})`;o[u]!==f&&(p.style.transform=f,o[u]=f)}}}r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>cancelAnimationFrame(r)},[e]),s.jsxDEV("div",{ref:t,"aria-hidden":"true",className:"flex h-3.5 shrink-0 items-center gap-[3px]",children:[0,1,2,3].map(r=>s.jsxDEV("span",{className:"h-full w-[3px] origin-center scale-y-50 rounded-full bg-current transition-transform duration-100 ease-out"},r,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:55,columnNumber:9},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:49,columnNumber:5},this)}function ym({status:e,levelRef:t,onToggle:r,onPrewarm:n}){const{t:o}=ee(),i=e==="listening",a=e==="connecting",l=o(i||a?"stop_dictation":"dictate");return s.jsxDEV(je,{side:"top",align:"start",content:l,children:s.jsxDEV(se,{...O("chat/input_box/dictate_btn"),onClick:r,onPointerDown:m=>m.preventDefault(),onPointerEnter:n,onFocus:n,"aria-pressed":i||a,"aria-label":l,size:"fit",variant:"ghost",className:V("relative",Lt,i&&jo),children:[a&&s.jsxDEV("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0.5 animate-spin rounded-full border-[1.5px] border-current/20 border-t-current"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:107,columnNumber:11},this),s.jsxDEV(B.AnimatePresence,{mode:"wait",children:i?s.jsxDEV(te,{distance:0,children:s.jsxDEV(Nm,{levelRef:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:115,columnNumber:15},this)},"bars",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:114,columnNumber:13},this):s.jsxDEV(te,{distance:0,children:s.jsxDEV(A.MicIcon,{className:V("size-4",a&&"opacity-60")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:119,columnNumber:15},this)},"mic",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:118,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:112,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:89,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/DictationMicButton.tsx",lineNumber:88,columnNumber:5},this)}function km(e,t){const r=e.ownerDocument;if(!r.defaultView)return null;const o=r.createElement("div");Vo(e,o),Object.assign(o.style,{position:"absolute",visibility:"hidden",top:"0",left:"-9999px",height:"auto",overflow:"hidden",whiteSpace:"pre-wrap",overflowWrap:"break-word",width:`${e.clientWidth}px`}),o.textContent=e.value.slice(0,t);const i=r.createElement("span");i.textContent="​",o.appendChild(i),r.body.appendChild(o);const a=i.offsetLeft,l=i.offsetTop-e.scrollTop;return o.remove(),{left:a,top:l}}function Vo(e,t){const r=e.ownerDocument.defaultView;if(!r)return;const n=r.getComputedStyle(e);for(const o of Em)t.style.setProperty(o,n.getPropertyValue(o))}const Em=["box-sizing","font-family","font-size","font-weight","font-style","letter-spacing","line-height","text-transform","text-indent","word-spacing","tab-size","padding-top","padding-right","padding-bottom","padding-left","border-top-width","border-right-width","border-bottom-width","border-left-width"],Cm=300,Po=260,jm=8,_o="rounded-xl border border-border bg-background shadow-lg";function Dm({anchorRef:e,inputRef:t,anchorIndex:r,preview:n,groups:o,visible:i,searching:a,highlighted:l,onHighlight:m,onPick:u,onExpand:p}){var P;const{t:d}=ee(),[f,g]=c.useState(null);c.useLayoutEffect(()=>{const x=e.current;if(!x)return;const S=x.ownerDocument.defaultView,b=()=>{const D=x.getBoundingClientRect(),z=(S==null?void 0:S.innerWidth)??D.right,M=Math.min(Cm,Math.max(0,z-16)),_=t.current,C=_&&r!==null?km(_,r):null,L=_==null?void 0:_.getBoundingClientRect(),U=C&&L?L.left+C.left:D.left+8,j=Math.max(8,Math.min(U,z-8-M)),I=C&&L?L.top+C.top-4:D.top-4;g({left:j,width:M,top:I,detailBeside:n&&j+M+jm+Po<=z-8})};b(),S==null||S.addEventListener("resize",b);const w=typeof ResizeObserver>"u"?null:new ResizeObserver(b);return w==null||w.observe(x),()=>{S==null||S.removeEventListener("resize",b),w==null||w.disconnect()}},[r,e,t,n,i.length]);const N=(P=e.current)==null?void 0:P.closest("[data-version]");if(!N||!f||i.length===0&&a)return null;const y=i[l],E=y!=null&&y.description?y:null;let v=-1;return kt.createPortal(s.jsxDEV("div",{...O("chat/input_box/mention_picker"),style:{position:"fixed",left:f.left,top:f.top,transform:"translateY(-100%)"},className:"z-50 flex items-end gap-2",children:[s.jsxDEV("div",{role:"listbox",style:{width:f.width},className:V("flex max-h-72 flex-col overflow-hidden",_o),children:s.jsxDEV("div",{className:"min-h-0 flex-1 overflow-auto p-1",children:i.length===0?s.jsxDEV("div",{className:"px-2 py-1.5 text-xs text-muted-foreground",children:d("mentions_empty")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:142,columnNumber:13},this):o.map(x=>c.createElement("div",{...O("chat/input_box/mention_picker/group"),key:x.type,role:"group","aria-label":x.type},s.jsxDEV("div",{className:"px-2 pb-0.5 pt-1.5 text-xs capitalize text-muted-foreground",children:x.type},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:153,columnNumber:17},this),x.items.map(S=>{const b=++v;return c.createElement("button",{...O("chat/input_box/mention_picker/option"),key:`${S.type}:${S.id}`,type:"button",role:"option","aria-selected":b===l,onMouseDown:w=>w.preventDefault(),onMouseEnter:()=>m(b),onClick:()=>u(S),className:V("flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-start text-sm",b===l?"bg-muted":"hover:bg-muted/60")},s.jsxDEV(Io,{item:S},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:177,columnNumber:23},this),s.jsxDEV("span",{className:"min-w-0 flex-1 truncate text-foreground",children:S.title},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:178,columnNumber:23},this))}),x.hidden>0&&s.jsxDEV("button",{...O("chat/input_box/mention_picker/more"),type:"button",onMouseDown:S=>S.preventDefault(),onClick:()=>p(x.type),className:V("w-full rounded-lg px-2 py-1 text-start text-xs","text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:d("json_see_more",{count:String(x.hidden)})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:185,columnNumber:19},this)))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:140,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:135,columnNumber:7},this),E&&f.detailBeside&&s.jsxDEV(Sm,{item:E},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:203,columnNumber:44},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:125,columnNumber:5},this),N)}function Sm({item:e}){return s.jsxDEV("div",{...O("chat/input_box/mention_picker/detail"),style:{width:Po},className:V("flex gap-3 p-3",_o),children:[s.jsxDEV("span",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted",children:s.jsxDEV(Io,{item:e,className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:218,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:217,columnNumber:7},this),s.jsxDEV("span",{className:"min-w-0 flex-1",children:[s.jsxDEV("span",{className:"block text-[10px] uppercase tracking-wide text-muted-foreground",children:e.type},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:221,columnNumber:9},this),s.jsxDEV("span",{className:"block truncate text-sm font-medium text-foreground",children:e.title},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:224,columnNumber:9},this),s.jsxDEV("span",{className:"mt-0.5 line-clamp-3 text-xs text-muted-foreground",children:e.description},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:227,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:220,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:212,columnNumber:5},this)}function Io({item:e,className:t}){return e.icon?s.jsxDEV("img",{src:e.icon,alt:"",className:V("size-4 shrink-0 rounded-sm object-contain",t)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:245,columnNumber:7},this):s.jsxDEV(mt,{name:e.iconName??"AtSign",className:V("size-3.5 shrink-0 text-primary",t)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/MentionPicker.tsx",lineNumber:253,columnNumber:5},this)}const Ao=c.createContext(null);function Vm({children:e}){const[t,r]=c.useState([]),[n,o]=c.useState(!1),i=c.useRef(new Map),a=c.useCallback(d=>{o(d)},[]),l=c.useCallback((d,f)=>{i.current.set(d,f),r(g=>[...g,d])},[]),m=c.useCallback(d=>{const f=i.current.get(d);f&&(i.current.delete(d),f.undraw()),r(g=>g.filter(N=>N!==d))},[]),u=c.useCallback(()=>{const d=Array.from(i.current.values());i.current.clear();for(const f of d)f.undraw();r([])},[]);c.useEffect(()=>()=>{i.current.forEach(d=>d.remove()),i.current.clear()},[]);const p=c.useMemo(()=>({marks:t,isArmed:n,setArmed:a,attach:l,detach:m,detachAll:u}),[t,n,a,l,m,u]);return s.jsxDEV(Ao.Provider,{value:p,children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/page-marks/PageMarksProvider.tsx",lineNumber:74,columnNumber:5},this)}function Yr(){const e=c.useContext(Ao);if(!e)throw new Error("usePageMarks must be used within a PageMarksProvider");return e}const Pm="data-opencx-mark-cursor",_m=5,Rt=4,Ot=6,nr={width:160,height:100},Im=10,Am=yo.map(e=>`:not(${e}):not(${e} *)`).join(""),Mm=e=>e==="nw"||e==="se"?"nwse-resize":"nesw-resize";function zm({enabled:e,onAttach:t,uploadSnapshot:r,accentColor:n,zIndex:o}){const{isArmed:i,setArmed:a,attach:l}=Yr(),m=e&&i,[u,p]=c.useState(null),[d,f]=c.useState(null),g=c.useRef(null),N=c.useRef(null);N.current=u;const y=c.useCallback(()=>{var b;(b=g.current)==null||b.undraw(),g.current=null,p(null)},[]),E=c.useCallback(()=>a(!1),[a]),v=c.useCallback(b=>{var w;p(D=>D&&{...D,rect:b}),(w=g.current)==null||w.setRect({x:b.x+window.scrollX,y:b.y+window.scrollY,width:b.width,height:b.height})},[]),P=c.useCallback(b=>{var w;p(D=>D&&{...D,shape:b}),(w=g.current)==null||w.setShape(b)},[]);c.useEffect(()=>{!e&&i&&a(!1)},[e,i,a]),c.useEffect(()=>{if(!m)return;const b=document.createElement("style");b.setAttribute(Pm,"");let w=null;const D=T=>{T!==w&&(w=T,b.textContent=`*${Am} { cursor: ${T} !important; }`)};D("crosshair"),document.head.appendChild(b);let z=null;const M=T=>T.target instanceof Element&&vt(T.target),_=T=>M(T)?!1:(T.preventDefault(),T.stopPropagation(),T.stopImmediatePropagation(),!0),C=(T,G,K)=>{const ae=[["nw",T.x,T.y],["ne",T.x+T.width,T.y],["sw",T.x,T.y+T.height],["se",T.x+T.width,T.y+T.height]];for(const[ie,ge,ue]of ae)if(Math.hypot(G-ge,K-ue)<=Im)return ie;return null},L=(T,G,K)=>G>=T.x&&G<=T.x+T.width&&K>=T.y&&K<=T.y+T.height,U=(T,G)=>{var ge;const K=vr(T,G),ae=Ts(K?(()=>{const ue=K.getBoundingClientRect();return{x:ue.left-Ot,y:ue.top-Ot,width:ue.width+Ot*2,height:ue.height+Ot*2}})():{x:T-nr.width/2,y:G-nr.height/2,...nr}),ie=((ge=N.current)==null?void 0:ge.shape)??"box";f(null),g.current=tm({x:ae.x+window.scrollX,y:ae.y+window.scrollY,width:ae.width,height:ae.height},ie,n,o),p({rect:ae,shape:ie})},j=T=>{var ae;if(!_(T)||T.button!==0)return;const G=N.current;if(!G){U(T.clientX,T.clientY);return}const K=C(G.rect,T.clientX,T.clientY);if(K){z={kind:"resize",corner:K};return}if(L(G.rect,T.clientX,T.clientY)){z={kind:"move",grabX:T.clientX-G.rect.x,grabY:T.clientY-G.rect.y};return}(ae=g.current)==null||ae.undraw(),g.current=null,U(T.clientX,T.clientY)};let I=null,F=0;const R=T=>{if(!_(T))return;const G=N.current;if(!G){D("crosshair");const me=vr(T.clientX,T.clientY);if(!me){I=null,f(null);return}me!==I&&(I=me,F+=1),f({rect:Ts(Nc(me)),key:F});return}if(!z){const me=C(G.rect,T.clientX,T.clientY);D(me?Mm(me):L(G.rect,T.clientX,T.clientY)?"move":"crosshair");return}const{rect:K}=G;if(z.kind==="move"){v({...K,x:T.clientX-z.grabX,y:T.clientY-z.grabY});return}const ae=z.corner.includes("w")?K.x+K.width:K.x,ie=z.corner.includes("n")?K.y+K.height:K.y,ge=Math.min(ae,T.clientX),ue=Math.max(ae,T.clientX),we=Math.min(ie,T.clientY),Pe=Math.max(ie,T.clientY);v({x:ge,y:we,width:Math.max($s,ue-ge),height:Math.max($s,Pe-we)})},W=T=>{_(T)&&(z=null)},q=T=>{M(T)||_(T),z=null},H=T=>{_(T)},$=T=>{var G;if(T.key==="Escape"){if(T.preventDefault(),T.stopPropagation(),z=null,N.current){(G=g.current)==null||G.undraw(),g.current=null,p(null),D("crosshair");return}a(!1)}};let X=window.scrollX,oe=window.scrollY;const Z=()=>{f(null);const T=window.scrollX-X,G=window.scrollY-oe;X=window.scrollX,oe=window.scrollY,!(T===0&&G===0)&&p(K=>K&&{...K,rect:{...K.rect,x:K.rect.x-T,y:K.rect.y-G}})};return document.addEventListener("pointerdown",j,!0),document.addEventListener("pointermove",R,!0),document.addEventListener("pointerup",W,!0),document.addEventListener("pointercancel",q,!0),document.addEventListener("click",H,!0),document.addEventListener("keydown",$,!0),document.addEventListener("scroll",Z,!0),()=>{b.remove(),document.removeEventListener("pointerdown",j,!0),document.removeEventListener("pointermove",R,!0),document.removeEventListener("pointerup",W,!0),document.removeEventListener("pointercancel",q,!0),document.removeEventListener("click",H,!0),document.removeEventListener("keydown",$,!0),document.removeEventListener("scroll",Z,!0),f(null)}},[m,n,o,v,a]),c.useEffect(()=>{!m&&N.current&&y()},[m,y]),c.useEffect(()=>()=>{var b;(b=g.current)==null||b.remove(),g.current=null},[]);const x=c.useCallback(b=>{if(!e)return;const w=N.current,D=g.current;if(!w||!D)return;const z=b.trim(),M=Tm(w.rect),_={shape:w.shape,...z?{note:z}:{},pageUrl:window.location.href,rect:w.rect,elements:M.map(kc)};M[0]&&(Vc(_,M[0]),r&&Pc(_,r)),g.current=null,p(null),a(!1),l(_,D),t==null||t(_)},[l,e,t,a,r]),S=c.useCallback(()=>{e&&a(!i)},[e,i,a]);return{isActive:m,draft:u,hover:d,setShape:P,attach:x,dropDraft:y,disarm:E,toggle:S}}function Tm(e){const t=new Set,r=(n,o)=>{const i=vr(n,o);i&&t.add(i)};r(e.x+e.width/2,e.y+e.height/2);for(let n=0;n<=Rt;n++)for(let o=0;o<=Rt;o++)r(e.x+e.width*n/Rt,e.y+e.height*o/Rt);return Array.from(t).slice(0,_m)}function Rm({enabled:e,inputRef:t}){const{widgetCtx:r}=k.useWidget(),{theme:n,cssVars:o}=he(),i=qr({cssVars:o,primaryColor:n.primaryColor,contentZIndex:n.widgetContentContainer.zIndex}),{marks:a,detach:l}=Yr(),m=c.useCallback(()=>{var d;(d=t.current)==null||d.focus()},[t]),u=c.useCallback(async d=>{try{const{fileUrl:f}=await r.api.uploadFile({file:d,abortSignal:new AbortController().signal});return f??null}catch(f){return Q.log.warn("page mark snapshot upload failed",f),null}},[r.api]),p=zm({enabled:e,onAttach:m,uploadSnapshot:u,accentColor:i.accent,zIndex:i.inkZIndex});return{marks:a,detach:l,marking:p}}function Om({inputText:e,setInputText:t,inputRef:r,getSentTextHistory:n}){const o=c.useRef(null),i=c.useRef(""),a=()=>{const d=r.current;d&&(d.classList.remove("opencx-input-recall"),d.offsetWidth,d.classList.add("opencx-input-recall"))},l=(d,{animate:f=!0}={})=>{t(d),f&&a(),requestAnimationFrame(()=>{var g;return(g=r.current)==null?void 0:g.setSelectionRange(d.length,d.length)})};return{onKeyDown:d=>{if(Je(d,Ve["history-prev"])){const f=n();if(f.length===0)return!1;const g=o.current;if(g===null){const N=r.current;if(!((N==null?void 0:N.selectionStart)===0&&(N==null?void 0:N.selectionEnd)===0)&&e!=="")return!1;i.current=e,o.current=f.length-1}else{if(g===0)return!1;o.current=g-1}return d.preventDefault(),l(f[o.current],{animate:!d.repeat}),!0}if(Je(d,Ve["history-next"])){const f=o.current;if(f===null)return!1;d.preventDefault();const g=n();return f>=g.length-1?(o.current=null,l(i.current,{animate:!d.repeat}),i.current=""):(o.current=f+1,l(g[o.current],{animate:!d.repeat})),!0}return!1},onEdit:()=>{o.current=null},onSent:()=>{o.current=null,i.current=""}}}const Ls="max-h-16 [field-sizing:content] w-full px-2";function Mo({trailingActions:e,placeholder:t,hideAttachTools:r}={}){var Pt;const{isSmallScreen:n}=De(),o=c.useRef(null),i=c.useRef(null),a=c.useRef(null),l=c.useRef(!0),{sendMessage:m,rememberSentText:u,getSentTextHistory:p}=k.useMessages(),{widgetCtx:d,componentStore:f}=k.useWidget(),{attachments:g,pageContext:N}=d.features,{isStreaming:y,stop:E,queuedUserMessages:v,pendingClarification:P}=k.useAgentChatUi(),{sessionState:x}=k.useSessions(),{t:S}=ee(),{text:b,setText:w,clearSubmitted:D}=k.useComposerDraft(),z=om(),M=Fc({text:b,setText:w,inputRef:o}),_=M.picked.length>0;c.useLayoutEffect(()=>{const Y=o.current,ne=a.current;!Y||!ne||Vo(Y,ne)},[_,b]);const[C,L]=c.useState(!1),U=z?`${z.type}:${z.id}`:"";c.useEffect(()=>{L(!1)},[U]);const[j,I]=c.useState(null),F=c.useRef(b);F.current=b;const R=c.useRef(()=>{}),W=k.useDictation({getValue:()=>F.current,setValue:Y=>{F.current=Y,w(Y)},onSend:()=>R.current()});c.useEffect(()=>(l.current=!0,()=>{l.current=!1}),[]);const q=Om({inputText:b,setInputText:w,inputRef:o,getSentTextHistory:p}),H=N&&!n,$=H&&r!==!0,{marks:X,detach:oe,marking:Z}=Rm({enabled:$,inputRef:o}),{allFiles:T,handleCancelUpload:G,appendFiles:K,isUploading:ae,successFiles:ie}=k.useUploadFiles(),ge=!!((Pt=x.session)!=null&&Pt.isHandedOff),{isAwaitingBotReply:ue}=k.useIsAwaitingBotReply(),we=d.messageCtx.blocksSendWhileAwaitingReply&&ue,Pe=Y=>{g&&(I(null),K(Y))},me=z!==null&&!C,_e=T.length>0||X.length>0,Re=!b.trim()&&ie.length===0&&X.length===0,be=y&&Re,Qe=be&&v.length>0,et=ae||we||Re,Ie=()=>{if(W.stop(),we||Re||ae)return;const Y=b,ne=[...X],pt=[...ie],dt=T.map($e=>$e.id);Promise.all(ne.map($e=>_c($e,$m))).then(()=>pe({submittedText:Y,submittedMarks:ne,submittedFiles:pt,submittedFileIds:dt}))},pe=({submittedText:Y,submittedMarks:ne,submittedFiles:pt,submittedFileIds:dt})=>{const $e=Y.trim()||(ne.length>0?Lm(ne)??S("page_mark_default_message"):"");let _t=!1;const It=M.picked;m({content:$e,withPageEntity:!C,mentions:It.length>0?It:void 0,attachments:pt.flatMap(fe=>fe.fileUrl?[{url:fe.fileUrl,type:fe.file.type,name:fe.file.name,id:fe.id,size:fe.file.size}]:[]),clientContext:ne.length>0?{page_marks:ne,picked_elements:Qc(ne)}:void 0,onAccepted:()=>{if(_t)return;_t=!0,u($e),ne.forEach(Ge=>oe(Ge)),dt.forEach(Ge=>G(Ge));const fe=D();l.current&&(q.onSent(),L(!1),fe&&M.reset())}}).catch(fe=>{Q.log.error("failed to send message",fe)})},{getRootProps:Oe,getInputProps:tt,open:de}=la.useDropzone({onDrop:Pe,noClick:!0,disabled:!g,onDropRejected(){I(S("file_rejected"))},maxSize:fm,accept:ge?hm:gm}),qe=Y=>{const ne=Y.clipboardData;ne&&ne.files.length>0&&Pe(Array.from(ne.files))};R.current=Ie;const Vt=f.getComponent("agent_chat_questions");return P&&Vt?s.jsxDEV("div",{...O("chat/input_box/root"),className:"p-2 relative space-y-1",children:s.jsxDEV(Vt,{request:P},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:378,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:377,columnNumber:7},this):s.jsxDEV("div",{...O("chat/input_box/root"),className:"p-2 relative space-y-1",...Oe({ref:i}),children:[s.jsxDEV("input",{...tt()},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:389,columnNumber:7},this),M.isOpen&&s.jsxDEV(Dm,{anchorRef:i,inputRef:o,anchorIndex:M.anchorIndex,preview:M.preview,groups:M.groups,visible:M.visible,searching:M.searching,highlighted:M.highlighted,onHighlight:M.setHighlighted,onPick:M.pick,onExpand:M.expandGroup},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:391,columnNumber:9},this),$&&s.jsxDEV(am,{isActive:Z.isActive,draft:Z.draft,hover:Z.hover,onShapeChange:Z.setShape,onAttach:Z.attach,onDiscard:Z.dropDraft},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:408,columnNumber:9},this),s.jsxDEV(vm,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:419,columnNumber:7},this),j&&s.jsxDEV("p",{role:"alert",className:"px-2 text-xs text-destructive",children:j},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:421,columnNumber:9},this),W.error&&s.jsxDEV("p",{role:"alert",className:"px-2 text-xs text-destructive",children:W.error==="microphone"?S("dictation_mic_blocked"):S("dictation_unavailable")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:426,columnNumber:9},this),s.jsxDEV("div",{...O("chat/input_box/attached_context_tray"),style:{"--cx-p":"0.25rem"},className:V("flex flex-col","rounded-[calc(var(--opencx-inset-radius)+var(--cx-p))] p-[var(--cx-p)]","transition-colors duration-200 ease-opencx",me?"bg-muted":"bg-transparent"),children:[s.jsxDEV(B.AnimatePresence,{children:me&&s.jsxDEV(ve,{children:s.jsxDEV("div",{...O("chat/input_box/page_context_container"),className:"flex items-center gap-1 flex-wrap ps-3 pe-1 py-1",children:s.jsxDEV(B.AnimatePresence,{mode:"popLayout",children:z&&!C&&s.jsxDEV(te,{snapExit:!0,children:s.jsxDEV(sm,{entity:z,onRemove:()=>L(!0)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:485,columnNumber:23},this)},"page-entity",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:484,columnNumber:21},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:482,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:478,columnNumber:15},this)},"attached-context",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:477,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:475,columnNumber:9},this),s.jsxDEV("div",{...O("chat/input_box/inner_root"),className:V("transition-colors","bg-background","border border-border","relative rounded-[var(--opencx-inset-radius)] flex flex-col gap-2 p-2"),children:[s.jsxDEV("div",{...O("chat/input_box/textarea_and_attachments_container"),className:"flex flex-col gap-2",children:[_e&&s.jsxDEV("div",{...O("chat/input_box/attachments_container"),className:"flex items-center gap-1 overflow-x-auto",children:s.jsxDEV(B.AnimatePresence,{mode:"popLayout",children:[T.map(Y=>s.jsxDEV(te,{snapExit:!0,children:s.jsxDEV(xm,{onCancel:()=>G(Y.id),file:Y},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:530,columnNumber:23},this)},Y.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:529,columnNumber:21},this)),X.map((Y,ne)=>s.jsxDEV(te,{snapExit:!0,children:s.jsxDEV(um,{mark:Y,onRemove:()=>oe(Y)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:541,columnNumber:23},this)},`mark-${ne}-${Y.note??""}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:537,columnNumber:21},this))]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:527,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:523,columnNumber:15},this),s.jsxDEV("div",{className:"relative",children:[_&&s.jsxDEV("div",{ref:a,"aria-hidden":!0,className:V(Ls,"pointer-events-none absolute inset-0 overflow-hidden","whitespace-pre-wrap break-words text-foreground",!_e&&"pt-1",n?"text-[16px]":"text-sm"),children:s.jsxDEV(Co,{text:b,mentions:M.picked,tokenClassName:"bg-primary/10 text-primary"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:564,columnNumber:19},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:553,columnNumber:17},this),s.jsxDEV("textarea",{...O("chat/input_box/textarea"),onPaste:qe,ref:o,id:"chat-input",value:b,rows:3,className:V(Ls,"relative resize-none",!_e&&"pt-1","bg-transparent outline-none","placeholder:text-muted-foreground",_&&"text-transparent caret-foreground",n?"text-[16px]":"text-sm"),onScroll:Y=>{a.current&&(a.current.scrollTop=Y.currentTarget.scrollTop)},onChange:Y=>{q.onEdit(),w(Y.target.value)},onClick:()=>M.onCaretMove("nearest"),onKeyUp:Y=>{Y.key==="ArrowRight"||Y.key==="ArrowDown"?M.onCaretMove("forward"):Y.key==="ArrowLeft"||Y.key==="ArrowUp"?M.onCaretMove("backward"):(Y.key==="Home"||Y.key==="End")&&M.onCaretMove("nearest")},onKeyDown:Y=>{if(!Y.nativeEvent.isComposing&&!M.onKeyDown(Y)){if(Je(Y,Ve.send)||Je(Y,Ve["send-alt"])){Y.preventDefault(),Qe?E():Ie();return}if(Y.key==="Escape"&&Z.isActive){Z.disarm();return}q.onKeyDown(Y)}},placeholder:t??S("write_a_message_placeholder")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:571,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:551,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:518,columnNumber:11},this),s.jsxDEV("div",{className:"gap-2 flex justify-between",children:[s.jsxDEV("div",{className:"flex items-center gap-1",children:!r&&s.jsxDEV(s.Fragment,{children:[g&&s.jsxDEV(je,{side:"top",align:"start",content:S("attach_files"),children:s.jsxDEV(se,{onClick:de,"aria-label":S("attach_files"),size:"fit",variant:"ghost",className:Lt,children:s.jsxDEV(B.AnimatePresence,{mode:"wait",children:we?s.jsxDEV(te,{distance:0,children:s.jsxDEV(A.PaperclipIcon,{className:"size-4 opacity-50"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:659,columnNumber:31},this)},"paper-clip-disabled",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:658,columnNumber:29},this):s.jsxDEV(te,{distance:0,children:s.jsxDEV(A.PaperclipIcon,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:655,columnNumber:31},this)},"paper-clip",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:654,columnNumber:29},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:652,columnNumber:25},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:645,columnNumber:23},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:640,columnNumber:21},this),W.enabled&&s.jsxDEV(ym,{status:W.status,levelRef:W.levelRef,onToggle:W.toggle,onPrewarm:W.prewarm},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:668,columnNumber:21},this),H&&s.jsxDEV(je,{side:"top",align:"start",content:Z.isActive?S("mark_page_active"):S("mark_page"),children:s.jsxDEV(se,{...O("chat/input_box/page_mark_btn"),onClick:Z.toggle,"aria-label":Z.isActive?S("mark_page_active"):S("mark_page"),size:"fit",variant:"ghost",className:V(Lt,Z.isActive&&jo),children:s.jsxDEV(A.MousePointerClickIcon,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:702,columnNumber:25},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:686,columnNumber:23},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:677,columnNumber:21},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:638,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:636,columnNumber:13},this),s.jsxDEV("div",{className:"flex items-center gap-1",children:[e,s.jsxDEV(je,{content:S(be?"stop_response":"send_message"),shortcut:be?void 0:Gr(Ve.send),side:"top",align:"end",children:s.jsxDEV(se,{size:"fit",onClick:be?E:Ie,"aria-label":S(be?"stop_response":"send_message"),disabled:!be&&et,className:Lt,children:s.jsxDEV(B.AnimatePresence,{mode:"wait",children:be?s.jsxDEV(te,{snapExit:!0,distance:0,children:s.jsxDEV(A.SquareIcon,{className:"size-3 fill-current"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:736,columnNumber:25},this)},"stop",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:735,columnNumber:23},this):!y&&(we||ae)?s.jsxDEV(te,{snapExit:!0,distance:0,children:s.jsxDEV(A.CircleDashed,{className:"size-4 animate-spin animate-iteration-infinite"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:740,columnNumber:25},this)},"loading",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:739,columnNumber:23},this):s.jsxDEV(te,{snapExit:!0,distance:0,children:s.jsxDEV(A.ArrowUpIcon,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:744,columnNumber:25},this)},"send",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:743,columnNumber:23},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:733,columnNumber:19},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:725,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:714,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:711,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:633,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:496,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:449,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatInput.tsx",lineNumber:384,columnNumber:5},this)}const $m=1500;function Lm(e){const t=e.flatMap(r=>{var o;const n=(o=r.note)==null?void 0:o.trim();return n?[n]:[]});return t.length>0?t.join(`
129
+ `):null}function Fs(){const{widgetCtx:e}=k.useWidget(),{router:t}=k.useConfig(),{canCreateNewSession:r}=k.useSessions(),{toSessionsScreen:n}=k.useWidgetRouter(),{t:o}=ee();return s.jsxDEV(s.Fragment,{children:r||t!=null&&t.chatScreenOnly?s.jsxDEV(se,{onClick:e.resetChat,className:"rounded-2xl w-full",children:o("new_conversation")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:31,columnNumber:9},this):s.jsxDEV(se,{onClick:n,className:"rounded-2xl w-full",children:o("back_to_conversations")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:35,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:29,columnNumber:5},this)}function Fm(){const{t:e}=ee(),{isCsatRequested:t,isCsatSubmitted:r}=k.useCsat();return s.jsxDEV("div",{className:"p-2",children:s.jsxDEV("div",{className:"p-2 bg-muted rounded-[var(--opencx-inset-radius)]",children:s.jsxDEV(B.AnimatePresence,{mode:"wait",children:t||r?s.jsxDEV(ve,{children:[s.jsxDEV(Zc,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:53,columnNumber:15},this),s.jsxDEV(B.AnimatePresence,{mode:"wait",children:r&&s.jsxDEV(ve,{children:s.jsxDEV(Fs,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:57,columnNumber:21},this)},"new-conv-or-back-to-convs-button",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:56,columnNumber:19},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:54,columnNumber:15},this)]},"csat",!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:52,columnNumber:13},this):s.jsxDEV(ve,{children:[s.jsxDEV("div",{className:"ps-2 flex items-center gap-1 pb-2",children:[s.jsxDEV(A.CircleCheckIcon,{className:"size-4 text-emerald-600"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:65,columnNumber:17},this),s.jsxDEV("h2",{className:"text-sm font-medium",children:e("your_issue_has_been_resolved")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:66,columnNumber:17},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:64,columnNumber:15},this),s.jsxDEV(Fs,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:70,columnNumber:15},this)]},"session-closed",!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:63,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:50,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:49,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:48,columnNumber:5},this)}function Wm(){var a;const{initialQuestions:e,initialQuestionsPosition:t,thisWasHelpfulOrNot:r}=k.useConfig(),{sessionState:n}=k.useSessions(),{messagesState:o}=k.useMessages(),i=o.messages.length===0;return s.jsxDEV("footer",{children:s.jsxDEV(B.AnimatePresence,{mode:"wait",children:n.session&&!((a=n.session)!=null&&a.isOpened)?s.jsxDEV(ve,{children:[s.jsxDEV(Fm,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:92,columnNumber:13},this),s.jsxDEV(Os,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:93,columnNumber:13},this)]},"session-closed",!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:91,columnNumber:11},this):s.jsxDEV(ve,{children:[o.lastAIResMightSolveUserIssue&&(r==null?void 0:r.enabled)!==!1&&s.jsxDEV(Kc,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:99,columnNumber:17},this),i&&e&&t!=="below-initial-messages"&&s.jsxDEV("div",{className:"flex items-center flex-row justify-end gap-2 flex-wrap px-2",children:e==null?void 0:e.map((l,m)=>s.jsxDEV(Hr,{suggestion:l},`${l}-${m}`,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:107,columnNumber:21},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:105,columnNumber:17},this),s.jsxDEV(Mo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:115,columnNumber:13},this),s.jsxDEV(Os,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:116,columnNumber:13},this)]},"chat-input",!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:96,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:89,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatFooter.tsx",lineNumber:88,columnNumber:5},this)}function Hm(){const{messagesState:{messages:e}}=k.useMessages(),{isAwaitingBotReply:t}=k.useIsAwaitingBotReply(),{componentStore:r}=k.useWidget(),n=k.useBot(),o=c.useMemo(()=>ho(e),[e]),i=e.at(-1),a=i==null?void 0:i.id,l=i==null?void 0:i.type,m=c.useRef(a),[u,p]=c.useState(!1),d=t&&!u;c.useEffect(()=>{const y=m.current!==a;if(m.current=a,!t||l!=="AI"){p(!1);return}if(!y)return;p(!0);const E=setTimeout(()=>p(!1),600);return()=>clearTimeout(E)},[t,a,l]);const f=r.getComponent("loading"),g=c.useRef(null);function N(){setTimeout(()=>{const y=g.current;y&&(y.scrollTop=y.scrollHeight)},0)}return c.useEffect(()=>{N()},[e,d]),s.jsxDEV("div",{...O("chat/msgs/root"),ref:g,className:"max-h-full scroll-smooth relative flex-1 py-2 px-4 flex flex-col gap-2 overflow-auto",children:[s.jsxDEV(xo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatMain.tsx",lineNumber:83,columnNumber:7},this),s.jsxDEV(go,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatMain.tsx",lineNumber:84,columnNumber:7},this),s.jsxDEV(vo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatMain.tsx",lineNumber:85,columnNumber:7},this),s.jsxDEV(Nr,{groups:o,pendingReply:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatMain.tsx",lineNumber:87,columnNumber:7},this),d&&f&&s.jsxDEV(f,{agent:n},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatMain.tsx",lineNumber:94,columnNumber:9},this),s.jsxDEV(fo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatMain.tsx",lineNumber:97,columnNumber:7},this),s.jsxDEV(po,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatMain.tsx",lineNumber:98,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/ChatMain.tsx",lineNumber:78,columnNumber:5},this)}function Bm(){const{messagesState:{isInitialFetchLoading:e}}=k.useMessages(),{widgetCtx:t}=k.useWidget(),r=t.streaming,{sessionState:{session:n}}=k.useSessions(),{isCanvasOpen:o}=ec(),{theme:i}=he();Rr({width:o?i.screens.chat.withCanvas.width:i.screens.chat.width,height:o?i.screens.chat.withCanvas.height:i.screens.chat.height});const a=c.useRef((n==null?void 0:n.id)||"chat").current;return s.jsxDEV("div",{...O("chat/root"),className:V("flex flex-col overflow-hidden"),style:{width:"100vw",maxWidth:"100vw",height:"100vh",maxHeight:"100vh"},children:s.jsxDEV("div",{className:"relative size-full justify-between flex flex-col",children:[s.jsxDEV(lo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:60,columnNumber:9},this),s.jsxDEV(B.AnimatePresence,{mode:"wait",children:e?s.jsxDEV(te,{className:"flex flex-col items-center justify-center w-full flex-1",children:s.jsxDEV(co,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:67,columnNumber:15},this)},"loading",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:63,columnNumber:13},this):s.jsxDEV(te,{className:"flex items-start h-full flex-1 overflow-auto",snapExit:!0,children:[s.jsxDEV("div",{...O("chat/main/root"),className:V("flex flex-col h-full overflow-auto transition-all",o?"w-2/5":"w-full"),style:{transitionTimingFunction:i.screens.chat.withCanvas.transitionTimingFunction,transitionDuration:i.screens.chat.withCanvas.transitionDuration},children:[r?s.jsxDEV(Gc,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:89,columnNumber:38},this):s.jsxDEV(Hm,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:89,columnNumber:58},this),s.jsxDEV(Wm,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:90,columnNumber:17},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:76,columnNumber:15},this),s.jsxDEV("div",{...O("chat/canvas/root"),className:V("h-full overflow-auto transition-all",o?"w-3/5":"w-0"),style:{transitionTimingFunction:i.screens.chat.withCanvas.transitionTimingFunction,transitionDuration:i.screens.chat.withCanvas.transitionDuration},children:s.jsxDEV(Yc,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:105,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:92,columnNumber:15},this)]},a,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:70,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:61,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:59,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/chat/index.tsx",lineNumber:49,columnNumber:5},this)}function Um({className:e,...t}){return s.jsxDEV("div",{className:V("animate-pulse rounded-md bg-secondary",e),...t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/skeleton.tsx",lineNumber:9,columnNumber:5},this)}function qm({className:e}){return s.jsxDEV("svg",{width:"26",height:"32",viewBox:"0 0 26 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:V("text-primary-foreground",e),children:s.jsxDEV("path",{d:"M1.34103 25.6132H5.44245C5.74203 25.6228 6.02673 25.7462 6.23867 25.9582C6.45062 26.1703 6.5739 26.4551 6.58348 26.7548V30.8584C6.59305 31.1581 6.71634 31.443 6.92828 31.655C7.14023 31.8671 7.42492 31.9904 7.7245 32H18.2894C18.589 31.9904 18.8737 31.8671 19.0856 31.655C19.2976 31.443 19.4209 31.1581 19.4304 30.8584V26.7548C19.4401 26.4545 19.5638 26.1692 19.7765 25.957C19.9892 25.7449 20.2748 25.6219 20.5749 25.6132H24.659C24.9586 25.6036 25.2433 25.4803 25.4552 25.2682C25.6671 25.0562 25.7904 24.7713 25.8 24.4716V7.52839C25.7904 7.22865 25.6671 6.94381 25.4552 6.73176C25.2433 6.5197 24.9586 6.39635 24.659 6.38677H20.561C20.2603 6.37802 19.9742 6.25457 19.7614 6.04169C19.5487 5.82881 19.4253 5.54261 19.4165 5.24168V1.14161C19.4072 0.84419 19.2858 0.561291 19.0768 0.349589C18.8678 0.137887 18.5865 0.0130193 18.2894 0L7.7245 0C7.42492 0.00957792 7.14023 0.132929 6.92828 0.344983C6.71634 0.557036 6.59305 0.841878 6.58348 1.14161V5.24168C6.57477 5.54203 6.45187 5.82773 6.23983 6.04052C6.0278 6.25331 5.74262 6.37715 5.44245 6.38677H1.34103C1.04144 6.39635 0.756749 6.5197 0.544805 6.73176C0.332861 6.94381 0.209574 7.22865 0.200001 7.52839V24.4716C0.209574 24.7713 0.332861 25.0562 0.544805 25.2682C0.756749 25.4803 1.04144 25.6036 1.34103 25.6132ZM6.58348 24.4716V7.52839C6.59305 7.22865 6.71634 6.94381 6.92828 6.73176C7.14023 6.5197 7.42492 6.39635 7.7245 6.38677H18.2894C18.589 6.39635 18.8737 6.5197 19.0856 6.73176C19.2976 6.94381 19.4209 7.22865 19.4304 7.52839V24.4716C19.4209 24.7713 19.2976 25.0562 19.0856 25.2682C18.8737 25.4803 18.589 25.6036 18.2894 25.6132H7.7245C7.42492 25.6036 7.14023 25.4803 6.92828 25.2682C6.71634 25.0562 6.59305 24.7713 6.58348 24.4716Z",fill:"currentColor"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/svg/OpenLogoSvg.tsx",lineNumber:14,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/svg/OpenLogoSvg.tsx",lineNumber:6,columnNumber:5},this)}function zo({className:e}){const{token:t}=k.useConfig();return s.jsxDEV("div",{className:V("flex items-center justify-center gap-2 p-2 pt-0",e),children:s.jsxDEV(Se,{children:s.jsxDEV("a",{href:`https://open.cx/?ref=${t}`,target:"_blank",rel:"noreferrer",className:V("text-[10px] flex items-center","text-muted-foreground/70 [&_svg]:text-muted-foreground/70","hover:text-primary [&_svg]:hover:text-primary"),children:[s.jsxDEV("span",{children:"Powered by"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:28,columnNumber:11},this),s.jsxDEV("span",{children:" "},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:29,columnNumber:11},this),s.jsxDEV("span",{className:"flex items-center gap-[1px]",children:[s.jsxDEV("span",{children:s.jsxDEV(qm,{className:"size-3 inline-block"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:32,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:31,columnNumber:13},this),s.jsxDEV("span",{className:"font-semibold",children:"open"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:34,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:30,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:18,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:17,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/PoweredByOpen.tsx",lineNumber:11,columnNumber:5},this)}function Gm({children:e}){return s.jsxDEV("p",{className:"ps-4 text-xs text-muted-foreground/75 uppercase font-semibold tracking-tight",children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:34,columnNumber:5},this)}function Ws({session:e,className:t}){const{humanAgent:r}=k.useConfig(),n=k.useBot(),{toChatScreen:o}=k.useWidgetRouter(),i=e.assignee.kind==="human"?(r==null?void 0:r.name)||e.assignee.name||"Support Agent":n.name,a=e.assignee.kind==="human"?(r==null?void 0:r.avatarUrl)||e.assignee.avatarUrl||"":n.avatarUrl||n.avatar||"";return s.jsxDEV(se,{variant:"ghost",size:"lg",className:V("rounded-full p-2 pe-4 flex text-start justify-between w-full whitespace-normal",t),onClick:()=>o(e.id),children:[s.jsxDEV("div",{className:"flex-1 flex gap-2 items-center min-w-0",children:[s.jsxDEV(B.AnimatePresence,{mode:"wait",children:s.jsxDEV(te,{snapExit:!0,children:s.jsxDEV(Ir,{className:"size-10",children:[s.jsxDEV(Ar,{src:a,alt:"Agent Icon"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:74,columnNumber:15},this),s.jsxDEV(Mr,{children:s.jsxDEV(A.UserRoundIcon,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:76,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:75,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:73,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:72,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:71,columnNumber:9},this),s.jsxDEV("div",{className:"flex-1 min-w-0",children:[s.jsxDEV(B.AnimatePresence,{mode:"wait",children:s.jsxDEV(te,{snapExit:!0,children:i},i,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:83,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:82,columnNumber:11},this),s.jsxDEV(B.AnimatePresence,{mode:"wait",children:e.lastMessage?s.jsxDEV(te,{snapExit:!0,children:s.jsxDEV(Jn,{remarkPlugins:[rn],rehypePlugins:[sn],className:"line-clamp-1 overflow-hidden text-ellipsis text-xs text-muted-foreground",children:e.lastMessage},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:90,columnNumber:17},this)},e.lastMessage||"content",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:89,columnNumber:15},this):s.jsxDEV(te,{className:"w-1/2",snapExit:!0,children:s.jsxDEV(Um,{className:"h-4 w-full"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:101,columnNumber:17},this)},"skeleton",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:100,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:87,columnNumber:11},this),s.jsxDEV(B.AnimatePresence,{mode:"wait",children:e.customStatus&&s.jsxDEV(te,{className:"mt-1",snapExit:!0,children:s.jsxDEV(wo,{customStatus:e.customStatus},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:112,columnNumber:17},this)},e.customStatus.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:107,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:105,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:81,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:70,columnNumber:7},this),s.jsxDEV(A.ChevronRightIcon,{className:"size-4 text-muted-foreground shrink-0 rtl:-scale-100"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:118,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:61,columnNumber:5},this)}function Ym(){const{t:e}=ee(),{toChatScreen:t}=k.useWidgetRouter(),{sessionsState:{data:r,isInitialFetchLoading:n},openSessions:o,closedSessions:i,canCreateNewSession:a}=k.useSessions();return s.jsxDEV("div",{...O("sessions/list"),className:"flex-1 flex flex-col overflow-scroll py-2 px-2",children:s.jsxDEV(B.AnimatePresence,{mode:"wait",children:n?s.jsxDEV(te,{className:"flex-1 flex items-center justify-center",children:s.jsxDEV(co,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:144,columnNumber:13},this)},"loading",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:140,columnNumber:11},this):s.jsxDEV(te,{className:"flex-1 flex flex-col gap-2 relative",children:r.length?s.jsxDEV(s.Fragment,{children:[s.jsxDEV(B.AnimatePresence,{children:[o.length>0&&s.jsxDEV(te,{fadeIn:"up",delay:.2,className:"space-y-2",snapExit:!0,children:o.map(l=>s.jsxDEV(Ws,{session:l},l.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:163,columnNumber:25},this))},"open-sessions",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:155,columnNumber:21},this),i.length>0&&s.jsxDEV(te,{className:"space-y-2",delay:.2,snapExit:!0,children:[s.jsxDEV(Gm,{children:e("closed_conversations")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:175,columnNumber:23},this),i.map(l=>s.jsxDEV(Ws,{session:l,className:"opacity-50 hover:opacity-100"},l.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:177,columnNumber:25},this))]},"closed-sessions",!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:169,columnNumber:21},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:153,columnNumber:17},this),a&&s.jsxDEV("div",{className:"mt-auto w-full rounded-3xl sticky bottom-0 outline outline-8 outline-background bg-background",children:c.createElement(se,{...O("sessions/new_conversation_btn"),size:"lg",key:"new-session",className:"w-full",onClick:()=>t()},e("new_conversation"))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:188,columnNumber:19},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:152,columnNumber:15},this):s.jsxDEV("div",{className:"flex-1 flex flex-col gap-2 items-center",children:[s.jsxDEV("div",{className:"flex-1 flex items-center justify-center",children:s.jsxDEV("p",{className:"text-muted-foreground",children:e("no_conversations_yet")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:204,columnNumber:19},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:203,columnNumber:17},this),c.createElement(se,{...O("sessions/new_conversation_btn"),size:"lg",key:"new-session",className:"w-full",onClick:()=>t()},e("new_conversation"))]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:202,columnNumber:15},this)},"sessions",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:147,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:138,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:134,columnNumber:5},this)}function Xm(){const{theme:e}=he();return Rr({width:e.screens.sessions.width,height:e.screens.sessions.height}),s.jsxDEV("div",{...O("sessions/root"),className:V("flex flex-col overflow-hidden bg-background"),style:{width:"100vw",maxWidth:"100vw",height:"100vh",maxHeight:"100vh"},children:s.jsxDEV("div",{className:"size-full flex flex-col",children:[s.jsxDEV(lo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:245,columnNumber:9},this),s.jsxDEV(Ym,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:246,columnNumber:9},this),s.jsxDEV(zo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:247,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:244,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/sessions/index.tsx",lineNumber:234,columnNumber:5},this)}const Ft=Ue.forwardRef(({className:e,type:t,...r},n)=>{const{isSmallScreen:o}=De();return s.jsxDEV("input",{ref:n,type:t,className:V(o?"text-[16px]":"text-sm","flex w-full rounded-xl p-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-primary-foreground placeholder:text-muted-foreground/75 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition","rounded-2xl px-4","border shadow-sm",e),...r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/lib/input.tsx",lineNumber:12,columnNumber:7},void 0)});Ft.displayName="Input";function Zm(){const{contentIframeRef:e}=k.useWidget(),{inline:t}=k.useConfig(),r=c.useRef(null);return c.useEffect(()=>{const n=e==null?void 0:e.current;if(n&&r.current){const o=r.current;let i;const a=new ResizeObserver(()=>{i=requestAnimationFrame(()=>{const l=o.offsetHeight;n.style.setProperty("--opencx-widget-height",t?"100%":`${l.toFixed(1)}px`)})});return a.observe(o),()=>{cancelAnimationFrame(i),a.unobserve(o)}}},[e,t]),{observedElementRef:r}}const Km=h.z.object({name:h.z.string().min(2),email:h.z.string().email()});function Jm(){var v,P,x,S,b,w,D,z;const{widgetCtx:{org:e}}=k.useWidget(),{setIsOpen:t}=k.useWidgetTrigger(),{createUnverifiedContact:r}=k.useContact(),{isSmallScreen:n}=De(),o=k.useConfig(),{theme:i}=he(),{t:a}=ee(),{observedElementRef:l}=Zm();Rr({height:void 0,width:i.screens.welcome.width});const[m,u]=c.useState(((v=o.prefillUserData)==null?void 0:v.name)||""),[p,d]=c.useState(((P=o.prefillUserData)==null?void 0:P.email)||""),f=(o.extraDataCollectionFields||[]).filter(M=>M!=="name"&&M!=="email"&&!!M),[g,N]=c.useState({}),[y,E]=ca(async M=>{M.preventDefault();const _=Km.safeParse({name:m,email:p});_.success&&await r({email:_.data.email,non_verified_name:_.data.name},Object.values(g).filter(Boolean).length?g:void 0)},[m,p,g]);return s.jsxDEV("div",{style:{width:"100vw",maxWidth:"100vw",minHeight:i.screens.welcome.minHeight,height:"100vh",maxHeight:"100vh",overflowY:"auto"},children:s.jsxDEV("div",{ref:l,className:V("flex flex-col",n&&"h-full","bg-[radial-gradient(ellipse_at_top_left,hsl(var(--opencx-primary)),transparent),radial-gradient(ellipse_at_top_right,hsl(var(--opencx-primary)),transparent)]"),children:[s.jsxDEV("div",{className:V("flex-1 flex flex-col px-4 py-12 text-start space-y-4 relative z-10","text-primary-foreground"),children:[n&&s.jsxDEV(te,{className:"absolute top-6 end-6",children:s.jsxDEV(se,{size:"selfless",onClick:()=>t(!1),children:s.jsxDEV(A.XIcon,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:102,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:101,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:100,columnNumber:13},this),s.jsxDEV("div",{className:"flex items-center justify-between w-full mb-2",children:(x=o.assets)!=null&&x.organizationLogo?s.jsxDEV("img",{src:(S=o.assets)==null?void 0:S.organizationLogo,alt:"Company Logo",className:"h-8 w-auto object-contain"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:109,columnNumber:15},this):s.jsxDEV("h2",{className:"font-bold text-sm",children:e.name},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:115,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:107,columnNumber:11},this),s.jsxDEV("div",{className:"space-y-2",children:[s.jsxDEV("h1",{className:"text-[1.75rem] font-semibold tracking-tight leading-none",children:((w=(b=o.textContent)==null?void 0:b.welcomeScreen)==null?void 0:w.title)||a("welcome_screen_title")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:119,columnNumber:13},this),s.jsxDEV("p",{className:"text-sm",children:((z=(D=o.textContent)==null?void 0:D.welcomeScreen)==null?void 0:z.description)||a("welcome_screen_description")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:124,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:118,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:93,columnNumber:9},this),s.jsxDEV("div",{className:V("z-10 m-2 px-2 pt-2 bp-0 space-y-2","bg-[white]","border shadow","rounded-3xl"),children:[s.jsxDEV("form",{onSubmit:E,className:"space-y-2",children:[s.jsxDEV(Ft,{value:m,onChange:M=>u(M.target.value),required:!0,placeholder:a("your_name_placeholder"),name:"name"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:140,columnNumber:13},this),s.jsxDEV(Ft,{required:!0,value:p,onChange:M=>d(M.target.value),type:"email",placeholder:a("your_email_placeholder"),name:"email"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:147,columnNumber:13},this),f.map(M=>s.jsxDEV(Ft,{value:g[M],onChange:_=>N(C=>({...C,[M]:_.target.value})),placeholder:`${M} (${a("optional")})`},M,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:156,columnNumber:15},this)),s.jsxDEV(se,{disabled:y.loading,className:"w-full",size:"lg",children:[y.loading?a("start_chat_button_loading"):a("start_chat_button"),s.jsxDEV(A.SendHorizontal,{className:"size-4 rtl:-scale-100"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:177,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:169,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:139,columnNumber:11},this),s.jsxDEV(zo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:181,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:131,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:85,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/welcome/index.tsx",lineNumber:75,columnNumber:5},this)}function Xr(){const{routerState:{screen:e}}=k.useWidgetRouter();return s.jsxDEV("div",{className:"relative bg-background size-full",children:s.jsxDEV(B.AnimatePresence,{mode:"wait",children:(()=>{switch(e){case"welcome":return s.jsxDEV(te,{fadeIn:"right",className:"size-full",snapExit:!0,children:s.jsxDEV(Jm,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/index.tsx",lineNumber:28,columnNumber:19},this)},e,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/index.tsx",lineNumber:22,columnNumber:17},this);case"sessions":return s.jsxDEV(te,{fadeIn:"right",className:"size-full",snapExit:!0,children:s.jsxDEV(Xm,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/index.tsx",lineNumber:40,columnNumber:19},this)},e,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/index.tsx",lineNumber:34,columnNumber:17},this);case"chat":return s.jsxDEV(te,{fadeIn:"right",className:"size-full",snapExit:!0,children:s.jsxDEV(Bm,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/index.tsx",lineNumber:52,columnNumber:19},this)},e,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/index.tsx",lineNumber:46,columnNumber:17},this);default:return Q.isExhaustive(e,Xr.name),null}})()},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/index.tsx",lineNumber:17,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/screens/index.tsx",lineNumber:16,columnNumber:5},this)}const Qm=zr();function To(){const{isOpen:e}=k.useWidgetTrigger(),{contentIframeRef:t}=k.useWidget(),{inline:r}=k.useConfig(),{theme:n,computed:o}=he();return s.jsxDEV(B.motion.div,{animate:e?"visible":"hidden",initial:"hidden",style:{transformOrigin:r?void 0:"bottom right"},variants:{hidden:{opacity:0,scale:r?1:.9,y:8,transitionEnd:{display:"none"},transition:ct},visible:{opacity:1,scale:1,y:0,display:"block",height:r?"100%":void 0,transition:{...ct,height:{duration:0}}}},children:s.jsxDEV(nn,{ref:t,initialContent:Qm,allowFullScreen:!0,title:so,style:{"--opencx-widget-width":o.minWidth,"--opencx-widget-height":o.minHeight,minWidth:o.minWidth,width:"var(--opencx-widget-width)",maxWidth:o.maxWidth,minHeight:o.minHeight,height:"var(--opencx-widget-height)",maxHeight:o.maxHeight,overflow:"hidden",outline:n.widgetContentContainer.outline,outlineColor:n.widgetContentContainer.outlineColor,borderRadius:n.widgetContentContainer.borderRadius,boxShadow:n.widgetContentContainer.boxShadow,transitionProperty:n.widgetContentContainer.transitionProperty,transitionTimingFunction:n.widgetContentContainer.transitionTimingFunction,transitionDuration:n.widgetContentContainer.transitionDuration,boxSizing:"border-box",borderWidth:"0px"},children:s.jsxDEV(Tr,{style:{zIndex:n.widgetContentContainer.zIndex},children:s.jsxDEV(Xr,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverContent.tsx",lineNumber:94,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverContent.tsx",lineNumber:93,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverContent.tsx",lineNumber:59,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverContent.tsx",lineNumber:29,columnNumber:5},this)}function eu(){const{theme:e,triggerSide:t}=he(),{dir:r}=k.useDocumentDir(),n=(r==="rtl"?t==="left":t==="right")?"end":"start";return s.jsxDEV(We.Content,{onInteractOutside:o=>o.preventDefault(),forceMount:!0,style:{zIndex:e.widgetContentContainer.zIndex,fontSize:"16px"},side:"top",align:n,"aria-modal":"false","aria-label":"Support chat",sideOffset:e.widgetContentContainer.offset.side,alignOffset:e.widgetContentContainer.offset.align,avoidCollisions:!1,children:s.jsxDEV(To,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverContent.tsx",lineNumber:132,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverContent.tsx",lineNumber:116,columnNumber:5},this)}function tu({className:e,style:t}){return s.jsxDEV("svg",{width:"32",height:"30",viewBox:"0 0 32 30",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:V("text-primary-foreground",e),style:t,children:[s.jsxDEV("path",{d:"M0 6.94263C0 3.62892 2.68629 0.942627 6 0.942627H26C29.3137 0.942627 32 3.62892 32 6.94263V17.9426C32 21.2563 29.3137 23.9426 26 23.9426H6C2.68629 23.9426 0 21.2563 0 17.9426V6.94263Z",fill:"currentColor"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/svg/ChatBubbleSvg.tsx",lineNumber:21,columnNumber:7},this),s.jsxDEV("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M19.9945 23.8935L26.237 23.8934C26.1982 24.3557 26.1712 25.2778 26.1704 26.2318C26.1688 28.2839 26.1376 28.7041 25.974 28.868C25.583 29.2598 25.2686 29.0967 24.0616 27.8754C23.4162 27.2222 22.1141 25.9522 21.1682 25.0531L19.9945 23.8935Z",fill:"currentColor"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/svg/ChatBubbleSvg.tsx",lineNumber:25,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/svg/ChatBubbleSvg.tsx",lineNumber:12,columnNumber:5},this)}function Ro(){var t;const{accessibility:e}=k.useConfig();return((t=e==null?void 0:e.widgetTriggerButton)==null?void 0:t.label)??"Chat with us"}function Oo(e,t,r){return e({react:c,isOpen:t,setIsOpen:n=>r(n)})}const ru=zr();function su(){var a,l;const{isOpen:e,setIsOpen:t}=k.useWidgetTrigger(),{assets:r,customComponents:n}=k.useConfig(),{theme:o}=he(),i=Ro();return n!=null&&n.widgetTrigger?Oo(n.widgetTrigger,e,t):s.jsxDEV(nn,{initialContent:ru,title:"OpenCX Live Chat Trigger",style:{height:`calc(${o.widgetTrigger.size.button}px + ${lt.x*2}px)`,width:`calc(${o.widgetTrigger.size.button}px + ${lt.y*2}px)`,fontSize:"16px",position:"fixed",zIndex:o.widgetTrigger.zIndex,right:o.widgetTrigger.offset.right,bottom:o.widgetTrigger.offset.bottom,left:o.widgetTrigger.offset.left,boxSizing:"border-box",borderWidth:"0px",borderRadius:"100%"},children:s.jsxDEV(Tr,{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:s.jsxDEV(We.PopoverTrigger,{"aria-label":i,title:i,className:V("font-sans flex items-center justify-center rounded-full"),style:{height:o.widgetTrigger.size.button,width:o.widgetTrigger.size.button},children:s.jsxDEV(Se,{children:s.jsxDEV("div",{...O("trigger/btn"),className:V("relative size-full rounded-full","flex items-center justify-center","overflow-hidden","transition-all","bg-primary","text-primary-foreground"),children:s.jsxDEV(B.AnimatePresence,{mode:"wait",children:e?s.jsxDEV(te,{snapExit:!0,fadeIn:"up",overrides:{initial:{rotate:45},animate:{rotate:0}},children:(a=r==null?void 0:r.widgetTrigger)!=null&&a.closeIcon?s.jsxDEV("img",{src:r.widgetTrigger.closeIcon,alt:"Widget trigger close icon",style:{width:o.widgetTrigger.size.icon,height:o.widgetTrigger.size.icon}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:98,columnNumber:23},this):s.jsxDEV(A.ChevronDownIcon,{style:{width:o.widgetTrigger.size.icon,height:o.widgetTrigger.size.icon}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:107,columnNumber:23},this)},"x-icon",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:88,columnNumber:19},this):s.jsxDEV(te,{snapExit:!0,overrides:{initial:{rotate:45},animate:{rotate:0}},children:(l=r==null?void 0:r.widgetTrigger)!=null&&l.openIcon?s.jsxDEV("img",{src:r.widgetTrigger.openIcon,alt:"Widget trigger open icon",style:{width:o.widgetTrigger.size.icon,height:o.widgetTrigger.size.icon}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:125,columnNumber:23},this):s.jsxDEV(tu,{style:{width:o.widgetTrigger.size.icon,height:o.widgetTrigger.size.icon},className:"mt-0.5 opacity-95"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:134,columnNumber:23},this)},"message-icon",!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:116,columnNumber:19},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:86,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:75,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:74,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:63,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:56,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverTrigger.tsx",lineNumber:35,columnNumber:5},this)}function nu(){const{triggerSide:e}=he();return s.jsxDEV(We.Anchor,{style:{position:"fixed",bottom:0,right:e==="right"?0:void 0,left:e==="left"?0:void 0}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/WidgetPopoverAnchor.tsx",lineNumber:9,columnNumber:5},this)}function Ye(e,t,r){return Math.min(Math.max(e,t),r)}const kr=16,Ce=16,bt=32,ou=44,au=240,iu=440,$o=32,lu=280,cu=420,mu=640,uu=48,or=12,Zr=400,Lo=320,pu=560,du="#f4f4f5",Fo=120,Wo=Lo+Fo+Ce*3,He={pill:999,input:16,fullscreen:16,sidebar:20,compact:20};function Kr(e,t){if(e.width<=Wo)return Math.max(0,e.width-Ce*2);const r=e.width-Fo-Ce*3;return Math.max(0,Math.min(t,r))}function at(e,t,r=0){return typeof e=="number"&&Number.isFinite(e)?Math.max(r,e):t}function Ho(e,t={}){const r=Math.max(0,e.width),n=at(t.maxWidth,iu),o=Math.min(n,at(t.minWidth,lu));return Math.min(r,n,Math.max(o,r-$o))}function fu(e,t,r={}){const n=Math.max(0,e.height),o=at(r.minHeight,cu),i=at(r.maxHeight,mu,o),a=Math.min(1,at(r.viewportHeightRatio,.65)),l=Math.max(0,n-Math.max(0,t)-uu);return Math.min(i,l,Math.max(o,n*a))}function hu(e){const{layout:t,region:r,sidebarWidth:n,bottomOffset:o,compact:i}=e;return t==="fullscreen"?{width:Math.max(0,r.width-kr*2),height:Math.max(0,r.height-kr*2),borderRadius:He.fullscreen}:t==="sidebar"?{width:Kr(r,n),height:Math.max(0,r.height-Ce*2),borderRadius:He.sidebar}:{width:Ho(r,i),height:fu(r,o,i),borderRadius:at(i==null?void 0:i.borderRadius,He.compact)}}function gu(e){const{isChatOpen:t,layout:r,region:n,sidebarWidth:o,sidebarSide:i,bottomOffset:a}=e,l=t?r:"compact",m=Kr(n,o),u=l==="fullscreen"?kr:l==="sidebar"?Ce:a;return{centerX:l==="sidebar"?i==="left"?Ce+m/2:n.width-Ce-m/2:n.width/2,bottom:u}}const Ne="[data-companion-root]",bu=`
130
+ ${Ne} [data-component="chat/msgs/root"] {
131
+ overflow-x: hidden !important;
132
+ }
133
+ ${Ne} [data-component="chat/agent_msg_group/root"],
134
+ ${Ne} [data-component="chat/agent_msg_group/avatar_and_msgs/root"],
135
+ ${Ne} [data-component="chat/agent_msg_group/avatar_and_msgs/msgs"] {
136
+ min-width: 0 !important;
137
+ max-width: 100% !important;
138
+ }
139
+ ${Ne} [data-component="chat/agent_msg/msg"] {
140
+ background: transparent !important;
141
+ padding: 2px 0 !important;
142
+ border-radius: 0 !important;
143
+ max-width: 100% !important;
144
+ min-width: 0 !important;
145
+ overflow-wrap: break-word !important;
146
+ }
147
+ ${Ne} [data-component="chat/agent_msg/msg"] table {
148
+ display: block;
149
+ max-width: 100%;
150
+ overflow-x: auto;
151
+ border-collapse: collapse;
152
+ }
153
+ ${Ne} [data-component="chat/agent_msg/msg"] th,
154
+ ${Ne} [data-component="chat/agent_msg/msg"] td {
155
+ overflow-wrap: normal;
156
+ word-break: normal;
157
+ white-space: normal;
158
+ vertical-align: top;
159
+ text-align: start;
160
+ padding: 4px 10px 4px 0;
161
+ border-bottom: 1px solid hsl(var(--opencx-border));
162
+ }
163
+ ${Ne} [data-component="chat/agent_msg_group/root/avatar"],
164
+ ${Ne} [data-component="chat/agent_msg_group/avatar_and_msgs/avatar"] {
165
+ display: none !important;
166
+ }
167
+ ${Ne} [data-component="chat/user_msg/msg"] {
168
+ background: hsl(var(--opencx-secondary)) !important;
169
+ color: hsl(var(--opencx-secondary-foreground)) !important;
170
+ padding: 8px 12px !important;
171
+ border-radius: 10px !important;
172
+ }
173
+ `,Bo=c.forwardRef(function({label:t,className:r,...n},o){return s.jsxDEV("button",{ref:o,type:"button","aria-label":t,...n,className:V("flex shrink-0 items-center justify-center rounded-lg","text-secondary-foreground/60 hover:text-secondary-foreground hover:bg-muted","active:scale-[0.97] transition-[background-color,color,transform] duration-150 ease-out",r)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/FrameIconButton.tsx",lineNumber:21,columnNumber:5},this)});function Hs({layout:e,sidebarSide:t}){const r={width:18,height:18,viewBox:"0 0 18 18",fill:"none","aria-hidden":!0},n=s.jsxDEV("rect",{x:2,y:2.5,width:14,height:13,rx:2.5,stroke:"currentColor",strokeWidth:1.4},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:25,columnNumber:5},this);return e==="fullscreen"?s.jsxDEV("svg",{...r,children:[n,s.jsxDEV("rect",{x:4.5,y:5,width:9,height:8,rx:1.4,fill:"currentColor"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:42,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:40,columnNumber:7},this):e==="sidebar"?s.jsxDEV("svg",{...r,children:[n,s.jsxDEV("rect",{x:t==="left"?2:10.5,y:2.5,width:5.5,height:13,rx:2.5,fill:"currentColor"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:51,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:49,columnNumber:7},this):s.jsxDEV("svg",{...r,children:[n,s.jsxDEV("rect",{x:5,y:9,width:8,height:4.5,rx:1.6,fill:"currentColor"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:66,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:64,columnNumber:5},this)}function wu({side:e}){return s.jsxDEV("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none","aria-hidden":!0,children:[s.jsxDEV("rect",{x:1,y:2,width:12,height:10,rx:2,stroke:"currentColor",strokeWidth:1.2,opacity:.5},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:85,columnNumber:7},this),s.jsxDEV("rect",{x:e==="left"?1:8.5,y:2,width:4.5,height:10,rx:2,fill:"currentColor"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:95,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/layout-glyphs.tsx",lineNumber:78,columnNumber:5},this)}function xu({anchored:e,side:t,onSelectSide:r,docked:n,onToggleDock:o}){const{t:i}=ee();return s.jsxDEV(B.motion.div,{...O("companion/layout_picker/sidebar_options"),initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.96},transition:{duration:.18,ease:St},style:e?{left:"50%",x:"-50%"}:void 0,className:V("origin-top",e&&"absolute top-full z-10 pt-3"),children:s.jsxDEV("div",{className:V("flex flex-col gap-1.5 whitespace-nowrap",e&&"rounded-[var(--pk-r)] border bg-background p-[var(--pk-p)] shadow-lg"),children:[s.jsxDEV(Bs,{label:i("companion_sidebar_dock_label"),children:s.jsxDEV(vu,{label:i("companion_sidebar_dock_label"),checked:n,onToggle:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:59,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:58,columnNumber:9},this),s.jsxDEV(Bs,{label:i("companion_sidebar_side_label"),children:s.jsxDEV(Nu,{label:i("companion_sidebar_side_label"),side:t,onSelect:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:66,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:65,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:51,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:36,columnNumber:5},this)}function Bs({label:e,children:t}){return s.jsxDEV("div",{className:"flex items-center justify-between gap-4 ps-1.5",children:[s.jsxDEV("span",{"aria-hidden":!0,className:"text-[11px] font-medium leading-none text-secondary-foreground/70",children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:87,columnNumber:7},this),t]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:86,columnNumber:5},this)}function vu({label:e,checked:t,onToggle:r}){return s.jsxDEV("button",{...O("companion/layout_picker/sidebar_option"),type:"button",role:"switch","aria-checked":t,"aria-label":e,onClick:r,className:V("relative flex h-4 w-7 shrink-0 items-center rounded-full px-0.5","transition-colors duration-150","active:scale-[0.97]",t?"bg-primary":"bg-secondary-foreground/20"),children:s.jsxDEV(B.motion.span,{"aria-hidden":!0,initial:!1,animate:{x:t?12:0},transition:ct,className:"size-3 rounded-full bg-background shadow-sm"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:127,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:113,columnNumber:5},this)}function Nu({label:e,side:t,onSelect:r}){const{t:n}=ee(),o=[{value:"left",labelKey:"companion_sidebar_left"},{value:"right",labelKey:"companion_sidebar_right"}];return s.jsxDEV("div",{role:"radiogroup","aria-label":e,className:"flex items-center gap-0.5 rounded-full bg-secondary-foreground/10 p-0.5",children:o.map(({value:i,labelKey:a})=>{const l=i===t;return s.jsxDEV("button",{...O("companion/layout_picker/sidebar_option"),type:"button",role:"radio","aria-checked":l,"aria-label":n(a),onClick:()=>r(i),className:V("relative flex items-center justify-center rounded-full p-1","transition-colors duration-150","active:scale-[0.97]",l?"text-primary":"text-secondary-foreground/60"),children:[l&&s.jsxDEV(B.motion.span,{"aria-hidden":!0,layoutId:"opencx-sidebar-side-indicator",transition:ct,className:"absolute inset-0 rounded-full bg-background shadow-sm"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:184,columnNumber:15},this),s.jsxDEV("span",{className:"relative",children:s.jsxDEV(wu,{side:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:192,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:191,columnNumber:13},this)]},i,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:166,columnNumber:11},this)})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SidebarSubmenu.tsx",lineNumber:158,columnNumber:5},this)}const yu={compact:"companion_layout_floating",sidebar:"companion_layout_sidebar",fullscreen:"companion_layout_fullscreen"};function ku(e){try{return e.matches(":focus-visible")}catch{return!0}}function Eu({current:e,onSelect:t}){const{t:r}=ee(),{allowedLayouts:n,sidebarSide:o,setSidebarSide:i,sidebarMode:a,setSidebarMode:l}=k.useWidgetLayout(),[m,u]=c.useState(!1),p=$r(),d=n.map(v=>({layout:v,label:yu[v]})),f=d.length>=2,g=n.includes("sidebar");if(!f&&!g)return null;const N=g&&(f?p?m:e==="sidebar":!0),y=v=>{v(),e!=="sidebar"&&t("sidebar")},E=s.jsxDEV(B.AnimatePresence,{initial:!1,children:N&&s.jsxDEV(xu,{anchored:f,side:o,onSelectSide:v=>y(()=>i(v)),docked:a==="docked",onToggleDock:()=>y(()=>l(a==="docked"?"floating":"docked"))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:127,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:125,columnNumber:5},this);return s.jsxDEV(We.Root,{onOpenChange:()=>u(!1),children:[s.jsxDEV(je,{content:r("companion_layout_label"),side:"bottom",children:s.jsxDEV(We.Trigger,{asChild:!0,children:s.jsxDEV(Bo,{...O("companion/layout_picker/trigger"),label:r("companion_layout_label"),className:"size-7",children:s.jsxDEV(Hs,{layout:e,sidebarSide:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:153,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:148,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:147,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:146,columnNumber:7},this),s.jsxDEV(We.Content,{...O("companion/layout_picker/menu"),"data-opencx-escape-scope":"",side:"bottom",align:"end",sideOffset:6,collisionPadding:8,onPointerLeave:()=>u(!1),style:{"--pk-r":"16px","--pk-p":"6px"},className:V("z-50 flex flex-col rounded-[var(--pk-r)] border bg-background p-[var(--pk-p)] shadow-lg","origin-[var(--radix-popover-content-transform-origin)]","animate-in fade-in-0 zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"),children:f?s.jsxDEV("div",{className:"flex items-stretch gap-0.5",children:d.map(({layout:v,label:P})=>{const x=v===e,S=r(P),b=v==="sidebar",w=s.jsxDEV(We.Close,{asChild:!0,children:s.jsxDEV("button",{...O("companion/layout_picker/option"),type:"button","aria-label":S,"aria-pressed":x,"aria-expanded":b?N:void 0,onClick:()=>t(v),onPointerEnter:()=>u(b),onFocus:D=>u(b&&ku(D.currentTarget)),className:V("flex w-14 flex-col items-center gap-1 rounded-[calc(var(--pk-r)-var(--pk-p))] px-1.5 py-1.5","transition-colors duration-150",x?"bg-primary/10 text-primary":"text-secondary-foreground/60 hover:bg-muted hover:text-secondary-foreground"),children:[s.jsxDEV(Hs,{layout:v,sidebarSide:o},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:214,columnNumber:21},this),s.jsxDEV("span",{className:"whitespace-nowrap text-[10px] font-medium leading-none",children:S},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:215,columnNumber:21},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:186,columnNumber:19},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:185,columnNumber:17},this);return b?s.jsxDEV("div",{className:"relative flex",children:[w,E]},v,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:226,columnNumber:19},this):v!=="fullscreen"?s.jsxDEV(c.Fragment,{children:w},v,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:236,columnNumber:24},this):s.jsxDEV(je,{content:S,shortcut:Gr(Ve["toggle-fullscreen"]),side:"bottom",children:w},v,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:238,columnNumber:17},this)})},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:179,columnNumber:11},this):E},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:157,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/LayoutPicker.tsx",lineNumber:145,columnNumber:5},this)}function Cu({layout:e,onSelectLayout:t,onClose:r}){const{t:n}=ee();return s.jsxDEV("div",{...O("companion/controls/root"),className:"absolute top-2 z-10 flex items-center gap-1",style:{insetInlineEnd:8},children:[s.jsxDEV(Eu,{current:e,onSelect:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/PanelControls.tsx",lineNumber:34,columnNumber:7},this),s.jsxDEV(je,{content:n("companion_close"),shortcut:Gr(Ve["close-panel"]),side:"bottom",children:s.jsxDEV(Bo,{...O("companion/close_btn"),label:n("companion_close"),onClick:r,className:"size-7",children:s.jsxDEV(A.XIcon,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/PanelControls.tsx",lineNumber:46,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/PanelControls.tsx",lineNumber:40,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/PanelControls.tsx",lineNumber:35,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/PanelControls.tsx",lineNumber:29,columnNumber:5},this)}const ju="[data-opencx-escape-scope]";function Du(e){var r;const t=e.target;return((r=t==null?void 0:t.closest)==null?void 0:r.call(t,ju))!=null}function Su(e,{state:t,onToggleFullscreen:r}){e.defaultPrevented||t!=="chat"||Je(e,Ve["toggle-fullscreen"])&&(e.preventDefault(),r())}function Vu(e,{state:t,onDismiss:r,onToggleFullscreen:n}){if(!e.defaultPrevented){if(Je(e,Ve["close-panel"])){Du(e)||r();return}t==="chat"&&Je(e,Ve["toggle-fullscreen"])&&(e.preventDefault(),n())}}function Pu({panelLayout:e,previousLayout:t,defaultLayout:r,allowedLayouts:n}){if(e!=="fullscreen")return{kind:"close"};const o=[t,r];for(const a of o)if(a!=="fullscreen"&&n.includes(a))return{kind:"layout",layout:a};const i=n.find(a=>a!=="fullscreen");return i?{kind:"layout",layout:i}:{kind:"close"}}const Us=`
174
+ /* Quick-ask (resting) composer: the stock card is a two-row layout (textarea
175
+ over an attach/send row) wrapped in outer padding. In the companion pill it
176
+ reads as a single quick-ask bar, so drop the outer pad and lay the card out
177
+ on ONE row — textarea flex-fills, attach + send sit inline at the end.
178
+ Scoped to the quick-ask pane only; the full chat panel keeps the stock
179
+ two-row composer. */
180
+ [data-companion-input] [data-component="chat/input_box/root"] {
181
+ padding: 0 !important;
182
+ }
183
+ /* The attached-context tray is a FULL-composer affordance. In the one-row
184
+ quick-ask bar it stacks a second row and paints a second surface inside the
185
+ shell — a grey box with its own padding and radius sitting inside the white
186
+ pill, which is not what the resting bar is. Flatten the tray to a pure
187
+ pass-through here and hide its row; the entity still rides the send, and
188
+ the full chat panel (one rung up) is where you see and remove it. */
189
+ [data-companion-input] [data-component="chat/input_box/attached_context_tray"] {
190
+ padding: 0 !important;
191
+ background: transparent !important;
192
+ /* The root's space-y-1 puts a 4px top margin on the tray (its first sibling
193
+ is the hidden dropzone input); with the outer padding gone that margin
194
+ shows as a strip of shell background above the bar. */
195
+ margin-top: 0 !important;
196
+ }
197
+ [data-companion-input]
198
+ [data-component="chat/input_box/attached_context_tray"]
199
+ > *:not([data-component="chat/input_box/inner_root"]) {
200
+ display: none !important;
201
+ }
202
+ [data-companion-input] [data-component="chat/input_box/inner_root"] {
203
+ flex-direction: row !important;
204
+ align-items: center !important;
205
+ margin-top: 0 !important;
206
+ /* The stock card is rounded-3xl (24px), but the companion shell that frames
207
+ it clips at RADII.input in the resting-input state. A mismatch leaves the
208
+ shell's background token peeking out as a two-tone crescent at each
209
+ corner, so the card takes the shell radius via the custom property set on
210
+ the quick-ask pane — one clean rounded bar. */
211
+ border-radius: var(--opencx-companion-input-radius) !important;
212
+ }
213
+ [data-companion-input] [data-component="chat/input_box/textarea_and_attachments_container"] {
214
+ flex: 1 1 auto !important;
215
+ min-width: 0 !important;
216
+ }
217
+
218
+ /* Fullscreen reading column: the panel is a full-width window, but message
219
+ text across a 1900px panel wraps at ~200 characters. Cap the conversation
220
+ and composer to one centered column; the header and corner controls stay
221
+ full-width window chrome. The messages keep the cap as PADDING on the
222
+ scroll container so the scrollbar stays at the panel edge; the footer gets
223
+ a real max-width (+16px compensates the input card's own p-2) so the
224
+ composer card's edges land exactly on the message column's edges. */
225
+ [data-companion-root][data-layout="fullscreen"] [data-component="chat/msgs/root"] {
226
+ padding-inline: max(16px, calc((100% - var(--opencx-companion-content-max-width)) / 2)) !important;
227
+ }
228
+ [data-companion-root][data-layout="fullscreen"] [data-component="chat/main/root"] > footer {
229
+ width: 100%;
230
+ max-width: calc(var(--opencx-companion-content-max-width) + 16px);
231
+ margin-inline: auto;
232
+ }
233
+
234
+ /* Sessions (conversation history) gets the same reading column: cards and the
235
+ sticky new-conversation button stretch edge-to-edge otherwise. Padding (not
236
+ max-width) for the same reason as the messages — the list IS the scroll
237
+ container, so the scrollbar stays at the panel edge. */
238
+ [data-companion-root][data-layout="fullscreen"] [data-component="sessions/list"] {
239
+ padding-inline: max(16px, calc((100% - var(--opencx-companion-content-max-width)) / 2)) !important;
240
+ }
241
+ `;function _u({state:e,layout:t,shellRadius:r,onMinimize:n,onDismiss:o,onToggleFullscreen:i,onSelectLayout:a,onExpand:l,canExpand:m,placeholder:u,hideAttachTools:p,onInputHeightChange:d}){const{companion:f}=k.useConfig(),{t:g}=ee(),N=c.useRef(null),y=c.useRef(null),E=c.useRef(null),v=(f==null?void 0:f.bubbles)===!0?Us:Us+bu;return c.useEffect(()=>{var S;const P=(S=N.current)==null?void 0:S.ownerDocument;if(!P)return;function x(b){Vu(b,{state:e,onDismiss:o,onToggleFullscreen:i})}return P.addEventListener("keydown",x),()=>P.removeEventListener("keydown",x)},[o,i,e]),c.useLayoutEffect(()=>{var w;if(e!=="input")return;const P=y.current,x=(w=P==null?void 0:P.ownerDocument.defaultView)==null?void 0:w.ResizeObserver;if(!P||!x)return;const S=()=>d(P.offsetHeight);S();const b=new x(S);return b.observe(P),()=>b.disconnect()},[e,d]),c.useLayoutEffect(()=>{e!=="input"||m||ar(y.current)},[e,m]),c.useLayoutEffect(()=>{var S;if(e!=="chat"||ar(E.current))return;const P=(S=E.current)==null?void 0:S.ownerDocument.defaultView;if(!P)return;const x=P.requestAnimationFrame(()=>ar(E.current));return()=>P.cancelAnimationFrame(x)},[e]),s.jsxDEV(Tr,{overrides:v,rootRef:N,shellRadius:`${r}px`,children:e==="input"?s.jsxDEV("div",{ref:y,"data-companion-input":!0,style:{position:"absolute",left:0,right:0,bottom:0,"--opencx-companion-input-radius":`${He.input}px`},children:[s.jsxDEV(Wl,{children:s.jsxDEV(Mo,{hideAttachTools:p,placeholder:u},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionContent.tsx",lineNumber:248,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionContent.tsx",lineNumber:247,columnNumber:11},this),m?s.jsxDEV("button",{type:"button","aria-label":g("companion_expand_chat"),onClick:l,className:"absolute inset-0 z-10 cursor-pointer"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionContent.tsx",lineNumber:258,columnNumber:13},this):null]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionContent.tsx",lineNumber:231,columnNumber:9},this):s.jsxDEV("div",{ref:E,"data-companion-root":!0,"data-layout":t,style:{position:"absolute",inset:0,"--opencx-companion-content-max-width":(f==null?void 0:f.contentMaxWidth)??"48rem"},children:[s.jsxDEV(Xr,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionContent.tsx",lineNumber:281,columnNumber:11},this),s.jsxDEV(Cu,{layout:t,onSelectLayout:a,onClose:n},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionContent.tsx",lineNumber:285,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionContent.tsx",lineNumber:267,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionContent.tsx",lineNumber:214,columnNumber:5},this)}function ar(e){const t=e==null?void 0:e.querySelector("textarea");return t?(t.focus({preventScroll:!0}),!0):!1}function Iu({initialContent:e,style:t,iframeRef:r,children:n}){const[o,i]=c.useState(null),a=c.useCallback(l=>{if(r&&(r.current=l),!l)return;const m=l.contentDocument;m&&(m.open(),m.write(e),m.close(),i(m.body))},[]);return s.jsxDEV(s.Fragment,{children:[s.jsxDEV("iframe",{ref:a,title:so,style:t,allowFullScreen:!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionFrame.tsx",lineNumber:54,columnNumber:7},this),o&&kt.createPortal(n,o)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionFrame.tsx",lineNumber:53,columnNumber:5},this)}function Au({size:e,headColor:t,eyeColor:r}){const n=c.useRef(null),[o,i]=c.useState(!1),[a,l]=c.useState(!1),m=B.useReducedMotion(),u=B.useMotionValue(0),p=B.useMotionValue(0),d=B.useSpring(u,{stiffness:300,damping:30}),f=B.useSpring(p,{stiffness:300,damping:30}),g=B.useTransform(d,x=>8+x*1.2),N=B.useTransform(f,x=>11.5+x*1.2),y=B.useTransform(d,x=>16+x*1.2),E=B.useTransform(f,x=>11.5+x*1.2),v=c.useCallback(x=>{const S=n.current;if(!S)return;const b=S.getBoundingClientRect(),w=b.left+b.width/2,D=b.top+b.height/2,z=(x.clientX-w)/(b.width*2),M=(x.clientY-D)/(b.height*2),_=Math.min(Math.sqrt(z*z+M*M),1),C=Math.atan2(M,z);u.set(Math.cos(C)*_),p.set(Math.sin(C)*_)},[u,p]);c.useEffect(()=>(o&&!m?window.addEventListener("mousemove",v):(u.set(0),p.set(0)),()=>window.removeEventListener("mousemove",v)),[o,v,u,p,m]),c.useEffect(()=>{if(m)return;let x,S;function b(){clearTimeout(x),clearTimeout(S)}function w(){x=setTimeout(()=>{l(!0),S=setTimeout(()=>l(!1),150),w()},1200+Math.random()*1800)}function D(){b(),document.visibilityState==="visible"&&w()}return document.visibilityState==="visible"&&w(),document.addEventListener("visibilitychange",D),()=>{b(),document.removeEventListener("visibilitychange",D)}},[m]);const P=a?.15:1;return s.jsxDEV("svg",{ref:n,viewBox:"0 0 24 24",style:{width:e,height:e,flexShrink:0,display:"block"},"aria-hidden":!0,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[s.jsxDEV("circle",{cx:12,cy:12,r:11,fill:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionFaceIcon.tsx",lineNumber:115,columnNumber:7},this),s.jsxDEV("circle",{cx:8,cy:11.5,r:3.2,fill:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionFaceIcon.tsx",lineNumber:117,columnNumber:7},this),s.jsxDEV("circle",{cx:16,cy:11.5,r:3.2,fill:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionFaceIcon.tsx",lineNumber:118,columnNumber:7},this),s.jsxDEV(B.motion.circle,{cx:g,cy:N,r:1.4,fill:t,animate:{scaleY:P},style:{originX:"8px",originY:"11.5px"},transition:{duration:.08}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionFaceIcon.tsx",lineNumber:121,columnNumber:7},this),s.jsxDEV(B.motion.circle,{cx:y,cy:E,r:1.4,fill:t,animate:{scaleY:P},style:{originX:"16px",originY:"11.5px"},transition:{duration:.08}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionFaceIcon.tsx",lineNumber:132,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/CompanionFaceIcon.tsx",lineNumber:106,columnNumber:5},this)}function Mu({icon:e,pillBackground:t,size:r}){return e?s.jsxDEV("img",{src:e,alt:"",style:{width:r,height:r,objectFit:"cover",borderRadius:999,flexShrink:0}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:40,columnNumber:7},this):s.jsxDEV(Au,{size:r,headColor:t,eyeColor:"hsl(var(--opencx-primary-foreground))"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:54,columnNumber:5},this)}function zu(e){return{initial:!1,animate:{opacity:e?1:0},transition:{...ze,delay:e?.25:0}}}function Tu({visible:e,docked:t,label:r,icon:n,pillBackground:o,dir:i,measureRef:a,activeCount:l=0,countLabel:m,onOpenChats:u,pickerOpen:p=!1,working:d=!1,sessions:f}){const g=B.useReducedMotion();return s.jsxDEV(B.motion.div,{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",borderRadius:"inherit",overflow:"hidden",pointerEvents:"none",userSelect:"none",background:"hsl(var(--opencx-background))"},...zu(e),children:[e&&!t&&l>0&&s.jsxDEV("button",{type:"button","data-companion-count-trigger":"","aria-label":m,"aria-haspopup":"menu","aria-expanded":p,onClick:N=>{N.stopPropagation(),u==null||u(N.currentTarget,N.detail>0)},style:{position:"absolute",insetInlineStart:12,top:0,zIndex:2,width:24,height:24,padding:0,border:0,background:"transparent",pointerEvents:"auto",cursor:"pointer"},children:s.jsxDEV("span",{"aria-hidden":!0,style:{position:"absolute",insetInlineStart:6,top:0,width:14,height:14,display:"grid",placeItems:"center",borderRadius:999,background:"hsl(var(--opencx-background))",color:"hsl(var(--opencx-foreground))",font:"9px ui-sans-serif,system-ui,sans-serif",fontVariantNumeric:"tabular-nums"},children:[l,d&&s.jsxDEV(B.motion.span,{style:{position:"absolute",inset:-2,display:"flex"},animate:g?void 0:{rotate:360},transition:{duration:1.2,repeat:1/0,ease:"linear"},children:s.jsxDEV(A.LoaderCircleIcon,{size:18},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:170,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:165,columnNumber:15},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:146,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:122,columnNumber:9},this),s.jsxDEV("div",{ref:a,dir:i,style:{display:"flex",alignItems:"center",gap:8,height:"100%",width:"max-content",paddingInlineEnd:12,fontFamily:"ui-sans-serif, system-ui, sans-serif"},children:[s.jsxDEV(Mu,{icon:n,pillBackground:o,size:bt},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:191,columnNumber:9},this),s.jsxDEV(B.motion.span,{initial:!1,animate:{opacity:t?1:0},transition:{duration:.12,ease:St},style:{fontSize:13,color:"hsl(var(--opencx-muted-foreground))",whiteSpace:"nowrap"},children:r},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:196,columnNumber:9},this),f&&s.jsxDEV("div",{style:{position:"relative",zIndex:2,paddingInlineStart:4,opacity:t?1:0},children:f},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:209,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:176,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/RestingPill.tsx",lineNumber:105,columnNumber:5},this)}function Ru({chat:e,number:t,selected:r,interactive:n,onSelect:o,onClose:i,portalTarget:a}){const{t:l}=ee(),{cssVars:m,theme:u}=he(),[p,d]=c.useState(!1);c.useEffect(()=>{n||d(!1)},[n]);const{title:f}=Or(e),g=`${f}${e.working?` — ${l("thinking")}`:""}`;function N(E){return a&&s.jsxDEV(Ee.Portal,{container:a,children:s.jsxDEV(Ee.Content,{side:"top",sideOffset:8,collisionPadding:12,"data-companion-session-tooltip":"",style:{...m,zIndex:u.widgetContentContainer.zIndex+2,maxWidth:"min(280px, calc(100vw - 24px))",padding:"7px 10px",borderRadius:9,background:"hsl(var(--opencx-foreground))",color:"hsl(var(--opencx-background))",font:"12px/1.4 ui-sans-serif, system-ui, sans-serif",overflowWrap:"anywhere",textAlign:"center",boxShadow:"0 4px 14px rgb(0 0 0 / .12)"},children:[E,s.jsxDEV(Ee.Arrow,{width:8,height:4,style:{fill:"hsl(var(--opencx-foreground))"}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:69,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:48,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:47,columnNumber:9},this)}const y=l("companion_close_chat",{title:f});return s.jsxDEV("div",{"data-session-item":"",children:[s.jsxDEV(Ee.Root,{open:n&&p,onOpenChange:d,children:[s.jsxDEV(Ee.Trigger,{asChild:!0,children:s.jsxDEV(se,{variant:"ghost",size:"selfless","data-companion-action":"",type:"button","data-session-circle":e.id,"aria-label":g,"aria-pressed":r,tabIndex:n?0:-1,onClick:E=>{E.stopPropagation(),o()},children:[e.working&&s.jsxDEV(A.LoaderCircleIcon,{size:28,"aria-hidden":!0,"data-session-working":""},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:102,columnNumber:15},this),s.jsxDEV("span",{"aria-hidden":!0,children:t},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:104,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:87,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:86,columnNumber:9},this),N(g)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:82,columnNumber:7},this),s.jsxDEV(se,{variant:"ghost",size:"selfless","data-companion-action":"",type:"button","data-session-close":e.id,"aria-label":y,tabIndex:n?0:-1,onClick:E=>{E.stopPropagation(),d(!1),i(E.currentTarget)},children:s.jsxDEV(A.XIcon,{size:10,"aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:123,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:109,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:81,columnNumber:5},this)}function Ou({onSelected:e=()=>{},onLastClosed:t=()=>{},interactive:r=!0}){const{openChats:n,activeId:o,selectChat:i,newChat:a,closeChat:l}=k.useCompanionChats(),{canCreateNewSession:m}=k.useSessions(),{isSmallScreen:u}=De(),{t:p,dir:d}=ee(),f=Lr(),g=Yt(),N=u?2:3,y=n.slice(0,n.length>N?N-1:N),E=n.find(w=>w.id===o);E&&!y.includes(E)&&(y[y.length-1]=E);const v=n.length-y.length,P=n.some(w=>w.working&&!y.includes(w)),x=c.useRef(f.close);x.current=f.close,c.useEffect(()=>{r||x.current(!0)},[r]);function S(w){f.close(!0),w===void 0?a():i(w),e()}function b(w,D){var _,C;f.close(!0);const z=y.findIndex(L=>L.id===w),M=y[z+1]??y[z-1];(C=(_=D.closest("[data-companion-session-circles]"))==null?void 0:_.querySelector(M?`[data-session-circle="${M.id}"]`:"[data-new-session]"))==null||C.focus({preventScroll:!0}),l(w),n.length===1&&t()}return s.jsxDEV(Ee.Provider,{delayDuration:150,skipDelayDuration:300,children:s.jsxDEV("div",{role:"group","aria-label":p("companion_active_chats",{count:n.length}),"aria-hidden":!r||void 0,"data-companion-session-circles":"",dir:d,onPointerDown:w=>w.stopPropagation(),style:{position:"relative",zIndex:0,display:"flex",alignItems:"center",gap:4,flexShrink:0,pointerEvents:r?"auto":"none"},children:[s.jsxDEV(Fr,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:212,columnNumber:9},this),s.jsxDEV("style",{children:`
242
+ [data-companion-session-tooltip][data-state="delayed-open"] { animation: opencx-session-tooltip-in 120ms ease-out; }
243
+ @keyframes opencx-session-tooltip-in { from { opacity: 0; } to { opacity: 1; } }
244
+ @media (prefers-reduced-motion: reduce) { [data-companion-session-tooltip] { animation: none !important; } }
245
+ [data-companion-session-circles] > button,
246
+ [data-companion-session-circles] [data-session-circle] {
247
+ position: relative; display: grid; place-items: center; flex: 0 0 28px;
248
+ width: 28px; height: 28px; padding: 0; border-radius: 50%;
249
+ border: 1px solid hsl(var(--opencx-border));
250
+ background: transparent; color: hsl(var(--opencx-muted-foreground));
251
+ font: 11px ui-sans-serif, system-ui, sans-serif; font-variant-numeric: tabular-nums;
252
+ cursor: pointer;
253
+ }
254
+ [data-companion-session-circles] [data-session-circle][aria-pressed="true"] {
255
+ border-color: hsl(var(--opencx-primary) / .45);
256
+ background: hsl(var(--opencx-primary) / .08);
257
+ color: hsl(var(--opencx-foreground));
258
+ }
259
+ @media (hover: hover) and (pointer: fine) {
260
+ [data-companion-session-circles] > button:hover,
261
+ [data-companion-session-circles] [data-session-item]:hover [data-session-circle] { background: hsl(var(--opencx-muted)); color: hsl(var(--opencx-foreground)); }
262
+ }
263
+ [data-companion-session-circles] button:focus-visible { outline: 2px solid hsl(var(--opencx-ring)); outline-offset: 2px; }
264
+ [data-companion-session-circles] > button:disabled { opacity: .4; cursor: default; }
265
+ [data-companion-session-circles] [data-session-item] { position: relative; display: flex; align-items: center; width: 36px; height: 32px; flex-shrink: 0; }
266
+ [data-companion-session-circles] [data-session-close] {
267
+ position: absolute; inset-inline-end: 0; top: -1px; z-index: 1;
268
+ width: 16px; height: 16px; display: grid; place-items: center; padding: 0;
269
+ border: 1px solid hsl(var(--opencx-border) / .7); border-radius: 50%;
270
+ background: hsl(var(--opencx-background)); color: hsl(var(--opencx-muted-foreground)); cursor: pointer;
271
+ }
272
+ @media (hover: hover) and (pointer: fine) {
273
+ [data-companion-session-circles] [data-session-close] { opacity: 0; pointer-events: none; }
274
+ [data-companion-session-circles] [data-session-item]:hover [data-session-close],
275
+ [data-companion-session-circles] [data-session-item]:focus-within [data-session-close] { opacity: 1; pointer-events: auto; }
276
+ [data-companion-session-circles] [data-session-close]:hover { color: hsl(var(--opencx-foreground)); }
277
+ }
278
+ @media (pointer: coarse) {
279
+ [data-companion-session-circles] [data-session-item] { width: 42px; }
280
+ [data-companion-session-circles] [data-session-close] { width: 24px; height: 24px; top: -3px; }
281
+ [data-companion-session-circles] [data-session-close] svg { width: 12px; height: 12px; }
282
+ }
283
+ [data-companion-session-circles] > button[data-new-session] { border-style: dashed; }
284
+ [data-companion-session-circles] [data-session-working] {
285
+ position: absolute; inset: -1px; color: hsl(var(--opencx-primary));
286
+ animation: opencx-session-spin 1.2s linear infinite;
287
+ }
288
+ @keyframes opencx-session-spin { to { transform: rotate(360deg); } }
289
+ @media (prefers-reduced-motion: reduce) { [data-companion-session-circles] [data-session-working] { animation: none; } }
290
+ `},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:213,columnNumber:9},this),y.map(w=>s.jsxDEV(Ru,{chat:w,number:w.id,selected:w.id===o,interactive:r,portalTarget:g,onSelect:()=>S(w.id),onClose:D=>b(w.id,D)},w.id,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:264,columnNumber:11},this)),v>0&&s.jsxDEV(se,{variant:"ghost",size:"selfless","data-companion-action":"",type:"button","aria-label":p("companion_chats"),"aria-haspopup":"menu","aria-expanded":f.open,tabIndex:r?0:-1,onPointerEnter:w=>f.hover(w.currentTarget),onPointerLeave:f.leave,onClick:w=>{w.stopPropagation(),f.toggle(w.currentTarget,w.detail>0)},children:[P&&s.jsxDEV(A.LoaderCircleIcon,{size:28,"aria-hidden":!0,"data-session-working":""},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:293,columnNumber:15},this),s.jsxDEV("span",{"aria-hidden":!0,children:["+",v]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:295,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:276,columnNumber:11},this),s.jsxDEV(se,{variant:"ghost",size:"selfless","data-companion-action":"",type:"button","data-new-session":"","aria-label":p("new_conversation"),disabled:!m,tabIndex:r?0:-1,onClick:w=>{w.stopPropagation(),S()},children:s.jsxDEV(A.PlusIcon,{size:14,"aria-hidden":!0},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:312,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:298,columnNumber:9},this),f.anchor&&g&&s.jsxDEV(Wr,{picker:f,portalTarget:g,placement:"above",onSelected:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:315,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:193,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/SessionCircles.tsx",lineNumber:192,columnNumber:5},this)}function $u({panelOpen:e,isOpen:t,setIsOpen:r,onOpen:n,onClose:o}){const i=c.useRef(t),a=c.useRef({onOpen:n,onClose:o});a.current={onOpen:n,onClose:o},c.useEffect(()=>{i.current=e,r(e)},[e,r]),c.useEffect(()=>{t!==i.current&&(i.current=t,t?a.current.onOpen():a.current.onClose())},[t])}const Ze="data-opencx-app-frame",Lu="data-opencx-app-frame-style",Nt="data-opencx-sidebar-open",Ht="data-opencx-frame-no-anim",yt="data-opencx-fixed-fit",Jr="--opencx-sidebar-w",nt=gl;let Be=null,ot=null,qs=0;const wt=new Map,Gs={setOpen:()=>{},setWidth:()=>{},setAnimated:()=>{},release:()=>{}};function Fu(){let e,t;return wt.forEach(r=>{(!e||r.order>e.order)&&(e=r),r.open&&(!t||r.order>t.order)&&(t=r)}),t??e}function ir(){const e=Fu();if(!e||!Be)return;Be.textContent=Wu(e.canvas,e.side,e.pageBackground);const t=document.documentElement;e.open?t.setAttribute(Nt,""):t.removeAttribute(Nt),e.animated?t.removeAttribute(Ht):t.setAttribute(Ht,""),t.style.setProperty(Jr,`${e.width}px`)}function Ys(e){getComputedStyle(e).position==="fixed"&&e.setAttribute(yt,"");for(const t of Array.from(e.querySelectorAll("*")))getComputedStyle(t).position==="fixed"&&t.setAttribute(yt,"")}function Wu(e,t,r){const[n,o]=t==="left"?["right","left"]:["left","right"];return`
291
+ html[${Ze}] {
292
+ overflow: hidden !important;
293
+ background: ${e} !important;
294
+ }
295
+ html[${Ze}] body {
296
+ position: fixed !important;
297
+ inset: 0 !important;
298
+ margin: 0 !important;
299
+ width: auto !important;
300
+ height: auto !important;
301
+ min-width: 0 !important;
302
+ min-height: 0 !important;
303
+ max-width: none !important;
304
+ max-height: none !important;
305
+ overflow: auto !important;
306
+ contain: strict !important;
307
+ background: ${r} !important;
308
+ border-radius: 0 !important;
309
+ /* Transparent ring+shadow, NOT none — none can't interpolate */
310
+ box-shadow: 0 0 0 1px rgba(0,0,0,0), 0 10px 24px -6px rgba(0,0,0,0) !important;
311
+ }
312
+ @media (prefers-reduced-motion: no-preference) {
313
+ html[${Ze}] body {
314
+ transition:
315
+ top 0.3s ${nt}, bottom 0.3s ${nt},
316
+ left 0.3s ${nt}, right 0.3s ${nt},
317
+ border-radius 0.3s ${nt}, box-shadow 0.3s ${nt} !important;
318
+ }
319
+ }
320
+ html[${Ht}] body { transition: none !important; }
321
+ html[${Ze}] body [${yt}] {
322
+ max-width: 100% !important;
323
+ max-height: 100% !important;
324
+ }
325
+ html[${Nt}] body {
326
+ top: ${Ce}px !important;
327
+ bottom: ${Ce}px !important;
328
+ ${n}: ${Ce}px !important;
329
+ ${o}: calc(var(${Jr}, ${Zr}px) + ${Ce*2}px) !important;
330
+ border-radius: ${He.sidebar}px !important;
331
+ box-shadow: 0 0 0 1px rgba(0,0,0,0.06), 0 10px 24px -6px rgba(0,0,0,0.10) !important;
332
+ }
333
+ @media (max-width: ${Wo}px) {
334
+ html[${Nt}] body {
335
+ inset: 0 !important;
336
+ border-radius: 0 !important;
337
+ box-shadow: 0 0 0 1px rgba(0,0,0,0), 0 10px 24px -6px rgba(0,0,0,0) !important;
338
+ }
339
+ }
340
+ `}function Hu({canvas:e,side:t,pageBackground:r}){if(typeof document>"u")return Gs;const n=document.documentElement;if(!Be&&n.hasAttribute(Ze))return Gs;if(!Be){const m=document.createElement("style");m.setAttribute(Lu,""),document.head.appendChild(m);const u=window.scrollY;n.setAttribute(Ze,""),document.body.scrollTop=u,Ys(document.body),ot=new MutationObserver(p=>{for(const d of p)for(const f of Array.from(d.addedNodes))f instanceof Element&&Ys(f)}),ot.observe(document.body,{childList:!0,subtree:!0}),Be=m}const o=Symbol("opencx-app-frame-owner"),i={canvas:e,side:t,pageBackground:r,open:!1,width:Zr,animated:!0,order:++qs};wt.set(o,i),ir();let a=!1;const l=m=>{if(a)return;const u=wt.get(o);u&&(m(u),ir())};return{setOpen(m){l(u=>{u.open=m,m&&(u.order=++qs)})},setWidth(m){l(u=>{u.width=m})},setAnimated(m){l(u=>{u.animated=m})},release(){a||(a=!0,wt.delete(o),wt.size===0?Bu():ir())}}}function Bu(){if(!Be)return;const e=document.body.scrollTop,t=document.documentElement;t.removeAttribute(Ze),t.removeAttribute(Nt),t.removeAttribute(Ht),t.style.removeProperty(Jr),ot==null||ot.disconnect(),ot=null;for(const r of Array.from(document.querySelectorAll(`[${yt}]`)))r.removeAttribute(yt);Be.remove(),Be=null,window.scrollTo({top:e})}let ht=0,lr="";function Uu(){if(typeof document>"u")return()=>{};ht===0&&(lr=document.body.style.overflow,document.body.style.overflow="hidden"),ht+=1;let e=!1;return()=>{e||(e=!0,ht=Math.max(0,ht-1),ht===0&&(document.body.style.overflow=lr,lr=""))}}function qu(e,t){return e[t]??""}function Gu({companion:e,layout:t,state:r,region:n,sidebarSide:o,sidebarMode:i,cssVars:a,storage:l,resizeLabel:m}){var I,F,R,W,q,H;const u=Math.max(0,((I=e==null?void 0:e.sidebar)==null?void 0:I.minWidth)??Lo),p=Math.max(u,((F=e==null?void 0:e.sidebar)==null?void 0:F.maxWidth)??pu),[d,f]=c.useState(()=>{var $;return Ye((($=e==null?void 0:e.sidebar)==null?void 0:$.width)??Zr,u,p)}),[g,N]=c.useState(!1),y=c.useRef(null);c.useEffect(()=>{f($=>{var X;return Ye(((X=e==null?void 0:e.sidebar)==null?void 0:X.width)??$,u,p)})},[(R=e==null?void 0:e.sidebar)==null?void 0:R.width,p,u]),c.useEffect(()=>{var X;let $=!1;if(!(!l||((X=e==null?void 0:e.sidebar)==null?void 0:X.width)!==void 0))return l.getCompanionSidebarWidth().then(oe=>{$||oe===null||f(Ye(oe,u,p))}).catch(()=>{}),()=>{$=!0}},[(W=e==null?void 0:e.sidebar)==null?void 0:W.width,p,u,l]);const E=c.useCallback($=>Ye(o==="left"?$:window.innerWidth-$,u,p),[p,u,o]),v=c.useCallback($=>{var X;$.currentTarget.setPointerCapture($.pointerId),N(!0),(X=y.current)==null||X.setAnimated(!1)},[]),P=c.useCallback($=>{$.currentTarget.hasPointerCapture($.pointerId)&&f(E($.clientX))},[E]),x=c.useCallback($=>{var oe;const X=E($.clientX);$.currentTarget.hasPointerCapture($.pointerId)&&$.currentTarget.releasePointerCapture($.pointerId),f(X),N(!1),(oe=y.current)==null||oe.setAnimated(!0),l==null||l.setCompanionSidebarWidth(X).catch(()=>{})},[l,E]),S=c.useCallback($=>{var X;$.currentTarget.hasPointerCapture($.pointerId)&&$.currentTarget.releasePointerCapture($.pointerId),N(!1),(X=y.current)==null||X.setAnimated(!0)},[]),b=c.useCallback($=>{let X=null;if($.key==="Home"&&(X=u),$.key==="End"&&(X=p),$.key==="ArrowLeft"||$.key==="ArrowRight"){const oe=$.key===(o==="left"?"ArrowRight":"ArrowLeft");X=Ye(d+(oe?16:-16),u,p)}X!==null&&($.preventDefault(),f(X),l==null||l.setCompanionSidebarWidth(X).catch(()=>{}))},[p,u,o,d,l]),w=t==="sidebar",D=i==="docked",z=Kr(n,d),M=((q=e==null?void 0:e.sidebar)==null?void 0:q.canvasColor)??du,_=`hsl(${qu(a,"--opencx-background")})`,C=c.useRef({open:r!=="pill",width:z});C.current={open:r!=="pill",width:z},c.useEffect(()=>{if(!w||!D)return;const $=Hu({canvas:M,side:o,pageBackground:_});return y.current=$,$.setWidth(C.current.width),$.setOpen(C.current.open),()=>{y.current===$&&(y.current=null),$.release()}},[M,D,w,_,o]),c.useEffect(()=>{var $;w&&D&&(($=y.current)==null||$.setWidth(z))},[z,D,w]),c.useEffect(()=>{var $;w&&D&&(($=y.current)==null||$.setOpen(r!=="pill"))},[D,w,r]);const L=r==="chat"&&t==="fullscreen",U=((H=e==null?void 0:e.fullscreen)==null?void 0:H.lockScroll)!==!1;c.useEffect(()=>{if(!(!L||!U))return Uu()},[L,U]);const j=c.useMemo(()=>({role:"separator",tabIndex:0,"aria-orientation":"vertical","aria-label":m,"aria-valuemin":u,"aria-valuemax":p,"aria-valuenow":d,onPointerDown:v,onPointerMove:P,onPointerUp:x,onPointerCancel:S,onKeyDown:b}),[p,u,b,v,P,S,x,m,d]);return{sidebarWidth:d,sidebarResizing:g,resizeHandleProps:j}}const Yu={width:1440,height:900};function Xs(){return typeof window>"u"?Yu:{width:window.innerWidth,height:window.innerHeight}}function Xu(){const[e,t]=c.useState(Xs),[r,n]=c.useState(null),o=c.useRef(null),i=c.useCallback(l=>{var u;if((u=o.current)==null||u.disconnect(),o.current=null,!l)return;const m=new ResizeObserver(()=>{n(l.offsetWidth)});m.observe(l),o.current=m},[]);c.useEffect(()=>{function l(){t(Xs())}return window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[]),c.useEffect(()=>()=>{var l;(l=o.current)==null||l.disconnect(),o.current=null},[]);const a=Math.min(r??au,Math.max(0,e.width-$o));return{region:e,dockWidth:a,dockContentRef:i}}function Zu({storage:e,state:t,layout:r,viewportWidth:n,currentWidth:o,restingWidth:i,shouldReduceMotion:a}){const[l,m]=c.useState(0),u=B.useMotionValue(0),p=c.useRef(!1);c.useEffect(()=>{let E=!1;if(e)return e.getCompanionPillOffsetX().then(v=>{E||v===null||m(v)}).catch(()=>{}),()=>{E=!0}},[u,e]),c.useEffect(()=>{const E=a?ze:ct;if(t==="pill"){const P=Math.max(0,n/2-i/2-or),x=Ye(l,-P,P);Math.abs(u.get())>P?u.set(x):B.animate(u,x,E);return}if(t==="chat"&&(r==="fullscreen"||r==="sidebar")){B.animate(u,0,E);return}const v=Math.max(0,n/2-o/2-or);B.animate(u,Ye(l,-v,v),E)},[o,u,r,l,i,a,t,n]);const d=Math.max(0,n/2-i/2-or),f=c.useMemo(()=>({left:-d,right:d,top:0,bottom:0}),[d]),g=c.useCallback(()=>{p.current=!0},[]),N=c.useCallback(()=>{const E=u.get();m(v=>v===E?v:E),e==null||e.setCompanionPillOffsetX(E).catch(()=>{}),requestAnimationFrame(()=>{p.current=!1})},[u,e]),y=c.useCallback(()=>p.current,[]);return{dragX:u,dragConstraints:f,onDragStart:g,onDragEnd:N,shouldIgnoreLaunch:y}}function Ku({state:e,layout:t,sidebarMode:r,isPageMarkModeArmed:n}){return e==="pill"||n?!1:!(t==="sidebar"&&r==="docked")}const Ju=96,Qu=zr({transparent:!0});function ep(){var ss,ns,os;const{isOpen:e,setIsOpen:t}=k.useWidgetTrigger(),{openChats:r,activeId:n}=k.useCompanionChats(),o=r.length,i=r.filter(J=>J.working).length,{widgetCtx:a,contentIframeRef:l}=k.useWidget(),{companion:m,assets:u,customComponents:p}=k.useConfig(),{theme:d,cssVars:f}=he(),{t:g,dir:N}=ee(),{sessionState:y}=k.useSessions(),{messagesState:E}=k.useMessages(),{isArmed:v}=Yr(),{region:P,dockWidth:x,dockContentRef:S}=Xu(),[b,w]=c.useState(e?"chat":"pill"),{layout:D,setLayout:z,setLayoutPreference:M,allowedLayouts:_,defaultLayout:C,sidebarSide:L,sidebarMode:U}=k.useWidgetLayout(),[j,I]=c.useState(Ju),{sidebarWidth:F,sidebarResizing:R,resizeHandleProps:W}=Gu({companion:m,layout:D,state:b,region:P,sidebarSide:L,sidebarMode:U,cssVars:f,storage:a.storageCtx,resizeLabel:g("companion_resize_chat")}),q=B.useReducedMotion(),H=R?{duration:0}:q?ze:ct,$=$r(),X=c.useRef(null),oe=c.useRef(!1),Z=b==="pill",T=o>0,G=Lr(),K=c.useRef(G.close);K.current=G.close,c.useEffect(()=>{(!Z||!T)&&K.current(!0)},[Z,T]);const ae=p==null?void 0:p.widgetTrigger,ie=!!ae,ge=(m==null?void 0:m.pillBackground)??"hsl(var(--opencx-primary))",ue=(m==null?void 0:m.icon)??((ss=u==null?void 0:u.widgetTrigger)==null?void 0:ss.openIcon),we=d.widgetTrigger.offset.bottom,Pe=Ro(),me=!!((ns=y.session)!=null&&ns.id),_e=me?g("follow_up_placeholder"):void 0,Re=(m==null?void 0:m.pillLabel)??(m==null?void 0:m.placeholder)??_e??g("write_a_message_placeholder"),be=(m==null?void 0:m.pillLabelDisplay)??"always",Qe=(m==null?void 0:m.placeholder)??_e??g("write_a_message_placeholder"),[et,Ie]=c.useState(!1),pe=Z&&!ie&&be!=="never"&&(be==="always"||$&&et),Oe=Ho(P,m==null?void 0:m.compact),tt=D==="sidebar",de=hu({layout:D,region:P,sidebarWidth:F,bottomOffset:we,compact:m==null?void 0:m.compact}),qe=b==="chat"?de.width:Oe,Vt=de.height,{centerX:Pt,bottom:Y}=gu({isChatOpen:b==="chat",layout:D,region:P,sidebarWidth:F,sidebarSide:L,bottomOffset:we}),ne=c.useMemo(()=>b==="pill"?pe?{width:x,height:ou,borderRadius:He.pill}:{width:bt,height:bt,borderRadius:He.pill}:b==="input"?{width:Oe,height:j,borderRadius:He.input}:de,[b,pe,x,Oe,de,j]),pt=b==="pill"&&pe&&be==="hover"?(N==="rtl"?-1:1)*(x-bt)/2:0,{dragX:dt,dragConstraints:$e,onDragStart:_t,onDragEnd:It,shouldIgnoreLaunch:fe}=Zu({storage:a.storageCtx,state:b,layout:D,viewportWidth:P.width,currentWidth:ne.width,restingWidth:pe?x:bt,shouldReduceMotion:q}),Ge=c.useCallback(()=>{var ft;const J=a.routerCtx.state.get().screen,ce=!!((ft=a.sessionCtx.sessionState.get().session)!=null&&ft.id);w(J==="welcome"||ce?"chat":"input")},[a]),Go=c.useCallback(()=>{if(!fe()){if(K.current(!0),D==="sidebar"){w("chat");return}Ge()}},[Ge,D,fe]),Xt=c.useCallback(()=>{if(D==="fullscreen"&&C!=="fullscreen"){z(C);return}if(D==="sidebar"){w("pill");return}w(J=>{var ce;return J==="chat"&&((ce=a.sessionCtx.sessionState.get().session)!=null&&ce.id)?"input":"pill"})},[C,D,z,a]),Yo=c.useCallback(()=>{const J=Pu({panelLayout:D,previousLayout:rt.current,defaultLayout:C,allowedLayouts:_});if(J.kind==="layout"){z(J.layout);return}w("pill")},[_,C,D,z]),Xo=c.useCallback(()=>{w("pill")},[]);c.useEffect(()=>{b==="chat"&&(oe.current=!0)},[b]),c.useEffect(()=>{b!=="chat"&&oe.current&&D==="fullscreen"&&C!=="fullscreen"&&z(C)},[C,D,z,b]);const ts=b==="chat"&&D==="fullscreen";$u({panelOpen:b!=="pill",isOpen:e,setIsOpen:t,onOpen:Ge,onClose:Xo}),c.useEffect(()=>{if(!Ku({state:b,layout:D,sidebarMode:U,isPageMarkModeArmed:v}))return;function J(ce){const ft=X.current;ft&&(ce.composedPath().includes(ft)||Xt())}return document.addEventListener("mousedown",J),()=>document.removeEventListener("mousedown",J)},[Xt,b,D,U,v]);const Zt=((os=E.messages.findLast(J=>J.type==="USER"))==null?void 0:os.id)??null,rs=c.useRef(null);c.useEffect(()=>{b==="input"&&(rs.current=Zt)},[b]),c.useEffect(()=>{b==="input"&&Zt!==rs.current&&(a.routerCtx.state.get().screen!=="chat"&&a.routerCtx.state.setPartial({screen:"chat"}),w("chat"))},[Zt,b,a]);const Zo=c.useCallback(()=>{var J;a.routerCtx.state.get().screen!=="chat"&&((J=a.sessionCtx.sessionState.get().session)!=null&&J.id)&&a.routerCtx.state.setPartial({screen:"chat"}),w("chat")},[a]),At=c.useCallback(J=>{var ce;_.includes(J)&&(J==="fullscreen"&&a.routerCtx.state.get().screen==="sessions"&&a.routerCtx.toChatScreen((ce=a.sessionCtx.sessionState.get().session)==null?void 0:ce.id),M(J))},[_,a,M]),Kt=_.find(J=>J!=="fullscreen"),rt=c.useRef(Kt??C);c.useEffect(()=>{D!=="fullscreen"&&_.includes(D)?rt.current=D:(rt.current==="fullscreen"||!_.includes(rt.current))&&(rt.current=Kt??C)},[_,C,Kt,D]);const Jt=c.useCallback(()=>{if(!_.includes("fullscreen"))return;if(D!=="fullscreen"){At("fullscreen");return}const J=rt.current;J!=="fullscreen"&&_.includes(J)&&At(J)},[_,D,At]);c.useEffect(()=>{function J(ce){Su(ce,{state:b,onToggleFullscreen:Jt})}return document.addEventListener("keydown",J),()=>document.removeEventListener("keydown",J)},[Jt,b]);const Qt=Yt();return Qt?kt.createPortal(s.jsxDEV(s.Fragment,{children:[ae&&Oo(ae,e,t),Z&&G.anchor&&!ie&&s.jsxDEV(Wr,{placement:"above",picker:G,portalTarget:Qt,onSelected:()=>w("chat")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:524,columnNumber:9},this),s.jsxDEV(B.motion.div,{"aria-hidden":!0,style:{position:"fixed",inset:0,background:"transparent",zIndex:d.widgetContentContainer.zIndex,pointerEvents:ts?"auto":"none"},initial:!1,animate:{opacity:ts?1:0},transition:Me},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:538,columnNumber:7},this),s.jsxDEV(B.motion.div,{ref:X,style:{...f,position:"fixed",x:dt,translateX:"-50%",zIndex:d.widgetContentContainer.zIndex,visibility:ie&&Z?"hidden":void 0},initial:!1,animate:{left:Pt,bottom:Y},drag:Z&&!ie&&!G.open?"x":!1,dragMomentum:!1,dragElastic:.15,dragConstraints:$e,onDragStart:_t,onDragEnd:It,transition:H,children:s.jsxDEV(B.motion.div,{onPointerEnter:Z&&!ie?J=>{Ie(!0);const ce=J.currentTarget.querySelector("[data-companion-count-trigger]");ce&&!fe()&&G.hover(ce)}:void 0,onPointerLeave:()=>{Ie(!1),G.leave()},style:{position:"relative",overflow:"hidden",transformOrigin:"center bottom",cursor:Z&&!ie?pe?"pointer":"grab":"default",background:"hsl(var(--opencx-background))"},initial:!1,animate:{x:pt,width:ne.width,height:ne.height,borderTopLeftRadius:ne.borderRadius,borderTopRightRadius:ne.borderRadius,borderBottomLeftRadius:ne.borderRadius,borderBottomRightRadius:ne.borderRadius,boxShadow:Z?pe?wl:bl:b==="input"?xl:vl},whileHover:Z&&!ie&&$&&!q?{scale:pe?1.01:1.12}:void 0,whileTap:Z&&!ie?{scale:pe?.995:.92}:void 0,transition:H,children:[Z&&!ie&&s.jsxDEV("button",{type:"button","data-companion-launcher":"",onClick:Go,"aria-label":Pe,"aria-expanded":!1,style:{position:"absolute",inset:0,zIndex:1,border:0,padding:0,background:"transparent",cursor:"pointer",borderRadius:"inherit"}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:644,columnNumber:13},this),!ie&&s.jsxDEV(Tu,{visible:Z,docked:pe,label:Re,sessions:o>0?s.jsxDEV(Ou,{interactive:Z&&pe,onSelected:()=>w("chat"),onLastClosed:()=>{requestAnimationFrame(()=>{var J,ce;(ce=(J=X.current)==null?void 0:J.querySelector("[data-companion-launcher]"))==null||ce.focus({preventScroll:!0})})}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:669,columnNumber:19},this):void 0,activeCount:o,countLabel:`${g("companion_chats")} · ${g("companion_active_chats",{count:o})}${i?` · ${g("companion_working_chats",{count:i})}`:""}`,pickerOpen:G.open,onOpenChats:(J,ce)=>{fe()||G.toggle(J,ce)},working:i>0,icon:ue,pillBackground:ge,dir:N,measureRef:S},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:663,columnNumber:13},this),b!=="pill"&&s.jsxDEV(B.motion.div,{style:{position:"absolute",bottom:0,left:"50%",translateX:"-50%",width:qe,height:Vt},initial:{opacity:0},animate:{opacity:1,transition:{...ze,delay:q?0:.1}},children:s.jsxDEV(Iu,{iframeRef:l,initialContent:Qu,style:{width:"100%",height:"100%",overflow:"hidden",backgroundColor:"transparent",boxSizing:"border-box",borderWidth:"0px"},children:s.jsxDEV(_u,{state:b==="chat"?"chat":"input",layout:D,shellRadius:ne.borderRadius,onMinimize:Xt,onDismiss:Yo,onToggleFullscreen:Jt,onSelectLayout:At,onExpand:Zo,canExpand:me,placeholder:Qe,hideAttachTools:((m==null?void 0:m.quickAskTools)??"history-only")==="history-only",onInputHeightChange:I},n,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:740,columnNumber:17},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:728,columnNumber:15},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:708,columnNumber:13},this),tt&&b==="chat"&&s.jsxDEV("div",{...W,style:{position:"absolute",top:0,bottom:0,...L==="left"?{right:0}:{left:0},width:8,cursor:"ew-resize",zIndex:2}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:769,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:578,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:552,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/companion/WidgetCompanion.tsx",lineNumber:517,columnNumber:5},this),Qt):null}const tp=["circle","box","underline","bracket","arrow"],rp=h.z.object({selector:h.z.string().optional(),text:h.z.string().optional(),label:h.z.string().optional(),type:h.z.enum(tp).optional().catch(void 0)}),sp=8e3;function np(e,t,r){return t.display==="inline"&&e.height<=r*2.5?"underline":e.width<=220&&e.height<=80?"circle":"box"}let Ae=null;function op(){Ae==null||Ae()}function ap(e,{accentColor:t="hsl(0 0% 9%)",surfaceColor:r="hsl(0 0% 9%)",foregroundColor:n="hsl(0 0% 98%)",zIndex:o=10000002,durationMs:i=sp,seed:a}={}){const l=Cc(e);if(!l)return!1;Ae==null||Ae();const m=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;l.scrollIntoView({behavior:m?"auto":"smooth",block:"center",inline:"nearest"});const u=l.getBoundingClientRect(),p=getComputedStyle(l),d=parseFloat(p.fontSize)||16,f=u.width<160&&u.height<56,g=on.annotate(l,{type:e.type??np(u,p,d),color:t,strokeWidth:Math.min(3,Math.max(1.6,d*.11)),wobble:f?.6:.9,rtl:p.direction==="rtl",seed:a});let N=!1;const y=()=>{if(!N)try{g.show(),yr(l,o)}catch(_){Q.log.warn("highlight_element: mark could not be drawn",_)}},E=document.fonts;E!=null&&E.ready&&typeof E.ready.then=="function"?E.ready.then(y):y();const v=document.createElement("div");v.setAttribute("data-opencx-overlay",""),v.style.pointerEvents="none";let P=null,x=null;e.label&&(P=document.createElement("div"),P.setAttribute("data-cx-role","callout"),Object.assign(P.style,{position:"fixed",zIndex:String(o+1),background:r,color:n,font:"500 13px/1.4 system-ui, sans-serif",padding:"9px 13px",borderRadius:"11px",maxWidth:"240px",boxShadow:`0 10px 30px -8px color-mix(in srgb, ${n} 35%, transparent)`,opacity:"0",transform:m?"none":"translateY(4px)",transition:"opacity 280ms cubic-bezier(0.23, 1, 0.32, 1), transform 280ms cubic-bezier(0.23, 1, 0.32, 1)",pointerEvents:"none"}),P.textContent=e.label,x=document.createElement("div"),Object.assign(x.style,{position:"absolute",width:"10px",height:"10px",background:r,transform:"rotate(45deg)"}),P.appendChild(x),v.appendChild(P)),document.documentElement.appendChild(v);let S=0;if(P&&x){const _=P,C=x,L=()=>{const U=l.getBoundingClientRect(),j=window.innerWidth,I=U.top>90?"top":"bottom",F=Math.min(240,_.offsetWidth||240),R=Math.max(12,Math.min(U.left+U.width/2-F/2,j-F-12));_.style.left=`${R}px`,_.style.width=`${F}px`,_.style.top=I==="top"?`${U.top-_.offsetHeight-12}px`:`${U.bottom+12}px`,C.style.left=`${Math.max(10,Math.min(U.left+U.width/2-R-5,F-20))}px`,I==="top"?(C.style.bottom="-4px",C.style.top=""):(C.style.top="-4px",C.style.bottom=""),S=requestAnimationFrame(L)};L()}const b=P?window.setTimeout(()=>{P&&(P.style.opacity="1",P.style.transform="translateY(0)")},350):0,w=()=>{if(!N){N=!0,Ae===w&&(Ae=null),cancelAnimationFrame(S),window.clearTimeout(M),window.clearTimeout(b),document.removeEventListener("click",D,!0),document.removeEventListener("keydown",z,!0),P&&(P.style.opacity="0",P.style.transform=m?"none":"translateY(4px)");try{g.hide(),g.finished.then(()=>g.remove())}catch{g.remove()}window.setTimeout(()=>v.remove(),300)}},D=()=>w(),z=_=>{_.key==="Escape"&&w()},M=window.setTimeout(w,Math.max(0,i));return document.addEventListener("click",D,!0),document.addEventListener("keydown",z,!0),Ae=w,!0}const ip=200;function lp(){const{pageMarkHighlightDurationMs:e}=k.useConfig(),{pageEffects:t}=k.useAgentChatUi(),{theme:r,cssVars:n}=he(),o=qr({cssVars:n,primaryColor:r.primaryColor,contentZIndex:r.widgetContentContainer.zIndex}),i=c.useRef(new Set);return c.useEffect(()=>()=>op(),[]),c.useEffect(()=>{const a=i.current;for(const l of t){if(l.type!=="highlight-element"||a.has(l.key))continue;for(a.add(l.key);a.size>ip;){const p=a.values().next().value;if(p===void 0)break;a.delete(p)}const m=rp.safeParse(l.input);if(!m.success){Q.log.warn("highlight_element: invalid tool input",{issues:m.error.issues});continue}ap(m.data,{accentColor:o.accent,surfaceColor:o.surface,foregroundColor:o.foreground,zIndex:o.inkZIndex,durationMs:e})||Q.log.warn("highlight_element: element not found on page",m.data)}},[t,e,o.accent,o.surface,o.foreground,o.inkZIndex]),null}const cp=/(\*\*\*|\*\*|\*|~~|`+)(?=\S)([\s\S]*?\S)\1/g,mp=/(^|[^\w`])(___|__|_)(?=\S)([\s\S]*?\S)\2(?!\w)/g,up=3;function Er(e){let t=e.replace(/^\s{0,3}(?:```+|~~~+)\S*\s*/,"").replace(/^\s{0,3}(?:#{1,6}\s+|>\s?|[-*+]\s+|\d+[.)]\s+)/,"").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1");for(let r=0;r<up;r++){const n=t.replace(cp,"$2").replace(mp,"$1$3");if(n===t)break;t=n}return t.trim()}function Uo({className:e}){const[t,r]=c.useState(()=>new Set);return c.useEffect(()=>{const n=Array.from({length:9},(i,a)=>a),o=setInterval(()=>{const i=2+Math.floor(Math.random()*3),a=[...n].sort(()=>Math.random()-.5).slice(0,i);r(new Set(a))},110);return()=>clearInterval(o)},[]),s.jsxDEV("div",{className:V("inline-grid shrink-0 grid-cols-3",e),style:{gap:1,width:14,height:14},children:Array.from({length:9},(n,o)=>s.jsxDEV("div",{className:"rounded-[1px]",style:{width:4,height:4,background:t.has(o)?"hsl(var(--opencx-foreground))":"hsl(var(--opencx-border))",transition:"background 66ms ease"}},o,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:48,columnNumber:9},this))},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:43,columnNumber:5},this)}function pp({labels:e,active:t}){const r=c.useRef(e);r.current=e;const[n,o]=c.useState(()=>e[e.length-1]??""),[i,a]=c.useState("in"),l=c.useRef(e.length);return c.useEffect(()=>{const m=r.current.length;if(!t||m<=l.current){l.current=m;return}l.current=m;const u=r.current[m-1]??"";a("out");const p=setTimeout(()=>{o(u),a("in")},180);return()=>clearTimeout(p)},[t,e.length]),s.jsxDEV("span",{className:V("truncate text-[12px] text-muted-foreground/60",t&&(i==="in"?"opencx-placeholder-in":"opencx-placeholder-out")),children:n},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:96,columnNumber:5},this)}function Qr(e,t){if(e.kind==="tool")return es(e.label);const r=e.label.split(`
341
+ `).find(o=>o.trim());if(!r)return t;const n=Er(r);return n?n.length>40?`${n.slice(0,40)}...`:n:t}function dp(e,t,r=3){const n=e.filter(o=>o.kind==="tool").map(o=>es(o.label));if(n.length===0){const o=e.find(i=>i.kind==="reasoning");return o?Qr(o,t):t}return n.length<=r?n.join(" → "):`${n.slice(0,r).join(" → ")} → ...`}const fp=["prose prose-sm max-w-none","[--tw-prose-body:hsl(var(--opencx-muted-foreground))]","[--tw-prose-headings:hsl(var(--opencx-foreground))]","[--tw-prose-bold:hsl(var(--opencx-foreground))]","[--tw-prose-code:hsl(var(--opencx-foreground))]","[--tw-prose-links:hsl(var(--opencx-primary))]","[--tw-prose-bullets:hsl(var(--opencx-muted-foreground))]","[--tw-prose-counters:hsl(var(--opencx-muted-foreground))]","[--tw-prose-quotes:hsl(var(--opencx-muted-foreground))]","[--tw-prose-quote-borders:hsl(var(--opencx-border))]","[--tw-prose-hr:hsl(var(--opencx-border))]","[--tw-prose-pre-bg:hsl(var(--opencx-muted))]","[--tw-prose-pre-code:hsl(var(--opencx-foreground))]","prose-p:my-1 prose-headings:my-1.5 prose-headings:text-[13px]","prose-ul:my-1 prose-ol:my-1 prose-li:my-0.5","prose-pre:my-1.5 prose-pre:p-2 prose-pre:text-[11px] prose-hr:my-2","[&>*:first-child]:mt-0 [&>*:last-child]:mb-0"].join(" ");function hp({step:e,isLive:t,thinkingLabel:r}){const[n,o]=c.useState(!1),i=Qr(e,r),a=i!==Er(e.label),l=t?(()=>{const m=e.label.split(`
342
+ `).filter(p=>p.trim()),u=Er(m[m.length-1]??"");return u?u.length>80?`${u.slice(0,80)}...`:u:r})():i;return s.jsxDEV("div",{className:"min-w-0",children:[s.jsxDEV("div",{className:V("flex min-w-0 items-center gap-2.5 py-[3px]",a&&"cursor-pointer"),onClick:()=>a&&o(m=>!m),children:[s.jsxDEV("div",{className:"relative z-10 flex size-[18px] shrink-0 items-center justify-center rounded-full bg-background",children:t?s.jsxDEV(uo,{className:"text-[14px] leading-none text-primary/70"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:202,columnNumber:13},this):s.jsxDEV("span",{className:"text-[14px] leading-none text-muted-foreground/40",children:"⠿"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:204,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:200,columnNumber:9},this),s.jsxDEV("span",{className:V("min-w-0 truncate text-[13px] italic text-muted-foreground/60",t&&"opencx-text-shimmer"),children:l},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:209,columnNumber:9},this),a&&s.jsxDEV(A.ChevronRightIcon,{className:V("size-2.5 shrink-0 text-muted-foreground/40 transition-transform duration-200",n&&"rotate-90")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:218,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:193,columnNumber:7},this),a&&n&&s.jsxDEV("div",{className:"opencx-fade-up ms-[30px]",children:s.jsxDEV("div",{className:V("max-h-[160px] overflow-y-auto py-1.5 text-[13px] leading-relaxed [overflow-wrap:anywhere]",fp),children:s.jsxDEV(Gt,{children:e.label},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:234,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:228,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:227,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:192,columnNumber:5},this)}const Zs=4e3;function gp(e){const t=typeof e=="string"?e:bp(e)??String(e);return t.length>Zs?`${t.slice(0,Zs)}…`:t}function bp(e){try{return JSON.stringify(e,null,2)}catch{return null}}function Ks({label:e,value:t}){return s.jsxDEV("div",{className:"pt-1.5",children:[s.jsxDEV("div",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground/50",children:e},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:268,columnNumber:7},this),s.jsxDEV("pre",{className:"mt-0.5 max-h-[200px] overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] rounded-lg bg-muted/40 p-2 font-mono text-[11px] leading-relaxed text-muted-foreground",children:gp(t)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:271,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:267,columnNumber:5},this)}function wp({step:e,showIO:t}){const{t:r}=ee(),[n,o]=c.useState(!1),i=t&&(e.input!==void 0||e.output!==void 0);return s.jsxDEV("div",{className:"min-w-0",children:[s.jsxDEV("div",{className:V("flex min-w-0 items-center gap-2.5 py-[3px]",i&&"cursor-pointer"),onClick:()=>i&&o(a=>!a),children:[s.jsxDEV("div",{className:"relative z-10 flex size-[18px] shrink-0 items-center justify-center rounded-full bg-background",children:e.done?s.jsxDEV("div",{className:"size-1.5 rounded-full bg-muted-foreground/30"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:302,columnNumber:13},this):s.jsxDEV(Uo,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:304,columnNumber:13},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:300,columnNumber:9},this),s.jsxDEV("span",{className:V("min-w-0 truncate text-[13px] text-muted-foreground/70",!e.done&&"opencx-text-shimmer"),children:es(e.label)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:307,columnNumber:9},this),i&&s.jsxDEV(A.ChevronRightIcon,{className:V("size-2.5 shrink-0 text-muted-foreground/40 transition-transform duration-200",n&&"rotate-90")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:316,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:293,columnNumber:7},this),i&&n&&s.jsxDEV("div",{className:"opencx-fade-up ms-[30px] pb-1",children:[e.input!==void 0&&s.jsxDEV(Ks,{label:r("step_arguments"),value:e.input},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:327,columnNumber:13},this),e.output!==void 0&&s.jsxDEV(Ks,{label:r("step_result"),value:e.output},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:330,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:325,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:292,columnNumber:5},this)}function xp({steps:e,active:t}){var N;const{t:r}=ee(),{showStepToolIO:n,presentation:o}=k.useConfig(),{widgetCtx:i}=k.useWidget(),a=(N=Q.resolveClientPresentation(i.agent.presentation,o))==null?void 0:N.toolActivity,l=n!==!1&&(a==="details"||a===void 0&&n===!0),m=r("thinking"),u=t?e:e.map(y=>y.done?y:{...y,done:!0}),p=u.some(y=>!y.done),[d,f]=c.useState(t),g=c.useRef(t);return c.useEffect(()=>{g.current&&!t?f(!1):!g.current&&t&&f(!0),g.current=t},[t]),u.length===0?null:s.jsxDEV("div",{...O("chat/streaming_turn/steps"),className:"w-full min-w-0 overflow-hidden",children:[s.jsxDEV("button",{type:"button",className:"flex min-w-0 max-w-full items-center gap-1.5 py-0.5 text-[12px] text-muted-foreground/60 transition-colors duration-150 hover:text-muted-foreground",onClick:()=>f(y=>!y),children:d?s.jsxDEV(s.Fragment,{children:[s.jsxDEV(A.ChevronDownIcon,{className:"size-2.5 shrink-0"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:395,columnNumber:13},this),s.jsxDEV("span",{className:"text-[11px] font-medium tabular-nums",children:u.length},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:396,columnNumber:13},this),s.jsxDEV("span",{className:V("text-muted-foreground/40",p&&"opencx-text-shimmer"),children:r(p?"running":"steps")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:399,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:394,columnNumber:11},this):p?s.jsxDEV(s.Fragment,{children:[s.jsxDEV(Uo,{className:"opacity-70"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:410,columnNumber:13},this),s.jsxDEV("span",{className:"text-[11px] font-medium tabular-nums",children:u.length},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:411,columnNumber:13},this),s.jsxDEV(pp,{labels:u.map(y=>Qr(y,m)),active:p},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:414,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:409,columnNumber:11},this):s.jsxDEV(s.Fragment,{children:[s.jsxDEV(A.ChevronRightIcon,{className:"size-2.5 shrink-0"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:421,columnNumber:13},this),s.jsxDEV("span",{className:"min-w-0 flex-1 truncate text-start text-[12px] text-muted-foreground/50",children:dp(u,m)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:422,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:420,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:388,columnNumber:7},this),d&&s.jsxDEV("div",{className:"relative pt-1",children:[u.length>1&&s.jsxDEV("div",{className:"absolute bottom-3 start-2 top-3 border-s border-dashed border-muted-foreground/20"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:432,columnNumber:13},this),u.map((y,E)=>s.jsxDEV("div",{className:"opencx-fade-up",style:{animationDelay:`${E*40}ms`},children:y.kind==="reasoning"?s.jsxDEV(hp,{step:y,isLive:p&&E===u.length-1,thinkingLabel:m},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:441,columnNumber:17},this):s.jsxDEV(wp,{step:y,showIO:l},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:447,columnNumber:17},this)},E,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:435,columnNumber:13},this))]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:430,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/StepsGroup.tsx",lineNumber:384,columnNumber:5},this)}function es(e){const t=e.replaceAll(/[_-]+/g," ").trim();return t.charAt(0).toUpperCase()+t.slice(1)}function Js(e){var r;if(e.manual){const n=e.manualText.trim();return n.length>0?n:void 0}if(e.question.selection==="single")return e.singleId?(r=e.question.options.find(n=>n.id===e.singleId))==null?void 0:r.label:void 0;const t=Array.from(e.multiIds).map(n=>{var o;return(o=e.question.options.find(i=>i.id===n))==null?void 0:o.label}).filter(n=>typeof n=="string"&&n.length>0);return t.length>0?t.join(", "):void 0}function vp({request:e}){const{t}=ee(),{sendMessage:r}=k.useMessages(),n=e.questions,[o,i]=c.useState(0),[a,l]=c.useState(!1),[m,u]=c.useState({}),[p,d]=c.useState({}),[f,g]=c.useState({}),[N,y]=c.useState({}),E=n[o],v=n.length,P=c.useCallback(C=>Js({question:C,manual:!!m[C.id],manualText:p[C.id]??"",singleId:f[C.id],multiIds:N[C.id]??new Set})!==void 0,[m,p,N,f]),x=E?P(E):!1,S=c.useMemo(()=>n.every(C=>P(C)),[P,n]),b=c.useCallback((C,L)=>{g(U=>({...U,[C]:L})),u(U=>({...U,[C]:!1}))},[]),w=c.useCallback((C,L)=>{y(U=>{const j=new Set(U[C]??[]);return j.has(L)?j.delete(L):j.add(L),{...U,[C]:j}}),u(U=>({...U,[C]:!1}))},[]),D=c.useCallback(C=>{u(L=>({...L,[C]:!0})),g(L=>({...L,[C]:void 0})),y(L=>({...L,[C]:new Set}))},[]),z=c.useCallback(()=>{x&&i(C=>Math.min(v-1,C+1))},[x,v]),M=c.useCallback(()=>{if(a||!S)return;const C=new Map;for(const U of n){const j=Js({question:U,manual:!!m[U.id],manualText:p[U.id]??"",singleId:f[U.id],multiIds:N[U.id]??new Set});j&&C.set(U.id,j)}const L=k.formatAskQuestionsAnswers(e,C);L.trim().length!==0&&(l(!0),r({content:L}))},[S,a,m,p,N,n,e,r,f]);if(!E)return null;const _=!!m[E.id];return s.jsxDEV("div",{...O("chat/clarification_questions/root"),className:V("w-full rounded-2xl border border-border bg-background shadow-sm",a&&"pointer-events-none opacity-60"),children:[s.jsxDEV("div",{className:"flex items-start gap-2.5 px-4 pt-4",children:[s.jsxDEV("span",{className:"mt-0.5 flex size-7 shrink-0 items-center justify-center rounded-md bg-primary text-primary-foreground",children:s.jsxDEV(A.SparklesIcon,{className:"size-4"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:160,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:159,columnNumber:9},this),s.jsxDEV("p",{...O("chat/clarification_questions/prompt"),className:"min-w-0 flex-1 text-sm font-medium leading-snug text-foreground",children:E.prompt},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:162,columnNumber:9},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:158,columnNumber:7},this),s.jsxDEV("div",{className:"px-4 pb-3 pt-3",children:_?s.jsxDEV("textarea",{...O("chat/clarification_questions/manual_input"),value:p[E.id]??"",onChange:C=>d(L=>({...L,[E.id]:C.target.value})),placeholder:t("questions_answer_placeholder"),rows:3,className:V("w-full resize-none rounded-xl border border-border bg-muted/30 px-3 py-2.5","text-sm text-foreground placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"),onKeyDown:C=>{C.key!=="Enter"||C.shiftKey||(C.preventDefault(),o<v-1?z():M())}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:172,columnNumber:11},this):s.jsxDEV("div",{className:"flex flex-wrap gap-2",children:[E.options.map(C=>{var U;const L=E.selection==="single"?f[E.id]===C.id:((U=N[E.id])==null?void 0:U.has(C.id))??!1;return c.createElement("button",{...O("chat/clarification_questions/option"),key:C.id,type:"button","aria-pressed":L,onClick:()=>E.selection==="single"?b(E.id,C.id):w(E.id,C.id),className:V("rounded-full border px-3 py-1.5 text-sm transition-colors",L?"border-primary bg-primary/10 text-foreground":"border-border bg-muted/40 text-foreground/90 hover:bg-muted")},C.label)}),s.jsxDEV("button",{...O("chat/clarification_questions/type_it"),type:"button",onClick:()=>D(E.id),className:V("rounded-full border border-dashed border-border px-3 py-1.5 text-sm","text-muted-foreground hover:bg-muted hover:text-foreground"),children:t("questions_type_answer")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:224,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:196,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:170,columnNumber:7},this),s.jsxDEV("div",{className:"flex items-center justify-between gap-2 border-t border-border px-3 py-2",children:[s.jsxDEV("button",{...O("chat/clarification_questions/back"),type:"button",onClick:()=>i(C=>Math.max(0,C-1)),disabled:o===0,className:"inline-flex items-center gap-1 rounded-lg px-2 py-1.5 text-xs font-medium text-muted-foreground hover:bg-muted disabled:opacity-40",children:[s.jsxDEV(A.ChevronLeftIcon,{className:"size-3.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:247,columnNumber:11},this),t("questions_back")]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:240,columnNumber:9},this),v>1?s.jsxDEV("span",{className:"text-[11px] tabular-nums text-muted-foreground",children:[o+1," / ",v]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:251,columnNumber:11},this):null,o<v-1?s.jsxDEV("button",{...O("chat/clarification_questions/next"),type:"button",onClick:z,disabled:!x,className:"inline-flex items-center gap-1 rounded-lg px-2 py-1.5 text-xs font-medium text-primary hover:bg-muted disabled:opacity-40",children:[t("questions_next"),s.jsxDEV(A.ChevronRightIcon,{className:"size-3.5"},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:264,columnNumber:13},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:256,columnNumber:11},this):s.jsxDEV("button",{...O("chat/clarification_questions/send"),type:"button",onClick:M,disabled:!S,className:"inline-flex items-center gap-1 rounded-lg px-3 py-1.5 text-xs font-medium text-primary hover:bg-muted disabled:opacity-40",children:t("questions_send")},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:267,columnNumber:11},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:239,columnNumber:7},this),s.jsxDEV("div",{className:"h-1 w-full overflow-hidden rounded-b-2xl bg-muted",children:s.jsxDEV("div",{className:"h-full bg-primary transition-[width] duration-300 ease-out",style:{width:`${(o+1)/Math.max(1,v)*100}%`}},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:280,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:279,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/components/ClarificationQuestions.tsx",lineNumber:151,columnNumber:5},this)}function Np({widgetRef:e}){const{contactState:t}=k.useContact(),{setIsOpen:r}=k.useWidgetTrigger(),{toChatScreen:n}=k.useWidgetRouter();return c.useImperativeHandle(e,()=>({newChat:async o=>{var a;if(!((a=t.contact)!=null&&a.token)){Q.log.warn("cannot start a new chat: contact not yet initialized");return}r(!0);const i=n();i&&(o!=null&&o.message)&&await i.messageCtx.sendMessage({content:o.message})}}),[t,r,n]),null}function yp(){const{isOpen:e,setIsOpen:t}=k.useWidgetTrigger();return s.jsxDEV(We.Root,{open:e,onOpenChange:t,children:[s.jsxDEV(nu,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:48,columnNumber:7},this),s.jsxDEV(su,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:49,columnNumber:7},this),s.jsxDEV(eu,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:50,columnNumber:7},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:47,columnNumber:5},this)}function kp(){return k.useDisplayMode()==="companion"?s.jsxDEV(k.WidgetLayoutProvider,{children:s.jsxDEV(ep,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:68,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:67,columnNumber:5},this):s.jsxDEV(yp,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:71,columnNumber:5},this)}const Ep=[{key:"loading",component:Ml},{key:"fallback",component:Al},{key:"bot_message",component:hr},{key:"agent_message",component:hr},{key:"agent_chat_steps",component:xp},{key:"agent_chat_spec",component:lc},{key:"agent_chat_questions",component:vp}],Cp={get:async e=>localStorage.getItem(e),set:async(e,t)=>{localStorage.setItem(e,t)},remove:async e=>{localStorage.removeItem(e)}},qo=c.forwardRef(function({options:t,components:r=[],loadingComponent:n,errorComponent:o},i){var a,l,m;return s.jsxDEV(B.MotionConfig,{reducedMotion:"user",children:s.jsxDEV(k.WidgetProvider,{components:[...Ep,...r],options:{...t,capabilities:{...t.capabilities,richReplies:((a=t.capabilities)==null?void 0:a.richReplies)??!r.some(({key:u})=>["AGENT_CHAT_SPEC","BOT_MESSAGE","AGENT_MESSAGE"].includes(u.toUpperCase())),pageEffects:((l=t.capabilities)==null?void 0:l.pageEffects)??!0,structuredQuestions:((m=t.capabilities)==null?void 0:m.structuredQuestions)??!r.some(({key:u})=>u.toUpperCase()==="AGENT_CHAT_QUESTIONS")}},storage:Cp,loadingComponent:n,errorComponent:o,children:s.jsxDEV(k.WidgetTriggerProvider,{children:s.jsxDEV(Vm,{children:[s.jsxDEV(lp,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:164,columnNumber:13},this),s.jsxDEV(Np,{widgetRef:i},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:165,columnNumber:13},this),t.inline?s.jsxDEV(To,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:166,columnNumber:31},this):s.jsxDEV(kp,{},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:166,columnNumber:51},this)]},void 0,!0,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:163,columnNumber:11},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:162,columnNumber:9},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:137,columnNumber:7},this)},void 0,!1,{fileName:"/private/tmp/widget-followup-stream-20260909/packages/react/src/index.tsx",lineNumber:136,columnNumber:5},this)});qo.displayName="Widget";exports.HostedSpecRenderer=ml;exports.Widget=qo;exports.segmentContent=qn;exports.useJsonRenderHost=Dt;
343
+ //# sourceMappingURL=index-Dq4Fgreq.cjs.map