@bysages/solid 0.3.1 → 0.4.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 (268) hide show
  1. package/dist/{ai-response-slzE03wh.mjs → ai-response-D2uINBIi.mjs} +13 -5
  2. package/dist/chevron-BHQrYKPM.mjs +8 -0
  3. package/dist/components/accordion/index.d.mts +22 -2
  4. package/dist/components/accordion/index.mjs +68 -2
  5. package/dist/components/affix/index.d.mts +3 -1
  6. package/dist/components/affix/index.mjs +5 -4
  7. package/dist/components/ai/index.d.mts +1 -1
  8. package/dist/components/ai/index.mjs +6 -5
  9. package/dist/components/ai-action/index.d.mts +3 -1
  10. package/dist/components/ai-action/index.mjs +3 -2
  11. package/dist/components/ai-attachments/index.d.mts +8 -4
  12. package/dist/components/ai-attachments/index.mjs +38 -36
  13. package/dist/components/ai-message/index.d.mts +3 -1
  14. package/dist/components/ai-message/index.mjs +3 -2
  15. package/dist/components/ai-prompt-input/index.d.mts +3 -1
  16. package/dist/components/ai-prompt-input/index.mjs +47 -43
  17. package/dist/components/ai-reasoning/index.d.mts +3 -1
  18. package/dist/components/ai-reasoning/index.mjs +4 -3
  19. package/dist/components/ai-response/index.d.mts +3 -1
  20. package/dist/components/ai-response/index.mjs +1 -1
  21. package/dist/components/ai-source/index.d.mts +6 -2
  22. package/dist/components/ai-source/index.mjs +5 -4
  23. package/dist/components/ai-suggestion/index.d.mts +3 -1
  24. package/dist/components/ai-suggestion/index.mjs +3 -2
  25. package/dist/components/ai-tool/index.d.mts +3 -1
  26. package/dist/components/ai-tool/index.mjs +4 -3
  27. package/dist/components/alert/index.mjs +31 -34
  28. package/dist/components/angle-slider/index.d.mts +1 -1
  29. package/dist/components/angle-slider/index.mjs +13 -5
  30. package/dist/components/aspect-ratio/index.d.mts +3 -1
  31. package/dist/components/aspect-ratio/index.mjs +3 -2
  32. package/dist/components/autocomplete/index.d.mts +4 -1
  33. package/dist/components/autocomplete/index.mjs +10 -1
  34. package/dist/components/avatar/index.d.mts +1 -1
  35. package/dist/components/avatar/index.mjs +10 -1
  36. package/dist/components/avatar-group/index.d.mts +3 -1
  37. package/dist/components/avatar-group/index.mjs +3 -2
  38. package/dist/components/back-top/index.d.mts +3 -1
  39. package/dist/components/back-top/index.mjs +9 -5
  40. package/dist/components/badge/index.d.mts +3 -1
  41. package/dist/components/badge/index.mjs +3 -2
  42. package/dist/components/banner/index.mjs +6 -2
  43. package/dist/components/block-ui/index.d.mts +3 -1
  44. package/dist/components/block-ui/index.mjs +3 -2
  45. package/dist/components/button/index.d.mts +3 -1
  46. package/dist/components/button/index.mjs +3 -2
  47. package/dist/components/calendar/index.d.mts +3 -1
  48. package/dist/components/calendar/index.mjs +29 -21
  49. package/dist/components/carousel/index.d.mts +5 -1
  50. package/dist/components/carousel/index.mjs +13 -1
  51. package/dist/components/cascade-select/index.d.mts +3 -1
  52. package/dist/components/cascade-select/index.mjs +73 -72
  53. package/dist/components/checkbox/index.d.mts +1 -1
  54. package/dist/components/checkbox/index.mjs +13 -5
  55. package/dist/components/checkbox-group/index.d.mts +4 -9
  56. package/dist/components/checkbox-group/index.mjs +65 -68
  57. package/dist/components/chip/index.d.mts +3 -1
  58. package/dist/components/chip/index.mjs +3 -2
  59. package/dist/components/client-only/index.d.mts +7 -2
  60. package/dist/components/client-only/index.mjs +8 -1
  61. package/dist/components/clipboard/index.d.mts +1 -1
  62. package/dist/components/clipboard/index.mjs +13 -5
  63. package/dist/components/collapsible/index.d.mts +15 -1
  64. package/dist/components/collapsible/index.mjs +39 -2
  65. package/dist/components/color-picker/index.d.mts +13 -2
  66. package/dist/components/color-picker/index.mjs +95 -8
  67. package/dist/components/combobox/index.d.mts +24 -1
  68. package/dist/components/combobox/index.mjs +129 -8
  69. package/dist/components/command/index.d.mts +4 -1
  70. package/dist/components/command/index.mjs +13 -1
  71. package/dist/components/comment/index.d.mts +3 -1
  72. package/dist/components/comment/index.mjs +3 -2
  73. package/dist/components/config-provider/index.d.mts +3 -1
  74. package/dist/components/config-provider/index.mjs +3 -2
  75. package/dist/components/container/index.d.mts +3 -1
  76. package/dist/components/container/index.mjs +3 -2
  77. package/dist/components/data-view/index.d.mts +3 -1
  78. package/dist/components/data-view/index.mjs +5 -6
  79. package/dist/components/date-input/index.d.mts +1 -1
  80. package/dist/components/date-input/index.mjs +13 -5
  81. package/dist/components/date-picker/index.d.mts +1 -1
  82. package/dist/components/date-picker/index.mjs +13 -5
  83. package/dist/components/deferred-content/index.d.mts +3 -1
  84. package/dist/components/deferred-content/index.mjs +3 -2
  85. package/dist/components/descriptions/index.d.mts +7 -0
  86. package/dist/components/descriptions/index.mjs +21 -2
  87. package/dist/components/dialog/index.d.mts +17 -1
  88. package/dist/components/dialog/index.mjs +84 -2
  89. package/dist/components/download-trigger/index.d.mts +7 -2
  90. package/dist/components/download-trigger/index.mjs +8 -1
  91. package/dist/components/drawer/index.d.mts +17 -1
  92. package/dist/components/drawer/index.mjs +83 -2
  93. package/dist/components/dynamic-input/index.d.mts +3 -1
  94. package/dist/components/dynamic-input/index.mjs +10 -6
  95. package/dist/components/editable/index.d.mts +1 -1
  96. package/dist/components/editable/index.mjs +13 -5
  97. package/dist/components/ellipsis/index.d.mts +3 -1
  98. package/dist/components/ellipsis/index.mjs +3 -2
  99. package/dist/components/field/index.d.mts +5 -1
  100. package/dist/components/field/index.mjs +13 -1
  101. package/dist/components/fieldset/index.d.mts +5 -1
  102. package/dist/components/fieldset/index.mjs +13 -1
  103. package/dist/components/file-upload/index.d.mts +1 -7
  104. package/dist/components/file-upload/index.mjs +13 -5
  105. package/dist/components/floating-panel/index.d.mts +5 -1
  106. package/dist/components/floating-panel/index.mjs +13 -1
  107. package/dist/components/focus-trap/index.d.mts +7 -2
  108. package/dist/components/focus-trap/index.mjs +8 -1
  109. package/dist/components/form/index.d.mts +1 -1
  110. package/dist/components/form/index.mjs +10 -4
  111. package/dist/components/frame/index.d.mts +6 -1
  112. package/dist/components/frame/index.mjs +10 -1
  113. package/dist/components/grid/index.d.mts +3 -1
  114. package/dist/components/grid/index.mjs +3 -2
  115. package/dist/components/highlight/index.d.mts +3 -1
  116. package/dist/components/highlight/index.mjs +2 -1
  117. package/dist/components/hover-card/index.d.mts +19 -1
  118. package/dist/components/hover-card/index.mjs +91 -2
  119. package/dist/components/icon/index.d.mts +8 -7
  120. package/dist/components/icon/index.mjs +4 -3
  121. package/dist/components/image/index.d.mts +4 -2
  122. package/dist/components/image/index.mjs +34 -33
  123. package/dist/components/image-cropper/index.d.mts +5 -1
  124. package/dist/components/image-cropper/index.mjs +13 -1
  125. package/dist/components/image-viewer/index.d.mts +2 -23
  126. package/dist/components/image-viewer/index.mjs +3 -159
  127. package/dist/components/input/index.d.mts +3 -1
  128. package/dist/components/input/index.mjs +1 -1
  129. package/dist/components/json-tree-view/index.d.mts +5 -4
  130. package/dist/components/json-tree-view/index.mjs +15 -18
  131. package/dist/components/kbd/index.d.mts +3 -1
  132. package/dist/components/kbd/index.mjs +3 -2
  133. package/dist/components/link/index.d.mts +3 -1
  134. package/dist/components/link/index.mjs +3 -2
  135. package/dist/components/listbox/index.d.mts +1 -1
  136. package/dist/components/listbox/index.mjs +13 -5
  137. package/dist/components/marquee/index.d.mts +5 -1
  138. package/dist/components/marquee/index.mjs +13 -1
  139. package/dist/components/masonry/index.d.mts +3 -1
  140. package/dist/components/masonry/index.mjs +3 -2
  141. package/dist/components/media-player/index.d.mts +2 -0
  142. package/dist/components/media-player/index.mjs +2 -0
  143. package/dist/components/mentions/index.d.mts +1 -1
  144. package/dist/components/mentions/index.mjs +2 -2
  145. package/dist/components/menu/index.d.mts +21 -1
  146. package/dist/components/menu/index.mjs +62 -5
  147. package/dist/components/menubar/index.d.mts +3 -1
  148. package/dist/components/menubar/index.mjs +30 -9
  149. package/dist/components/navigation-menu/index.d.mts +5 -1
  150. package/dist/components/navigation-menu/index.mjs +13 -1
  151. package/dist/components/number-input/index.d.mts +1 -1
  152. package/dist/components/number-input/index.mjs +13 -5
  153. package/dist/components/order-list/index.d.mts +3 -1
  154. package/dist/components/order-list/index.mjs +67 -63
  155. package/dist/components/pagination/index.d.mts +1 -1
  156. package/dist/components/pagination/index.mjs +13 -5
  157. package/dist/components/password-input/index.d.mts +1 -1
  158. package/dist/components/password-input/index.mjs +13 -5
  159. package/dist/components/pin-input/index.d.mts +1 -1
  160. package/dist/components/pin-input/index.mjs +13 -5
  161. package/dist/components/popconfirm/index.d.mts +3 -1
  162. package/dist/components/popconfirm/index.mjs +16 -8
  163. package/dist/components/popover/index.d.mts +19 -1
  164. package/dist/components/popover/index.mjs +91 -2
  165. package/dist/components/presence/index.d.mts +10 -2
  166. package/dist/components/presence/index.mjs +9 -1
  167. package/dist/components/progress/index.d.mts +1 -1
  168. package/dist/components/progress/index.mjs +13 -5
  169. package/dist/components/progress-group/index.d.mts +3 -1
  170. package/dist/components/progress-group/index.mjs +4 -3
  171. package/dist/components/qr-code/index.d.mts +5 -1
  172. package/dist/components/qr-code/index.mjs +13 -1
  173. package/dist/components/radio-group/index.d.mts +1 -1
  174. package/dist/components/radio-group/index.mjs +13 -5
  175. package/dist/components/rating-group/index.d.mts +2 -2
  176. package/dist/components/rating-group/index.mjs +13 -5
  177. package/dist/components/result/index.d.mts +1 -1
  178. package/dist/components/result/index.mjs +5 -3
  179. package/dist/components/scroll-area/index.d.mts +5 -1
  180. package/dist/components/scroll-area/index.mjs +13 -1
  181. package/dist/components/segment-group/index.d.mts +1 -1
  182. package/dist/components/segment-group/index.mjs +11 -6
  183. package/dist/components/select/index.d.mts +2 -2
  184. package/dist/components/select/index.mjs +1 -1
  185. package/dist/components/separator/index.d.mts +3 -1
  186. package/dist/components/separator/index.mjs +3 -2
  187. package/dist/components/signature-pad/index.d.mts +5 -1
  188. package/dist/components/signature-pad/index.mjs +13 -1
  189. package/dist/components/skeleton/index.d.mts +3 -1
  190. package/dist/components/skeleton/index.mjs +3 -2
  191. package/dist/components/slider/index.d.mts +1 -1
  192. package/dist/components/slider/index.mjs +13 -5
  193. package/dist/components/spinner/index.d.mts +3 -1
  194. package/dist/components/spinner/index.mjs +3 -2
  195. package/dist/components/split-button/index.d.mts +3 -1
  196. package/dist/components/split-button/index.mjs +14 -3
  197. package/dist/components/splitter/index.d.mts +5 -1
  198. package/dist/components/splitter/index.mjs +13 -1
  199. package/dist/components/spotlight/index.d.mts +3 -1
  200. package/dist/components/spotlight/index.mjs +3 -2
  201. package/dist/components/stack/index.d.mts +3 -1
  202. package/dist/components/stack/index.mjs +6 -5
  203. package/dist/components/steps/index.d.mts +20 -3
  204. package/dist/components/steps/index.mjs +66 -7
  205. package/dist/components/swap/index.d.mts +5 -1
  206. package/dist/components/swap/index.mjs +13 -1
  207. package/dist/components/switch/index.d.mts +1 -1
  208. package/dist/components/switch/index.mjs +13 -5
  209. package/dist/components/table/index.d.mts +3 -1
  210. package/dist/components/table/index.mjs +169 -151
  211. package/dist/components/tabs/index.d.mts +20 -2
  212. package/dist/components/tabs/index.mjs +59 -3
  213. package/dist/components/tags-input/index.d.mts +1 -1
  214. package/dist/components/tags-input/index.mjs +13 -5
  215. package/dist/components/terminal/index.d.mts +3 -1
  216. package/dist/components/terminal/index.mjs +3 -2
  217. package/dist/components/textarea/index.d.mts +3 -1
  218. package/dist/components/textarea/index.mjs +3 -2
  219. package/dist/components/timer/index.d.mts +5 -1
  220. package/dist/components/timer/index.mjs +13 -1
  221. package/dist/components/toast/index.d.mts +8 -2
  222. package/dist/components/toast/index.mjs +14 -2
  223. package/dist/components/toc/index.d.mts +11 -2
  224. package/dist/components/toc/index.mjs +1 -1
  225. package/dist/components/toggle/index.d.mts +5 -1
  226. package/dist/components/toggle/index.mjs +13 -1
  227. package/dist/components/toggle-group/index.d.mts +1 -1
  228. package/dist/components/toggle-group/index.mjs +13 -5
  229. package/dist/components/toolbar/index.d.mts +3 -1
  230. package/dist/components/toolbar/index.mjs +3 -2
  231. package/dist/components/tooltip/index.d.mts +16 -1
  232. package/dist/components/tooltip/index.mjs +55 -2
  233. package/dist/components/tour/index.d.mts +16 -3
  234. package/dist/components/tour/index.mjs +74 -9
  235. package/dist/components/transfer/index.d.mts +3 -1
  236. package/dist/components/transfer/index.mjs +54 -50
  237. package/dist/components/tree-select/index.d.mts +3 -1
  238. package/dist/components/tree-select/index.mjs +37 -30
  239. package/dist/components/tree-view/index.d.mts +1 -8
  240. package/dist/components/tree-view/index.mjs +16 -21
  241. package/dist/components/user/index.d.mts +3 -1
  242. package/dist/components/user/index.mjs +8 -2
  243. package/dist/components/virtual-list/index.d.mts +3 -1
  244. package/dist/components/virtual-list/index.mjs +13 -9
  245. package/dist/components/watermark/index.d.mts +3 -1
  246. package/dist/components/watermark/index.mjs +4 -3
  247. package/dist/element-dGIhOTJ6.mjs +16 -0
  248. package/dist/family-Cmd8HEyK.mjs +11 -0
  249. package/dist/icon-DTqmJCd5.mjs +48 -0
  250. package/dist/id-2ygNzPHF.mjs +12 -0
  251. package/dist/image-viewer-B9A5lXsk.mjs +228 -0
  252. package/dist/{index-B1xiJ5ki.d.mts → index-B1-quIrl.d.mts} +6 -2
  253. package/dist/{index-DDX7x8aT.d.mts → index-DEArHiFI.d.mts} +16 -7
  254. package/dist/index-DhripUtf.d.mts +39 -0
  255. package/dist/{index-YPUiqD3n.d.mts → index-ID48LCMU.d.mts} +28 -2
  256. package/dist/{index-IfofF-SW.d.mts → index-nFXK_8hJ.d.mts} +53 -23
  257. package/dist/index-wW28BYf1.d.mts +124 -0
  258. package/dist/index.d.mts +23 -22
  259. package/dist/index.mjs +13 -12
  260. package/dist/{input-DoFQ7RXh.mjs → input-CPAJdwDb.mjs} +3 -2
  261. package/dist/media-player-BC8D_d29.mjs +796 -0
  262. package/dist/{mentions-f5Js_2W7.mjs → mentions-CeG5u8Qm.mjs} +67 -51
  263. package/dist/select-7YjMSBGx.mjs +292 -0
  264. package/dist/{toc-CZmYEaQR.mjs → toc-DYKaKQ_X.mjs} +12 -2
  265. package/package.json +3 -3
  266. package/dist/chevron-D5RzcayK.mjs +0 -9
  267. package/dist/index-DdsnfV4f.d.mts +0 -16
  268. package/dist/select-CX6OuQlU.mjs +0 -123
@@ -1,14 +1,22 @@
1
+ import { n as withSelfRoot } from "./family-Cmd8HEyK.mjs";
2
+ import { n as iconHtml } from "./icon-DTqmJCd5.mjs";
1
3
  import { n as useComponentMessages } from "./use-component-messages-C4SCVYjD.mjs";
2
4
  import { injectComponentStyle } from "@bysages/core";
3
5
  import { ref, spread, template } from "@solidjs/web";
4
6
  import { createEffect, createMemo, onMount, splitProps } from "solid-js";
5
7
  import { renderHtml } from "@tanstack/markdown/html";
6
8
  //#region src/components/ai-response/code-copy.ts
7
- /** The two glyphs a copy affordance needs: the stamp and its
9
+ /** The two icons a copy affordance needs: the stamp and its
8
10
  * confirmation. Inline SVG keeps the enhancement framework-agnostic —
9
11
  * it lives beside the renderer's generated code HTML. */
10
- const COPY_CODE_ICON = `<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`;
11
- const COPIED_CODE_ICON = `<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>`;
12
+ const COPY_CODE_ICON = iconHtml("copy", {
13
+ width: "14",
14
+ height: "14"
15
+ });
16
+ const COPIED_CODE_ICON = iconHtml("check", {
17
+ width: "14",
18
+ height: "14"
19
+ });
12
20
  /** How long the confirmation stays before the stamp returns. */
13
21
  const REVERT_MS = 1500;
14
22
  /** Make sure every fenced block under `host` carries its copy stamp.
@@ -104,7 +112,7 @@ var _tmpl$ = /* @__PURE__ */ template(`<div>`);
104
112
  /** Markdown set on the paper. Rendering goes through
105
113
  * `@tanstack/markdown`, whose defaults leave raw HTML and executable
106
114
  * links inert — streaming-safe by construction. */
107
- function Response(props) {
115
+ const Response = withSelfRoot(function Response(props) {
108
116
  injectComponentStyle("ai");
109
117
  const [own, rest] = splitProps(props, [
110
118
  "content",
@@ -136,6 +144,6 @@ function Response(props) {
136
144
  }
137
145
  }], false);
138
146
  return _el$;
139
- }
147
+ });
140
148
  //#endregion
141
149
  export { Response as t };
@@ -0,0 +1,8 @@
1
+ import { r as iconNode } from "./icon-DTqmJCd5.mjs";
2
+ //#region src/components/ai/chevron.tsx
3
+ /** The folding chevron the shared indicator turns. */
4
+ function chevron() {
5
+ return iconNode("chevron-right");
6
+ }
7
+ //#endregion
8
+ export { chevron as t };
@@ -1,7 +1,27 @@
1
- import { Accordion as Accordion$1 } from "@ark-ui/solid/accordion";
1
+ import { Accordion as Accordion$1, AccordionRootProps } from "@ark-ui/solid/accordion";
2
2
  //#region src/components/accordion/index.d.ts
3
3
  /** Ark's Accordion, dressed in the paper-and-ink system: a ruled sheet
4
4
  * folded by quiet rows, unfolding with a spring-chevoned dissolve. The
5
5
  * API is Ark's own — Root, Item, ItemTrigger, ItemContent, ItemIndicator. */
6
- export declare const Accordion: typeof Accordion$1;
6
+ declare function AccordionRoot(props: AccordionRootProps): import("solid-js").JSX.Element;
7
+ export type AccordionItem = {
8
+ value: string;
9
+ title: string;
10
+ content: string;
11
+ };
12
+ export interface AccordionFacadeProps {
13
+ value?: string[];
14
+ defaultValue?: string[];
15
+ items: AccordionItem[];
16
+ multiple?: boolean;
17
+ collapsible?: boolean;
18
+ disabled?: boolean;
19
+ orientation?: "horizontal" | "vertical";
20
+ onValueChange?: (value: string[]) => void;
21
+ }
22
+ declare function AccordionFacade(props: AccordionFacadeProps): import("solid-js").JSX.Element;
23
+ type AccordionParts = Omit<typeof Accordion$1, "Root"> & {
24
+ Root: typeof AccordionRoot;
25
+ };
26
+ export declare const Accordion: typeof AccordionFacade & AccordionParts;
7
27
  //#endregion
@@ -1,10 +1,76 @@
1
+ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
3
+ import { t as useElementId } from "../../id-2ygNzPHF.mjs";
1
4
  import { injectComponentStyle } from "@bysages/core";
5
+ import { createComponent, insert, memo, mergeProps, template } from "@solidjs/web";
2
6
  import { Accordion as Accordion$1 } from "@ark-ui/solid/accordion";
3
- //#region src/components/accordion/index.ts
7
+ import { For } from "solid-js";
8
+ //#region src/components/accordion/index.tsx
9
+ var _tmpl$ = /* @__PURE__ */ template(`<p>`);
4
10
  /** Ark's Accordion, dressed in the paper-and-ink system: a ruled sheet
5
11
  * folded by quiet rows, unfolding with a spring-chevoned dissolve. The
6
12
  * API is Ark's own — Root, Item, ItemTrigger, ItemContent, ItemIndicator. */
7
- const Accordion = Accordion$1;
13
+ function AccordionRoot(props) {
14
+ const id = useElementId("accordion", () => props.id);
15
+ return createComponent(Accordion$1.Root, mergeProps(props, { get id() {
16
+ return id();
17
+ } }));
18
+ }
19
+ function AccordionFacade(props) {
20
+ injectComponentStyle("accordion");
21
+ return createComponent(AccordionRoot, mergeProps({
22
+ get disabled() {
23
+ return props.disabled;
24
+ },
25
+ get multiple() {
26
+ return props.multiple;
27
+ },
28
+ get collapsible() {
29
+ return props.collapsible;
30
+ },
31
+ get orientation() {
32
+ return props.orientation ?? "vertical";
33
+ },
34
+ get defaultValue() {
35
+ return props.defaultValue;
36
+ }
37
+ }, () => {
38
+ return props.value === void 0 ? {} : { value: props.value };
39
+ }, {
40
+ onValueChange: (details) => props.onValueChange?.(details.value),
41
+ get children() {
42
+ return createComponent(For, {
43
+ get each() {
44
+ return props.items;
45
+ },
46
+ children: (item) => createComponent(Accordion$1.Item, {
47
+ get value() {
48
+ return item.value;
49
+ },
50
+ get children() {
51
+ return [createComponent(Accordion$1.ItemTrigger, { get children() {
52
+ return [memo(() => {
53
+ return item.title;
54
+ }), createComponent(Accordion$1.ItemIndicator, { get children() {
55
+ return iconNode("chevron-down");
56
+ } })];
57
+ } }), createComponent(Accordion$1.ItemContent, { get children() {
58
+ var _el$ = _tmpl$();
59
+ insert(_el$, () => {
60
+ return item.content;
61
+ });
62
+ return _el$;
63
+ } })];
64
+ }
65
+ })
66
+ });
67
+ }
68
+ }));
69
+ }
70
+ const Accordion = defineFamily(AccordionFacade, {
71
+ ...Accordion$1,
72
+ Root: AccordionRoot
73
+ });
8
74
  injectComponentStyle("accordion");
9
75
  //#endregion
10
76
  export { Accordion };
@@ -16,5 +16,7 @@ export interface AffixProps extends JSX.HTMLAttributes<HTMLDivElement> {
16
16
  * `overflow: hidden` clips the pin. Both offsets may be given: the
17
17
  * content then holds its place inside that band.
18
18
  */
19
- export declare function Affix(props: AffixProps): JSX.Element;
19
+ export declare const Affix: ((props: AffixProps) => JSX.Element) & {
20
+ Root: (props: AffixProps) => JSX.Element;
21
+ };
20
22
  //#endregion
@@ -1,3 +1,4 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
3
  import { spread, template } from "@solidjs/web";
3
4
  import { splitProps } from "solid-js";
@@ -12,7 +13,7 @@ var _tmpl$ = /* @__PURE__ */ template(`<div>`);
12
13
  * `overflow: hidden` clips the pin. Both offsets may be given: the
13
14
  * content then holds its place inside that band.
14
15
  */
15
- function Affix(props) {
16
+ const Affix = withSelfRoot(function Affix(props) {
16
17
  injectComponentStyle("affix");
17
18
  const [own, rest] = splitProps(props, ["offsetTop", "offsetBottom"]);
18
19
  var _el$ = _tmpl$();
@@ -20,14 +21,14 @@ function Affix(props) {
20
21
  get style() {
21
22
  return {
22
23
  ...rest.style,
23
- top: own.offsetTop ?? "0px",
24
- bottom: own.offsetBottom ?? "0px"
24
+ "--bs-affix-top": own.offsetTop ?? "0px",
25
+ "--bs-affix-bottom": own.offsetBottom ?? "0px"
25
26
  };
26
27
  },
27
28
  "data-scope": "affix",
28
29
  "data-part": "root"
29
30
  }], false);
30
31
  return _el$;
31
- }
32
+ });
32
33
  //#endregion
33
34
  export { Affix };
@@ -1,2 +1,2 @@
1
- import { a as AiLoader, c as ReasoningUIPart, d as StepStartUIPart, f as TextUIPart, h as UIMessagePart, i as AiConversation, l as SourceDocumentUIPart, m as UIMessage, n as AiActions, o as DataUIPart, p as ToolUIPart, r as AiContent, s as FileUIPart, t as Ai, u as SourceUrlUIPart } from "../../index-IfofF-SW.mjs";
1
+ import { a as AiLoader, c as ReasoningUIPart, d as StepStartUIPart, f as TextUIPart, h as UIMessagePart, i as AiConversation, l as SourceDocumentUIPart, m as UIMessage, n as AiActions, o as DataUIPart, p as ToolUIPart, r as AiContent, s as FileUIPart, t as Ai, u as SourceUrlUIPart } from "../../index-nFXK_8hJ.mjs";
2
2
  export { Ai, AiActions, AiContent, AiConversation, AiLoader, type DataUIPart, type FileUIPart, type ReasoningUIPart, type SourceDocumentUIPart, type SourceUrlUIPart, type StepStartUIPart, type TextUIPart, type ToolUIPart, type UIMessage, type UIMessagePart };
@@ -1,9 +1,10 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
1
2
  import { Action } from "../ai-action/index.mjs";
2
3
  import { AiMessage as Message } from "../ai-message/index.mjs";
3
4
  import { n as useComponentMessages } from "../../use-component-messages-C4SCVYjD.mjs";
4
5
  import { AiPromptInput as PromptInput } from "../ai-prompt-input/index.mjs";
5
6
  import { AiReasoning as Reasoning } from "../ai-reasoning/index.mjs";
6
- import { t as Response } from "../../ai-response-slzE03wh.mjs";
7
+ import { t as Response } from "../../ai-response-D2uINBIi.mjs";
7
8
  import { AiSource as Source, AiSources as Sources } from "../ai-source/index.mjs";
8
9
  import { AiSuggestion as Suggestion } from "../ai-suggestion/index.mjs";
9
10
  import { AiTool as Tool } from "../ai-tool/index.mjs";
@@ -38,14 +39,14 @@ const AiConversation = part("Conversation", (messages) => ({
38
39
  }));
39
40
  /** The bubble's inner measure — content that belongs to neither side
40
41
  * specifically. */
41
- const AiContent = part("Content");
42
+ const AiContent = withSelfRoot(part("Content"));
42
43
  /** The quiet row under a message — copy, retry, feedback. */
43
- const AiActions = part("Actions");
44
+ const AiActions = withSelfRoot(part("Actions"));
44
45
  /** The while-it-works whisper for the in-flight turns. */
45
- const AiLoader = part("Loader", (messages) => ({
46
+ const AiLoader = withSelfRoot(part("Loader", (messages) => ({
46
47
  role: "status",
47
48
  "aria-label": messages.ai.loading
48
- }));
49
+ })));
49
50
  /** The whole family under one handle — `Ai.Conversation`,
50
51
  * `Ai.MessageContent`, and the rest. */
51
52
  const Ai = Object.assign(AiConversation, {
@@ -8,6 +8,8 @@ export interface ActionProps extends JSX.HTMLAttributes<HTMLButtonElement> {
8
8
  /** A quiet icon button — copy, retry, thumbs. The label names it to
9
9
  * assistive tech and as the hover title. The control itself is the
10
10
  * shared Button in its ghost register. */
11
- export declare function Action(props: ActionProps): JSX.Element;
11
+ export declare const Action: ((props: ActionProps) => JSX.Element) & {
12
+ Root: (props: ActionProps) => JSX.Element;
13
+ };
12
14
  //#endregion
13
15
  export { Action as AiAction };
@@ -1,3 +1,4 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
1
2
  import { Button } from "../button/index.mjs";
2
3
  import { injectComponentStyle } from "@bysages/core";
3
4
  import { createComponent, mergeProps } from "@solidjs/web";
@@ -6,7 +7,7 @@ import { splitProps } from "solid-js";
6
7
  /** A quiet icon button — copy, retry, thumbs. The label names it to
7
8
  * assistive tech and as the hover title. The control itself is the
8
9
  * shared Button in its ghost register. */
9
- function Action(props) {
10
+ const Action = withSelfRoot(function Action(props) {
10
11
  injectComponentStyle("ai");
11
12
  const [own, rest] = splitProps(props, ["label", "children"]);
12
13
  return createComponent(Button, mergeProps({
@@ -22,6 +23,6 @@ function Action(props) {
22
23
  }, rest, { get children() {
23
24
  return own.children;
24
25
  } }));
25
- }
26
+ });
26
27
  //#endregion
27
28
  export { Action, Action as AiAction };
@@ -2,7 +2,7 @@ import { JSX } from "solid-js";
2
2
  //#region src/components/ai-attachments/index.d.ts
3
3
  export type AttachmentStatus = "uploading" | "ready" | "error";
4
4
  export interface AttachmentProps extends JSX.HTMLAttributes<HTMLSpanElement> {
5
- /** The file's name — it picks the glyph by extension. */
5
+ /** The file's name — it picks the icon by extension. */
6
6
  name: string;
7
7
  /** The file's size in bytes, when known — rendered human. */
8
8
  size?: number;
@@ -10,11 +10,15 @@ export interface AttachmentProps extends JSX.HTMLAttributes<HTMLSpanElement> {
10
10
  status?: AttachmentStatus;
11
11
  onRemove?: () => void;
12
12
  }
13
- /** One file riding the prompt: its glyph by extension, its name and
13
+ /** One file riding the prompt: its icon by extension, its name and
14
14
  * human size, and a quiet way to take it back off. Uploading reads as
15
15
  * a dashed ghost, error as danger ink. */
16
- export declare function Attachment(props: AttachmentProps): JSX.Element;
16
+ export declare const Attachment: ((props: AttachmentProps) => JSX.Element) & {
17
+ Root: (props: AttachmentProps) => JSX.Element;
18
+ };
17
19
  /** The row the files ride in — a wrapping line of chips. */
18
- export declare function Attachments(props: JSX.HTMLAttributes<HTMLSpanElement>): JSX.Element;
20
+ export declare const Attachments: ((props: JSX.HTMLAttributes<HTMLSpanElement>) => JSX.Element) & {
21
+ Root: (props: JSX.HTMLAttributes<HTMLSpanElement>) => JSX.Element;
22
+ };
19
23
  //#endregion
20
24
  export { Attachment as AiAttachment, Attachments as AiAttachments };
@@ -1,21 +1,23 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
1
3
  import { n as useComponentMessages, t as formatComponentMessage } from "../../use-component-messages-C4SCVYjD.mjs";
2
4
  import { injectComponentStyle } from "@bysages/core";
3
5
  import { delegateEvents, effect, insert, memo, setAttribute, spread, template } from "@solidjs/web";
4
6
  import { splitProps } from "solid-js";
5
7
  //#region src/components/ai-attachments/index.tsx
6
- var _tmpl$ = /* @__PURE__ */ template(`<svg viewBox="0 0 16 16"aria-hidden=true fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=square><rect x=2.5 y=3.5 width=11 height=9></rect><path d="M2.5 10.5 6 7l3 3 2-1.5 2.5 2"></path><circle cx=6 cy=6 r=0.75 fill=currentColor stroke=none>`);
7
- var _tmpl$2 = /* @__PURE__ */ template(`<svg viewBox="0 0 16 16"aria-hidden=true fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=square><path d="M4 2.5h5l3 3V13.5H4z"></path><path d="M9 2.5v3h3">`);
8
- var _tmpl$3 = /* @__PURE__ */ template(`<svg viewBox="0 0 16 16"width=12 height=12 aria-hidden=true fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=square><path d="M4 4l8 8M12 4l-8 8">`);
9
- var _tmpl$4 = /* @__PURE__ */ template(`<span><span></span><button type=button data-remove>`);
10
- var _tmpl$5 = /* @__PURE__ */ template(`<span>`);
11
- function imageGlyph() {
12
- return _tmpl$();
8
+ var _tmpl$ = /* @__PURE__ */ template(`<span><span></span><button type=button data-remove>`);
9
+ var _tmpl$2 = /* @__PURE__ */ template(`<span>`);
10
+ function imageIcon() {
11
+ return iconNode("image");
13
12
  }
14
- function fileGlyph() {
15
- return _tmpl$2();
13
+ function fileIcon() {
14
+ return iconNode("file");
16
15
  }
17
- function removeGlyph() {
18
- return _tmpl$3();
16
+ function removeIcon() {
17
+ return iconNode("x", {
18
+ width: "12",
19
+ height: "12"
20
+ });
19
21
  }
20
22
  const IMAGE_EXTS = [
21
23
  "png",
@@ -44,10 +46,10 @@ const humanSize = (bytes) => {
44
46
  } while (value >= 1024 && unit < units.length - 1);
45
47
  return `${value.toFixed(1)} ${units[unit]}`;
46
48
  };
47
- /** One file riding the prompt: its glyph by extension, its name and
49
+ /** One file riding the prompt: its icon by extension, its name and
48
50
  * human size, and a quiet way to take it back off. Uploading reads as
49
51
  * a dashed ghost, error as danger ink. */
50
- function Attachment(props) {
52
+ const Attachment = withSelfRoot(function Attachment(props) {
51
53
  injectComponentStyle("ai");
52
54
  const [own, rest] = splitProps(props, [
53
55
  "name",
@@ -56,57 +58,57 @@ function Attachment(props) {
56
58
  "onRemove"
57
59
  ]);
58
60
  const messages = useComponentMessages();
59
- var _el$4 = _tmpl$4();
60
- var _el$5 = _el$4.firstChild;
61
- var _el$6 = _el$5.nextSibling;
62
- spread(_el$4, [rest, {
61
+ var _el$ = _tmpl$();
62
+ var _el$2 = _el$.firstChild;
63
+ var _el$3 = _el$2.nextSibling;
64
+ spread(_el$, [rest, {
63
65
  "data-scope": "ai",
64
66
  "data-part": "attachment",
65
67
  get "data-status"() {
66
68
  return own.status ?? "ready";
67
69
  }
68
70
  }], true);
69
- insert(_el$4, (() => {
71
+ insert(_el$, (() => {
70
72
  var _c$ = memo(() => {
71
73
  return !!isImage(own.name);
72
74
  });
73
75
  return () => {
74
- return _c$() ? imageGlyph() : fileGlyph();
76
+ return _c$() ? imageIcon() : fileIcon();
75
77
  };
76
- })(), _el$5);
77
- insert(_el$5, () => {
78
+ })(), _el$2);
79
+ insert(_el$2, () => {
78
80
  return own.name;
79
81
  });
80
- insert(_el$4, (() => {
82
+ insert(_el$, (() => {
81
83
  var _c$2 = memo(() => {
82
84
  return own.size !== void 0;
83
85
  });
84
86
  return () => {
85
87
  return _c$2() ? (() => {
86
- var _el$7 = _tmpl$5();
87
- insert(_el$7, () => {
88
+ var _el$4 = _tmpl$2();
89
+ insert(_el$4, () => {
88
90
  return humanSize(own.size);
89
91
  });
90
- return _el$7;
92
+ return _el$4;
91
93
  })() : null;
92
94
  };
93
- })(), _el$6);
94
- _el$6._$$click = () => own.onRemove?.();
95
- insert(_el$6, removeGlyph);
95
+ })(), _el$3);
96
+ _el$3._$$click = () => own.onRemove?.();
97
+ insert(_el$3, removeIcon);
96
98
  effect(() => formatComponentMessage(messages().ai.removeAttachment, { name: own.name }), (_v$) => {
97
- setAttribute(_el$6, "aria-label", _v$);
99
+ setAttribute(_el$3, "aria-label", _v$);
98
100
  });
99
- return _el$4;
100
- }
101
+ return _el$;
102
+ });
101
103
  /** The row the files ride in — a wrapping line of chips. */
102
- function Attachments(props) {
103
- var _el$8 = _tmpl$5();
104
- spread(_el$8, [props, {
104
+ const Attachments = withSelfRoot(function Attachments(props) {
105
+ var _el$5 = _tmpl$2();
106
+ spread(_el$5, [props, {
105
107
  "data-scope": "ai",
106
108
  "data-part": "attachments"
107
109
  }], false);
108
- return _el$8;
109
- }
110
+ return _el$5;
111
+ });
110
112
  delegateEvents(["click"]);
111
113
  //#endregion
112
114
  export { Attachment as AiAttachment, Attachment, Attachments as AiAttachments, Attachments };
@@ -8,6 +8,8 @@ export interface MessageProps extends Omit<JSX.HTMLAttributes<HTMLElement>, "rol
8
8
  }
9
9
  /** Whose stroke this is — the user's words sit in a recessed bubble,
10
10
  * the assistant speaks flat on the paper. */
11
- export declare function Message(props: MessageProps): JSX.Element;
11
+ export declare const Message: ((props: MessageProps) => JSX.Element) & {
12
+ Root: (props: MessageProps) => JSX.Element;
13
+ };
12
14
  //#endregion
13
15
  export { Message as AiMessage };
@@ -1,3 +1,4 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
3
  import { spread, template } from "@solidjs/web";
3
4
  import { splitProps } from "solid-js";
@@ -5,7 +6,7 @@ import { splitProps } from "solid-js";
5
6
  var _tmpl$ = /* @__PURE__ */ template(`<article>`);
6
7
  /** Whose stroke this is — the user's words sit in a recessed bubble,
7
8
  * the assistant speaks flat on the paper. */
8
- function Message(props) {
9
+ const Message = withSelfRoot(function Message(props) {
9
10
  injectComponentStyle("ai");
10
11
  const [own, rest] = splitProps(props, ["role"]);
11
12
  var _el$ = _tmpl$();
@@ -17,6 +18,6 @@ function Message(props) {
17
18
  }
18
19
  }], false);
19
20
  return _el$;
20
- }
21
+ });
21
22
  //#endregion
22
23
  export { Message as AiMessage, Message };
@@ -40,6 +40,8 @@ export interface PromptInputProps extends Omit<JSX.HTMLAttributes<HTMLFormElemen
40
40
  * and take the text on `onSubmit`. Enter sends; Shift+Enter breaks the
41
41
  * line. While `busy` the seal becomes a stop seal and Enter holds its
42
42
  * breath. */
43
- export declare function PromptInput(props: PromptInputProps): JSX.Element;
43
+ export declare const PromptInput: ((props: PromptInputProps) => JSX.Element) & {
44
+ Root: (props: PromptInputProps) => JSX.Element;
45
+ };
44
46
  //#endregion
45
47
  export { PromptInput as AiPromptInput };
@@ -1,3 +1,5 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
1
3
  import { Button } from "../button/index.mjs";
2
4
  import { n as useComponentMessages } from "../../use-component-messages-C4SCVYjD.mjs";
3
5
  import { Field } from "../field/index.mjs";
@@ -5,16 +7,18 @@ import { injectComponentStyle } from "@bysages/core";
5
7
  import { claimElement, createComponent, insert, setAttribute, spread, template } from "@solidjs/web";
6
8
  import { Show, splitProps } from "solid-js";
7
9
  //#region src/components/ai-prompt-input/index.tsx
8
- var _tmpl$ = /* @__PURE__ */ template(`<svg viewBox="0 0 16 16"width=14 height=14 aria-hidden=true fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=square><path d="M8 13V3M3.5 7.5 8 3l4.5 4.5">`);
9
- var _tmpl$2 = /* @__PURE__ */ template(`<svg viewBox="0 0 16 16"width=14 height=14 aria-hidden=true><rect x=4.5 y=4.5 width=7 height=7 fill=currentColor>`);
10
- var _tmpl$3 = /* @__PURE__ */ template(`<div data-scope=ai>`);
11
- var _tmpl$4 = /* @__PURE__ */ template(`<div data-scope=ai data-part=prompt-footer><div data-scope=ai data-part=prompt-end><!><!>`);
12
- var _tmpl$5 = /* @__PURE__ */ template(`<form><div data-scope=ai data-part=prompt-main><!><!><!></div><!>`);
13
- function arrowUpGlyph() {
14
- return _tmpl$();
10
+ var _tmpl$ = /* @__PURE__ */ template(`<svg viewBox="0 0 16 16"width=14 height=14 aria-hidden=true><rect x=4.5 y=4.5 width=7 height=7 fill=currentColor>`);
11
+ var _tmpl$2 = /* @__PURE__ */ template(`<div data-scope=ai>`);
12
+ var _tmpl$3 = /* @__PURE__ */ template(`<div data-scope=ai data-part=prompt-footer><div data-scope=ai data-part=prompt-end><!><!>`);
13
+ var _tmpl$4 = /* @__PURE__ */ template(`<form><div data-scope=ai data-part=prompt-main><!><!><!></div><!>`);
14
+ function arrowUpIcon() {
15
+ return iconNode("arrow-up", {
16
+ width: "14",
17
+ height: "14"
18
+ });
15
19
  }
16
- function stopGlyph() {
17
- return _tmpl$2();
20
+ function stopIcon() {
21
+ return _tmpl$();
18
22
  }
19
23
  /** The prompt vessel: the shared field textarea — self-growing on the
20
24
  * machine's autoresize — with the submit seal riding its last line.
@@ -28,7 +32,7 @@ function stopGlyph() {
28
32
  * and take the text on `onSubmit`. Enter sends; Shift+Enter breaks the
29
33
  * line. While `busy` the seal becomes a stop seal and Enter holds its
30
34
  * breath. */
31
- function PromptInput(props) {
35
+ const PromptInput = withSelfRoot(function PromptInput(props) {
32
36
  injectComponentStyle("ai");
33
37
  const [own, rest] = splitProps(props, [
34
38
  "value",
@@ -52,10 +56,10 @@ function PromptInput(props) {
52
56
  own.onValueChange?.("");
53
57
  };
54
58
  const row = (part, content) => content != null ? (() => {
55
- var _el$3 = _tmpl$3();
56
- setAttribute(_el$3, "data-part", part);
57
- insert(_el$3, content);
58
- return _el$3;
59
+ var _el$2 = _tmpl$2();
60
+ setAttribute(_el$2, "data-part", part);
61
+ insert(_el$2, content);
62
+ return _el$2;
59
63
  })() : null;
60
64
  const seal = () => own.busy ? createComponent(Button, {
61
65
  variant: "solid",
@@ -70,7 +74,7 @@ function PromptInput(props) {
70
74
  },
71
75
  onClick: () => own.onStop?.(),
72
76
  get children() {
73
- return stopGlyph();
77
+ return stopIcon();
74
78
  }
75
79
  }) : createComponent(Button, {
76
80
  variant: "solid",
@@ -84,18 +88,18 @@ function PromptInput(props) {
84
88
  return own.disabled || !(own.value ?? "").trim();
85
89
  },
86
90
  get children() {
87
- return arrowUpGlyph();
91
+ return arrowUpIcon();
88
92
  }
89
93
  });
90
94
  const trailing = () => own.footer != null ? own.trailing : own.trailing ?? seal();
91
- var _el$4 = _tmpl$5();
95
+ var _el$3 = _tmpl$4();
96
+ var _el$4 = _el$3.firstChild;
92
97
  var _el$5 = _el$4.firstChild;
93
- var _el$6 = _el$5.firstChild;
98
+ var _el$6 = _el$5.nextSibling;
94
99
  var _el$7 = _el$6.nextSibling;
95
- var _el$8 = _el$7.nextSibling;
96
- var _el$13 = _el$5.nextSibling;
97
- claimElement(_el$4);
98
- spread(_el$4, [rest, {
100
+ var _el$12 = _el$4.nextSibling;
101
+ claimElement(_el$3);
102
+ spread(_el$3, [rest, {
99
103
  "data-scope": "ai",
100
104
  "data-part": "prompt",
101
105
  onSubmit: (event) => {
@@ -103,13 +107,13 @@ function PromptInput(props) {
103
107
  send();
104
108
  }
105
109
  }], true);
106
- insert(_el$4, () => {
110
+ insert(_el$3, () => {
107
111
  return row("prompt-header", own.header);
108
- }, _el$5);
109
- insert(_el$5, () => {
112
+ }, _el$4);
113
+ insert(_el$4, () => {
110
114
  return row("prompt-leading", own.leading);
111
- }, _el$6);
112
- insert(_el$5, createComponent(Field.Root, { get children() {
115
+ }, _el$5);
116
+ insert(_el$4, createComponent(Field.Root, { get children() {
113
117
  return createComponent(Field.Textarea, {
114
118
  autoresize: true,
115
119
  rows: 1,
@@ -133,30 +137,30 @@ function PromptInput(props) {
133
137
  }
134
138
  }
135
139
  });
136
- } }), _el$7);
137
- insert(_el$5, () => {
140
+ } }), _el$6);
141
+ insert(_el$4, () => {
138
142
  return row("prompt-trailing", trailing());
139
- }, _el$8);
140
- insert(_el$4, createComponent(Show, {
143
+ }, _el$7);
144
+ insert(_el$3, createComponent(Show, {
141
145
  get when() {
142
146
  return own.footer != null;
143
147
  },
144
148
  get children() {
145
- var _el$9 = _tmpl$4();
149
+ var _el$8 = _tmpl$3();
150
+ var _el$9 = _el$8.firstChild;
146
151
  var _el$10 = _el$9.firstChild;
147
- var _el$11 = _el$10.firstChild;
148
- var _el$12 = _el$11.nextSibling;
149
- insert(_el$9, () => {
152
+ var _el$11 = _el$10.nextSibling;
153
+ insert(_el$8, () => {
150
154
  return own.footer;
151
- }, _el$10);
152
- insert(_el$10, () => {
155
+ }, _el$9);
156
+ insert(_el$9, () => {
153
157
  return own.footerEnd;
154
- }, _el$11);
155
- insert(_el$10, seal, _el$12);
156
- return _el$9;
158
+ }, _el$10);
159
+ insert(_el$9, seal, _el$11);
160
+ return _el$8;
157
161
  }
158
- }), _el$13);
159
- return _el$4;
160
- }
162
+ }), _el$12);
163
+ return _el$3;
164
+ });
161
165
  //#endregion
162
166
  export { PromptInput as AiPromptInput, PromptInput };
@@ -8,6 +8,8 @@ export interface ReasoningProps extends JSX.HTMLAttributes<HTMLDivElement> {
8
8
  }
9
9
  /** The model's thought, folded by the shared collapsible in its quiet
10
10
  * register: bare ink for a trigger, the thought on one hairline. */
11
- export declare function Reasoning(props: ReasoningProps): JSX.Element;
11
+ export declare const Reasoning: ((props: ReasoningProps) => JSX.Element) & {
12
+ Root: (props: ReasoningProps) => JSX.Element;
13
+ };
12
14
  //#endregion
13
15
  export { Reasoning as AiReasoning };