@bysages/solid 0.4.3 → 0.5.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 (315) hide show
  1. package/README.md +2 -2
  2. package/dist/ai-NX47X8sz.mjs +365 -0
  3. package/dist/ai-prompt-input-CEnnpkgi.mjs +486 -0
  4. package/dist/{ai-response-CJ-uEAgj.mjs → ai-response-BM_DVIDY.mjs} +25 -27
  5. package/dist/{chevron-BHQrYKPM.mjs → chevron-DGKPHc2O.mjs} +2 -3
  6. package/dist/components/accordion/index.d.mts +1 -2
  7. package/dist/components/accordion/index.mjs +9 -16
  8. package/dist/components/affix/index.d.mts +1 -3
  9. package/dist/components/affix/index.mjs +19 -18
  10. package/dist/components/ai/index.d.mts +95 -2
  11. package/dist/components/ai/index.mjs +7 -69
  12. package/dist/components/ai-action/index.d.mts +0 -2
  13. package/dist/components/ai-action/index.mjs +4 -5
  14. package/dist/components/ai-attachments/index.d.mts +0 -2
  15. package/dist/components/ai-attachments/index.mjs +39 -52
  16. package/dist/components/ai-message/index.d.mts +2 -15
  17. package/dist/components/ai-message/index.mjs +18 -15
  18. package/dist/components/ai-prompt-input/index.d.mts +19 -15
  19. package/dist/components/ai-prompt-input/index.mjs +1 -168
  20. package/dist/components/ai-reasoning/index.d.mts +0 -2
  21. package/dist/components/ai-reasoning/index.mjs +8 -13
  22. package/dist/components/ai-response/index.d.mts +1 -3
  23. package/dist/components/ai-response/index.mjs +1 -2
  24. package/dist/components/ai-source/index.d.mts +0 -2
  25. package/dist/components/ai-source/index.mjs +25 -26
  26. package/dist/components/ai-suggestion/index.d.mts +0 -2
  27. package/dist/components/ai-suggestion/index.mjs +3 -4
  28. package/dist/components/ai-tool/index.d.mts +2 -25
  29. package/dist/components/ai-tool/index.mjs +75 -40
  30. package/dist/components/alert/index.d.mts +1 -2
  31. package/dist/components/alert/index.mjs +38 -33
  32. package/dist/components/angle-slider/index.d.mts +1 -2
  33. package/dist/components/angle-slider/index.mjs +6 -9
  34. package/dist/components/aspect-ratio/index.d.mts +1 -3
  35. package/dist/components/aspect-ratio/index.mjs +18 -17
  36. package/dist/components/autocomplete/index.d.mts +1 -2
  37. package/dist/components/autocomplete/index.mjs +6 -8
  38. package/dist/components/avatar/index.d.mts +17 -6
  39. package/dist/components/avatar/index.mjs +66 -10
  40. package/dist/components/avatar-group/index.d.mts +1 -3
  41. package/dist/components/avatar-group/index.mjs +15 -14
  42. package/dist/components/back-top/index.d.mts +1 -3
  43. package/dist/components/back-top/index.mjs +29 -34
  44. package/dist/components/badge/index.d.mts +1 -3
  45. package/dist/components/badge/index.mjs +18 -17
  46. package/dist/components/banner/index.d.mts +18 -3
  47. package/dist/components/banner/index.mjs +108 -31
  48. package/dist/components/bento/index.d.mts +1 -3
  49. package/dist/components/bento/index.mjs +30 -31
  50. package/dist/components/block-ui/index.d.mts +1 -3
  51. package/dist/components/block-ui/index.mjs +30 -33
  52. package/dist/components/breadcrumb/index.d.mts +15 -3
  53. package/dist/components/breadcrumb/index.mjs +56 -12
  54. package/dist/components/browser/index.d.mts +1 -3
  55. package/dist/components/browser/index.mjs +50 -51
  56. package/dist/components/button/index.d.mts +1 -3
  57. package/dist/components/button/index.mjs +31 -30
  58. package/dist/components/button-group/index.d.mts +1 -3
  59. package/dist/components/button-group/index.mjs +21 -20
  60. package/dist/components/calendar/index.d.mts +0 -2
  61. package/dist/components/calendar/index.mjs +73 -116
  62. package/dist/components/card/index.d.mts +1 -3
  63. package/dist/components/card/index.mjs +3 -4
  64. package/dist/components/carousel/index.d.mts +1 -2
  65. package/dist/components/carousel/index.mjs +6 -7
  66. package/dist/components/cascade-select/index.d.mts +1 -3
  67. package/dist/components/cascade-select/index.mjs +127 -167
  68. package/dist/components/checkbox/index.d.mts +1 -2
  69. package/dist/components/checkbox/index.mjs +7 -10
  70. package/dist/components/checkbox-group/index.d.mts +1 -2
  71. package/dist/components/checkbox-group/index.mjs +9 -12
  72. package/dist/components/chip/index.d.mts +1 -3
  73. package/dist/components/chip/index.mjs +22 -25
  74. package/dist/components/client-only/index.d.mts +0 -2
  75. package/dist/components/client-only/index.mjs +2 -3
  76. package/dist/components/clipboard/index.d.mts +1 -2
  77. package/dist/components/clipboard/index.mjs +10 -17
  78. package/dist/components/collapsible/index.d.mts +1 -2
  79. package/dist/components/collapsible/index.mjs +7 -14
  80. package/dist/components/collection/index.mjs +1 -2
  81. package/dist/components/color-picker/index.d.mts +5 -2
  82. package/dist/components/color-picker/index.mjs +69 -39
  83. package/dist/components/combobox/index.d.mts +1 -2
  84. package/dist/components/combobox/index.mjs +9 -14
  85. package/dist/components/command/index.d.mts +1 -2
  86. package/dist/components/command/index.mjs +63 -80
  87. package/dist/components/comment/index.d.mts +1 -3
  88. package/dist/components/comment/index.mjs +64 -80
  89. package/dist/components/config-provider/index.d.mts +1 -3
  90. package/dist/components/config-provider/index.mjs +10 -13
  91. package/dist/components/container/index.d.mts +1 -3
  92. package/dist/components/container/index.mjs +18 -17
  93. package/dist/components/data-view/index.d.mts +1 -3
  94. package/dist/components/data-view/index.mjs +81 -90
  95. package/dist/components/date-input/index.d.mts +1 -2
  96. package/dist/components/date-input/index.mjs +6 -9
  97. package/dist/components/date-picker/index.d.mts +1 -2
  98. package/dist/components/date-picker/index.mjs +11 -16
  99. package/dist/components/deferred-content/index.d.mts +1 -3
  100. package/dist/components/deferred-content/index.mjs +24 -25
  101. package/dist/components/descriptions/index.d.mts +1 -2
  102. package/dist/components/descriptions/index.mjs +40 -39
  103. package/dist/components/dialog/index.d.mts +11 -2
  104. package/dist/components/dialog/index.mjs +78 -40
  105. package/dist/components/dock/index.d.mts +1 -3
  106. package/dist/components/dock/index.mjs +29 -30
  107. package/dist/components/download-trigger/index.d.mts +0 -2
  108. package/dist/components/download-trigger/index.mjs +2 -3
  109. package/dist/components/drawer/index.d.mts +1 -2
  110. package/dist/components/drawer/index.mjs +9 -18
  111. package/dist/components/dynamic-input/index.d.mts +1 -3
  112. package/dist/components/dynamic-input/index.mjs +73 -77
  113. package/dist/components/editable/index.d.mts +1 -2
  114. package/dist/components/editable/index.mjs +7 -10
  115. package/dist/components/ellipsis/index.d.mts +1 -3
  116. package/dist/components/ellipsis/index.mjs +21 -20
  117. package/dist/components/empty/index.d.mts +1 -3
  118. package/dist/components/empty/index.mjs +3 -4
  119. package/dist/components/field/index.d.mts +1 -2
  120. package/dist/components/field/index.mjs +4 -5
  121. package/dist/components/fieldset/index.d.mts +1 -2
  122. package/dist/components/fieldset/index.mjs +6 -9
  123. package/dist/components/file-upload/index.d.mts +1 -2
  124. package/dist/components/file-upload/index.mjs +6 -7
  125. package/dist/components/float-button/index.d.mts +25 -3
  126. package/dist/components/float-button/index.mjs +108 -39
  127. package/dist/components/floating-panel/index.d.mts +1 -2
  128. package/dist/components/floating-panel/index.mjs +10 -21
  129. package/dist/components/focus-trap/index.d.mts +0 -2
  130. package/dist/components/focus-trap/index.mjs +2 -3
  131. package/dist/components/form/index.d.mts +0 -2
  132. package/dist/components/form/index.mjs +42 -58
  133. package/dist/components/format/index.d.mts +1 -3
  134. package/dist/components/format/index.mjs +1 -2
  135. package/dist/components/frame/index.d.mts +1 -2
  136. package/dist/components/frame/index.mjs +3 -4
  137. package/dist/components/grid/index.d.mts +1 -3
  138. package/dist/components/grid/index.mjs +23 -22
  139. package/dist/components/highlight/index.d.mts +1 -3
  140. package/dist/components/highlight/index.mjs +2 -3
  141. package/dist/components/hover-card/index.d.mts +1 -2
  142. package/dist/components/hover-card/index.mjs +12 -27
  143. package/dist/components/icon/index.d.mts +1 -3
  144. package/dist/components/icon/index.mjs +35 -36
  145. package/dist/components/image/index.d.mts +1 -3
  146. package/dist/components/image/index.mjs +48 -52
  147. package/dist/components/image-cropper/index.d.mts +1 -2
  148. package/dist/components/image-cropper/index.mjs +5 -6
  149. package/dist/components/image-viewer/index.d.mts +1 -1
  150. package/dist/components/image-viewer/index.mjs +1 -2
  151. package/dist/components/input/index.d.mts +1 -3
  152. package/dist/components/input/index.mjs +1 -2
  153. package/dist/components/input-group/index.d.mts +1 -2
  154. package/dist/components/input-group/index.mjs +19 -16
  155. package/dist/components/json-tree-view/index.d.mts +1 -2
  156. package/dist/components/json-tree-view/index.mjs +5 -6
  157. package/dist/components/kbd/index.d.mts +1 -3
  158. package/dist/components/kbd/index.mjs +12 -11
  159. package/dist/components/layout/index.d.mts +1 -2
  160. package/dist/components/layout/index.mjs +92 -84
  161. package/dist/components/link/index.d.mts +1 -3
  162. package/dist/components/link/index.mjs +15 -15
  163. package/dist/components/list/index.d.mts +1 -2
  164. package/dist/components/list/index.mjs +57 -61
  165. package/dist/components/listbox/index.d.mts +1 -2
  166. package/dist/components/listbox/index.mjs +8 -11
  167. package/dist/components/marquee/index.d.mts +1 -2
  168. package/dist/components/marquee/index.mjs +7 -8
  169. package/dist/components/masonry/index.d.mts +1 -3
  170. package/dist/components/masonry/index.mjs +19 -18
  171. package/dist/components/media-player/index.d.mts +1 -1
  172. package/dist/components/media-player/index.mjs +1 -2
  173. package/dist/components/mentions/index.d.mts +2 -2
  174. package/dist/components/mentions/index.mjs +1 -3
  175. package/dist/components/menu/index.d.mts +1 -2
  176. package/dist/components/menu/index.mjs +8 -17
  177. package/dist/components/menubar/index.d.mts +1 -2
  178. package/dist/components/menubar/index.mjs +66 -72
  179. package/dist/components/meter/index.d.mts +1 -2
  180. package/dist/components/meter/index.mjs +42 -43
  181. package/dist/components/navigation-menu/index.d.mts +1 -2
  182. package/dist/components/navigation-menu/index.mjs +7 -12
  183. package/dist/components/number-input/index.d.mts +1 -2
  184. package/dist/components/number-input/index.mjs +7 -10
  185. package/dist/components/order-list/index.d.mts +1 -3
  186. package/dist/components/order-list/index.mjs +86 -101
  187. package/dist/components/page-header/index.d.mts +1 -3
  188. package/dist/components/page-header/index.mjs +3 -4
  189. package/dist/components/pagination/index.d.mts +1 -2
  190. package/dist/components/pagination/index.mjs +31 -42
  191. package/dist/components/password-input/index.d.mts +1 -2
  192. package/dist/components/password-input/index.mjs +6 -7
  193. package/dist/components/pin-input/index.d.mts +1 -2
  194. package/dist/components/pin-input/index.mjs +6 -9
  195. package/dist/components/popconfirm/index.d.mts +2 -3
  196. package/dist/components/popconfirm/index.mjs +15 -23
  197. package/dist/components/popover/index.d.mts +2 -26
  198. package/dist/components/popover/index.mjs +10 -21
  199. package/dist/components/presence/index.d.mts +0 -2
  200. package/dist/components/presence/index.mjs +2 -3
  201. package/dist/components/progress/index.d.mts +1 -2
  202. package/dist/components/progress/index.mjs +14 -26
  203. package/dist/components/progress-group/index.d.mts +1 -3
  204. package/dist/components/progress-group/index.mjs +60 -68
  205. package/dist/components/qr-code/index.d.mts +1 -2
  206. package/dist/components/qr-code/index.mjs +5 -8
  207. package/dist/components/radio-group/index.d.mts +1 -2
  208. package/dist/components/radio-group/index.mjs +6 -9
  209. package/dist/components/rating-group/index.d.mts +1 -2
  210. package/dist/components/rating-group/index.mjs +7 -10
  211. package/dist/components/result/index.d.mts +1 -2
  212. package/dist/components/result/index.mjs +28 -29
  213. package/dist/components/scroll-area/index.d.mts +8 -3
  214. package/dist/components/scroll-area/index.mjs +19 -11
  215. package/dist/components/segment-group/index.d.mts +1 -2
  216. package/dist/components/segment-group/index.mjs +5 -8
  217. package/dist/components/select/index.d.mts +1 -1
  218. package/dist/components/select/index.mjs +1 -2
  219. package/dist/components/separator/index.d.mts +1 -3
  220. package/dist/components/separator/index.mjs +21 -20
  221. package/dist/components/signature-pad/index.d.mts +1 -2
  222. package/dist/components/signature-pad/index.mjs +7 -10
  223. package/dist/components/skeleton/index.d.mts +1 -3
  224. package/dist/components/skeleton/index.mjs +12 -11
  225. package/dist/components/slider/index.d.mts +1 -2
  226. package/dist/components/slider/index.mjs +6 -9
  227. package/dist/components/spinner/index.d.mts +1 -3
  228. package/dist/components/spinner/index.mjs +20 -19
  229. package/dist/components/split-button/index.d.mts +1 -2
  230. package/dist/components/split-button/index.mjs +92 -94
  231. package/dist/components/splitter/index.d.mts +1 -2
  232. package/dist/components/splitter/index.mjs +5 -8
  233. package/dist/components/spotlight/index.d.mts +1 -3
  234. package/dist/components/spotlight/index.mjs +22 -23
  235. package/dist/components/stack/index.d.mts +1 -3
  236. package/dist/components/stack/index.mjs +24 -23
  237. package/dist/components/stat/index.d.mts +1 -2
  238. package/dist/components/stat/index.mjs +15 -14
  239. package/dist/components/steps/index.d.mts +0 -2
  240. package/dist/components/steps/index.mjs +10 -17
  241. package/dist/components/swap/index.d.mts +1 -2
  242. package/dist/components/swap/index.mjs +5 -6
  243. package/dist/components/switch/index.d.mts +1 -2
  244. package/dist/components/switch/index.mjs +6 -9
  245. package/dist/components/table/index.d.mts +0 -2
  246. package/dist/components/table/index.mjs +233 -320
  247. package/dist/components/tabs/index.d.mts +8 -12
  248. package/dist/components/tabs/index.mjs +83 -34
  249. package/dist/components/tag/index.d.mts +1 -2
  250. package/dist/components/tag/index.mjs +46 -70
  251. package/dist/components/tags-input/index.d.mts +1 -2
  252. package/dist/components/tags-input/index.mjs +7 -10
  253. package/dist/components/terminal/index.d.mts +3 -3
  254. package/dist/components/terminal/index.mjs +61 -56
  255. package/dist/components/textarea/index.d.mts +1 -3
  256. package/dist/components/textarea/index.mjs +10 -11
  257. package/dist/components/timeline/index.d.mts +1 -2
  258. package/dist/components/timeline/index.mjs +15 -14
  259. package/dist/components/timer/index.d.mts +1 -2
  260. package/dist/components/timer/index.mjs +5 -6
  261. package/dist/components/toast/index.d.mts +0 -2
  262. package/dist/components/toast/index.mjs +5 -6
  263. package/dist/components/toc/index.d.mts +1 -1
  264. package/dist/components/toc/index.mjs +1 -2
  265. package/dist/components/toggle/index.d.mts +1 -2
  266. package/dist/components/toggle/index.mjs +5 -6
  267. package/dist/components/toggle-group/index.d.mts +1 -2
  268. package/dist/components/toggle-group/index.mjs +11 -16
  269. package/dist/components/toolbar/index.d.mts +1 -3
  270. package/dist/components/toolbar/index.mjs +27 -31
  271. package/dist/components/tooltip/index.d.mts +1 -2
  272. package/dist/components/tooltip/index.mjs +7 -16
  273. package/dist/components/tour/index.d.mts +0 -2
  274. package/dist/components/tour/index.mjs +11 -16
  275. package/dist/components/transfer/index.d.mts +1 -2
  276. package/dist/components/transfer/index.mjs +115 -126
  277. package/dist/components/tree-select/index.d.mts +2 -3
  278. package/dist/components/tree-select/index.mjs +24 -33
  279. package/dist/components/tree-view/index.d.mts +10 -4
  280. package/dist/components/tree-view/index.mjs +32 -23
  281. package/dist/components/typography/index.d.mts +2 -3
  282. package/dist/components/typography/index.mjs +4 -4
  283. package/dist/components/user/index.d.mts +1 -3
  284. package/dist/components/user/index.mjs +40 -57
  285. package/dist/components/virtual-list/index.d.mts +1 -3
  286. package/dist/components/virtual-list/index.mjs +39 -45
  287. package/dist/components/watermark/index.d.mts +1 -3
  288. package/dist/components/watermark/index.mjs +15 -22
  289. package/dist/{element-dGIhOTJ6.mjs → element-liigPBUh.mjs} +1 -2
  290. package/dist/{family-Cmd8HEyK.mjs → family-B5HtE0on.mjs} +1 -2
  291. package/dist/generative/index.d.mts +0 -2
  292. package/dist/generative/index.mjs +240 -248
  293. package/dist/{icon-DTqmJCd5.mjs → icon-DQqYA2fO.mjs} +11 -17
  294. package/dist/{id-2ygNzPHF.mjs → id-DGvz-2rQ.mjs} +1 -2
  295. package/dist/{image-viewer-19s75Hz_.mjs → image-viewer-TEia4PaY.mjs} +73 -101
  296. package/dist/{index-BU5U5w04.d.mts → index-B4WyTngM.d.mts} +0 -4
  297. package/dist/index-BRvSfkKs.d.mts +25 -0
  298. package/dist/{index-DhripUtf.d.mts → index-CTsFsYdA.d.mts} +0 -4
  299. package/dist/index-CutrHCzU.d.mts +153 -0
  300. package/dist/{index-wW28BYf1.d.mts → index-CwmZdzxT.d.mts} +0 -8
  301. package/dist/index-DK7YgaAU.d.mts +37 -0
  302. package/dist/index-Dms00480.d.mts +115 -0
  303. package/dist/{index-ID48LCMU.d.mts → index-Dv6mwzIr.d.mts} +3 -7
  304. package/dist/index.d.mts +17 -17
  305. package/dist/index.mjs +12 -12
  306. package/dist/{input-BL3N3L8g.mjs → input-2xfPP-7Z.mjs} +11 -13
  307. package/dist/{media-player-yF7KVUxM.mjs → media-player-LHnTiSiN.mjs} +248 -259
  308. package/dist/mentions-CvY9IGzc.mjs +438 -0
  309. package/dist/{select-DI7pFspF.mjs → select-NaNlrYUT.mjs} +72 -96
  310. package/dist/{toc-DRHr8_eD.mjs → toc-RnPG3w7q.mjs} +5 -7
  311. package/dist/{use-component-messages-C4SCVYjD.mjs → use-component-messages-DS9ppb4C.mjs} +1 -2
  312. package/package.json +13 -13
  313. package/dist/index-DEArHiFI.d.mts +0 -104
  314. package/dist/index-DVc1L_zt.d.mts +0 -10435
  315. package/dist/mentions-DKUG7eHt.mjs +0 -279
@@ -1,168 +1 @@
1
- import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
- import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
3
- import { Button } from "../button/index.mjs";
4
- import { n as useComponentMessages } from "../../use-component-messages-C4SCVYjD.mjs";
5
- import { Field } from "../field/index.mjs";
6
- import { claimElement, createComponent, insert, setAttribute, spread, template } from "@solidjs/web";
7
- import { injectComponentStyle } from "@bysages/core/styling";
8
- import { Show, splitProps } from "solid-js";
9
- //#region src/components/ai-prompt-input/index.tsx
10
- var _tmpl$ = /* @__PURE__ */ template(`<div data-scope=ai>`);
11
- var _tmpl$2 = /* @__PURE__ */ template(`<div data-scope=ai data-part=prompt-footer><div data-scope=ai data-part=prompt-end><!><!>`);
12
- var _tmpl$3 = /* @__PURE__ */ template(`<form><div data-scope=ai data-part=prompt-main><!><!><!></div><!>`);
13
- function arrowUpIcon() {
14
- return iconNode("arrow-up", {
15
- width: "14",
16
- height: "14"
17
- });
18
- }
19
- function stopIcon() {
20
- return iconNode("square", {
21
- width: "14",
22
- height: "14"
23
- });
24
- }
25
- /** The prompt vessel: the shared field textarea — self-growing on the
26
- * machine's autoresize — with the submit seal riding its last line.
27
- * Around the body, the slot props answer the composer's anatomy:
28
- * `header` for attachments riding above, `leading` for the tools at
29
- * the text's left, `trailing` for the seal itself, `footer` for the
30
- * tools beneath, and `footerEnd` for the controls that close the
31
- * footer row — the seal falls there by default, so a model picker
32
- * dropped in rides the send's shoulder. An empty slot renders no part,
33
- * so the bare vessel stays one quiet line. Controlled — bind `value`
34
- * and take the text on `onSubmit`. Enter sends; Shift+Enter breaks the
35
- * line. While `busy` the seal becomes a stop seal and Enter holds its
36
- * breath. */
37
- const PromptInput = withSelfRoot(function PromptInput(props) {
38
- injectComponentStyle("ai");
39
- const [own, rest] = splitProps(props, [
40
- "value",
41
- "onValueChange",
42
- "onSubmit",
43
- "onStop",
44
- "placeholder",
45
- "disabled",
46
- "busy",
47
- "header",
48
- "leading",
49
- "trailing",
50
- "footer",
51
- "footerEnd"
52
- ]);
53
- const messages = useComponentMessages();
54
- const send = () => {
55
- const value = (own.value ?? "").trim();
56
- if (!value || own.disabled || own.busy) return;
57
- own.onSubmit?.(value);
58
- own.onValueChange?.("");
59
- };
60
- const row = (part, content) => content != null ? (() => {
61
- var _el$ = _tmpl$();
62
- setAttribute(_el$, "data-part", part);
63
- insert(_el$, content);
64
- return _el$;
65
- })() : null;
66
- const seal = () => own.busy ? createComponent(Button, {
67
- variant: "solid",
68
- size: "sm",
69
- square: true,
70
- type: "button",
71
- get "aria-label"() {
72
- return messages().ai.stop;
73
- },
74
- get disabled() {
75
- return own.disabled;
76
- },
77
- onClick: () => own.onStop?.(),
78
- get children() {
79
- return stopIcon();
80
- }
81
- }) : createComponent(Button, {
82
- variant: "solid",
83
- size: "sm",
84
- square: true,
85
- type: "submit",
86
- get "aria-label"() {
87
- return messages().ai.send;
88
- },
89
- get disabled() {
90
- return own.disabled || !(own.value ?? "").trim();
91
- },
92
- get children() {
93
- return arrowUpIcon();
94
- }
95
- });
96
- const trailing = () => own.footer != null ? own.trailing : own.trailing ?? seal();
97
- var _el$2 = _tmpl$3();
98
- var _el$3 = _el$2.firstChild;
99
- var _el$4 = _el$3.firstChild;
100
- var _el$5 = _el$4.nextSibling;
101
- var _el$6 = _el$5.nextSibling;
102
- var _el$11 = _el$3.nextSibling;
103
- claimElement(_el$2);
104
- spread(_el$2, [rest, {
105
- "data-scope": "ai",
106
- "data-part": "prompt",
107
- onSubmit: (event) => {
108
- event.preventDefault();
109
- send();
110
- }
111
- }], true);
112
- insert(_el$2, () => {
113
- return row("prompt-header", own.header);
114
- }, _el$3);
115
- insert(_el$3, () => {
116
- return row("prompt-leading", own.leading);
117
- }, _el$4);
118
- insert(_el$3, createComponent(Field.Root, { get children() {
119
- return createComponent(Field.Textarea, {
120
- autoresize: true,
121
- rows: 1,
122
- get value() {
123
- return own.value ?? "";
124
- },
125
- get placeholder() {
126
- return own.placeholder ?? messages().ai.send;
127
- },
128
- get "aria-label"() {
129
- return messages().ai.conversation;
130
- },
131
- get disabled() {
132
- return own.disabled;
133
- },
134
- onInput: (event) => own.onValueChange?.(event.currentTarget.value),
135
- onKeyDown: (event) => {
136
- if (event.key === "Enter" && !event.shiftKey) {
137
- event.preventDefault();
138
- send();
139
- }
140
- }
141
- });
142
- } }), _el$5);
143
- insert(_el$3, () => {
144
- return row("prompt-trailing", trailing());
145
- }, _el$6);
146
- insert(_el$2, createComponent(Show, {
147
- get when() {
148
- return own.footer != null;
149
- },
150
- get children() {
151
- var _el$7 = _tmpl$2();
152
- var _el$8 = _el$7.firstChild;
153
- var _el$9 = _el$8.firstChild;
154
- var _el$10 = _el$9.nextSibling;
155
- insert(_el$7, () => {
156
- return own.footer;
157
- }, _el$8);
158
- insert(_el$8, () => {
159
- return own.footerEnd;
160
- }, _el$9);
161
- insert(_el$8, seal, _el$10);
162
- return _el$7;
163
- }
164
- }), _el$11);
165
- return _el$2;
166
- });
167
- //#endregion
168
- export { PromptInput as AiPromptInput, PromptInput };
1
+ export { t as PromptInput } from "../../ai-prompt-input-CEnnpkgi.mjs";
@@ -1,5 +1,4 @@
1
1
  import { JSX } from "solid-js";
2
- //#region src/components/ai-reasoning/index.d.ts
3
2
  export interface ReasoningProps extends JSX.HTMLAttributes<HTMLDivElement> {
4
3
  /** The trigger's words — the fold arrives open under them. */
5
4
  label?: string;
@@ -11,5 +10,4 @@ export interface ReasoningProps extends JSX.HTMLAttributes<HTMLDivElement> {
11
10
  export declare const Reasoning: ((props: ReasoningProps) => JSX.Element) & {
12
11
  Root: (props: ReasoningProps) => JSX.Element;
13
12
  };
14
- //#endregion
15
13
  export { Reasoning as AiReasoning };
@@ -1,12 +1,12 @@
1
- import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
- import { t as chevron } from "../../chevron-BHQrYKPM.mjs";
1
+ import { n as withSelfRoot } from "../../family-B5HtE0on.mjs";
2
+ import { t as chevron } from "../../chevron-DGKPHc2O.mjs";
3
3
  import { Collapsible } from "../collapsible/index.mjs";
4
- import { createComponent, insert, mergeProps, template } from "@solidjs/web";
4
+ import { createComponent, insert, mergeProps, template } from "solid-js/web";
5
5
  import { injectComponentStyle } from "@bysages/core/styling";
6
6
  import { splitProps } from "solid-js";
7
- //#region src/components/ai-reasoning/index.tsx
8
- var _tmpl$ = /* @__PURE__ */ template(`<span>`);
9
- var _tmpl$2 = /* @__PURE__ */ template(`<div data-scope=ai data-part=reasoning-content>`);
7
+ // src/components/ai-reasoning/index.tsx
8
+ var _tmpl$ = /*#__PURE__*/ template(`<span>`);
9
+ var _tmpl$2 = /*#__PURE__*/ template(`<div data-scope=ai data-part=reasoning-content>`);
10
10
  /** The model's thought, folded by the shared collapsible in its quiet
11
11
  * register: bare ink for a trigger, the thought on one hairline. */
12
12
  const Reasoning = withSelfRoot(function Reasoning(props) {
@@ -18,22 +18,17 @@ const Reasoning = withSelfRoot(function Reasoning(props) {
18
18
  return [createComponent(Collapsible.Trigger, { get children() {
19
19
  return [(() => {
20
20
  var _el$ = _tmpl$();
21
- insert(_el$, () => {
22
- return own.label ?? "Thinking";
23
- });
21
+ insert(_el$, () => own.label ?? "Thinking");
24
22
  return _el$;
25
23
  })(), createComponent(Collapsible.Indicator, { get children() {
26
24
  return chevron();
27
25
  } })];
28
26
  } }), createComponent(Collapsible.Content, { get children() {
29
27
  var _el$2 = _tmpl$2();
30
- insert(_el$2, () => {
31
- return own.children;
32
- });
28
+ insert(_el$2, () => own.children);
33
29
  return _el$2;
34
30
  } })];
35
31
  }
36
32
  }));
37
33
  });
38
- //#endregion
39
34
  export { Reasoning as AiReasoning, Reasoning };
@@ -1,5 +1,4 @@
1
1
  import { JSX } from "solid-js";
2
- //#region src/components/ai-response/index.d.ts
3
2
  export interface ResponseProps extends JSX.HTMLAttributes<HTMLDivElement> {
4
3
  /** The markdown text to set on the paper — streamed in freely; raw
5
4
  * HTML and executable links stay inert. */
@@ -13,10 +12,9 @@ export interface ResponseProps extends JSX.HTMLAttributes<HTMLDivElement> {
13
12
  copiedLabel?: string;
14
13
  }
15
14
  /** Markdown set on the paper. Rendering goes through
16
- * `@tanstack/markdown`, whose defaults leave raw HTML and executable
15
+ * `@bysages/core/markdown`, whose defaults leave raw HTML and executable
17
16
  * links inert — streaming-safe by construction. */
18
17
  export declare const Response: ((props: ResponseProps) => JSX.Element) & {
19
18
  Root: (props: ResponseProps) => JSX.Element;
20
19
  };
21
- //#endregion
22
20
  export { Response as AiResponse };
@@ -1,2 +1 @@
1
- import { t as Response } from "../../ai-response-CJ-uEAgj.mjs";
2
- export { Response as AiResponse, Response };
1
+ export { t as AiResponse, t as Response } from "../../ai-response-BM_DVIDY.mjs";
@@ -1,5 +1,4 @@
1
1
  import { JSX } from "solid-js";
2
- //#region src/components/ai-source/index.d.ts
3
2
  export interface SourceProps extends JSX.HTMLAttributes<HTMLAnchorElement> {
4
3
  /** Where the ink came from — also the link text when no children are
5
4
  * given; opens in a new tab, referrer-free. */
@@ -13,5 +12,4 @@ export declare const Source: ((props: SourceProps) => JSX.Element) & {
13
12
  export declare const Sources: ((props: JSX.HTMLAttributes<HTMLOListElement>) => JSX.Element) & {
14
13
  Root: (props: JSX.HTMLAttributes<HTMLOListElement>) => JSX.Element;
15
14
  };
16
- //#endregion
17
15
  export { Source as AiSource, Sources as AiSources };
@@ -1,37 +1,36 @@
1
- import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
- import { claimElement, insert, spread, template } from "@solidjs/web";
1
+ import { n as withSelfRoot } from "../../family-B5HtE0on.mjs";
2
+ import { insert, mergeProps, spread, template } from "solid-js/web";
3
3
  import { injectComponentStyle } from "@bysages/core/styling";
4
4
  import { splitProps } from "solid-js";
5
- //#region src/components/ai-source/index.tsx
6
- var _tmpl$ = /* @__PURE__ */ template(`<li data-scope=ai data-part=source><a>`);
7
- var _tmpl$2 = /* @__PURE__ */ template(`<ol>`);
5
+ // src/components/ai-source/index.tsx
6
+ var _tmpl$ = /*#__PURE__*/ template(`<li data-scope=ai data-part=source><a>`);
7
+ var _tmpl$2 = /*#__PURE__*/ template(`<ol>`);
8
8
  /** One place the ink came from; href and the rest ride the anchor. */
9
9
  const Source = withSelfRoot(function Source(props) {
10
10
  injectComponentStyle("ai");
11
11
  const [own, rest] = splitProps(props, ["href", "children"]);
12
- var _el$ = _tmpl$();
13
- var _el$2 = _el$.firstChild;
14
- claimElement(_el$2);
15
- spread(_el$2, [rest, {
16
- get href() {
17
- return own.href;
18
- },
19
- target: "_blank",
20
- rel: "noreferrer"
21
- }], true);
22
- insert(_el$2, () => {
23
- return own.children ?? own.href;
24
- });
25
- return _el$;
12
+ return (() => {
13
+ var _el$ = _tmpl$(), _el$2 = _el$.firstChild;
14
+ spread(_el$2, mergeProps(rest, {
15
+ get href() {
16
+ return own.href;
17
+ },
18
+ "target": "_blank",
19
+ "rel": "noreferrer"
20
+ }), false, true);
21
+ insert(_el$2, () => own.children ?? own.href);
22
+ return _el$;
23
+ })();
26
24
  });
27
25
  /** The reading list under a response: where this ink came from. */
28
26
  const Sources = withSelfRoot(function Sources(props) {
29
- var _el$3 = _tmpl$2();
30
- spread(_el$3, [props, {
31
- "data-scope": "ai",
32
- "data-part": "sources"
33
- }], false);
34
- return _el$3;
27
+ return (() => {
28
+ var _el$3 = _tmpl$2();
29
+ spread(_el$3, mergeProps(props, {
30
+ "data-scope": "ai",
31
+ "data-part": "sources"
32
+ }), false, false);
33
+ return _el$3;
34
+ })();
35
35
  });
36
- //#endregion
37
36
  export { Source as AiSource, Source, Sources as AiSources, Sources };
@@ -1,5 +1,4 @@
1
1
  import { JSX } from "solid-js";
2
- //#region src/components/ai-suggestion/index.d.ts
3
2
  export interface SuggestionProps extends Omit<JSX.HTMLAttributes<HTMLButtonElement>, "onSelect"> {
4
3
  /** The next stroke this seal proposes — also its label; handed
5
4
  * back whole on `onSelect`. */
@@ -11,5 +10,4 @@ export interface SuggestionProps extends Omit<JSX.HTMLAttributes<HTMLButtonEleme
11
10
  export declare const Suggestion: ((props: SuggestionProps) => JSX.Element) & {
12
11
  Root: (props: SuggestionProps) => JSX.Element;
13
12
  };
14
- //#endregion
15
13
  export { Suggestion as AiSuggestion };
@@ -1,9 +1,9 @@
1
- import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
1
+ import { n as withSelfRoot } from "../../family-B5HtE0on.mjs";
2
2
  import { Button } from "../button/index.mjs";
3
- import { createComponent, mergeProps } from "@solidjs/web";
3
+ import { createComponent, mergeProps } from "solid-js/web";
4
4
  import { injectComponentStyle } from "@bysages/core/styling";
5
5
  import { splitProps } from "solid-js";
6
- //#region src/components/ai-suggestion/index.tsx
6
+ // src/components/ai-suggestion/index.tsx
7
7
  /** A seal-cut button proposing the next stroke; selection hands back
8
8
  * the prompt. The shared Button in its outline register. */
9
9
  const Suggestion = withSelfRoot(function Suggestion(props) {
@@ -19,5 +19,4 @@ const Suggestion = withSelfRoot(function Suggestion(props) {
19
19
  }
20
20
  }));
21
21
  });
22
- //#endregion
23
22
  export { Suggestion as AiSuggestion, Suggestion };
@@ -1,25 +1,2 @@
1
- import { JSX } from "solid-js";
2
- //#region src/components/ai-tool/index.d.ts
3
- export type ToolStatus = "pending" | "running" | "completed" | "error";
4
- export interface ToolProps extends JSX.HTMLAttributes<HTMLDivElement> {
5
- /** The name the tool was reached by — shown raw on the trigger
6
- * unless friendlier `label` words are given. */
7
- name: string;
8
- /** Friendlier trigger words than the raw tool name. */
9
- label?: JSX.Element;
10
- /** The state the call reached — pending, running, completed, or
11
- * error; stamped on the fold and whispered in the status chip. */
12
- status?: ToolStatus;
13
- /** The fold arrives open when set — rides the shared collapsible. */
14
- defaultOpen?: boolean;
15
- input?: string;
16
- output?: string;
17
- }
18
- /** A tool call: the shared collapsible as the vessel — the name it was
19
- * reached by and the state it reached in on the trigger, its input and
20
- * output folded inside. */
21
- export declare const Tool: ((props: ToolProps) => JSX.Element) & {
22
- Root: (props: ToolProps) => JSX.Element;
23
- };
24
- //#endregion
25
- export { Tool as AiTool };
1
+ import { a as ToolValue, i as ToolStatus, n as ToolApproval, r as ToolProps, t as Tool } from "../../index-DK7YgaAU.mjs";
2
+ export { Tool as AiTool, Tool, ToolApproval, ToolProps, ToolStatus, ToolValue };
@@ -1,38 +1,51 @@
1
- import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
- import { t as chevron } from "../../chevron-BHQrYKPM.mjs";
1
+ import { n as withSelfRoot } from "../../family-B5HtE0on.mjs";
2
+ import { Button } from "../button/index.mjs";
3
+ import { n as useComponentMessages } from "../../use-component-messages-DS9ppb4C.mjs";
4
+ import { t as chevron } from "../../chevron-DGKPHc2O.mjs";
3
5
  import { Collapsible } from "../collapsible/index.mjs";
4
- import { createComponent, insert, mergeProps, template } from "@solidjs/web";
6
+ import { createComponent, effect, insert, mergeProps, setAttribute, template } from "solid-js/web";
5
7
  import { injectComponentStyle } from "@bysages/core/styling";
6
8
  import { Show, splitProps } from "solid-js";
7
- //#region src/components/ai-tool/index.tsx
8
- var _tmpl$ = /* @__PURE__ */ template(`<span>`);
9
- var _tmpl$2 = /* @__PURE__ */ template(`<span data-scope=ai data-part=tool-status>`);
10
- var _tmpl$3 = /* @__PURE__ */ template(`<span data-scope=ai data-part=tool-label>Input`);
11
- var _tmpl$4 = /* @__PURE__ */ template(`<pre>`);
12
- var _tmpl$5 = /* @__PURE__ */ template(`<span data-scope=ai data-part=tool-label>Output`);
13
- var _tmpl$6 = /* @__PURE__ */ template(`<div data-scope=ai data-part=tool-body><!><!>`);
9
+ // src/components/ai-tool/index.tsx
10
+ var _tmpl$ = /*#__PURE__*/ template(`<span>`);
11
+ var _tmpl$2 = /*#__PURE__*/ template(`<span data-scope=ai data-part=tool-status>`);
12
+ var _tmpl$3 = /*#__PURE__*/ template(`<span data-scope=ai data-part=tool-label>`);
13
+ var _tmpl$4 = /*#__PURE__*/ template(`<pre>`);
14
+ var _tmpl$5 = /*#__PURE__*/ template(`<div data-scope=ai data-part=tool-actions>`);
15
+ var _tmpl$6 = /*#__PURE__*/ template(`<div data-scope=ai data-part=tool-body>`);
16
+ function formatValue(value) {
17
+ if (typeof value === "string") return value;
18
+ if (typeof value === "number" || typeof value === "boolean" || value === null) return String(value);
19
+ if (value === void 0) return "";
20
+ return JSON.stringify(value, null, 2) ?? "";
21
+ }
14
22
  /** A tool call: the shared collapsible as the vessel — the name it was
15
23
  * reached by and the state it reached in on the trigger, its input and
16
24
  * output folded inside. */
17
25
  const Tool = withSelfRoot(function Tool(props) {
18
26
  injectComponentStyle("ai");
27
+ const messages = useComponentMessages();
19
28
  const [own, rest] = splitProps(props, [
20
29
  "name",
21
30
  "label",
22
31
  "status",
32
+ "approval",
23
33
  "input",
24
- "output"
34
+ "inputValue",
35
+ "output",
36
+ "outputValue",
37
+ "defaultOpen",
38
+ "onApprove",
39
+ "onDeny"
25
40
  ]);
26
- return createComponent(Collapsible.Root, mergeProps(rest, { "data-ai": "tool" }, () => {
27
- return own.status ? { "data-status": own.status } : {};
28
- }, { get children() {
41
+ const inputContent = own.input ?? (own.inputValue !== void 0 ? formatValue(own.inputValue) : null);
42
+ const outputContent = own.output ?? (own.outputValue !== void 0 ? formatValue(own.outputValue) : null);
43
+ return createComponent(Collapsible.Root, mergeProps(rest, () => own.defaultOpen ? { defaultOpen: true } : {}, { "data-ai": "tool" }, () => own.status ? { "data-status": own.status } : {}, () => own.approval ? { "data-approval": own.approval } : {}, { get children() {
29
44
  return [createComponent(Collapsible.Trigger, { get children() {
30
45
  return [
31
46
  (() => {
32
47
  var _el$ = _tmpl$();
33
- insert(_el$, () => {
34
- return own.label ?? own.name;
35
- });
48
+ insert(_el$, () => own.label ?? own.name);
36
49
  return _el$;
37
50
  })(),
38
51
  createComponent(Show, {
@@ -41,9 +54,7 @@ const Tool = withSelfRoot(function Tool(props) {
41
54
  },
42
55
  get children() {
43
56
  var _el$2 = _tmpl$2();
44
- insert(_el$2, () => {
45
- return own.status.charAt(0).toUpperCase() + own.status.slice(1);
46
- });
57
+ insert(_el$2, () => own.status.charAt(0).toUpperCase() + own.status.slice(1));
47
58
  return _el$2;
48
59
  }
49
60
  }),
@@ -53,39 +64,63 @@ const Tool = withSelfRoot(function Tool(props) {
53
64
  ];
54
65
  } }), createComponent(Collapsible.Content, { get children() {
55
66
  var _el$3 = _tmpl$6();
56
- var _el$6 = _el$3.firstChild;
57
- var _el$9 = _el$6.nextSibling;
58
67
  insert(_el$3, createComponent(Show, {
59
- get when() {
60
- return own.input !== void 0;
61
- },
68
+ when: inputContent != null,
62
69
  get children() {
63
- return [_tmpl$3(), (() => {
70
+ return [(() => {
71
+ var _el$4 = _tmpl$3();
72
+ insert(_el$4, () => messages().ai.input);
73
+ return _el$4;
74
+ })(), (() => {
64
75
  var _el$5 = _tmpl$4();
65
- insert(_el$5, () => {
66
- return own.input;
67
- });
76
+ insert(_el$5, inputContent);
68
77
  return _el$5;
69
78
  })()];
70
79
  }
71
- }), _el$6);
80
+ }), null);
81
+ insert(_el$3, createComponent(Show, {
82
+ when: outputContent != null,
83
+ get children() {
84
+ return [(() => {
85
+ var _el$6 = _tmpl$3();
86
+ insert(_el$6, () => messages().ai.output);
87
+ return _el$6;
88
+ })(), (() => {
89
+ var _el$7 = _tmpl$4();
90
+ insert(_el$7, outputContent);
91
+ return _el$7;
92
+ })()];
93
+ }
94
+ }), null);
72
95
  insert(_el$3, createComponent(Show, {
73
96
  get when() {
74
- return own.output !== void 0;
97
+ return own.approval === "required";
75
98
  },
76
99
  get children() {
77
- return [_tmpl$5(), (() => {
78
- var _el$8 = _tmpl$4();
79
- insert(_el$8, () => {
80
- return own.output;
81
- });
82
- return _el$8;
83
- })()];
100
+ var _el$8 = _tmpl$5();
101
+ insert(_el$8, createComponent(Button, {
102
+ variant: "outline",
103
+ size: "sm",
104
+ tone: "danger",
105
+ onClick: () => own.onDeny?.(),
106
+ get children() {
107
+ return messages().ai.deny;
108
+ }
109
+ }), null);
110
+ insert(_el$8, createComponent(Button, {
111
+ variant: "solid",
112
+ size: "sm",
113
+ onClick: () => own.onApprove?.(),
114
+ get children() {
115
+ return messages().ai.approve;
116
+ }
117
+ }), null);
118
+ effect(() => setAttribute(_el$8, "data-approval", own.approval));
119
+ return _el$8;
84
120
  }
85
- }), _el$9);
121
+ }), null);
86
122
  return _el$3;
87
123
  } })];
88
124
  } }));
89
125
  });
90
- //#endregion
91
126
  export { Tool as AiTool, Tool };
@@ -1,5 +1,4 @@
1
1
  import { JSX } from "solid-js";
2
- //#region src/components/alert/index.d.ts
3
2
  export type AlertStatus = "ink" | "info" | "success" | "warning" | "danger";
4
3
  /** A notice drawn on the page: a wash of the status pigment, one heavier
5
4
  * hairline on the leading edge, the serif for its title. Root, Icon,
@@ -19,4 +18,4 @@ export declare const Alert: typeof AlertRoot & {
19
18
  Title: typeof Title;
20
19
  Description: typeof Description;
21
20
  };
22
- //#endregion
21
+ export {};