@alfadocs/ui-kit 0.45.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/_chunks/alia-sidebar-CVIPrdc9.js +1125 -0
  2. package/dist/_chunks/{audio-recorder-C1rhKhSN.js → audio-recorder-DC-v9YFW.js} +81 -91
  3. package/dist/_chunks/{chat-input-CQe7nR_v.js → chat-input-CFwc7JxL.js} +2 -1
  4. package/dist/_chunks/{chat-message-ASgGtj-L.js → chat-message-B5JpFj0F.js} +79 -73
  5. package/dist/_chunks/code-block-HoddNOKJ.js +106 -0
  6. package/dist/_chunks/download-CDF1sbL9.js +16 -0
  7. package/dist/_chunks/{editable-currency-cell-renderer-BEBUQl9P.js → editable-currency-cell-renderer-CLil9B29.js} +283 -293
  8. package/dist/_chunks/{freemium-paywall-BYist2sJ.js → freemium-paywall-DzpD63WY.js} +2 -2
  9. package/dist/_chunks/mic-B4Gog3Gi.js +16 -0
  10. package/dist/_chunks/{payment-form-DqEiEJRO.js → payment-form-BNTx4876.js} +225 -196
  11. package/dist/_chunks/pencil-CfQX-0Qc.js +21 -0
  12. package/dist/_chunks/{streaming-text-GH07yIYh.js → streaming-text-CfhDqtIT.js} +49 -45
  13. package/dist/_chunks/{workflow-map-BFNpzTiw.js → workflow-map-Djn1QMJc.js} +135 -150
  14. package/dist/agent-catalog.json +1 -1
  15. package/dist/components/_shared/code-block.d.ts +39 -0
  16. package/dist/components/audio-recorder/index.js +1 -1
  17. package/dist/components/chat-input/index.js +1 -1
  18. package/dist/components/chat-message/chat-message.d.ts +6 -0
  19. package/dist/components/chat-message/index.js +1 -1
  20. package/dist/components/data-table/index.js +1 -1
  21. package/dist/components/freemium-paywall/index.js +1 -1
  22. package/dist/components/payment-form/index.js +1 -1
  23. package/dist/components/payment-form/payment-form.d.ts +6 -0
  24. package/dist/components/streaming-text/index.js +1 -1
  25. package/dist/components/workflow/index.js +1 -1
  26. package/dist/i18n/locales/ar.d.ts +15 -0
  27. package/dist/i18n/locales/ar.js +16 -1
  28. package/dist/i18n/locales/de.d.ts +15 -0
  29. package/dist/i18n/locales/de.js +16 -1
  30. package/dist/i18n/locales/el.d.ts +15 -0
  31. package/dist/i18n/locales/el.js +16 -1
  32. package/dist/i18n/locales/en.d.ts +15 -0
  33. package/dist/i18n/locales/en.js +16 -1
  34. package/dist/i18n/locales/es.d.ts +15 -0
  35. package/dist/i18n/locales/es.js +16 -1
  36. package/dist/i18n/locales/fr.d.ts +15 -0
  37. package/dist/i18n/locales/fr.js +16 -1
  38. package/dist/i18n/locales/hi.d.ts +15 -0
  39. package/dist/i18n/locales/hi.js +16 -1
  40. package/dist/i18n/locales/it.d.ts +15 -0
  41. package/dist/i18n/locales/it.js +16 -1
  42. package/dist/i18n/locales/ja.d.ts +15 -0
  43. package/dist/i18n/locales/ja.js +16 -1
  44. package/dist/i18n/locales/nl.d.ts +15 -0
  45. package/dist/i18n/locales/nl.js +16 -1
  46. package/dist/i18n/locales/pl.d.ts +15 -0
  47. package/dist/i18n/locales/pl.js +16 -1
  48. package/dist/i18n/locales/pt.d.ts +15 -0
  49. package/dist/i18n/locales/pt.js +16 -1
  50. package/dist/i18n/locales/ro.d.ts +15 -0
  51. package/dist/i18n/locales/ro.js +16 -1
  52. package/dist/i18n/locales/ru.d.ts +15 -0
  53. package/dist/i18n/locales/ru.js +16 -1
  54. package/dist/i18n/locales/sq.d.ts +15 -0
  55. package/dist/i18n/locales/sq.js +16 -1
  56. package/dist/i18n/locales/sv.d.ts +15 -0
  57. package/dist/i18n/locales/sv.js +16 -1
  58. package/dist/i18n/locales/tr.d.ts +15 -0
  59. package/dist/i18n/locales/tr.js +16 -1
  60. package/dist/i18n/locales/zh.d.ts +15 -0
  61. package/dist/i18n/locales/zh.js +16 -1
  62. package/dist/index.js +9 -9
  63. package/dist/locales/ar.json +16 -1
  64. package/dist/locales/de.json +16 -1
  65. package/dist/locales/el.json +16 -1
  66. package/dist/locales/en.json +16 -1
  67. package/dist/locales/es.json +16 -1
  68. package/dist/locales/fr.json +16 -1
  69. package/dist/locales/hi.json +16 -1
  70. package/dist/locales/it.json +16 -1
  71. package/dist/locales/ja.json +16 -1
  72. package/dist/locales/nl.json +16 -1
  73. package/dist/locales/pl.json +16 -1
  74. package/dist/locales/pt.json +16 -1
  75. package/dist/locales/ro.json +16 -1
  76. package/dist/locales/ru.json +16 -1
  77. package/dist/locales/sq.json +16 -1
  78. package/dist/locales/sv.json +16 -1
  79. package/dist/locales/tr.json +16 -1
  80. package/dist/locales/zh.json +16 -1
  81. package/dist/patterns/alia-assistant/alia-types.d.ts +61 -0
  82. package/dist/patterns/alia-assistant/index.js +1 -1
  83. package/dist/tokens.css +1 -1
  84. package/package.json +1 -1
  85. package/dist/_chunks/alia-sidebar-Be8FhKYd.js +0 -837
@@ -1,837 +0,0 @@
1
- import { jsx as e, jsxs as c, Fragment as se } from "react/jsx-runtime";
2
- import { forwardRef as _, useMemo as q } from "react";
3
- import * as ae from "@radix-ui/react-dialog";
4
- import { useTranslation as y } from "react-i18next";
5
- import { F as de } from "./floating-action-button-pojvb9gG.js";
6
- import { I as P } from "./icon-button-CKEOrN37.js";
7
- import { S as D } from "./sheet-xbzu4YiY.js";
8
- import { X as ie } from "./x-CCcI3eJp.js";
9
- import { S as F } from "./sparkles-CuYXqQLg.js";
10
- import { A as I } from "./avatar-BNQNhoyL.js";
11
- import { B as M } from "./button-DD_0Xdmr.js";
12
- import { C as re } from "./chat-container-ogB4OskO.js";
13
- import { C as le } from "./chat-message-ASgGtj-L.js";
14
- import { C as te } from "./chat-input-CQe7nR_v.js";
15
- import { S as ne } from "./spinner-OjQNn8oN.js";
16
- import { S as ce } from "./streaming-text-GH07yIYh.js";
17
- import { a as O, S as Q } from "./suggestion-chip-C4kxWUIs.js";
18
- import { T as oe } from "./typing-indicator-DHeVN4ob.js";
19
- import { P as me } from "./progress-kzIRcdaq.js";
20
- import { S as pe } from "./square-CZoGU14v.js";
21
- import { c as ue } from "./createLucideIcon-CrFbzy84.js";
22
- import { P as fe } from "./plus-CYKNmfuA.js";
23
- import { U as ge } from "./user-CPxpqFjJ.js";
24
- import { a as he, C as ve } from "./chevrons-right-d9MwesPG.js";
25
- /**
26
- * @license lucide-react v1.8.0 - ISC
27
- *
28
- * This source code is licensed under the ISC license.
29
- * See the LICENSE file in the root directory of this source tree.
30
- */
31
- const be = [
32
- [
33
- "path",
34
- {
35
- d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
36
- key: "oel41y"
37
- }
38
- ],
39
- ["path", { d: "m14.5 9.5-5 5", key: "17q4r4" }],
40
- ["path", { d: "m9.5 9.5 5 5", key: "18nt4w" }]
41
- ], xe = ue("shield-x", be), W = {
42
- sm: {
43
- box: "ds:size-[calc(var(--spacing-md)*2)]",
44
- icon: "ds:size-4"
45
- },
46
- md: {
47
- box: "ds:size-[calc(var(--spacing-md)*2.5)]",
48
- icon: "ds:size-[1.125rem]"
49
- },
50
- xl: {
51
- box: "ds:size-[calc(var(--spacing-md)*4)]",
52
- icon: "ds:size-8"
53
- }
54
- };
55
- function w({
56
- size: s,
57
- label: a,
58
- appearance: r = "sparkle",
59
- loading: t = !1
60
- }) {
61
- const d = W[s];
62
- return r === "spinner" ? /* @__PURE__ */ e(
63
- "span",
64
- {
65
- role: "img",
66
- "aria-label": a,
67
- className: "ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center ds:text-[color:var(--primary)]",
68
- children: /* @__PURE__ */ e(
69
- ne,
70
- {
71
- "aria-hidden": !0,
72
- variant: t ? "pulse" : "static",
73
- className: d.box
74
- }
75
- )
76
- }
77
- ) : /* @__PURE__ */ e(
78
- "span",
79
- {
80
- role: "img",
81
- "aria-label": a,
82
- className: [
83
- "ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center",
84
- "ds:rounded-[var(--radius-full)]",
85
- // Subtle accent-tinted disc so the sparkle reads against both
86
- // light and dark surfaces without a hard-coded literal colour.
87
- "ds:bg-[color-mix(in_srgb,var(--accent)_14%,transparent)]",
88
- "ds:text-[color:var(--accent)]",
89
- // forced-colors: UA strips color-mix backgrounds; fall back to
90
- // a bordered disc so the identity still reads in HCM.
91
- "ds:forced-colors:bg-transparent ds:forced-colors:border ds:forced-colors:border-[CanvasText]",
92
- d.box
93
- ].join(" "),
94
- children: /* @__PURE__ */ e(F, { "aria-hidden": "true", className: d.icon })
95
- }
96
- );
97
- }
98
- function Ne({
99
- size: s,
100
- label: a
101
- }) {
102
- const r = W[s];
103
- return /* @__PURE__ */ e(
104
- "span",
105
- {
106
- role: "img",
107
- "aria-label": a,
108
- className: [
109
- "ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center",
110
- "ds:rounded-[var(--radius-full)]",
111
- "ds:bg-[color-mix(in_srgb,var(--muted-foreground)_14%,transparent)]",
112
- "ds:text-[color:var(--muted-foreground)]",
113
- "ds:forced-colors:bg-transparent ds:forced-colors:border ds:forced-colors:border-[CanvasText]",
114
- r.box
115
- ].join(" "),
116
- children: /* @__PURE__ */ e(ge, { "aria-hidden": "true", className: r.icon })
117
- }
118
- );
119
- }
120
- function ye({ note: s }) {
121
- return /* @__PURE__ */ c(
122
- "div",
123
- {
124
- role: "status",
125
- className: [
126
- "ds:flex ds:w-full ds:flex-col ds:items-center ds:text-center",
127
- "ds:gap-[var(--spacing-xs)]"
128
- ].join(" "),
129
- "data-testid": "alia-ended-divider",
130
- children: [
131
- /* @__PURE__ */ e(
132
- xe,
133
- {
134
- "aria-hidden": "true",
135
- className: "ds:size-5 ds:text-[color:var(--destructive)]"
136
- }
137
- ),
138
- /* @__PURE__ */ e("span", { className: "type-body-sm ds:text-[color:var(--muted-foreground)]", children: s })
139
- ]
140
- }
141
- );
142
- }
143
- function ze(s, a) {
144
- return s ? s.slot ? { slot: s.slot } : { name: s.name, src: s.src } : { slot: /* @__PURE__ */ e(Ne, { size: "sm", label: a }) };
145
- }
146
- function we({
147
- assistantName: s,
148
- avatarSrc: a,
149
- greeting: r,
150
- subtitle: t,
151
- suggestions: d,
152
- onSuggestion: n
153
- }) {
154
- const { t: u } = y(), l = "alia-empty-state-heading";
155
- return /* @__PURE__ */ c(
156
- "section",
157
- {
158
- "aria-labelledby": l,
159
- className: [
160
- "ds:flex ds:flex-1 ds:min-h-0 ds:flex-col ds:items-center ds:justify-center",
161
- "ds:text-center",
162
- "ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)]",
163
- "ds:pt-[var(--spacing-xl)] ds:pb-[var(--spacing-xl)]",
164
- "ds:gap-[var(--spacing-md)]"
165
- ].join(" "),
166
- "data-testid": "alia-empty-state",
167
- children: [
168
- a ? /* @__PURE__ */ e(I, { name: s, src: a, size: "xl" }) : /* @__PURE__ */ e(
169
- w,
170
- {
171
- size: "xl",
172
- label: s,
173
- appearance: "spinner"
174
- }
175
- ),
176
- /* @__PURE__ */ c("div", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-xs)] ds:max-w-[32rem]", children: [
177
- /* @__PURE__ */ e(
178
- "h2",
179
- {
180
- id: l,
181
- className: "type-title-section ds:m-0 ds:text-[color:var(--foreground)]",
182
- children: r
183
- }
184
- ),
185
- /* @__PURE__ */ e("p", { className: "type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]", children: t })
186
- ] }),
187
- d && d.length > 0 ? /* @__PURE__ */ e("div", { className: "ds:w-full ds:max-w-[40rem]", children: /* @__PURE__ */ e(
188
- O,
189
- {
190
- label: u("alia.exampleQuestions"),
191
- className: "ds:justify-center",
192
- children: d.map((o) => /* @__PURE__ */ e(
193
- Q,
194
- {
195
- intent: "suggestion",
196
- startIcon: o.icon,
197
- keepOnSelect: !0,
198
- onSelect: () => n == null ? void 0 : n(o),
199
- children: o.label
200
- },
201
- o.id
202
- ))
203
- }
204
- ) }) : null
205
- ]
206
- }
207
- );
208
- }
209
- function je({
210
- message: s,
211
- assistantName: a,
212
- avatarSrc: r,
213
- renderMarkdown: t
214
- }) {
215
- const { t: d, i18n: n } = y(), u = d("chat.message.role.assistant"), l = q(() => {
216
- if (!s.timestamp) return null;
217
- const m = s.timestamp instanceof Date ? s.timestamp : new Date(s.timestamp);
218
- return Number.isNaN(m.getTime()) ? null : new Intl.DateTimeFormat(n.language, {
219
- hour: "2-digit",
220
- minute: "2-digit"
221
- }).format(m);
222
- }, [s.timestamp, n.language]), o = l ? d("chat.message.label", { role: u, time: l }) : d("chat.message.labelNoTime", { role: u });
223
- return /* @__PURE__ */ c(
224
- "article",
225
- {
226
- "aria-label": o,
227
- className: "ds:flex ds:w-full ds:items-start ds:flex-row ds:gap-[var(--spacing-sm)]",
228
- children: [
229
- r ? /* @__PURE__ */ e(I, { name: a, src: r, size: "sm" }) : /* @__PURE__ */ e(
230
- w,
231
- {
232
- size: "sm",
233
- label: a,
234
- appearance: "spinner",
235
- loading: !0
236
- }
237
- ),
238
- /* @__PURE__ */ e("div", { className: "ds:flex ds:flex-col ds:items-start", children: /* @__PURE__ */ e(
239
- "div",
240
- {
241
- dir: "auto",
242
- className: [
243
- "ds:relative ds:max-w-[min(42rem,90%)]",
244
- "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
245
- "ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]",
246
- "type-body",
247
- "ds:break-words",
248
- "ds:bg-muted/40 ds:text-foreground",
249
- "ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]"
250
- ].join(" "),
251
- children: /* @__PURE__ */ e(
252
- ce,
253
- {
254
- content: s.content,
255
- isStreaming: !0,
256
- renderMarkdown: t
257
- }
258
- )
259
- }
260
- ) })
261
- ]
262
- }
263
- );
264
- }
265
- function ke({
266
- assistantName: s,
267
- avatarSrc: a,
268
- onNewConversation: r,
269
- headerEndSlot: t,
270
- density: d
271
- }) {
272
- const { t: n } = y();
273
- return /* @__PURE__ */ c(
274
- "header",
275
- {
276
- "aria-label": n("alia.headerLabel"),
277
- className: [
278
- "ds:flex ds:shrink-0 ds:items-center ds:gap-[var(--spacing-sm)]",
279
- // Soft drop-shadow on the block-end edge in place of a `border-b`
280
- // against `--border` — same rationale as the Alia sidebar's inline
281
- // edge (see alia-sidebar.tsx).
282
- "ds:shadow-[var(--shadow-chrome-down)]",
283
- "ds:bg-[var(--background)]",
284
- "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
285
- d === "compact" ? "ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]" : "ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]"
286
- ].join(" "),
287
- "data-testid": "alia-header",
288
- children: [
289
- a ? /* @__PURE__ */ e(
290
- I,
291
- {
292
- name: s,
293
- src: a,
294
- size: d === "compact" ? "sm" : "md"
295
- }
296
- ) : /* @__PURE__ */ e(
297
- w,
298
- {
299
- size: d === "compact" ? "sm" : "md",
300
- label: s,
301
- appearance: "spinner"
302
- }
303
- ),
304
- /* @__PURE__ */ e("span", { className: "type-title-item ds:text-[color:var(--foreground)]", children: s }),
305
- /* @__PURE__ */ c("div", { className: "ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
306
- r ? /* @__PURE__ */ e(
307
- M,
308
- {
309
- intent: "ghost",
310
- size: "sm",
311
- startIcon: /* @__PURE__ */ e(fe, { "aria-hidden": "true" }),
312
- onClick: r,
313
- children: n("alia.newConversation")
314
- }
315
- ) : null,
316
- t
317
- ] })
318
- ]
319
- }
320
- );
321
- }
322
- const L = _(
323
- ({
324
- messages: s,
325
- onSend: a,
326
- onRetry: r,
327
- onSuggestion: t,
328
- suggestions: d,
329
- isGenerating: n = !1,
330
- onStopGenerating: u,
331
- usage: l,
332
- onUpgrade: o,
333
- assistantName: m,
334
- assistantAvatar: i,
335
- userAvatar: v,
336
- greeting: b,
337
- subtitle: T,
338
- density: x = "default",
339
- renderMarkdown: E = !0,
340
- onNewConversation: V,
341
- onAttach: Z,
342
- acceptedFileTypes: $,
343
- headerEndSlot: J,
344
- ended: j
345
- }, K) => {
346
- const { t: p } = y(), k = j != null, f = m ?? p("alia.name"), Y = b ?? p("alia.greeting"), G = T ?? p("alia.subtitle"), g = s[s.length - 1], C = (g == null ? void 0 : g.role) === "assistant" && g.streaming === !0, R = C ? s.slice(0, -1) : s, A = q(() => {
347
- const N = p("chat.message.role.user"), S = R.map((h) => {
348
- let B;
349
- return h.role === "assistant" ? B = i != null && i.src ? { name: f, src: i.src } : {
350
- slot: /* @__PURE__ */ e(
351
- w,
352
- {
353
- size: "sm",
354
- label: f,
355
- appearance: "spinner"
356
- }
357
- )
358
- } : h.role === "user" && (B = ze(v, N)), {
359
- id: h.id,
360
- node: /* @__PURE__ */ e(
361
- le,
362
- {
363
- role: h.role,
364
- content: h.content,
365
- avatar: B,
366
- timestamp: h.timestamp,
367
- status: h.status,
368
- renderMarkdown: E,
369
- onRetry: r ? () => r(h.id) : void 0
370
- }
371
- )
372
- };
373
- });
374
- return C && g && S.push({
375
- id: g.id,
376
- node: /* @__PURE__ */ e(
377
- je,
378
- {
379
- message: g,
380
- assistantName: f,
381
- avatarSrc: i == null ? void 0 : i.src,
382
- renderMarkdown: E
383
- }
384
- )
385
- }), n && !C && S.push({
386
- id: "__alia-typing__",
387
- node: /* @__PURE__ */ c("div", { className: "ds:flex ds:w-full ds:items-start ds:gap-[var(--spacing-sm)]", children: [
388
- i != null && i.src ? /* @__PURE__ */ e(
389
- I,
390
- {
391
- name: f,
392
- src: i.src,
393
- size: "sm"
394
- }
395
- ) : /* @__PURE__ */ e(
396
- w,
397
- {
398
- size: "sm",
399
- label: f,
400
- appearance: "spinner"
401
- }
402
- ),
403
- /* @__PURE__ */ e(
404
- "div",
405
- {
406
- className: [
407
- "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
408
- "ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]",
409
- "ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]",
410
- "ds:bg-muted/40"
411
- ].join(" "),
412
- children: /* @__PURE__ */ e(oe, { label: p("chat.typing"), density: x })
413
- }
414
- )
415
- ] })
416
- }), j && S.push({
417
- id: "__alia-ended__",
418
- node: /* @__PURE__ */ e(ye, { note: j.note })
419
- }), S;
420
- }, [
421
- R,
422
- C,
423
- g,
424
- n,
425
- f,
426
- i == null ? void 0 : i.src,
427
- v,
428
- E,
429
- r,
430
- x,
431
- j,
432
- p
433
- ]), ee = l ? Math.min(
434
- 100,
435
- Math.max(0, l.current / Math.max(1, l.limit) * 100)
436
- ) : 0, z = l ? l.current >= l.limit : !1, H = l ? l.label ?? p("alia.usageLabel", {
437
- current: l.current,
438
- limit: l.limit
439
- }) : null, U = s.length === 0 && !n && !k, X = /* @__PURE__ */ c("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
440
- l ? /* @__PURE__ */ c("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
441
- /* @__PURE__ */ c("div", { className: "ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
442
- /* @__PURE__ */ e(
443
- "span",
444
- {
445
- className: [
446
- "type-meta",
447
- z ? "ds:text-[color:var(--destructive)]" : "ds:text-[color:var(--muted-foreground)]"
448
- ].join(" "),
449
- "data-testid": "alia-usage-label",
450
- children: z ? p("alia.usageLimitReached") : H
451
- }
452
- ),
453
- z && o ? /* @__PURE__ */ e(M, { intent: "primary", size: "sm", onClick: o, children: p("alia.upgrade") }) : null
454
- ] }),
455
- /* @__PURE__ */ e(
456
- me,
457
- {
458
- value: ee,
459
- max: 100,
460
- size: "sm",
461
- ariaLabel: H ?? p("alia.usageLabel", {
462
- current: l.current,
463
- limit: l.limit
464
- }),
465
- className: z ? "ds:[&_[role=progressbar]>*]:bg-[color:var(--destructive)]" : void 0,
466
- "data-testid": "alia-usage-progress"
467
- }
468
- )
469
- ] }) : null,
470
- !U && d && d.length > 0 && !n && !k ? /* @__PURE__ */ e(
471
- O,
472
- {
473
- label: p("alia.exampleQuestions"),
474
- "data-testid": "alia-followup-suggestions",
475
- children: d.map((N) => /* @__PURE__ */ e(
476
- Q,
477
- {
478
- intent: "followup",
479
- startIcon: N.icon,
480
- keepOnSelect: !0,
481
- onSelect: () => t == null ? void 0 : t(N),
482
- children: N.label
483
- },
484
- N.id
485
- ))
486
- }
487
- ) : null,
488
- /* @__PURE__ */ c("div", { className: "ds:flex ds:items-end ds:gap-[var(--spacing-sm)]", children: [
489
- /* @__PURE__ */ e("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ e(
490
- te,
491
- {
492
- submitOnEnter: !0,
493
- onSubmit: a,
494
- onAttach: Z,
495
- accept: $,
496
- disabled: z || k,
497
- "data-testid": "alia-composer"
498
- }
499
- ) }),
500
- n && u && !k ? /* @__PURE__ */ e(
501
- M,
502
- {
503
- intent: "outline",
504
- size: "sm",
505
- startIcon: /* @__PURE__ */ e(pe, { "aria-hidden": "true" }),
506
- onClick: u,
507
- "aria-label": p("alia.stopGenerating"),
508
- children: p("alia.stopGenerating")
509
- }
510
- ) : null
511
- ] })
512
- ] });
513
- return /* @__PURE__ */ c(
514
- "div",
515
- {
516
- ref: K,
517
- className: [
518
- "ds:flex ds:min-h-0 ds:flex-1 ds:flex-col",
519
- "ds:bg-[var(--background)] ds:text-[color:var(--foreground)]"
520
- ].join(" "),
521
- "data-testid": "alia-surface",
522
- children: [
523
- /* @__PURE__ */ e(
524
- ke,
525
- {
526
- assistantName: f,
527
- avatarSrc: i == null ? void 0 : i.src,
528
- onNewConversation: V,
529
- headerEndSlot: J,
530
- density: x
531
- }
532
- ),
533
- U ? /* @__PURE__ */ c(se, { children: [
534
- /* @__PURE__ */ e(
535
- we,
536
- {
537
- assistantName: f,
538
- avatarSrc: i == null ? void 0 : i.src,
539
- greeting: Y,
540
- subtitle: G,
541
- suggestions: d,
542
- onSuggestion: t
543
- }
544
- ),
545
- /* @__PURE__ */ e(
546
- "div",
547
- {
548
- className: [
549
- // No top divider — the ChatInput's own soft shadow + the
550
- // border-radius give it enough visual containment, and a
551
- // surface-level separator here read as a sharp line at
552
- // 1px-equivalent shadow blur. Keep the bg explicit so
553
- // the chat-input chrome paints over the messages-area
554
- // background instead of mixing with it.
555
- "ds:shrink-0 ds:bg-[var(--background)]",
556
- "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
557
- "ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]"
558
- ].join(" "),
559
- children: X
560
- }
561
- )
562
- ] }) : /* @__PURE__ */ e(
563
- re,
564
- {
565
- messages: A,
566
- density: x,
567
- composer: X,
568
- className: "ds:flex-1 ds:min-h-0"
569
- }
570
- )
571
- ]
572
- }
573
- );
574
- }
575
- );
576
- L.displayName = "AliaChatSurface";
577
- const Ce = _(
578
- ({ headerSlot: s, ...a }, r) => /* @__PURE__ */ c(
579
- "div",
580
- {
581
- ref: r,
582
- className: [
583
- "ds:flex ds:min-h-0 ds:flex-1 ds:flex-col",
584
- "ds:bg-[var(--background)] ds:text-[color:var(--foreground)]",
585
- "ds:h-full ds:w-full"
586
- ].join(" "),
587
- "data-testid": "alia-embedded",
588
- children: [
589
- s ? /* @__PURE__ */ e(
590
- "div",
591
- {
592
- className: [
593
- "ds:shrink-0",
594
- "ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)]",
595
- "ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]"
596
- ].join(" "),
597
- children: s
598
- }
599
- ) : null,
600
- /* @__PURE__ */ e("div", { className: "ds:flex ds:min-h-0 ds:flex-1 ds:flex-col ds:items-stretch", children: /* @__PURE__ */ e(
601
- "div",
602
- {
603
- className: [
604
- "ds:flex ds:min-h-0 ds:w-full ds:flex-1 ds:flex-col",
605
- "ds:ms-auto ds:me-auto",
606
- "ds:[max-inline-size:48rem]",
607
- "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]"
608
- ].join(" "),
609
- children: /* @__PURE__ */ e(L, { ...a })
610
- }
611
- ) })
612
- ]
613
- }
614
- )
615
- );
616
- Ce.displayName = "AliaEmbedded";
617
- function Se(s) {
618
- return s > 99 ? "99+" : String(s);
619
- }
620
- const _e = _(
621
- ({
622
- open: s,
623
- onOpenChange: a,
624
- position: r = "bottom-end",
625
- unseenCount: t,
626
- assistantName: d,
627
- assistantAvatar: n,
628
- ...u
629
- }, l) => {
630
- const { t: o } = y(), m = d || o("alia.name"), i = typeof t == "number" && t > 0, v = i ? o("alia.unseenCount", { count: t }) : o("alia.open"), b = /* @__PURE__ */ e(ae.Close, { asChild: !0, children: /* @__PURE__ */ e(
631
- P,
632
- {
633
- icon: /* @__PURE__ */ e(ie, { "aria-hidden": "true" }),
634
- intent: "ghost",
635
- size: "sm",
636
- "aria-label": o("alia.close"),
637
- "data-testid": "alia-popout-close"
638
- }
639
- ) });
640
- return /* @__PURE__ */ c(D.Root, { open: s, onOpenChange: a, children: [
641
- /* @__PURE__ */ e(
642
- "div",
643
- {
644
- ref: l,
645
- className: [
646
- "ds:fixed ds:z-[var(--z-fixed)]",
647
- "ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))]",
648
- r === "bottom-end" ? "ds:end-[var(--spacing-lg)]" : "ds:start-[var(--spacing-lg)]"
649
- ].join(" "),
650
- "data-testid": "alia-popout-fab-wrapper",
651
- children: /* @__PURE__ */ c("div", { className: "ds:relative", children: [
652
- /* @__PURE__ */ e(
653
- de,
654
- {
655
- icon: /* @__PURE__ */ e(F, { "aria-hidden": "true" }),
656
- "aria-label": v,
657
- variant: "primary",
658
- size: "md",
659
- position: "static",
660
- onClick: () => a(!0),
661
- "data-testid": "alia-popout-fab"
662
- }
663
- ),
664
- i ? /* @__PURE__ */ e(
665
- "span",
666
- {
667
- "aria-hidden": "true",
668
- "data-testid": "alia-popout-badge",
669
- className: [
670
- "ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]",
671
- "ds:inline-flex ds:items-center ds:justify-center",
672
- "ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))]",
673
- "ds:h-[calc(var(--spacing-md)+var(--spacing-xs))]",
674
- "ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]",
675
- "ds:rounded-[var(--radius-full)]",
676
- "ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]",
677
- "ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none",
678
- "ds:pointer-events-none ds:select-none",
679
- "ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]"
680
- ].join(" "),
681
- children: Se(t)
682
- }
683
- ) : null
684
- ] })
685
- }
686
- ),
687
- /* @__PURE__ */ c(
688
- D.Content,
689
- {
690
- side: "end",
691
- size: "md",
692
- "aria-label": o("alia.panelLabel"),
693
- className: "ds:flex ds:min-h-0 ds:flex-col ds:p-0",
694
- "data-testid": "alia-popout-panel",
695
- children: [
696
- /* @__PURE__ */ e(D.Title, { className: "ds:sr-only", children: m }),
697
- /* @__PURE__ */ e(
698
- L,
699
- {
700
- ...u,
701
- assistantName: m,
702
- assistantAvatar: n,
703
- density: "compact",
704
- headerEndSlot: b
705
- }
706
- )
707
- ]
708
- }
709
- )
710
- ] });
711
- }
712
- );
713
- _e.displayName = "AliaPopout";
714
- function Ie(s) {
715
- return s > 99 ? "99+" : String(s);
716
- }
717
- const Le = "ds:[inline-size:22rem]", Te = "ds:[inline-size:3rem]", Ee = _(
718
- ({
719
- open: s,
720
- onOpenChange: a,
721
- side: r = "end",
722
- unseenCount: t,
723
- footerSlot: d,
724
- assistantName: n,
725
- assistantAvatar: u,
726
- ...l
727
- }, o) => {
728
- const { t: m } = y(), i = n || m("alia.name"), v = typeof t == "number" && t > 0, b = r === "end" ? "ds:shadow-[var(--shadow-chrome-start)]" : "ds:shadow-[var(--shadow-chrome-end)]", T = v ? m("alia.unseenCount", { count: t }) : m("alia.open");
729
- if (!s)
730
- return /* @__PURE__ */ e(
731
- "aside",
732
- {
733
- ref: o,
734
- "aria-label": m("alia.panelLabel"),
735
- className: [
736
- "ds:flex ds:shrink-0 ds:flex-col ds:items-center",
737
- "ds:bg-[var(--background)]",
738
- b,
739
- "ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]",
740
- Te
741
- ].join(" "),
742
- "data-testid": "alia-sidebar-rail",
743
- "data-alia-sidebar-state": "collapsed",
744
- children: /* @__PURE__ */ c("div", { className: "ds:relative ds:[&_svg]:text-[color:var(--accent)]", children: [
745
- /* @__PURE__ */ e(
746
- P,
747
- {
748
- icon: /* @__PURE__ */ e(F, { "aria-hidden": "true" }),
749
- "aria-label": T,
750
- "aria-expanded": "false",
751
- intent: "ghost",
752
- size: "sm",
753
- onClick: () => a(!0),
754
- "data-testid": "alia-sidebar-rail-trigger"
755
- }
756
- ),
757
- v ? /* @__PURE__ */ e(
758
- "span",
759
- {
760
- "aria-hidden": "true",
761
- "data-testid": "alia-sidebar-badge",
762
- className: [
763
- "ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]",
764
- "ds:inline-flex ds:items-center ds:justify-center",
765
- "ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))]",
766
- "ds:h-[calc(var(--spacing-md)+var(--spacing-xs))]",
767
- "ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]",
768
- "ds:rounded-[var(--radius-full)]",
769
- "ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]",
770
- "ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none",
771
- "ds:pointer-events-none ds:select-none",
772
- "ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]"
773
- ].join(" "),
774
- children: Ie(t)
775
- }
776
- ) : null
777
- ] })
778
- }
779
- );
780
- const x = /* @__PURE__ */ e(
781
- P,
782
- {
783
- icon: r === "end" ? /* @__PURE__ */ e(he, {}) : /* @__PURE__ */ e(ve, {}),
784
- intent: "ghost",
785
- size: "sm",
786
- "aria-label": m("alia.close"),
787
- "aria-expanded": "true",
788
- onClick: () => a(!1),
789
- "data-testid": "alia-sidebar-collapse"
790
- }
791
- );
792
- return /* @__PURE__ */ c(
793
- "aside",
794
- {
795
- ref: o,
796
- "aria-label": m("alia.panelLabel"),
797
- className: [
798
- "ds:flex ds:shrink-0 ds:flex-col ds:min-h-0",
799
- "ds:bg-[var(--background)]",
800
- b,
801
- Le,
802
- "ds:h-full"
803
- ].join(" "),
804
- "data-testid": "alia-sidebar",
805
- "data-alia-sidebar-state": "expanded",
806
- children: [
807
- /* @__PURE__ */ e("div", { className: "ds:flex ds:min-h-0 ds:flex-1 ds:flex-col", children: /* @__PURE__ */ e(
808
- L,
809
- {
810
- ...l,
811
- assistantName: i,
812
- assistantAvatar: u,
813
- density: "compact",
814
- headerEndSlot: x
815
- }
816
- ) }),
817
- d ? /* @__PURE__ */ e(
818
- "div",
819
- {
820
- "data-testid": "alia-sidebar-footer-slot",
821
- className: "ds:shrink-0 ds:shadow-[var(--shadow-chrome-up)]",
822
- children: d
823
- }
824
- ) : null
825
- ]
826
- }
827
- );
828
- }
829
- );
830
- Ee.displayName = "AliaSidebar";
831
- export {
832
- L as A,
833
- Ce as a,
834
- _e as b,
835
- Ee as c
836
- };
837
- //# sourceMappingURL=alia-sidebar-Be8FhKYd.js.map