@opencx/widget-react 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Chart.impl--lw4WUeY.cjs → Chart.impl-BAZW1JIf.cjs} +2 -2
- package/dist/{Chart.impl--lw4WUeY.cjs.map → Chart.impl-BAZW1JIf.cjs.map} +1 -1
- package/dist/{Chart.impl-B5gmO6Us.js → Chart.impl-yQQ21xSV.js} +2 -2
- package/dist/{Chart.impl-B5gmO6Us.js.map → Chart.impl-yQQ21xSV.js.map} +1 -1
- package/dist/{index-rkpSpEfw.cjs → index-BhDQakmD.cjs} +3 -3
- package/dist/{index-rkpSpEfw.cjs.map → index-BhDQakmD.cjs.map} +1 -1
- package/dist/{index-BiL9m1to.js → index-D_tSsyE7.js} +3 -3
- package/dist/{index-BiL9m1to.js.map → index-D_tSsyE7.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/package.json.d.ts +1 -1
- package/package.json +3 -3
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
`);a.push(`${x}
|
|
9
9
|
|
|
10
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:d,props:f,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 S=c;if(S){a.push(`AVAILABLE COMPONENTS (${e.componentNames.length}):`),a.push("");for(const[E,M]of Object.entries(S)){const W=M.props?je(M.props):"{}",q=M.slots&&M.slots.length>0?" [accepts children]":"",V=M.events&&M.events.length>0?` [events: ${M.events.join(", ")}]`:"",U=M.description?` - ${M.description}`:"";a.push(`- ${E}: ${W}${U}${q}${V}`)}a.push("")}const b=e.data.actions,N=e.schema.builtInActions??[],j=b&&e.actionNames.length>0,g=N.length>0;if(j||g){a.push("AVAILABLE ACTIONS:"),a.push("");for(const E of N)a.push(`- ${E.name}: ${E.description} [built-in]`);if(j)for(const[E,M]of Object.entries(b))a.push(`- ${E}${M.description?`: ${M.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:d,props:f,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:d,props:f,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 ${d} 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 _=e.data.functions;if(_&&Object.keys(_).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 E of Object.keys(_))a.push(` - ${E}`);a.push("")}const A=t.directives;if(A&&A.length>0){a.push("CUSTOM DYNAMIC VALUES:"),a.push("");for(const E of A){const M=E.description?` (${E.description})`:"";a.push(`- ${E.name}${M}: ${je(E.schema)}`)}a.push(""),a.push("Directives compose: any value field can contain another directive or a $state expression, resolved inside-out."),a.push("")}(c?Object.entries(c).some(([,E])=>E.props?je(E.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("")),(j||g)&&(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 P=t.editModes;P&&P.length>0&&a.push(yc({modes:P})),a.push("RULES:");const O=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')"],I=e.schema.defaultRules??[];return[...O,...I,...o].forEach((E,M)=>{a.push(`${M+1}. ${E}`)}),a.join(`
|
|
11
|
-
`)}function mo(e){return e.example&&Object.keys(e.example).length>0?e.example:e.props?_s(e.props):{}}function _s(e){if(!e||!e._def)return{};const t=e._def,n=st(e);if(n!=="ZodObject"&&n!=="object")return{};const o=typeof t.shape=="function"?t.shape():t.shape;if(!o)return{};const s={};for(const[i,a]of Object.entries(o)){const c=st(a);c==="ZodOptional"||c==="optional"||c==="ZodNullable"||c==="nullable"||(s[i]=Un(a))}return s}function Un(e){if(!e||!e._def)return"...";const t=e._def;switch(st(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 o=Object.values(t.entries);return o.length>0?o[0]:"example"}return"example"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":case"ZodDefault":case"default":{const o=t.innerType??t.wrapped;return o?Un(o):null}case"ZodArray":case"array":return[];case"ZodObject":case"object":return _s(e);case"ZodUnion":case"union":{const o=t.options;return o&&o.length>0?Un(o[0]):"..."}default:return"..."}}function Ec(e){if(!e||!e._def)return null;const t=e._def,n=st(e);if(n!=="ZodObject"&&n!=="object")return null;const o=typeof t.shape=="function"?t.shape():t.shape;if(!o)return null;for(const[s,i]of Object.entries(o)){const a=st(i);if(!(a==="ZodOptional"||a==="optional"||a==="ZodNullable"||a==="nullable")&&(a==="ZodString"||a==="string"))return s}return null}function st(e){if(!e||!e._def)return"";const t=e._def;return t.typeName??t.type??""}function je(e){if(!e||!e._def)return"unknown";const t=e._def;switch(st(e)){case"ZodString":case"string":return"string";case"ZodNumber":case"number":return"number";case"ZodBoolean":case"boolean":return"boolean";case"ZodLiteral":case"literal":{const o=t.values,s=(o==null?void 0:o[0])??t.value;return JSON.stringify(s)}case"ZodEnum":case"enum":{let o;if(Array.isArray(t.values))o=t.values;else if(t.entries&&typeof t.entries=="object")o=Object.values(t.entries);else return"enum";return o.map(s=>`"${s}"`).join(" | ")}case"ZodArray":case"array":{const o=typeof t.element=="object"?t.element:typeof t.type=="object"?t.type:void 0;return o?`Array<${je(o)}>`:"Array<unknown>"}case"ZodObject":case"object":{const o=typeof t.shape=="function"?t.shape():t.shape;return o?`{ ${Object.entries(o).map(([i,a])=>{const c=st(a);return`${i}${c==="ZodOptional"||c==="ZodNullable"||c==="optional"||c==="nullable"?"?":""}: ${je(a)}`}).join(", ")} }`:"object"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":{const o=t.innerType??t.wrapped;return o?je(o):"unknown"}case"ZodUnion":case"union":{const o=t.options;return o?o.map(s=>je(s)).join(" | "):"unknown"}case"ZodRecord":case"record":{const o=t.keyType??void 0,s=t.valueType??t.element??void 0,i=o?je(o):"string",a=s?je(s):"unknown";return`Record<${i}, ${a}>`}case"ZodDefault":case"default":{const o=t.innerType??t.wrapped;return o?je(o):"unknown"}default:return"unknown"}}function ho(e){return typeof e.type=="string"?e.type:typeof e.typeName=="string"?e.typeName:""}function fo(e){return e.startsWith("Zod")?e.slice(3).toLowerCase():e.toLowerCase()}function qe(e,t=!1){const n=e._def;switch(fo(ho(n))){case"string":return{type:"string"};case"number":return{type:"number"};case"boolean":return{type:"boolean"};case"literal":{const s=n.values;return{const:s?s[0]:n.value}}case"enum":{const s=n.entries;return{enum:(s?Object.values(s):n.values)??[]}}case"array":{const s=n.element??n.type;return{type:"array",items:s?qe(s,t):{}}}case"object":{const s=n.shape,i=typeof s=="function"?s():s;if(!i)return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object"};const a={},c=[];for(const[l,d]of Object.entries(i)){const p=d._def,m=fo(ho(p)),h=m==="optional"||m==="nullable";if(t)if(c.push(l),h){const f=qe(d,t);a[l]={anyOf:[f,{type:"null"}]}}else a[l]=qe(d,t);else a[l]=qe(d),h||c.push(l)}return{type:"object",properties:a,required:c.length>0?c:void 0,additionalProperties:!1}}case"record":{const s=n.valueType;return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object",additionalProperties:s?qe(s):!0}}case"optional":case"nullable":{const s=n.innerType;return s?qe(s,t):{}}case"union":{const s=n.options;return s?{anyOf:s.map(i=>qe(i,t))}:{}}case"any":case"unknown":return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{};default:return{}}}function Tc(e,t){return e.createCatalog(t)}var Ac=kc(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."]}),Es=u.createContext(null);function zc(e,t){return e?null:Object.keys(t).length===0?{}:fr(t)}function Ic({store:e,initialState:t={},onStateChange:n,children:o}){const s=u.useRef(void 0);!e&&!s.current&&(s.current=Oi(t));const i=e??s.current,a=u.useRef(i);a.current=i;const c=u.useRef(!!e);c.current=!!e;const l=u.useRef(e?"controlled":"uncontrolled"),d=u.useRef(!1);if(process.env.NODE_ENV!=="production"){const b=e?"controlled":"uncontrolled";b!==l.current&&!d.current&&(d.current=!0,console.warn(`StateProvider: switching from ${l.current} to ${b} mode is not supported.`))}const p=u.useRef(t),m=u.useRef(zc(!!e,t));u.useEffect(()=>{if(e||t===p.current)return;p.current=t;const b=t&&Object.keys(t).length>0?fr(t):{},N=m.current??{},j=new Set([...Object.keys(N),...Object.keys(b)]),g={};for(const _ of j)N[_]!==b[_]&&(g[_]=_ in b?b[_]:void 0);m.current=b,Object.keys(g).length>0&&i.update(g)},[e,t,i]);const h=u.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getServerSnapshot??i.getSnapshot),f=u.useRef(n);f.current=n;const y=u.useCallback((b,N)=>{var _;const j=a.current,g=j.getSnapshot();j.set(b,N),!c.current&&j.getSnapshot()!==g&&((_=f.current)==null||_.call(f,[{path:b,value:N}]))},[]),w=u.useCallback(b=>{var g;const N=a.current,j=N.getSnapshot();if(N.update(b),!c.current&&N.getSnapshot()!==j){const _=[];for(const[A,R]of Object.entries(b))ie(j,A)!==R&&_.push({path:A,value:R});_.length>0&&((g=f.current)==null||g.call(f,_))}},[]),k=u.useCallback(b=>a.current.get(b),[]),x=u.useCallback(()=>a.current.getSnapshot(),[]),S=u.useMemo(()=>({state:h,get:k,set:y,update:w,getSnapshot:x}),[h,k,y,w,x]);return r.jsx(Es.Provider,{value:S,children:o})}function Ht(){const e=u.useContext(Es);if(!e)throw new Error("useStateStore must be used within a StateProvider");return e}var Ts=u.createContext(null);function Mc({children:e}){const{state:t}=Ht(),n=u.useMemo(()=>({stateModel:t}),[t]),o=u.useMemo(()=>i=>wt(i,n),[n]),s=u.useMemo(()=>({isVisible:o,ctx:n}),[o,n]);return r.jsx(Ts.Provider,{value:s,children:e})}function Rc(){const e=u.useContext(Ts);if(!e)throw new Error("useVisibility must be used within a VisibilityProvider");return e}var As=u.createContext(null);function Pc(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(const s of n){const i=e[s],a=t[s];if(i!==a){if(typeof i=="object"&&i!==null&&typeof a=="object"&&a!==null){const c=i.$state,l=a.$state;if(typeof c=="string"&&c===l)continue}return!1}}return!0}function Oc(e,t){if(e===t)return!0;if(e.validateOn!==t.validateOn)return!1;const n=e.checks??[],o=t.checks??[];if(n.length!==o.length)return!1;for(let s=0;s<n.length;s++){const i=n[s],a=o[s];if(i.type!==a.type||i.message!==a.message||!Pc(i.args,a.args))return!1}return!0}function $c({customFunctions:e={},children:t}){const{state:n,getSnapshot:o}=Ht(),[s,i]=u.useState({}),a=u.useRef({}),[c,l]=u.useState({}),d=u.useCallback((w,k)=>{l(x=>{const S=x[w];return S&&Oc(S,k)?x:{...x,[w]:k}})},[]),p=u.useCallback((w,k)=>{var g;const x=o(),S=w.split("/").filter(Boolean);let b=x;for(const _ of S)if(b!=null&&typeof b=="object")b=b[_];else{b=void 0;break}const N=mc(k,{value:b,stateModel:x,customFunctions:e}),j={touched:((g=a.current[w])==null?void 0:g.touched)??!0,validated:!0,result:N};return a.current={...a.current,[w]:j},i(a.current),N},[e,o]),m=u.useCallback(w=>{var k,x;a.current={...a.current,[w]:{...a.current[w],touched:!0,validated:((k=a.current[w])==null?void 0:k.validated)??!1,result:((x=a.current[w])==null?void 0:x.result)??null}},i(a.current)},[]),h=u.useCallback(w=>{const{[w]:k,...x}=a.current;a.current=x,i(x)},[]),f=u.useCallback(()=>{let w=!0;for(const[k,x]of Object.entries(c))p(k,x).valid||(w=!1);return w},[c,p]),y=u.useMemo(()=>({customFunctions:e,get fieldStates(){return a.current},validate:p,touch:m,clear:h,validateAll:f,registerField:d}),[e,s,p,m,h,f,d]);return r.jsx(As.Provider,{value:y,children:t})}function Lc(){return u.useContext(As)}var go=0;function xo(){return go+=1,`${Date.now()}-${go}`}function qn(e,t){if(e==null)return e;if(e==="$id")return xo();if(typeof e=="object"&&!Array.isArray(e)){const n=e,o=Object.keys(n);if(o.length===1&&typeof n.$state=="string")return t(n.$state);if(o.length===1&&"$id"in n)return xo()}if(Array.isArray(e))return e.map(n=>qn(n,t));if(typeof e=="object"){const n={};for(const[o,s]of Object.entries(e))n[o]=qn(s,t);return n}return e}var zs=u.createContext(null);function Dc({handlers:e={},navigate:t,children:n}){const{get:o,set:s,getSnapshot:i}=Ht(),a=Lc(),[c,l]=u.useState(e),[d,p]=u.useState(new Set),[m,h]=u.useState(null),f=u.useCallback((S,b)=>{l(N=>({...N,[S]:b}))},[]),y=u.useCallback(async S=>{var A;const b=lc(S,i()),N=nc(),j=Date.now();ec({id:N,name:b.action,params:b.params,at:j});let g=!0,_;try{if(b.action==="setState"&&b.params){const P=b.params.statePath,O=b.params.value;P&&s(P,O);return}if(b.action==="pushState"&&b.params){const P=b.params.statePath,O=b.params.value;if(P){const I=qn(O,o),B=o(P)??[];s(P,[...B,I]);const E=b.params.clearStatePath;E&&s(E,"")}return}if(b.action==="removeState"&&b.params){const P=b.params.statePath,O=b.params.index;if(P!==void 0&&O!==void 0){const I=o(P)??[];s(P,I.filter((B,E)=>E!==O))}return}if(b.action==="push"&&b.params){const P=b.params.screen;if(P){const O=o("/currentScreen"),I=o("/navStack")??[];O?s("/navStack",[...I,O]):s("/navStack",[...I,""]),s("/currentScreen",P)}return}if(b.action==="pop"){const P=o("/navStack")??[];if(P.length>0){const O=P[P.length-1];s("/navStack",P.slice(0,-1)),O?s("/currentScreen",O):s("/currentScreen",void 0)}return}if(b.action==="validateForm"){const P=a==null?void 0:a.validateAll;if(!P){console.warn("validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.");return}const O=P(),I={};for(const[E,M]of Object.entries(a.fieldStates))M.result&&!M.result.valid&&(I[E]=M.result.errors);const B=((A=b.params)==null?void 0:A.statePath)||"/formValidation";s(B,{valid:O,errors:I});return}const R=c[b.action];if(!R){console.warn(`No handler registered for action: ${b.action}`);return}if(b.confirm)return new Promise((P,O)=>{h({action:b,handler:R,resolve:()=>{h(null),P()},reject:()=>{h(null),O(new Error("Action cancelled"))}})}).then(async()=>{p(P=>new Set(P).add(b.action));try{await uo({action:b,handler:R,setState:s,navigate:t,executeAction:async P=>{await y({action:P})}})}finally{p(P=>{const O=new Set(P);return O.delete(b.action),O})}});p(P=>new Set(P).add(b.action));try{await uo({action:b,handler:R,setState:s,navigate:t,executeAction:async P=>{await y({action:P})}})}finally{p(P=>{const O=new Set(P);return O.delete(b.action),O})}}catch(R){throw g=!1,_=R,R}finally{const R=Date.now();tc({id:N,name:b.action,ok:g,at:R,durationMs:R-j,error:_})}},[c,o,s,i,t,a]),w=u.useCallback(()=>{m==null||m.resolve()},[m]),k=u.useCallback(()=>{m==null||m.reject()},[m]),x=u.useMemo(()=>({handlers:c,loadingActions:d,pendingConfirmation:m,execute:y,confirm:w,cancel:k,registerHandler:f}),[c,d,m,y,w,k,f]);return r.jsx(zs.Provider,{value:x,children:n})}function Is(){const e=u.useContext(zs);if(!e)throw new Error("useActions must be used within an ActionProvider");return e}function Fc({confirm:e,onConfirm:t,onCancel:n}){const o=e.variant==="danger";return r.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:50},onClick:n,children:r.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:s=>s.stopPropagation(),children:[r.jsx("h3",{style:{margin:"0 0 8px 0",fontSize:"18px",fontWeight:600},children:e.title}),r.jsx("p",{style:{margin:"0 0 24px 0",color:"#6b7280"},children:e.message}),r.jsxs("div",{style:{display:"flex",gap:"12px",justifyContent:"flex-end"},children:[r.jsx("button",{onClick:n,style:{padding:"8px 16px",borderRadius:"6px",border:"1px solid #d1d5db",backgroundColor:"white",cursor:"pointer"},children:e.cancelLabel??"Cancel"}),r.jsx("button",{onClick:t,style:{padding:"8px 16px",borderRadius:"6px",border:"none",backgroundColor:o?"#dc2626":"#3b82f6",color:"white",cursor:"pointer"},children:e.confirmLabel??"Confirm"})]})]})})}var Ms=u.createContext(null);function Wc({item:e,index:t,basePath:n,children:o}){return r.jsx(Ms.Provider,{value:{item:e,index:t,basePath:n},children:o})}function Hc(){return u.useContext(Ms)}var Bc=class extends u.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}},Rs={},Ps=u.createContext(Rs);function Uc(){return u.useContext(Ps)}var Os=u.createContext(void 0);function qc(){return u.useContext(Os)}function Vc(){return u.useSyncExternalStore(sc,oc,()=>!1)}var $s=u.memo(function e({element:t,elementKey:n,spec:o,registry:s,loading:i,fallback:a}){var W;const c=Vc(),l=Hc(),{ctx:d}=Rc(),{execute:p}=Is(),{getSnapshot:m,state:h}=Ht(),f=Uc(),y=qc(),w=u.useMemo(()=>{const $=l?{...d,repeatItem:l.item,repeatIndex:l.index,repeatBasePath:l.basePath}:{...d};return $.functions=f,$.directives=y,$},[d,l,f,y]),k=t.visible===void 0?!0:wt(t.visible,w),x=t.on,S=u.useCallback(async $=>{const q=x==null?void 0:x[$];if(!q)return;const V=Array.isArray(q)?q:[q];for(const U of V){if(!U.params){await p(U);continue}const D={...w,stateModel:m()},Z={};for(const[ne,L]of Object.entries(U.params))Z[ne]=ao(L,D);await p({...U,params:Z})}},[x,p,w,m]),b=u.useCallback($=>{const q=x==null?void 0:x[$];if(!q)return{emit:()=>{},shouldPreventDefault:!1,bound:!1};const U=(Array.isArray(q)?q:[q]).some(D=>D.preventDefault);return{emit:()=>S($),shouldPreventDefault:U,bound:!0}},[x,S]),N=t.watch,j=u.useRef(null),g=u.useRef(void 0),_=u.useMemo(()=>{if(!N)return;const $={};for(const V of Object.keys(N))$[V]=ie(h,V);const q=g.current;if(q){const V=Object.keys($);if(V.length===Object.keys(q).length&&V.every(U=>$[U]===q[U]))return q}return g.current=$,$},[N,h]);if(u.useEffect(()=>{if(!N||!_)return;const $=Object.keys(N);if($.length===0)return;const q=j.current;if(j.current=_,q===null)return;let V=!1;return(async()=>{for(const U of $){if(V)break;if(_[U]!==q[U]){const D=N[U];if(!D)continue;const Z=Array.isArray(D)?D:[D];for(const ne of Z){if(V)break;if(!ne.params){if(await p(ne),V)break;continue}const L={...w,stateModel:m()},X={};for(const[K,re]of Object.entries(ne.params))X[K]=ao(re,L);if(await p({...ne,params:X}),V)break}}}})().catch(console.error),()=>{V=!0}},[N,_,p,w,m]),!k)return null;const A=t.props,R=Qi(A,w),P=Ji(A,w),O=P!==t.props?{...t,props:P}:t,I=s[O.type]??a;if(!I)return console.warn(`No renderer for component type: ${O.type}`),null;const B=O.repeat?r.jsx(Yc,{element:O,spec:o,registry:s,loading:i,fallback:a}):(W=O.children)==null?void 0:W.map($=>{const q=o.elements[$];return q?r.jsx(e,{element:q,elementKey:$,spec:o,registry:s,loading:i,fallback:a},$):(i||console.warn(`[json-render] Missing element "${$}" referenced as child of "${O.type}". This element will not render.`),null)}),E=r.jsx(I,{element:O,emit:S,on:b,bindings:R,loading:i,children:B}),M=c&&n?r.jsx("span",{"data-jr-key":n,style:{display:"contents"},children:E}):E;return r.jsx(Bc,{elementType:O.type,children:M})});function Yc({element:e,spec:t,registry:n,loading:o,fallback:s}){const{state:i}=Ht(),a=e.repeat,c=a.statePath,l=ie(i,c)??[];return r.jsx(r.Fragment,{children:l.map((d,p)=>{var h;const m=a.key&&typeof d=="object"&&d!==null?String(d[a.key]??p):String(p);return r.jsx(Wc,{item:d,index:p,basePath:`${c}/${p}`,children:(h=e.children)==null?void 0:h.map(f=>{const y=t.elements[f];return y?r.jsx($s,{element:y,elementKey:f,spec:t,registry:n,loading:o,fallback:s},f):(o||console.warn(`[json-render] Missing element "${f}" referenced as child of "${e.type}" (repeat). This element will not render.`),null)})},m)})})}function Xc({spec:e,registry:t,loading:n,fallback:o}){if(!e||!e.root)return null;const s=e.elements[e.root];return s?r.jsx($s,{element:s,elementKey:e.root,spec:e,registry:t,loading:n,fallback:o}):null}function Gc({registry:e,store:t,initialState:n,handlers:o,navigate:s,validationFunctions:i,functions:a,directives:c,onStateChange:l,children:d}){const p=u.useMemo(()=>c?qi(c):void 0,[c]);return r.jsx(Ic,{store:t,initialState:n,onStateChange:l,children:r.jsx(Mc,{children:r.jsx($c,{customFunctions:i,children:r.jsx(Dc,{handlers:o,navigate:s,children:r.jsx(Ps.Provider,{value:a??Rs,children:r.jsxs(Os.Provider,{value:p,children:[d,r.jsx(Kc,{})]})})})})})})}function Kc(){const{pendingConfirmation:e,confirm:t,cancel:n}=Is();return e!=null&&e.action.confirm?r.jsx(Fc,{confirm:e.action.confirm,onConfirm:t,onCancel:n}):null}function Zc(e,t){const n={};if(t.components)for(const[a,c]of Object.entries(t.components))n[a]=({element:l,children:d,emit:p,on:m,bindings:h,loading:f})=>c({props:l.props,children:d,emit:p,on:m,bindings:h,loading:f});const o=t.actions?Object.entries(t.actions):[];return{registry:n,handlers:(a,c)=>{const l={};for(const[d,p]of o)l[d]=async m=>{const h=a(),f=c();h&&await p(m,h,f)};return l},executeAction:async(a,c,l,d={})=>{const p=o.find(([m])=>m===a);p?await p[1](c,l,d):console.warn(`Unknown action: ${a}`)}}}function Jc(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 Qc(e){const t={root:"",elements:{}};let n=!1;for(const o of e)if(o.type===Pi){if(!Jc(o.data))continue;const s=o.data;if(s.type==="patch")n=!0,zi(t,s.patch);else if(s.type==="flat")n=!0,Object.assign(t,s.spec);else if(s.type==="nested"){n=!0;const i=Ii(s.spec);Object.assign(t,i)}}return n?t:null}function ee(){const{dir:e}=C.useDocumentDir(),t=C.useConfig();return u.useMemo(()=>{const n=Q.resolveLanguage(t.language);return{t:(s,i)=>Q.getTranslation(s,n,t.translationOverrides,i),language:n,dir:Q.isRtlLanguage(n)?"rtl":"ltr",hostDocumentDir:e}},[t.language,t.translationOverrides,e])}function Ls(e){const t=Q.resolveLanguage(e);return(n,o)=>Q.getTranslation(n,t,void 0,o)}const el={t:Ls("en"),anchorTarget:"_blank"},Ds=u.createContext(el);function tl({host:e,children:t}){return r.jsx(Ds.Provider,{value:e,children:t})}function Bt(){return u.useContext(Ds)}function nl({language:e,onUiAction:t,anchorTarget:n="_blank"}){return u.useMemo(()=>({t:Ls(e),anchorTarget:n,onUiAction:t}),[e,n,t])}class rl extends u.Component{constructor(){super(...arguments);eo(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n){Q.log.error("json-render: spec failed to render",{_e:n instanceof Error?n.message:String(n)})}componentDidUpdate(n){this.state.hasError&&n.resetKey!==this.props.resetKey&&this.setState({hasError:!1})}render(){return this.state.hasError?null:this.props.children}}function ol(e){if(!e.elements)return e;let t=!1;const n={};for(const[o,s]of Object.entries(e.elements)){const i=sl(s,e);i!==s&&(t=!0),n[o]=i}return t?{...e,elements:n}:e}function sl(e,t){if(e.type!=="List")return e;const n=e.repeat;if(!n||typeof n.statePath!="string")return e;const o=Q.isRecord(e.props)?e.props:{},s=o.items;if(Array.isArray(s)&&s.length>0)return e;const a=ie(t.state??{},n.statePath);if(!Array.isArray(a)||a.length===0)return e;const{repeat:c,...l}=e;return{...l,props:{...o,items:a}}}function T(...e){return yi.twMerge(wi.clsx(e))}const al=u.lazy(()=>Promise.resolve().then(()=>require("./Chart.impl--lw4WUeY.cjs")));function il(e){const t=e.height??220;return r.jsx(u.Suspense,{fallback:r.jsx(cl,{height:t}),children:r.jsx(al,{...e})})}function cl({height:e}){return r.jsx("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0})}const Fs=v.z.object({title:v.z.string().nullish(),description:v.z.string().nullish()}),Ws=v.z.object({direction:v.z.enum(["row","column"]).nullish(),gap:v.z.enum(["sm","md","lg"]).nullish(),align:v.z.enum(["start","center","end","stretch"]).nullish(),justify:v.z.enum(["start","center","end","between"]).nullish()}),Hs=v.z.object({columns:v.z.union([v.z.literal(1),v.z.literal(2),v.z.literal(3)]).nullish(),gap:v.z.enum(["sm","md","lg"]).nullish()}),Bs=v.z.object({text:v.z.string(),level:v.z.union([v.z.literal(1),v.z.literal(2),v.z.literal(3),v.z.literal(4)]).nullish()}),Us=v.z.object({text:v.z.string(),variant:v.z.enum(["body","caption","muted","code"]).nullish()}),qs=v.z.object({text:v.z.string(),variant:v.z.enum(["default","secondary","success","warning","destructive"]).nullish()}),ll=new Set(["http:","https:","mailto:"]),dl=v.z.string().nullish().transform(e=>{if(!e)return null;try{return ll.has(new URL(e).protocol)?e:null}catch{return null}}),Vs=v.z.object({id:v.z.string().nullish(),label:v.z.string(),secondary:v.z.string().nullish(),badge:v.z.string().nullish(),status:v.z.enum(["success","warning","error","info","neutral"]).nullish(),href:dl}),Ys=v.z.object({items:v.z.array(Vs),maxVisible:v.z.number().int().positive().nullish()}),ul=v.z.object({items:v.z.array(Vs.extend({href:v.z.string().nullish()})),maxVisible:Ys.shape.maxVisible}),Xs=v.z.object({columns:v.z.array(v.z.string()),rows:v.z.array(v.z.array(v.z.string())),caption:v.z.string().nullish()}),pl=v.z.object({value:v.z.string(),direction:v.z.enum(["up","down","flat"]),label:v.z.string().nullish()}),Gs=v.z.object({label:v.z.string(),value:v.z.string(),description:v.z.string().nullish(),trend:v.z.enum(["up","down","neutral"]).nullish(),delta:pl.nullish()}),Ks=v.z.object({type:v.z.enum(["info","tip","warning","important"]).nullish(),title:v.z.string().nullish(),content:v.z.string()}),ml=v.z.object({label:v.z.string(),value:v.z.number()}),Zs=v.z.object({type:v.z.enum(["bar","line","pie"]),data:v.z.array(ml),title:v.z.string().nullish(),height:v.z.number().int().positive().nullish(),centerLabel:v.z.string().nullish()}),Js=v.z.object({agentId:v.z.string(),agentName:v.z.string(),model:v.z.string().nullish()});function ye(e,t,n){const o=e.safeParse(t);return o.success?o.data:n}const hl=Tc(Ac,{components:{Card:{props:Fs,slots:["default"],description:"Container card with an optional title/description. Group related content.",example:{title:"Order summary",description:"Placed 2 days ago"}},Stack:{props:Ws,slots:["default"],description:'Flex layout. Use direction="row" for side-by-side, "column" (default) to stack.'},Grid:{props:Hs,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:Bs,description:"Section heading. level 1 (largest) to 4.",example:{text:"Your orders",level:3}},Text:{props:Us,description:'A paragraph of text. variant "muted"/"caption" for secondary text, "code" for monospace.'},Badge:{props:qs,description:"Small status pill. Use variant to convey state (success/warning/destructive).",example:{text:"Delivered",variant:"success"}},List:{props:ul,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:Xs,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:Gs,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:Ks,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:Js,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:Zs,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:{}});function Vn({height:e=64}){return r.jsx("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0})}const bo={sm:"gap-1.5",md:"gap-3",lg:"gap-4"},fl="10rem";function gl(e){return e===1?"minmax(0, 1fr)":`repeat(auto-fit, minmax(max(${fl}, calc(100% / ${e} - 1rem)), 1fr))`}const{registry:wo}=Zc(hl,{components:{Card:({props:e,children:t,loading:n})=>{const o=ye(Fs,e,{});return r.jsxs("div",{className:"flex flex-col gap-2 rounded-xl border border-muted-foreground/15 p-3",children:[(o.title||o.description)&&r.jsxs("div",{className:"flex flex-col gap-0.5",children:[o.title&&r.jsx("div",{className:"text-sm font-semibold text-foreground",children:o.title}),o.description&&r.jsx("div",{className:"text-xs text-muted-foreground",children:o.description})]}),zn(t,n)]})},Stack:({props:e,children:t,loading:n})=>{const o=ye(Ws,e,{}),s={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"}[o.align??"stretch"],i={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between"}[o.justify??"start"];return r.jsx("div",{className:T("flex",o.direction==="row"?"flex-row":"flex-col",bo[o.gap??"md"],s,i),children:zn(t,n)})},Grid:({props:e,children:t,loading:n})=>{const o=ye(Hs,e,{});return r.jsx("div",{className:T("grid",bo[o.gap??"md"]),style:{gridTemplateColumns:gl(o.columns??1)},children:zn(t,n)})},Heading:({props:e})=>{const t=ye(Bs,e,{text:""}),n=t.level??3,o={1:"text-xl font-bold",2:"text-lg font-bold",3:"text-base font-semibold",4:"text-sm font-semibold"}[n]??"text-base font-semibold";return u.createElement(`h${n}`,{className:T("text-foreground",o)},t.text)},Text:({props:e})=>{const t=ye(Us,e,{text:""});if(t.variant==="code")return r.jsx("code",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground",children:t.text});const n=t.variant==="muted"||t.variant==="caption";return r.jsx("p",{className:T("whitespace-pre-wrap",n?"text-xs text-muted-foreground":"text-sm text-foreground"),children:t.text})},Badge:({props:e})=>{const t=ye(qs,e,{text:""}),n={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 r.jsx("span",{className:T("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",n),children:t.text})},List:({props:e,loading:t})=>{const n=ye(Ys,e,{items:[]});return n.items.length===0?t?r.jsx(Vn,{}):r.jsx(yo,{translationKey:"json_no_items"}):r.jsx(El,{items:n.items,maxVisible:n.maxVisible})},Table:({props:e,loading:t})=>{const n=ye(Xs,e,{columns:[],rows:[]});return t&&n.rows.length===0?r.jsx(Vn,{}):n.columns.length===0?r.jsx(yo,{translationKey:"json_no_data"}):r.jsx("div",{className:"overflow-x-auto rounded-lg border border-muted-foreground/15",children:r.jsxs("table",{className:"w-full text-sm",children:[n.caption&&r.jsx("caption",{className:"px-3 py-2 text-start text-xs text-muted-foreground",children:n.caption}),r.jsx("thead",{children:r.jsx("tr",{className:"border-b border-muted-foreground/15 bg-muted/40",children:n.columns.map((o,s)=>r.jsx("th",{className:"px-3 py-2 text-start font-medium text-foreground",children:o},s))})}),r.jsx("tbody",{children:n.rows.map((o,s)=>r.jsx("tr",{className:"border-b border-muted-foreground/10 last:border-0",children:o.map((i,a)=>r.jsx("td",{className:"px-3 py-2 text-muted-foreground",children:i},a))},s))})]})})},Metric:({props:e})=>{const t=ye(Gs,e,{label:"",value:""});return r.jsx(Sl,{label:t.label,value:t.value,description:t.description,trend:t.trend,delta:t.delta})},Callout:({props:e})=>{const t=ye(Ks,e,{content:""}),n=bl[t.type??"info"],o=n.Icon;return r.jsxs("div",{className:T("flex gap-2 rounded-lg border-l-2 p-3",n.cls),children:[r.jsx(o,{className:"mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"flex flex-col gap-0.5",children:[t.title&&r.jsx("span",{className:"text-sm font-semibold",children:t.title}),r.jsx("span",{className:"text-sm",children:t.content})]})]})},PhoneAgentCard:({props:e})=>{const t=ye(Js,e,{agentId:"",agentName:""});return r.jsx(yl,{...t})},Chart:({props:e})=>{const t=ye(Zs,e,{type:"bar",data:[]});return r.jsxs("div",{className:"flex flex-col gap-1",children:[t.title&&r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:t.title}),r.jsx(il,{...t})]})}}}),xl=({element:e})=>{const{t}=Bt();return r.jsx("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})})},bl={info:{Icon:z.Info,cls:"border-l-blue-500 bg-blue-500/5 text-foreground"},tip:{Icon:z.Lightbulb,cls:"border-l-emerald-500 bg-emerald-500/5 text-foreground"},warning:{Icon:z.AlertTriangle,cls:"border-l-amber-500 bg-amber-500/5 text-foreground"},important:{Icon:z.AlertCircle,cls:"border-l-red-500 bg-red-500/5 text-foreground"}};function zn(e,t){return u.Children.toArray(e).length>0?e:t?r.jsx(Vn,{}):null}function yo({translationKey:e}){const{t}=Bt();return r.jsx("div",{className:"rounded-lg border border-muted-foreground/15 px-3 py-2 text-xs text-muted-foreground",children:t(e)})}const wl="oppie-vox-livekit";function yl({agentId:e,agentName:t,model:n}){const{t:o,onUiAction:s}=Bt(),i=!!s&&!!e&&n===wl;return r.jsxs("div",{className:"flex w-full flex-col gap-3 rounded-xl border border-muted-foreground/15 p-3",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:r.jsx(z.Phone,{className:"size-4","aria-hidden":!0})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:t}),r.jsx("div",{className:"text-xs text-muted-foreground",children:o("json_phone_agent")})]})]}),i&&r.jsxs("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:()=>s==null?void 0:s({type:"test-phone-agent",payload:{agentId:e,model:n??null}}),children:[r.jsx(z.Play,{className:"size-4","aria-hidden":!0}),o("json_phone_agent_test")]})]})}const vl={up:"↑",down:"↓",neutral:"→"},kl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",neutral:"text-muted-foreground"},jl={up:"↑",down:"↓",flat:"→"},Cl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",flat:"text-muted-foreground"};function Sl({label:e,value:t,description:n,trend:o,delta:s}){return r.jsxs("div",{className:"min-w-[140px] space-y-1 rounded-xl border border-muted-foreground/15 p-3",children:[r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:e}),r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx("span",{className:"text-2xl font-medium tracking-tight text-foreground",children:t}),o?r.jsx("span",{className:T("text-sm font-medium",kl[o]),children:vl[o]}):null]}),s?r.jsxs("div",{className:"flex items-baseline gap-1 text-xs",children:[r.jsxs("span",{className:T("font-medium",Cl[s.direction]),children:[jl[s.direction]," ",s.value]}),s.label?r.jsx("span",{className:"text-muted-foreground",children:s.label}):null]}):null,n?r.jsx("span",{className:"block text-xs text-muted-foreground",children:n}):null]})}const Nl={success:"bg-emerald-500",warning:"bg-amber-500",error:"bg-red-500",info:"bg-blue-500",neutral:"bg-muted-foreground/40"};function _l({item:e,showBadge:t,showSecondary:n,showStatus:o}){return r.jsxs(r.Fragment,{children:[t&&(e.badge?r.jsx("span",{className:"block min-w-0 truncate text-xs font-medium",title:e.badge,children:e.badge}):r.jsx("span",{})),r.jsx("span",{className:"block min-w-0 truncate",title:e.label,children:e.label}),n&&(e.secondary?r.jsx("span",{className:"block min-w-0 truncate text-xs text-muted-foreground",title:e.secondary,children:e.secondary}):r.jsx("span",{})),o&&(e.status?r.jsx("span",{className:T("size-2 rounded-full",Nl[e.status]),"aria-hidden":!0}):r.jsx("span",{}))]})}function El({items:e,maxVisible:t}){const n=t??10,{anchorTarget:o,t:s}=Bt(),[i,a]=u.useState(!1),c=e.length>n,l=i?e:e.slice(0,n),d=l.some(y=>!!y.badge),p=l.some(y=>!!y.secondary),m=l.some(y=>!!y.status),h=[d&&"auto","minmax(0,1fr)",p&&"minmax(0,2fr)",m&&"auto"].filter(Boolean).join(" "),f="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 r.jsxs("div",{className:"grid overflow-hidden rounded-lg border border-muted-foreground/15",style:{gridTemplateColumns:h},children:[l.map((y,w)=>{const k=y.id??`row-${w}`,x=r.jsx(_l,{item:y,showBadge:d,showSecondary:p,showStatus:m});return y.href?r.jsx("a",{href:y.href,target:o||"_top",rel:"noopener noreferrer",className:T(f,"transition-colors hover:bg-muted/50",w>0&&"border-t border-muted-foreground/10"),children:x},k):r.jsx("div",{className:T(f,w>0&&"border-t border-muted-foreground/10"),children:x},k)}),c&&r.jsx("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(y=>!y),children:i?r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronUp,{className:"size-3"}),s("json_see_less")]}):r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronDown,{className:"size-3"}),s("json_see_more",{count:e.length-n})]})})]})}function Qs({spec:e,active:t=!1}){const{anchorTarget:n,onUiAction:o}=C.useConfig(),{t:s}=ee(),i=u.useMemo(()=>({t:s,anchorTarget:n??"_blank",onUiAction:o}),[s,n,o]);return r.jsx(ea,{spec:e,host:i,active:t})}function Tl({spec:e,language:t,onUiAction:n,anchorTarget:o}){const s=nl({language:t,onUiAction:n,anchorTarget:o});return r.jsx(ea,{spec:e,host:s})}function ea({spec:e,host:t,active:n=!1}){return r.jsx(tl,{host:t,children:r.jsx(rl,{resetKey:e,children:r.jsx(Al,{spec:e,active:n})})})}function Al({spec:e,active:t}){const n=u.useMemo(()=>e?ol(e):null,[e]);return!n||!Ns(n)?null:r.jsx(Gc,{registry:wo,initialState:n.state,children:r.jsx(Xc,{spec:n,registry:wo,loading:t,fallback:xl})})}function ta(e){if(!e)return[];const t=e.split(`
|
|
11
|
+
`)}function mo(e){return e.example&&Object.keys(e.example).length>0?e.example:e.props?_s(e.props):{}}function _s(e){if(!e||!e._def)return{};const t=e._def,n=st(e);if(n!=="ZodObject"&&n!=="object")return{};const o=typeof t.shape=="function"?t.shape():t.shape;if(!o)return{};const s={};for(const[i,a]of Object.entries(o)){const c=st(a);c==="ZodOptional"||c==="optional"||c==="ZodNullable"||c==="nullable"||(s[i]=Un(a))}return s}function Un(e){if(!e||!e._def)return"...";const t=e._def;switch(st(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 o=Object.values(t.entries);return o.length>0?o[0]:"example"}return"example"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":case"ZodDefault":case"default":{const o=t.innerType??t.wrapped;return o?Un(o):null}case"ZodArray":case"array":return[];case"ZodObject":case"object":return _s(e);case"ZodUnion":case"union":{const o=t.options;return o&&o.length>0?Un(o[0]):"..."}default:return"..."}}function Ec(e){if(!e||!e._def)return null;const t=e._def,n=st(e);if(n!=="ZodObject"&&n!=="object")return null;const o=typeof t.shape=="function"?t.shape():t.shape;if(!o)return null;for(const[s,i]of Object.entries(o)){const a=st(i);if(!(a==="ZodOptional"||a==="optional"||a==="ZodNullable"||a==="nullable")&&(a==="ZodString"||a==="string"))return s}return null}function st(e){if(!e||!e._def)return"";const t=e._def;return t.typeName??t.type??""}function je(e){if(!e||!e._def)return"unknown";const t=e._def;switch(st(e)){case"ZodString":case"string":return"string";case"ZodNumber":case"number":return"number";case"ZodBoolean":case"boolean":return"boolean";case"ZodLiteral":case"literal":{const o=t.values,s=(o==null?void 0:o[0])??t.value;return JSON.stringify(s)}case"ZodEnum":case"enum":{let o;if(Array.isArray(t.values))o=t.values;else if(t.entries&&typeof t.entries=="object")o=Object.values(t.entries);else return"enum";return o.map(s=>`"${s}"`).join(" | ")}case"ZodArray":case"array":{const o=typeof t.element=="object"?t.element:typeof t.type=="object"?t.type:void 0;return o?`Array<${je(o)}>`:"Array<unknown>"}case"ZodObject":case"object":{const o=typeof t.shape=="function"?t.shape():t.shape;return o?`{ ${Object.entries(o).map(([i,a])=>{const c=st(a);return`${i}${c==="ZodOptional"||c==="ZodNullable"||c==="optional"||c==="nullable"?"?":""}: ${je(a)}`}).join(", ")} }`:"object"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":{const o=t.innerType??t.wrapped;return o?je(o):"unknown"}case"ZodUnion":case"union":{const o=t.options;return o?o.map(s=>je(s)).join(" | "):"unknown"}case"ZodRecord":case"record":{const o=t.keyType??void 0,s=t.valueType??t.element??void 0,i=o?je(o):"string",a=s?je(s):"unknown";return`Record<${i}, ${a}>`}case"ZodDefault":case"default":{const o=t.innerType??t.wrapped;return o?je(o):"unknown"}default:return"unknown"}}function ho(e){return typeof e.type=="string"?e.type:typeof e.typeName=="string"?e.typeName:""}function fo(e){return e.startsWith("Zod")?e.slice(3).toLowerCase():e.toLowerCase()}function qe(e,t=!1){const n=e._def;switch(fo(ho(n))){case"string":return{type:"string"};case"number":return{type:"number"};case"boolean":return{type:"boolean"};case"literal":{const s=n.values;return{const:s?s[0]:n.value}}case"enum":{const s=n.entries;return{enum:(s?Object.values(s):n.values)??[]}}case"array":{const s=n.element??n.type;return{type:"array",items:s?qe(s,t):{}}}case"object":{const s=n.shape,i=typeof s=="function"?s():s;if(!i)return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object"};const a={},c=[];for(const[l,d]of Object.entries(i)){const p=d._def,m=fo(ho(p)),h=m==="optional"||m==="nullable";if(t)if(c.push(l),h){const f=qe(d,t);a[l]={anyOf:[f,{type:"null"}]}}else a[l]=qe(d,t);else a[l]=qe(d),h||c.push(l)}return{type:"object",properties:a,required:c.length>0?c:void 0,additionalProperties:!1}}case"record":{const s=n.valueType;return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object",additionalProperties:s?qe(s):!0}}case"optional":case"nullable":{const s=n.innerType;return s?qe(s,t):{}}case"union":{const s=n.options;return s?{anyOf:s.map(i=>qe(i,t))}:{}}case"any":case"unknown":return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{};default:return{}}}function Tc(e,t){return e.createCatalog(t)}var Ac=kc(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."]}),Es=u.createContext(null);function zc(e,t){return e?null:Object.keys(t).length===0?{}:fr(t)}function Ic({store:e,initialState:t={},onStateChange:n,children:o}){const s=u.useRef(void 0);!e&&!s.current&&(s.current=Oi(t));const i=e??s.current,a=u.useRef(i);a.current=i;const c=u.useRef(!!e);c.current=!!e;const l=u.useRef(e?"controlled":"uncontrolled"),d=u.useRef(!1);if(process.env.NODE_ENV!=="production"){const b=e?"controlled":"uncontrolled";b!==l.current&&!d.current&&(d.current=!0,console.warn(`StateProvider: switching from ${l.current} to ${b} mode is not supported.`))}const p=u.useRef(t),m=u.useRef(zc(!!e,t));u.useEffect(()=>{if(e||t===p.current)return;p.current=t;const b=t&&Object.keys(t).length>0?fr(t):{},N=m.current??{},j=new Set([...Object.keys(N),...Object.keys(b)]),g={};for(const _ of j)N[_]!==b[_]&&(g[_]=_ in b?b[_]:void 0);m.current=b,Object.keys(g).length>0&&i.update(g)},[e,t,i]);const h=u.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getServerSnapshot??i.getSnapshot),f=u.useRef(n);f.current=n;const y=u.useCallback((b,N)=>{var _;const j=a.current,g=j.getSnapshot();j.set(b,N),!c.current&&j.getSnapshot()!==g&&((_=f.current)==null||_.call(f,[{path:b,value:N}]))},[]),w=u.useCallback(b=>{var g;const N=a.current,j=N.getSnapshot();if(N.update(b),!c.current&&N.getSnapshot()!==j){const _=[];for(const[A,R]of Object.entries(b))ie(j,A)!==R&&_.push({path:A,value:R});_.length>0&&((g=f.current)==null||g.call(f,_))}},[]),k=u.useCallback(b=>a.current.get(b),[]),x=u.useCallback(()=>a.current.getSnapshot(),[]),S=u.useMemo(()=>({state:h,get:k,set:y,update:w,getSnapshot:x}),[h,k,y,w,x]);return r.jsx(Es.Provider,{value:S,children:o})}function Ht(){const e=u.useContext(Es);if(!e)throw new Error("useStateStore must be used within a StateProvider");return e}var Ts=u.createContext(null);function Mc({children:e}){const{state:t}=Ht(),n=u.useMemo(()=>({stateModel:t}),[t]),o=u.useMemo(()=>i=>wt(i,n),[n]),s=u.useMemo(()=>({isVisible:o,ctx:n}),[o,n]);return r.jsx(Ts.Provider,{value:s,children:e})}function Rc(){const e=u.useContext(Ts);if(!e)throw new Error("useVisibility must be used within a VisibilityProvider");return e}var As=u.createContext(null);function Pc(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(const s of n){const i=e[s],a=t[s];if(i!==a){if(typeof i=="object"&&i!==null&&typeof a=="object"&&a!==null){const c=i.$state,l=a.$state;if(typeof c=="string"&&c===l)continue}return!1}}return!0}function Oc(e,t){if(e===t)return!0;if(e.validateOn!==t.validateOn)return!1;const n=e.checks??[],o=t.checks??[];if(n.length!==o.length)return!1;for(let s=0;s<n.length;s++){const i=n[s],a=o[s];if(i.type!==a.type||i.message!==a.message||!Pc(i.args,a.args))return!1}return!0}function $c({customFunctions:e={},children:t}){const{state:n,getSnapshot:o}=Ht(),[s,i]=u.useState({}),a=u.useRef({}),[c,l]=u.useState({}),d=u.useCallback((w,k)=>{l(x=>{const S=x[w];return S&&Oc(S,k)?x:{...x,[w]:k}})},[]),p=u.useCallback((w,k)=>{var g;const x=o(),S=w.split("/").filter(Boolean);let b=x;for(const _ of S)if(b!=null&&typeof b=="object")b=b[_];else{b=void 0;break}const N=mc(k,{value:b,stateModel:x,customFunctions:e}),j={touched:((g=a.current[w])==null?void 0:g.touched)??!0,validated:!0,result:N};return a.current={...a.current,[w]:j},i(a.current),N},[e,o]),m=u.useCallback(w=>{var k,x;a.current={...a.current,[w]:{...a.current[w],touched:!0,validated:((k=a.current[w])==null?void 0:k.validated)??!1,result:((x=a.current[w])==null?void 0:x.result)??null}},i(a.current)},[]),h=u.useCallback(w=>{const{[w]:k,...x}=a.current;a.current=x,i(x)},[]),f=u.useCallback(()=>{let w=!0;for(const[k,x]of Object.entries(c))p(k,x).valid||(w=!1);return w},[c,p]),y=u.useMemo(()=>({customFunctions:e,get fieldStates(){return a.current},validate:p,touch:m,clear:h,validateAll:f,registerField:d}),[e,s,p,m,h,f,d]);return r.jsx(As.Provider,{value:y,children:t})}function Lc(){return u.useContext(As)}var go=0;function xo(){return go+=1,`${Date.now()}-${go}`}function qn(e,t){if(e==null)return e;if(e==="$id")return xo();if(typeof e=="object"&&!Array.isArray(e)){const n=e,o=Object.keys(n);if(o.length===1&&typeof n.$state=="string")return t(n.$state);if(o.length===1&&"$id"in n)return xo()}if(Array.isArray(e))return e.map(n=>qn(n,t));if(typeof e=="object"){const n={};for(const[o,s]of Object.entries(e))n[o]=qn(s,t);return n}return e}var zs=u.createContext(null);function Dc({handlers:e={},navigate:t,children:n}){const{get:o,set:s,getSnapshot:i}=Ht(),a=Lc(),[c,l]=u.useState(e),[d,p]=u.useState(new Set),[m,h]=u.useState(null),f=u.useCallback((S,b)=>{l(N=>({...N,[S]:b}))},[]),y=u.useCallback(async S=>{var A;const b=lc(S,i()),N=nc(),j=Date.now();ec({id:N,name:b.action,params:b.params,at:j});let g=!0,_;try{if(b.action==="setState"&&b.params){const P=b.params.statePath,O=b.params.value;P&&s(P,O);return}if(b.action==="pushState"&&b.params){const P=b.params.statePath,O=b.params.value;if(P){const I=qn(O,o),B=o(P)??[];s(P,[...B,I]);const E=b.params.clearStatePath;E&&s(E,"")}return}if(b.action==="removeState"&&b.params){const P=b.params.statePath,O=b.params.index;if(P!==void 0&&O!==void 0){const I=o(P)??[];s(P,I.filter((B,E)=>E!==O))}return}if(b.action==="push"&&b.params){const P=b.params.screen;if(P){const O=o("/currentScreen"),I=o("/navStack")??[];O?s("/navStack",[...I,O]):s("/navStack",[...I,""]),s("/currentScreen",P)}return}if(b.action==="pop"){const P=o("/navStack")??[];if(P.length>0){const O=P[P.length-1];s("/navStack",P.slice(0,-1)),O?s("/currentScreen",O):s("/currentScreen",void 0)}return}if(b.action==="validateForm"){const P=a==null?void 0:a.validateAll;if(!P){console.warn("validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.");return}const O=P(),I={};for(const[E,M]of Object.entries(a.fieldStates))M.result&&!M.result.valid&&(I[E]=M.result.errors);const B=((A=b.params)==null?void 0:A.statePath)||"/formValidation";s(B,{valid:O,errors:I});return}const R=c[b.action];if(!R){console.warn(`No handler registered for action: ${b.action}`);return}if(b.confirm)return new Promise((P,O)=>{h({action:b,handler:R,resolve:()=>{h(null),P()},reject:()=>{h(null),O(new Error("Action cancelled"))}})}).then(async()=>{p(P=>new Set(P).add(b.action));try{await uo({action:b,handler:R,setState:s,navigate:t,executeAction:async P=>{await y({action:P})}})}finally{p(P=>{const O=new Set(P);return O.delete(b.action),O})}});p(P=>new Set(P).add(b.action));try{await uo({action:b,handler:R,setState:s,navigate:t,executeAction:async P=>{await y({action:P})}})}finally{p(P=>{const O=new Set(P);return O.delete(b.action),O})}}catch(R){throw g=!1,_=R,R}finally{const R=Date.now();tc({id:N,name:b.action,ok:g,at:R,durationMs:R-j,error:_})}},[c,o,s,i,t,a]),w=u.useCallback(()=>{m==null||m.resolve()},[m]),k=u.useCallback(()=>{m==null||m.reject()},[m]),x=u.useMemo(()=>({handlers:c,loadingActions:d,pendingConfirmation:m,execute:y,confirm:w,cancel:k,registerHandler:f}),[c,d,m,y,w,k,f]);return r.jsx(zs.Provider,{value:x,children:n})}function Is(){const e=u.useContext(zs);if(!e)throw new Error("useActions must be used within an ActionProvider");return e}function Fc({confirm:e,onConfirm:t,onCancel:n}){const o=e.variant==="danger";return r.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:50},onClick:n,children:r.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:s=>s.stopPropagation(),children:[r.jsx("h3",{style:{margin:"0 0 8px 0",fontSize:"18px",fontWeight:600},children:e.title}),r.jsx("p",{style:{margin:"0 0 24px 0",color:"#6b7280"},children:e.message}),r.jsxs("div",{style:{display:"flex",gap:"12px",justifyContent:"flex-end"},children:[r.jsx("button",{onClick:n,style:{padding:"8px 16px",borderRadius:"6px",border:"1px solid #d1d5db",backgroundColor:"white",cursor:"pointer"},children:e.cancelLabel??"Cancel"}),r.jsx("button",{onClick:t,style:{padding:"8px 16px",borderRadius:"6px",border:"none",backgroundColor:o?"#dc2626":"#3b82f6",color:"white",cursor:"pointer"},children:e.confirmLabel??"Confirm"})]})]})})}var Ms=u.createContext(null);function Wc({item:e,index:t,basePath:n,children:o}){return r.jsx(Ms.Provider,{value:{item:e,index:t,basePath:n},children:o})}function Hc(){return u.useContext(Ms)}var Bc=class extends u.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}},Rs={},Ps=u.createContext(Rs);function Uc(){return u.useContext(Ps)}var Os=u.createContext(void 0);function qc(){return u.useContext(Os)}function Vc(){return u.useSyncExternalStore(sc,oc,()=>!1)}var $s=u.memo(function e({element:t,elementKey:n,spec:o,registry:s,loading:i,fallback:a}){var W;const c=Vc(),l=Hc(),{ctx:d}=Rc(),{execute:p}=Is(),{getSnapshot:m,state:h}=Ht(),f=Uc(),y=qc(),w=u.useMemo(()=>{const $=l?{...d,repeatItem:l.item,repeatIndex:l.index,repeatBasePath:l.basePath}:{...d};return $.functions=f,$.directives=y,$},[d,l,f,y]),k=t.visible===void 0?!0:wt(t.visible,w),x=t.on,S=u.useCallback(async $=>{const q=x==null?void 0:x[$];if(!q)return;const V=Array.isArray(q)?q:[q];for(const U of V){if(!U.params){await p(U);continue}const D={...w,stateModel:m()},Z={};for(const[ne,L]of Object.entries(U.params))Z[ne]=ao(L,D);await p({...U,params:Z})}},[x,p,w,m]),b=u.useCallback($=>{const q=x==null?void 0:x[$];if(!q)return{emit:()=>{},shouldPreventDefault:!1,bound:!1};const U=(Array.isArray(q)?q:[q]).some(D=>D.preventDefault);return{emit:()=>S($),shouldPreventDefault:U,bound:!0}},[x,S]),N=t.watch,j=u.useRef(null),g=u.useRef(void 0),_=u.useMemo(()=>{if(!N)return;const $={};for(const V of Object.keys(N))$[V]=ie(h,V);const q=g.current;if(q){const V=Object.keys($);if(V.length===Object.keys(q).length&&V.every(U=>$[U]===q[U]))return q}return g.current=$,$},[N,h]);if(u.useEffect(()=>{if(!N||!_)return;const $=Object.keys(N);if($.length===0)return;const q=j.current;if(j.current=_,q===null)return;let V=!1;return(async()=>{for(const U of $){if(V)break;if(_[U]!==q[U]){const D=N[U];if(!D)continue;const Z=Array.isArray(D)?D:[D];for(const ne of Z){if(V)break;if(!ne.params){if(await p(ne),V)break;continue}const L={...w,stateModel:m()},X={};for(const[K,re]of Object.entries(ne.params))X[K]=ao(re,L);if(await p({...ne,params:X}),V)break}}}})().catch(console.error),()=>{V=!0}},[N,_,p,w,m]),!k)return null;const A=t.props,R=Qi(A,w),P=Ji(A,w),O=P!==t.props?{...t,props:P}:t,I=s[O.type]??a;if(!I)return console.warn(`No renderer for component type: ${O.type}`),null;const B=O.repeat?r.jsx(Yc,{element:O,spec:o,registry:s,loading:i,fallback:a}):(W=O.children)==null?void 0:W.map($=>{const q=o.elements[$];return q?r.jsx(e,{element:q,elementKey:$,spec:o,registry:s,loading:i,fallback:a},$):(i||console.warn(`[json-render] Missing element "${$}" referenced as child of "${O.type}". This element will not render.`),null)}),E=r.jsx(I,{element:O,emit:S,on:b,bindings:R,loading:i,children:B}),M=c&&n?r.jsx("span",{"data-jr-key":n,style:{display:"contents"},children:E}):E;return r.jsx(Bc,{elementType:O.type,children:M})});function Yc({element:e,spec:t,registry:n,loading:o,fallback:s}){const{state:i}=Ht(),a=e.repeat,c=a.statePath,l=ie(i,c)??[];return r.jsx(r.Fragment,{children:l.map((d,p)=>{var h;const m=a.key&&typeof d=="object"&&d!==null?String(d[a.key]??p):String(p);return r.jsx(Wc,{item:d,index:p,basePath:`${c}/${p}`,children:(h=e.children)==null?void 0:h.map(f=>{const y=t.elements[f];return y?r.jsx($s,{element:y,elementKey:f,spec:t,registry:n,loading:o,fallback:s},f):(o||console.warn(`[json-render] Missing element "${f}" referenced as child of "${e.type}" (repeat). This element will not render.`),null)})},m)})})}function Xc({spec:e,registry:t,loading:n,fallback:o}){if(!e||!e.root)return null;const s=e.elements[e.root];return s?r.jsx($s,{element:s,elementKey:e.root,spec:e,registry:t,loading:n,fallback:o}):null}function Gc({registry:e,store:t,initialState:n,handlers:o,navigate:s,validationFunctions:i,functions:a,directives:c,onStateChange:l,children:d}){const p=u.useMemo(()=>c?qi(c):void 0,[c]);return r.jsx(Ic,{store:t,initialState:n,onStateChange:l,children:r.jsx(Mc,{children:r.jsx($c,{customFunctions:i,children:r.jsx(Dc,{handlers:o,navigate:s,children:r.jsx(Ps.Provider,{value:a??Rs,children:r.jsxs(Os.Provider,{value:p,children:[d,r.jsx(Kc,{})]})})})})})})}function Kc(){const{pendingConfirmation:e,confirm:t,cancel:n}=Is();return e!=null&&e.action.confirm?r.jsx(Fc,{confirm:e.action.confirm,onConfirm:t,onCancel:n}):null}function Zc(e,t){const n={};if(t.components)for(const[a,c]of Object.entries(t.components))n[a]=({element:l,children:d,emit:p,on:m,bindings:h,loading:f})=>c({props:l.props,children:d,emit:p,on:m,bindings:h,loading:f});const o=t.actions?Object.entries(t.actions):[];return{registry:n,handlers:(a,c)=>{const l={};for(const[d,p]of o)l[d]=async m=>{const h=a(),f=c();h&&await p(m,h,f)};return l},executeAction:async(a,c,l,d={})=>{const p=o.find(([m])=>m===a);p?await p[1](c,l,d):console.warn(`Unknown action: ${a}`)}}}function Jc(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 Qc(e){const t={root:"",elements:{}};let n=!1;for(const o of e)if(o.type===Pi){if(!Jc(o.data))continue;const s=o.data;if(s.type==="patch")n=!0,zi(t,s.patch);else if(s.type==="flat")n=!0,Object.assign(t,s.spec);else if(s.type==="nested"){n=!0;const i=Ii(s.spec);Object.assign(t,i)}}return n?t:null}function ee(){const{dir:e}=C.useDocumentDir(),t=C.useConfig();return u.useMemo(()=>{const n=Q.resolveLanguage(t.language);return{t:(s,i)=>Q.getTranslation(s,n,t.translationOverrides,i),language:n,dir:Q.isRtlLanguage(n)?"rtl":"ltr",hostDocumentDir:e}},[t.language,t.translationOverrides,e])}function Ls(e){const t=Q.resolveLanguage(e);return(n,o)=>Q.getTranslation(n,t,void 0,o)}const el={t:Ls("en"),anchorTarget:"_blank"},Ds=u.createContext(el);function tl({host:e,children:t}){return r.jsx(Ds.Provider,{value:e,children:t})}function Bt(){return u.useContext(Ds)}function nl({language:e,onUiAction:t,anchorTarget:n="_blank"}){return u.useMemo(()=>({t:Ls(e),anchorTarget:n,onUiAction:t}),[e,n,t])}class rl extends u.Component{constructor(){super(...arguments);eo(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n){Q.log.error("json-render: spec failed to render",{_e:n instanceof Error?n.message:String(n)})}componentDidUpdate(n){this.state.hasError&&n.resetKey!==this.props.resetKey&&this.setState({hasError:!1})}render(){return this.state.hasError?null:this.props.children}}function ol(e){if(!e.elements)return e;let t=!1;const n={};for(const[o,s]of Object.entries(e.elements)){const i=sl(s,e);i!==s&&(t=!0),n[o]=i}return t?{...e,elements:n}:e}function sl(e,t){if(e.type!=="List")return e;const n=e.repeat;if(!n||typeof n.statePath!="string")return e;const o=Q.isRecord(e.props)?e.props:{},s=o.items;if(Array.isArray(s)&&s.length>0)return e;const a=ie(t.state??{},n.statePath);if(!Array.isArray(a)||a.length===0)return e;const{repeat:c,...l}=e;return{...l,props:{...o,items:a}}}function T(...e){return yi.twMerge(wi.clsx(e))}const al=u.lazy(()=>Promise.resolve().then(()=>require("./Chart.impl-BAZW1JIf.cjs")));function il(e){const t=e.height??220;return r.jsx(u.Suspense,{fallback:r.jsx(cl,{height:t}),children:r.jsx(al,{...e})})}function cl({height:e}){return r.jsx("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0})}const Fs=v.z.object({title:v.z.string().nullish(),description:v.z.string().nullish()}),Ws=v.z.object({direction:v.z.enum(["row","column"]).nullish(),gap:v.z.enum(["sm","md","lg"]).nullish(),align:v.z.enum(["start","center","end","stretch"]).nullish(),justify:v.z.enum(["start","center","end","between"]).nullish()}),Hs=v.z.object({columns:v.z.union([v.z.literal(1),v.z.literal(2),v.z.literal(3)]).nullish(),gap:v.z.enum(["sm","md","lg"]).nullish()}),Bs=v.z.object({text:v.z.string(),level:v.z.union([v.z.literal(1),v.z.literal(2),v.z.literal(3),v.z.literal(4)]).nullish()}),Us=v.z.object({text:v.z.string(),variant:v.z.enum(["body","caption","muted","code"]).nullish()}),qs=v.z.object({text:v.z.string(),variant:v.z.enum(["default","secondary","success","warning","destructive"]).nullish()}),ll=new Set(["http:","https:","mailto:"]),dl=v.z.string().nullish().transform(e=>{if(!e)return null;try{return ll.has(new URL(e).protocol)?e:null}catch{return null}}),Vs=v.z.object({id:v.z.string().nullish(),label:v.z.string(),secondary:v.z.string().nullish(),badge:v.z.string().nullish(),status:v.z.enum(["success","warning","error","info","neutral"]).nullish(),href:dl}),Ys=v.z.object({items:v.z.array(Vs),maxVisible:v.z.number().int().positive().nullish()}),ul=v.z.object({items:v.z.array(Vs.extend({href:v.z.string().nullish()})),maxVisible:Ys.shape.maxVisible}),Xs=v.z.object({columns:v.z.array(v.z.string()),rows:v.z.array(v.z.array(v.z.string())),caption:v.z.string().nullish()}),pl=v.z.object({value:v.z.string(),direction:v.z.enum(["up","down","flat"]),label:v.z.string().nullish()}),Gs=v.z.object({label:v.z.string(),value:v.z.string(),description:v.z.string().nullish(),trend:v.z.enum(["up","down","neutral"]).nullish(),delta:pl.nullish()}),Ks=v.z.object({type:v.z.enum(["info","tip","warning","important"]).nullish(),title:v.z.string().nullish(),content:v.z.string()}),ml=v.z.object({label:v.z.string(),value:v.z.number()}),Zs=v.z.object({type:v.z.enum(["bar","line","pie"]),data:v.z.array(ml),title:v.z.string().nullish(),height:v.z.number().int().positive().nullish(),centerLabel:v.z.string().nullish()}),Js=v.z.object({agentId:v.z.string(),agentName:v.z.string(),model:v.z.string().nullish()});function ye(e,t,n){const o=e.safeParse(t);return o.success?o.data:n}const hl=Tc(Ac,{components:{Card:{props:Fs,slots:["default"],description:"Container card with an optional title/description. Group related content.",example:{title:"Order summary",description:"Placed 2 days ago"}},Stack:{props:Ws,slots:["default"],description:'Flex layout. Use direction="row" for side-by-side, "column" (default) to stack.'},Grid:{props:Hs,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:Bs,description:"Section heading. level 1 (largest) to 4.",example:{text:"Your orders",level:3}},Text:{props:Us,description:'A paragraph of text. variant "muted"/"caption" for secondary text, "code" for monospace.'},Badge:{props:qs,description:"Small status pill. Use variant to convey state (success/warning/destructive).",example:{text:"Delivered",variant:"success"}},List:{props:ul,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:Xs,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:Gs,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:Ks,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:Js,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:Zs,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:{}});function Vn({height:e=64}){return r.jsx("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0})}const bo={sm:"gap-1.5",md:"gap-3",lg:"gap-4"},fl="10rem";function gl(e){return e===1?"minmax(0, 1fr)":`repeat(auto-fit, minmax(max(${fl}, calc(100% / ${e} - 1rem)), 1fr))`}const{registry:wo}=Zc(hl,{components:{Card:({props:e,children:t,loading:n})=>{const o=ye(Fs,e,{});return r.jsxs("div",{className:"flex flex-col gap-2 rounded-xl border border-muted-foreground/15 p-3",children:[(o.title||o.description)&&r.jsxs("div",{className:"flex flex-col gap-0.5",children:[o.title&&r.jsx("div",{className:"text-sm font-semibold text-foreground",children:o.title}),o.description&&r.jsx("div",{className:"text-xs text-muted-foreground",children:o.description})]}),zn(t,n)]})},Stack:({props:e,children:t,loading:n})=>{const o=ye(Ws,e,{}),s={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"}[o.align??"stretch"],i={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between"}[o.justify??"start"];return r.jsx("div",{className:T("flex",o.direction==="row"?"flex-row":"flex-col",bo[o.gap??"md"],s,i),children:zn(t,n)})},Grid:({props:e,children:t,loading:n})=>{const o=ye(Hs,e,{});return r.jsx("div",{className:T("grid",bo[o.gap??"md"]),style:{gridTemplateColumns:gl(o.columns??1)},children:zn(t,n)})},Heading:({props:e})=>{const t=ye(Bs,e,{text:""}),n=t.level??3,o={1:"text-xl font-bold",2:"text-lg font-bold",3:"text-base font-semibold",4:"text-sm font-semibold"}[n]??"text-base font-semibold";return u.createElement(`h${n}`,{className:T("text-foreground",o)},t.text)},Text:({props:e})=>{const t=ye(Us,e,{text:""});if(t.variant==="code")return r.jsx("code",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground",children:t.text});const n=t.variant==="muted"||t.variant==="caption";return r.jsx("p",{className:T("whitespace-pre-wrap",n?"text-xs text-muted-foreground":"text-sm text-foreground"),children:t.text})},Badge:({props:e})=>{const t=ye(qs,e,{text:""}),n={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 r.jsx("span",{className:T("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",n),children:t.text})},List:({props:e,loading:t})=>{const n=ye(Ys,e,{items:[]});return n.items.length===0?t?r.jsx(Vn,{}):r.jsx(yo,{translationKey:"json_no_items"}):r.jsx(El,{items:n.items,maxVisible:n.maxVisible})},Table:({props:e,loading:t})=>{const n=ye(Xs,e,{columns:[],rows:[]});return t&&n.rows.length===0?r.jsx(Vn,{}):n.columns.length===0?r.jsx(yo,{translationKey:"json_no_data"}):r.jsx("div",{className:"overflow-x-auto rounded-lg border border-muted-foreground/15",children:r.jsxs("table",{className:"w-full text-sm",children:[n.caption&&r.jsx("caption",{className:"px-3 py-2 text-start text-xs text-muted-foreground",children:n.caption}),r.jsx("thead",{children:r.jsx("tr",{className:"border-b border-muted-foreground/15 bg-muted/40",children:n.columns.map((o,s)=>r.jsx("th",{className:"px-3 py-2 text-start font-medium text-foreground",children:o},s))})}),r.jsx("tbody",{children:n.rows.map((o,s)=>r.jsx("tr",{className:"border-b border-muted-foreground/10 last:border-0",children:o.map((i,a)=>r.jsx("td",{className:"px-3 py-2 text-muted-foreground",children:i},a))},s))})]})})},Metric:({props:e})=>{const t=ye(Gs,e,{label:"",value:""});return r.jsx(Sl,{label:t.label,value:t.value,description:t.description,trend:t.trend,delta:t.delta})},Callout:({props:e})=>{const t=ye(Ks,e,{content:""}),n=bl[t.type??"info"],o=n.Icon;return r.jsxs("div",{className:T("flex gap-2 rounded-lg border-l-2 p-3",n.cls),children:[r.jsx(o,{className:"mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"flex flex-col gap-0.5",children:[t.title&&r.jsx("span",{className:"text-sm font-semibold",children:t.title}),r.jsx("span",{className:"text-sm",children:t.content})]})]})},PhoneAgentCard:({props:e})=>{const t=ye(Js,e,{agentId:"",agentName:""});return r.jsx(yl,{...t})},Chart:({props:e})=>{const t=ye(Zs,e,{type:"bar",data:[]});return r.jsxs("div",{className:"flex flex-col gap-1",children:[t.title&&r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:t.title}),r.jsx(il,{...t})]})}}}),xl=({element:e})=>{const{t}=Bt();return r.jsx("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})})},bl={info:{Icon:z.Info,cls:"border-l-blue-500 bg-blue-500/5 text-foreground"},tip:{Icon:z.Lightbulb,cls:"border-l-emerald-500 bg-emerald-500/5 text-foreground"},warning:{Icon:z.AlertTriangle,cls:"border-l-amber-500 bg-amber-500/5 text-foreground"},important:{Icon:z.AlertCircle,cls:"border-l-red-500 bg-red-500/5 text-foreground"}};function zn(e,t){return u.Children.toArray(e).length>0?e:t?r.jsx(Vn,{}):null}function yo({translationKey:e}){const{t}=Bt();return r.jsx("div",{className:"rounded-lg border border-muted-foreground/15 px-3 py-2 text-xs text-muted-foreground",children:t(e)})}const wl="oppie-vox-livekit";function yl({agentId:e,agentName:t,model:n}){const{t:o,onUiAction:s}=Bt(),i=!!s&&!!e&&n===wl;return r.jsxs("div",{className:"flex w-full flex-col gap-3 rounded-xl border border-muted-foreground/15 p-3",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:r.jsx(z.Phone,{className:"size-4","aria-hidden":!0})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:t}),r.jsx("div",{className:"text-xs text-muted-foreground",children:o("json_phone_agent")})]})]}),i&&r.jsxs("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:()=>s==null?void 0:s({type:"test-phone-agent",payload:{agentId:e,model:n??null}}),children:[r.jsx(z.Play,{className:"size-4","aria-hidden":!0}),o("json_phone_agent_test")]})]})}const vl={up:"↑",down:"↓",neutral:"→"},kl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",neutral:"text-muted-foreground"},jl={up:"↑",down:"↓",flat:"→"},Cl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",flat:"text-muted-foreground"};function Sl({label:e,value:t,description:n,trend:o,delta:s}){return r.jsxs("div",{className:"min-w-[140px] space-y-1 rounded-xl border border-muted-foreground/15 p-3",children:[r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:e}),r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx("span",{className:"text-2xl font-medium tracking-tight text-foreground",children:t}),o?r.jsx("span",{className:T("text-sm font-medium",kl[o]),children:vl[o]}):null]}),s?r.jsxs("div",{className:"flex items-baseline gap-1 text-xs",children:[r.jsxs("span",{className:T("font-medium",Cl[s.direction]),children:[jl[s.direction]," ",s.value]}),s.label?r.jsx("span",{className:"text-muted-foreground",children:s.label}):null]}):null,n?r.jsx("span",{className:"block text-xs text-muted-foreground",children:n}):null]})}const Nl={success:"bg-emerald-500",warning:"bg-amber-500",error:"bg-red-500",info:"bg-blue-500",neutral:"bg-muted-foreground/40"};function _l({item:e,showBadge:t,showSecondary:n,showStatus:o}){return r.jsxs(r.Fragment,{children:[t&&(e.badge?r.jsx("span",{className:"block min-w-0 truncate text-xs font-medium",title:e.badge,children:e.badge}):r.jsx("span",{})),r.jsx("span",{className:"block min-w-0 truncate",title:e.label,children:e.label}),n&&(e.secondary?r.jsx("span",{className:"block min-w-0 truncate text-xs text-muted-foreground",title:e.secondary,children:e.secondary}):r.jsx("span",{})),o&&(e.status?r.jsx("span",{className:T("size-2 rounded-full",Nl[e.status]),"aria-hidden":!0}):r.jsx("span",{}))]})}function El({items:e,maxVisible:t}){const n=t??10,{anchorTarget:o,t:s}=Bt(),[i,a]=u.useState(!1),c=e.length>n,l=i?e:e.slice(0,n),d=l.some(y=>!!y.badge),p=l.some(y=>!!y.secondary),m=l.some(y=>!!y.status),h=[d&&"auto","minmax(0,1fr)",p&&"minmax(0,2fr)",m&&"auto"].filter(Boolean).join(" "),f="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 r.jsxs("div",{className:"grid overflow-hidden rounded-lg border border-muted-foreground/15",style:{gridTemplateColumns:h},children:[l.map((y,w)=>{const k=y.id??`row-${w}`,x=r.jsx(_l,{item:y,showBadge:d,showSecondary:p,showStatus:m});return y.href?r.jsx("a",{href:y.href,target:o||"_top",rel:"noopener noreferrer",className:T(f,"transition-colors hover:bg-muted/50",w>0&&"border-t border-muted-foreground/10"),children:x},k):r.jsx("div",{className:T(f,w>0&&"border-t border-muted-foreground/10"),children:x},k)}),c&&r.jsx("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(y=>!y),children:i?r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronUp,{className:"size-3"}),s("json_see_less")]}):r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronDown,{className:"size-3"}),s("json_see_more",{count:e.length-n})]})})]})}function Qs({spec:e,active:t=!1}){const{anchorTarget:n,onUiAction:o}=C.useConfig(),{t:s}=ee(),i=u.useMemo(()=>({t:s,anchorTarget:n??"_blank",onUiAction:o}),[s,n,o]);return r.jsx(ea,{spec:e,host:i,active:t})}function Tl({spec:e,language:t,onUiAction:n,anchorTarget:o}){const s=nl({language:t,onUiAction:n,anchorTarget:o});return r.jsx(ea,{spec:e,host:s})}function ea({spec:e,host:t,active:n=!1}){return r.jsx(tl,{host:t,children:r.jsx(rl,{resetKey:e,children:r.jsx(Al,{spec:e,active:n})})})}function Al({spec:e,active:t}){const n=u.useMemo(()=>e?ol(e):null,[e]);return!n||!Ns(n)?null:r.jsx(Gc,{registry:wo,initialState:n.state,children:r.jsx(Xc,{spec:n,registry:wo,loading:t,fallback:xl})})}function ta(e){if(!e)return[];const t=e.split(`
|
|
12
12
|
`),n=[];let o=[],s=[],i=[],a=!1,c=!1;function l(){if(o.length===0)return;const m=o.join(`
|
|
13
13
|
`);m.trim()&&n.push({type:"markdown",content:m}),o=[]}function d(){if(s.length===0)return;let m=null;if(i.length>0)try{m=Mi(i.join(`
|
|
14
|
-
`),{root:"",elements:{}})}catch{}m&&zl(m)?(l(),n.push({type:"ui",spec:m})):o.push(...s),i=[],s=[]}function p(){c&&(d(),c=!1)}for(let m=0;m<t.length;m+=1){const h=t[m]??"",f=h.trim(),y=m===t.length-1;if(!a&&f==="```spec"){p(),a=!0,s=[h];continue}if(a&&f==="```"){s.push(h),d(),a=!1;continue}if(a){s.push(h),f!==""&&Hn(h)&&i.push(h);continue}if(f!==""&&Hn(h)){c=!0,s.push(h),i.push(h);continue}if(c){if(f===""||y&&Ml(f)){s.push(h);continue}p()}o.push(h)}return d(),l(),n}function zl(e){return Ns(e)&&e.elements[e.root]!==void 0}const Il='{"op":';function Ml(e){return!e.startsWith("{")||e.endsWith("}")?!1:/"op"\s*:/.test(e)?!0:Il.startsWith(e.replace(/\s+/g,""))}function Rl(e){return Qc(e)}function F(e){return{"data-component":e}}const Yn=[{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(Yn.flatMap(e=>e.mimes.map(t=>[t,e.extensions.map(n=>`.${n}`)]))),Ol={"video/mp4":[".mp4"],"video/webm":[".webm"],"video/quicktime":[".mov"]};function na({type:e,name:t}){var s,i;const n=((s=t.split(".").pop())==null?void 0:s.toLowerCase())??"",o=((i=e.toLowerCase().split(";")[0])==null?void 0:i.trim())??"";return Yn.find(a=>n&&a.extensions.includes(n))??Yn.find(a=>o&&a.mimes.includes(o))??null}function gn(){const[e]=u.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(hover: hover) and (pointer: fine)").matches);return e}const yt={x:2,y:2},Ie=u.memo(u.forwardRef(({children:e,className:t,scale:n=1.02,off:o=!1},s)=>{const[i,a]=u.useState(!1),[c,l]=u.useState({x:0,y:0}),d=gn(),p=H.useReducedMotion();if(o||!d||p)return u.cloneElement(e,{ref:s??e.props.ref});if(/translate/.test(e.props.className||""))return e;const h=k=>{var P,O;const{clientX:x,clientY:S}=k,b=k.currentTarget.getBoundingClientRect(),N=x-(b.left+b.width/2),j=S-(b.top+b.height/2),g=Math.max(-1,Math.min(1,N/(b.width/2))),_=Math.max(-1,Math.min(1,j/(b.height/2))),A=g*yt.x,R=_*yt.y;l({x:A,y:R}),(O=(P=e.props).onMouseMove)==null||O.call(P,k)},f=k=>{var x,S;a(!0),(S=(x=e.props).onMouseEnter)==null||S.call(x,k)},y=k=>{var x,S;a(!1),l({x:0,y:0}),(S=(x=e.props).onMouseLeave)==null||S.call(x,k)},w={"--wobble-x":i?`${c.x}px`:"0px","--wobble-y":i?`${c.y}px`:"0px","--scale":1-(n-1)};return u.cloneElement(e,{ref:s,onMouseMove:h,onMouseEnter:f,onMouseLeave:y,style:{...w,...e.props.style},className:T("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-transform duration-150 ease-[cubic-bezier(0.23,1,0.32,1)]")})}));Ie.displayName="Wobble";const St=[.23,1,.32,1],$l=`cubic-bezier(${St.join(", ")})`,Ee={duration:.2,ease:St},xe={duration:.15,ease:St},vt={type:"spring",stiffness:500,damping:45,mass:1},Ll=[.32,.72,.24,1],Dl=`cubic-bezier(${Ll.join(", ")})`,Fl="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)",Hl="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)",Bl="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)",Ul=10,ql=(e,t,n)=>({initial:{opacity:0,x:-e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,x:e,...t.exit,transition:xe},transition:Ee}),Vl=(e,t,n)=>({initial:{opacity:0,x:e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,x:-e,...t.exit,transition:xe},transition:Ee}),Yl=(e,t,n)=>({initial:{opacity:0,y:e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,y:-e,...t.exit,transition:xe},transition:Ee}),Xl=(e,t,n)=>({initial:{opacity:0,y:-e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,y:e,...t.exit,transition:xe},transition:Ee}),Gl={right:ql,left:Vl,up:Yl,down:Xl},te=u.forwardRef(({fadeIn:e="down",distance:t=Ul,children:n,snapExit:o=!1,overrides:s={},delay:i=0,...a},c)=>{const l=e?Gl[e](t,s,i):{};return o&&l.exit&&typeof l.exit=="object"&&!Array.isArray(l.exit)&&(l.exit.transition={duration:0}),r.jsx(H.motion.div,{ref:c,...a,...l,children:n})});te.displayName="MotionDiv";const Xn=ms.cva(T("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-[0.97] motion-reduce:active:scale-100","rounded-xl","transition-transform duration-150 ease-[cubic-bezier(0.23,1,0.32,1)]"),{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"}}),G=Ke.forwardRef(({className:e,variant:t="default",size:n,asChild:o=!1,wobble:s=!0,...i},a)=>{const c=o?vi.Slot:"button";return r.jsx(Ie,{ref:a,off:!s,children:r.jsx(c,{...F("ui_lib/btn"),"data-variant":t,className:T(Xn({variant:t,size:n,className:e})),...i})})});G.displayName="Button";const ra=u.createContext(null);function Kl({children:e}){const[t,n]=u.useState(!1),[o,s]=u.useState(null),i=c=>{s(c),n(!0)},a=u.useCallback(()=>{n(!1),setTimeout(()=>{s(null)},200)},[]);return r.jsxs(ra.Provider,{value:{open:i,close:a,isOpen:t,content:o},children:[r.jsx(Zl,{}),e]})}function xn(){const e=u.useContext(ra);return e||(Q.log.error("useDialoger must be used within a DialogerProvider"),{open:()=>{},close:()=>{},isOpen:!1,content:null})}function Zl(){const{contentIframeRef:e}=C.useWidget(),{isOpen:t,content:n,close:o}=xn();return u.useEffect(()=>{var a,c;if(!t)return;const s=l=>{l.defaultPrevented||l.key!=="Escape"||(l.preventDefault(),o())},i=(c=(a=e==null?void 0:e.current)==null?void 0:a.contentWindow)==null?void 0:c.document;return i==null||i.addEventListener("keydown",s),()=>i==null?void 0:i.removeEventListener("keydown",s)},[o,e,t]),r.jsx(H.AnimatePresence,{mode:"wait",children:t&&n&&r.jsx(te,{overrides:{initial:{y:0},exit:{y:0}},className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm",tabIndex:-1,onClick:o,children:n},"dialog-content")})}function bn({children:e,className:t,withClose:n=!1}){const{close:o}=xn(),{t:s}=ee();return r.jsxs("div",{"data-opencx-escape-scope":!0,className:T("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:i=>i.stopPropagation(),children:[e,n&&r.jsxs(G,{size:"fit",className:"rounded-full absolute top-4 right-4 opacity-50 hover:opacity-100",onClick:o,children:[r.jsx(z.X,{className:"h-4 w-4"}),r.jsx("span",{className:"sr-only",children:s("dialog_close")})]})]})}const br=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2 text-center pt-2",e),...t});br.displayName="DialogerHeader";const wr=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2 text-center",e),...t});wr.displayName="DialogerBody";const oa=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2",e),...t});oa.displayName="DialogerFooter";const yr=u.forwardRef(({className:e,...t},n)=>r.jsx("p",{ref:n,className:T("text-lg font-semibold leading-none tracking-tight",e),...t}));yr.displayName="DialogerTitle";const vr=u.forwardRef(({className:e,...t},n)=>r.jsx("p",{ref:n,className:T("text-sm text-muted-foreground",e),...t}));vr.displayName="DialogerDescription";function wn({children:e,trigger:t}){const{open:n}=xn();return u.cloneElement(t,{onClick:()=>{var s,i;n(e),(i=(s=t.props).onClick)==null||i.call(s)}})}const vo=1,ko=5,jo=.5,Jl=2.5;function Ql(e,t,n,o){if(!n||!o||t<=1)return{x:0,y:0};const s=n.getBoundingClientRect(),i=o.offsetWidth,a=o.offsetHeight,c=Math.max(0,(i*t-s.width)/(2*t)),l=Math.max(0,(a*t-s.height)/(2*t));return{x:Math.min(c,Math.max(-c,e.x)),y:Math.min(l,Math.max(-l,e.y))}}function sa({src:e,alt:t}){const{t:n}=ee(),[o,s]=u.useState(1),[i,a]=u.useState({x:0,y:0}),[c,l]=u.useState(!1),d=u.useRef({x:0,y:0}),p=u.useRef({x:0,y:0}),m=u.useRef(null),h=u.useRef(null),f=u.useRef(!1),y=g=>Math.min(ko,Math.max(vo,g)),w=u.useCallback(()=>{s(1),a({x:0,y:0})},[]),k=u.useCallback(()=>{s(g=>y(g+jo))},[]),x=u.useCallback(()=>{s(g=>{const _=y(g-jo);return _<=1&&a({x:0,y:0}),_})},[]),S=u.useCallback(g=>{g.preventDefault(),f.current=!1,l(!0),d.current={x:g.clientX,y:g.clientY},p.current={...i},g.target.setPointerCapture(g.pointerId)},[i]),b=u.useCallback(g=>{if(!c)return;const _=g.clientX-d.current.x,A=g.clientY-d.current.y;if((Math.abs(_)>3||Math.abs(A)>3)&&(f.current=!0),o<=1)return;const R={x:p.current.x+_/o,y:p.current.y+A/o};a(Ql(R,o,m.current,h.current))},[c,o]),N=u.useCallback(()=>{const g=f.current;l(!1),!g&&s(_=>_>1?(a({x:0,y:0}),1):Jl)},[]),j=o>1;return r.jsxs("div",{className:"relative size-full flex items-center justify-center select-none",onClick:g=>g.stopPropagation(),children:[r.jsx("div",{ref:m,className:T("overflow-hidden max-h-full max-w-full rounded-2xl flex items-center justify-center",j&&"size-full"),onPointerDown:S,onPointerMove:b,onPointerUp:N,onPointerCancel:N,style:{cursor:c?"grabbing":j?"grab":"zoom-in",touchAction:"none"},children:r.jsx("img",{ref:h,src:e,alt:t,className:"block max-w-full object-contain pointer-events-none",draggable:!1,style:{maxHeight:"100vh",transform:`scale(${o}) translate(${i.x}px, ${i.y}px)`,transformOrigin:"center center"}})}),r.jsxs("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:[r.jsx(In,{onClick:x,label:n("zoom_out"),disabled:o<=vo,children:r.jsx(z.ZoomOut,{className:"size-3.5"})}),r.jsxs("span",{className:"text-white text-xs font-medium min-w-[3ch] text-center tabular-nums",children:[Math.round(o*100),"%"]}),r.jsx(In,{onClick:k,label:n("zoom_in"),disabled:o>=ko,children:r.jsx(z.ZoomIn,{className:"size-3.5"})}),j&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"w-px h-4 bg-white/30 mx-0.5"}),r.jsx(In,{onClick:w,label:n("reset_zoom"),children:r.jsx(z.RotateCcw,{className:"size-3.5"})})]})]})]})}function In({onClick:e,label:t,children:n,disabled:o}){return r.jsx("button",{onClick:e,"aria-label":t,disabled:o,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:n})}function Co({url:e,name:t,size:n,icon:o,label:s}){return r.jsx(Ie,{children:r.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:T("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:r.jsxs("div",{className:"flex items-center gap-3 p-3 min-w-0",children:[r.jsx("div",{className:T("flex size-10 shrink-0 items-center justify-center rounded-xl","bg-secondary text-muted-foreground"),"aria-hidden":!0,children:o}),r.jsxs("div",{className:"min-w-0 flex-1 flex flex-col gap-0.5 text-left",children:[r.jsx("span",{className:T("text-xs font-medium text-foreground line-clamp-1","break-words [word-break:break-word]"),children:t}),r.jsxs("span",{className:"text-xs text-muted-foreground tabular-nums",children:[(n/1024).toFixed(2)," KB · ",s]})]})]})})})}function aa({attachment:e}){const{name:t,size:n,type:o,url:s}=e,i=o.startsWith("image/"),a=o.startsWith("video/"),c=o.startsWith("audio/"),l=o==="application/pdf";if(c)return r.jsx(Ie,{children:r.jsx("div",{className:"w-full shrink-0 overflow-hidden",children:r.jsxs("audio",{controls:!0,className:"w-full",children:[r.jsx("source",{src:s,type:o}),"Your browser does not support the audio tag."]})})});if(a)return r.jsx(Ie,{children:r.jsx("div",{className:"w-full border shrink-0 rounded-2xl overflow-hidden",children:r.jsxs("video",{controls:!0,children:[r.jsx("source",{src:s,type:o}),"Your browser does not support the video tag."]})})});if(i)return r.jsx(wn,{trigger:r.jsx("div",{children:r.jsx(Ie,{children:r.jsx("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:r.jsx("img",{src:s,className:"object-cover size-16",alt:t})})})}),children:r.jsx(bn,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:r.jsx(sa,{src:s,alt:t})})});if(l)return r.jsx(Co,{url:s,name:t,size:n,icon:r.jsx(z.FileText,{className:"size-5",strokeWidth:1.75}),label:"PDF"});const d=na({type:o,name:t});return d?r.jsx(Co,{url:s,name:t,size:n,icon:r.jsx(z.FileSpreadsheet,{className:"size-5",strokeWidth:1.75}),label:d.label}):r.jsx(Ie,{children:r.jsx("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:r.jsxs("div",{className:"flex items-end gap-2 p-2",children:[r.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:T("text-xs text-blue-500 line-clamp-2 underline hover:text-blue-600","break-words [word-break:break-word]"),children:t}),r.jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:[(n/1024).toFixed(2)," KB"]})]})})})}function ed({replyTo:e}){const t=C.useBot(),{humanAgent:n}=C.useConfig(),{sender:o}=e,s=o.kind==="user"?"You":o.kind==="ai"?t.name:o.kind==="agent"?(n==null?void 0:n.name)||o.name||"Team":o.name;return r.jsxs("button",{...F("chat/agent_msg/reply_to"),type:"button",onClick:i=>{const a=i.currentTarget.ownerDocument.querySelector(`[data-message-id="${CSS.escape(e.id)}"]`);a==null||a.scrollIntoView({behavior:"smooth",block:"center"}),a==null||a.animate([{opacity:.35},{opacity:1}],{duration:900,easing:"ease-out"})},className:T("not-prose mb-2 block w-full min-w-0 text-start","rounded-xl border-s-2 border-primary/50 bg-primary/[0.07] ps-2.5 pe-2 py-1.5","text-xs leading-snug text-muted-foreground","transition-colors hover:bg-primary/10 hover:text-foreground"),children:[s&&r.jsx("span",{className:"block font-medium text-foreground/80",children:s}),r.jsx("span",{className:"line-clamp-2 break-words",children:e.text})]})}const ia=u.memo(ki,(e,t)=>e.children===t.children&&e.className===t.className);var cs,ls,ds;const td={...Ce.defaultSchema,attributes:{...Ce.defaultSchema.attributes,"*":[...((cs=Ce.defaultSchema.attributes)==null?void 0:cs["*"])??[],"style"],code:[...((ls=Ce.defaultSchema.attributes)==null?void 0:ls.code)??[],"className"],pre:[...((ds=Ce.defaultSchema.attributes)==null?void 0:ds.pre)??[],"className"]}},nd=/^(color|background-color|font-(family|size|style|weight)|text-(align|decoration|transform)|line-height|letter-spacing|white-space|display|width|height|max-width|min-width|margin(-top|-right|-bottom|-left)?|padding(-top|-right|-bottom|-left)?|border(-width|-style|-color|-radius)?)$/i,rd=/^[\w\s#.,%()'"+-]+$/,od=/\b(url|expression|var|attr)\s*\(/i;function sd(){return function e(t){var o,s;const n=(o=t.properties)==null?void 0:o.style;typeof n=="string"&&t.properties&&(t.properties.style=n.split(";").filter(i=>{const a=i.indexOf(":");if(a<0)return!1;const c=i.slice(0,a).trim(),l=i.slice(a+1).trim();return nd.test(c)&&rd.test(l)&&!od.test(l)}).join(";")),(s=t.children)==null||s.forEach(e)}}function ca(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 us,ps;const ad={...Ce.defaultSchema,attributes:{...Ce.defaultSchema.attributes,code:[...((us=Ce.defaultSchema.attributes)==null?void 0:us.code)??[],"className"],pre:[...((ps=Ce.defaultSchema.attributes)==null?void 0:ps.pre)??[],"className"]}};function kr(e){return r.jsx(la,{...e})}function id(e){return r.jsx(la,{...e,configuredStyles:!0})}function la({children:e,messageType:t,messageId:n,configuredStyles:o=!1}){const{anchorTarget:s}=C.useConfig();return r.jsx(ia,{"data-type":t,"data-id":n,remarkPlugins:[hs],rehypePlugins:o?[Fn,sd,[Ce,td]]:[Fn,[Ce,ad]],components:{a:({children:i,...a})=>r.jsx("a",{target:a.target||s||"_top",...a,children:i}),img:({src:i,alt:a,...c})=>i?r.jsx(wn,{trigger:r.jsx("img",{src:i,alt:a,...c,className:"cursor-pointer rounded-xl"}),children:r.jsx(bn,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:r.jsx(sa,{src:i,alt:a})})}):r.jsx("img",{src:i,alt:a,...c})},children:ca(e)})}function De(){const{widgetCtx:{org:e}}=C.useWidget(),{sessionState:{session:t}}=C.useSessions(),n=C.useConfig(),{messagesState:{messages:o}}=C.useMessages(),{routerState:{screen:s}}=C.useWidgetRouter();return{react:u,org:e,session:t,config:n,messages:o,currentScreen:s}}function cd({currentMessage:e}){var o;const t=De(),n=(o=t.config.customComponents)==null?void 0:o["message::after"];return n?r.jsx(n,{...t,currentMessage:e}):null}const ld=["[--tw-prose-body:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-headings:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-lead:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-bold:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-links:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-code:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-counters:hsl(var(--opencx-muted-foreground))]","[--tw-prose-bullets: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-th-borders:hsl(var(--opencx-border))]","[--tw-prose-td-borders:hsl(var(--opencx-border))]","[--tw-prose-pre-bg:hsl(var(--opencx-muted))]","[--tw-prose-pre-code:hsl(var(--opencx-foreground))]"].join(" ");function Gn(e){const{data:t,id:n,type:o,attachments:s,isFirstInGroup:i,isLastInGroup:a,isAloneInGroup:c,dataComponentNames:l,classNames:d}=e,p=o==="AI"||o==="AGENT"?t.message:"",m=u.useMemo(()=>o==="AI"?ta(p):null,[o,p]);if(o!=="AI"&&o!=="AGENT")return null;const{variant:h="default"}=t,f=e.replyTo?r.jsx(ed,{replyTo:e.replyTo}):null,y=(S,b,N=!0,j=!0)=>r.jsxs("div",{className:"flex flex-row gap-2",children:[r.jsxs("div",{...F((l==null?void 0:l.message)??"chat/agent_msg/msg"),"data-first":i,"data-last":a,"data-alone":c,"data-variant":h,className:T("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",ld,"break-words [word-break:break-word]",h==="error"&&"bg-destructive/15 text-destructive",i&&!c&&"rounded-bl-md",a&&!c&&"rounded-tl-md",!i&&!a&&!c&&"rounded-l-md",d==null?void 0:d.message),children:[j&&f,r.jsx(kr,{messageType:o,messageId:n,children:S})]}),N&&r.jsx(cd,{currentMessage:e})]},b),w=(m==null?void 0:m.some(S=>S.type==="ui"))??!1,k=(m==null?void 0:m.reduce((S,b,N)=>b.type==="markdown"?N:S,-1))??-1,x=(m==null?void 0:m.findIndex(S=>S.type==="markdown"))??-1;return r.jsxs("div",{...F((l==null?void 0:l.messageContainer)??"chat/agent_msg/root"),"data-message-id":n,className:T("w-5/6 flex flex-col items-start gap-1",d==null?void 0:d.messageContainer),children:[s&&s.length>0&&r.jsx("div",{className:"w-full gap-1 flex flex-row flex-wrap items-center justify-start",children:s==null?void 0:s.map(S=>r.jsx(aa,{attachment:S},S.id))}),w&&m?m.map((S,b)=>S.type==="markdown"?y(S.content,`md-${b}`,b===k,b===x):r.jsx("div",{className:"w-full",children:r.jsx(Qs,{spec:S.spec})},`ui-${b}`)):p.length>0&&y(p)]})}function dd(e){return r.jsx("div",{className:"w-full max-w-full overflow-auto shrink-0",children:r.jsx("pre",{className:"text-xs leading-tight whitespace-pre-wrap break-word",children:JSON.stringify(e,null,1)})})}const jr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Root,{ref:n,className:T("relative flex size-6 aspect-square shrink-0 overflow-hidden rounded-full bg-secondary",e),...t}));jr.displayName=Ct.Root.displayName;const Cr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Image,{ref:n,className:T("aspect-square h-full w-full",e),...t}));Cr.displayName=Ct.Image.displayName;const Sr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Fallback,{ref:n,className:T("flex size-full text-xs items-center justify-center rounded-lg",e),...t}));Sr.displayName=Ct.Fallback.displayName;function Kn({agent:e,...t}){var n,o;return r.jsxs(jr,{...t,children:[r.jsx(Cr,{src:(e==null?void 0:e.avatarUrl)||(e==null?void 0:e.avatar)||"",alt:"Agent Icon"}),(e==null?void 0:e.name)&&r.jsx(Sr,{children:(o=(n=e==null?void 0:e.name)==null?void 0:n.slice(0,1))==null?void 0:o.toUpperCase()})]})}function ud({agent:e}){return r.jsx(H.AnimatePresence,{children:r.jsxs(te,{...F("chat/bot_loading/root"),className:"flex flex-row items-end w-full gap-2 animate-pulse",children:[r.jsx(Kn,{agent:e}),r.jsxs("div",{...F("chat/bot_loading/bouncing_dots_container"),className:T("flex items-center [&_span]:bg-secondary-foreground [&_span]:size-1 gap-1 p-2 rounded-xl bg-secondary"),children:[r.jsx(H.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.3s]"}),r.jsx(H.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.15s]"}),r.jsx(H.motion.span,{className:"rounded-full animate-bounce"})]})]})})}const pd='*,: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}.order-1{order:1}.order-2{order:2}.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-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mt-0\\.5{margin-top:-.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-auto{margin-left:auto}.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-9{width:2.25rem;height:2.25rem}.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-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-16{max-height:4rem}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\\[160px\\]{max-height:160px}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[50vh\\]{max-height:50vh}.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))}.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-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * 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))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-foreground\\/10>:not([hidden])~:not([hidden]){border-color:hsl(var(--opencx-foreground) / .1)}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.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}.text-pretty{text-wrap:pretty}.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-s-2{border-inline-start-width:2px}.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-foreground\\/10{border-color:hsl(var(--opencx-foreground) / .1)}.border-foreground\\/15{border-color:hsl(var(--opencx-foreground) / .15)}.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-primary\\/10{border-color:hsl(var(--opencx-primary) / .1)}.border-primary\\/50{border-color:hsl(var(--opencx-primary) / .5)}.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\\/10{background-color:#10b9811a}.bg-emerald-500\\/15{background-color:#10b98126}.bg-emerald-500\\/5{background-color:#10b9810d}.bg-foreground\\/5{background-color:hsl(var(--opencx-foreground) / .05)}.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{background-color:hsl(var(--opencx-muted-foreground))}.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-primary\\/25{background-color:hsl(var(--opencx-primary) / .25)}.bg-primary\\/\\[0\\.07\\]{background-color:hsl(var(--opencx-primary) / .07)}.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))}.stroke-current{stroke:currentColor}.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-2\\.5{padding-left:.625rem;padding-right:.625rem}.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{padding-top:0;padding-bottom:0}.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}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-2\\.5{padding-inline-end:.625rem}.pe-4{padding-inline-end:1rem}.pl-6{padding-left:1.5rem}.pr-16{padding-right:4rem}.ps-1{padding-inline-start:.25rem}.ps-1\\.5{padding-inline-start:.375rem}.ps-2{padding-inline-start:.5rem}.ps-2\\.5{padding-inline-start:.625rem}.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-\\[0\\.8125rem\\]{font-size:.8125rem}.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\\/50{color:hsl(var(--opencx-foreground) / .5)}.text-foreground\\/60{color:hsl(var(--opencx-foreground) / .6)}.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\\/10{color:hsl(var(--opencx-primary) / .1)}.text-primary\\/40{color:hsl(var(--opencx-primary) / .4)}.text-primary\\/50{color:hsl(var(--opencx-primary) / .5)}.text-primary\\/60{color:hsl(var(--opencx-primary) / .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}.line-through{text-decoration-line:line-through}.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))}.accent-current{accent-color:currentColor}.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-body\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-body: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-secondary-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-code\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-code: hsl(var(--opencx-secondary-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-headings\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-headings: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-hr\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-hr: hsl(var(--opencx-border))}.\\[--tw-prose-lead\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-lead: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-primary\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-primary))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-secondary-foreground))}.\\[--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))}.\\[--tw-prose-td-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-td-borders: hsl(var(--opencx-border))}.\\[--tw-prose-th-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-th-borders: hsl(var(--opencx-border))}.\\[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-foreground:hover{background-color:hsl(var(--opencx-foreground))}.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\\/10:hover{background-color:hsl(var(--opencx-primary) / .1)}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--opencx-primary) / .9)}.hover\\:bg-primary\\/\\[0\\.02\\]:hover{background-color:hsl(var(--opencx-primary) / .02)}.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-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color: hsl(var(--opencx-primary) / .4)}.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))}.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}.motion-reduce\\:active\\:scale-100:active{--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(min-width:640px){.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}.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}.\\[\\&_\\.animate-spin\\]\\:animate-none .animate-spin{animation:none}.\\[\\&_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}}@media(pointer:coarse){.\\[\\@media\\(pointer\\:coarse\\)\\]\\:min-h-12{min-height:3rem}}',md="5.0.0";function hd(e,t){const n=typeof(e==null?void 0:e.right)=="number",o=typeof(e==null?void 0:e.left)=="number";return n&&!o?"right":o&&!n||t==="rtl"?"left":"right"}const So=450;function Ae(){const[e,t]=u.useState(()=>(window.top||window).innerWidth<So);return u.useEffect(()=>{const n=window.top||window,o=()=>{t(n.innerWidth<So)};return o(),n.addEventListener("resize",o),()=>{n.removeEventListener("resize",o)}},[]),{isSmallScreen:e}}const Jt={transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)",transitionDuration:"1000ms"};function fe(){var h,f,y,w,k,x,S,b,N,j,g,_,A,R,P,O,I,B,E,M,W,$,q,V,U,D,Z,ne,L,X,K,re,oe,pe,se,be,ze,ae,Ze,ct,Re,Pe,Fe,We,He,Oe,we,lt;const{dir:e}=C.useDocumentDir(),{isSmallScreen:t}=Ae(),{theme:n,inline:o}=C.useConfig(),s=ge=>o?"100%":ge,i=(ge,le)=>t?`100dv${ge}`:le,a=(ge,le)=>s(i(ge,le)),c=hd((h=n==null?void 0:n.widgetTrigger)==null?void 0:h.offset,e),l={zIndex:((f=n==null?void 0:n.widgetTrigger)==null?void 0:f.zIndex)??1e7,offset:{bottom:((w=(y=n==null?void 0:n.widgetTrigger)==null?void 0:y.offset)==null?void 0:w.bottom)??20,right:((x=(k=n==null?void 0:n.widgetTrigger)==null?void 0:k.offset)==null?void 0:x.right)??(c==="right"?20:"initial"),left:((b=(S=n==null?void 0:n.widgetTrigger)==null?void 0:S.offset)==null?void 0:b.left)??(c==="left"?20:"initial")},size:{button:((j=(N=n==null?void 0:n.widgetTrigger)==null?void 0:N.size)==null?void 0:j.button)??48,icon:((_=(g=n==null?void 0:n.widgetTrigger)==null?void 0:g.size)==null?void 0:_.icon)??24}},d=(()=>{const ge=c==="right"?l.offset.right:l.offset.left;return typeof ge!="number"?0:ge})(),p={palette:(n==null?void 0:n.palette)??"neutral",primaryColor:(n==null?void 0:n.primaryColor)??"hsl(0 0% 9%)",widgetTrigger:l,widgetContentContainer:{borderRadius:t?"0px":((A=n==null?void 0:n.widgetContentContainer)==null?void 0:A.borderRadius)??"32px",zIndex:((R=n==null?void 0:n.widgetContentContainer)==null?void 0:R.zIndex)??l.zIndex+1,outline:((P=n==null?void 0:n.widgetContentContainer)==null?void 0:P.outline)??"none",outlineColor:((O=n==null?void 0:n.widgetContentContainer)==null?void 0:O.outlineColor)??"hsl(0 0% 50% / .5)",boxShadow:((I=n==null?void 0:n.widgetContentContainer)==null?void 0:I.boxShadow)??"0 0px 100px 0px rgb(0 0 0 / 0.25)",transitionProperty:((B=n==null?void 0:n.widgetContentContainer)==null?void 0:B.transitionProperty)??"all",transitionTimingFunction:((E=n==null?void 0:n.widgetContentContainer)==null?void 0:E.transitionTimingFunction)??Jt.transitionTimingFunction,transitionDuration:((M=n==null?void 0:n.widgetContentContainer)==null?void 0:M.transitionDuration)??Jt.transitionDuration,offset:{side:t?0:l.offset.bottom+l.size.button+yt.y*2+((($=(W=n==null?void 0:n.widgetContentContainer)==null?void 0:W.offset)==null?void 0:$.side)??10),align:t?0:d+(((V=(q=n==null?void 0:n.widgetContentContainer)==null?void 0:q.offset)==null?void 0:V.align)??0)}},screens:{welcome:{width:a("w",((D=(U=n==null?void 0:n.screens)==null?void 0:U.welcome)==null?void 0:D.width)??"400px"),minHeight:a("h",((ne=(Z=n==null?void 0:n.screens)==null?void 0:Z.welcome)==null?void 0:ne.minHeight)??"1px")},sessions:{width:a("w",((X=(L=n==null?void 0:n.screens)==null?void 0:L.sessions)==null?void 0:X.width)??"450px"),height:a("h",((re=(K=n==null?void 0:n.screens)==null?void 0:K.sessions)==null?void 0:re.height)??"600px")},chat:{width:a("w",((pe=(oe=n==null?void 0:n.screens)==null?void 0:oe.chat)==null?void 0:pe.width)??"525px"),height:a("h",((be=(se=n==null?void 0:n.screens)==null?void 0:se.chat)==null?void 0:be.height)??"700px"),withCanvas:{width:a("w",((Ze=(ae=(ze=n==null?void 0:n.screens)==null?void 0:ze.chat)==null?void 0:ae.withCanvas)==null?void 0:Ze.width)??"min(1050px, 100vw)"),height:a("h",((Pe=(Re=(ct=n==null?void 0:n.screens)==null?void 0:ct.chat)==null?void 0:Re.withCanvas)==null?void 0:Pe.height)??"min(800px, 100vh)"),transitionTimingFunction:((He=(We=(Fe=n==null?void 0:n.screens)==null?void 0:Fe.chat)==null?void 0:We.withCanvas)==null?void 0:He.transitionTimingFunction)??Jt.transitionTimingFunction,transitionDuration:((lt=(we=(Oe=n==null?void 0:n.screens)==null?void 0:Oe.chat)==null?void 0:we.withCanvas)==null?void 0:lt.transitionDuration)??Jt.transitionDuration}}}},m={maxHeight:a("h",`calc(
|
|
14
|
+
`),{root:"",elements:{}})}catch{}m&&zl(m)?(l(),n.push({type:"ui",spec:m})):o.push(...s),i=[],s=[]}function p(){c&&(d(),c=!1)}for(let m=0;m<t.length;m+=1){const h=t[m]??"",f=h.trim(),y=m===t.length-1;if(!a&&f==="```spec"){p(),a=!0,s=[h];continue}if(a&&f==="```"){s.push(h),d(),a=!1;continue}if(a){s.push(h),f!==""&&Hn(h)&&i.push(h);continue}if(f!==""&&Hn(h)){c=!0,s.push(h),i.push(h);continue}if(c){if(f===""||y&&Ml(f)){s.push(h);continue}p()}o.push(h)}return d(),l(),n}function zl(e){return Ns(e)&&e.elements[e.root]!==void 0}const Il='{"op":';function Ml(e){return!e.startsWith("{")||e.endsWith("}")?!1:/"op"\s*:/.test(e)?!0:Il.startsWith(e.replace(/\s+/g,""))}function Rl(e){return Qc(e)}function F(e){return{"data-component":e}}const Yn=[{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(Yn.flatMap(e=>e.mimes.map(t=>[t,e.extensions.map(n=>`.${n}`)]))),Ol={"video/mp4":[".mp4"],"video/webm":[".webm"],"video/quicktime":[".mov"]};function na({type:e,name:t}){var s,i;const n=((s=t.split(".").pop())==null?void 0:s.toLowerCase())??"",o=((i=e.toLowerCase().split(";")[0])==null?void 0:i.trim())??"";return Yn.find(a=>n&&a.extensions.includes(n))??Yn.find(a=>o&&a.mimes.includes(o))??null}function gn(){const[e]=u.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(hover: hover) and (pointer: fine)").matches);return e}const yt={x:2,y:2},Ie=u.memo(u.forwardRef(({children:e,className:t,scale:n=1.02,off:o=!1},s)=>{const[i,a]=u.useState(!1),[c,l]=u.useState({x:0,y:0}),d=gn(),p=H.useReducedMotion();if(o||!d||p)return u.cloneElement(e,{ref:s??e.props.ref});if(/translate/.test(e.props.className||""))return e;const h=k=>{var P,O;const{clientX:x,clientY:S}=k,b=k.currentTarget.getBoundingClientRect(),N=x-(b.left+b.width/2),j=S-(b.top+b.height/2),g=Math.max(-1,Math.min(1,N/(b.width/2))),_=Math.max(-1,Math.min(1,j/(b.height/2))),A=g*yt.x,R=_*yt.y;l({x:A,y:R}),(O=(P=e.props).onMouseMove)==null||O.call(P,k)},f=k=>{var x,S;a(!0),(S=(x=e.props).onMouseEnter)==null||S.call(x,k)},y=k=>{var x,S;a(!1),l({x:0,y:0}),(S=(x=e.props).onMouseLeave)==null||S.call(x,k)},w={"--wobble-x":i?`${c.x}px`:"0px","--wobble-y":i?`${c.y}px`:"0px","--scale":1-(n-1)};return u.cloneElement(e,{ref:s,onMouseMove:h,onMouseEnter:f,onMouseLeave:y,style:{...w,...e.props.style},className:T("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-transform duration-150 ease-[cubic-bezier(0.23,1,0.32,1)]")})}));Ie.displayName="Wobble";const St=[.23,1,.32,1],$l=`cubic-bezier(${St.join(", ")})`,Ee={duration:.2,ease:St},xe={duration:.15,ease:St},vt={type:"spring",stiffness:500,damping:45,mass:1},Ll=[.32,.72,.24,1],Dl=`cubic-bezier(${Ll.join(", ")})`,Fl="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)",Hl="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)",Bl="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)",Ul=10,ql=(e,t,n)=>({initial:{opacity:0,x:-e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,x:e,...t.exit,transition:xe},transition:Ee}),Vl=(e,t,n)=>({initial:{opacity:0,x:e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,x:-e,...t.exit,transition:xe},transition:Ee}),Yl=(e,t,n)=>({initial:{opacity:0,y:e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,y:-e,...t.exit,transition:xe},transition:Ee}),Xl=(e,t,n)=>({initial:{opacity:0,y:-e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,y:e,...t.exit,transition:xe},transition:Ee}),Gl={right:ql,left:Vl,up:Yl,down:Xl},te=u.forwardRef(({fadeIn:e="down",distance:t=Ul,children:n,snapExit:o=!1,overrides:s={},delay:i=0,...a},c)=>{const l=e?Gl[e](t,s,i):{};return o&&l.exit&&typeof l.exit=="object"&&!Array.isArray(l.exit)&&(l.exit.transition={duration:0}),r.jsx(H.motion.div,{ref:c,...a,...l,children:n})});te.displayName="MotionDiv";const Xn=ms.cva(T("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-[0.97] motion-reduce:active:scale-100","rounded-xl","transition-transform duration-150 ease-[cubic-bezier(0.23,1,0.32,1)]"),{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"}}),G=Ke.forwardRef(({className:e,variant:t="default",size:n,asChild:o=!1,wobble:s=!0,...i},a)=>{const c=o?vi.Slot:"button";return r.jsx(Ie,{ref:a,off:!s,children:r.jsx(c,{...F("ui_lib/btn"),"data-variant":t,className:T(Xn({variant:t,size:n,className:e})),...i})})});G.displayName="Button";const ra=u.createContext(null);function Kl({children:e}){const[t,n]=u.useState(!1),[o,s]=u.useState(null),i=c=>{s(c),n(!0)},a=u.useCallback(()=>{n(!1),setTimeout(()=>{s(null)},200)},[]);return r.jsxs(ra.Provider,{value:{open:i,close:a,isOpen:t,content:o},children:[r.jsx(Zl,{}),e]})}function xn(){const e=u.useContext(ra);return e||(Q.log.error("useDialoger must be used within a DialogerProvider"),{open:()=>{},close:()=>{},isOpen:!1,content:null})}function Zl(){const{contentIframeRef:e}=C.useWidget(),{isOpen:t,content:n,close:o}=xn();return u.useEffect(()=>{var a,c;if(!t)return;const s=l=>{l.defaultPrevented||l.key!=="Escape"||(l.preventDefault(),o())},i=(c=(a=e==null?void 0:e.current)==null?void 0:a.contentWindow)==null?void 0:c.document;return i==null||i.addEventListener("keydown",s),()=>i==null?void 0:i.removeEventListener("keydown",s)},[o,e,t]),r.jsx(H.AnimatePresence,{mode:"wait",children:t&&n&&r.jsx(te,{overrides:{initial:{y:0},exit:{y:0}},className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm",tabIndex:-1,onClick:o,children:n},"dialog-content")})}function bn({children:e,className:t,withClose:n=!1}){const{close:o}=xn(),{t:s}=ee();return r.jsxs("div",{"data-opencx-escape-scope":!0,className:T("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:i=>i.stopPropagation(),children:[e,n&&r.jsxs(G,{size:"fit",className:"rounded-full absolute top-4 right-4 opacity-50 hover:opacity-100",onClick:o,children:[r.jsx(z.X,{className:"h-4 w-4"}),r.jsx("span",{className:"sr-only",children:s("dialog_close")})]})]})}const br=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2 text-center pt-2",e),...t});br.displayName="DialogerHeader";const wr=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2 text-center",e),...t});wr.displayName="DialogerBody";const oa=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2",e),...t});oa.displayName="DialogerFooter";const yr=u.forwardRef(({className:e,...t},n)=>r.jsx("p",{ref:n,className:T("text-lg font-semibold leading-none tracking-tight",e),...t}));yr.displayName="DialogerTitle";const vr=u.forwardRef(({className:e,...t},n)=>r.jsx("p",{ref:n,className:T("text-sm text-muted-foreground",e),...t}));vr.displayName="DialogerDescription";function wn({children:e,trigger:t}){const{open:n}=xn();return u.cloneElement(t,{onClick:()=>{var s,i;n(e),(i=(s=t.props).onClick)==null||i.call(s)}})}const vo=1,ko=5,jo=.5,Jl=2.5;function Ql(e,t,n,o){if(!n||!o||t<=1)return{x:0,y:0};const s=n.getBoundingClientRect(),i=o.offsetWidth,a=o.offsetHeight,c=Math.max(0,(i*t-s.width)/(2*t)),l=Math.max(0,(a*t-s.height)/(2*t));return{x:Math.min(c,Math.max(-c,e.x)),y:Math.min(l,Math.max(-l,e.y))}}function sa({src:e,alt:t}){const{t:n}=ee(),[o,s]=u.useState(1),[i,a]=u.useState({x:0,y:0}),[c,l]=u.useState(!1),d=u.useRef({x:0,y:0}),p=u.useRef({x:0,y:0}),m=u.useRef(null),h=u.useRef(null),f=u.useRef(!1),y=g=>Math.min(ko,Math.max(vo,g)),w=u.useCallback(()=>{s(1),a({x:0,y:0})},[]),k=u.useCallback(()=>{s(g=>y(g+jo))},[]),x=u.useCallback(()=>{s(g=>{const _=y(g-jo);return _<=1&&a({x:0,y:0}),_})},[]),S=u.useCallback(g=>{g.preventDefault(),f.current=!1,l(!0),d.current={x:g.clientX,y:g.clientY},p.current={...i},g.target.setPointerCapture(g.pointerId)},[i]),b=u.useCallback(g=>{if(!c)return;const _=g.clientX-d.current.x,A=g.clientY-d.current.y;if((Math.abs(_)>3||Math.abs(A)>3)&&(f.current=!0),o<=1)return;const R={x:p.current.x+_/o,y:p.current.y+A/o};a(Ql(R,o,m.current,h.current))},[c,o]),N=u.useCallback(()=>{const g=f.current;l(!1),!g&&s(_=>_>1?(a({x:0,y:0}),1):Jl)},[]),j=o>1;return r.jsxs("div",{className:"relative size-full flex items-center justify-center select-none",onClick:g=>g.stopPropagation(),children:[r.jsx("div",{ref:m,className:T("overflow-hidden max-h-full max-w-full rounded-2xl flex items-center justify-center",j&&"size-full"),onPointerDown:S,onPointerMove:b,onPointerUp:N,onPointerCancel:N,style:{cursor:c?"grabbing":j?"grab":"zoom-in",touchAction:"none"},children:r.jsx("img",{ref:h,src:e,alt:t,className:"block max-w-full object-contain pointer-events-none",draggable:!1,style:{maxHeight:"100vh",transform:`scale(${o}) translate(${i.x}px, ${i.y}px)`,transformOrigin:"center center"}})}),r.jsxs("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:[r.jsx(In,{onClick:x,label:n("zoom_out"),disabled:o<=vo,children:r.jsx(z.ZoomOut,{className:"size-3.5"})}),r.jsxs("span",{className:"text-white text-xs font-medium min-w-[3ch] text-center tabular-nums",children:[Math.round(o*100),"%"]}),r.jsx(In,{onClick:k,label:n("zoom_in"),disabled:o>=ko,children:r.jsx(z.ZoomIn,{className:"size-3.5"})}),j&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"w-px h-4 bg-white/30 mx-0.5"}),r.jsx(In,{onClick:w,label:n("reset_zoom"),children:r.jsx(z.RotateCcw,{className:"size-3.5"})})]})]})]})}function In({onClick:e,label:t,children:n,disabled:o}){return r.jsx("button",{onClick:e,"aria-label":t,disabled:o,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:n})}function Co({url:e,name:t,size:n,icon:o,label:s}){return r.jsx(Ie,{children:r.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:T("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:r.jsxs("div",{className:"flex items-center gap-3 p-3 min-w-0",children:[r.jsx("div",{className:T("flex size-10 shrink-0 items-center justify-center rounded-xl","bg-secondary text-muted-foreground"),"aria-hidden":!0,children:o}),r.jsxs("div",{className:"min-w-0 flex-1 flex flex-col gap-0.5 text-left",children:[r.jsx("span",{className:T("text-xs font-medium text-foreground line-clamp-1","break-words [word-break:break-word]"),children:t}),r.jsxs("span",{className:"text-xs text-muted-foreground tabular-nums",children:[(n/1024).toFixed(2)," KB · ",s]})]})]})})})}function aa({attachment:e}){const{name:t,size:n,type:o,url:s}=e,i=o.startsWith("image/"),a=o.startsWith("video/"),c=o.startsWith("audio/"),l=o==="application/pdf";if(c)return r.jsx(Ie,{children:r.jsx("div",{className:"w-full shrink-0 overflow-hidden",children:r.jsxs("audio",{controls:!0,className:"w-full",children:[r.jsx("source",{src:s,type:o}),"Your browser does not support the audio tag."]})})});if(a)return r.jsx(Ie,{children:r.jsx("div",{className:"w-full border shrink-0 rounded-2xl overflow-hidden",children:r.jsxs("video",{controls:!0,children:[r.jsx("source",{src:s,type:o}),"Your browser does not support the video tag."]})})});if(i)return r.jsx(wn,{trigger:r.jsx("div",{children:r.jsx(Ie,{children:r.jsx("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:r.jsx("img",{src:s,className:"object-cover size-16",alt:t})})})}),children:r.jsx(bn,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:r.jsx(sa,{src:s,alt:t})})});if(l)return r.jsx(Co,{url:s,name:t,size:n,icon:r.jsx(z.FileText,{className:"size-5",strokeWidth:1.75}),label:"PDF"});const d=na({type:o,name:t});return d?r.jsx(Co,{url:s,name:t,size:n,icon:r.jsx(z.FileSpreadsheet,{className:"size-5",strokeWidth:1.75}),label:d.label}):r.jsx(Ie,{children:r.jsx("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:r.jsxs("div",{className:"flex items-end gap-2 p-2",children:[r.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:T("text-xs text-blue-500 line-clamp-2 underline hover:text-blue-600","break-words [word-break:break-word]"),children:t}),r.jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:[(n/1024).toFixed(2)," KB"]})]})})})}function ed({replyTo:e}){const t=C.useBot(),{humanAgent:n}=C.useConfig(),{sender:o}=e,s=o.kind==="user"?"You":o.kind==="ai"?t.name:o.kind==="agent"?(n==null?void 0:n.name)||o.name||"Team":o.name;return r.jsxs("button",{...F("chat/agent_msg/reply_to"),type:"button",onClick:i=>{const a=i.currentTarget.ownerDocument.querySelector(`[data-message-id="${CSS.escape(e.id)}"]`);a==null||a.scrollIntoView({behavior:"smooth",block:"center"}),a==null||a.animate([{opacity:.35},{opacity:1}],{duration:900,easing:"ease-out"})},className:T("not-prose mb-2 block w-full min-w-0 text-start","rounded-xl border-s-2 border-primary/50 bg-primary/[0.07] ps-2.5 pe-2 py-1.5","text-xs leading-snug text-muted-foreground","transition-colors hover:bg-primary/10 hover:text-foreground"),children:[s&&r.jsx("span",{className:"block font-medium text-foreground/80",children:s}),r.jsx("span",{className:"line-clamp-2 break-words",children:e.text})]})}const ia=u.memo(ki,(e,t)=>e.children===t.children&&e.className===t.className);var cs,ls,ds;const td={...Ce.defaultSchema,attributes:{...Ce.defaultSchema.attributes,"*":[...((cs=Ce.defaultSchema.attributes)==null?void 0:cs["*"])??[],"style"],code:[...((ls=Ce.defaultSchema.attributes)==null?void 0:ls.code)??[],"className"],pre:[...((ds=Ce.defaultSchema.attributes)==null?void 0:ds.pre)??[],"className"]}},nd=/^(color|background-color|font-(family|size|style|weight)|text-(align|decoration|transform)|line-height|letter-spacing|white-space|display|width|height|max-width|min-width|margin(-top|-right|-bottom|-left)?|padding(-top|-right|-bottom|-left)?|border(-width|-style|-color|-radius)?)$/i,rd=/^[\w\s#.,%()'"+-]+$/,od=/\b(url|expression|var|attr)\s*\(/i;function sd(){return function e(t){var o,s;const n=(o=t.properties)==null?void 0:o.style;typeof n=="string"&&t.properties&&(t.properties.style=n.split(";").filter(i=>{const a=i.indexOf(":");if(a<0)return!1;const c=i.slice(0,a).trim(),l=i.slice(a+1).trim();return nd.test(c)&&rd.test(l)&&!od.test(l)}).join(";")),(s=t.children)==null||s.forEach(e)}}function ca(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 us,ps;const ad={...Ce.defaultSchema,attributes:{...Ce.defaultSchema.attributes,code:[...((us=Ce.defaultSchema.attributes)==null?void 0:us.code)??[],"className"],pre:[...((ps=Ce.defaultSchema.attributes)==null?void 0:ps.pre)??[],"className"]}};function kr(e){return r.jsx(la,{...e})}function id(e){return r.jsx(la,{...e,configuredStyles:!0})}function la({children:e,messageType:t,messageId:n,configuredStyles:o=!1}){const{anchorTarget:s}=C.useConfig();return r.jsx(ia,{"data-type":t,"data-id":n,remarkPlugins:[hs],rehypePlugins:o?[Fn,sd,[Ce,td]]:[Fn,[Ce,ad]],components:{a:({children:i,...a})=>r.jsx("a",{target:a.target||s||"_top",...a,children:i}),img:({src:i,alt:a,...c})=>i?r.jsx(wn,{trigger:r.jsx("img",{src:i,alt:a,...c,className:"cursor-pointer rounded-xl"}),children:r.jsx(bn,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:r.jsx(sa,{src:i,alt:a})})}):r.jsx("img",{src:i,alt:a,...c})},children:ca(e)})}function De(){const{widgetCtx:{org:e}}=C.useWidget(),{sessionState:{session:t}}=C.useSessions(),n=C.useConfig(),{messagesState:{messages:o}}=C.useMessages(),{routerState:{screen:s}}=C.useWidgetRouter();return{react:u,org:e,session:t,config:n,messages:o,currentScreen:s}}function cd({currentMessage:e}){var o;const t=De(),n=(o=t.config.customComponents)==null?void 0:o["message::after"];return n?r.jsx(n,{...t,currentMessage:e}):null}const ld=["[--tw-prose-body:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-headings:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-lead:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-bold:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-links:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-code:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-counters:hsl(var(--opencx-muted-foreground))]","[--tw-prose-bullets: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-th-borders:hsl(var(--opencx-border))]","[--tw-prose-td-borders:hsl(var(--opencx-border))]","[--tw-prose-pre-bg:hsl(var(--opencx-muted))]","[--tw-prose-pre-code:hsl(var(--opencx-foreground))]"].join(" ");function Gn(e){const{data:t,id:n,type:o,attachments:s,isFirstInGroup:i,isLastInGroup:a,isAloneInGroup:c,dataComponentNames:l,classNames:d}=e,p=o==="AI"||o==="AGENT"?t.message:"",m=u.useMemo(()=>o==="AI"?ta(p):null,[o,p]);if(o!=="AI"&&o!=="AGENT")return null;const{variant:h="default"}=t,f=e.replyTo?r.jsx(ed,{replyTo:e.replyTo}):null,y=(S,b,N=!0,j=!0)=>r.jsxs("div",{className:"flex flex-row gap-2",children:[r.jsxs("div",{...F((l==null?void 0:l.message)??"chat/agent_msg/msg"),"data-first":i,"data-last":a,"data-alone":c,"data-variant":h,className:T("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",ld,"break-words [word-break:break-word]",h==="error"&&"bg-destructive/15 text-destructive",i&&!c&&"rounded-bl-md",a&&!c&&"rounded-tl-md",!i&&!a&&!c&&"rounded-l-md",d==null?void 0:d.message),children:[j&&f,r.jsx(kr,{messageType:o,messageId:n,children:S})]}),N&&r.jsx(cd,{currentMessage:e})]},b),w=(m==null?void 0:m.some(S=>S.type==="ui"))??!1,k=(m==null?void 0:m.reduce((S,b,N)=>b.type==="markdown"?N:S,-1))??-1,x=(m==null?void 0:m.findIndex(S=>S.type==="markdown"))??-1;return r.jsxs("div",{...F((l==null?void 0:l.messageContainer)??"chat/agent_msg/root"),"data-message-id":n,className:T("w-5/6 flex flex-col items-start gap-1",d==null?void 0:d.messageContainer),children:[s&&s.length>0&&r.jsx("div",{className:"w-full gap-1 flex flex-row flex-wrap items-center justify-start",children:s==null?void 0:s.map(S=>r.jsx(aa,{attachment:S},S.id))}),w&&m?m.map((S,b)=>S.type==="markdown"?y(S.content,`md-${b}`,b===k,b===x):r.jsx("div",{className:"w-full",children:r.jsx(Qs,{spec:S.spec})},`ui-${b}`)):p.length>0&&y(p)]})}function dd(e){return r.jsx("div",{className:"w-full max-w-full overflow-auto shrink-0",children:r.jsx("pre",{className:"text-xs leading-tight whitespace-pre-wrap break-word",children:JSON.stringify(e,null,1)})})}const jr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Root,{ref:n,className:T("relative flex size-6 aspect-square shrink-0 overflow-hidden rounded-full bg-secondary",e),...t}));jr.displayName=Ct.Root.displayName;const Cr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Image,{ref:n,className:T("aspect-square h-full w-full",e),...t}));Cr.displayName=Ct.Image.displayName;const Sr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Fallback,{ref:n,className:T("flex size-full text-xs items-center justify-center rounded-lg",e),...t}));Sr.displayName=Ct.Fallback.displayName;function Kn({agent:e,...t}){var n,o;return r.jsxs(jr,{...t,children:[r.jsx(Cr,{src:(e==null?void 0:e.avatarUrl)||(e==null?void 0:e.avatar)||"",alt:"Agent Icon"}),(e==null?void 0:e.name)&&r.jsx(Sr,{children:(o=(n=e==null?void 0:e.name)==null?void 0:n.slice(0,1))==null?void 0:o.toUpperCase()})]})}function ud({agent:e}){return r.jsx(H.AnimatePresence,{children:r.jsxs(te,{...F("chat/bot_loading/root"),className:"flex flex-row items-end w-full gap-2 animate-pulse",children:[r.jsx(Kn,{agent:e}),r.jsxs("div",{...F("chat/bot_loading/bouncing_dots_container"),className:T("flex items-center [&_span]:bg-secondary-foreground [&_span]:size-1 gap-1 p-2 rounded-xl bg-secondary"),children:[r.jsx(H.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.3s]"}),r.jsx(H.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.15s]"}),r.jsx(H.motion.span,{className:"rounded-full animate-bounce"})]})]})})}const pd='*,: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}.order-1{order:1}.order-2{order:2}.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-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mt-0\\.5{margin-top:-.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-auto{margin-left:auto}.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-9{width:2.25rem;height:2.25rem}.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-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-16{max-height:4rem}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\\[160px\\]{max-height:160px}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[50vh\\]{max-height:50vh}.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))}.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-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * 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))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-foreground\\/10>:not([hidden])~:not([hidden]){border-color:hsl(var(--opencx-foreground) / .1)}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.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}.text-pretty{text-wrap:pretty}.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-s-2{border-inline-start-width:2px}.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-foreground\\/10{border-color:hsl(var(--opencx-foreground) / .1)}.border-foreground\\/15{border-color:hsl(var(--opencx-foreground) / .15)}.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-primary\\/10{border-color:hsl(var(--opencx-primary) / .1)}.border-primary\\/50{border-color:hsl(var(--opencx-primary) / .5)}.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\\/10{background-color:#10b9811a}.bg-emerald-500\\/15{background-color:#10b98126}.bg-emerald-500\\/5{background-color:#10b9810d}.bg-foreground\\/5{background-color:hsl(var(--opencx-foreground) / .05)}.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{background-color:hsl(var(--opencx-muted-foreground))}.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-primary\\/25{background-color:hsl(var(--opencx-primary) / .25)}.bg-primary\\/\\[0\\.07\\]{background-color:hsl(var(--opencx-primary) / .07)}.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))}.stroke-current{stroke:currentColor}.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-2\\.5{padding-left:.625rem;padding-right:.625rem}.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{padding-top:0;padding-bottom:0}.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}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-2\\.5{padding-inline-end:.625rem}.pe-4{padding-inline-end:1rem}.pl-6{padding-left:1.5rem}.pr-16{padding-right:4rem}.ps-1{padding-inline-start:.25rem}.ps-1\\.5{padding-inline-start:.375rem}.ps-2{padding-inline-start:.5rem}.ps-2\\.5{padding-inline-start:.625rem}.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-\\[0\\.8125rem\\]{font-size:.8125rem}.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\\/50{color:hsl(var(--opencx-foreground) / .5)}.text-foreground\\/60{color:hsl(var(--opencx-foreground) / .6)}.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\\/10{color:hsl(var(--opencx-primary) / .1)}.text-primary\\/40{color:hsl(var(--opencx-primary) / .4)}.text-primary\\/50{color:hsl(var(--opencx-primary) / .5)}.text-primary\\/60{color:hsl(var(--opencx-primary) / .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}.line-through{text-decoration-line:line-through}.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))}.accent-current{accent-color:currentColor}.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-body\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-body: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-secondary-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-code\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-code: hsl(var(--opencx-secondary-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-headings\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-headings: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-hr\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-hr: hsl(var(--opencx-border))}.\\[--tw-prose-lead\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-lead: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-primary\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-primary))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-secondary-foreground))}.\\[--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))}.\\[--tw-prose-td-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-td-borders: hsl(var(--opencx-border))}.\\[--tw-prose-th-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-th-borders: hsl(var(--opencx-border))}.\\[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-foreground:hover{background-color:hsl(var(--opencx-foreground))}.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\\/10:hover{background-color:hsl(var(--opencx-primary) / .1)}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--opencx-primary) / .9)}.hover\\:bg-primary\\/\\[0\\.02\\]:hover{background-color:hsl(var(--opencx-primary) / .02)}.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-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color: hsl(var(--opencx-primary) / .4)}.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))}.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}.motion-reduce\\:active\\:scale-100:active{--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(min-width:640px){.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}.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}.\\[\\&_\\.animate-spin\\]\\:animate-none .animate-spin{animation:none}.\\[\\&_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}}@media(pointer:coarse){.\\[\\@media\\(pointer\\:coarse\\)\\]\\:min-h-12{min-height:3rem}}',md="5.1.0";function hd(e,t){const n=typeof(e==null?void 0:e.right)=="number",o=typeof(e==null?void 0:e.left)=="number";return n&&!o?"right":o&&!n||t==="rtl"?"left":"right"}const So=450;function Ae(){const[e,t]=u.useState(()=>(window.top||window).innerWidth<So);return u.useEffect(()=>{const n=window.top||window,o=()=>{t(n.innerWidth<So)};return o(),n.addEventListener("resize",o),()=>{n.removeEventListener("resize",o)}},[]),{isSmallScreen:e}}const Jt={transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)",transitionDuration:"1000ms"};function fe(){var h,f,y,w,k,x,S,b,N,j,g,_,A,R,P,O,I,B,E,M,W,$,q,V,U,D,Z,ne,L,X,K,re,oe,pe,se,be,ze,ae,Ze,ct,Re,Pe,Fe,We,He,Oe,we,lt;const{dir:e}=C.useDocumentDir(),{isSmallScreen:t}=Ae(),{theme:n,inline:o}=C.useConfig(),s=ge=>o?"100%":ge,i=(ge,le)=>t?`100dv${ge}`:le,a=(ge,le)=>s(i(ge,le)),c=hd((h=n==null?void 0:n.widgetTrigger)==null?void 0:h.offset,e),l={zIndex:((f=n==null?void 0:n.widgetTrigger)==null?void 0:f.zIndex)??1e7,offset:{bottom:((w=(y=n==null?void 0:n.widgetTrigger)==null?void 0:y.offset)==null?void 0:w.bottom)??20,right:((x=(k=n==null?void 0:n.widgetTrigger)==null?void 0:k.offset)==null?void 0:x.right)??(c==="right"?20:"initial"),left:((b=(S=n==null?void 0:n.widgetTrigger)==null?void 0:S.offset)==null?void 0:b.left)??(c==="left"?20:"initial")},size:{button:((j=(N=n==null?void 0:n.widgetTrigger)==null?void 0:N.size)==null?void 0:j.button)??48,icon:((_=(g=n==null?void 0:n.widgetTrigger)==null?void 0:g.size)==null?void 0:_.icon)??24}},d=(()=>{const ge=c==="right"?l.offset.right:l.offset.left;return typeof ge!="number"?0:ge})(),p={palette:(n==null?void 0:n.palette)??"neutral",primaryColor:(n==null?void 0:n.primaryColor)??"hsl(0 0% 9%)",widgetTrigger:l,widgetContentContainer:{borderRadius:t?"0px":((A=n==null?void 0:n.widgetContentContainer)==null?void 0:A.borderRadius)??"32px",zIndex:((R=n==null?void 0:n.widgetContentContainer)==null?void 0:R.zIndex)??l.zIndex+1,outline:((P=n==null?void 0:n.widgetContentContainer)==null?void 0:P.outline)??"none",outlineColor:((O=n==null?void 0:n.widgetContentContainer)==null?void 0:O.outlineColor)??"hsl(0 0% 50% / .5)",boxShadow:((I=n==null?void 0:n.widgetContentContainer)==null?void 0:I.boxShadow)??"0 0px 100px 0px rgb(0 0 0 / 0.25)",transitionProperty:((B=n==null?void 0:n.widgetContentContainer)==null?void 0:B.transitionProperty)??"all",transitionTimingFunction:((E=n==null?void 0:n.widgetContentContainer)==null?void 0:E.transitionTimingFunction)??Jt.transitionTimingFunction,transitionDuration:((M=n==null?void 0:n.widgetContentContainer)==null?void 0:M.transitionDuration)??Jt.transitionDuration,offset:{side:t?0:l.offset.bottom+l.size.button+yt.y*2+((($=(W=n==null?void 0:n.widgetContentContainer)==null?void 0:W.offset)==null?void 0:$.side)??10),align:t?0:d+(((V=(q=n==null?void 0:n.widgetContentContainer)==null?void 0:q.offset)==null?void 0:V.align)??0)}},screens:{welcome:{width:a("w",((D=(U=n==null?void 0:n.screens)==null?void 0:U.welcome)==null?void 0:D.width)??"400px"),minHeight:a("h",((ne=(Z=n==null?void 0:n.screens)==null?void 0:Z.welcome)==null?void 0:ne.minHeight)??"1px")},sessions:{width:a("w",((X=(L=n==null?void 0:n.screens)==null?void 0:L.sessions)==null?void 0:X.width)??"450px"),height:a("h",((re=(K=n==null?void 0:n.screens)==null?void 0:K.sessions)==null?void 0:re.height)??"600px")},chat:{width:a("w",((pe=(oe=n==null?void 0:n.screens)==null?void 0:oe.chat)==null?void 0:pe.width)??"525px"),height:a("h",((be=(se=n==null?void 0:n.screens)==null?void 0:se.chat)==null?void 0:be.height)??"700px"),withCanvas:{width:a("w",((Ze=(ae=(ze=n==null?void 0:n.screens)==null?void 0:ze.chat)==null?void 0:ae.withCanvas)==null?void 0:Ze.width)??"min(1050px, 100vw)"),height:a("h",((Pe=(Re=(ct=n==null?void 0:n.screens)==null?void 0:ct.chat)==null?void 0:Re.withCanvas)==null?void 0:Pe.height)??"min(800px, 100vh)"),transitionTimingFunction:((He=(We=(Fe=n==null?void 0:n.screens)==null?void 0:Fe.chat)==null?void 0:We.withCanvas)==null?void 0:He.transitionTimingFunction)??Jt.transitionTimingFunction,transitionDuration:((lt=(we=(Oe=n==null?void 0:n.screens)==null?void 0:Oe.chat)==null?void 0:we.withCanvas)==null?void 0:lt.transitionDuration)??Jt.transitionDuration}}}},m={maxHeight:a("h",`calc(
|
|
15
15
|
100vh
|
|
16
16
|
- ${p.widgetTrigger.offset.bottom}px
|
|
17
17
|
- ${p.widgetContentContainer.offset.side}px
|
|
@@ -372,4 +372,4 @@ html[${$t}] body {
|
|
|
372
372
|
</svg>`;const o=e??{x:window.innerWidth-40,y:window.innerHeight-40};let s=o;n.style.transform=`translate(${o.x-cn}px, ${o.y-ln}px)`,document.documentElement.appendChild(t);const i=n.querySelector("path");n.offsetWidth,n.style.opacity="1";let a=!1;const c={async moveTo(l,d){if(a)return;const p=`translate(${l-cn}px, ${d-ln}px)`;if(Yr()||typeof n.animate!="function"){n.style.transform=p;return}n.style.transition=`opacity ${Dn}ms ease`;const m=yh(s,{x:l,y:d});await n.animate(m,{duration:gh,easing:"linear",fill:"forwards"}).finished.catch(()=>{}),!a&&(n.style.transform=p,s={x:l,y:d},await os(xh))},async press(){a||!i||(i.style.transform="scale(0.86)",await os(ns),i.style.transform="")},release(){a||(a=!0,n.style.opacity="0",window.setTimeout(()=>t.remove(),Dn+60))}};return ot=c,mr(),c}catch{return null}}function Ch(e){const t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}async function ui(e,{press:t=!1}={}){var o;const n=jh();if(!n)return{done:()=>{}};try{(o=e.scrollIntoView)==null||o.call(e,{behavior:Yr()?"auto":"smooth",block:"center",inline:"nearest"});const{x:s,y:i}=Ch(e);await n.moveTo(s,i),t&&await n.press()}catch{}return{done:mr}}const Sh=v.z.object({ref:v.z.string().min(1),action:v.z.enum(Lu),value:v.z.string().max(500).optional()});function pi(e,t){const n=u.useRef({effects:e,isStreaming:t});n.current={effects:e,isStreaming:t};const o=u.useRef(!1);return u.useEffect(()=>(o.current=!0,()=>{o.current=!1}),[]),u.useCallback(s=>o.current&&n.current.isStreaming&&n.current.effects.some(i=>i.key===s),[])}const Nh=200;function _h(){const{widgetCtx:e}=C.useWidget(),{pageEffects:t,replyToPageCall:n,requestPageActionConsent:o,isStreaming:s}=C.useAgentChatUi(),i=u.useRef(new Set),a=pi(t,s);return u.useEffect(()=>{const c=i.current;for(const l of t){if(l.type!=="act-on-page"||c.has(l.key))continue;for(c.add(l.key);c.size>Nh;){const f=c.values().next().value;if(f===void 0)break;c.delete(f)}const d=Sh.safeParse(l.input);if(!d.success){Q.log.warn("act_on_page: invalid tool input",{issues:d.error.issues}),n(l.callId,"unsupported");continue}const{ref:p,action:m,value:h}=d.data;(async()=>{let f;try{const y=()=>a(l.key)&&e.features.pageContext&&e.features.clientTools&&e.features.pageActions;if(!y()){n(l.callId,"declined");return}const w=Do(p);if(!w){n(l.callId,"gone",void 0,y()?cr():void 0);return}const k=jt(w)||"this control",x=m==="select"?ur(w,h):null;if(m==="select"&&!x){n(l.callId,"no_change","That option is unavailable or ambiguous.");return}const S=x==null?void 0:x.value,b=x==null?void 0:x.label.trim(),N=Fa(w),j=()=>y()&&Do(p)===w&&N()&&k===(jt(w)||"this control")&&(!x||ur(w,h)===x&&x.value===S&&x.label.trim()===b);if(!await o({callId:l.callId,action:m,controlName:k,...m==="fill"||m==="select"?{value:h}:{},...x?{valueLabel:b||"(empty option)"}:{}})){n(l.callId,"declined");return}if(!j()){n(l.callId,"declined");return}if(f=await ui(w,{press:!0}),!j()){n(l.callId,"declined");return}const _=await mh({ref:p,action:m,value:h,consentIsCurrent:j,observationIsCurrent:y}),A=y()&&_.outcome!=="declined"&&_.outcome!=="unsupported"?cr():null;n(l.callId,_.outcome,_.detail,A?{controls:A.controls,truncated:A.truncated}:void 0)}catch{n(l.callId,"unsupported","The page action could not be completed.")}finally{f==null||f.done()}})()}},[t,n,o,e,a]),null}const Eh=["circle","box","underline","bracket","arrow"],Th=v.z.object({ref:v.z.string().min(1),label:v.z.string().optional(),type:v.z.enum(Eh).optional().catch(void 0)}),Ah=8e3;function zh(e,t,n){return t.display==="inline"&&e.height<=n*2.5?"underline":e.width<=220&&e.height<=80?"circle":"box"}let Le=null;function Ih(){Le==null||Le()}function Mh(e,t,{accentColor:n="hsl(0 0% 9%)",surfaceColor:o="hsl(0 0% 9%)",foregroundColor:s="hsl(0 0% 98%)",zIndex:i=10000002,durationMs:a=Ah,seed:c}={}){if(!e.isConnected)return!1;Le==null||Le();const l=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;e.scrollIntoView({behavior:l?"auto":"smooth",block:"center",inline:"nearest"});const d=e.getBoundingClientRect(),p=getComputedStyle(e),m=parseFloat(p.fontSize)||16,h=d.width<160&&d.height<56,f=gs.annotate(e,{type:t.type??zh(d,p,m),color:n,strokeWidth:Math.min(3,Math.max(1.6,m*.11)),wobble:h?.6:.9,rtl:p.direction==="rtl",seed:c});let y=!1;const w=()=>{if(!y)try{f.show(),or(e,i)}catch(P){Q.log.warn("highlight_element: mark could not be drawn",P)}},k=document.fonts;k!=null&&k.ready&&typeof k.ready.then=="function"?k.ready.then(w):w();const x=document.createElement("div");x.setAttribute("data-opencx-overlay",""),x.style.pointerEvents="none";let S=null,b=null;t.label&&(S=document.createElement("div"),S.setAttribute("data-cx-role","callout"),Object.assign(S.style,{position:"fixed",zIndex:String(i+1),background:o,color:s,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, ${s} 35%, transparent)`,opacity:"0",transform:l?"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"}),S.textContent=t.label,b=document.createElement("div"),Object.assign(b.style,{position:"absolute",width:"10px",height:"10px",background:o,transform:"rotate(45deg)"}),S.appendChild(b),x.appendChild(S)),document.documentElement.appendChild(x);let N=0;if(S&&b){const P=S,O=b,I=()=>{const B=e.getBoundingClientRect(),E=window.innerWidth,M=B.top>90?"top":"bottom",W=Math.min(240,P.offsetWidth||240),$=Math.max(12,Math.min(B.left+B.width/2-W/2,E-W-12));P.style.left=`${$}px`,P.style.width=`${W}px`,P.style.top=M==="top"?`${B.top-P.offsetHeight-12}px`:`${B.bottom+12}px`,O.style.left=`${Math.max(10,Math.min(B.left+B.width/2-$-5,W-20))}px`,M==="top"?(O.style.bottom="-4px",O.style.top=""):(O.style.top="-4px",O.style.bottom=""),N=requestAnimationFrame(I)};I()}const j=S?window.setTimeout(()=>{S&&(S.style.opacity="1",S.style.transform="translateY(0)")},350):0,g=()=>{if(!y){y=!0,Le===g&&(Le=null),cancelAnimationFrame(N),window.clearTimeout(R),window.clearTimeout(j),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",A,!0),S&&(S.style.opacity="0",S.style.transform=l?"none":"translateY(4px)");try{f.hide(),f.finished.then(()=>f.remove())}catch{f.remove()}window.setTimeout(()=>x.remove(),300)}},_=()=>g(),A=P=>{P.key==="Escape"&&g()},R=window.setTimeout(g,Math.max(0,a));return document.addEventListener("click",_,!0),document.addEventListener("keydown",A,!0),Le=g,!0}const Rh=200;function Ph(){const{pageMarkHighlightDurationMs:e}=C.useConfig(),{pageEffects:t,replyToPageCall:n,isStreaming:o}=C.useAgentChatUi(),{widgetCtx:s}=C.useWidget(),i=pi(t,o),{theme:a,cssVars:c}=fe(),l=Dr({cssVars:c,primaryColor:a.primaryColor,contentZIndex:a.widgetContentContainer.zIndex}),d=u.useRef(new Set);return u.useEffect(()=>()=>{Ih(),fn()},[]),u.useEffect(()=>{o||fn()},[o]),u.useEffect(()=>{const p=d.current;for(const m of t){if(m.type!=="highlight-element"||p.has(m.key))continue;for(p.add(m.key);p.size>Rh;){const S=p.values().next().value;if(S===void 0)break;p.delete(S)}const h=()=>i(m.key)&&s.features.pageContext&&s.features.clientTools;if(!h()){n(m.callId,"declined");continue}const f=Th.safeParse(m.input);if(!f.success){Q.log.warn("highlight_element: invalid tool input",{issues:f.error.issues}),n(m.callId,"unsupported");continue}const y=dr(f.data.ref);if(!y.ok){Q.log.warn("highlight_element: not drawn",{ref:f.data.ref,reason:y.reason}),y.reason==="off-limits"?n(m.callId,"unsupported",y.detail):n(m.callId,y.reason);continue}const w=y.element,k=m.callId,x=f.data;(async()=>{let S;try{if(S=await ui(w),!h()){n(k,"declined");return}const b=dr(x.ref);if(!b.ok){n(k,b.reason==="off-limits"?"unsupported":b.reason);return}const N=Mh(w,x,{accentColor:l.accent,surfaceColor:l.surface,foregroundColor:l.foreground,zIndex:l.inkZIndex,durationMs:e});n(k,N?"done":"gone"),N||Q.log.warn("highlight_element: the mark could not be drawn",x)}catch{n(k,"unsupported","The page highlight could not be completed.")}finally{S==null||S.done()}})()}},[t,n,e,l.accent,l.surface,l.foreground,l.inkZIndex,i,s]),null}const Oh=/(\*\*\*|\*\*|\*|~~|`+)(?=\S)([\s\S]*?\S)\1/g,$h=/(^|[^\w`])(___|__|_)(?=\S)([\s\S]*?\S)\2(?!\w)/g,Lh=3;function hr(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 n=0;n<Lh;n++){const o=t.replace(Oh,"$2").replace($h,"$1$3");if(o===t)break;t=o}return t.trim()}function mi({className:e}){const[t,n]=u.useState(()=>new Set);return u.useEffect(()=>{const o=Array.from({length:9},(i,a)=>a),s=setInterval(()=>{const i=2+Math.floor(Math.random()*3),a=[...o].sort(()=>Math.random()-.5).slice(0,i);n(new Set(a))},110);return()=>clearInterval(s)},[]),r.jsx("div",{className:T("inline-grid shrink-0 grid-cols-3",e),style:{gap:1,width:14,height:14},children:Array.from({length:9},(o,s)=>r.jsx("div",{className:"rounded-[1px]",style:{width:4,height:4,background:t.has(s)?"hsl(var(--opencx-foreground))":"hsl(var(--opencx-border))",transition:"background 66ms ease"}},s))})}function Dh({labels:e,active:t}){const n=u.useRef(e);n.current=e;const[o,s]=u.useState(()=>e[e.length-1]??""),[i,a]=u.useState("in"),c=u.useRef(e.length);return u.useEffect(()=>{const l=n.current.length;if(!t||l<=c.current){c.current=l;return}c.current=l;const d=n.current[l-1]??"";a("out");const p=setTimeout(()=>{s(d),a("in")},180);return()=>clearTimeout(p)},[t,e.length]),r.jsx("span",{className:T("truncate text-[12px] text-muted-foreground/60",t&&(i==="in"?"opencx-placeholder-in":"opencx-placeholder-out")),children:o})}function Xr(e,t){if(e.kind==="tool")return Gr(e.label);const n=e.label.split(`
|
|
373
373
|
`).find(s=>s.trim());if(!n)return t;const o=hr(n);return o?o.length>40?`${o.slice(0,40)}...`:o:t}function Fh(e,t,n=3){const o=e.filter(s=>s.kind==="tool").map(s=>Gr(s.label));if(o.length===0){const s=e.find(i=>i.kind==="reasoning");return s?Xr(s,t):t}return o.length<=n?o.join(" → "):`${o.slice(0,n).join(" → ")} → ...`}const Wh=["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 Hh({step:e,isLive:t,thinkingLabel:n}){const[o,s]=u.useState(!1),i=Xr(e,n),a=i!==hr(e.label),c=t?(()=>{const l=e.label.split(`
|
|
374
374
|
`).filter(p=>p.trim()),d=hr(l[l.length-1]??"");return d?d.length>80?`${d.slice(0,80)}...`:d:n})():i;return r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:T("flex min-w-0 items-center gap-2.5 py-[3px]",a&&"cursor-pointer"),onClick:()=>a&&s(l=>!l),children:[r.jsx("div",{className:"relative z-10 flex size-[18px] shrink-0 items-center justify-center rounded-full bg-background",children:t?r.jsx(Ir,{className:"text-[14px] leading-none text-primary/70"}):r.jsx("span",{className:"text-[14px] leading-none text-muted-foreground/40",children:"⠿"})}),r.jsx("span",{className:T("min-w-0 truncate text-[13px] italic text-muted-foreground/60",t&&"opencx-text-shimmer"),children:c}),a&&r.jsx(z.ChevronRightIcon,{className:T("size-2.5 shrink-0 text-muted-foreground/40 transition-transform duration-200",o&&"rotate-90")})]}),a&&o&&r.jsx("div",{className:"opencx-fade-up ms-[30px]",children:r.jsx("div",{className:T("max-h-[160px] overflow-y-auto py-1.5 text-[13px] leading-relaxed [overflow-wrap:anywhere]",Wh),children:r.jsx(kr,{children:e.label})})})]})}const ss=4e3;function Bh(e){const t=typeof e=="string"?e:Uh(e)??String(e);return t.length>ss?`${t.slice(0,ss)}…`:t}function Uh(e){try{return JSON.stringify(e,null,2)}catch{return null}}function as({label:e,value:t}){return r.jsxs("div",{className:"pt-1.5",children:[r.jsx("div",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground/50",children:e}),r.jsx("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:Bh(t)})]})}function qh({step:e,showIO:t}){const{t:n}=ee(),[o,s]=u.useState(!1),i=t&&(e.input!==void 0||e.output!==void 0);return r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:T("flex min-w-0 items-center gap-2.5 py-[3px]",i&&"cursor-pointer"),onClick:()=>i&&s(a=>!a),children:[r.jsx("div",{className:"relative z-10 flex size-[18px] shrink-0 items-center justify-center rounded-full bg-background",children:e.done?r.jsx("div",{className:"size-1.5 rounded-full bg-muted-foreground/30"}):r.jsx(mi,{})}),r.jsx("span",{className:T("min-w-0 truncate text-[13px] text-muted-foreground/70",!e.done&&"opencx-text-shimmer"),children:Gr(e.label)}),i&&r.jsx(z.ChevronRightIcon,{className:T("size-2.5 shrink-0 text-muted-foreground/40 transition-transform duration-200",o&&"rotate-90")})]}),i&&o&&r.jsxs("div",{className:"opencx-fade-up ms-[30px] pb-1",children:[e.input!==void 0&&r.jsx(as,{label:n("step_arguments"),value:e.input}),e.output!==void 0&&r.jsx(as,{label:n("step_result"),value:e.output})]})]})}function Vh({steps:e,active:t}){var y;const{t:n}=ee(),{showStepToolIO:o,presentation:s}=C.useConfig(),{widgetCtx:i}=C.useWidget(),a=(y=Q.resolveClientPresentation(i.agent.presentation,s))==null?void 0:y.toolActivity,c=o!==!1&&(a==="details"||a===void 0&&o===!0),l=n("thinking"),d=t?e:e.map(w=>w.done?w:{...w,done:!0}),p=d.some(w=>!w.done),[m,h]=u.useState(t),f=u.useRef(t);return u.useEffect(()=>{f.current&&!t?h(!1):!f.current&&t&&h(!0),f.current=t},[t]),d.length===0?null:r.jsxs("div",{...F("chat/streaming_turn/steps"),className:"w-full min-w-0 overflow-hidden",children:[r.jsx("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:()=>h(w=>!w),children:m?r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronDownIcon,{className:"size-2.5 shrink-0"}),r.jsx("span",{className:"text-[11px] font-medium tabular-nums",children:d.length}),r.jsx("span",{className:T("text-muted-foreground/40",p&&"opencx-text-shimmer"),children:n(p?"running":"steps")})]}):p?r.jsxs(r.Fragment,{children:[r.jsx(mi,{className:"opacity-70"}),r.jsx("span",{className:"text-[11px] font-medium tabular-nums",children:d.length}),r.jsx(Dh,{labels:d.map(w=>Xr(w,l)),active:p})]}):r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronRightIcon,{className:"size-2.5 shrink-0"}),r.jsx("span",{className:"min-w-0 flex-1 truncate text-start text-[12px] text-muted-foreground/50",children:Fh(d,l)})]})}),m&&r.jsxs("div",{className:"relative pt-1",children:[d.length>1&&r.jsx("div",{className:"absolute bottom-3 start-2 top-3 border-s border-dashed border-muted-foreground/20"}),d.map((w,k)=>r.jsx("div",{className:"opencx-fade-up",style:{animationDelay:`${k*40}ms`},children:w.kind==="reasoning"?r.jsx(Hh,{step:w,isLive:p&&k===d.length-1,thinkingLabel:l}):r.jsx(qh,{step:w,showIO:c})},k))]})]})}function Gr(e){const n=e.replace(/^mcp_[a-f0-9]{16}__/,"").replaceAll(/[_-]+/g," ").trim();return n.charAt(0).toUpperCase()+n.slice(1)}function is(e){var n;if(e.manual){const o=e.manualText.trim();return o.length>0?o:void 0}if(e.question.selection==="single")return e.singleId?(n=e.question.options.find(o=>o.id===e.singleId))==null?void 0:n.label:void 0;const t=Array.from(e.multiIds).map(o=>{var s;return(s=e.question.options.find(i=>i.id===o))==null?void 0:s.label}).filter(o=>typeof o=="string"&&o.length>0);return t.length>0?t.join(", "):void 0}function Yh({request:e}){const{t}=ee(),{sendMessage:n}=C.useMessages(),{widgetCtx:o}=C.useWidget(),s=e.questions,[i,a]=u.useState(0),[c,l]=u.useState(!1),[d,p]=u.useState({}),[m,h]=u.useState({}),[f,y]=u.useState({}),[w,k]=u.useState({}),x=s[i],S=s.length,b=u.useCallback(I=>is({question:I,manual:!!d[I.id],manualText:m[I.id]??"",singleId:f[I.id],multiIds:w[I.id]??new Set})!==void 0,[d,m,w,f]),N=x?b(x):!1,j=u.useMemo(()=>s.every(I=>b(I)),[b,s]),g=u.useCallback((I,B)=>{y(E=>({...E,[I]:B})),p(E=>({...E,[I]:!1}))},[]),_=u.useCallback((I,B)=>{k(E=>{const M=new Set(E[I]??[]);return M.has(B)?M.delete(B):M.add(B),{...E,[I]:M}}),p(E=>({...E,[I]:!1}))},[]),A=u.useCallback(I=>{p(B=>({...B,[I]:!0})),y(B=>({...B,[I]:void 0})),k(B=>({...B,[I]:new Set}))},[]),R=u.useCallback(()=>{N&&a(I=>Math.min(S-1,I+1))},[N,S]),P=u.useCallback(()=>{if(c||!j)return;const I=new Map;for(const E of s){const M=is({question:E,manual:!!d[E.id],manualText:m[E.id]??"",singleId:f[E.id],multiIds:w[E.id]??new Set});M&&I.set(E.id,M)}const B=C.formatAskQuestionsAnswers(e,I);B.trim().length!==0&&(l(!0),n({content:B,clientContext:Ua({marks:[],readsPage:o.features.pageContext})}))},[j,c,d,m,w,s,e,n,f,o]);if(!x)return null;const O=!!d[x.id];return r.jsxs("div",{...F("chat/clarification_questions/root"),className:T("w-full rounded-2xl border border-border bg-background shadow-sm",c&&"pointer-events-none opacity-60"),children:[r.jsxs("div",{className:"flex items-start gap-2.5 px-4 pt-4",children:[r.jsx("span",{className:"mt-0.5 flex size-7 shrink-0 items-center justify-center rounded-md bg-primary text-primary-foreground",children:r.jsx(z.SparklesIcon,{className:"size-4"})}),r.jsx("p",{...F("chat/clarification_questions/prompt"),className:"min-w-0 flex-1 text-sm font-medium leading-snug text-foreground",children:x.prompt})]}),r.jsx("div",{className:"px-4 pb-3 pt-3",children:O?r.jsx("textarea",{...F("chat/clarification_questions/manual_input"),value:m[x.id]??"",onChange:I=>h(B=>({...B,[x.id]:I.target.value})),placeholder:t("questions_answer_placeholder"),rows:3,className:T("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:I=>{I.key!=="Enter"||I.shiftKey||(I.preventDefault(),i<S-1?R():P())}}):r.jsxs("div",{className:"flex flex-wrap gap-2",children:[x.options.map(I=>{var E;const B=x.selection==="single"?f[x.id]===I.id:((E=w[x.id])==null?void 0:E.has(I.id))??!1;return u.createElement("button",{...F("chat/clarification_questions/option"),key:I.id,type:"button","aria-pressed":B,onClick:()=>x.selection==="single"?g(x.id,I.id):_(x.id,I.id),className:T("rounded-full border px-3 py-1.5 text-sm transition-colors",B?"border-primary bg-primary/10 text-foreground":"border-border bg-muted/40 text-foreground/90 hover:bg-muted")},I.label)}),r.jsx("button",{...F("chat/clarification_questions/type_it"),type:"button",onClick:()=>A(x.id),className:T("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")})]})}),r.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-border px-3 py-2",children:[r.jsxs("button",{...F("chat/clarification_questions/back"),type:"button",onClick:()=>a(I=>Math.max(0,I-1)),disabled:i===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:[r.jsx(z.ChevronLeftIcon,{className:"size-3.5"}),t("questions_back")]}),S>1?r.jsxs("span",{className:"text-[11px] tabular-nums text-muted-foreground",children:[i+1," / ",S]}):null,i<S-1?r.jsxs("button",{...F("chat/clarification_questions/next"),type:"button",onClick:R,disabled:!N,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"),r.jsx(z.ChevronRightIcon,{className:"size-3.5"})]}):r.jsx("button",{...F("chat/clarification_questions/send"),type:"button",onClick:P,disabled:!j,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")})]}),r.jsx("div",{className:"h-1 w-full overflow-hidden rounded-b-2xl bg-muted",children:r.jsx("div",{className:"h-full bg-primary transition-[width] duration-300 ease-out",style:{width:`${(i+1)/Math.max(1,S)*100}%`}})})]})}function Xh({widgetRef:e}){const{contactState:t}=C.useContact(),{setIsOpen:n}=C.useWidgetTrigger(),{toChatScreen:o}=C.useWidgetRouter();return u.useImperativeHandle(e,()=>({newChat:async s=>{var a;if(!((a=t.contact)!=null&&a.token)){Q.log.warn("cannot start a new chat: contact not yet initialized");return}n(!0);const i=o();i&&(s!=null&&s.message)&&await i.messageCtx.sendMessage({content:s.message})}}),[t,n,o]),null}function Gh(){const{isOpen:e,setIsOpen:t}=C.useWidgetTrigger();return r.jsxs(Ye.Root,{open:e,onOpenChange:t,children:[r.jsx(um,{}),r.jsx(dm,{}),r.jsx(im,{})]})}function Kh(){return C.useDisplayMode()==="companion"?r.jsx(C.WidgetLayoutProvider,{children:r.jsx(dh,{})}):r.jsx(Gh,{})}const Zh=[{key:"loading",component:ud},{key:"fallback",component:dd},{key:"bot_message",component:Gn},{key:"agent_message",component:Gn},{key:"agent_chat_steps",component:Vh},{key:"agent_chat_spec",component:$d},{key:"agent_chat_questions",component:Yh}],Jh={get:async e=>localStorage.getItem(e),set:async(e,t)=>{localStorage.setItem(e,t)},remove:async e=>{localStorage.removeItem(e)}},hi=u.forwardRef(function({options:t,components:n=[],loadingComponent:o,errorComponent:s},i){var a,c,l,d;return r.jsx(H.MotionConfig,{reducedMotion:"user",children:r.jsx(C.WidgetProvider,{components:[...Zh,...n],options:{...t,capabilities:{...t.capabilities,richReplies:((a=t.capabilities)==null?void 0:a.richReplies)??!n.some(({key:p})=>["AGENT_CHAT_SPEC","BOT_MESSAGE","AGENT_MESSAGE"].includes(p.toUpperCase())),connections:((c=t.capabilities)==null?void 0:c.connections)===!0,pageEffects:((l=t.capabilities)==null?void 0:l.pageEffects)??!0,structuredQuestions:((d=t.capabilities)==null?void 0:d.structuredQuestions)??!n.some(({key:p})=>p.toUpperCase()==="AGENT_CHAT_QUESTIONS")}},storage:Jh,loadingComponent:o,errorComponent:s,children:r.jsx(C.WidgetTriggerProvider,{children:r.jsxs(Rp,{children:[r.jsx(Ph,{}),r.jsx(_h,{}),r.jsx(Xh,{widgetRef:i}),t.inline?r.jsx(ti,{}):r.jsx(Kh,{})]})})})})});hi.displayName="Widget";exports.HostedSpecRenderer=Tl;exports.Widget=hi;exports.segmentContent=ta;exports.useJsonRenderHost=Bt;
|
|
375
|
-
//# sourceMappingURL=index-
|
|
375
|
+
//# sourceMappingURL=index-BhDQakmD.cjs.map
|