@devalok/shilp-sutra 0.31.0 → 0.32.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 (233) hide show
  1. package/dist/_chunks/badge-group.js +123 -172
  2. package/dist/_chunks/document-preview.js +92 -0
  3. package/dist/_chunks/file-preview.js +511 -0
  4. package/dist/_chunks/image-preview.js +90 -0
  5. package/dist/_chunks/primitives.js +109 -109
  6. package/dist/_chunks/stat-row.js +144 -124
  7. package/dist/_chunks/use-calendar.js +558 -490
  8. package/dist/ai/block-renderer.d.ts +2 -1
  9. package/dist/ai/block-renderer.d.ts.map +1 -1
  10. package/dist/ai/block-renderer.js +30 -29
  11. package/dist/ai/blocks/block-table.d.ts.map +1 -1
  12. package/dist/ai/blocks/confirm.d.ts.map +1 -1
  13. package/dist/ai/blocks/divider.d.ts.map +1 -1
  14. package/dist/ai/blocks/error.d.ts.map +1 -1
  15. package/dist/ai/blocks/info.d.ts.map +1 -1
  16. package/dist/ai/blocks/loading.d.ts.map +1 -1
  17. package/dist/ai/blocks/stat-row.d.ts.map +1 -1
  18. package/dist/ai/blocks/success.d.ts.map +1 -1
  19. package/dist/ai/blocks/text.d.ts.map +1 -1
  20. package/dist/ai/command-bar.d.ts +18 -0
  21. package/dist/ai/command-bar.d.ts.map +1 -1
  22. package/dist/ai/command-bar.js +126 -125
  23. package/dist/ai/conversation.d.ts +13 -1
  24. package/dist/ai/conversation.d.ts.map +1 -1
  25. package/dist/ai/conversation.js +78 -78
  26. package/dist/ai/types.d.ts +0 -1
  27. package/dist/ai/types.d.ts.map +1 -1
  28. package/dist/ai/types.js +0 -1
  29. package/dist/composed/bulk-action-bar.d.ts +6 -4
  30. package/dist/composed/bulk-action-bar.d.ts.map +1 -1
  31. package/dist/composed/bulk-action-bar.js +102 -58
  32. package/dist/composed/command-palette.d.ts +9 -0
  33. package/dist/composed/command-palette.d.ts.map +1 -1
  34. package/dist/composed/command-palette.js +68 -68
  35. package/dist/composed/confirm-dialog.d.ts +1 -1
  36. package/dist/composed/confirm-dialog.d.ts.map +1 -1
  37. package/dist/composed/confirm-dialog.js +10 -10
  38. package/dist/composed/date-picker/date-picker.d.ts +11 -1
  39. package/dist/composed/date-picker/date-picker.d.ts.map +1 -1
  40. package/dist/composed/date-picker/month-picker.d.ts.map +1 -1
  41. package/dist/composed/date-picker/year-picker.d.ts.map +1 -1
  42. package/dist/composed/deadline-indicator.d.ts +1 -1
  43. package/dist/composed/deadline-indicator.d.ts.map +1 -1
  44. package/dist/composed/deadline-indicator.js +39 -36
  45. package/dist/composed/emoji-picker.d.ts +6 -0
  46. package/dist/composed/emoji-picker.d.ts.map +1 -1
  47. package/dist/composed/emoji-picker.js +22 -20
  48. package/dist/composed/error-boundary.d.ts +21 -1
  49. package/dist/composed/error-boundary.d.ts.map +1 -1
  50. package/dist/composed/error-boundary.js +47 -32
  51. package/dist/composed/file-preview/audio-preview.d.ts +7 -0
  52. package/dist/composed/file-preview/audio-preview.d.ts.map +1 -0
  53. package/dist/composed/file-preview/document-preview.d.ts +7 -0
  54. package/dist/composed/file-preview/document-preview.d.ts.map +1 -0
  55. package/dist/composed/file-preview/embed-preview.d.ts +7 -0
  56. package/dist/composed/file-preview/embed-preview.d.ts.map +1 -0
  57. package/dist/composed/file-preview/image-preview.d.ts +7 -0
  58. package/dist/composed/file-preview/image-preview.d.ts.map +1 -0
  59. package/dist/composed/file-preview/shared.d.ts +20 -0
  60. package/dist/composed/file-preview/shared.d.ts.map +1 -0
  61. package/dist/composed/file-preview/video-preview.d.ts +6 -0
  62. package/dist/composed/file-preview/video-preview.d.ts.map +1 -0
  63. package/dist/composed/file-preview.d.ts.map +1 -1
  64. package/dist/composed/file-preview.js +10 -662
  65. package/dist/composed/filter-bar.d.ts +10 -2
  66. package/dist/composed/filter-bar.d.ts.map +1 -1
  67. package/dist/composed/filter-bar.js +42 -43
  68. package/dist/composed/form-section.d.ts +1 -1
  69. package/dist/composed/form-section.d.ts.map +1 -1
  70. package/dist/composed/form-section.js +22 -21
  71. package/dist/composed/index.d.ts +2 -2
  72. package/dist/composed/index.d.ts.map +1 -1
  73. package/dist/composed/index.js +58 -57
  74. package/dist/composed/inline-edit.d.ts +1 -1
  75. package/dist/composed/inline-edit.d.ts.map +1 -1
  76. package/dist/composed/inline-edit.js +33 -32
  77. package/dist/composed/markdown-viewer.d.ts +1 -1
  78. package/dist/composed/markdown-viewer.d.ts.map +1 -1
  79. package/dist/composed/markdown-viewer.js +60 -59
  80. package/dist/composed/master-detail.d.ts +11 -7
  81. package/dist/composed/master-detail.d.ts.map +1 -1
  82. package/dist/composed/master-detail.js +123 -84
  83. package/dist/composed/responsive-overlay.d.ts +8 -0
  84. package/dist/composed/responsive-overlay.d.ts.map +1 -1
  85. package/dist/composed/rich-text-editor.d.ts +11 -3
  86. package/dist/composed/rich-text-editor.d.ts.map +1 -1
  87. package/dist/composed/rich-text-editor.js +21 -20
  88. package/dist/composed/schedule-view.d.ts +9 -1
  89. package/dist/composed/schedule-view.d.ts.map +1 -1
  90. package/dist/hooks/index.d.ts +2 -0
  91. package/dist/hooks/index.d.ts.map +1 -1
  92. package/dist/hooks/index.js +8 -4
  93. package/dist/hooks/use-touch-device.d.ts +12 -0
  94. package/dist/hooks/use-touch-device.d.ts.map +1 -0
  95. package/dist/hooks/use-touch-device.js +13 -0
  96. package/dist/hooks/use-viewport-height.d.ts +11 -0
  97. package/dist/hooks/use-viewport-height.d.ts.map +1 -0
  98. package/dist/hooks/use-viewport-height.js +16 -0
  99. package/dist/shell/bottom-navbar.d.ts.map +1 -1
  100. package/dist/shell/bottom-navbar.js +72 -63
  101. package/dist/shell/command-registry.d.ts.map +1 -1
  102. package/dist/shell/notification-center.d.ts.map +1 -1
  103. package/dist/shell/notification-center.js +77 -77
  104. package/dist/shell/top-bar.d.ts +2 -2
  105. package/dist/shell/top-bar.d.ts.map +1 -1
  106. package/dist/shell/top-bar.js +61 -60
  107. package/dist/tailwind/index.cjs +51 -7
  108. package/dist/tailwind/preset.d.ts.map +1 -1
  109. package/dist/tailwind/preset.js +51 -7
  110. package/dist/tokens/primitives.css +3 -1
  111. package/dist/tokens/semantic.css +16 -13
  112. package/dist/ui/autocomplete.d.ts.map +1 -1
  113. package/dist/ui/autocomplete.js +38 -39
  114. package/dist/ui/badge.d.ts +104 -2
  115. package/dist/ui/badge.d.ts.map +1 -1
  116. package/dist/ui/banner.d.ts.map +1 -1
  117. package/dist/ui/banner.js +8 -7
  118. package/dist/ui/button.d.ts +2 -2
  119. package/dist/ui/button.d.ts.map +1 -1
  120. package/dist/ui/button.js +54 -74
  121. package/dist/ui/card.js +24 -24
  122. package/dist/ui/charts/area-chart.d.ts +2 -0
  123. package/dist/ui/charts/area-chart.d.ts.map +1 -1
  124. package/dist/ui/charts/bar-chart.d.ts +2 -0
  125. package/dist/ui/charts/bar-chart.d.ts.map +1 -1
  126. package/dist/ui/charts/chart-container.d.ts +2 -0
  127. package/dist/ui/charts/chart-container.d.ts.map +1 -1
  128. package/dist/ui/charts/index.js +583 -577
  129. package/dist/ui/charts/line-chart.d.ts +2 -0
  130. package/dist/ui/charts/line-chart.d.ts.map +1 -1
  131. package/dist/ui/charts/pie-chart.d.ts +2 -0
  132. package/dist/ui/charts/pie-chart.d.ts.map +1 -1
  133. package/dist/ui/charts/radar-chart.d.ts +2 -0
  134. package/dist/ui/charts/radar-chart.d.ts.map +1 -1
  135. package/dist/ui/checkbox.d.ts +2 -0
  136. package/dist/ui/checkbox.d.ts.map +1 -1
  137. package/dist/ui/checkbox.js +36 -27
  138. package/dist/ui/color-input.js +5 -5
  139. package/dist/ui/combobox.d.ts +6 -1
  140. package/dist/ui/combobox.d.ts.map +1 -1
  141. package/dist/ui/combobox.js +1 -1
  142. package/dist/ui/context-menu.js +1 -1
  143. package/dist/ui/data-table-body.d.ts +12 -0
  144. package/dist/ui/data-table-body.d.ts.map +1 -0
  145. package/dist/ui/data-table-body.js +219 -0
  146. package/dist/ui/data-table-bulk-actions.d.ts +19 -0
  147. package/dist/ui/data-table-bulk-actions.d.ts.map +1 -0
  148. package/dist/ui/data-table-bulk-actions.js +61 -0
  149. package/dist/ui/data-table-card.d.ts +9 -0
  150. package/dist/ui/data-table-card.d.ts.map +1 -0
  151. package/dist/ui/data-table-card.js +73 -0
  152. package/dist/ui/data-table-context.d.ts +62 -0
  153. package/dist/ui/data-table-context.d.ts.map +1 -0
  154. package/dist/ui/data-table-context.js +48 -0
  155. package/dist/ui/data-table-header.d.ts +10 -0
  156. package/dist/ui/data-table-header.d.ts.map +1 -0
  157. package/dist/ui/data-table-header.js +141 -0
  158. package/dist/ui/data-table-pagination.d.ts +13 -0
  159. package/dist/ui/data-table-pagination.d.ts.map +1 -0
  160. package/dist/ui/data-table-pagination.js +84 -0
  161. package/dist/ui/data-table.d.ts +11 -9
  162. package/dist/ui/data-table.d.ts.map +1 -1
  163. package/dist/ui/data-table.js +258 -573
  164. package/dist/ui/dialog.d.ts +6 -2
  165. package/dist/ui/dialog.d.ts.map +1 -1
  166. package/dist/ui/dialog.js +84 -82
  167. package/dist/ui/dropdown-menu.js +1 -1
  168. package/dist/ui/hover-card.d.ts +7 -0
  169. package/dist/ui/hover-card.d.ts.map +1 -1
  170. package/dist/ui/hover-card.js +3 -3
  171. package/dist/ui/icon-group.d.ts +2 -4
  172. package/dist/ui/icon-group.d.ts.map +1 -1
  173. package/dist/ui/icon-group.js +22 -23
  174. package/dist/ui/index.d.ts +1 -2
  175. package/dist/ui/index.d.ts.map +1 -1
  176. package/dist/ui/index.js +94 -99
  177. package/dist/ui/label.js +1 -1
  178. package/dist/ui/lib/bottom-sheet.d.ts +16 -0
  179. package/dist/ui/lib/bottom-sheet.d.ts.map +1 -0
  180. package/dist/ui/menubar.d.ts.map +1 -1
  181. package/dist/ui/menubar.js +64 -73
  182. package/dist/ui/navigation-menu.d.ts.map +1 -1
  183. package/dist/ui/navigation-menu.js +40 -44
  184. package/dist/ui/number-input.d.ts.map +1 -1
  185. package/dist/ui/number-input.js +19 -17
  186. package/dist/ui/popover.d.ts.map +1 -1
  187. package/dist/ui/popover.js +107 -32
  188. package/dist/ui/progress-ring.d.ts.map +1 -1
  189. package/dist/ui/progress-ring.js +80 -80
  190. package/dist/ui/progress.js +4 -4
  191. package/dist/ui/radio.d.ts +5 -2
  192. package/dist/ui/radio.d.ts.map +1 -1
  193. package/dist/ui/radio.js +29 -20
  194. package/dist/ui/search-input.d.ts.map +1 -1
  195. package/dist/ui/search-input.js +13 -12
  196. package/dist/ui/segmented-control.d.ts +6 -108
  197. package/dist/ui/segmented-control.d.ts.map +1 -1
  198. package/dist/ui/segmented-control.js +86 -272
  199. package/dist/ui/select.js +5 -5
  200. package/dist/ui/separator.js +5 -5
  201. package/dist/ui/sheet.d.ts +2 -0
  202. package/dist/ui/sheet.d.ts.map +1 -1
  203. package/dist/ui/sheet.js +102 -84
  204. package/dist/ui/sidebar.d.ts.map +1 -1
  205. package/dist/ui/sidebar.js +200 -175
  206. package/dist/ui/slider.js +14 -14
  207. package/dist/ui/status-dot.js +8 -8
  208. package/dist/ui/stepper.d.ts.map +1 -1
  209. package/dist/ui/stepper.js +33 -31
  210. package/dist/ui/switch.js +3 -3
  211. package/dist/ui/tabs.js +6 -6
  212. package/dist/ui/toast-types.d.ts +0 -1
  213. package/dist/ui/toast-types.d.ts.map +1 -1
  214. package/dist/ui/toast-types.js +0 -1
  215. package/dist/ui/toast.d.ts.map +1 -1
  216. package/dist/ui/toast.js +156 -150
  217. package/dist/ui/toggle-group.js +1 -1
  218. package/dist/ui/toggle.js +1 -1
  219. package/dist/ui/tooltip.js +3 -3
  220. package/docs/components/ui/data-table-body.md +13 -0
  221. package/docs/components/ui/data-table-bulk-actions.md +13 -0
  222. package/docs/components/ui/data-table-card.md +13 -0
  223. package/docs/components/ui/data-table-context.md +13 -0
  224. package/docs/components/ui/data-table-header.md +13 -0
  225. package/docs/components/ui/data-table-pagination.md +13 -0
  226. package/llms-full.txt +79 -48
  227. package/llms.txt +32 -0
  228. package/package.json +1 -6
  229. package/dist/ui/chip.d.ts +0 -19
  230. package/dist/ui/chip.d.ts.map +0 -1
  231. package/dist/ui/chip.js +0 -14
  232. package/dist/ui/lib/use-ripple.d.ts +0 -14
  233. package/dist/ui/lib/use-ripple.d.ts.map +0 -1
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import { jsxs as r, jsx as e, Fragment as De } from "react/jsx-runtime";
3
3
  import * as s from "react";
4
- import { Dialog as _e, DialogPortal as Ae, DialogOverlay as Ee, DialogContentRaw as Me, DialogTitle as Re, DialogDescription as Se } from "../ui/dialog.js";
5
- import { IconArrowUp as ze, IconArrowDown as Le, IconCornerDownLeft as le, IconSearch as Be, IconLoader2 as je, IconX as Fe } from "@tabler/icons-react";
4
+ import { Dialog as Ae, DialogPortal as Ee, DialogOverlay as Me, DialogContentRaw as Re, DialogTitle as Se, DialogDescription as ze } from "../ui/dialog.js";
5
+ import { IconArrowUp as Le, IconArrowDown as Be, IconCornerDownLeft as le, IconSearch as je, IconLoader2 as Fe, IconX as $e } from "@tabler/icons-react";
6
6
  import { Icon as v } from "../ui/icon.js";
7
7
  import { cn as u } from "../ui/lib/utils.js";
8
- import { springs as ue, tweens as Y } from "../ui/lib/motion.js";
9
- import { VisuallyHidden as $e } from "../ui/visually-hidden.js";
8
+ import { springs as ue, tweens as Z } from "../ui/lib/motion.js";
9
+ import { VisuallyHidden as Pe } from "../ui/visually-hidden.js";
10
10
  import { u as fe } from "../_chunks/motion-provider.js";
11
- import { g as Pe, m as Ke, a as Oe } from "../_chunks/keybinding.js";
12
- import { m as x, A as Z } from "../_chunks/framer.js";
13
- function Ve({
11
+ import { g as Ke, m as Oe, a as Ve } from "../_chunks/keybinding.js";
12
+ import { m as x, A as _ } from "../_chunks/framer.js";
13
+ function qe({
14
14
  active: n,
15
15
  rounded: p,
16
16
  reducedMotion: h,
@@ -61,73 +61,73 @@ function Ve({
61
61
  }
62
62
  ) : /* @__PURE__ */ e(De, { children: l });
63
63
  }
64
- function qe(n) {
64
+ function Qe(n) {
65
65
  return n.filterValue ? n.filterValue : typeof n.label == "string" ? n.label : "";
66
66
  }
67
- function Qe(n) {
67
+ function Te(n) {
68
68
  return typeof n.description == "string" ? n.description : "";
69
69
  }
70
- function Te({
70
+ function Ge({
71
71
  placeholders: n,
72
72
  interval: p,
73
73
  paused: h
74
74
  }) {
75
- const [l, z] = s.useState(0), { reducedMotion: K } = fe();
75
+ const [l, L] = s.useState(0), { reducedMotion: O } = fe();
76
76
  return s.useEffect(() => {
77
77
  if (h || n.length <= 1) return;
78
- const O = setInterval(() => {
79
- z((d) => (d + 1) % n.length);
78
+ const V = setInterval(() => {
79
+ L((d) => (d + 1) % n.length);
80
80
  }, p);
81
- return () => clearInterval(O);
82
- }, [h, n.length, p]), K ? /* @__PURE__ */ e("span", { className: "pointer-events-none absolute text-surface-fg-subtle", children: n[l] }) : /* @__PURE__ */ e(Z, { mode: "wait", children: /* @__PURE__ */ e(
81
+ return () => clearInterval(V);
82
+ }, [h, n.length, p]), O ? /* @__PURE__ */ e("span", { className: "pointer-events-none absolute text-surface-fg-subtle", children: n[l] }) : /* @__PURE__ */ e(_, { mode: "wait", children: /* @__PURE__ */ e(
83
83
  x.span,
84
84
  {
85
85
  initial: { opacity: 0, y: -4 },
86
86
  animate: { opacity: 1, y: 0 },
87
87
  exit: { opacity: 0, y: 4 },
88
- transition: Y.fade,
88
+ transition: Z.fade,
89
89
  className: "pointer-events-none absolute text-surface-fg-subtle",
90
90
  children: n[l]
91
91
  },
92
92
  n[l]
93
93
  ) });
94
94
  }
95
- const Ge = s.forwardRef(
95
+ const Ue = s.forwardRef(
96
96
  function({
97
97
  onSubmit: p,
98
98
  state: h = "idle",
99
99
  groups: l = [],
100
- onSearch: z,
101
- emptyMessage: K = "No results found.",
102
- emptyState: O,
100
+ onSearch: L,
101
+ emptyMessage: O = "No results found.",
102
+ emptyState: V,
103
103
  variant: d = "hero",
104
- placeholder: L = "Ask anything...",
104
+ placeholder: B = "Ask anything...",
105
105
  placeholderInterval: me = 5e3,
106
106
  greeting: ee,
107
- hints: V,
107
+ hints: q,
108
108
  agentName: te,
109
- agentIcon: Ue,
109
+ agentIcon: He,
110
110
  open: se,
111
111
  defaultOpen: pe,
112
112
  onOpenChange: ae,
113
- keybinding: E = "mod+j",
114
- disabled: B = !1,
115
- maxHeight: q = "320px",
113
+ keybinding: M = "mod+j",
114
+ disabled: j = !1,
115
+ maxHeight: Q = "320px",
116
116
  children: N,
117
- className: Q,
118
- ...T
119
- }, G) {
120
- const U = se !== void 0, [be, ge] = s.useState(pe ?? !1), M = U ? se : be, re = s.useRef(M);
121
- re.current = M;
117
+ className: T,
118
+ ...G
119
+ }, U) {
120
+ const H = se !== void 0, [be, ge] = s.useState(pe ?? !1), R = H ? se : be, re = s.useRef(R);
121
+ re.current = R;
122
122
  const w = s.useCallback(
123
123
  (t) => {
124
124
  const a = typeof t == "function" ? t(re.current) : t;
125
- U || ge(a), ae?.(a);
125
+ H || ge(a), ae?.(a);
126
126
  },
127
- [U, ae]
128
- ), [o, k] = s.useState(""), [f, C] = s.useState(-1), [ne, xe] = s.useState(""), [I, oe] = s.useState(!1), [H, he] = s.useState(!1), R = s.useRef(null), ie = s.useRef(null), J = s.useId(), de = `command-bar-listbox-${J}`, { reducedMotion: b } = fe(), j = { duration: 0 }, ye = s.useMemo(() => Pe(), []), F = s.useMemo(
129
- () => Array.isArray(L) ? L : [L],
130
- [L]
127
+ [H, ae]
128
+ ), [o, k] = s.useState(""), [f, C] = s.useState(-1), [ne, xe] = s.useState(""), [I, oe] = s.useState(!1), [J, he] = s.useState(!1), S = s.useRef(null), ie = s.useRef(null), W = s.useId(), de = `command-bar-listbox-${W}`, { reducedMotion: b } = fe(), F = { duration: 0 }, ye = s.useMemo(() => Ke(), []), $ = s.useMemo(
129
+ () => Array.isArray(B) ? B : [B],
130
+ [B]
131
131
  ), c = l.length > 0, y = s.useMemo(() => {
132
132
  if (!c) return [];
133
133
  if (!o.trim()) return l;
@@ -135,7 +135,7 @@ const Ge = s.forwardRef(
135
135
  return l.map((a) => ({
136
136
  ...a,
137
137
  items: a.items.filter(
138
- (g) => qe(g).toLowerCase().includes(t) || Qe(g).toLowerCase().includes(t)
138
+ (g) => Qe(g).toLowerCase().includes(t) || Te(g).toLowerCase().includes(t)
139
139
  )
140
140
  })).filter((a) => a.items.length > 0);
141
141
  }, [l, o, c]), m = s.useMemo(
@@ -148,33 +148,33 @@ const Ge = s.forwardRef(
148
148
  for (const i of g.items)
149
149
  t.set(i.id, a++);
150
150
  return t;
151
- }, [y]), Ne = typeof q == "number" ? `${q}px` : q;
151
+ }, [y]), Ne = typeof Q == "number" ? `${Q}px` : Q;
152
152
  s.useEffect(() => {
153
- if (d !== "floating" || E === !1) return;
154
- const t = Array.isArray(E) ? E : [E];
153
+ if (d !== "floating" || M === !1) return;
154
+ const t = Array.isArray(M) ? M : [M];
155
155
  function a(g) {
156
156
  for (const i of t)
157
- if (Ke(g, i)) {
158
- g.preventDefault(), w((A) => !A);
157
+ if (Oe(g, i)) {
158
+ g.preventDefault(), w((E) => !E);
159
159
  return;
160
160
  }
161
161
  }
162
162
  return document.addEventListener("keydown", a), () => document.removeEventListener("keydown", a);
163
- }, [d, E, w]), s.useEffect(() => {
164
- d === "floating" && M && (k(""), C(-1), requestAnimationFrame(() => {
165
- R.current?.focus();
163
+ }, [d, M, w]), s.useEffect(() => {
164
+ d === "floating" && R && (k(""), C(-1), requestAnimationFrame(() => {
165
+ S.current?.focus();
166
166
  }));
167
- }, [d, M]), s.useEffect(() => {
167
+ }, [d, R]), s.useEffect(() => {
168
168
  if (f < 0) return;
169
169
  ie.current?.querySelector(
170
170
  `[data-command-index="${f}"]`
171
171
  )?.scrollIntoView({ block: "nearest" });
172
172
  }, [f]);
173
173
  const we = (t) => {
174
- k(t), C(c && t.trim() ? 0 : -1), z?.(t);
174
+ k(t), C(c && t.trim() ? 0 : -1), L?.(t);
175
175
  }, ce = s.useCallback(() => {
176
- !o.trim() || B || (xe(o), p?.(o));
177
- }, [o, B, p]), ke = (t) => {
176
+ !o.trim() || j || (xe(o), p?.(o));
177
+ }, [o, j, p]), ke = (t) => {
178
178
  switch (t.key) {
179
179
  case "ArrowDown": {
180
180
  if (!c || m.length === 0) return;
@@ -194,23 +194,23 @@ const Ge = s.forwardRef(
194
194
  break;
195
195
  }
196
196
  case "Escape": {
197
- t.preventDefault(), h === "responded" ? k("") : d === "floating" ? w(!1) : R.current?.blur();
197
+ t.preventDefault(), h === "responded" ? k("") : d === "floating" ? w(!1) : S.current?.blur();
198
198
  break;
199
199
  }
200
200
  }
201
201
  }, Ce = () => {
202
- k(""), C(-1), R.current?.focus();
202
+ k(""), C(-1), S.current?.focus();
203
203
  };
204
204
  s.useEffect(() => {
205
- if (H) {
205
+ if (J) {
206
206
  const t = setTimeout(() => he(!1), 500);
207
207
  return () => clearTimeout(t);
208
208
  }
209
- }, [H]), b || ue.snappy;
210
- const $ = b ? j : Y.fade, S = b ? { opacity: 1, scale: 1, y: 0 } : void 0, D = d === "inline", _ = h === "processing", Ie = h === "responded", W = () => /* @__PURE__ */ e(
211
- Ve,
209
+ }, [J]), b || ue.snappy;
210
+ const P = b ? F : Z.fade, z = b ? { opacity: 1, scale: 1, y: 0 } : void 0, D = d === "inline", A = h === "processing", Ie = h === "responded", X = () => /* @__PURE__ */ e(
211
+ qe,
212
212
  {
213
- active: _,
213
+ active: A,
214
214
  rounded: D ? "rounded-ds-md" : "rounded-ds-lg",
215
215
  reducedMotion: b,
216
216
  children: /* @__PURE__ */ r(
@@ -219,15 +219,15 @@ const Ge = s.forwardRef(
219
219
  className: u(
220
220
  "flex items-center gap-ds-04 border bg-surface-overlay transition-colors transition-shadow duration-fast-02 ease-productive-standard",
221
221
  D ? "rounded-ds-md px-ds-04" : "rounded-ds-lg px-ds-05",
222
- _ ? "border-transparent" : "border-surface-border-strong",
223
- I && !_ && "border-accent-7 shadow-ring",
224
- H && "animate-shake"
222
+ A ? "border-transparent" : "border-surface-border-strong",
223
+ I && !A && "border-accent-7 shadow-ring",
224
+ J && "animate-shake"
225
225
  ),
226
226
  children: [
227
227
  /* @__PURE__ */ e(
228
228
  v,
229
229
  {
230
- icon: Be,
230
+ icon: je,
231
231
  size: D ? "xs" : "sm",
232
232
  stroke: "light",
233
233
  className: u(
@@ -237,10 +237,10 @@ const Ge = s.forwardRef(
237
237
  }
238
238
  ),
239
239
  /* @__PURE__ */ r("div", { className: "relative flex flex-1 items-center", children: [
240
- !o && !I && F.length > 1 && /* @__PURE__ */ e(
241
- Te,
240
+ !o && !I && $.length > 1 && /* @__PURE__ */ e(
241
+ Ge,
242
242
  {
243
- placeholders: F,
243
+ placeholders: $,
244
244
  interval: me,
245
245
  paused: I || !!o
246
246
  }
@@ -248,27 +248,27 @@ const Ge = s.forwardRef(
248
248
  /* @__PURE__ */ e(
249
249
  "input",
250
250
  {
251
- ref: R,
251
+ ref: S,
252
252
  value: o,
253
253
  onChange: (t) => we(t.target.value),
254
254
  onFocus: () => oe(!0),
255
255
  onBlur: () => oe(!1),
256
256
  onKeyDown: ke,
257
- placeholder: F.length === 1 || I ? F[0] : "",
258
- readOnly: _,
259
- disabled: B,
257
+ placeholder: $.length === 1 || I ? $[0] : "",
258
+ readOnly: A,
259
+ disabled: j,
260
260
  role: "combobox",
261
261
  "aria-expanded": c && m.length > 0,
262
262
  "aria-controls": c ? de : void 0,
263
- "aria-activedescendant": c && f >= 0 && m[f] ? `command-bar-item-${J}-${m[f].id}` : void 0,
263
+ "aria-activedescendant": c && f >= 0 && m[f] ? `command-bar-item-${W}-${m[f].id}` : void 0,
264
264
  "aria-autocomplete": c ? "list" : void 0,
265
265
  "aria-label": te ? `Ask ${te}` : "AI Command Bar",
266
266
  className: u(
267
267
  "flex-1 bg-transparent text-surface-fg outline-none",
268
268
  "placeholder:text-surface-fg-subtle",
269
269
  D ? "h-9 text-ds-sm" : "h-12 text-ds-base",
270
- _ && "cursor-wait",
271
- B && "cursor-not-allowed opacity-50"
270
+ A && "cursor-wait",
271
+ j && "cursor-not-allowed opacity-50"
272
272
  ),
273
273
  autoComplete: "off",
274
274
  autoCorrect: "off",
@@ -276,10 +276,10 @@ const Ge = s.forwardRef(
276
276
  }
277
277
  )
278
278
  ] }),
279
- _ ? /* @__PURE__ */ e("span", { "data-testid": "command-bar-spinner", className: "shrink-0", children: /* @__PURE__ */ e(
279
+ A ? /* @__PURE__ */ e("span", { "data-testid": "command-bar-spinner", className: "shrink-0", children: /* @__PURE__ */ e(
280
280
  v,
281
281
  {
282
- icon: je,
282
+ icon: Fe,
283
283
  size: D ? "xs" : "sm",
284
284
  stroke: "light",
285
285
  animate: "spin",
@@ -292,25 +292,26 @@ const Ge = s.forwardRef(
292
292
  onClick: Ce,
293
293
  className: "shrink-0 rounded-ds-sm p-ds-01 text-surface-fg-subtle transition-colors duration-fast-01 hover:bg-surface-raised-hover hover:text-surface-fg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9",
294
294
  "aria-label": "Clear",
295
+ title: "Clear",
295
296
  children: /* @__PURE__ */ e(
296
297
  v,
297
298
  {
298
- icon: Fe,
299
+ icon: $e,
299
300
  size: D ? "xs" : "sm",
300
301
  stroke: "light"
301
302
  }
302
303
  )
303
304
  }
304
- ) : d === "hero" ? /* @__PURE__ */ e(Z, { children: !I && /* @__PURE__ */ r(
305
+ ) : d === "hero" ? /* @__PURE__ */ e(_, { children: !I && /* @__PURE__ */ r(
305
306
  x.kbd,
306
307
  {
307
- initial: S ?? { opacity: 0 },
308
+ initial: z ?? { opacity: 0 },
308
309
  animate: { opacity: 1 },
309
310
  exit: b ? void 0 : { opacity: 0 },
310
- transition: $,
311
- className: "hidden shrink-0 select-none rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b py-ds-01 text-ds-sm font-medium text-surface-fg-subtle shadow-[inset_0_-1px_0_rgba(0,0,0,0.1)] sm:inline-flex",
311
+ transition: P,
312
+ className: "hidden shrink-0 select-none rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b py-ds-01 text-ds-sm font-medium text-surface-fg-subtle shadow-kbd sm:inline-flex",
312
313
  children: [
313
- Oe(ye),
314
+ Ve(ye),
314
315
  "J"
315
316
  ]
316
317
  }
@@ -319,7 +320,7 @@ const Ge = s.forwardRef(
319
320
  }
320
321
  )
321
322
  }
322
- ), X = () => !c || !(m.length > 0 || o.trim() && y.length === 0) && !o.trim() ? null : /* @__PURE__ */ r(
323
+ ), Y = () => !c || !(m.length > 0 || o.trim() && y.length === 0) && !o.trim() ? null : /* @__PURE__ */ r(
323
324
  "div",
324
325
  {
325
326
  ref: ie,
@@ -332,42 +333,42 @@ const Ge = s.forwardRef(
332
333
  y.length === 0 && o.trim() && /* @__PURE__ */ e(
333
334
  x.div,
334
335
  {
335
- initial: S ?? { opacity: 0 },
336
+ initial: z ?? { opacity: 0 },
336
337
  animate: { opacity: 1 },
337
- transition: $,
338
+ transition: P,
338
339
  className: "flex items-center justify-center py-ds-07",
339
- children: O ?? /* @__PURE__ */ e("p", { className: "text-ds-md text-surface-fg-subtle", children: K })
340
+ children: V ?? /* @__PURE__ */ e("p", { className: "text-ds-md text-surface-fg-subtle", children: O })
340
341
  }
341
342
  ),
342
343
  y.map((a, g) => /* @__PURE__ */ r(
343
344
  x.div,
344
345
  {
345
- initial: S ?? { opacity: 0 },
346
+ initial: z ?? { opacity: 0 },
346
347
  animate: { opacity: 1 },
347
- transition: b ? j : { ...Y.fade, delay: g * 0.06 },
348
+ transition: b ? F : { ...Z.fade, delay: g * 0.06 },
348
349
  className: "mb-ds-02",
349
350
  children: [
350
351
  /* @__PURE__ */ e("div", { className: "px-ds-03 pb-ds-02 pt-ds-03", children: /* @__PURE__ */ e("span", { className: "text-ds-xs font-semibold uppercase tracking-wider text-surface-fg-subtle", children: a.label }) }),
351
352
  a.items.map((i) => {
352
- const A = ve.get(i.id) ?? 0, P = A === f;
353
+ const E = ve.get(i.id) ?? 0, K = E === f;
353
354
  return /* @__PURE__ */ r(
354
355
  x.button,
355
356
  {
356
- id: `command-bar-item-${J}-${i.id}`,
357
+ id: `command-bar-item-${W}-${i.id}`,
357
358
  type: "button",
358
359
  role: "option",
359
- "aria-selected": P,
360
- "data-command-index": A,
361
- initial: S ?? { opacity: 0, y: 4 },
360
+ "aria-selected": K,
361
+ "data-command-index": E,
362
+ initial: z ?? { opacity: 0, y: 4 },
362
363
  animate: { opacity: 1, y: 0 },
363
- transition: b ? j : { ...ue.snappy, delay: A * 0.03 },
364
+ transition: b ? F : { ...ue.snappy, delay: E * 0.03 },
364
365
  onClick: () => {
365
366
  i.onSelect(), d === "floating" && w(!1);
366
367
  },
367
- onMouseEnter: () => C(A),
368
+ onMouseEnter: () => C(E),
368
369
  className: u(
369
370
  "flex w-full items-center gap-ds-04 rounded-ds-lg px-ds-03 py-ds-03 text-left transition-[color,background-color] duration-fast-02 ease-productive-standard",
370
- P ? "bg-surface-raised-hover text-surface-fg" : "text-surface-fg-muted hover:bg-surface-raised"
371
+ K ? "bg-surface-raised-hover text-surface-fg" : "text-surface-fg-muted hover:bg-surface-raised"
371
372
  ),
372
373
  children: [
373
374
  i.icon && /* @__PURE__ */ e(
@@ -375,7 +376,7 @@ const Ge = s.forwardRef(
375
376
  {
376
377
  className: u(
377
378
  "[&>svg]:h-ico-sm [&>svg]:w-ico-sm shrink-0 transition-colors duration-fast-02 ease-productive-standard",
378
- P ? "text-accent-11" : "text-surface-fg-subtle"
379
+ K ? "text-accent-11" : "text-surface-fg-subtle"
379
380
  ),
380
381
  "aria-hidden": "true",
381
382
  children: i.icon
@@ -385,13 +386,13 @@ const Ge = s.forwardRef(
385
386
  /* @__PURE__ */ e("span", { className: "text-ds-md", children: i.renderLabel ? i.renderLabel(o) : i.label }),
386
387
  i.description && /* @__PURE__ */ e("span", { className: "text-ds-sm text-surface-fg-subtle", children: i.description })
387
388
  ] }),
388
- /* @__PURE__ */ e(Z, { children: P && /* @__PURE__ */ e(
389
+ /* @__PURE__ */ e(_, { children: K && /* @__PURE__ */ e(
389
390
  x.span,
390
391
  {
391
392
  initial: b ? void 0 : { opacity: 0 },
392
393
  animate: { opacity: 1 },
393
394
  exit: b ? void 0 : { opacity: 0 },
394
- transition: $,
395
+ transition: P,
395
396
  className: "inline-flex shrink-0",
396
397
  children: /* @__PURE__ */ e(
397
398
  v,
@@ -419,23 +420,23 @@ const Ge = s.forwardRef(
419
420
  return d === "hero" ? /* @__PURE__ */ r(
420
421
  "div",
421
422
  {
422
- ref: G,
423
+ ref: U,
423
424
  role: "search",
424
425
  className: u(
425
426
  "bg-surface-raised rounded-ds-xl shadow-raised p-ds-07",
426
- Q
427
+ T
427
428
  ),
428
- ...T,
429
+ ...G,
429
430
  children: [
430
431
  ee && /* @__PURE__ */ e("p", { className: "text-ds-lg text-surface-fg-muted mb-ds-04", children: ee }),
431
- W(),
432
432
  X(),
433
- V && V.length > 0 && /* @__PURE__ */ e("div", { className: "mt-ds-04 flex flex-wrap gap-ds-02b", children: V.map((t) => /* @__PURE__ */ e(
433
+ Y(),
434
+ q && q.length > 0 && /* @__PURE__ */ e("div", { className: "mt-ds-04 flex flex-wrap gap-ds-02b", children: q.map((t) => /* @__PURE__ */ e(
434
435
  "button",
435
436
  {
436
437
  type: "button",
437
438
  onClick: () => {
438
- k(t), z?.(t), R.current?.focus();
439
+ k(t), L?.(t), S.current?.focus();
439
440
  },
440
441
  className: "rounded-ds-md border border-surface-border-strong bg-surface-overlay px-ds-03 py-ds-01 text-ds-sm text-surface-fg-subtle transition-colors duration-fast-02 ease-productive-standard hover:bg-surface-raised-hover hover:text-surface-fg-muted",
441
442
  children: t
@@ -448,25 +449,25 @@ const Ge = s.forwardRef(
448
449
  ) : d === "inline" ? /* @__PURE__ */ r(
449
450
  "div",
450
451
  {
451
- ref: G,
452
+ ref: U,
452
453
  role: "search",
453
- className: u("w-full", Q),
454
- ...T,
454
+ className: u("w-full", T),
455
+ ...G,
455
456
  children: [
456
- W(),
457
457
  X(),
458
+ Y(),
458
459
  N && /* @__PURE__ */ e("div", { className: "mt-ds-03", children: N })
459
460
  ]
460
461
  }
461
- ) : /* @__PURE__ */ e(_e, { open: M, onOpenChange: (t) => {
462
+ ) : /* @__PURE__ */ e(Ae, { open: R, onOpenChange: (t) => {
462
463
  w(t);
463
- }, children: /* @__PURE__ */ r(Ae, { children: [
464
- /* @__PURE__ */ e(Ee, { className: "fixed inset-0 z-overlay bg-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" }),
464
+ }, children: /* @__PURE__ */ r(Ee, { children: [
465
+ /* @__PURE__ */ e(Me, { className: "fixed inset-0 z-overlay bg-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" }),
465
466
  /* @__PURE__ */ r(
466
- Me,
467
+ Re,
467
468
  {
468
- ref: G,
469
- ...T,
469
+ ref: U,
470
+ ...G,
470
471
  className: u(
471
472
  "fixed left-1/2 top-[20%] z-modal w-full max-w-[560px] -translate-x-1/2",
472
473
  "overflow-hidden rounded-ds-xl border border-surface-border-strong bg-surface-overlay shadow-overlay",
@@ -475,37 +476,37 @@ const Ge = s.forwardRef(
475
476
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
476
477
  "data-[state=closed]:slide-out-to-left-1/2 data-[state=open]:slide-in-from-left-1/2",
477
478
  "data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2",
478
- Q
479
+ T
479
480
  ),
480
481
  children: [
481
- /* @__PURE__ */ r($e, { children: [
482
- /* @__PURE__ */ e(Re, { children: "AI Command Bar" }),
483
- /* @__PURE__ */ e(Se, { children: "Search commands or ask a question" })
482
+ /* @__PURE__ */ r(Pe, { children: [
483
+ /* @__PURE__ */ e(Se, { children: "AI Command Bar" }),
484
+ /* @__PURE__ */ e(ze, { children: "Search commands or ask a question" })
484
485
  ] }),
485
- /* @__PURE__ */ e("div", { className: "p-ds-04", children: W() }),
486
- X(),
486
+ /* @__PURE__ */ e("div", { className: "p-ds-04", children: X() }),
487
+ Y(),
487
488
  N && /* @__PURE__ */ e("div", { className: "border-t border-surface-border-strong p-ds-04", children: N }),
488
489
  /* @__PURE__ */ r(
489
490
  x.div,
490
491
  {
491
- initial: S ?? { opacity: 0 },
492
+ initial: z ?? { opacity: 0 },
492
493
  animate: { opacity: 1 },
493
- transition: $,
494
+ transition: P,
494
495
  className: "flex items-center gap-ds-05 border-t border-surface-border-strong px-ds-05 py-ds-03",
495
496
  children: [
496
497
  c && /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-02b", children: [
497
498
  /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-01", children: [
498
- /* @__PURE__ */ e("kbd", { className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded border border-surface-border-strong bg-surface-raised shadow-[inset_0_-1px_0_rgba(0,0,0,0.1)]", children: /* @__PURE__ */ e(v, { icon: ze, size: "xs", className: "text-surface-fg-subtle" }) }),
499
- /* @__PURE__ */ e("kbd", { className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded border border-surface-border-strong bg-surface-raised shadow-[inset_0_-1px_0_rgba(0,0,0,0.1)]", children: /* @__PURE__ */ e(v, { icon: Le, size: "xs", className: "text-surface-fg-subtle" }) })
499
+ /* @__PURE__ */ e("kbd", { className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded border border-surface-border-strong bg-surface-raised shadow-kbd", children: /* @__PURE__ */ e(v, { icon: Le, size: "xs", className: "text-surface-fg-subtle" }) }),
500
+ /* @__PURE__ */ e("kbd", { className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded border border-surface-border-strong bg-surface-raised shadow-kbd", children: /* @__PURE__ */ e(v, { icon: Be, size: "xs", className: "text-surface-fg-subtle" }) })
500
501
  ] }),
501
502
  /* @__PURE__ */ e("span", { className: "text-ds-xs text-surface-fg-subtle", children: "Navigate" })
502
503
  ] }),
503
504
  /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-02b", children: [
504
- /* @__PURE__ */ e("kbd", { className: "inline-flex h-[20px] items-center justify-center rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b shadow-[inset_0_-1px_0_rgba(0,0,0,0.1)]", children: /* @__PURE__ */ e(v, { icon: le, size: "xs", className: "text-surface-fg-subtle" }) }),
505
+ /* @__PURE__ */ e("kbd", { className: "inline-flex h-[20px] items-center justify-center rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b shadow-kbd", children: /* @__PURE__ */ e(v, { icon: le, size: "xs", className: "text-surface-fg-subtle" }) }),
505
506
  /* @__PURE__ */ e("span", { className: "text-ds-xs text-surface-fg-subtle", children: "Submit" })
506
507
  ] }),
507
508
  /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-02b", children: [
508
- /* @__PURE__ */ e("kbd", { className: "inline-flex h-[20px] items-center justify-center rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b text-ds-xs font-medium text-surface-fg-subtle shadow-[inset_0_-1px_0_rgba(0,0,0,0.1)]", children: "Esc" }),
509
+ /* @__PURE__ */ e("kbd", { className: "inline-flex h-[20px] items-center justify-center rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b text-ds-xs font-medium text-surface-fg-subtle shadow-kbd", children: "Esc" }),
509
510
  /* @__PURE__ */ e("span", { className: "text-ds-xs text-surface-fg-subtle", children: "Close" })
510
511
  ] })
511
512
  ]
@@ -517,7 +518,7 @@ const Ge = s.forwardRef(
517
518
  ] }) });
518
519
  }
519
520
  );
520
- Ge.displayName = "CommandBar";
521
+ Ue.displayName = "CommandBar";
521
522
  export {
522
- Ge as CommandBar
523
+ Ue as CommandBar
523
524
  };
@@ -1,20 +1,32 @@
1
1
  "use client";
2
2
  import { ConversationMessage, ProcessingStep, BlockComponentProps } from './types';
3
3
  import * as React from 'react';
4
+ /**
5
+ * Renders a scrollable AI conversation thread with support for streaming
6
+ * processing steps, custom content blocks, and action confirmations.
7
+ */
4
8
  export interface AIConversationProps {
9
+ /** Ordered conversation messages (user + assistant turns). */
5
10
  messages: ConversationMessage[];
11
+ /** When true, shows a live processing indicator below the last message. */
6
12
  isProcessing?: boolean;
13
+ /** Granular processing steps shown during the processing state. */
7
14
  processingSteps?: ProcessingStep[];
15
+ /** Agent identity displayed as a header on assistant messages. */
8
16
  agent?: {
9
17
  name: string;
10
18
  icon?: React.ReactNode;
11
19
  };
20
+ /** Called when user interacts with an action block (confirm/cancel/undo). */
12
21
  onAction?: (actionId: string, type: 'confirm' | 'cancel' | 'undo') => void;
22
+ /** Map of custom block type names to React components for extensible rendering. */
13
23
  customBlocks?: Record<string, React.ComponentType<BlockComponentProps<any>>>;
24
+ /** Max height of the conversation container (CSS value). Enables scrolling. */
14
25
  maxHeight?: string | number;
26
+ /** Auto-scroll to bottom on new messages. @default true */
15
27
  autoScroll?: boolean;
16
28
  className?: string;
17
29
  }
18
- declare function AIConversation({ messages, isProcessing, processingSteps, agent: agentProp, onAction, customBlocks, maxHeight, autoScroll, className, }: AIConversationProps): import("react/jsx-runtime").JSX.Element;
30
+ declare const AIConversation: React.ForwardRefExoticComponent<AIConversationProps & React.RefAttributes<HTMLDivElement>>;
19
31
  export { AIConversation };
20
32
  //# sourceMappingURL=conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/ai/conversation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAc9B,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAIhB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;IAClC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAA;IAChD,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAA;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAmND,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,YAAoB,EACpB,eAAe,EACf,KAAK,EAAE,SAAS,EAChB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,UAAiB,EACjB,SAAS,GACV,EAAE,mBAAmB,2CAwHrB;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/ai/conversation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAc9B,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAIhB;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,mEAAmE;IACnE,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAA;IAChD,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAA;IAC1E,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC5E,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAmND,QAAA,MAAM,cAAc,4FAkIlB,CAAA;AAGF,OAAO,EAAE,cAAc,EAAE,CAAA"}