@cuadra-ai/uikit 0.1.5 → 0.1.7

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.
Files changed (42) hide show
  1. package/dist/adapters/chatModelAdapter.d.ts +14 -0
  2. package/dist/adapters/chatModelAdapter.d.ts.map +1 -0
  3. package/dist/adapters/messageConverter.d.ts +16 -0
  4. package/dist/adapters/messageConverter.d.ts.map +1 -0
  5. package/dist/adapters/threadListAdapter.d.ts +15 -0
  6. package/dist/adapters/threadListAdapter.d.ts.map +1 -0
  7. package/dist/components/CuadraChat.d.ts +32 -0
  8. package/dist/components/CuadraChat.d.ts.map +1 -0
  9. package/dist/components/CuadraRuntimeProvider.d.ts +25 -0
  10. package/dist/components/CuadraRuntimeProvider.d.ts.map +1 -0
  11. package/dist/components/FakeReasoningLoader.d.ts +4 -0
  12. package/dist/components/FakeReasoningLoader.d.ts.map +1 -0
  13. package/dist/components/MarkdownText.d.ts +7 -0
  14. package/dist/components/MarkdownText.d.ts.map +1 -0
  15. package/dist/components/SimpleThread.d.ts +20 -0
  16. package/dist/components/SimpleThread.d.ts.map +1 -0
  17. package/dist/components/SimpleThreadList.d.ts +8 -0
  18. package/dist/components/SimpleThreadList.d.ts.map +1 -0
  19. package/dist/components/WidgetContent.d.ts +60 -0
  20. package/dist/components/WidgetContent.d.ts.map +1 -0
  21. package/dist/index.cjs +18 -239
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.ts +10 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.mjs +2259 -29648
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/lib/cuadraChatClient.d.ts +81 -0
  28. package/dist/lib/cuadraChatClient.d.ts.map +1 -0
  29. package/dist/types/cuadra.d.ts +113 -0
  30. package/dist/types/cuadra.d.ts.map +1 -0
  31. package/dist/utils/cn.d.ts +2 -0
  32. package/dist/utils/cn.d.ts.map +1 -0
  33. package/dist/utils/injectStyles.d.ts +14 -0
  34. package/dist/utils/injectStyles.d.ts.map +1 -0
  35. package/dist/utils/uikitStyles.d.ts +9 -0
  36. package/dist/utils/uikitStyles.d.ts.map +1 -0
  37. package/dist/utils/useInjectStyles.d.ts +10 -0
  38. package/dist/utils/useInjectStyles.d.ts.map +1 -0
  39. package/dist/widget/cuadra-uikit.css +1 -1
  40. package/dist/widget/cuadra-uikit.umd.js +1 -1
  41. package/dist/widget/cuadra-uikit.umd.js.map +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,81 @@
1
+ import type { ChatOut, ChatRequest, ChatSummaryPage, ChatUpdate, ListChatsParams, ListModelsParams, ModelOut, ModelPage } from '../types/cuadra';
2
+ /**
3
+ * SSE Chunk types for streaming responses
4
+ */
5
+ export interface SSEChunk {
6
+ type?: string;
7
+ content?: string;
8
+ chatId?: string;
9
+ id?: string;
10
+ delta?: string;
11
+ finished?: boolean;
12
+ message?: {
13
+ role: string;
14
+ content: string;
15
+ };
16
+ usage?: {
17
+ inputTokens: number;
18
+ outputTokens: number;
19
+ totalTokens: number;
20
+ cost?: number | null;
21
+ };
22
+ done?: boolean;
23
+ }
24
+ /**
25
+ * CuadraChatClient - API client for Cuadra AI REST API
26
+ * Handles authentication, HTTP requests, and SSE streaming
27
+ */
28
+ export declare class CuadraChatClient {
29
+ private baseUrl;
30
+ private sessionToken;
31
+ private isProxyMode;
32
+ private tenantId;
33
+ constructor(baseUrl: string, sessionToken?: string, isProxyMode?: boolean, tenantId?: string);
34
+ /**
35
+ * Set or update the session token
36
+ */
37
+ setSessionToken(token: string | null): void;
38
+ /**
39
+ * Set or update the tenant ID
40
+ */
41
+ setTenantId(tenantId: string | null): void;
42
+ /**
43
+ * Create or continue a chat with streaming support
44
+ * Returns a ReadableStream for SSE parsing
45
+ */
46
+ private getUrl;
47
+ createOrContinueChat(request: ChatRequest, abortSignal?: AbortSignal): Promise<ReadableStream<Uint8Array>>;
48
+ /**
49
+ * Get a specific chat by ID
50
+ */
51
+ getChat(chatId: string): Promise<ChatOut>;
52
+ /**
53
+ * List chats with pagination
54
+ */
55
+ listChats(params?: ListChatsParams): Promise<ChatSummaryPage>;
56
+ /**
57
+ * Generate a UUID v4 idempotency key
58
+ */
59
+ private generateIdempotencyKey;
60
+ /**
61
+ * Update a chat
62
+ */
63
+ updateChat(chatId: string, update: ChatUpdate): Promise<ChatOut>;
64
+ /**
65
+ * Delete a chat
66
+ */
67
+ deleteChat(chatId: string): Promise<void>;
68
+ /**
69
+ * List available models
70
+ */
71
+ listModels(params?: ListModelsParams): Promise<ModelPage>;
72
+ /**
73
+ * Get a specific model by ID
74
+ */
75
+ getModel(modelId: string): Promise<ModelOut>;
76
+ }
77
+ /**
78
+ * Parse SSE stream into chunks
79
+ */
80
+ export declare function parseSSEStream(stream: ReadableStream<Uint8Array>, abortSignal?: AbortSignal): AsyncGenerator<SSEChunk>;
81
+ //# sourceMappingURL=cuadraChatClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cuadraChatClient.d.ts","sourceRoot":"","sources":["../../src/lib/cuadraChatClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,eAAe,EACf,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,EAAE,QAAQ,CAAC,EAAE,MAAM;IAWnG;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI3C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI1C;;;OAGG;IACH,OAAO,CAAC,MAAM;IAaR,oBAAoB,CACxB,OAAO,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAgDtC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+B/C;;OAEG;IACG,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAgDnE;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IA+DtE;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC/C;;OAEG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAgD/D;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CA8BnD;AAED;;GAEG;AACH,wBAAuB,cAAc,CACnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,QAAQ,CAAC,CAsC1B"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Type definitions for Cuadra AI API
3
+ * These types are based on the generated-api.ts schema
4
+ */
5
+ export interface MessageCreate {
6
+ role: 'user' | 'assistant' | 'system';
7
+ content: string;
8
+ }
9
+ export interface ChatRequest {
10
+ messages: MessageCreate[];
11
+ chatId?: string | null;
12
+ modelId?: string | null;
13
+ systemPrompt?: string | null;
14
+ ephemeral?: boolean;
15
+ stream?: boolean;
16
+ maxTokens?: number | null;
17
+ temperature?: number | null;
18
+ responseFormat?: Record<string, unknown> | null;
19
+ }
20
+ export interface ChatResponse {
21
+ id: string;
22
+ message: MessageOut;
23
+ usage?: TokenUsage | null;
24
+ }
25
+ export interface MessageOut {
26
+ role: 'user' | 'assistant' | 'system';
27
+ content: string;
28
+ id: string;
29
+ chatId: string;
30
+ tokenCount?: number | null;
31
+ cost?: string | null;
32
+ responseTimeMs?: number | null;
33
+ metadata?: Record<string, unknown> | null;
34
+ createdAt: string;
35
+ }
36
+ export interface TokenUsage {
37
+ inputTokens: number;
38
+ outputTokens: number;
39
+ totalTokens: number;
40
+ cost?: string | null;
41
+ }
42
+ export interface ChatOut {
43
+ createdAt: string;
44
+ updatedAt: string;
45
+ organizationId: string;
46
+ title?: string | null;
47
+ systemPrompt?: string | null;
48
+ metadata?: Record<string, unknown> | null;
49
+ id: string;
50
+ modelId: string;
51
+ messages?: MessageOut[];
52
+ documentsCount?: number;
53
+ createdBy: string;
54
+ visibility?: 'private' | 'organization' | 'shared';
55
+ sharedWith?: string[] | null;
56
+ deletedAt?: string | null;
57
+ deletedBy?: string | null;
58
+ }
59
+ export interface ChatSummaryOut {
60
+ createdAt: string;
61
+ updatedAt: string;
62
+ organizationId: string;
63
+ id: string;
64
+ title?: string | null;
65
+ modelId: string;
66
+ status?: string | null;
67
+ deletedAt?: string | null;
68
+ }
69
+ export interface ChatSummaryPage {
70
+ items: ChatSummaryOut[];
71
+ nextCursor?: string | null;
72
+ hasMore?: boolean;
73
+ totalCount?: number | null;
74
+ }
75
+ export interface ChatUpdate {
76
+ title?: string | null;
77
+ systemPrompt?: string | null;
78
+ metadata?: Record<string, unknown> | null;
79
+ }
80
+ export interface ModelOut {
81
+ id: string;
82
+ displayName: string;
83
+ description?: string | null;
84
+ provider?: string | null;
85
+ modelName?: string | null;
86
+ contextWindow: number;
87
+ maxTokensPerRequest?: number | null;
88
+ supportsStreaming: boolean;
89
+ enabled: boolean;
90
+ isSystemModel: boolean;
91
+ creditMultiplier?: number | null;
92
+ metadata?: Record<string, unknown> | null;
93
+ createdAt: string;
94
+ updatedAt: string;
95
+ parentModelId?: string | null;
96
+ profileId?: string | null;
97
+ }
98
+ export interface ModelPage {
99
+ items: ModelOut[];
100
+ nextCursor?: string | null;
101
+ hasMore: boolean;
102
+ }
103
+ export interface ListChatsParams {
104
+ limit?: number;
105
+ cursor?: string | null;
106
+ 'expand[]'?: string[] | null;
107
+ }
108
+ export interface ListModelsParams {
109
+ limit?: number;
110
+ cursor?: string | null;
111
+ 'expand[]'?: string[] | null;
112
+ }
113
+ //# sourceMappingURL=cuadra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cuadra.d.ts","sourceRoot":"","sources":["../../src/types/cuadra.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,QAAQ,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export declare function cn(...classes: Array<string | false | null | undefined>): string;
2
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,CAE/E"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Utility to inject CSS styles into Shadow DOM or regular DOM
3
+ * This ensures styles are loaded when the package is consumed
4
+ */
5
+ /**
6
+ * Inject CSS into Shadow DOM
7
+ */
8
+ export declare function injectStylesIntoShadowDOM(shadowRoot: ShadowRoot): void;
9
+ /**
10
+ * Inject CSS into regular DOM (for React components)
11
+ * This ensures styles are loaded when components are used
12
+ */
13
+ export declare function injectStylesIntoDOM(): void;
14
+ //# sourceMappingURL=injectStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectStyles.d.ts","sourceRoot":"","sources":["../../src/utils/injectStyles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgCH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAwBtE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAqB1C"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Inline CSS content for uikit
3
+ * This file will be populated at build time with the compiled CSS
4
+ *
5
+ * To update: Run `npm run build:css` and copy the content here
6
+ * Or use a build script to automate this
7
+ */
8
+ export declare const uikitCSS = "\n/* Cuadra UI Kit Styles */\n/* CSS is loaded via import - this is a fallback */\n";
9
+ //# sourceMappingURL=uikitStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uikitStyles.d.ts","sourceRoot":"","sources":["../../src/utils/uikitStyles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,eAAO,MAAM,QAAQ,wFAGpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Hook to inject uikit CSS styles into the DOM
3
+ *
4
+ * IMPORTANT: For the CSS to work, consumers must import it:
5
+ * import '@cuadra-ai/uikit/styles';
6
+ *
7
+ * This hook provides a fallback that tries to inject styles if they're not already loaded.
8
+ */
9
+ export declare function useInjectStyles(): void;
10
+ //# sourceMappingURL=useInjectStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInjectStyles.d.ts","sourceRoot":"","sources":["../../src/utils/useInjectStyles.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAmDtC"}
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@keyframes aui-pulse{50%{opacity:.5}}:where(.aui-md[data-status=running]):empty:after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,:where(.aui-md[data-status=running])>pre:last-child code:after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after{animation:aui-pulse 2s cubic-bezier(.4,0,.6,1) infinite;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";--aui-content: "●";content:var(--aui-content);margin-left:.25rem;margin-right:.25rem}:root{--font-family: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-brand: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}*,body{font-family:var(--font-family)}*,: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;-o-tab-size:4;tab-size:4;font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;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]){-webkit-text-decoration:underline dotted;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::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}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}:root{--background: 38 30% 95%;--background-gradient: linear-gradient(to bottom, #f9f3e9 0%, #f5efe3 100%);--foreground: 0 0% 9%;--card: 38 25% 96%;--card-foreground: 0 0% 9%;--popover: 38 28% 97%;--popover-foreground: 0 0% 9%;--primary: 10 65% 50%;--primary-foreground: 0 0% 100%;--primary-dark: 10 65% 8%;--primary-dark-foreground: 0 0% 100%;--secondary: 25 35% 42%;--secondary-foreground: 0 0% 100%;--secondary-dark: 25 35% 15%;--secondary-dark-foreground: 0 0% 100%;--muted: 38 20% 92%;--muted-foreground: 0 0% 45%;--accent: 38 25% 93%;--accent-foreground: 10 65% 50%;--destructive: 350 85% 53%;--destructive-foreground: 0 0% 100%;--success: 95 70% 48%;--success-foreground: 0 0% 100%;--info: 200 95% 47%;--info-foreground: 0 0% 100%;--warning: 45 75% 49%;--warning-foreground: 0 0% 100%;--border: 38 15% 85%;--input: 38 15% 90%;--ring: 10 65% 50%;--radius: .5rem;--chart-1: 10 65% 50%;--chart-2: 25 35% 42%;--chart-3: 350 85% 53%;--chart-4: 45 75% 49%;--chart-5: 95 70% 48%}.dark{--background: 0 0% 8%;--foreground: 0 0% 98%;body{background:linear-gradient(180deg,#2c2d30,#1e1e20,#141415)}--card: 0 0% 4%;--card-foreground: 0 0% 98%;--popover: 0 0% 4%;--popover-foreground: 0 0% 98%;--primary: 10 65% 50%;--primary-foreground: 0 0% 100%;--primary-dark: 10 65% 95%;--primary-dark-foreground: 0 0% 10%;--secondary: 25 35% 42%;--secondary-foreground: 0 0% 100%;--secondary-dark: 25 35% 95%;--secondary-dark-foreground: 0 0% 10%;--muted: 0 0% 15%;--muted-foreground: 0 0% 64%;--accent: 10 30% 20%;--accent-foreground: 10 65% 50%;--destructive: 350 85% 53%;--destructive-foreground: 0 0% 100%;--success: 95 70% 48%;--success-foreground: 0 0% 100%;--info: 200 95% 47%;--info-foreground: 0 0% 100%;--warning: 45 75% 49%;--warning-foreground: 0 0% 100%;--border: 0 0% 25%;--input: 0 0% 25%;--ring: 10 65% 50%;--chart-1: 10 65% 50%;--chart-2: 25 35% 42%;--chart-3: 350 85% 53%;--chart-4: 45 75% 49%;--chart-5: 95 70% 48%;--stone-50: 45 20% 98%;--stone-100: 45 25% 95%;--stone-200: 40 15% 90%;--stone-300: 40 10% 85%;--stone-400: 35 10% 75%;--stone-500: 30 10% 65%;--stone-600: 25 15% 45%;--stone-700: 25 15% 35%;--stone-800: 25 15% 25%;--stone-900: 25 15% 15%;--sand-50: 40 60% 98%;--sand-100: 40 60% 95%;--sand-200: 40 60% 90%;--sand-300: 40 60% 85%;--sand-400: 40 60% 75%;--sand-500: 40 60% 65%;--sand-600: 40 60% 55%;--sand-700: 40 60% 45%;--sand-800: 40 60% 35%;--sand-900: 40 60% 25%}.cuadra-fixed{position:fixed}.\!cuadra-absolute{position:absolute!important}.cuadra-absolute{position:absolute}.\!cuadra-relative{position:relative!important}.cuadra-relative{position:relative}.cuadra-inset-0{inset:0}.\!cuadra-bottom-2{bottom:.5rem!important}.\!cuadra-right-2{right:.5rem!important}.cuadra-left-0{left:0}.cuadra-left-2{left:.5rem}.cuadra-right-0{right:0}.cuadra-top-0{top:0}.cuadra-top-8{top:2rem}.cuadra-z-10{z-index:10}.cuadra-z-40{z-index:40}.cuadra-z-50{z-index:50}.cuadra-col-span-2{grid-column:span 2 / span 2}.cuadra-col-start-2{grid-column-start:2}.cuadra-row-start-1{grid-row-start:1}.cuadra-row-start-2{grid-row-start:2}.cuadra-m-0{margin:0}.cuadra-my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.cuadra-my-2{margin-top:.5rem;margin-bottom:.5rem}.cuadra-my-4{margin-top:1rem;margin-bottom:1rem}.cuadra-my-5{margin-top:1.25rem;margin-bottom:1.25rem}.cuadra-mb-2{margin-bottom:.5rem}.cuadra-mb-3{margin-bottom:.75rem}.cuadra-mb-4{margin-bottom:1rem}.cuadra-mb-5{margin-bottom:1.25rem}.cuadra-mb-6{margin-bottom:1.5rem}.cuadra-mb-8{margin-bottom:2rem}.cuadra-ml-2{margin-left:.5rem}.cuadra-ml-6{margin-left:1.5rem}.cuadra-ml-auto{margin-left:auto}.cuadra-mt-1{margin-top:.25rem}.cuadra-mt-2{margin-top:.5rem}.cuadra-mt-3{margin-top:.75rem}.cuadra-mt-4{margin-top:1rem}.cuadra-mt-5{margin-top:1.25rem}.cuadra-mt-6{margin-top:1.5rem}.cuadra-block{display:block}.cuadra-flex{display:flex}.cuadra-grid{display:grid}.cuadra-hidden{display:none}.cuadra-size-8{width:2rem;height:2rem}.cuadra-h-10{height:2.5rem}.cuadra-h-16{height:4rem}.cuadra-h-3\.5{height:.875rem}.cuadra-h-4{height:1rem}.cuadra-h-6{height:1.5rem}.cuadra-h-8{height:2rem}.cuadra-h-full{height:100%}.cuadra-h-screen{height:100vh}.cuadra-min-h-0{min-height:0px}.cuadra-min-h-\[80px\]{min-height:80px}.cuadra-min-h-full{min-height:100%}.cuadra-w-3\.5{width:.875rem}.cuadra-w-4{width:1rem}.cuadra-w-48{width:12rem}.cuadra-w-6{width:1.5rem}.cuadra-w-8{width:2rem}.cuadra-w-80{width:20rem}.cuadra-w-full{width:100%}.cuadra-min-w-0{min-width:0px}.cuadra-min-w-\[120px\]{min-width:120px}.cuadra-min-w-\[8rem\]{min-width:8rem}.cuadra-max-w-2xl{max-width:42rem}.cuadra-max-w-3xl{max-width:48rem}.cuadra-max-w-\[90\%\]{max-width:90%}.cuadra-max-w-\[calc\(42rem\*0\.8\)\]{max-width:33.6rem}.cuadra-flex-1{flex:1 1 0%}.cuadra-flex-shrink-0{flex-shrink:0}.cuadra-border-separate{border-collapse:separate}.cuadra-border-spacing-0{--tw-border-spacing-x: 0px;--tw-border-spacing-y: 0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.cuadra-translate-x-0{--tw-translate-x: 0px;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 cuadra-spin{to{transform:rotate(360deg)}}.cuadra-animate-spin{animation:cuadra-spin 1s linear infinite}.cuadra-cursor-pointer{cursor:pointer}.cuadra-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.cuadra-resize-none{resize:none}.cuadra-scroll-m-20{scroll-margin:5rem}.cuadra-list-decimal{list-style-type:decimal}.cuadra-list-disc{list-style-type:disc}.cuadra-auto-rows-auto{grid-auto-rows:auto}.cuadra-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cuadra-grid-cols-\[auto_auto_1fr\]{grid-template-columns:auto auto 1fr}.cuadra-grid-cols-\[minmax\(72px\,1fr\)_auto\]{grid-template-columns:minmax(72px,1fr) auto}.cuadra-grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.cuadra-flex-col{flex-direction:column}.cuadra-items-start{align-items:flex-start}.cuadra-items-center{align-items:center}.cuadra-justify-center{justify-content:center}.cuadra-justify-between{justify-content:space-between}.cuadra-gap-2{gap:.5rem}.cuadra-gap-3{gap:.75rem}.cuadra-gap-4{gap:1rem}.cuadra-gap-y-2{row-gap:.5rem}.cuadra-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))}.cuadra-overflow-hidden{overflow:hidden}.cuadra-overflow-x-auto{overflow-x:auto}.cuadra-overflow-y-auto{overflow-y:auto}.cuadra-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cuadra-text-nowrap{text-wrap:nowrap}.cuadra-break-words{overflow-wrap:break-word}.cuadra-rounded{border-radius:.25rem}.cuadra-rounded-3xl{border-radius:1.5rem}.cuadra-rounded-full{border-radius:9999px}.cuadra-rounded-lg{border-radius:var(--radius)}.cuadra-rounded-md{border-radius:calc(var(--radius) - 2px)}.cuadra-rounded-sm{border-radius:calc(var(--radius) - 4px)}.\!cuadra-rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.cuadra-rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.cuadra-rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.cuadra-border{border-width:1px}.\!cuadra-border-r{border-right-width:1px!important}.cuadra-border-b{border-bottom-width:1px}.cuadra-border-l{border-left-width:1px}.cuadra-border-l-2{border-left-width:2px}.cuadra-border-t{border-top-width:1px}.cuadra-border-border{border-color:hsl(var(--border))}.cuadra-border-destructive{border-color:hsl(var(--destructive))}.cuadra-border-input{border-color:hsl(var(--input))}.cuadra-border-transparent{border-color:transparent}.cuadra-bg-background{background-color:hsl(var(--background))}.cuadra-bg-black\/50{background-color:#00000080}.cuadra-bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.cuadra-bg-inherit{background-color:inherit}.cuadra-bg-muted{background-color:hsl(var(--muted))}.cuadra-bg-muted\/50{background-color:hsl(var(--muted) / .5)}.cuadra-bg-popover{background-color:hsl(var(--popover))}.cuadra-bg-secondary{background-color:hsl(var(--secondary))}.cuadra-p-0{padding:0}.cuadra-p-1{padding:.25rem}.cuadra-p-2{padding:.5rem}.cuadra-p-3{padding:.75rem}.cuadra-p-4{padding:1rem}.cuadra-px-0{padding-left:0;padding-right:0}.cuadra-px-3{padding-left:.75rem;padding-right:.75rem}.cuadra-px-4{padding-left:1rem;padding-right:1rem}.cuadra-px-5{padding-left:1.25rem;padding-right:1.25rem}.cuadra-py-0{padding-top:0;padding-bottom:0}.cuadra-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.cuadra-py-12{padding-top:3rem;padding-bottom:3rem}.cuadra-py-2{padding-top:.5rem;padding-bottom:.5rem}.cuadra-py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.cuadra-py-3{padding-top:.75rem;padding-bottom:.75rem}.cuadra-pb-4{padding-bottom:1rem}.cuadra-pl-6{padding-left:1.5rem}.cuadra-pl-8{padding-left:2rem}.cuadra-pr-10{padding-right:2.5rem}.cuadra-pr-2{padding-right:.5rem}.cuadra-pt-4{padding-top:1rem}.cuadra-text-left{text-align:left}.cuadra-text-center{text-align:center}.cuadra-font-brand{font-family:Styrene A Web,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.cuadra-text-2xl{font-size:1.5rem;line-height:2rem}.cuadra-text-base{font-size:1rem;line-height:1.5rem}.cuadra-text-lg{font-size:1.125rem;line-height:1.75rem}.cuadra-text-sm{font-size:.875rem;line-height:1.25rem}.cuadra-text-xl{font-size:1.25rem;line-height:1.75rem}.cuadra-text-xs{font-size:.75rem;line-height:1rem}.cuadra-font-medium{font-weight:500}.cuadra-font-normal{font-weight:400}.cuadra-lowercase{text-transform:lowercase}.cuadra-italic{font-style:italic}.cuadra-leading-7{line-height:1.75rem}.cuadra-tracking-tight{letter-spacing:-.025em}.cuadra-text-destructive{color:hsl(var(--destructive))}.cuadra-text-foreground{color:hsl(var(--foreground))}.cuadra-text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.cuadra-text-muted-foreground{color:hsl(var(--muted-foreground))}.cuadra-text-popover-foreground{color:hsl(var(--popover-foreground))}.cuadra-text-primary{color:hsl(var(--primary))}.cuadra-text-secondary-foreground{color:hsl(var(--secondary-foreground))}.cuadra-underline{text-decoration-line:underline}.cuadra-underline-offset-4{text-underline-offset:4px}.cuadra-opacity-50{opacity:.5}.cuadra-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)}.cuadra-shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.cuadra-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)}.cuadra-outline-none{outline:2px solid transparent;outline-offset:2px}.cuadra-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cuadra-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}.cuadra-duration-300{transition-duration:.3s}.cuadra-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.cuadra-uikit{.glass-sidebar{border-width:1px}.glass-sidebar{border-color:#fff3}.glass-sidebar{background-color:#ffffff1a}.glass-sidebar{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-sidebar{--tw-backdrop-blur: blur(12px);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)}.glass-sidebar:is(.cuadra-dark *){border-color:#ffffff1a}.glass-sidebar:is(.cuadra-dark *){background-color:#0000001a}.glass-card{border-width:1px}.glass-card{border-color:#ffffff40}.glass-card{background-color:#ffffff26}.glass-card{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-card{--tw-backdrop-blur: blur(12px);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)}.glass-card:is(.cuadra-dark *){border-color:#fff3}.glass-card:is(.cuadra-dark *){background-color:#0003}.glass-navbar{border-bottom-width:1px}.glass-navbar{border-color:#ffffff40}.glass-navbar{background-color:#fff3}.glass-navbar{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-navbar{--tw-backdrop-blur: blur(12px);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)}.glass-navbar:is(.cuadra-dark *){border-color:#ffffff1a}.glass-navbar:is(.cuadra-dark *){background-color:#00000026}.glass-popover{border-width:1px}.glass-popover{border-color:#ffffff4d}.glass-popover{background-color:#ffffff40}.glass-popover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-popover{--tw-backdrop-blur: blur(12px);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)}.glass-popover:is(.cuadra-dark *){border-color:#fff3}.glass-popover:is(.cuadra-dark *){background-color:#00000040}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .3) transparent}.scrollbar-thin::-webkit-scrollbar{width:4px;height:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .3);border-radius:2px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .5)}&.dark .scrollbar-thin,.dark .scrollbar-thin{scrollbar-color:hsl(var(--muted-foreground) / .4) transparent}&.dark .scrollbar-thin::-webkit-scrollbar-thumb,.dark .scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .4)}&.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover,.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .6)}}.placeholder\:cuadra-text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:cuadra-text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:cuadra-mb-0:first-child{margin-bottom:0}.first\:cuadra-mt-0:first-child{margin-top:0}.first\:cuadra-rounded-tl-lg:first-child{border-top-left-radius:var(--radius)}.first\:cuadra-border-t:first-child{border-top-width:1px}.last\:cuadra-mb-0:last-child{margin-bottom:0}.last\:cuadra-rounded-tr-lg:last-child{border-top-right-radius:var(--radius)}.last\:cuadra-border-r:last-child{border-right-width:1px}.hover\:cuadra-border-border:hover{border-color:hsl(var(--border))}.hover\:cuadra-bg-background\/50:hover{background-color:hsl(var(--background) / .5)}.hover\:cuadra-bg-muted:hover{background-color:hsl(var(--muted))}.hover\:cuadra-bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:cuadra-bg-secondary\/50:hover{background-color:hsl(var(--secondary) / .5)}.hover\:cuadra-bg-secondary\/90:hover{background-color:hsl(var(--secondary) / .9)}.focus\:cuadra-bg-secondary:focus{background-color:hsl(var(--secondary))}.focus\:cuadra-text-secondary-foreground:focus{color:hsl(var(--secondary-foreground))}.focus\:cuadra-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:cuadra-ring-0:focus{--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(0px + 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\:cuadra-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.disabled\:cuadra-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cuadra-opacity-50:disabled{opacity:.5}@media(min-width:768px){.md\:cuadra-ml-0{margin-left:0}.md\:cuadra-block{display:block}.md\:cuadra-inline{display:inline}.md\:cuadra-hidden{display:none}.md\:cuadra-rounded-xl{border-radius:.75rem}}.\[\&\:last-child\>td\:first-child\]\:cuadra-rounded-bl-lg:last-child>td:first-child{border-bottom-left-radius:var(--radius)}.\[\&\:last-child\>td\:last-child\]\:cuadra-rounded-br-lg:last-child>td:last-child{border-bottom-right-radius:var(--radius)}.\[\&\:where\(\>\*\)\]\:cuadra-col-start-2:where(>*){grid-column-start:2}.\[\&\>a\]\:cuadra-text-xs>a{font-size:.75rem;line-height:1rem}.\[\&\>a\]\:cuadra-no-underline>a{text-decoration-line:none}.\[\&\>li\]\:cuadra-mt-2>li{margin-top:.5rem}.\[\&\>span\]\:cuadra-text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\[align\=center\]\]\:cuadra-text-center[align=center]{text-align:center}.\[\&\[align\=right\]\]\:cuadra-text-right[align=right]{text-align:right}
1
+ @import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-family: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-brand: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}*,body{font-family:var(--font-family)}*,: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;-o-tab-size:4;tab-size:4;font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;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]){-webkit-text-decoration:underline dotted;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::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}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}:root{--background: 38 30% 95%;--background-gradient: linear-gradient(to bottom, #f9f3e9 0%, #f5efe3 100%);--foreground: 0 0% 9%;--card: 38 25% 96%;--card-foreground: 0 0% 9%;--popover: 38 28% 97%;--popover-foreground: 0 0% 9%;--primary: 10 65% 50%;--primary-foreground: 0 0% 100%;--primary-dark: 10 65% 8%;--primary-dark-foreground: 0 0% 100%;--secondary: 25 35% 42%;--secondary-foreground: 0 0% 100%;--secondary-dark: 25 35% 15%;--secondary-dark-foreground: 0 0% 100%;--muted: 38 20% 92%;--muted-foreground: 0 0% 45%;--accent: 38 25% 93%;--accent-foreground: 10 65% 50%;--destructive: 350 85% 53%;--destructive-foreground: 0 0% 100%;--success: 95 70% 48%;--success-foreground: 0 0% 100%;--info: 200 95% 47%;--info-foreground: 0 0% 100%;--warning: 45 75% 49%;--warning-foreground: 0 0% 100%;--border: 38 15% 85%;--input: 38 15% 90%;--ring: 10 65% 50%;--radius: .5rem;--chart-1: 10 65% 50%;--chart-2: 25 35% 42%;--chart-3: 350 85% 53%;--chart-4: 45 75% 49%;--chart-5: 95 70% 48%}.dark{--background: 0 0% 8%;--foreground: 0 0% 98%;body{background:linear-gradient(180deg,#2c2d30,#1e1e20,#141415)}--card: 0 0% 4%;--card-foreground: 0 0% 98%;--popover: 0 0% 4%;--popover-foreground: 0 0% 98%;--primary: 10 65% 50%;--primary-foreground: 0 0% 100%;--primary-dark: 10 65% 95%;--primary-dark-foreground: 0 0% 10%;--secondary: 25 35% 42%;--secondary-foreground: 0 0% 100%;--secondary-dark: 25 35% 95%;--secondary-dark-foreground: 0 0% 10%;--muted: 0 0% 15%;--muted-foreground: 0 0% 64%;--accent: 10 30% 20%;--accent-foreground: 10 65% 50%;--destructive: 350 85% 53%;--destructive-foreground: 0 0% 100%;--success: 95 70% 48%;--success-foreground: 0 0% 100%;--info: 200 95% 47%;--info-foreground: 0 0% 100%;--warning: 45 75% 49%;--warning-foreground: 0 0% 100%;--border: 0 0% 25%;--input: 0 0% 25%;--ring: 10 65% 50%;--chart-1: 10 65% 50%;--chart-2: 25 35% 42%;--chart-3: 350 85% 53%;--chart-4: 45 75% 49%;--chart-5: 95 70% 48%;--stone-50: 45 20% 98%;--stone-100: 45 25% 95%;--stone-200: 40 15% 90%;--stone-300: 40 10% 85%;--stone-400: 35 10% 75%;--stone-500: 30 10% 65%;--stone-600: 25 15% 45%;--stone-700: 25 15% 35%;--stone-800: 25 15% 25%;--stone-900: 25 15% 15%;--sand-50: 40 60% 98%;--sand-100: 40 60% 95%;--sand-200: 40 60% 90%;--sand-300: 40 60% 85%;--sand-400: 40 60% 75%;--sand-500: 40 60% 65%;--sand-600: 40 60% 55%;--sand-700: 40 60% 45%;--sand-800: 40 60% 35%;--sand-900: 40 60% 25%}.cuadra-fixed{position:fixed}.\!cuadra-absolute{position:absolute!important}.cuadra-absolute{position:absolute}.\!cuadra-relative{position:relative!important}.cuadra-relative{position:relative}.cuadra-inset-0{inset:0}.\!cuadra-bottom-2{bottom:.5rem!important}.\!cuadra-right-2{right:.5rem!important}.cuadra-left-0{left:0}.cuadra-left-2{left:.5rem}.cuadra-right-0{right:0}.cuadra-top-0{top:0}.cuadra-top-8{top:2rem}.cuadra-z-10{z-index:10}.cuadra-z-40{z-index:40}.cuadra-z-50{z-index:50}.cuadra-col-span-2{grid-column:span 2 / span 2}.cuadra-col-start-2{grid-column-start:2}.cuadra-row-start-1{grid-row-start:1}.cuadra-row-start-2{grid-row-start:2}.cuadra-m-0{margin:0}.cuadra-my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.cuadra-my-2{margin-top:.5rem;margin-bottom:.5rem}.cuadra-my-4{margin-top:1rem;margin-bottom:1rem}.cuadra-my-5{margin-top:1.25rem;margin-bottom:1.25rem}.cuadra-mb-2{margin-bottom:.5rem}.cuadra-mb-3{margin-bottom:.75rem}.cuadra-mb-4{margin-bottom:1rem}.cuadra-mb-5{margin-bottom:1.25rem}.cuadra-mb-6{margin-bottom:1.5rem}.cuadra-mb-8{margin-bottom:2rem}.cuadra-ml-2{margin-left:.5rem}.cuadra-ml-6{margin-left:1.5rem}.cuadra-ml-auto{margin-left:auto}.cuadra-mt-1{margin-top:.25rem}.cuadra-mt-2{margin-top:.5rem}.cuadra-mt-3{margin-top:.75rem}.cuadra-mt-4{margin-top:1rem}.cuadra-mt-5{margin-top:1.25rem}.cuadra-mt-6{margin-top:1.5rem}.cuadra-block{display:block}.cuadra-flex{display:flex}.cuadra-grid{display:grid}.cuadra-hidden{display:none}.cuadra-size-8{width:2rem;height:2rem}.cuadra-h-10{height:2.5rem}.cuadra-h-16{height:4rem}.cuadra-h-3\.5{height:.875rem}.cuadra-h-4{height:1rem}.cuadra-h-6{height:1.5rem}.cuadra-h-8{height:2rem}.cuadra-h-full{height:100%}.cuadra-h-screen{height:100vh}.cuadra-min-h-0{min-height:0px}.cuadra-min-h-\[80px\]{min-height:80px}.cuadra-min-h-full{min-height:100%}.cuadra-w-3\.5{width:.875rem}.cuadra-w-4{width:1rem}.cuadra-w-48{width:12rem}.cuadra-w-6{width:1.5rem}.cuadra-w-8{width:2rem}.cuadra-w-80{width:20rem}.cuadra-w-full{width:100%}.cuadra-min-w-0{min-width:0px}.cuadra-min-w-\[120px\]{min-width:120px}.cuadra-min-w-\[8rem\]{min-width:8rem}.cuadra-max-w-2xl{max-width:42rem}.cuadra-max-w-3xl{max-width:48rem}.cuadra-max-w-\[90\%\]{max-width:90%}.cuadra-max-w-\[calc\(42rem\*0\.8\)\]{max-width:33.6rem}.cuadra-flex-1{flex:1 1 0%}.cuadra-flex-shrink-0{flex-shrink:0}.cuadra-border-separate{border-collapse:separate}.cuadra-border-spacing-0{--tw-border-spacing-x: 0px;--tw-border-spacing-y: 0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.cuadra-translate-x-0{--tw-translate-x: 0px;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 cuadra-spin{to{transform:rotate(360deg)}}.cuadra-animate-spin{animation:cuadra-spin 1s linear infinite}.cuadra-cursor-pointer{cursor:pointer}.cuadra-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.cuadra-resize-none{resize:none}.cuadra-scroll-m-20{scroll-margin:5rem}.cuadra-list-decimal{list-style-type:decimal}.cuadra-list-disc{list-style-type:disc}.cuadra-auto-rows-auto{grid-auto-rows:auto}.cuadra-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cuadra-grid-cols-\[auto_auto_1fr\]{grid-template-columns:auto auto 1fr}.cuadra-grid-cols-\[minmax\(72px\,1fr\)_auto\]{grid-template-columns:minmax(72px,1fr) auto}.cuadra-grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.cuadra-flex-col{flex-direction:column}.cuadra-items-start{align-items:flex-start}.cuadra-items-center{align-items:center}.cuadra-justify-center{justify-content:center}.cuadra-justify-between{justify-content:space-between}.cuadra-gap-2{gap:.5rem}.cuadra-gap-3{gap:.75rem}.cuadra-gap-4{gap:1rem}.cuadra-gap-y-2{row-gap:.5rem}.cuadra-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))}.cuadra-overflow-hidden{overflow:hidden}.cuadra-overflow-x-auto{overflow-x:auto}.cuadra-overflow-y-auto{overflow-y:auto}.cuadra-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cuadra-text-nowrap{text-wrap:nowrap}.cuadra-break-words{overflow-wrap:break-word}.cuadra-rounded{border-radius:.25rem}.cuadra-rounded-3xl{border-radius:1.5rem}.cuadra-rounded-full{border-radius:9999px}.cuadra-rounded-lg{border-radius:var(--radius)}.cuadra-rounded-md{border-radius:calc(var(--radius) - 2px)}.cuadra-rounded-sm{border-radius:calc(var(--radius) - 4px)}.\!cuadra-rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.cuadra-rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.cuadra-rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.cuadra-border{border-width:1px}.\!cuadra-border-r{border-right-width:1px!important}.cuadra-border-b{border-bottom-width:1px}.cuadra-border-l{border-left-width:1px}.cuadra-border-l-2{border-left-width:2px}.cuadra-border-t{border-top-width:1px}.cuadra-border-border{border-color:hsl(var(--border))}.cuadra-border-destructive{border-color:hsl(var(--destructive))}.cuadra-border-input{border-color:hsl(var(--input))}.cuadra-border-transparent{border-color:transparent}.cuadra-bg-background{background-color:hsl(var(--background))}.cuadra-bg-black\/50{background-color:#00000080}.cuadra-bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.cuadra-bg-inherit{background-color:inherit}.cuadra-bg-muted{background-color:hsl(var(--muted))}.cuadra-bg-muted\/50{background-color:hsl(var(--muted) / .5)}.cuadra-bg-popover{background-color:hsl(var(--popover))}.cuadra-bg-secondary{background-color:hsl(var(--secondary))}.cuadra-p-0{padding:0}.cuadra-p-1{padding:.25rem}.cuadra-p-2{padding:.5rem}.cuadra-p-3{padding:.75rem}.cuadra-p-4{padding:1rem}.cuadra-px-0{padding-left:0;padding-right:0}.cuadra-px-3{padding-left:.75rem;padding-right:.75rem}.cuadra-px-4{padding-left:1rem;padding-right:1rem}.cuadra-px-5{padding-left:1.25rem;padding-right:1.25rem}.cuadra-py-0{padding-top:0;padding-bottom:0}.cuadra-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.cuadra-py-12{padding-top:3rem;padding-bottom:3rem}.cuadra-py-2{padding-top:.5rem;padding-bottom:.5rem}.cuadra-py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.cuadra-py-3{padding-top:.75rem;padding-bottom:.75rem}.cuadra-pb-4{padding-bottom:1rem}.cuadra-pl-6{padding-left:1.5rem}.cuadra-pl-8{padding-left:2rem}.cuadra-pr-10{padding-right:2.5rem}.cuadra-pr-2{padding-right:.5rem}.cuadra-pt-4{padding-top:1rem}.cuadra-text-left{text-align:left}.cuadra-text-center{text-align:center}.cuadra-font-brand{font-family:Styrene A Web,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.cuadra-text-2xl{font-size:1.5rem;line-height:2rem}.cuadra-text-base{font-size:1rem;line-height:1.5rem}.cuadra-text-lg{font-size:1.125rem;line-height:1.75rem}.cuadra-text-sm{font-size:.875rem;line-height:1.25rem}.cuadra-text-xl{font-size:1.25rem;line-height:1.75rem}.cuadra-text-xs{font-size:.75rem;line-height:1rem}.cuadra-font-medium{font-weight:500}.cuadra-font-normal{font-weight:400}.cuadra-lowercase{text-transform:lowercase}.cuadra-italic{font-style:italic}.cuadra-leading-7{line-height:1.75rem}.cuadra-tracking-tight{letter-spacing:-.025em}.cuadra-text-destructive{color:hsl(var(--destructive))}.cuadra-text-foreground{color:hsl(var(--foreground))}.cuadra-text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.cuadra-text-muted-foreground{color:hsl(var(--muted-foreground))}.cuadra-text-popover-foreground{color:hsl(var(--popover-foreground))}.cuadra-text-primary{color:hsl(var(--primary))}.cuadra-text-secondary-foreground{color:hsl(var(--secondary-foreground))}.cuadra-underline{text-decoration-line:underline}.cuadra-underline-offset-4{text-underline-offset:4px}.cuadra-opacity-50{opacity:.5}.cuadra-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)}.cuadra-shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.cuadra-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)}.cuadra-outline-none{outline:2px solid transparent;outline-offset:2px}.cuadra-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cuadra-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}.cuadra-duration-300{transition-duration:.3s}.cuadra-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.cuadra-uikit{.glass-sidebar{border-width:1px}.glass-sidebar{border-color:#fff3}.glass-sidebar{background-color:#ffffff1a}.glass-sidebar{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-sidebar{--tw-backdrop-blur: blur(12px);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)}.glass-sidebar:is(.cuadra-dark *){border-color:#ffffff1a}.glass-sidebar:is(.cuadra-dark *){background-color:#0000001a}.glass-card{border-width:1px}.glass-card{border-color:#ffffff40}.glass-card{background-color:#ffffff26}.glass-card{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-card{--tw-backdrop-blur: blur(12px);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)}.glass-card:is(.cuadra-dark *){border-color:#fff3}.glass-card:is(.cuadra-dark *){background-color:#0003}.glass-navbar{border-bottom-width:1px}.glass-navbar{border-color:#ffffff40}.glass-navbar{background-color:#fff3}.glass-navbar{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-navbar{--tw-backdrop-blur: blur(12px);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)}.glass-navbar:is(.cuadra-dark *){border-color:#ffffff1a}.glass-navbar:is(.cuadra-dark *){background-color:#00000026}.glass-popover{border-width:1px}.glass-popover{border-color:#ffffff4d}.glass-popover{background-color:#ffffff40}.glass-popover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.glass-popover{--tw-backdrop-blur: blur(12px);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)}.glass-popover:is(.cuadra-dark *){border-color:#fff3}.glass-popover:is(.cuadra-dark *){background-color:#00000040}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .3) transparent}.scrollbar-thin::-webkit-scrollbar{width:4px;height:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .3);border-radius:2px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .5)}&.dark .scrollbar-thin,.dark .scrollbar-thin{scrollbar-color:hsl(var(--muted-foreground) / .4) transparent}&.dark .scrollbar-thin::-webkit-scrollbar-thumb,.dark .scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .4)}&.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover,.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .6)}}.placeholder\:cuadra-text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:cuadra-text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:cuadra-mb-0:first-child{margin-bottom:0}.first\:cuadra-mt-0:first-child{margin-top:0}.first\:cuadra-rounded-tl-lg:first-child{border-top-left-radius:var(--radius)}.first\:cuadra-border-t:first-child{border-top-width:1px}.last\:cuadra-mb-0:last-child{margin-bottom:0}.last\:cuadra-rounded-tr-lg:last-child{border-top-right-radius:var(--radius)}.last\:cuadra-border-r:last-child{border-right-width:1px}.hover\:cuadra-border-border:hover{border-color:hsl(var(--border))}.hover\:cuadra-bg-background\/50:hover{background-color:hsl(var(--background) / .5)}.hover\:cuadra-bg-muted:hover{background-color:hsl(var(--muted))}.hover\:cuadra-bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:cuadra-bg-secondary\/50:hover{background-color:hsl(var(--secondary) / .5)}.hover\:cuadra-bg-secondary\/90:hover{background-color:hsl(var(--secondary) / .9)}.focus\:cuadra-bg-secondary:focus{background-color:hsl(var(--secondary))}.focus\:cuadra-text-secondary-foreground:focus{color:hsl(var(--secondary-foreground))}.focus\:cuadra-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:cuadra-ring-0:focus{--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(0px + 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\:cuadra-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.disabled\:cuadra-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cuadra-opacity-50:disabled{opacity:.5}@media(min-width:768px){.md\:cuadra-ml-0{margin-left:0}.md\:cuadra-block{display:block}.md\:cuadra-inline{display:inline}.md\:cuadra-hidden{display:none}.md\:cuadra-rounded-xl{border-radius:.75rem}}.\[\&\:last-child\>td\:first-child\]\:cuadra-rounded-bl-lg:last-child>td:first-child{border-bottom-left-radius:var(--radius)}.\[\&\:last-child\>td\:last-child\]\:cuadra-rounded-br-lg:last-child>td:last-child{border-bottom-right-radius:var(--radius)}.\[\&\:where\(\>\*\)\]\:cuadra-col-start-2:where(>*){grid-column-start:2}.\[\&\>a\]\:cuadra-text-xs>a{font-size:.75rem;line-height:1rem}.\[\&\>a\]\:cuadra-no-underline>a{text-decoration-line:none}.\[\&\>li\]\:cuadra-mt-2>li{margin-top:.5rem}.\[\&\>span\]\:cuadra-text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\[align\=center\]\]\:cuadra-text-center[align=center]{text-align:center}.\[\&\[align\=right\]\]\:cuadra-text-right[align=right]{text-align:right}@keyframes aui-pulse{50%{opacity:.5}}:where(.aui-md[data-status=running]):empty:after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,:where(.aui-md[data-status=running])>pre:last-child code:after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after{animation:aui-pulse 2s cubic-bezier(.4,0,.6,1) infinite;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";--aui-content: "●";content:var(--aui-content);margin-left:.25rem;margin-right:.25rem}
@@ -44,5 +44,5 @@ ${i.system}`:a.system=i.system),i.tools)for(const[o,c]of Object.entries(i.tools)
44
44
  @keyframes rotate {
45
45
  100% { transform: rotate(1turn); }
46
46
  }
47
- `,zc=({children:t,className:n="",paddingX:a="px-0",paddingY:i="py-0",borderSizePx:s=4,style:o,contentStyle:c,rotating:d=!1})=>E.jsxs(E.Fragment,{children:[E.jsx("style",{children:F2}),E.jsxs("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-xl cuadra-overflow-hidden ${n}`,style:_({padding:s},o),children:[E.jsx("div",{className:"cuadra-absolute md:cuadra-rounded-xl",style:d?{left:"-100%",top:"-100%",width:"300%",height:"300%",backgroundImage:"conic-gradient(#ff8308, #ff5043, #392bd5, #ff8308)",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center",animation:"rotate 4s linear infinite"}:{backgroundImage:"linear-gradient(to right, #ff8308, #ff5043, #392bd5)",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",top:"0",left:"0",width:"100%",height:"100%"}}),E.jsx("div",{className:`cuadra-relative cuadra-bg-background cuadra-h-full cuadra-z-10 cuadra-flex cuadra-flex-col cuadra-overflow-hidden ${a} ${i}`,style:_({borderRadius:"calc(0.75rem - 4px)"},c),children:t})]})]}),G2=({className:t="",theme:n="system"})=>{const a=()=>{if(typeof window=="undefined")return"light";if(n==="system"){const c=localStorage.getItem("theme");return c||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}return n},[i,s]=M.useState(a);M.useEffect(()=>{n!=="system"&&s(n)},[n]),M.useEffect(()=>{const c=document.documentElement;c.classList.remove("light","dark"),c.classList.add(i),n==="system"&&localStorage.setItem("theme",i)},[i,n]);const o=()=>{n==="system"&&s(c=>c==="light"?"dark":"light")};return E.jsx("button",{type:"button","aria-label":"Toggle theme",onClick:o,disabled:n!=="system",className:`cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed ${t}`,children:E.jsx(LS,{className:`cuadra-h-4 cuadra-w-4 cuadra-transition-colors ${i==="dark"?"cuadra-text-primary":"cuadra-text-gray-400"}`})})},fy=({currentModel:t,models:n,modelsLoading:a,modelsError:i,onModelChange:s,hideModelSelector:o=!1,showThemeToggle:c=!0,theme:d="system",onMobileMenuClick:h,showMobileMenuButton:m=!1})=>{const[g,y]=M.useState(!1),v=M.useRef(null);M.useEffect(()=>{const w=k=>{v.current&&!v.current.contains(k.target)&&y(!1)};return g&&document.addEventListener("mousedown",w),()=>{document.removeEventListener("mousedown",w)}},[g]);const x=n.find(w=>w.id===t);return E.jsxs("div",{className:"cuadra-h-16 cuadra-px-4 cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-between cuadra-bg-background",children:[E.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[m&&E.jsx("button",{type:"button",onClick:h,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed md:cuadra-hidden","aria-label":"Toggle thread list",children:E.jsx(HS,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),c&&E.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:E.jsx(G2,{theme:d})})]}),E.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 md:cuadra-ml-0 cuadra-ml-auto",children:[!o&&E.jsx("label",{className:"cuadra-hidden md:cuadra-inline cuadra-text-sm cuadra-text-muted-foreground cuadra-font-brand",children:"Model"}),o?null:a?E.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-border cuadra-px-3 cuadra-py-2 cuadra-bg-muted",children:E.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading..."})}):i?E.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-destructive cuadra-px-3 cuadra-py-2 cuadra-bg-destructive/10",children:E.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):E.jsxs("div",{ref:v,className:"cuadra-relative cuadra-w-48",children:[E.jsxs("button",{type:"button",onClick:()=>y(!g),disabled:a||n.length===0||!!i,className:"cuadra-flex cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[E.jsx("span",{className:x?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:(x==null?void 0:x.name)||"Select model"}),E.jsx(jS,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),g&&n.length>0&&E.jsx("div",{className:"cuadra-absolute cuadra-z-50 cuadra-mt-1 cuadra-w-full cuadra-min-w-[8rem] cuadra-overflow-hidden cuadra-rounded-md glass-popover cuadra-text-popover-foreground cuadra-animate-in fade-in-80 cuadra-border cuadra-border-border cuadra-bg-popover cuadra-shadow-md",children:E.jsx("div",{className:"cuadra-p-1",children:n.map(w=>E.jsxs("button",{type:"button",onClick:()=>{s(w.id),y(!1)},className:`cuadra-relative cuadra-flex cuadra-w-full cuadra-cursor-pointer cuadra-select-none cuadra-items-center cuadra-rounded-sm cuadra-py-1.5 cuadra-pl-8 cuadra-pr-2 cuadra-text-sm cuadra-outline-none focus:cuadra-bg-secondary focus:cuadra-text-secondary-foreground font-brand cuadra-transition-colors ${t===w.id?"cuadra-bg-secondary cuadra-text-secondary-foreground":"hover:cuadra-bg-secondary/50"}`,children:[t===w.id&&E.jsx("span",{className:"cuadra-absolute cuadra-left-2 cuadra-flex cuadra-h-3.5 cuadra-w-3.5 cuadra-items-center cuadra-justify-center",children:E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16",children:E.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M6.47 10.03a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06L8 9.06l-1.53 1.53Z",clipRule:"evenodd"})})}),E.jsx("span",{children:w.name})]},w.id))})})]})]})]})},P2=M.createContext(void 0),Oc=({children:t,value:n})=>E.jsx(P2.Provider,{value:n,children:t});function X2(){M.useEffect(()=>{if(document.querySelector("style[data-cuadra-uikit]"))return;const n=document.createElement("div");n.className="cuadra-flex",document.body.appendChild(n);const a=window.getComputedStyle(n).display==="flex";if(document.body.removeChild(n),a)return;const i=document.createElement("link");i.setAttribute("data-cuadra-uikit","true"),i.rel="stylesheet",i.type="text/css";const s=["/node_modules/@cuadra-ai/uikit/dist/uikit.css",new URL("../dist/uikit.css",typeof document=="undefined"&&typeof location=="undefined"?require("url").pathToFileURL(__filename).href:typeof document=="undefined"?location.href:yt&&yt.tagName.toUpperCase()==="SCRIPT"&&yt.src||new URL("cuadra-uikit.umd.js",document.baseURI).href).href];let o=!1;for(const c of s)if(i.href=c,i.onload=()=>{o=!0},i.onerror=()=>{},document.head.appendChild(i),o)break},[])}class zs{constructor(){q(this,"config",null);q(this,"root",null);q(this,"container",null);q(this,"instances",new Map)}init(n){if(!n.baseUrl&&!n.proxyUrl)throw new Error("Either baseUrl or proxyUrl is required");if(n.modelMode==="fixed"&&n.modelId!==void 0&&(!n.modelId||n.modelId.trim()===""))throw new Error("modelId cannot be empty when explicitly provided. Omit modelId to let backend resolve it.");const a=n.containerId||"cuadra-chat";let i=document.getElementById(a);i||(i=document.createElement("div"),i.id=a,document.body.appendChild(i)),n.containerClass&&i.classList.add(...n.containerClass.split(" ")),this.config=G(_({},n),{containerId:a}),this.container=i,this.root=kS.createRoot(i),this.root.render(kn.createElement(hy,{config:this.config})),this.instances.set(a,this)}destroy(n){var s;const a=n||((s=this.config)==null?void 0:s.containerId);if(!a)return;const i=this.instances.get(a);i!=null&&i.root&&(i.root.unmount(),i.root=null),i!=null&&i.container&&i.container.parentNode&&i.container.parentNode.removeChild(i.container),this.instances.delete(a)}updateConfig(n,a){var c;const i=a||((c=this.config)==null?void 0:c.containerId);if(!i)return;const s=this.instances.get(i);if(!(s!=null&&s.config))return;const o=_(_({},s.config),n);s.config=o,s.root&&s.container&&s.root.render(kn.createElement(hy,{config:o}))}getInstance(n){var i;const a=n||((i=this.config)==null?void 0:i.containerId);return a&&this.instances.get(a)||null}static parseConfigFromAttributes(n,a){const i={};return n.dataset.baseUrl&&(i.baseUrl=n.dataset.baseUrl),n.dataset.proxyUrl&&(i.proxyUrl=n.dataset.proxyUrl),n.dataset.sessionToken&&(i.sessionToken=n.dataset.sessionToken),n.dataset.containerId&&(i.containerId=n.dataset.containerId),n.dataset.containerClass&&(i.containerClass=n.dataset.containerClass),n.dataset.mode&&(i.mode=n.dataset.mode),n.dataset.modelMode&&(i.modelMode=n.dataset.modelMode),n.dataset.modelId&&(i.modelId=n.dataset.modelId),n.dataset.ephemeral&&(i.ephemeral=n.dataset.ephemeral==="true"),n.dataset.systemPrompt&&(i.systemPrompt=n.dataset.systemPrompt),a&&(a.dataset.baseUrl&&(i.baseUrl=a.dataset.baseUrl),a.dataset.proxyUrl&&(i.proxyUrl=a.dataset.proxyUrl),a.dataset.sessionToken&&(i.sessionToken=a.dataset.sessionToken),a.dataset.mode&&(i.mode=a.dataset.mode),a.dataset.modelMode&&(i.modelMode=a.dataset.modelMode),a.dataset.modelId&&(i.modelId=a.dataset.modelId)),i}}const dy=({config:t})=>{X2();const{baseUrl:n,proxyUrl:a,sessionToken:i,mode:s="multiChat",modelMode:o="fixed",modelId:c,onModelChange:d,ephemeral:h=!1,systemPrompt:m,initialThreadId:g,welcomeTitle:y,welcomeSubtitle:v,extraTopPadding:x,suggestions:w,showThemeToggle:k=!0,theme:D="system",onError:O,onChatCreated:Y,onThreadIdUpdate:I}=t,[nt,it]=M.useState(!1),j=a||n||"",J=!!a,dt=M.useMemo(()=>new sm(j,i||void 0,J,t.tenantId),[j,i,J,t.tenantId]),[ft,L]=M.useState(null),[rt,$]=M.useState(!1),[bt,ot]=M.useState(null),[at,H]=M.useState(!1);M.useEffect(()=>{s==="multiChat"&&H(!0)},[s]);const W=M.useCallback(()=>tt(null,null,function*(){if(o==="selector"){$(!0),ot(null);try{const ut=yield dt.listModels();L(ut)}catch(ut){ot(ut instanceof Error?ut:new Error("Failed to load models"))}finally{$(!1)}}}),[dt,o]);M.useEffect(()=>{o==="selector"&&W()},[o,W]),M.useEffect(()=>(typeof window!="undefined"&&(window.__cuadraUIKitRefetchModels=W),()=>{typeof window!="undefined"&&delete window.__cuadraUIKitRefetchModels}),[W]);const[ct,Et]=M.useState(o==="fixed"&&c||null),C=M.useRef(ct),R=M.useCallback(ut=>{const At=C.current;Et(ut),C.current=ut,d==null||d(ut),At!==null&&At!==ut&&s==="multiChat"&&setTimeout(()=>{var Vt,Ue;const Ot=window.__cuadraThreadListRuntime;if((Vt=Ot==null?void 0:Ot.threads)!=null&&Vt.switchToNewThread)try{Ot.threads.switchToNewThread()}catch(gn){}else if((Ue=Ot==null?void 0:Ot.threads)!=null&&Ue.createThread)try{Ot.threads.createThread()}catch(gn){}else if(Ot!=null&&Ot.switchToNewThread)try{Ot.switchToNewThread()}catch(gn){}},100)},[d,s]);M.useEffect(()=>{if(o==="selector"&&(ft!=null&&ft.items)&&ft.items.length>0&&!ct){const ut=ft.items[0];if(ut!=null&&ut.id){const At=ut.id;Et(At),d==null||d(At)}}},[o,ft==null?void 0:ft.items,ct,d]);const P=o==="fixed"?!!c:!!ct,T=M.useMemo(()=>((ft==null?void 0:ft.items)||[]).filter(ut=>(ut==null?void 0:ut.id)&&(ut==null?void 0:ut.displayName)).map(ut=>({id:ut.id,name:ut.displayName})),[ft]),st=M.useMemo(()=>({currentModelId:ct||"",models:T,modelsLoading:rt,modelsError:bt,onModelChange:R,refetchModels:W}),[ct,T,rt,bt,R,W]);return o==="selector"&&rt||s==="multiChat"&&at?E.jsx(Oc,{value:st,children:E.jsx(zc,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:E.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:E.jsx(oh,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):o==="selector"&&!P&&bt?E.jsx(Oc,{value:st,children:E.jsx(zc,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:E.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:E.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:E.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):E.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:E.jsx(Oc,{value:st,children:E.jsx(W_,{baseUrl:J?j:n||j,sessionToken:i,isProxyMode:J,tenantId:t.tenantId,mode:s,modelMode:o,modelId:ct||c||void 0,onModelChange:R,ephemeral:h,systemPrompt:m,initialThreadId:g,onError:O,onChatCreated:Y,onThreadIdUpdate:I,onChatsLoaded:()=>{s==="multiChat"&&H(!1)},children:E.jsx(zc,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${t.containerClass||""}`,borderSizePx:4,style:{height:"100%"},children:E.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},children:s==="multiChat"?E.jsxs(E.Fragment,{children:[nt&&typeof document!="undefined"&&lh.createPortal(E.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-bg-black/50 cuadra-z-40 md:cuadra-hidden",onClick:()=>it(!1)}),document.body),typeof document!="undefined"&&E.jsxs(E.Fragment,{children:[E.jsx("div",{className:"cuadra-hidden md:cuadra-block !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80 cuadra-relative",style:{borderRightWidth:"1px",height:"100%"},children:E.jsx(cy,{onThreadSelect:()=>it(!1)})}),nt&&lh.createPortal(E.jsx("div",{className:"cuadra-block md:cuadra-hidden !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-screen cuadra-w-80 cuadra-fixed cuadra-z-50 cuadra-top-0 cuadra-left-0 cuadra-translate-x-0",style:{borderRightWidth:"1px"},children:E.jsx(cy,{onThreadSelect:()=>it(!1)})}),document.body)]}),E.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[o==="selector"&&E.jsx(fy,{currentModel:ct||"",models:T,modelsLoading:rt,modelsError:bt,onModelChange:R,showThemeToggle:k,theme:D,onMobileMenuClick:()=>it(!nt),showMobileMenuButton:s==="multiChat"}),E.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:E.jsx(oy,{welcomeTitle:y,welcomeSubtitle:v,extraTopPadding:x,suggestions:w})})]})]}):E.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[o==="selector"&&E.jsx(fy,{currentModel:ct||"",models:T,modelsLoading:rt,modelsError:bt,onModelChange:R,showThemeToggle:k,theme:D}),E.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:E.jsx(oy,{welcomeTitle:y,welcomeSubtitle:v,extraTopPadding:x,suggestions:w})})]})})})})})})},hy=({config:t})=>E.jsx(dy,{config:t});let Be=null;typeof window!="undefined"&&(Be=new zs);const py={init:t=>(Be||(Be=new zs),Be.init(t)),destroy:t=>Be==null?void 0:Be.destroy(t),updateConfig:(t,n)=>Be==null?void 0:Be.updateConfig(t,n),getInstance:t=>Be==null?void 0:Be.getInstance(t),refetchModels:()=>{if(typeof window!="undefined"){const t=window.__cuadraUIKitRefetchModels;t&&t()}},version:"0.1.0"};if(typeof window!="undefined"){window.CuadraUIKit=py;const t=()=>{const n=document.querySelectorAll('script[src*="cuadra-uikit"]'),a=Array.from(n).find(i=>(i.getAttribute("src")||"").includes("cuadra-uikit.umd.js"));a&&a.dataset.autoInit!=="false"&&Q2(a)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):setTimeout(t,0)}function Q2(t){if(!t||!Be)return;const n=zs.parseConfigFromAttributes(t),a=n.containerId||"cuadra-chat",i=document.getElementById(a);if(i){const s=zs.parseConfigFromAttributes(t,i);Object.assign(n,s)}(n.baseUrl||n.proxyUrl)&&Be.init(n)}mt.WidgetContent=dy,mt.default=py,Object.defineProperties(mt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
47
+ `,zc=({children:t,className:n="",paddingX:a="px-0",paddingY:i="py-0",borderSizePx:s=4,style:o,contentStyle:c,rotating:d=!1})=>E.jsxs(E.Fragment,{children:[E.jsx("style",{children:F2}),E.jsxs("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-xl cuadra-overflow-hidden ${n}`,style:_({padding:s},o),children:[E.jsx("div",{className:"cuadra-absolute md:cuadra-rounded-xl",style:d?{left:"-100%",top:"-100%",width:"300%",height:"300%",backgroundImage:"conic-gradient(#ff8308, #ff5043, #392bd5, #ff8308)",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center",animation:"rotate 4s linear infinite"}:{backgroundImage:"linear-gradient(to right, #ff8308, #ff5043, #392bd5)",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",top:"0",left:"0",width:"100%",height:"100%"}}),E.jsx("div",{className:`cuadra-relative cuadra-bg-background cuadra-h-full cuadra-z-10 cuadra-flex cuadra-flex-col cuadra-overflow-hidden ${a} ${i}`,style:_({borderRadius:"calc(0.75rem - 4px)"},c),children:t})]})]}),G2=({className:t="",theme:n="system"})=>{const a=()=>{if(typeof window=="undefined")return"light";if(n==="system"){const c=localStorage.getItem("theme");return c||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}return n},[i,s]=M.useState(a);M.useEffect(()=>{n!=="system"&&s(n)},[n]),M.useEffect(()=>{const c=document.documentElement;c.classList.remove("light","dark"),c.classList.add(i),n==="system"&&localStorage.setItem("theme",i)},[i,n]);const o=()=>{n==="system"&&s(c=>c==="light"?"dark":"light")};return E.jsx("button",{type:"button","aria-label":"Toggle theme",onClick:o,disabled:n!=="system",className:`cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed ${t}`,children:E.jsx(LS,{className:`cuadra-h-4 cuadra-w-4 cuadra-transition-colors ${i==="dark"?"cuadra-text-primary":"cuadra-text-gray-400"}`})})},fy=({currentModel:t,models:n,modelsLoading:a,modelsError:i,onModelChange:s,hideModelSelector:o=!1,showThemeToggle:c=!0,theme:d="system",onMobileMenuClick:h,showMobileMenuButton:m=!1})=>{const[g,y]=M.useState(!1),v=M.useRef(null);M.useEffect(()=>{const w=k=>{v.current&&!v.current.contains(k.target)&&y(!1)};return g&&document.addEventListener("mousedown",w),()=>{document.removeEventListener("mousedown",w)}},[g]);const x=n.find(w=>w.id===t);return E.jsxs("div",{className:"cuadra-h-16 cuadra-px-4 cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-between cuadra-bg-background",children:[E.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[m&&E.jsx("button",{type:"button",onClick:h,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed md:cuadra-hidden","aria-label":"Toggle thread list",children:E.jsx(HS,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),c&&E.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:E.jsx(G2,{theme:d})})]}),E.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 md:cuadra-ml-0 cuadra-ml-auto",children:[!o&&E.jsx("label",{className:"cuadra-hidden md:cuadra-inline cuadra-text-sm cuadra-text-muted-foreground cuadra-font-brand",children:"Model"}),o?null:a?E.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-border cuadra-px-3 cuadra-py-2 cuadra-bg-muted",children:E.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading..."})}):i?E.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-destructive cuadra-px-3 cuadra-py-2 cuadra-bg-destructive/10",children:E.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):E.jsxs("div",{ref:v,className:"cuadra-relative cuadra-w-48",children:[E.jsxs("button",{type:"button",onClick:()=>y(!g),disabled:a||n.length===0||!!i,className:"cuadra-flex cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[E.jsx("span",{className:x?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:(x==null?void 0:x.name)||"Select model"}),E.jsx(jS,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),g&&n.length>0&&E.jsx("div",{className:"cuadra-absolute cuadra-z-50 cuadra-mt-1 cuadra-w-full cuadra-min-w-[8rem] cuadra-overflow-hidden cuadra-rounded-md glass-popover cuadra-text-popover-foreground cuadra-animate-in fade-in-80 cuadra-border cuadra-border-border cuadra-bg-popover cuadra-shadow-md",children:E.jsx("div",{className:"cuadra-p-1",children:n.map(w=>E.jsxs("button",{type:"button",onClick:()=>{s(w.id),y(!1)},className:`cuadra-relative cuadra-flex cuadra-w-full cuadra-cursor-pointer cuadra-select-none cuadra-items-center cuadra-rounded-sm cuadra-py-1.5 cuadra-pl-8 cuadra-pr-2 cuadra-text-sm cuadra-outline-none focus:cuadra-bg-secondary focus:cuadra-text-secondary-foreground font-brand cuadra-transition-colors ${t===w.id?"cuadra-bg-secondary cuadra-text-secondary-foreground":"hover:cuadra-bg-secondary/50"}`,children:[t===w.id&&E.jsx("span",{className:"cuadra-absolute cuadra-left-2 cuadra-flex cuadra-h-3.5 cuadra-w-3.5 cuadra-items-center cuadra-justify-center",children:E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16",children:E.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M6.47 10.03a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06L8 9.06l-1.53 1.53Z",clipRule:"evenodd"})})}),E.jsx("span",{children:w.name})]},w.id))})})]})]})]})},P2=M.createContext(void 0),Oc=({children:t,value:n})=>E.jsx(P2.Provider,{value:n,children:t});function X2(){M.useEffect(()=>{if(document.querySelector("style[data-cuadra-uikit]"))return;const n=document.createElement("div");n.className="cuadra-flex",document.body.appendChild(n);const a=window.getComputedStyle(n).display==="flex";if(document.body.removeChild(n),a)return;const i=document.createElement("link");i.setAttribute("data-cuadra-uikit","true"),i.rel="stylesheet",i.type="text/css";const s=["/node_modules/@cuadra-ai/uikit/dist/uikit.css",new URL("../dist/uikit.css",typeof document=="undefined"&&typeof location=="undefined"?require("url").pathToFileURL(__filename).href:typeof document=="undefined"?location.href:yt&&yt.tagName.toUpperCase()==="SCRIPT"&&yt.src||new URL("cuadra-uikit.umd.js",document.baseURI).href).href];let o=!1;for(const c of s)if(i.href=c,i.onload=()=>{o=!0},i.onerror=()=>{},document.head.appendChild(i),o)break},[])}const dy=({config:t})=>{X2();const{baseUrl:n,proxyUrl:a,sessionToken:i,mode:s="multiChat",modelMode:o="fixed",modelId:c,onModelChange:d,ephemeral:h=!1,systemPrompt:m,initialThreadId:g,welcomeTitle:y,welcomeSubtitle:v,extraTopPadding:x,suggestions:w,showThemeToggle:k=!0,theme:D="system",onError:O,onChatCreated:Y,onThreadIdUpdate:I}=t,[nt,it]=M.useState(!1),j=a||n||"",J=!!a,dt=M.useMemo(()=>new sm(j,i||void 0,J,t.tenantId),[j,i,J,t.tenantId]),[ft,L]=M.useState(null),[rt,$]=M.useState(!1),[bt,ot]=M.useState(null),[at,H]=M.useState(!1);M.useEffect(()=>{s==="multiChat"&&H(!0)},[s]);const W=M.useCallback(()=>tt(null,null,function*(){if(o==="selector"){$(!0),ot(null);try{const ut=yield dt.listModels();L(ut)}catch(ut){ot(ut instanceof Error?ut:new Error("Failed to load models"))}finally{$(!1)}}}),[dt,o]);M.useEffect(()=>{o==="selector"&&W()},[o,W]),M.useEffect(()=>(typeof window!="undefined"&&(window.__cuadraUIKitRefetchModels=W),()=>{typeof window!="undefined"&&delete window.__cuadraUIKitRefetchModels}),[W]);const[ct,Et]=M.useState(o==="fixed"&&c||null),C=M.useRef(ct),R=M.useCallback(ut=>{const At=C.current;Et(ut),C.current=ut,d==null||d(ut),At!==null&&At!==ut&&s==="multiChat"&&setTimeout(()=>{var Vt,Ue;const Ot=window.__cuadraThreadListRuntime;if((Vt=Ot==null?void 0:Ot.threads)!=null&&Vt.switchToNewThread)try{Ot.threads.switchToNewThread()}catch(gn){}else if((Ue=Ot==null?void 0:Ot.threads)!=null&&Ue.createThread)try{Ot.threads.createThread()}catch(gn){}else if(Ot!=null&&Ot.switchToNewThread)try{Ot.switchToNewThread()}catch(gn){}},100)},[d,s]);M.useEffect(()=>{if(o==="selector"&&(ft!=null&&ft.items)&&ft.items.length>0&&!ct){const ut=ft.items[0];if(ut!=null&&ut.id){const At=ut.id;Et(At),d==null||d(At)}}},[o,ft==null?void 0:ft.items,ct,d]);const P=o==="fixed"?!!c:!!ct,T=M.useMemo(()=>((ft==null?void 0:ft.items)||[]).filter(ut=>(ut==null?void 0:ut.id)&&(ut==null?void 0:ut.displayName)).map(ut=>({id:ut.id,name:ut.displayName})),[ft]),st=M.useMemo(()=>({currentModelId:ct||"",models:T,modelsLoading:rt,modelsError:bt,onModelChange:R,refetchModels:W}),[ct,T,rt,bt,R,W]);return o==="selector"&&rt||s==="multiChat"&&at?E.jsx(Oc,{value:st,children:E.jsx(zc,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:E.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:E.jsx(oh,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):o==="selector"&&!P&&bt?E.jsx(Oc,{value:st,children:E.jsx(zc,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:E.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:E.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:E.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):E.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:E.jsx(Oc,{value:st,children:E.jsx(W_,{baseUrl:J?j:n||j,sessionToken:i,isProxyMode:J,tenantId:t.tenantId,mode:s,modelMode:o,modelId:ct||c||void 0,onModelChange:R,ephemeral:h,systemPrompt:m,initialThreadId:g,onError:O,onChatCreated:Y,onThreadIdUpdate:I,onChatsLoaded:()=>{s==="multiChat"&&H(!1)},children:E.jsx(zc,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${t.containerClass||""}`,borderSizePx:4,style:{height:"100%"},children:E.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},children:s==="multiChat"?E.jsxs(E.Fragment,{children:[nt&&typeof document!="undefined"&&lh.createPortal(E.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-bg-black/50 cuadra-z-40 md:cuadra-hidden",onClick:()=>it(!1)}),document.body),typeof document!="undefined"&&E.jsxs(E.Fragment,{children:[E.jsx("div",{className:"cuadra-hidden md:cuadra-block !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80 cuadra-relative",style:{borderRightWidth:"1px",height:"100%"},children:E.jsx(cy,{onThreadSelect:()=>it(!1)})}),nt&&lh.createPortal(E.jsx("div",{className:"cuadra-block md:cuadra-hidden !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-screen cuadra-w-80 cuadra-fixed cuadra-z-50 cuadra-top-0 cuadra-left-0 cuadra-translate-x-0",style:{borderRightWidth:"1px"},children:E.jsx(cy,{onThreadSelect:()=>it(!1)})}),document.body)]}),E.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[o==="selector"&&E.jsx(fy,{currentModel:ct||"",models:T,modelsLoading:rt,modelsError:bt,onModelChange:R,showThemeToggle:k,theme:D,onMobileMenuClick:()=>it(!nt),showMobileMenuButton:s==="multiChat"}),E.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:E.jsx(oy,{welcomeTitle:y,welcomeSubtitle:v,extraTopPadding:x,suggestions:w})})]})]}):E.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[o==="selector"&&E.jsx(fy,{currentModel:ct||"",models:T,modelsLoading:rt,modelsError:bt,onModelChange:R,showThemeToggle:k,theme:D}),E.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:E.jsx(oy,{welcomeTitle:y,welcomeSubtitle:v,extraTopPadding:x,suggestions:w})})]})})})})})})};class zs{constructor(){q(this,"config",null);q(this,"root",null);q(this,"container",null);q(this,"instances",new Map)}init(n){if(!n.baseUrl&&!n.proxyUrl)throw new Error("Either baseUrl or proxyUrl is required");if(n.modelMode==="fixed"&&n.modelId!==void 0&&(!n.modelId||n.modelId.trim()===""))throw new Error("modelId cannot be empty when explicitly provided. Omit modelId to let backend resolve it.");const a=n.containerId||"cuadra-chat";let i=document.getElementById(a);i||(i=document.createElement("div"),i.id=a,document.body.appendChild(i)),n.containerClass&&i.classList.add(...n.containerClass.split(" ")),this.config=G(_({},n),{containerId:a}),this.container=i,this.root=kS.createRoot(i),this.root.render(kn.createElement(hy,{config:this.config})),this.instances.set(a,this)}destroy(n){var s;const a=n||((s=this.config)==null?void 0:s.containerId);if(!a)return;const i=this.instances.get(a);i!=null&&i.root&&(i.root.unmount(),i.root=null),i!=null&&i.container&&i.container.parentNode&&i.container.parentNode.removeChild(i.container),this.instances.delete(a)}updateConfig(n,a){var c;const i=a||((c=this.config)==null?void 0:c.containerId);if(!i)return;const s=this.instances.get(i);if(!(s!=null&&s.config))return;const o=_(_({},s.config),n);s.config=o,s.root&&s.container&&s.root.render(kn.createElement(hy,{config:o}))}getInstance(n){var i;const a=n||((i=this.config)==null?void 0:i.containerId);return a&&this.instances.get(a)||null}static parseConfigFromAttributes(n,a){const i={};return n.dataset.baseUrl&&(i.baseUrl=n.dataset.baseUrl),n.dataset.proxyUrl&&(i.proxyUrl=n.dataset.proxyUrl),n.dataset.sessionToken&&(i.sessionToken=n.dataset.sessionToken),n.dataset.containerId&&(i.containerId=n.dataset.containerId),n.dataset.containerClass&&(i.containerClass=n.dataset.containerClass),n.dataset.mode&&(i.mode=n.dataset.mode),n.dataset.modelMode&&(i.modelMode=n.dataset.modelMode),n.dataset.modelId&&(i.modelId=n.dataset.modelId),n.dataset.ephemeral&&(i.ephemeral=n.dataset.ephemeral==="true"),n.dataset.systemPrompt&&(i.systemPrompt=n.dataset.systemPrompt),a&&(a.dataset.baseUrl&&(i.baseUrl=a.dataset.baseUrl),a.dataset.proxyUrl&&(i.proxyUrl=a.dataset.proxyUrl),a.dataset.sessionToken&&(i.sessionToken=a.dataset.sessionToken),a.dataset.mode&&(i.mode=a.dataset.mode),a.dataset.modelMode&&(i.modelMode=a.dataset.modelMode),a.dataset.modelId&&(i.modelId=a.dataset.modelId)),i}}const hy=({config:t})=>E.jsx(dy,{config:t});let Be=null;typeof window!="undefined"&&(Be=new zs);const py={init:t=>(Be||(Be=new zs),Be.init(t)),destroy:t=>Be==null?void 0:Be.destroy(t),updateConfig:(t,n)=>Be==null?void 0:Be.updateConfig(t,n),getInstance:t=>Be==null?void 0:Be.getInstance(t),refetchModels:()=>{if(typeof window!="undefined"){const t=window.__cuadraUIKitRefetchModels;t&&t()}},version:"0.1.0"};if(typeof window!="undefined"){window.CuadraUIKit=py;const t=()=>{const n=document.querySelectorAll('script[src*="cuadra-uikit"]'),a=Array.from(n).find(i=>(i.getAttribute("src")||"").includes("cuadra-uikit.umd.js"));a&&a.dataset.autoInit!=="false"&&Q2(a)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):setTimeout(t,0)}function Q2(t){if(!t||!Be)return;const n=zs.parseConfigFromAttributes(t),a=n.containerId||"cuadra-chat",i=document.getElementById(a);if(i){const s=zs.parseConfigFromAttributes(t,i);Object.assign(n,s)}(n.baseUrl||n.proxyUrl)&&Be.init(n)}mt.WidgetContent=dy,mt.default=py,Object.defineProperties(mt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
48
48
  //# sourceMappingURL=cuadra-uikit.umd.js.map