@bysages/svelte 0.2.1 → 0.2.3

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 (422) hide show
  1. package/dist/AngleSliderRoot-CUe5sgWU.mjs +37 -0
  2. package/dist/CheckboxRoot-BP4ynFLq.mjs +37 -0
  3. package/dist/ChevronIcon-CVJJYda-.mjs +11 -0
  4. package/dist/ClipboardRoot-UmyQFn27.mjs +37 -0
  5. package/dist/ColorPickerRoot-DLgI9s3u.mjs +37 -0
  6. package/dist/ComboboxRoot-BsVcmUOj.mjs +37 -0
  7. package/dist/DateInputRoot-nROaFmB7.mjs +37 -0
  8. package/dist/DatePickerRoot-CkeHEAcG.mjs +37 -0
  9. package/dist/EditableRoot-CLmP5sIH.mjs +37 -0
  10. package/dist/FileUploadRoot-IVcTAZp-.mjs +37 -0
  11. package/dist/Input-Biz4J1B6.mjs +39 -0
  12. package/dist/ListboxRoot-DhFAnZ_c.mjs +37 -0
  13. package/dist/MenuRoot-C4zG0iw2.mjs +80 -0
  14. package/dist/NumberInputRoot-BQz2HHGb.mjs +37 -0
  15. package/dist/PaginationRoot-DnXcEZCa.mjs +37 -0
  16. package/dist/PasswordInputRoot-4yR0Aig4.mjs +37 -0
  17. package/dist/PinInputRoot-B8fTxTlv.mjs +37 -0
  18. package/dist/ProgressRoot-DwhwW31T.mjs +37 -0
  19. package/dist/RadioGroupRoot-BD_mxWjX.mjs +37 -0
  20. package/dist/RatingGroupRoot-iUWUAKtV.mjs +37 -0
  21. package/dist/SegmentGroupRoot-798Amg4S.mjs +37 -0
  22. package/dist/SelectRoot-l-rb18FH.mjs +37 -0
  23. package/dist/SliderRoot-BBIlf6Uw.mjs +37 -0
  24. package/dist/StepsRoot-Dg_3-lRb.mjs +37 -0
  25. package/dist/SwitchRoot-C7rPmjEA.mjs +37 -0
  26. package/dist/TabsRoot-BMMO3B77.mjs +37 -0
  27. package/dist/TagsInputRoot-COSQdHRz.mjs +37 -0
  28. package/dist/ToggleGroupRoot-D0ob9z4u.mjs +37 -0
  29. package/dist/TreeViewRoot-ConQj9TX.mjs +37 -0
  30. package/dist/affix-BtL4lBPi.mjs +45 -0
  31. package/dist/ai-BOUoSSjw.mjs +140 -0
  32. package/dist/ai-action-DKsvxilp.mjs +44 -0
  33. package/dist/ai-attachments-Y0Tf6UFL.mjs +123 -0
  34. package/dist/ai-message-DBs1fdFm.mjs +36 -0
  35. package/dist/ai-prompt-input-BmyKyadu.mjs +271 -0
  36. package/dist/ai-reasoning-C4YsB2hQ.mjs +77 -0
  37. package/dist/ai-response-D5IkRFMN.mjs +146 -0
  38. package/dist/ai-source-CvglcFw1.mjs +78 -0
  39. package/dist/ai-suggestion-zGAQ1kkf.mjs +38 -0
  40. package/dist/ai-tool-DY_iNbMk.mjs +117 -0
  41. package/dist/alert-Xp8I8IY9.mjs +156 -0
  42. package/dist/aspect-ratio-COOgu44A.mjs +36 -0
  43. package/dist/autocomplete-D7ZZ7Xpb.mjs +153 -0
  44. package/dist/avatar-BHYqgq4d.mjs +45 -0
  45. package/dist/avatar-group-BgIxNuVj.mjs +36 -0
  46. package/dist/back-top-rbP0aP47.mjs +109 -0
  47. package/dist/badge-DKa-8Pv0.mjs +38 -0
  48. package/dist/banner-LEPWtGlY.mjs +196 -0
  49. package/dist/breadcrumb-C01pAq93.mjs +183 -0
  50. package/dist/button-BCcX7lHq.mjs +52 -0
  51. package/dist/button-group-CVLqPMlR.mjs +41 -0
  52. package/dist/calendar-0tSnHuLj.mjs +471 -0
  53. package/dist/card-Bc3B7MYz.mjs +167 -0
  54. package/dist/cascade-select-C-eBcN_4.mjs +287 -0
  55. package/dist/checkbox-group-ARW_z7gp.mjs +130 -0
  56. package/dist/chip-mjLlbQ2t.mjs +38 -0
  57. package/dist/command-fZuTfbz4.mjs +343 -0
  58. package/dist/comment-C91xgrtK.mjs +102 -0
  59. package/dist/components/accordion/index.d.mts +7 -0
  60. package/dist/components/accordion/index.mjs +10 -0
  61. package/dist/components/affix/index.d.mts +2 -0
  62. package/dist/components/affix/index.mjs +2 -0
  63. package/dist/components/ai/index.d.mts +10 -0
  64. package/dist/components/ai/index.mjs +2 -0
  65. package/dist/components/ai-action/index.d.mts +7 -0
  66. package/dist/components/ai-action/index.mjs +2 -0
  67. package/dist/components/ai-attachments/index.d.mts +2 -0
  68. package/dist/components/ai-attachments/index.mjs +2 -0
  69. package/dist/components/ai-message/index.d.mts +7 -0
  70. package/dist/components/ai-message/index.mjs +2 -0
  71. package/dist/components/ai-prompt-input/index.d.mts +7 -0
  72. package/dist/components/ai-prompt-input/index.mjs +2 -0
  73. package/dist/components/ai-reasoning/index.d.mts +7 -0
  74. package/dist/components/ai-reasoning/index.mjs +2 -0
  75. package/dist/components/ai-response/index.d.mts +6 -0
  76. package/dist/components/ai-response/index.mjs +2 -0
  77. package/dist/components/ai-source/index.d.mts +8 -0
  78. package/dist/components/ai-source/index.mjs +2 -0
  79. package/dist/components/ai-suggestion/index.d.mts +7 -0
  80. package/dist/components/ai-suggestion/index.mjs +2 -0
  81. package/dist/components/ai-tool/index.d.mts +8 -0
  82. package/dist/components/ai-tool/index.mjs +2 -0
  83. package/dist/components/alert/index.d.mts +2 -0
  84. package/dist/components/alert/index.mjs +2 -0
  85. package/dist/components/angle-slider/index.d.mts +7 -0
  86. package/dist/components/angle-slider/index.mjs +13 -0
  87. package/dist/components/aspect-ratio/index.d.mts +2 -0
  88. package/dist/components/aspect-ratio/index.mjs +2 -0
  89. package/dist/components/autocomplete/index.d.mts +2 -0
  90. package/dist/components/autocomplete/index.mjs +2 -0
  91. package/dist/components/avatar/index.d.mts +2 -0
  92. package/dist/components/avatar/index.mjs +2 -0
  93. package/dist/components/avatar-group/index.d.mts +2 -0
  94. package/dist/components/avatar-group/index.mjs +2 -0
  95. package/dist/components/back-top/index.d.mts +2 -0
  96. package/dist/components/back-top/index.mjs +2 -0
  97. package/dist/components/badge/index.d.mts +2 -0
  98. package/dist/components/badge/index.mjs +2 -0
  99. package/dist/components/banner/index.d.mts +2 -0
  100. package/dist/components/banner/index.mjs +2 -0
  101. package/dist/components/breadcrumb/index.d.mts +2 -0
  102. package/dist/components/breadcrumb/index.mjs +2 -0
  103. package/dist/components/button/index.d.mts +2 -0
  104. package/dist/components/button/index.mjs +2 -0
  105. package/dist/components/button-group/index.d.mts +2 -0
  106. package/dist/components/button-group/index.mjs +2 -0
  107. package/dist/components/calendar/index.d.mts +2 -0
  108. package/dist/components/calendar/index.mjs +2 -0
  109. package/dist/components/card/index.d.mts +2 -0
  110. package/dist/components/card/index.mjs +2 -0
  111. package/dist/components/carousel/index.d.mts +9 -0
  112. package/dist/components/carousel/index.mjs +12 -0
  113. package/dist/components/cascade-select/index.d.mts +2 -0
  114. package/dist/components/cascade-select/index.mjs +2 -0
  115. package/dist/components/checkbox/index.d.mts +7 -0
  116. package/dist/components/checkbox/index.mjs +13 -0
  117. package/dist/components/checkbox-group/index.d.mts +2 -0
  118. package/dist/components/checkbox-group/index.mjs +2 -0
  119. package/dist/components/chip/index.d.mts +2 -0
  120. package/dist/components/chip/index.mjs +2 -0
  121. package/dist/components/client-only/index.d.mts +2 -0
  122. package/dist/components/client-only/index.mjs +2 -0
  123. package/dist/components/clipboard/index.d.mts +2 -0
  124. package/dist/components/clipboard/index.mjs +13 -0
  125. package/dist/components/collapsible/index.d.mts +7 -0
  126. package/dist/components/collapsible/index.mjs +10 -0
  127. package/dist/components/collection/index.d.mts +2 -0
  128. package/dist/components/collection/index.mjs +2 -0
  129. package/dist/components/color-picker/index.d.mts +7 -0
  130. package/dist/components/color-picker/index.mjs +17 -0
  131. package/dist/components/combobox/index.d.mts +7 -0
  132. package/dist/components/combobox/index.mjs +14 -0
  133. package/dist/components/command/index.d.mts +2 -0
  134. package/dist/components/command/index.mjs +2 -0
  135. package/dist/components/comment/index.d.mts +2 -0
  136. package/dist/components/comment/index.mjs +2 -0
  137. package/dist/components/config-provider/index.d.mts +2 -0
  138. package/dist/components/config-provider/index.mjs +2 -0
  139. package/dist/components/container/index.d.mts +2 -0
  140. package/dist/components/container/index.mjs +2 -0
  141. package/dist/components/date-input/index.d.mts +7 -0
  142. package/dist/components/date-input/index.mjs +13 -0
  143. package/dist/components/date-picker/index.d.mts +7 -0
  144. package/dist/components/date-picker/index.mjs +15 -0
  145. package/dist/components/descriptions/index.d.mts +2 -0
  146. package/dist/components/descriptions/index.mjs +2 -0
  147. package/dist/components/dialog/index.d.mts +9 -0
  148. package/dist/components/dialog/index.mjs +11 -0
  149. package/dist/components/download-trigger/index.d.mts +2 -0
  150. package/dist/components/download-trigger/index.mjs +2 -0
  151. package/dist/components/drawer/index.d.mts +9 -0
  152. package/dist/components/drawer/index.mjs +12 -0
  153. package/dist/components/dynamic-input/index.d.mts +2 -0
  154. package/dist/components/dynamic-input/index.mjs +2 -0
  155. package/dist/components/editable/index.d.mts +7 -0
  156. package/dist/components/editable/index.mjs +13 -0
  157. package/dist/components/ellipsis/index.d.mts +2 -0
  158. package/dist/components/ellipsis/index.mjs +2 -0
  159. package/dist/components/empty/index.d.mts +2 -0
  160. package/dist/components/empty/index.mjs +2 -0
  161. package/dist/components/field/index.d.mts +8 -0
  162. package/dist/components/field/index.mjs +11 -0
  163. package/dist/components/fieldset/index.d.mts +7 -0
  164. package/dist/components/fieldset/index.mjs +10 -0
  165. package/dist/components/file-upload/index.d.mts +7 -0
  166. package/dist/components/file-upload/index.mjs +15 -0
  167. package/dist/components/float-button/index.d.mts +2 -0
  168. package/dist/components/float-button/index.mjs +2 -0
  169. package/dist/components/floating-panel/index.d.mts +9 -0
  170. package/dist/components/floating-panel/index.mjs +12 -0
  171. package/dist/components/focus-trap/index.d.mts +2 -0
  172. package/dist/components/focus-trap/index.mjs +2 -0
  173. package/dist/components/form/index.d.mts +2 -0
  174. package/dist/components/form/index.mjs +2 -0
  175. package/dist/components/format/index.d.mts +9 -0
  176. package/dist/components/format/index.mjs +10 -0
  177. package/dist/components/frame/index.d.mts +10 -0
  178. package/dist/components/frame/index.mjs +12 -0
  179. package/dist/components/grid/index.d.mts +2 -0
  180. package/dist/components/grid/index.mjs +2 -0
  181. package/dist/components/highlight/index.d.mts +7 -0
  182. package/dist/components/highlight/index.mjs +11 -0
  183. package/dist/components/hover-card/index.d.mts +7 -0
  184. package/dist/components/hover-card/index.mjs +10 -0
  185. package/dist/components/icon/index.d.mts +2 -0
  186. package/dist/components/icon/index.mjs +2 -0
  187. package/dist/components/image/index.d.mts +2 -0
  188. package/dist/components/image/index.mjs +2 -0
  189. package/dist/components/image-cropper/index.d.mts +8 -0
  190. package/dist/components/image-cropper/index.mjs +11 -0
  191. package/dist/components/image-viewer/index.d.mts +2 -0
  192. package/dist/components/image-viewer/index.mjs +2 -0
  193. package/dist/components/input/index.d.mts +2 -0
  194. package/dist/components/input/index.mjs +8 -0
  195. package/dist/components/input-group/index.d.mts +2 -0
  196. package/dist/components/input-group/index.mjs +2 -0
  197. package/dist/components/json-tree-view/index.d.mts +7 -0
  198. package/dist/components/json-tree-view/index.mjs +10 -0
  199. package/dist/components/kbd/index.d.mts +2 -0
  200. package/dist/components/kbd/index.mjs +2 -0
  201. package/dist/components/layout/index.d.mts +2 -0
  202. package/dist/components/layout/index.mjs +2 -0
  203. package/dist/components/link/index.d.mts +2 -0
  204. package/dist/components/link/index.mjs +2 -0
  205. package/dist/components/list/index.d.mts +2 -0
  206. package/dist/components/list/index.mjs +2 -0
  207. package/dist/components/listbox/index.d.mts +2 -0
  208. package/dist/components/listbox/index.mjs +14 -0
  209. package/dist/components/marquee/index.d.mts +7 -0
  210. package/dist/components/marquee/index.mjs +10 -0
  211. package/dist/components/masonry/index.d.mts +2 -0
  212. package/dist/components/masonry/index.mjs +2 -0
  213. package/dist/components/mentions/index.d.mts +3 -0
  214. package/dist/components/mentions/index.mjs +3 -0
  215. package/dist/components/menu/index.d.mts +15 -0
  216. package/dist/components/menu/index.mjs +17 -0
  217. package/dist/components/menubar/index.d.mts +2 -0
  218. package/dist/components/menubar/index.mjs +2 -0
  219. package/dist/components/meter/index.d.mts +2 -0
  220. package/dist/components/meter/index.mjs +2 -0
  221. package/dist/components/navigation-menu/index.d.mts +8 -0
  222. package/dist/components/navigation-menu/index.mjs +11 -0
  223. package/dist/components/number-input/index.d.mts +7 -0
  224. package/dist/components/number-input/index.mjs +13 -0
  225. package/dist/components/page-header/index.d.mts +2 -0
  226. package/dist/components/page-header/index.mjs +2 -0
  227. package/dist/components/pagination/index.d.mts +7 -0
  228. package/dist/components/pagination/index.mjs +15 -0
  229. package/dist/components/password-input/index.d.mts +7 -0
  230. package/dist/components/password-input/index.mjs +13 -0
  231. package/dist/components/pin-input/index.d.mts +7 -0
  232. package/dist/components/pin-input/index.mjs +12 -0
  233. package/dist/components/popconfirm/index.d.mts +2 -0
  234. package/dist/components/popconfirm/index.mjs +2 -0
  235. package/dist/components/popover/index.d.mts +8 -0
  236. package/dist/components/popover/index.mjs +11 -0
  237. package/dist/components/presence/index.d.mts +2 -0
  238. package/dist/components/presence/index.mjs +2 -0
  239. package/dist/components/progress/index.d.mts +7 -0
  240. package/dist/components/progress/index.mjs +13 -0
  241. package/dist/components/progress-group/index.d.mts +2 -0
  242. package/dist/components/progress-group/index.mjs +2 -0
  243. package/dist/components/qr-code/index.d.mts +8 -0
  244. package/dist/components/qr-code/index.mjs +11 -0
  245. package/dist/components/radio-group/index.d.mts +7 -0
  246. package/dist/components/radio-group/index.mjs +13 -0
  247. package/dist/components/rating-group/index.d.mts +7 -0
  248. package/dist/components/rating-group/index.mjs +13 -0
  249. package/dist/components/scroll-area/index.d.mts +7 -0
  250. package/dist/components/scroll-area/index.mjs +10 -0
  251. package/dist/components/segment-group/index.d.mts +7 -0
  252. package/dist/components/segment-group/index.mjs +12 -0
  253. package/dist/components/select/index.d.mts +7 -0
  254. package/dist/components/select/index.mjs +14 -0
  255. package/dist/components/separator/index.d.mts +2 -0
  256. package/dist/components/separator/index.mjs +2 -0
  257. package/dist/components/signature-pad/index.d.mts +8 -0
  258. package/dist/components/signature-pad/index.mjs +11 -0
  259. package/dist/components/skeleton/index.d.mts +2 -0
  260. package/dist/components/skeleton/index.mjs +2 -0
  261. package/dist/components/slider/index.d.mts +7 -0
  262. package/dist/components/slider/index.mjs +13 -0
  263. package/dist/components/spinner/index.d.mts +2 -0
  264. package/dist/components/spinner/index.mjs +2 -0
  265. package/dist/components/split-button/index.d.mts +2 -0
  266. package/dist/components/split-button/index.mjs +2 -0
  267. package/dist/components/splitter/index.d.mts +7 -0
  268. package/dist/components/splitter/index.mjs +10 -0
  269. package/dist/components/stack/index.d.mts +2 -0
  270. package/dist/components/stack/index.mjs +2 -0
  271. package/dist/components/stat/index.d.mts +2 -0
  272. package/dist/components/stat/index.mjs +2 -0
  273. package/dist/components/steps/index.d.mts +7 -0
  274. package/dist/components/steps/index.mjs +16 -0
  275. package/dist/components/swap/index.d.mts +8 -0
  276. package/dist/components/swap/index.mjs +11 -0
  277. package/dist/components/switch/index.d.mts +7 -0
  278. package/dist/components/switch/index.mjs +13 -0
  279. package/dist/components/table/index.d.mts +2 -0
  280. package/dist/components/table/index.mjs +2 -0
  281. package/dist/components/tabs/index.d.mts +7 -0
  282. package/dist/components/tabs/index.mjs +15 -0
  283. package/dist/components/tags-input/index.d.mts +7 -0
  284. package/dist/components/tags-input/index.mjs +14 -0
  285. package/dist/components/textarea/index.d.mts +2 -0
  286. package/dist/components/textarea/index.mjs +2 -0
  287. package/dist/components/timeline/index.d.mts +2 -0
  288. package/dist/components/timeline/index.mjs +2 -0
  289. package/dist/components/timer/index.d.mts +8 -0
  290. package/dist/components/timer/index.mjs +11 -0
  291. package/dist/components/toast/index.d.mts +11 -0
  292. package/dist/components/toast/index.mjs +13 -0
  293. package/dist/components/toc/index.d.mts +7 -0
  294. package/dist/components/toc/index.mjs +10 -0
  295. package/dist/components/toggle/index.d.mts +7 -0
  296. package/dist/components/toggle/index.mjs +10 -0
  297. package/dist/components/toggle-group/index.d.mts +7 -0
  298. package/dist/components/toggle-group/index.mjs +12 -0
  299. package/dist/components/tooltip/index.d.mts +7 -0
  300. package/dist/components/tooltip/index.mjs +10 -0
  301. package/dist/components/tour/index.d.mts +11 -0
  302. package/dist/components/tour/index.mjs +13 -0
  303. package/dist/components/transfer/index.d.mts +2 -0
  304. package/dist/components/transfer/index.mjs +2 -0
  305. package/dist/components/tree-select/index.d.mts +2 -0
  306. package/dist/components/tree-select/index.mjs +2 -0
  307. package/dist/components/tree-view/index.d.mts +2 -0
  308. package/dist/components/tree-view/index.mjs +16 -0
  309. package/dist/components/typography/index.d.mts +2 -0
  310. package/dist/components/typography/index.mjs +2 -0
  311. package/dist/components/watermark/index.d.mts +2 -0
  312. package/dist/components/watermark/index.mjs +2 -0
  313. package/dist/config-provider-DW5wVzFr.mjs +75 -0
  314. package/dist/container-Cmiu_3W5.mjs +39 -0
  315. package/dist/descriptions-Cv3x5qLW.mjs +117 -0
  316. package/dist/dynamic-input-B3IBAoLs.mjs +127 -0
  317. package/dist/ellipsis-CLaZ9Grh.mjs +39 -0
  318. package/dist/empty-wwcTI107.mjs +141 -0
  319. package/dist/float-button-CZAda2SI.mjs +144 -0
  320. package/dist/form-De-ZwM1P.mjs +212 -0
  321. package/dist/grid-DNgTWYSL.mjs +54 -0
  322. package/dist/icon-B6_cYYzO.mjs +62 -0
  323. package/dist/image-1Lgj8xhS.mjs +81 -0
  324. package/dist/image-viewer-Dv3_Iyu8.mjs +186 -0
  325. package/dist/index--K4P_QKU.d.mts +14 -0
  326. package/dist/index-8JoOZcM6.d.mts +18 -0
  327. package/dist/index-B1iBag3L.d.mts +15 -0
  328. package/dist/index-B2JKtCzc.d.mts +25 -0
  329. package/dist/index-BFL_M4PT.d.mts +25 -0
  330. package/dist/index-BHlsL8ta.d.mts +30 -0
  331. package/dist/index-BIIMyeLK.d.mts +12 -0
  332. package/dist/index-BTndXl0q.d.mts +15 -0
  333. package/dist/index-BahdqXg4.d.mts +58 -0
  334. package/dist/index-BgLAlGbg.d.mts +28 -0
  335. package/dist/index-Bj2IsU9D.d.mts +26 -0
  336. package/dist/index-BjVEomHj.d.mts +13412 -0
  337. package/dist/index-BkK_8C_c.d.mts +29 -0
  338. package/dist/index-BnvnT-GQ.d.mts +23 -0
  339. package/dist/index-BwFSueFx.d.mts +20 -0
  340. package/dist/index-C0aalhwd.d.mts +43 -0
  341. package/dist/index-C84DUNp9.d.mts +33 -0
  342. package/dist/index-C8WNp4wI.d.mts +30 -0
  343. package/dist/index-CJsLok79.d.mts +29 -0
  344. package/dist/index-CKFfSEBR.d.mts +16 -0
  345. package/dist/index-CLoTtvcO.d.mts +19 -0
  346. package/dist/index-CM6inLqu.d.mts +28 -0
  347. package/dist/index-CRdyjHjx.d.mts +23 -0
  348. package/dist/index-CWNmeq0b.d.mts +21 -0
  349. package/dist/index-CY4EuxyF.d.mts +21 -0
  350. package/dist/index-CaVBzPln.d.mts +12 -0
  351. package/dist/index-Cd4UxWsz.d.mts +24 -0
  352. package/dist/index-Cd5VU1DI.d.mts +22 -0
  353. package/dist/index-CeIQyZkc.d.mts +21 -0
  354. package/dist/index-CiHanb4T.d.mts +22 -0
  355. package/dist/index-CjNUtqX_.d.mts +19 -0
  356. package/dist/index-CkFXH_oG.d.mts +31 -0
  357. package/dist/index-Cl8v2k0X.d.mts +36 -0
  358. package/dist/index-CwM-SPPz.d.mts +14 -0
  359. package/dist/index-D0lEVqZc.d.mts +18 -0
  360. package/dist/index-D6PrX-hf.d.mts +15 -0
  361. package/dist/index-D88v0BF1.d.mts +10 -0
  362. package/dist/index-D8F1dVDW.d.mts +59 -0
  363. package/dist/index-DAesWvpj.d.mts +22 -0
  364. package/dist/index-DH0ecZNW.d.mts +25 -0
  365. package/dist/index-DKDpZraB.d.mts +67 -0
  366. package/dist/index-DKfQGayE.d.mts +19 -0
  367. package/dist/index-DOcn6bMd.d.mts +15 -0
  368. package/dist/index-DTAcdUAd.d.mts +48 -0
  369. package/dist/index-D_cE3qK2.d.mts +44 -0
  370. package/dist/index-DfTAYXUT.d.mts +16 -0
  371. package/dist/index-DlHvtlYT.d.mts +28 -0
  372. package/dist/index-Dr-T8jsb.d.mts +82 -0
  373. package/dist/index-DrXCIscJ.d.mts +19 -0
  374. package/dist/index-Dy335EhR.d.mts +15 -0
  375. package/dist/index-KxuOZGfm.d.mts +14 -0
  376. package/dist/index-NJ21Q4f4.d.mts +25 -0
  377. package/dist/index-Nt0a2iYy.d.mts +1809 -0
  378. package/dist/index-OElK7gw7.d.mts +22 -0
  379. package/dist/index-XHTt8I1B.d.mts +21 -0
  380. package/dist/index-YCVah82j.d.mts +18 -0
  381. package/dist/index-ZUvVz2Fd.d.mts +24 -0
  382. package/dist/index-k0ac5WNj.d.mts +23 -0
  383. package/dist/index-nfkt_cP_.d.mts +18 -0
  384. package/dist/index-oI4U-72X.d.mts +15 -0
  385. package/dist/index-wDHiUpr6.d.mts +23 -0
  386. package/dist/index-zZy5ZnA5.d.mts +20 -0
  387. package/dist/index.d.mts +136 -15156
  388. package/dist/index.mjs +128 -8821
  389. package/dist/input-group-DeKewnvZ.mjs +62 -0
  390. package/dist/kbd-LXHpi4GM.mjs +33 -0
  391. package/dist/layout-WRo4P9-_.mjs +226 -0
  392. package/dist/link-CuNiatc7.mjs +36 -0
  393. package/dist/list-B23lA_sc.mjs +173 -0
  394. package/dist/masonry-B4-v4kJ0.mjs +52 -0
  395. package/dist/mentions-DjhgNRmY.mjs +204 -0
  396. package/dist/menubar-Crrkg2tZ.mjs +148 -0
  397. package/dist/meter-BgsJ2g-v.mjs +164 -0
  398. package/dist/page-header-DKpKUkTe.mjs +167 -0
  399. package/dist/popconfirm-NK5BPbrN.mjs +136 -0
  400. package/dist/progress-group-BQMAQWXh.mjs +81 -0
  401. package/dist/props-B9YcQX8X.d.mts +18 -0
  402. package/dist/props-BZcE7LP_.d.mts +12 -0
  403. package/dist/props-BvDM6-cm.d.mts +11 -0
  404. package/dist/props-C2OWII_8.d.mts +14 -0
  405. package/dist/props-CIwO25eA.d.mts +12 -0
  406. package/dist/props-D93CbAiS.d.mts +16 -0
  407. package/dist/props-Dr7ABUbp.d.mts +10 -0
  408. package/dist/props-U567RIQo.d.mts +42 -0
  409. package/dist/separator-4JWXConE.mjs +36 -0
  410. package/dist/skeleton-DOfOrlmL.mjs +30 -0
  411. package/dist/spinner-EpUWE3Hu.mjs +38 -0
  412. package/dist/split-button-CGjPB9DQ.mjs +171 -0
  413. package/dist/stack-DCKrejZp.mjs +57 -0
  414. package/dist/stat-5cTU1vyI.mjs +143 -0
  415. package/dist/table-C0AcH5Dw.mjs +975 -0
  416. package/dist/textarea-DzDc678j.mjs +44 -0
  417. package/dist/timeline-BV4eahUx.mjs +115 -0
  418. package/dist/transfer-0IAuhFCe.mjs +235 -0
  419. package/dist/tree-select-aHymj8Zu.mjs +379 -0
  420. package/dist/typography-Cygr9XaD.mjs +167 -0
  421. package/dist/watermark-C2d3-EAM.mjs +90 -0
  422. package/package.json +34 -4
@@ -0,0 +1,123 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import "svelte/internal/disclose-version";
3
+ import * as $ from "svelte/internal/client";
4
+ //#region src/components/ai-attachments/Attachment.svelte
5
+ var rest_excludes$1 = /* @__PURE__ */ new Set([
6
+ "$$slots",
7
+ "$$events",
8
+ "$$legacy",
9
+ "name",
10
+ "size",
11
+ "status",
12
+ "onRemove"
13
+ ]);
14
+ var root$1 = $.from_svg(`<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"></circle></svg>`);
15
+ var root_1 = $.from_svg(`<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"></path></svg>`);
16
+ var root_2 = $.from_html(`<span> </span>`);
17
+ var root_3 = $.from_html(`<span><!> <span> </span> <!> <button type="button" data-remove=""><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"></path></svg></button></span>`);
18
+ function Attachment$1($$anchor, $$props) {
19
+ $.push($$props, true);
20
+ injectComponentStyle("ai");
21
+ const IMAGE_EXTS = [
22
+ "png",
23
+ "jpg",
24
+ "jpeg",
25
+ "gif",
26
+ "webp",
27
+ "svg",
28
+ "avif",
29
+ "bmp",
30
+ "ico"
31
+ ];
32
+ const isImage = (name) => IMAGE_EXTS.includes(name.split(".").pop()?.toLowerCase() ?? "");
33
+ const humanSize = (bytes) => {
34
+ if (bytes < 1024) return `${bytes} B`;
35
+ const units = [
36
+ "KB",
37
+ "MB",
38
+ "GB"
39
+ ];
40
+ let value = bytes;
41
+ let unit = -1;
42
+ do {
43
+ value /= 1024;
44
+ unit += 1;
45
+ } while (value >= 1024 && unit < units.length - 1);
46
+ return `${value.toFixed(1)} ${units[unit]}`;
47
+ };
48
+ let status = $.prop($$props, "status", 3, "ready"), rest = $.rest_props($$props, rest_excludes$1);
49
+ var span = root_3();
50
+ $.attribute_effect(span, () => ({
51
+ ...rest,
52
+ "data-scope": "ai",
53
+ "data-part": "attachment",
54
+ "data-status": status()
55
+ }));
56
+ var node = $.child(span);
57
+ var consequent = ($$anchor) => {
58
+ var svg = root$1();
59
+ $.append($$anchor, svg);
60
+ };
61
+ var d = $.derived(() => isImage($$props.name));
62
+ var alternate = ($$anchor) => {
63
+ var svg_1 = root_1();
64
+ $.append($$anchor, svg_1);
65
+ };
66
+ $.if(node, ($$render) => {
67
+ if ($.get(d)) $$render(consequent);
68
+ else $$render(alternate, -1);
69
+ });
70
+ var span_1 = $.sibling(node, 2);
71
+ var text = $.only_child(span_1, true);
72
+ var node_1 = $.sibling(span_1, 2);
73
+ var consequent_1 = ($$anchor) => {
74
+ var span_2 = root_2();
75
+ var text_1 = $.only_child(span_2, true);
76
+ $.template_effect(($0) => $.set_text(text_1, $0), [() => humanSize($$props.size)]);
77
+ $.append($$anchor, span_2);
78
+ };
79
+ $.if(node_1, ($$render) => {
80
+ if ($$props.size !== void 0) $$render(consequent_1);
81
+ });
82
+ var button = $.sibling(node_1, 2);
83
+ $.reset(span);
84
+ $.template_effect(() => {
85
+ $.set_text(text, $$props.name);
86
+ $.set_attribute(button, "aria-label", `Remove ${$$props.name}`);
87
+ });
88
+ $.delegated("click", button, () => $$props.onRemove?.());
89
+ $.append($$anchor, span);
90
+ $.pop();
91
+ }
92
+ $.delegate(["click"]);
93
+ //#endregion
94
+ //#region src/components/ai-attachments/Attachments.svelte
95
+ var rest_excludes = /* @__PURE__ */ new Set([
96
+ "$$slots",
97
+ "$$events",
98
+ "$$legacy",
99
+ "children"
100
+ ]);
101
+ var root = $.from_html(`<span><!></span>`);
102
+ function Attachments$1($$anchor, $$props) {
103
+ $.push($$props, true);
104
+ injectComponentStyle("ai");
105
+ let rest = $.rest_props($$props, rest_excludes);
106
+ var span = root();
107
+ $.attribute_effect(span, () => ({
108
+ ...rest,
109
+ "data-scope": "ai",
110
+ "data-part": "attachments"
111
+ }));
112
+ var node = $.child(span);
113
+ $.snippet(node, () => $$props.children ?? $.noop);
114
+ $.reset(span);
115
+ $.append($$anchor, span);
116
+ $.pop();
117
+ }
118
+ //#endregion
119
+ //#region src/components/ai-attachments/index.ts
120
+ const Attachment = Attachment$1;
121
+ const Attachments = Attachments$1;
122
+ //#endregion
123
+ export { Attachments as n, Attachment as t };
@@ -0,0 +1,36 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import "svelte/internal/disclose-version";
3
+ import * as $ from "svelte/internal/client";
4
+ //#region src/components/ai-message/AiMessage.svelte
5
+ var rest_excludes = /* @__PURE__ */ new Set([
6
+ "$$slots",
7
+ "$$events",
8
+ "$$legacy",
9
+ "role",
10
+ "children"
11
+ ]);
12
+ var root = $.from_html(`<article><!></article>`);
13
+ function AiMessage$1($$anchor, $$props) {
14
+ $.push($$props, true);
15
+ injectComponentStyle("ai");
16
+ let role = $.prop($$props, "role", 3, "assistant"), rest = $.rest_props($$props, rest_excludes);
17
+ var article = root();
18
+ $.attribute_effect(article, () => ({
19
+ ...rest,
20
+ "data-scope": "ai",
21
+ "data-part": "message",
22
+ "data-role": role()
23
+ }));
24
+ var node = $.child(article);
25
+ $.snippet(node, () => $$props.children ?? $.noop);
26
+ $.reset(article);
27
+ $.append($$anchor, article);
28
+ $.pop();
29
+ }
30
+ //#endregion
31
+ //#region src/components/ai-message/index.ts
32
+ /** Whose stroke this is — the user's words sit in a recessed bubble,
33
+ * the assistant speaks flat on the paper. */
34
+ const AiMessage = AiMessage$1;
35
+ //#endregion
36
+ export { AiMessage as t };
@@ -0,0 +1,271 @@
1
+ import { t as Button } from "./button-BCcX7lHq.mjs";
2
+ import { Field } from "./components/field/index.mjs";
3
+ import { n as MentionsVessel } from "./mentions-DjhgNRmY.mjs";
4
+ import { t as useMentions } from "./use-mentions-DeF_38di.mjs";
5
+ import { injectComponentStyle } from "@bysages/core";
6
+ import "svelte/internal/disclose-version";
7
+ import * as $ from "svelte/internal/client";
8
+ //#region src/components/ai-prompt-input/AiPromptInput.svelte
9
+ var rest_excludes = /* @__PURE__ */ new Set([
10
+ "$$slots",
11
+ "$$events",
12
+ "$$legacy",
13
+ "value",
14
+ "onValueChange",
15
+ "onSubmit",
16
+ "onStop",
17
+ "placeholder",
18
+ "disabled",
19
+ "busy",
20
+ "mentions",
21
+ "header",
22
+ "leading",
23
+ "trailing",
24
+ "footer",
25
+ "footerEnd"
26
+ ]);
27
+ var root = $.from_svg(`<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"></rect></svg>`);
28
+ var root_1 = $.from_svg(`<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"></path></svg>`);
29
+ var root_2 = $.from_html(`<div data-scope="ai" data-part="prompt-header"><!></div>`);
30
+ var root_3 = $.from_html(`<div data-scope="ai" data-part="prompt-leading"><!></div>`);
31
+ var root_4 = $.from_html(`<div data-scope="ai" data-part="prompt-trailing"><!> <!></div>`);
32
+ var root_5 = $.from_html(`<div data-scope="ai" data-part="prompt-footer"><!> <div data-scope="ai" data-part="prompt-end"><!> <!></div></div>`);
33
+ var root_6 = $.from_html(`<form><!> <div data-scope="ai" data-part="prompt-main"><!> <!> <!> <!></div> <!></form>`);
34
+ function AiPromptInput$1($$anchor, $$props) {
35
+ $.push($$props, true);
36
+ const seal = ($$anchor) => {
37
+ var fragment = $.comment();
38
+ var node = $.first_child(fragment);
39
+ var consequent = ($$anchor) => {
40
+ Button($$anchor, {
41
+ variant: "solid",
42
+ size: "sm",
43
+ square: true,
44
+ type: "button",
45
+ "aria-label": "Stop",
46
+ get disabled() {
47
+ return disabled();
48
+ },
49
+ onclick: () => $$props.onStop?.(),
50
+ children: ($$anchor, $$slotProps) => {
51
+ var svg = root();
52
+ $.append($$anchor, svg);
53
+ },
54
+ $$slots: { default: true }
55
+ });
56
+ };
57
+ var alternate = ($$anchor) => {
58
+ {
59
+ let $0 = $.derived(() => disabled() || !value().trim());
60
+ Button($$anchor, {
61
+ variant: "solid",
62
+ size: "sm",
63
+ square: true,
64
+ type: "submit",
65
+ "aria-label": "Send",
66
+ get disabled() {
67
+ return $.get($0);
68
+ },
69
+ children: ($$anchor, $$slotProps) => {
70
+ var svg_1 = root_1();
71
+ $.append($$anchor, svg_1);
72
+ },
73
+ $$slots: { default: true }
74
+ });
75
+ }
76
+ };
77
+ $.if(node, ($$render) => {
78
+ if (busy()) $$render(consequent);
79
+ else $$render(alternate, -1);
80
+ });
81
+ $.append($$anchor, fragment);
82
+ };
83
+ injectComponentStyle("ai");
84
+ let value = $.prop($$props, "value", 15, ""), placeholder = $.prop($$props, "placeholder", 3, "Send a message"), disabled = $.prop($$props, "disabled", 3, false), busy = $.prop($$props, "busy", 3, false), rest = $.rest_props($$props, rest_excludes);
85
+ let textareaEl = $.state(null);
86
+ const mentionState = useMentions(() => ({
87
+ items: $$props.mentions?.items ?? [],
88
+ trigger: $$props.mentions?.trigger
89
+ }), () => $.get(textareaEl), {
90
+ getText: () => $.get(textareaEl)?.value ?? value(),
91
+ setText: (next) => {
92
+ value(next);
93
+ $$props.onValueChange?.(next);
94
+ }
95
+ });
96
+ const mentionsActive = $.derived(() => $$props.mentions != null);
97
+ function send() {
98
+ const text = value().trim();
99
+ if (!text || disabled() || busy()) return;
100
+ $$props.onSubmit?.(text);
101
+ value("");
102
+ $$props.onValueChange?.("");
103
+ }
104
+ const hasFooter = $.derived(() => $$props.footer != null);
105
+ var form = root_6();
106
+ var event_handler = (event) => {
107
+ event.preventDefault();
108
+ send();
109
+ };
110
+ $.attribute_effect(form, () => ({
111
+ ...rest,
112
+ "data-scope": "ai",
113
+ "data-part": "prompt",
114
+ onsubmit: event_handler
115
+ }));
116
+ var node_1 = $.child(form);
117
+ var consequent_1 = ($$anchor) => {
118
+ var div = root_2();
119
+ var node_2 = $.child(div);
120
+ $.snippet(node_2, () => $$props.header);
121
+ $.reset(div);
122
+ $.append($$anchor, div);
123
+ };
124
+ $.if(node_1, ($$render) => {
125
+ if ($$props.header) $$render(consequent_1);
126
+ });
127
+ var div_1 = $.sibling(node_1, 2);
128
+ var node_3 = $.child(div_1);
129
+ var consequent_2 = ($$anchor) => {
130
+ var div_2 = root_3();
131
+ var node_4 = $.child(div_2);
132
+ $.snippet(node_4, () => $$props.leading);
133
+ $.reset(div_2);
134
+ $.append($$anchor, div_2);
135
+ };
136
+ $.if(node_3, ($$render) => {
137
+ if ($$props.leading) $$render(consequent_2);
138
+ });
139
+ var node_5 = $.sibling(node_3, 2);
140
+ $.component(node_5, () => Field.Root, ($$anchor, Field_Root) => {
141
+ Field_Root($$anchor, {
142
+ children: ($$anchor, $$slotProps) => {
143
+ var fragment_3 = $.comment();
144
+ var node_6 = $.first_child(fragment_3);
145
+ $.component(node_6, () => Field.Textarea, ($$anchor, Field_Textarea) => {
146
+ Field_Textarea($$anchor, {
147
+ autoresize: true,
148
+ rows: 1,
149
+ get placeholder() {
150
+ return placeholder();
151
+ },
152
+ get disabled() {
153
+ return disabled();
154
+ },
155
+ oninput: () => mentionState.onInput(),
156
+ onkeydown: (event) => {
157
+ if (mentionState.onKeydown(event)) return;
158
+ if (event.key === "Enter" && !event.shiftKey) {
159
+ event.preventDefault();
160
+ send();
161
+ }
162
+ },
163
+ get ref() {
164
+ return $.get(textareaEl);
165
+ },
166
+ set ref($$value) {
167
+ $.set(textareaEl, $$value, true);
168
+ },
169
+ get value() {
170
+ return value();
171
+ },
172
+ set value($$value) {
173
+ value($$value);
174
+ }
175
+ });
176
+ });
177
+ $.append($$anchor, fragment_3);
178
+ },
179
+ $$slots: { default: true }
180
+ });
181
+ });
182
+ var node_7 = $.sibling(node_5, 2);
183
+ var consequent_3 = ($$anchor) => {
184
+ MentionsVessel($$anchor, {
185
+ get open() {
186
+ return mentionState.open;
187
+ },
188
+ get matches() {
189
+ return mentionState.matches;
190
+ },
191
+ get active() {
192
+ return mentionState.active;
193
+ },
194
+ get anchor() {
195
+ return $.get(textareaEl);
196
+ },
197
+ get onInsert() {
198
+ return mentionState.insert;
199
+ },
200
+ onActiveChange: (index) => mentionState.active = index,
201
+ onOpenChange: (open) => {
202
+ if (!open) mentionState.close();
203
+ }
204
+ });
205
+ };
206
+ $.if(node_7, ($$render) => {
207
+ if ($.get(mentionsActive)) $$render(consequent_3);
208
+ });
209
+ var node_8 = $.sibling(node_7, 2);
210
+ var consequent_6 = ($$anchor) => {
211
+ var div_3 = root_4();
212
+ var node_9 = $.child(div_3);
213
+ var consequent_4 = ($$anchor) => {
214
+ var fragment_5 = $.comment();
215
+ var node_10 = $.first_child(fragment_5);
216
+ $.snippet(node_10, () => $$props.trailing);
217
+ $.append($$anchor, fragment_5);
218
+ };
219
+ $.if(node_9, ($$render) => {
220
+ if ($$props.trailing) $$render(consequent_4);
221
+ });
222
+ var node_11 = $.sibling(node_9, 2);
223
+ var consequent_5 = ($$anchor) => {
224
+ seal($$anchor);
225
+ };
226
+ $.if(node_11, ($$render) => {
227
+ if (!$.get(hasFooter)) $$render(consequent_5);
228
+ });
229
+ $.reset(div_3);
230
+ $.append($$anchor, div_3);
231
+ };
232
+ $.if(node_8, ($$render) => {
233
+ if (!$.get(hasFooter) || $$props.trailing) $$render(consequent_6);
234
+ });
235
+ $.reset(div_1);
236
+ var node_12 = $.sibling(div_1, 2);
237
+ var consequent_8 = ($$anchor) => {
238
+ var div_4 = root_5();
239
+ var node_13 = $.child(div_4);
240
+ $.snippet(node_13, () => $$props.footer);
241
+ var div_5 = $.sibling(node_13, 2);
242
+ var node_14 = $.child(div_5);
243
+ var consequent_7 = ($$anchor) => {
244
+ var fragment_7 = $.comment();
245
+ var node_15 = $.first_child(fragment_7);
246
+ $.snippet(node_15, () => $$props.footerEnd);
247
+ $.append($$anchor, fragment_7);
248
+ };
249
+ $.if(node_14, ($$render) => {
250
+ if ($$props.footerEnd) $$render(consequent_7);
251
+ });
252
+ var node_16 = $.sibling(node_14, 2);
253
+ seal(node_16);
254
+ $.reset(div_5);
255
+ $.reset(div_4);
256
+ $.append($$anchor, div_4);
257
+ };
258
+ $.if(node_12, ($$render) => {
259
+ if ($.get(hasFooter)) $$render(consequent_8);
260
+ });
261
+ $.reset(form);
262
+ $.append($$anchor, form);
263
+ $.pop();
264
+ }
265
+ //#endregion
266
+ //#region src/components/ai-prompt-input/index.ts
267
+ /** The prompt vessel: the shared field textarea — self-growing on the
268
+ * machine's autoresize — over a footer row carrying the submit seal. */
269
+ const AiPromptInput = AiPromptInput$1;
270
+ //#endregion
271
+ export { AiPromptInput as t };
@@ -0,0 +1,77 @@
1
+ import { Collapsible } from "./components/collapsible/index.mjs";
2
+ import { t as ChevronIcon } from "./ChevronIcon-CVJJYda-.mjs";
3
+ import { injectComponentStyle } from "@bysages/core";
4
+ import "svelte/internal/disclose-version";
5
+ import * as $ from "svelte/internal/client";
6
+ //#region src/components/ai-reasoning/AiReasoning.svelte
7
+ var rest_excludes = /* @__PURE__ */ new Set([
8
+ "$$slots",
9
+ "$$events",
10
+ "$$legacy",
11
+ "label",
12
+ "children"
13
+ ]);
14
+ var root = $.from_html(`<span> </span> <!>`, 1);
15
+ var root_1 = $.from_html(`<div data-scope="ai" data-part="reasoning-content"><!></div>`);
16
+ var root_2 = $.from_html(`<!> <!>`, 1);
17
+ function AiReasoning$1($$anchor, $$props) {
18
+ $.push($$props, true);
19
+ injectComponentStyle("ai");
20
+ let label = $.prop($$props, "label", 3, "Thinking"), rest = $.rest_props($$props, rest_excludes);
21
+ var fragment = $.comment();
22
+ var node = $.first_child(fragment);
23
+ $.component(node, () => Collapsible.Root, ($$anchor, Collapsible_Root) => {
24
+ Collapsible_Root($$anchor, $.spread_props(() => rest, {
25
+ "data-ai": "reasoning",
26
+ children: ($$anchor, $$slotProps) => {
27
+ var fragment_1 = root_2();
28
+ var node_1 = $.first_child(fragment_1);
29
+ $.component(node_1, () => Collapsible.Trigger, ($$anchor, Collapsible_Trigger) => {
30
+ Collapsible_Trigger($$anchor, {
31
+ children: ($$anchor, $$slotProps) => {
32
+ var fragment_2 = root();
33
+ var span = $.first_child(fragment_2);
34
+ var text = $.only_child(span, true);
35
+ var node_2 = $.sibling(span, 2);
36
+ $.component(node_2, () => Collapsible.Indicator, ($$anchor, Collapsible_Indicator) => {
37
+ Collapsible_Indicator($$anchor, {
38
+ children: ($$anchor, $$slotProps) => {
39
+ ChevronIcon($$anchor, {});
40
+ },
41
+ $$slots: { default: true }
42
+ });
43
+ });
44
+ $.template_effect(() => $.set_text(text, label()));
45
+ $.append($$anchor, fragment_2);
46
+ },
47
+ $$slots: { default: true }
48
+ });
49
+ });
50
+ var node_3 = $.sibling(node_1, 2);
51
+ $.component(node_3, () => Collapsible.Content, ($$anchor, Collapsible_Content) => {
52
+ Collapsible_Content($$anchor, {
53
+ children: ($$anchor, $$slotProps) => {
54
+ var div = root_1();
55
+ var node_4 = $.child(div);
56
+ $.snippet(node_4, () => $$props.children ?? $.noop);
57
+ $.reset(div);
58
+ $.append($$anchor, div);
59
+ },
60
+ $$slots: { default: true }
61
+ });
62
+ });
63
+ $.append($$anchor, fragment_1);
64
+ },
65
+ $$slots: { default: true }
66
+ }));
67
+ });
68
+ $.append($$anchor, fragment);
69
+ $.pop();
70
+ }
71
+ //#endregion
72
+ //#region src/components/ai-reasoning/index.ts
73
+ /** The model's thought, folded by the shared collapsible in its quiet
74
+ * register. */
75
+ const AiReasoning = AiReasoning$1;
76
+ //#endregion
77
+ export { AiReasoning as t };
@@ -0,0 +1,146 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import "svelte/internal/disclose-version";
3
+ import * as $ from "svelte/internal/client";
4
+ import { renderHtml } from "@tanstack/markdown/html";
5
+ //#region src/components/ai-response/code-copy.ts
6
+ /** The two glyphs a copy affordance needs: the stamp and its
7
+ * confirmation. Inline SVG keeps the enhancement framework-agnostic —
8
+ * it lives beside the renderer's generated code HTML. */
9
+ 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>`;
10
+ 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>`;
11
+ /** How long the confirmation stays before the stamp returns. */
12
+ const REVERT_MS = 1500;
13
+ /** Make sure every fenced block under `host` carries its copy stamp.
14
+ * The stamp anchors to a wrapper outside the scrolling `pre` — inside,
15
+ * it would fix to the overflow area and travel out of view with the
16
+ * code. The renderer rebuilds the markdown as one HTML string on every
17
+ * stream tick, so this stays idempotent and cheap enough to re-run
18
+ * after each patch. */
19
+ function decorateCodeCopy(host, copyLabel) {
20
+ for (const pre of host.querySelectorAll("pre")) {
21
+ let body = pre.parentElement;
22
+ if (!body || body.getAttribute("data-part") !== "code-body") {
23
+ body = document.createElement("div");
24
+ body.setAttribute("data-scope", "ai");
25
+ body.setAttribute("data-part", "code-body");
26
+ pre.replaceWith(body);
27
+ body.appendChild(pre);
28
+ }
29
+ let button = body.querySelector("[data-part=\"code-copy\"]");
30
+ if (!button) {
31
+ button = document.createElement("button");
32
+ button.type = "button";
33
+ button.setAttribute("data-scope", "ai");
34
+ button.setAttribute("data-part", "code-copy");
35
+ button.innerHTML = COPY_CODE_ICON;
36
+ body.appendChild(button);
37
+ }
38
+ button.title = copyLabel;
39
+ button.setAttribute("aria-label", copyLabel);
40
+ }
41
+ }
42
+ /** The one delegated click for the whole response: copy the block's
43
+ * text and confirm in place, then return the stamp after a beat. */
44
+ async function clickCodeCopy(event, copyLabel, copiedLabel) {
45
+ const button = event.target?.closest("[data-part=\"code-copy\"]");
46
+ const pre = button?.closest("[data-part=\"code-body\"]")?.querySelector("pre");
47
+ if (!button || !pre) return;
48
+ await navigator.clipboard.writeText(pre.textContent ?? "");
49
+ button.innerHTML = COPIED_CODE_ICON;
50
+ button.setAttribute("data-state", "copied");
51
+ button.title = copiedLabel;
52
+ button.setAttribute("aria-label", copiedLabel);
53
+ setTimeout(() => {
54
+ if (!button.isConnected) return;
55
+ button.innerHTML = COPY_CODE_ICON;
56
+ button.removeAttribute("data-state");
57
+ button.title = copyLabel;
58
+ button.setAttribute("aria-label", copyLabel);
59
+ }, REVERT_MS);
60
+ }
61
+ //#endregion
62
+ //#region src/components/ai-response/tables.ts
63
+ /** Wide tables ride a scrolling lane instead of bursting the column.
64
+ * The lane is a plain div: the table-as-scroll-container form is what
65
+ * ate the mouse wheel over plain tables. Idempotent, so it can run
66
+ * after every stream patch. */
67
+ const lanes = /* @__PURE__ */ new Set();
68
+ let laneObserver;
69
+ /** A lane's verdict must follow its box — the panel around it can
70
+ * resize at any moment, so each lane stays observed and re-decided
71
+ * whenever its width changes. */
72
+ function watchLane(lane) {
73
+ if (lanes.has(lane)) return;
74
+ lanes.add(lane);
75
+ laneObserver ??= new ResizeObserver(() => {
76
+ for (const lane of lanes) {
77
+ if (!lane.isConnected) {
78
+ laneObserver.unobserve(lane);
79
+ lanes.delete(lane);
80
+ continue;
81
+ }
82
+ lane.toggleAttribute("data-scrollable", lane.scrollWidth > lane.clientWidth);
83
+ }
84
+ });
85
+ laneObserver.observe(lane);
86
+ }
87
+ function wrapResponseTables(root) {
88
+ for (const table of root.querySelectorAll("table")) {
89
+ if (table.parentElement?.hasAttribute("data-table-scroll")) continue;
90
+ const lane = document.createElement("div");
91
+ lane.setAttribute("data-table-scroll", "");
92
+ table.replaceWith(lane);
93
+ lane.append(table);
94
+ }
95
+ for (const lane of root.querySelectorAll("[data-table-scroll]")) {
96
+ lane.toggleAttribute("data-scrollable", lane.scrollWidth > lane.clientWidth);
97
+ watchLane(lane);
98
+ }
99
+ }
100
+ //#endregion
101
+ //#region src/components/ai-response/AiResponse.svelte
102
+ var rest_excludes = /* @__PURE__ */ new Set([
103
+ "$$slots",
104
+ "$$events",
105
+ "$$legacy",
106
+ "content",
107
+ "highlighter",
108
+ "copyLabel",
109
+ "copiedLabel",
110
+ "onclick"
111
+ ]);
112
+ var root_1 = $.from_html(`<div></div>`);
113
+ function AiResponse$1($$anchor, $$props) {
114
+ $.push($$props, true);
115
+ injectComponentStyle("ai");
116
+ let copyLabel = $.prop($$props, "copyLabel", 3, "Copy code"), copiedLabel = $.prop($$props, "copiedLabel", 3, "Copied"), rest = $.rest_props($$props, rest_excludes);
117
+ const html = $.derived(() => renderHtml($$props.content, $$props.highlighter ? { highlighter: $$props.highlighter } : void 0));
118
+ let root;
119
+ $.user_effect(() => {
120
+ $.get(html);
121
+ if (root) decorateCodeCopy(root, copyLabel());
122
+ if (root) wrapResponseTables(root);
123
+ });
124
+ const handleClick = (event) => {
125
+ clickCodeCopy(event, copyLabel(), copiedLabel());
126
+ $$props.onclick?.(event);
127
+ };
128
+ var div = root_1();
129
+ $.attribute_effect(div, () => ({
130
+ ...rest,
131
+ "data-scope": "ai",
132
+ "data-part": "response",
133
+ onclick: handleClick
134
+ }));
135
+ $.html(div, () => $.get(html), true);
136
+ $.reset(div);
137
+ $.bind_this(div, ($$value) => root = $$value, () => root);
138
+ $.append($$anchor, div);
139
+ $.pop();
140
+ }
141
+ //#endregion
142
+ //#region src/components/ai-response/index.ts
143
+ /** Markdown set on the paper — streaming-safe by construction. */
144
+ const AiResponse = AiResponse$1;
145
+ //#endregion
146
+ export { AiResponse as t };