weifuwu 0.86.0 → 0.87.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 (651) hide show
  1. package/README.md +56 -45
  2. package/content/apps/admin.md +55 -0
  3. package/content/apps/agent-platform.md +35 -0
  4. package/content/apps/auth.md +49 -0
  5. package/content/apps/multi.md +44 -0
  6. package/content/apps/todo.md +51 -0
  7. package/content/backend/ai.md +28 -0
  8. package/content/backend/auth.md +20 -0
  9. package/content/backend/email.md +23 -0
  10. package/content/backend/graphql.md +23 -0
  11. package/content/backend/http.md +23 -0
  12. package/content/backend/limit.md +23 -0
  13. package/content/backend/middleware.md +17 -0
  14. package/content/backend/queue.md +23 -0
  15. package/content/backend/redis.md +26 -0
  16. package/content/backend/router.md +23 -0
  17. package/content/backend/schedule.md +23 -0
  18. package/content/backend/sql.md +27 -0
  19. package/content/backend/sse.md +26 -0
  20. package/content/backend/ws.md +26 -0
  21. package/content/capabilities/app-node.md +21 -0
  22. package/content/capabilities/data.md +21 -0
  23. package/content/capabilities/events.md +21 -0
  24. package/content/capabilities/hooks.md +22 -0
  25. package/content/capabilities/i18n.md +21 -0
  26. package/content/capabilities/popup.md +21 -0
  27. package/content/capabilities/render-only.md +23 -0
  28. package/content/capabilities/router.md +22 -0
  29. package/content/capabilities/self-id.md +21 -0
  30. package/content/capabilities/store.md +21 -0
  31. package/content/capabilities/theme.md +21 -0
  32. package/content/capabilities/two-phase.md +21 -0
  33. package/content/components/accordion.md +50 -0
  34. package/content/components/actionsheet.md +46 -0
  35. package/content/components/affix.md +51 -0
  36. package/content/components/aichat.md +57 -0
  37. package/content/components/alert.md +52 -0
  38. package/content/components/alertgroup.md +45 -0
  39. package/content/components/anchor.md +52 -0
  40. package/content/components/app.md +37 -0
  41. package/content/components/approvalcard.md +56 -0
  42. package/content/components/appshell.md +50 -0
  43. package/content/components/aspectratio.md +47 -0
  44. package/content/components/authpage.md +61 -0
  45. package/content/components/autocomplete-v2.md +40 -0
  46. package/content/components/autocomplete.md +56 -0
  47. package/content/components/avatar.md +51 -0
  48. package/content/components/avatargroup.md +47 -0
  49. package/content/components/backtop.md +53 -0
  50. package/content/components/badge.md +55 -0
  51. package/content/components/breadcrumb.md +49 -0
  52. package/content/components/button.md +63 -0
  53. package/content/components/calendar-v2.md +40 -0
  54. package/content/components/calendar.md +50 -0
  55. package/content/components/card.md +58 -0
  56. package/content/components/carousel.md +52 -0
  57. package/content/components/cascader-v2.md +39 -0
  58. package/content/components/cascader.md +54 -0
  59. package/content/components/chart.md +53 -0
  60. package/content/components/chatinput.md +63 -0
  61. package/content/components/checkbox.md +51 -0
  62. package/content/components/checkboxgroup.md +52 -0
  63. package/content/components/citationcard.md +48 -0
  64. package/content/components/codeblock.md +48 -0
  65. package/content/components/codeeditor.md +47 -0
  66. package/content/components/collapse.md +49 -0
  67. package/content/components/colorpicker.md +50 -0
  68. package/content/components/command.md +50 -0
  69. package/content/components/confirm.md +57 -0
  70. package/content/components/contextmenu.md +48 -0
  71. package/content/components/copybutton.md +51 -0
  72. package/content/components/datepicker.md +52 -0
  73. package/content/components/descriptions-v2.md +39 -0
  74. package/content/components/descriptions.md +52 -0
  75. package/content/components/diffview-v2.md +39 -0
  76. package/content/components/diffview.md +50 -0
  77. package/content/components/divider.md +48 -0
  78. package/content/components/drawer.md +55 -0
  79. package/content/components/dropdown.md +53 -0
  80. package/content/components/editor.md +49 -0
  81. package/content/components/emptystate.md +51 -0
  82. package/content/components/exportcsv.md +38 -0
  83. package/content/components/field.md +54 -0
  84. package/content/components/filepreview-office.md +37 -0
  85. package/content/components/filepreview.md +49 -0
  86. package/content/components/filetree.md +56 -0
  87. package/content/components/fileupload-v2.md +39 -0
  88. package/content/components/fileupload.md +57 -0
  89. package/content/components/floatbutton.md +52 -0
  90. package/content/components/form-v2.md +41 -0
  91. package/content/components/form.md +60 -0
  92. package/content/components/grid.md +51 -0
  93. package/content/components/highlight-v2.md +39 -0
  94. package/content/components/highlight.md +46 -0
  95. package/content/components/hovercard.md +51 -0
  96. package/content/components/icon.md +50 -0
  97. package/content/components/imagecropper.md +45 -0
  98. package/content/components/img.md +56 -0
  99. package/content/components/infinitescroll-v2.md +40 -0
  100. package/content/components/infinitescroll.md +54 -0
  101. package/content/components/input.md +65 -0
  102. package/content/components/inputnumber.md +58 -0
  103. package/content/components/inview.md +56 -0
  104. package/content/components/jsonschemaform.md +53 -0
  105. package/content/components/jsonviewer-v2.md +39 -0
  106. package/content/components/jsonviewer.md +49 -0
  107. package/content/components/kanban.md +46 -0
  108. package/content/components/label.md +48 -0
  109. package/content/components/layout.md +54 -0
  110. package/content/components/layoutcontent.md +43 -0
  111. package/content/components/layoutheader.md +43 -0
  112. package/content/components/layoutsider.md +43 -0
  113. package/content/components/link.md +52 -0
  114. package/content/components/list.md +44 -0
  115. package/content/components/loading.md +45 -0
  116. package/content/components/logviewer-v2.md +39 -0
  117. package/content/components/logviewer.md +53 -0
  118. package/content/components/markdown.md +51 -0
  119. package/content/components/markdowneditor.md +47 -0
  120. package/content/components/math.md +42 -0
  121. package/content/components/mentions-v2.md +39 -0
  122. package/content/components/mentions.md +52 -0
  123. package/content/components/menu.md +56 -0
  124. package/content/components/menubar.md +44 -0
  125. package/content/components/messagebubble.md +50 -0
  126. package/content/components/modal.md +59 -0
  127. package/content/components/navmenu.md +47 -0
  128. package/content/components/notification.md +51 -0
  129. package/content/components/pageheader.md +53 -0
  130. package/content/components/pagination.md +49 -0
  131. package/content/components/paragraph.md +45 -0
  132. package/content/components/passwordinput.md +57 -0
  133. package/content/components/pininput-v2.md +39 -0
  134. package/content/components/pininput.md +50 -0
  135. package/content/components/pipeline.md +49 -0
  136. package/content/components/popconfirm.md +58 -0
  137. package/content/components/popover.md +61 -0
  138. package/content/components/progressbar.md +50 -0
  139. package/content/components/prompttemplate.md +49 -0
  140. package/content/components/qrcode.md +50 -0
  141. package/content/components/radiogroup.md +53 -0
  142. package/content/components/rate.md +53 -0
  143. package/content/components/reasoningblock.md +47 -0
  144. package/content/components/relationgraph.md +52 -0
  145. package/content/components/resizable.md +53 -0
  146. package/content/components/result.md +49 -0
  147. package/content/components/scrollbar.md +49 -0
  148. package/content/components/searchinput.md +51 -0
  149. package/content/components/segmentedcontrol.md +59 -0
  150. package/content/components/select-searchable.md +47 -0
  151. package/content/components/select.md +66 -0
  152. package/content/components/sessionlist.md +52 -0
  153. package/content/components/sheetgrid.md +44 -0
  154. package/content/components/skeleton.md +55 -0
  155. package/content/components/slidecanvas.md +44 -0
  156. package/content/components/slider.md +62 -0
  157. package/content/components/sortablelist.md +39 -0
  158. package/content/components/space.md +52 -0
  159. package/content/components/sparkline.md +52 -0
  160. package/content/components/statcard-countdown.md +39 -0
  161. package/content/components/statcard.md +56 -0
  162. package/content/components/steps.md +48 -0
  163. package/content/components/switch.md +50 -0
  164. package/content/components/tabbar.md +45 -0
  165. package/content/components/table-v2.md +40 -0
  166. package/content/components/table.md +66 -0
  167. package/content/components/tabs.md +56 -0
  168. package/content/components/tag.md +51 -0
  169. package/content/components/tagsinput-v2.md +39 -0
  170. package/content/components/tagsinput.md +54 -0
  171. package/content/components/text.md +45 -0
  172. package/content/components/textarea.md +57 -0
  173. package/content/components/themeswitch.md +69 -0
  174. package/content/components/timeline.md +50 -0
  175. package/content/components/title.md +45 -0
  176. package/content/components/toast.md +52 -0
  177. package/content/components/toggle-togglegroup.md +52 -0
  178. package/content/components/togglegroup.md +47 -0
  179. package/content/components/toolcallcard.md +51 -0
  180. package/content/components/tooltip.md +50 -0
  181. package/content/components/tour.md +50 -0
  182. package/content/components/transfer.md +52 -0
  183. package/content/components/tree-v2.md +39 -0
  184. package/content/components/tree.md +59 -0
  185. package/content/components/treeselect.md +54 -0
  186. package/content/components/typography.md +51 -0
  187. package/content/components/videoplayer.md +52 -0
  188. package/content/components/virtuallist.md +52 -0
  189. package/content/components/virtualtable-v2.md +39 -0
  190. package/content/components/virtualtable.md +55 -0
  191. package/content/components/watermark.md +53 -0
  192. package/content/components/wave.md +43 -0
  193. package/content/guides/ai-chat-family.md +24 -0
  194. package/content/guides/choose.md +67 -0
  195. package/content/guides/component-model.md +32 -0
  196. package/content/guides/component-standards.md +123 -0
  197. package/{docs/components.md → content/guides/components-guide.md} +31 -7
  198. package/{docs/custom-components.md → content/guides/custom-component.md} +70 -55
  199. package/{docs/data.md → content/guides/data-guide.md} +5 -2
  200. package/content/guides/file-preview-family.md +18 -0
  201. package/{docs → content/guides}/frontend.md +122 -52
  202. package/content/guides/layout-choice.md +64 -0
  203. package/{docs/layout.md → content/guides/layout-guide.md} +12 -8
  204. package/{docs/frontend-middleware.md → content/guides/middleware.md} +34 -3
  205. package/{docs/mobile.md → content/guides/mobile-guide.md} +20 -24
  206. package/content/guides/page-building.md +98 -0
  207. package/content/guides/production.md +37 -0
  208. package/content/guides/quality.md +60 -0
  209. package/{docs/realtime.md → content/guides/realtime-guide.md} +6 -3
  210. package/content/guides/render-only.md +44 -0
  211. package/{docs/saas.md → content/guides/saas-guide.md} +8 -5
  212. package/{docs/server.md → content/guides/server-guide.md} +5 -2
  213. package/content/guides/start.md +41 -0
  214. package/{docs → content/guides}/styling.md +5 -1
  215. package/{docs/frontend-ui-dom.md → content/guides/ui-dom-guide.md} +7 -1
  216. package/content/index.json +4344 -0
  217. package/content/index.md +181 -0
  218. package/content/layout/align.md +20 -0
  219. package/content/layout/anchor.md +19 -0
  220. package/content/layout/app-shell.md +23 -0
  221. package/content/layout/border.md +20 -0
  222. package/content/layout/center.md +19 -0
  223. package/content/layout/cluster.md +19 -0
  224. package/content/layout/container.md +19 -0
  225. package/content/layout/fill.md +19 -0
  226. package/content/layout/grid.md +19 -0
  227. package/content/layout/hidden.md +22 -0
  228. package/content/layout/layer.md +19 -0
  229. package/content/layout/position.md +22 -0
  230. package/content/layout/row.md +23 -0
  231. package/content/layout/safe-area.md +20 -0
  232. package/content/layout/scroll.md +21 -0
  233. package/content/layout/spacing.md +22 -0
  234. package/content/layout/split.md +19 -0
  235. package/content/layout/stack.md +19 -0
  236. package/content/layout/surface.md +23 -0
  237. package/content/layout/text.md +22 -0
  238. package/content/patterns/app-shell.md +34 -0
  239. package/content/patterns/dashboard.md +36 -0
  240. package/content/patterns/data-screen.md +30 -0
  241. package/content/patterns/detail-page.md +31 -0
  242. package/content/patterns/docs.md +34 -0
  243. package/content/patterns/focus-task.md +34 -0
  244. package/content/patterns/landing.md +35 -0
  245. package/content/patterns/list-page.md +32 -0
  246. package/content/patterns/mobile.md +31 -0
  247. package/content/patterns/settings-page.md +33 -0
  248. package/content/patterns/workspace.md +32 -0
  249. package/dist/cli/apps-typecheck.test.d.ts +11 -0
  250. package/dist/cli/docs.d.ts +2 -0
  251. package/dist/cli/docs.mjs +10961 -0
  252. package/dist/cli/home-flash.test.d.ts +1 -0
  253. package/dist/{components → client/components}/Accordion/Accordion.d.ts +1 -1
  254. package/dist/client/components/ActionSheet/ActionSheet.d.ts +37 -0
  255. package/dist/{components → client/components}/Affix/Affix.d.ts +1 -1
  256. package/dist/{components → client/components}/AiChat/AiChat.d.ts +3 -3
  257. package/dist/{components → client/components}/Alert/Alert.d.ts +1 -1
  258. package/dist/{components → client/components}/AlertGroup/AlertGroup.d.ts +1 -1
  259. package/dist/{components → client/components}/Anchor/Anchor.d.ts +1 -1
  260. package/dist/client/components/AppShell/AppShell.d.ts +55 -0
  261. package/dist/{components → client/components}/ApprovalCard/ApprovalCard.d.ts +2 -2
  262. package/dist/{components → client/components}/AspectRatio/AspectRatio.d.ts +1 -1
  263. package/dist/{components → client/components}/AuthPage/AuthPage.d.ts +2 -2
  264. package/dist/{components → client/components}/AutoComplete/AutoComplete.d.ts +1 -1
  265. package/dist/{components → client/components}/Avatar/Avatar.d.ts +1 -1
  266. package/dist/{components → client/components}/AvatarGroup/AvatarGroup.d.ts +1 -1
  267. package/dist/{components → client/components}/BackTop/BackTop.d.ts +1 -1
  268. package/dist/{components → client/components}/Badge/Badge.d.ts +1 -1
  269. package/dist/{components → client/components}/Breadcrumb/Breadcrumb.d.ts +1 -1
  270. package/dist/{components → client/components}/Button/Button.d.ts +1 -1
  271. package/dist/{components → client/components}/Calendar/Calendar.d.ts +1 -1
  272. package/dist/{components → client/components}/Card/Card.d.ts +1 -1
  273. package/dist/{components → client/components}/Carousel/Carousel.d.ts +1 -1
  274. package/dist/{components → client/components}/Cascader/Cascader.d.ts +1 -1
  275. package/dist/{components → client/components}/Chart/Chart.d.ts +1 -1
  276. package/dist/{components → client/components}/Chart/chart-utils.d.ts +5 -1
  277. package/dist/{components → client/components}/ChatInput/ChatInput.d.ts +7 -7
  278. package/dist/{components → client/components}/Checkbox/Checkbox.d.ts +1 -1
  279. package/dist/{components → client/components}/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  280. package/dist/{components → client/components}/CitationCard/CitationCard.d.ts +3 -3
  281. package/dist/{components → client/components}/CodeBlock/CodeBlock.d.ts +1 -1
  282. package/dist/client/components/CodeEditor/CodeEditor.d.ts +18 -0
  283. package/dist/{components → client/components}/Collapse/Collapse.d.ts +1 -1
  284. package/dist/{components → client/components}/ColorPicker/ColorPicker.d.ts +1 -1
  285. package/dist/{components → client/components}/Command/Command.d.ts +1 -1
  286. package/dist/{components → client/components}/Confirm/Confirm.d.ts +2 -7
  287. package/dist/{components → client/components}/ContextMenu/ContextMenu.d.ts +1 -1
  288. package/dist/{components → client/components}/CopyButton/CopyButton.d.ts +1 -1
  289. package/dist/{components → client/components}/DatePicker/DatePicker.d.ts +2 -2
  290. package/dist/{components → client/components}/Descriptions/Descriptions.d.ts +1 -1
  291. package/dist/{components → client/components}/DiffView/DiffView.d.ts +1 -1
  292. package/dist/{components → client/components}/Divider/Divider.d.ts +1 -1
  293. package/dist/{components → client/components}/Drawer/Drawer.d.ts +1 -1
  294. package/dist/{components → client/components}/Dropdown/Dropdown.d.ts +1 -1
  295. package/dist/{components → client/components}/Editor/Editor.d.ts +1 -1
  296. package/dist/{components → client/components}/Editor/tools/toolbar.d.ts +1 -1
  297. package/dist/{components → client/components}/EmptyState/EmptyState.d.ts +1 -1
  298. package/dist/client/components/ExportCSV/ExportCSV.d.ts +30 -0
  299. package/dist/{components → client/components}/Field/Field.d.ts +1 -1
  300. package/dist/{components → client/components}/FilePreview/FilePreview.d.ts +1 -1
  301. package/dist/client/components/FileTree/FileTree.d.ts +57 -0
  302. package/dist/{components → client/components}/FileUpload/FileUpload.d.ts +1 -1
  303. package/dist/{components → client/components}/FloatButton/FloatButton.d.ts +1 -1
  304. package/dist/{components → client/components}/Form/Form.d.ts +1 -1
  305. package/dist/{components → client/components}/Grid/Grid.d.ts +1 -1
  306. package/dist/{components → client/components}/Highlight/Highlight.d.ts +1 -1
  307. package/dist/{components → client/components}/HoverCard/HoverCard.d.ts +5 -4
  308. package/dist/{components → client/components}/Icon/Icon.d.ts +2 -2
  309. package/dist/client/components/ImageCropper/ImageCropper.d.ts +17 -0
  310. package/dist/{components → client/components}/Img/Img.d.ts +1 -1
  311. package/dist/{components → client/components}/InView/InView.d.ts +1 -1
  312. package/dist/{components → client/components}/InfiniteScroll/InfiniteScroll.d.ts +1 -1
  313. package/dist/{components → client/components}/Input/Input.d.ts +1 -1
  314. package/dist/{components → client/components}/InputNumber/InputNumber.d.ts +1 -1
  315. package/dist/{components → client/components}/JSONViewer/JSONViewer.d.ts +1 -1
  316. package/dist/{components → client/components}/JsonSchemaForm/JsonSchemaForm.d.ts +3 -3
  317. package/dist/{components → client/components}/Kanban/Kanban.d.ts +1 -1
  318. package/dist/{components → client/components}/Label/Label.d.ts +1 -1
  319. package/dist/{components → client/components}/Layout/Layout.d.ts +1 -1
  320. package/dist/{components → client/components}/Link/Link.d.ts +1 -1
  321. package/dist/{components → client/components}/List/List.d.ts +1 -1
  322. package/dist/{components → client/components}/Loading/Loading.d.ts +1 -1
  323. package/dist/{components → client/components}/LogViewer/LogViewer.d.ts +1 -1
  324. package/dist/{components → client/components}/Markdown/Markdown.d.ts +1 -1
  325. package/dist/client/components/MarkdownEditor/MarkdownEditor.d.ts +18 -0
  326. package/dist/client/components/Math/Math.d.ts +15 -0
  327. package/dist/{components → client/components}/Mentions/Mentions.d.ts +1 -1
  328. package/dist/{components → client/components}/Menu/Menu.d.ts +1 -1
  329. package/dist/{components → client/components}/Menubar/Menubar.d.ts +1 -1
  330. package/dist/{components → client/components}/MessageBubble/MessageBubble.d.ts +1 -1
  331. package/dist/{components → client/components}/Modal/Modal.d.ts +1 -1
  332. package/dist/{components → client/components}/NavMenu/NavMenu.d.ts +2 -2
  333. package/dist/{components → client/components}/Notification/Notification.d.ts +7 -2
  334. package/dist/{components → client/components}/PageHeader/PageHeader.d.ts +1 -1
  335. package/dist/{components → client/components}/Pagination/Pagination.d.ts +1 -1
  336. package/dist/{components → client/components}/PasswordInput/PasswordInput.d.ts +1 -1
  337. package/dist/{components → client/components}/PinInput/PinInput.d.ts +1 -1
  338. package/dist/{components → client/components}/Pipeline/Pipeline.d.ts +1 -1
  339. package/dist/{components → client/components}/Popconfirm/Popconfirm.d.ts +2 -2
  340. package/dist/{components → client/components}/Popover/Popover.d.ts +5 -4
  341. package/dist/{components → client/components}/ProgressBar/ProgressBar.d.ts +1 -1
  342. package/dist/client/components/PromptTemplate/PromptTemplate.d.ts +37 -0
  343. package/dist/{components → client/components}/QRCode/QRCode.d.ts +1 -1
  344. package/dist/{components → client/components}/RadioGroup/RadioGroup.d.ts +1 -1
  345. package/dist/{components → client/components}/Rate/Rate.d.ts +1 -1
  346. package/dist/{components → client/components}/ReasoningBlock/ReasoningBlock.d.ts +3 -3
  347. package/dist/client/components/RelationGraph/RelationGraph.d.ts +59 -0
  348. package/dist/{components → client/components}/Resizable/Resizable.d.ts +1 -1
  349. package/dist/{components → client/components}/Result/Result.d.ts +1 -1
  350. package/dist/{components → client/components}/Scrollbar/Scrollbar.d.ts +1 -1
  351. package/dist/{components → client/components}/SearchInput/SearchInput.d.ts +1 -1
  352. package/dist/{components → client/components}/SegmentedControl/SegmentedControl.d.ts +1 -1
  353. package/dist/{components → client/components}/Select/Select.d.ts +1 -1
  354. package/dist/{components → client/components}/SessionList/SessionList.d.ts +3 -3
  355. package/dist/{components → client/components}/SheetGrid/SheetGrid.d.ts +1 -1
  356. package/dist/{components → client/components}/Skeleton/Skeleton.d.ts +1 -1
  357. package/dist/{components → client/components}/SlideCanvas/SlideCanvas.d.ts +1 -1
  358. package/dist/client/components/Slider/Slider.d.ts +27 -0
  359. package/dist/client/components/SortableList/SortableList.d.ts +23 -0
  360. package/dist/{components → client/components}/Space/Space.d.ts +1 -1
  361. package/dist/{components → client/components}/Sparkline/Sparkline.d.ts +1 -1
  362. package/dist/{components → client/components}/StatCard/StatCard.d.ts +1 -1
  363. package/dist/{components → client/components}/Steps/Steps.d.ts +1 -1
  364. package/dist/{components → client/components}/Switch/Switch.d.ts +1 -1
  365. package/dist/client/components/TabBar/TabBar.d.ts +35 -0
  366. package/dist/{components → client/components}/Table/Table.d.ts +7 -1
  367. package/dist/client/components/Tabs/Tabs.d.ts +22 -0
  368. package/dist/{components → client/components}/Tag/Tag.d.ts +1 -1
  369. package/dist/{components → client/components}/TagsInput/TagsInput.d.ts +1 -1
  370. package/dist/{components → client/components}/Textarea/Textarea.d.ts +1 -1
  371. package/dist/{components → client/components}/ThemeSwitch/ThemeSwitch.d.ts +1 -1
  372. package/dist/{components → client/components}/Timeline/Timeline.d.ts +1 -1
  373. package/dist/{components → client/components}/Toast/Toast.d.ts +1 -1
  374. package/dist/{components → client/components}/ToggleGroup/ToggleGroup.d.ts +1 -1
  375. package/dist/{components → client/components}/ToolCallCard/ToolCallCard.d.ts +2 -2
  376. package/dist/{components → client/components}/Tooltip/Tooltip.d.ts +4 -3
  377. package/dist/{components → client/components}/Tour/Tour.d.ts +1 -1
  378. package/dist/{components → client/components}/Transfer/Transfer.d.ts +1 -1
  379. package/dist/{components → client/components}/Tree/Tree.d.ts +5 -1
  380. package/dist/{components → client/components}/TreeSelect/TreeSelect.d.ts +5 -1
  381. package/dist/{components → client/components}/Typography/Typography.d.ts +1 -1
  382. package/dist/client/components/VideoPlayer/VideoPlayer.d.ts +25 -0
  383. package/dist/{components → client/components}/VirtualList/VirtualList.d.ts +1 -1
  384. package/dist/{components → client/components}/VirtualTable/VirtualTable.d.ts +1 -1
  385. package/dist/{components → client/components}/Watermark/Watermark.d.ts +1 -1
  386. package/dist/client/components/Wave/Wave.d.ts +15 -0
  387. package/dist/{components → client/components}/index.d.ts +44 -5
  388. package/dist/client/components/index.js +57 -0
  389. package/dist/{components → client/components}/style.css +1081 -98
  390. package/dist/{layout → client/layout}/weifuwu-layout.css +60 -6
  391. package/dist/{office → client/office}/xml-serialize.d.ts +1 -1
  392. package/dist/client/vdom/browser/Browser.d.ts +73 -0
  393. package/dist/client/vdom/browser/create-client-browser.d.ts +11 -0
  394. package/dist/client/vdom/commands.d.ts +19 -0
  395. package/dist/client/vdom/context/UIContext.d.ts +61 -0
  396. package/dist/client/vdom/context/data.d.ts +17 -0
  397. package/dist/client/vdom/core/async-guard.d.ts +20 -0
  398. package/dist/client/vdom/core/build.d.ts +36 -0
  399. package/dist/client/vdom/core/command/create.d.ts +25 -0
  400. package/dist/client/vdom/core/command/index.d.ts +15 -0
  401. package/dist/client/vdom/core/command/insert.d.ts +32 -0
  402. package/dist/client/vdom/core/command/lifecycle.d.ts +47 -0
  403. package/dist/client/vdom/core/command/props.d.ts +22 -0
  404. package/dist/client/vdom/core/diff/attrs.d.ts +10 -0
  405. package/dist/client/vdom/core/diff/children.d.ts +29 -0
  406. package/dist/client/vdom/core/diff/cleanup.d.ts +44 -0
  407. package/dist/client/vdom/core/diff/index.d.ts +22 -0
  408. package/dist/client/vdom/core/diff/output.d.ts +30 -0
  409. package/dist/client/vdom/core/diff/same.d.ts +22 -0
  410. package/dist/client/vdom/core/field/attributes.d.ts +15 -0
  411. package/dist/client/vdom/core/field/events.d.ts +54 -0
  412. package/dist/client/vdom/core/field/index.d.ts +19 -0
  413. package/dist/client/vdom/core/field/key.d.ts +16 -0
  414. package/dist/client/vdom/core/field/props.d.ts +15 -0
  415. package/dist/client/vdom/core/field/ref.d.ts +38 -0
  416. package/dist/client/vdom/core/field/style.d.ts +17 -0
  417. package/dist/client/vdom/core/node/children.d.ts +20 -0
  418. package/dist/client/vdom/core/node/component.d.ts +93 -0
  419. package/dist/client/vdom/core/node/fragment.d.ts +14 -0
  420. package/dist/client/vdom/core/node/hole.d.ts +22 -0
  421. package/dist/client/vdom/core/node/index.d.ts +35 -0
  422. package/dist/client/vdom/core/node/keyed.d.ts +64 -0
  423. package/dist/client/vdom/core/node/native.d.ts +20 -0
  424. package/dist/client/vdom/core/node/portal.d.ts +11 -0
  425. package/dist/client/vdom/core/patch/fields.d.ts +15 -0
  426. package/dist/client/vdom/core/patch/index.d.ts +51 -0
  427. package/dist/client/vdom/core/patch/processors.d.ts +75 -0
  428. package/dist/client/vdom/core/patch/state-machine.d.ts +38 -0
  429. package/dist/client/vdom/core/patch/verify.d.ts +17 -0
  430. package/dist/client/vdom/core/router.d.ts +31 -0
  431. package/dist/client/vdom/core/serve.d.ts +75 -0
  432. package/dist/client/vdom/core/ssr/absorb.d.ts +53 -0
  433. package/dist/client/vdom/core/ssr/html.d.ts +32 -0
  434. package/dist/client/vdom/core/ssr/index.d.ts +25 -0
  435. package/dist/client/vdom/core/transform/component.d.ts +23 -0
  436. package/dist/client/vdom/core/transform/element.d.ts +21 -0
  437. package/dist/client/vdom/core/transform/fragment.d.ts +21 -0
  438. package/dist/client/vdom/core/transform/hole.d.ts +13 -0
  439. package/dist/client/vdom/core/transform/index.d.ts +46 -0
  440. package/dist/client/vdom/core/transform/states.d.ts +22 -0
  441. package/dist/client/vdom/core/transform/table.d.ts +28 -0
  442. package/dist/client/vdom/core/transform/text.d.ts +10 -0
  443. package/dist/client/vdom/core/vnode.d.ts +45 -0
  444. package/dist/client/vdom/dev/effect-guard.d.ts +8 -0
  445. package/dist/client/vdom/hooks/ai-stream.d.ts +46 -0
  446. package/dist/client/vdom/hooks/basic.d.ts +42 -0
  447. package/dist/client/vdom/hooks/chat.d.ts +91 -0
  448. package/dist/client/vdom/hooks/controlled.d.ts +27 -0
  449. package/dist/client/vdom/hooks/drag-media.d.ts +52 -0
  450. package/dist/client/vdom/hooks/env.d.ts +119 -0
  451. package/dist/client/vdom/hooks/input.d.ts +43 -0
  452. package/dist/client/vdom/hooks/observe.d.ts +60 -0
  453. package/dist/client/vdom/hooks/popup-manager.d.ts +92 -0
  454. package/dist/client/vdom/hooks/popup.d.ts +52 -0
  455. package/dist/client/vdom/hooks/stable.d.ts +45 -0
  456. package/dist/client/vdom/index.d.ts +67 -0
  457. package/dist/client/vdom/index.js +8 -0
  458. package/dist/client/vdom/jsx-runtime.d.ts +28 -0
  459. package/dist/client/vdom/jsx-runtime.js +1 -0
  460. package/dist/client/vdom/middlewares/api.d.ts +38 -0
  461. package/dist/client/vdom/middlewares/auth-i18n.d.ts +66 -0
  462. package/dist/client/vdom/middlewares/ws.d.ts +37 -0
  463. package/dist/client/vdom/store.d.ts +49 -0
  464. package/dist/client/vdom/testing.d.ts +46 -0
  465. package/dist/client/vdom/testing.js +2 -0
  466. package/dist/dev/index.d.ts +12 -0
  467. package/dist/dev/index.js +4 -4
  468. package/dist/{ai → server/ai}/contracts.d.ts +1 -1
  469. package/dist/{ai → server/ai}/index.d.ts +2 -2
  470. package/dist/{ai → server/ai}/types.d.ts +1 -1
  471. package/dist/{core → server/core}/router.d.ts +2 -4
  472. package/dist/{db → server/db}/contracts.d.ts +1 -1
  473. package/dist/server/db/postgres-server.d.ts +37 -0
  474. package/dist/server/db/redis-server.d.ts +32 -0
  475. package/dist/server/db/server.d.ts +30 -0
  476. package/dist/server/db/test-servers.d.ts +21 -0
  477. package/dist/{email → server/email}/contracts.d.ts +1 -1
  478. package/dist/{index.js → server/index.js} +3145 -2487
  479. package/dist/{ui → server/ui}/index.d.ts +2 -2
  480. package/dist/{user → server/user}/token.d.ts +1 -1
  481. package/dist/shared/router/trie.d.ts +61 -0
  482. package/docs/components-map.md +5 -5
  483. package/docs/style-guide.md +14 -2
  484. package/examples/apps/admin/README.md +23 -0
  485. package/examples/apps/admin/api.ts +27 -0
  486. package/examples/apps/admin/app.tsx +144 -0
  487. package/examples/apps/admin/main.tsx +8 -0
  488. package/examples/apps/admin/server.ts +37 -0
  489. package/examples/apps/auth/README.md +23 -0
  490. package/examples/apps/auth/api.ts +49 -0
  491. package/examples/apps/auth/app.tsx +137 -0
  492. package/examples/apps/auth/main.tsx +8 -0
  493. package/examples/apps/auth/server.ts +37 -0
  494. package/examples/apps/multi/README.md +23 -0
  495. package/examples/apps/multi/app.tsx +83 -0
  496. package/examples/apps/multi/main.tsx +8 -0
  497. package/examples/apps/multi/server.ts +33 -0
  498. package/examples/apps/todo/README.md +23 -0
  499. package/examples/apps/todo/api.ts +26 -0
  500. package/examples/apps/todo/app.tsx +128 -0
  501. package/examples/apps/todo/main.tsx +9 -0
  502. package/examples/apps/todo/server.ts +39 -0
  503. package/examples/hello-world/README.md +9 -0
  504. package/examples/hello-world/client.ts +14 -0
  505. package/examples/hello-world/routes.tsx +26 -0
  506. package/examples/hello-world/server.ts +46 -0
  507. package/examples/patterns/AppShell.tsx +224 -0
  508. package/examples/patterns/Dashboard.tsx +153 -0
  509. package/examples/patterns/DataScreen.tsx +104 -0
  510. package/examples/patterns/DetailPage.tsx +79 -0
  511. package/examples/patterns/Docs.tsx +105 -0
  512. package/examples/patterns/FocusTask.tsx +67 -0
  513. package/examples/patterns/Landing.tsx +90 -0
  514. package/examples/patterns/ListPage.tsx +77 -0
  515. package/examples/patterns/Mobile.tsx +154 -0
  516. package/examples/patterns/SettingsPage.tsx +98 -0
  517. package/examples/patterns/SplitWorkspace.tsx +113 -0
  518. package/package.json +61 -29
  519. package/dist/components/Slider/Slider.d.ts +0 -19
  520. package/dist/components/Tabs/Tabs.d.ts +0 -12
  521. package/dist/components/index.js +0 -55
  522. package/dist/ui-dom/Confirm.d.ts +0 -8
  523. package/dist/ui-dom/Notification.d.ts +0 -8
  524. package/dist/ui-dom/Toast.d.ts +0 -8
  525. package/dist/ui-dom/ai.d.ts +0 -59
  526. package/dist/ui-dom/browser.d.ts +0 -10
  527. package/dist/ui-dom/debug.d.ts +0 -21
  528. package/dist/ui-dom/hooks/chat.d.ts +0 -11
  529. package/dist/ui-dom/hooks/events.d.ts +0 -30
  530. package/dist/ui-dom/hooks/external.d.ts +0 -20
  531. package/dist/ui-dom/hooks/index.d.ts +0 -29
  532. package/dist/ui-dom/hooks/input.d.ts +0 -33
  533. package/dist/ui-dom/hooks/media.d.ts +0 -17
  534. package/dist/ui-dom/hooks/popup.d.ts +0 -30
  535. package/dist/ui-dom/hooks/stable.d.ts +0 -35
  536. package/dist/ui-dom/hooks/types.d.ts +0 -77
  537. package/dist/ui-dom/i18n.d.ts +0 -31
  538. package/dist/ui-dom/index.d.ts +0 -47
  539. package/dist/ui-dom/index.js +0 -41
  540. package/dist/ui-dom/jsx-runtime.d.ts +0 -4
  541. package/dist/ui-dom/jsx-runtime.js +0 -1
  542. package/dist/ui-dom/locale/en_US.d.ts +0 -69
  543. package/dist/ui-dom/locale/zh_CN.d.ts +0 -69
  544. package/dist/ui-dom/middleware/api.d.ts +0 -91
  545. package/dist/ui-dom/middleware/auth.d.ts +0 -30
  546. package/dist/ui-dom/middleware/ws.d.ts +0 -33
  547. package/dist/ui-dom/motion.d.ts +0 -8
  548. package/dist/ui-dom/popup-tracker.d.ts +0 -36
  549. package/dist/ui-dom/popup.d.ts +0 -42
  550. package/dist/ui-dom/store.d.ts +0 -24
  551. package/dist/ui-dom/testing.d.ts +0 -68
  552. package/dist/ui-dom/testing.js +0 -7
  553. package/dist/ui-dom/types.d.ts +0 -634
  554. package/dist/ui-dom/use-chat.d.ts +0 -95
  555. package/dist/ui-dom/vdom3/README.d.ts +0 -32
  556. package/dist/ui-dom/vdom3/app.d.ts +0 -20
  557. package/dist/ui-dom/vdom3/audit.d.ts +0 -29
  558. package/dist/ui-dom/vdom3/build.d.ts +0 -20
  559. package/dist/ui-dom/vdom3/commands.d.ts +0 -21
  560. package/dist/ui-dom/vdom3/comp-index.d.ts +0 -18
  561. package/dist/ui-dom/vdom3/delegate.d.ts +0 -53
  562. package/dist/ui-dom/vdom3/events.d.ts +0 -17
  563. package/dist/ui-dom/vdom3/index.d.ts +0 -42
  564. package/dist/ui-dom/vdom3/jsx.d.ts +0 -32
  565. package/dist/ui-dom/vdom3/record.d.ts +0 -16
  566. package/dist/ui-dom/vdom3/registry.d.ts +0 -30
  567. package/dist/ui-dom/vdom3/render.d.ts +0 -39
  568. package/dist/ui-dom/vdom3/replay.d.ts +0 -28
  569. package/dist/ui-dom/vdom3/root.d.ts +0 -24
  570. package/dist/ui-dom/vdom3/router.d.ts +0 -31
  571. package/dist/ui-dom/vdom3/scheduler.d.ts +0 -23
  572. package/dist/ui-dom/vdom3/ssr.d.ts +0 -27
  573. package/dist/ui-dom/vdom3/sync.d.ts +0 -22
  574. package/dist/ui-dom/vdom3/types.d.ts +0 -173
  575. package/dist/ui-dom/vdom3/ui.d.ts +0 -16
  576. package/dist/ui-dom/vdom3.js +0 -41
  577. package/dist/ui-dom/vnode.d.ts +0 -13
  578. /package/dist/{make-executable-schema.test.d.ts → cli/content-sync.test.d.ts} +0 -0
  579. /package/dist/{ui-dom/testing.test.d.ts → cli/docs-cli.test.d.ts} +0 -0
  580. /package/dist/{components → client/components}/CodeBlock/highlight.d.ts +0 -0
  581. /package/dist/{components → client/components}/DatePicker/calendar-utils.d.ts +0 -0
  582. /package/dist/{components → client/components}/DiffView/diff-utils.d.ts +0 -0
  583. /package/dist/{components → client/components}/Editor/edit-events.d.ts +0 -0
  584. /package/dist/{components → client/components}/Editor/model/apply.d.ts +0 -0
  585. /package/dist/{components → client/components}/Editor/model/diff.d.ts +0 -0
  586. /package/dist/{components → client/components}/Editor/model/dom.d.ts +0 -0
  587. /package/dist/{components → client/components}/Editor/model/history.d.ts +0 -0
  588. /package/dist/{components → client/components}/Editor/model/html.d.ts +0 -0
  589. /package/dist/{components → client/components}/Editor/model/inverse.d.ts +0 -0
  590. /package/dist/{components → client/components}/Editor/model/types.d.ts +0 -0
  591. /package/dist/{components → client/components}/Editor/tools/table.d.ts +0 -0
  592. /package/dist/{components → client/components}/Editor/tools/types.d.ts +0 -0
  593. /package/dist/{components → client/components}/FilePreview/markdown.d.ts +0 -0
  594. /package/dist/{components → client/components}/Markdown/parser.d.ts +0 -0
  595. /package/dist/{components → client/components}/OfficeEditor/ai/ai-bridge.d.ts +0 -0
  596. /package/dist/{components → client/components}/OfficeEditor/model/apply.d.ts +0 -0
  597. /package/dist/{components → client/components}/OfficeEditor/model/types.d.ts +0 -0
  598. /package/dist/{components → client/components}/Pipeline/dag-utils.d.ts +0 -0
  599. /package/dist/{components → client/components}/QRCode/qr.d.ts +0 -0
  600. /package/dist/{components → client/components}/Sparkline/sparkline-utils.d.ts +0 -0
  601. /package/dist/{office → client/office}/docx.d.ts +0 -0
  602. /package/dist/{office → client/office}/pptx.d.ts +0 -0
  603. /package/dist/{office → client/office}/xlsx.d.ts +0 -0
  604. /package/dist/{office → client/office}/xml.d.ts +0 -0
  605. /package/dist/{office → client/office}/zip.d.ts +0 -0
  606. /package/dist/{ai → server/ai}/agent.d.ts +0 -0
  607. /package/dist/{ai → server/ai}/client.d.ts +0 -0
  608. /package/dist/{ai → server/ai}/sse.d.ts +0 -0
  609. /package/dist/{core → server/core}/serve.d.ts +0 -0
  610. /package/dist/{core → server/core}/ws.d.ts +0 -0
  611. /package/dist/{db → server/db}/errors.d.ts +0 -0
  612. /package/dist/{db → server/db}/memory-redis.d.ts +0 -0
  613. /package/dist/{db → server/db}/memory-sql.d.ts +0 -0
  614. /package/dist/{db → server/db}/postgres/connection.d.ts +0 -0
  615. /package/dist/{db → server/db}/postgres/pool.d.ts +0 -0
  616. /package/dist/{db → server/db}/postgres/protocol.d.ts +0 -0
  617. /package/dist/{db → server/db}/postgres/schema.d.ts +0 -0
  618. /package/dist/{db → server/db}/query-builder.d.ts +0 -0
  619. /package/dist/{db → server/db}/query.d.ts +0 -0
  620. /package/dist/{db → server/db}/redis/client.d.ts +0 -0
  621. /package/dist/{db → server/db}/redis/commands.d.ts +0 -0
  622. /package/dist/{db → server/db}/redis/connection.d.ts +0 -0
  623. /package/dist/{db → server/db}/redis/pipeline.d.ts +0 -0
  624. /package/dist/{db → server/db}/redis/pool.d.ts +0 -0
  625. /package/dist/{db → server/db}/redis/resp.d.ts +0 -0
  626. /package/dist/{db → server/db}/redis/subscriber.d.ts +0 -0
  627. /package/dist/{db → server/db}/sql-parser.d.ts +0 -0
  628. /package/dist/{email → server/email}/index.d.ts +0 -0
  629. /package/dist/{email → server/email}/smtp.d.ts +0 -0
  630. /package/dist/{graphql.d.ts → server/graphql.d.ts} +0 -0
  631. /package/dist/{index.d.ts → server/index.d.ts} +0 -0
  632. /package/dist/{make-executable-schema.d.ts → server/make-executable-schema.d.ts} +0 -0
  633. /package/dist/{messager → server/messager}/index.d.ts +0 -0
  634. /package/dist/{middleware → server/middleware}/cors.d.ts +0 -0
  635. /package/dist/{middleware → server/middleware}/rate-limit.d.ts +0 -0
  636. /package/dist/{middleware → server/middleware}/static.d.ts +0 -0
  637. /package/dist/{postgres → server/postgres}/client.d.ts +0 -0
  638. /package/dist/{postgres → server/postgres}/index.d.ts +0 -0
  639. /package/dist/{postgres → server/postgres}/types.d.ts +0 -0
  640. /package/dist/{queue → server/queue}/index.d.ts +0 -0
  641. /package/dist/{redis → server/redis}/client.d.ts +0 -0
  642. /package/dist/{redis → server/redis}/index.d.ts +0 -0
  643. /package/dist/{redis → server/redis}/types.d.ts +0 -0
  644. /package/dist/{request.d.ts → server/request.d.ts} +0 -0
  645. /package/dist/{response.d.ts → server/response.d.ts} +0 -0
  646. /package/dist/{scheduler → server/scheduler}/cron.d.ts +0 -0
  647. /package/dist/{scheduler → server/scheduler}/index.d.ts +0 -0
  648. /package/dist/{types.d.ts → server/types.d.ts} +0 -0
  649. /package/dist/{ui → server/ui}/html-safe.d.ts +0 -0
  650. /package/dist/{user → server/user}/index.d.ts +0 -0
  651. /package/dist/{user → server/user}/password.d.ts +0 -0
@@ -1,8 +0,0 @@
1
- /**
2
- * weifuwu/ui-dom — Confirm(命令式中间件)
3
- *
4
- * v1 退役(design 归档):实现已收敛到 components/Confirm(vdom 引擎,
5
- * mountCommand + render-only)。本文件保留为公开 API 兼容入口。
6
- */
7
- export { Confirm } from '../components/Confirm/Confirm.ts';
8
- export type { ConfirmProps, ConfirmOptions, ConfirmInjected } from '../components/Confirm/Confirm.ts';
@@ -1,8 +0,0 @@
1
- /**
2
- * weifuwu/ui-dom — Notification(命令式中间件)
3
- *
4
- * v1 退役(design 归档):实现已收敛到 components/Notification(vdom 引擎,
5
- * mountCommand + render-only)。本文件保留为公开 API 兼容入口。
6
- */
7
- export { Notification } from '../components/Notification/Notification.ts';
8
- export type { NotificationType, NotificationPosition, NotificationItem, NotificationProps, NotificationOptions, NotificationInjected, } from '../components/Notification/Notification.ts';
@@ -1,8 +0,0 @@
1
- /**
2
- * weifuwu/ui-dom — Toast(命令式中间件)
3
- *
4
- * v1 退役(design 归档):实现已收敛到 components/Toast(vdom 引擎,
5
- * mountCommand + render-only)。本文件保留为公开 API 兼容入口。
6
- */
7
- export { Toast } from '../components/Toast/Toast.ts';
8
- export type { ToastType, ToastPosition, ToastItem, ToastProps, ToastOptions, ToastInjected, } from '../components/Toast/Toast.ts';
@@ -1,59 +0,0 @@
1
- /**
2
- * weifuwu/ui-dom AI 解码器 — 消费 wf: 协议(docs/ai-contract.md)
3
- *
4
- * 协议的前端参考实现:POST → 解析 SSE → 按事件名分发回调。
5
- *
6
- * - 零依赖:fetch + ReadableStream + 自研 SSE 解析
7
- * - 未知事件透传不抛错(协议 §6):x:* 走 onEvent,未订阅的跳过
8
- * - 事件录制(副产品):record 开启时记录完整事件序列,可导出为测试 fixture
9
- * - trace 桥(协议 §7):默认自动生成 X-Trace-Id 并随请求发送,
10
- * 后端以之作为 wf:message_start.id → 整个 agent run 一次搜完
11
- * - abort:handle.abort() 或外部 signal → 取消请求 → 后端断开 → provider 取消
12
- */
13
- import type { WfApprovalRequest, WfDone, WfError, WfStreamEvent, WfToolCall, WfToolProgress, WfToolResult, WfUsage } from '../ai/types.ts';
14
- export interface AiStreamCallbacks {
15
- /** wf:token — 增量文本,直接 append */
16
- onToken?: (text: string) => void;
17
- /** wf:tool_call — 完整工具调用(后端已聚合) */
18
- onToolCall?: (call: WfToolCall) => void;
19
- /** wf:tool_result — ok:false 不代表会话结束 */
20
- onToolResult?: (result: WfToolResult) => void;
21
- /** wf:tool_progress — 长任务进度 */
22
- onToolProgress?: (p: WfToolProgress) => void;
23
- /** wf:step — 步骤可视化(agent 扩展) */
24
- onStep?: (s: {
25
- type: 'llm' | 'tool';
26
- content?: string;
27
- toolCallId?: string;
28
- name?: string;
29
- }) => void;
30
- /** wf:approval_request — 渲染审批卡片 */
31
- onApproval?: (req: WfApprovalRequest) => void;
32
- /** wf:usage — token 计数 */
33
- onUsage?: (u: WfUsage) => void;
34
- /** wf:done — 收尾 */
35
- onDone?: (d: WfDone) => void;
36
- /** wf:error — 错误即值,结构化降级 */
37
- onError?: (e: WfError) => void;
38
- /** x:* 自定义事件透传兜底(协议 §6:框架不解释) */
39
- onEvent?: (name: string, data: unknown) => void;
40
- }
41
- export interface AiStreamOptions extends AiStreamCallbacks {
42
- signal?: AbortSignal;
43
- headers?: Record<string, string>;
44
- /** 显式指定 traceId;默认自动生成(协议 §7) */
45
- traceId?: string;
46
- /** 录制事件序列(调试/导出 fixture),默认开启,环形上限 1000 */
47
- record?: boolean;
48
- }
49
- export interface AiStreamHandle {
50
- /** 取消请求(用户停止/组件卸载/导航跳走时调用) */
51
- abort: () => void;
52
- /** 流结束(正常 done / error / abort 都 resolve) */
53
- done: Promise<void>;
54
- /** 本次请求使用的 traceId(自动生成的也能拿到) */
55
- traceId: string;
56
- /** 录制的事件序列(record: true 时) */
57
- events: WfStreamEvent[];
58
- }
59
- export declare function aiStream(url: string, body: unknown, options?: AiStreamOptions): AiStreamHandle;
@@ -1,10 +0,0 @@
1
- /**
2
- * weifuwu/ui-dom — 浏览器环境抽象(ctx.browser 的客户端实现)
3
- *
4
- * 组件不直接引用 window/document——统一经 ctx.browser:
5
- * ① SSR 安全(createSsrContext 注入安全默认)② 测试可 mock
6
- * ③ 复制等重复模式单点实现。
7
- * 内部对 window/document 做 typeof 防御(SSR/无 DOM 环境不崩)。
8
- */
9
- import type { BrowserEnv } from './types.ts';
10
- export declare function createClientBrowser(): BrowserEnv;
@@ -1,21 +0,0 @@
1
- /**
2
- * weifuwu/ui-dom — 渲染管线调试工具(__UI_DEBUG 开关,默认全关——零开销)
3
- *
4
- * 用途:定位渲染循环/死循环——所有渲染管线入口打日志(带递归深度),
5
- * 卡死时最后一条日志 = 递归点。节流:每个 label 前 N 次 + 每 100 次。
6
- *
7
- * 开关(任一开启即生效):
8
- * - localStorage.__UI_DEBUG = '1'(浏览器 eval 设置)
9
- * - globalThis.__UI_DEBUG = true
10
- * - process.env.UI_DEBUG(Node/SSR)
11
- */
12
- export declare function uiDebugEnabled(): boolean;
13
- /** 手动开关(测试用) */
14
- export declare function setUiDebug(v: boolean): void;
15
- export declare function pushDepth(): number;
16
- export declare function popDepth(): number;
17
- export declare function currentDepth(): number;
18
- export declare function uiLog(label: string, msg: string, opts?: {
19
- depth?: number;
20
- throttle?: number;
21
- }): void;
@@ -1,11 +0,0 @@
1
- /**
2
- * hooks/chat — AI 对话会话(useChat)
3
- *
4
- * 会话语义 + 工具调用内嵌 + HITL 审批。render-only 方案(design 归档):
5
- * state 是**普通对象**(不再挂组件 $),变化 → notify → 订阅者重渲染;
6
- * handle 带 subscribe——共享会话的子组件用 ctx.ui.useExternal(handle) 订阅。
7
- */
8
- import type { HookEnv } from './types.ts';
9
- import type { UseChatHandle, UseChatOptions } from '../use-chat.ts';
10
- /** AI 对话会话(会话语义 + 工具调用内嵌 + HITL 审批) */
11
- export declare function useChat(env: HookEnv, options: UseChatOptions): UseChatHandle;
@@ -1,30 +0,0 @@
1
- /**
2
- * hooks/events — 事件/键盘/拖拽 hooks
3
- *
4
- * useGlobalKey / useDrag / useDragDrop
5
- */
6
- import type { HookEnv } from './types.ts';
7
- /** 全局键盘监听:window keydown,mount 注册 + 卸载清理。返回退订函数。 */
8
- export declare function useGlobalKey(env: HookEnv, handler: (e: KeyboardEvent) => void): () => void;
9
- /** 指针拖拽:pointerdown 捕获 → window pointermove(delta)/pointerup(释放)。 */
10
- export declare function useDrag(env: HookEnv, options: {
11
- onStart?: (e: PointerEvent) => void;
12
- onMove: (e: PointerEvent, delta: {
13
- x: number;
14
- y: number;
15
- }) => void;
16
- onEnd?: (e: PointerEvent) => void;
17
- }): {
18
- onPointerDown: (e: PointerEvent) => void;
19
- };
20
- /** 原生 DnD:drop/dragover/dragleave(dragover 自动 preventDefault)。 */
21
- export declare function useDragDrop(env: HookEnv, options: {
22
- onDrop?: (e: DragEvent) => void;
23
- onDragOver?: (e: DragEvent) => void;
24
- onDragLeave?: (e: DragEvent) => void;
25
- onDragStart?: (e: DragEvent) => void;
26
- onDragEnd?: (e: DragEvent) => void;
27
- }): {
28
- dropProps: Record<string, any>;
29
- dragProps: Record<string, any>;
30
- };
@@ -1,20 +0,0 @@
1
- /**
2
- * useExternal — 订阅共享状态(render-only 共享原语,见 design 归档)
3
- *
4
- * 与 useInView/useScrollPosition 同构(mount 阶段注册,生命周期框架管):
5
- * - mount 注册:订阅 store(任何变化 → 自身重渲染)
6
- * - unmount 自动退订(onComponentUnmountFor——无手动退订纪律,无 §4.6 __watch 泄漏)
7
- * - 返回 store 本身(活引用)——渲染函数里读最新值:
8
- * createStore 产物 → store.state.xxx
9
- * useChat handle → handle.messages(handle 就是活 state)
10
- *
11
- * 参数契约:任何「可订阅状态」——{ subscribe(cb): unsub } 即可(结构化类型)。
12
- * SSR 无害:createSsrUi 的 useExternal shim 只返回 store 不订阅。
13
- */
14
- import type { HookEnv } from './types.ts';
15
- /** 可订阅状态(useExternal 入参——结构化类型,不要求专用 store) */
16
- export interface Subscribable {
17
- subscribe(cb: () => void): () => void;
18
- [key: string]: any;
19
- }
20
- export declare function useExternal(env: HookEnv, store: Subscribable): Subscribable;
@@ -1,29 +0,0 @@
1
- /**
2
- * hooks — 汇总导出
3
- *
4
- * hooks 重构:所有 ctx.ui.useXXX 的实现从 createUi 拆出为独立 hooks 函数,
5
- * 签名统一 `useXXX(env, ...args)`。ui.ts 组装 HookEnv + 薄转发。
6
- */
7
- export type { HookEnv, MediaRegistryItem, PopupTracker, ScrollTracker } from './types.ts';
8
- export { useStableRef } from './stable.ts';
9
- export { useHoverCapable } from './stable.ts';
10
- export { useReducedMotion } from './stable.ts';
11
- export { useLongPress } from './stable.ts';
12
- export { usePresence } from './stable.ts';
13
- export { useTween } from './stable.ts';
14
- export { useMedia } from './media.ts';
15
- export { useBreakpoint } from './media.ts';
16
- export { useVisualViewport } from './media.ts';
17
- export { useInView } from './media.ts';
18
- export { useScrollPosition } from './media.ts';
19
- export { useControlled } from './input.ts';
20
- export { useControlledInput } from './input.ts';
21
- export { useAsync } from './input.ts';
22
- export { useGlobalKey } from './events.ts';
23
- export { useDrag } from './events.ts';
24
- export { useDragDrop } from './events.ts';
25
- export { usePopupPosition } from './popup.ts';
26
- export { usePopup } from './popup.ts';
27
- export { useOpen } from './popup.ts';
28
- export { useChat } from './chat.ts';
29
- export { useExternal } from './external.ts';
@@ -1,33 +0,0 @@
1
- /**
2
- * hooks/input — 受控/输入/异步取数 hooks
3
- *
4
- * useControlled / useControlledInput / useAsync
5
- */
6
- import type { HookEnv } from './types.ts';
7
- import type { UseAsyncHandle } from '../types.ts';
8
- /** 受控/非受控状态统一:value !== undefined → 受控(setValue 只走 onChange) */
9
- export declare function useControlled<T>(env: HookEnv, options: {
10
- value?: T;
11
- onChange?: (v: T) => void;
12
- name?: string;
13
- }): {
14
- value: T | undefined;
15
- setValue: (v: T) => void;
16
- controlled: boolean;
17
- };
18
- /** 受控输入原语(C3):useControlled + 内部输入态/选中态(输入焦点保持) */
19
- export declare function useControlledInput(env: HookEnv, options: {
20
- value?: string;
21
- onChange?: (v: string) => void;
22
- name?: string;
23
- }): {
24
- keyword: string;
25
- setKeyword(v: string): void;
26
- selectedLabel: string;
27
- setSelectedLabel(v: string): void;
28
- value: string | undefined;
29
- setValue: (v: string) => void;
30
- controlled: boolean;
31
- };
32
- /** 异步取数工具(mount 阶段调用):loading/error 自动管理 + 数据就绪自动渲染 */
33
- export declare function useAsync<T>(env: HookEnv, fetcher: () => Promise<T>): UseAsyncHandle<T>;
@@ -1,17 +0,0 @@
1
- /**
2
- * hooks/media — 响应式媒体/视口 hooks
3
- *
4
- * useMedia / useBreakpoint / useVisualViewport / useInView / useScrollPosition
5
- */
6
- import type { HookEnv } from './types.ts';
7
- import type { UseInViewOptions, UseInViewHandle, UseScrollPositionOptions, UseScrollPositionHandle, VisualViewportHandle } from '../types.ts';
8
- /** 响应式媒体查询:注册监听,值变化时自动 dirty。callback 立即执行一次当前值。 */
9
- export declare function useMedia(env: HookEnv, query: string, callback: (matches: boolean) => void): void;
10
- /** 响应式断点:注册命名断点监听,值变化时自动 dirty */
11
- export declare function useBreakpoint(env: HookEnv, bpsOrCallback: Record<string, string> | ((vp: string) => void), callback?: (vp: string) => void): void;
12
- /** 可视视口跟踪(visualViewport):键盘弹起/缩放时自动更新 + dirty */
13
- export declare function useVisualViewport(env: HookEnv): VisualViewportHandle;
14
- /** 可见性观察(IntersectionObserver 封装):isIn 响应式——变化自动 dirty 当前组件 */
15
- export declare function useInView(env: HookEnv, options: UseInViewOptions): UseInViewHandle;
16
- /** 滚动位置跟踪(全局 scroll 监听 + rAF 节流):返回响应式 y,变化自动 dirty */
17
- export declare function useScrollPosition(env: HookEnv, options: UseScrollPositionOptions): UseScrollPositionHandle;
@@ -1,30 +0,0 @@
1
- /**
2
- * hooks/popup — 弹层 hooks
3
- *
4
- * usePopupPosition / usePopup / useOpen
5
- */
6
- import type { HookEnv } from './types.ts';
7
- import type { PopupPositionOptions, PopupPosition, UsePopupOptions, UsePopupHandle } from '../types.ts';
8
- /** 弹层位置跟踪:滚动/resize 时自动重算 fixed 坐标(0 rect 防护) */
9
- export declare function usePopupPosition(env: HookEnv, options: PopupPositionOptions): PopupPosition;
10
- /**
11
- * 弹层组合器:收敛 open 状态 + 触发(hover/tap 降级/longpress)+ Escape +
12
- * 外部点击 + 定位/视口 clamp + portal。
13
- */
14
- export declare function usePopup(env: HookEnv, options: UsePopupOptions): UsePopupHandle;
15
- /** 显隐打开状态机(C4):trigger/focus/blur 协调。默认只开不关 */
16
- export declare function useOpen(env: HookEnv, options: {
17
- open?: boolean;
18
- onOpenChange?: (open: boolean) => void;
19
- openOnFocus?: boolean;
20
- name?: string;
21
- }): {
22
- readonly open: boolean;
23
- setOpen: (v: boolean) => void;
24
- triggerProps: {
25
- onClick: () => void;
26
- onFocus: () => void;
27
- };
28
- };
29
- /** 测试隔离:重置滚动锁状态(node --test 并发——模块级 lockedCount 跨文件共享) */
30
- export declare function __resetPopupLockState(): void;
@@ -1,35 +0,0 @@
1
- /**
2
- * hooks/stable — 基础/稳定 hooks(无共享全局状态依赖)
3
- *
4
- * useStableRef / useHoverCapable / useReducedMotion / useAnimationEnd /
5
- * useLongPress / usePresence / useTween
6
- */
7
- import type { HookEnv } from './types.ts';
8
- import type { UseLongPressOptions, UseLongPressHandle } from '../types.ts';
9
- /** 稳定 ref 引用:mount 作用域持有,跨渲染引用恒等(内联 ref 陷阱根治) */
10
- export declare function useStableRef(_env: HookEnv, init: (el: HTMLElement | null) => void, cleanup?: () => void): (el: HTMLElement | null) => void;
11
- /** 当前设备是否支持 hover(matchMedia '(hover: hover)',mount 期一次判定) */
12
- export declare function useHoverCapable(env: HookEnv): boolean;
13
- /** 响应式系统偏好(prefers-reduced-motion)。mount 期一次判定 */
14
- export declare function useReducedMotion(_env: HookEnv): boolean;
15
- /** 长按手势:pointerdown 按住 duration 触发,提前松开/位移取消,桌面右键兼容 */
16
- export declare function useLongPress(env: HookEnv, options: UseLongPressOptions): UseLongPressHandle;
17
- /**
18
- * 通用显隐状态机:open → exit → closed(animationend 延迟卸载)。
19
- * usePopup presence 模式基于它——状态机单点实现。
20
- */
21
- export declare function usePresence(env: HookEnv, options?: {
22
- name?: string;
23
- }): {
24
- readonly phase: "closed" | "open" | "exit";
25
- ref: (el: HTMLElement | null) => void;
26
- sync: (open: boolean) => "closed" | "open" | "exit";
27
- };
28
- /** 数值补间:rAF + ease + reduced-motion 直落终值。目标变化自动补间。 */
29
- export declare function useTween(env: HookEnv, target: number, opts?: {
30
- duration?: number;
31
- ease?: 'linear' | 'easeOutCubic';
32
- }): {
33
- value: number;
34
- reset: (to: number) => void;
35
- };
@@ -1,77 +0,0 @@
1
- /**
2
- * hooks/types — Hook 运行时上下文(HookEnv)
3
- *
4
- * hooks 重构:所有 `ctx.ui.useXXX` 的实现从 createUi 移到 src/ui-dom/hooks/,
5
- * 签名统一为 `useXXX(env, ...args)`——显式接收 HookEnv(封装 ui 内部能力),
6
- * 不再依赖 `this`(ui 对象)与 createUi 闭包。
7
- *
8
- * ui.ts 的 createUi 组装 env + 薄转发(ctx.ui.useXXX 兼容组件库,实现已在 hooks/)。
9
- */
10
- import type { BrowserEnv } from '../types.ts';
11
- /** 媒体查询注册表项(跨组件共享——useMedia/useBreakpoint 按 key 去重注册) */
12
- export interface MediaRegistryItem {
13
- mql?: MediaQueryList;
14
- handler?: (e: MediaQueryListEvent) => void;
15
- mqls?: Array<{
16
- mql: MediaQueryList;
17
- handler: () => void;
18
- }>;
19
- }
20
- /** popup 定位 tracker(跨组件共享——全局 scroll/resize 监听重算) */
21
- export interface PopupTracker {
22
- pos: {
23
- top: number;
24
- left: number;
25
- };
26
- getEl: () => HTMLElement | null;
27
- isOpen: () => boolean;
28
- compute: (rect: DOMRect) => {
29
- top: number;
30
- left: number;
31
- width?: number;
32
- };
33
- panel?: () => HTMLElement | null;
34
- margin?: number;
35
- }
36
- /** scroll tracker(跨组件共享——useScrollPosition) */
37
- export interface ScrollTracker {
38
- handle: {
39
- y: number;
40
- };
41
- getScroller: () => HTMLElement | Window;
42
- }
43
- export interface HookEnv {
44
- /** 当前组件 id(ui._selfId / _selfVNode._id 解析) */
45
- selfId(): string | undefined;
46
- /** 触发渲染(render-only 唯一触发) */
47
- render(ids?: string[]): void;
48
- /** 浏览器环境(ctx.browser) */
49
- browser: BrowserEnv;
50
- /** 组件卸载回调注册(hooks 清理用——onComponentUnmountFor)——返回退订函数 */
51
- onUnmount(fn: (id: string) => void): () => void;
52
- /** 注册表实例(selfId 注册/查询)——结构兼容(第 1 代/vdom 均含 idRegistry) */
53
- registry: {
54
- idRegistry: Map<string, any>;
55
- };
56
- /** 跨组件共享:媒体查询注册表 */
57
- mediaRegistry: Map<string, MediaRegistryItem>;
58
- /** 跨组件共享:popup 定位 tracker */
59
- popupTrackers: Map<string, PopupTracker>;
60
- /** 跨组件共享:scroll tracker */
61
- scrollTrackers: Map<string, ScrollTracker>;
62
- /** 渲染保护期(渲染请求被跳过) */
63
- isMounting(): boolean;
64
- /** 受控缺回调 warn 去重(跨组件按 name 幂等) */
65
- warned: Set<string>;
66
- /** useControlled 非受控内部值(按 selfId) */
67
- uncontrolledValues: Map<string, any>;
68
- /** useControlledInput 内部输入态(按 selfId) */
69
- inputStates: Map<string, {
70
- keyword: string;
71
- selectedLabel: string;
72
- }>;
73
- /** useOpen 非受控内部打开态(按 selfId) */
74
- openStates: Map<string, boolean>;
75
- /** 惰性挂载全局 scroll/resize 监听(幂等) */
76
- ensurePopupListeners(): void;
77
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * weifuwu i18n — 中间件
3
- *
4
- * 注入 ctx.i18n 支持运行时语言切换。
5
- *
6
- * 使用:
7
- * app.use(i18n({ locale: 'en', messages: { 'title': 'Dashboard' } }))
8
- * ctx.i18n?.t('title') // → 'Dashboard'
9
- * ctx.i18n?.setLocale('zh-CN') // → 切换语言,自动重渲染
10
- */
11
- import type { AppMiddleware } from './types.ts';
12
- export interface I18nOptions {
13
- locale?: string;
14
- messages?: Record<string, string>;
15
- components?: Record<string, Record<string, string>>;
16
- }
17
- export interface LocalePackage {
18
- messages?: Record<string, string>;
19
- components?: Record<string, Record<string, string>>;
20
- }
21
- export interface I18nState {
22
- locale: string;
23
- t: (key: string, fallback?: string) => string;
24
- setLocale: (lang: string) => void;
25
- components: Record<string, Record<string, string>>;
26
- }
27
- /** i18n 中间件注入到 ctx 的字段 */
28
- export interface I18nInjected {
29
- i18n: I18nState;
30
- }
31
- export declare function i18n(opts?: I18nOptions): AppMiddleware<{}, I18nInjected>;
@@ -1,47 +0,0 @@
1
- /**
2
-
3
- * weifuwu/ui-dom — 前端路由 + 渲染运行时(v2 vdom 引擎,render-only)
4
- *
5
- * 渲染运行时 = vdom(第 2 代引擎,design 归档):
6
- * - 渲染触发唯一原语 ctx.ui.render()(无 $ / dirty——无自动渲染)
7
- * - 共享状态:createStore + ctx.ui.useExternal
8
- * - 命令式挂载:mountCommand/unmountCommand(弹窗中间件在 components 各组件内部)
9
- *
10
- * 定稿架构(design/ui-architecture.md):req = window.location,res = VNode,
11
- * createRouter/createRoot = 事件流渲染落地;组件 = 两阶段异步组件。
12
- */
13
- export { h, jsx, jsxs, jsxDEV, Fragment, Portal, createPortal } from './vnode.ts';
14
- export { App } from './vdom3/types.ts';
15
- export type { VNode, VNodeChild, Component } from './vnode.ts';
16
- export { createClientBrowser } from './browser.ts';
17
- export { animateOut } from './motion.ts';
18
- export { api } from './middleware/api.ts';
19
- export type { ApiClient, ApiOptions, ApiRequestOptions, ApiInjected } from './middleware/api.ts';
20
- export { auth } from './middleware/auth.ts';
21
- export type { AuthClient, AuthInjected } from './middleware/auth.ts';
22
- export { ws } from './middleware/ws.ts';
23
- export { i18n } from './i18n.ts';
24
- export type { I18nState, I18nInjected, I18nOptions } from './i18n.ts';
25
- export type { WsClient, WsInjected } from './middleware/ws.ts';
26
- export type { WfuiContext, } from './types.ts';
27
- export { createStore } from './store.ts';
28
- export type { ExternalStore } from './store.ts';
29
- export { createRoot } from './vdom3/root.ts';
30
- export type { RootHandle } from './vdom3/root.ts';
31
- export { createRouter } from './vdom3/router.ts';
32
- export type { RouteDef } from './vdom3/router.ts';
33
- export { mount, patch } from './vdom3/render.ts';
34
- export { buildVNode, isVNode } from './vdom3/build.ts';
35
- export { createEventStream, stream, ev, evKey } from './vdom3/events.ts';
36
- export { addGlobalListener, bindElementListener, bindDelegated, unbindEvent, unbindAll, ensureDelegationRoot, removeDelegationRoot } from './vdom3/delegate.ts';
37
- export { registerApp, getAppFactory, resetAppRegistry } from './vdom3/app.ts';
38
- export { replay, applyEvent, undo, eventsOf, hasEvent, expectEventSequence } from './vdom3/replay.ts';
39
- export { NodeRegistry, ensurePortalContainer } from './vdom3/registry.ts';
40
- export { renderToEvents, renderToEventStream, serializeEvents, deserializeEvents, eventsToHtml } from './vdom3/ssr.ts';
41
- export { recordToTest, summarizeEvents } from './vdom3/record.ts';
42
- export { createV3Ui } from './vdom3/ui.ts';
43
- export { createSync, autoSync } from './vdom3/sync.ts';
44
- export { v3Confirm, v3Toast } from './vdom3/commands.ts';
45
- export type { V3CommandInjected } from './vdom3/commands.ts';
46
- export { scheduler, Scheduler } from './vdom3/scheduler.ts';
47
- export type { V3Event, Entity, Action, PatchStrategy, EventStream } from './vdom3/types.ts';