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,55 +0,0 @@
1
- var Qi=Object.defineProperty;var At=(o,e,t)=>()=>{if(t)throw t[0];try{return o&&(e=o(o=0)),e}catch(n){throw t=[n],n}};var yo=(o,e)=>{for(var t in e)Qi(o,t,{get:e[t],enumerable:!0})};var Cn,je,Lt=At(()=>{Cn={text:"",blockProps:[],marks:[],embeds:[]},je="\uFFFC"});function oc(o){let e=4294967295;for(let t=0;t<o.length;t++)e=nc[(e^o[t])&255]^e>>>8;return(e^4294967295)>>>0}async function rc(o){let e=globalThis.DecompressionStream;if(!e)throw new Error("zip: \u73AF\u5883\u65E0 DecompressionStream\uFF08deflate \u89E3\u538B\u4E0D\u652F\u6301\uFF09");let t=new e("deflate-raw"),n=await new Response(new Blob([o]).stream().pipeThrough(t)).arrayBuffer();return new Uint8Array(n)}async function en(o){let e=-1;for(let i=o.length-22;i>=0;i--)if(o[i]===80&&o[i+1]===75&&o[i+2]===5&&o[i+3]===6){e=i;break}if(e<0)throw new Error("zip: EOCD \u672A\u627E\u5230\uFF08\u975E ZIP \u6216\u5DF2\u635F\u574F\uFF09");let t=new DataView(o.buffer,o.byteOffset,o.byteLength),n=t.getUint16(e+10,!0),r=t.getUint32(e+16,!0),a=new Map,s=r;for(let i=0;i<n;i++){if(t.getUint32(s,!0)!==33639248)throw new Error(`zip: central entry ${i} \u7B7E\u540D\u9519\u8BEF`);let l=t.getUint16(s+10,!0),c=t.getUint32(s+20,!0),d=t.getUint16(s+28,!0),f=t.getUint16(s+30,!0),h=t.getUint16(s+32,!0),u=t.getUint32(s+42,!0),p=new TextDecoder().decode(o.subarray(s+46,s+46+d));if(l!==0&&l!==8)throw new Error(`zip: ${p} \u538B\u7F29\u65B9\u6CD5 ${l} \u4E0D\u652F\u6301\uFF08\u88C1\u526A\uFF1Astore/deflate\uFF09`);let m=t.getUint16(u+26,!0),g=t.getUint16(u+28,!0),y=u+30+m+g,v=o.subarray(y,y+c);a.set(p,l===8?await rc(v):v),s+=46+d+f+h}return a}function tn(o){let e=[],t=[],n=0,r=new TextEncoder;for(let[f,h]of o){let u=r.encode(f),p=oc(h),m=new Uint8Array(30),g=new DataView(m.buffer);g.setUint32(0,67324752,!0),g.setUint16(4,20,!0),g.setUint16(6,0,!0),g.setUint16(8,0,!0),g.setUint32(14,p,!0),g.setUint32(18,h.length,!0),g.setUint32(22,h.length,!0),g.setUint16(26,u.length,!0),g.setUint16(28,0,!0),e.push(m,u,h);let y=new Uint8Array(46),v=new DataView(y.buffer);v.setUint32(0,33639248,!0),v.setUint16(4,20,!0),v.setUint16(6,20,!0),v.setUint16(10,0,!0),v.setUint32(16,p,!0),v.setUint32(20,h.length,!0),v.setUint32(24,h.length,!0),v.setUint16(28,u.length,!0),v.setUint32(42,n,!0),t.push(y,u),n+=30+u.length+h.length}let a=t.reduce((f,h)=>f+h.length,0),s=new Uint8Array(22),i=new DataView(s.buffer);i.setUint32(0,101010256,!0),i.setUint16(8,o.size,!0),i.setUint16(10,o.size,!0),i.setUint32(12,a,!0),i.setUint32(16,n,!0);let l=n+a+22,c=new Uint8Array(l),d=0;for(let f of[...e,...t,s])c.set(f,d),d+=f.length;return c}var nc,Qn=At(()=>{nc=(()=>{let o=new Uint32Array(256);for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t=t&1?3988292384^t>>>1:t>>>1;o[e]=t>>>0}return o})()});function ir(o){return o.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&apos;/g,"'").replace(/&amp;/g,"&")}function Qe(o){let e=0,t=o.length;function n(){for(;e<t&&/\s/.test(o[e]);)e++}function r(){let l=e;for(;e<t&&/[^\s/>="]/.test(o[e]);)e++;return o.slice(l,e)}function a(){let l={};for(;n(),!(e>=t||o[e]===">"||o[e]==="/"&&o[e+1]===">");){let c=r();if(n(),o[e]!=="="){e++;continue}e++,n();let d=o[e];if(d!=='"'&&d!=="'")continue;e++;let f=e;for(;e<t&&o[e]!==d;)e++;l[c]=ir(o.slice(f,e)),e++}return l}function s(){for(;;){for(;e<t&&o[e]!=="<";)e++;if(e>=t)throw new Error("xml: \u610F\u5916\u5185\u5BB9\uFF08\u65E0\u6839\u5143\u7D20\uFF09");if(o.startsWith("<!--",e)){let h=o.indexOf("-->",e);e=h<0?t:h+3;continue}if(o.startsWith("<![CDATA[",e)){let h=o.indexOf("]]>",e),u=o.slice(e+9,h<0?t:h);return e=h<0?t:h+3,{name:"#text",attrs:{},children:[],text:u}}if(o[e+1]==="?"||o[e+1]==="!"){let h=o.indexOf(">",e);e=h<0?t:h+1;continue}e++;let l=r(),c=a(),d={name:l,attrs:c,children:[],text:""};if(o[e]==="/"&&o[e+1]===">")return e+=2,d;e++;let f="";for(;;){if(e>=t)throw new Error(`xml: \u672A\u95ED\u5408\u6807\u7B7E <${l}>`);if(o[e]==="<"){if(o.startsWith("</",e))return e+=2,r(),e=o.indexOf(">",e),e=e<0?t:e+1,d.text=ir(f),d;f.trim()&&d.children.push({name:"#text",attrs:{},children:[],text:ir(f)}),f="",d.children.push(s())}else f+=o[e],e++}}}return s()}function ie(o,e){return o.children.find(t=>t.name===e)??null}function Ne(o,e){return o.children.filter(t=>t.name===e)}function et(o){let e=o.text;for(let t of o.children)t.name==="#text"?e+=t.text:e+=et(t);return e}var eo=At(()=>{});function Vs(o){return typeof o=="string"||typeof o=="number"}function Ws(o){if(typeof o.type!="string")throw new Error(`xml-serialize: \u4E0D\u652F\u6301\u7684 VNode type\uFF08OOXML \u751F\u6210\u53EA\u7528\u5B57\u7B26\u4E32\u5143\u7D20\u540D\uFF09: ${String(o.type)}`);let e=o.type,{children:t,...n}=o.props??{},r="";for(let[c,d]of Object.entries(n))if(!(c==="key"||d==null))if(typeof d=="string"||typeof d=="number"||typeof d=="boolean")r+=` ${c}="${ar(String(d))}"`;else throw new Error(`xml-serialize: \u5C5E\u6027 ${c} \u503C\u5FC5\u987B\u4E3A\u5B57\u7B26\u4E32/\u6570\u5B57/\u5E03\u5C14\uFF08OOXML \u5C5E\u6027\u65E0\u5BF9\u8C61\uFF09`);let a=Array.isArray(t)?t:t==null?[]:[t],s=[],i=c=>{for(let d of c)Array.isArray(d)?i(d):d!=null&&typeof d!="boolean"&&s.push(d)};if(i(a),s.length===0)return sc.has(e)?`<${e}${r}/>`:`<${e}${r}></${e}>`;let l="";for(let c of s)Vs(c)?l+=ar(String(c)):l+=Ws(c);return`<${e}${r}>${l}</${e}>`}function Me(o,e=!0){let t;return Array.isArray(o)?t=o.map(n=>Me(n,!1)).join(""):Vs(o)?t=ar(String(o)):o==null||typeof o=="boolean"?t="":t=Ws(o),e?`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
- ${t}`:t}var ar,sc,to=At(()=>{ar=o=>o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"),sc=new Set(["w:br","w:cr","w:tab","w:b","w:i","w:u"])});var cr={};yo(cr,{deckToPptx:()=>cc,pptxToDeck:()=>ic});import{h as ne}from"weifuwu/ui-dom";async function ic(o){let e=await en(o),t=[],n=new TextDecoder,r=[...e.keys()].filter(s=>/^ppt\/slides\/slide\d+\.xml$/.test(s)).sort((s,i)=>{let l=Number(/slide(\d+)/.exec(s)?.[1]??0),c=Number(/slide(\d+)/.exec(i)?.[1]??0);return l-c}),a=[];for(let s of r){let i=Qe(n.decode(e.get(s))),l=i.name==="p:sld"?i:ie(i,"p:sld"),c=l?ie(l,"p:cSld"):null,d=c?ie(c,"p:spTree"):null,f=c??null,h=[];if(d){for(let u of Ne(d,"p:sp")){let p=ac(u);p&&h.push(p)}for(let u of Ne(d,"p:pic")){let p=lc(u);p&&h.push(p)}}else t.push(`${s} \u7F3A\u5C11 spTree\uFF08\u88C1\u526A\uFF1A\u7A7A\u5E7B\u706F\u7247\uFF09`);a.push({shapes:h,layout:void 0})}if(a.length===0)throw new Error("pptx: \u65E0\u5E7B\u706F\u7247\uFF08\u975E pptx\uFF1F\uFF09");return{deck:{slides:a,activeSlide:0,size:{w:960,h:540}},warnings:t}}function Us(o){let e=ie(o,"p:spPr"),t=ie(o,"p:xfrm")??ie(o,"a:xfrm")??(e?ie(e,"a:xfrm"):null);if(!t)return null;let n=ie(t,"a:off"),r=ie(t,"a:ext");return{x:n?Math.round(Number(n.attrs.x??0)/Et):0,y:n?Math.round(Number(n.attrs.y??0)/Et):0,w:r?Math.round(Number(r.attrs.cx??0)/Et):100,h:r?Math.round(Number(r.attrs.cy??0)/Et):40}}function ac(o){let e=Us(o);if(!e)return null;let t=ie(o,"p:nvSpPr"),n=t?ie(t,"p:cNvPr")?.attrs.id??"sp":"sp",r="text",a=ie(o,"p:spPr"),i=(a?ie(a,"a:prstGeom"):null)?.attrs.prst;i==="line"?r="line":i&&(r="rect");let l=ie(o,"p:txBody"),c="";return l&&(c=Ne(l,"a:p").map(d=>et(d)).join(`
3
- `).trim()),{id:String(n),kind:r,...e,props:c?{text:c}:void 0}}function lc(o){let e=Us(o);if(!e)return null;let t=ie(o,"p:nvPicPr"),n=t?ie(t,"p:cNvPr")?.attrs.id??"pic":"pic";return{id:String(n),kind:"image",...e,props:{imageUrl:"#"}}}function cc(o){let e=[],t=[],n=[],r=[],a=Math.max(1,o.slides.length);o.slides.forEach((h,u)=>{let p=[];h.shapes.forEach((g,y)=>{let v=2+y,b=Math.round(g.x*Et),w=Math.round(g.y*Et),k=Math.round(g.w*Et),S=Math.round(g.h*Et);if(g.kind==="image"){e.push(`shape ${g.id} \u56FE\u7247\u5BFC\u51FA\u88C1\u526A\uFF08v1 \u65E0\u5A92\u4F53\u4E8C\u8FDB\u5236\uFF09`),p.push(ne("p:pic",{key:`pic${y}`},ne("p:nvPicPr",{},ne("p:cNvPr",{id:v,name:`pic${y}`}),ne("p:cNvPicPr")),ne("p:blipFill",{},ne("a:blip",{"r:embed":"rIdPlaceholder"})),ne("p:spPr",{},lr(b,w,k,S))));return}let $=g.kind==="line"?"line":g.kind==="rect"?"rect":null,C=g.props?.text?ne("p:txBody",{},...g.props.text.split(`
4
- `).map((D,T)=>ne("a:p",{key:`p${T}`},ne("a:r",{},ne("a:t",{},D))))):null;p.push(ne("p:sp",{key:`sp${y}`},ne("p:nvSpPr",{},ne("p:cNvPr",{id:v,name:`shape${y}`}),ne("p:cNvSpPr")),ne("p:spPr",{},lr(b,w,k,S),...$?[ne("a:prstGeom",{prst:$},ne("a:avLst"))]:[]),...C?[C]:[]))});let m=ne("p:sld",{xmlns:"http://schemas.openxmlformats.org/presentationml/2006/main","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"},ne("p:cSld",{},ne("p:spTree",{},ne("p:nvGrpSpPr",{},ne("p:cNvPr",{id:1,name:""}),ne("p:cNvGrpSpPr"),ne("p:nvPr")),ne("p:grpSpPr",{},lr(0,0,9144e3,5143500)),...p)));t.push({path:`ppt/slides/slide${u+1}.xml`,xml:Me(m)}),n.push(ne("Relationship",{Id:`rId${u+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide",Target:`slides/slide${u+1}.xml`})),r.push(ne("p:sldId",{id:256+u,"r:id":`rId${u+1}`}))});let s=ne("p:presentation",{xmlns:"http://schemas.openxmlformats.org/presentationml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"},ne("p:sldIdLst",{},...r),ne("p:sldSz",{cx:9144e3,cy:5143500}),ne("p:notesSz",{cx:6858e3,cy:9144e3})),i=Me(ne("Relationships",{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},...n)),l=Me(ne("Relationships",{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},ne("Relationship",{Id:"rId1",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",Target:"ppt/presentation.xml"}))),c=Me(ne("Types",{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"},ne("Default",{Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"}),ne("Default",{Extension:"xml",ContentType:"application/xml"}),ne("Override",{PartName:"/ppt/presentation.xml",ContentType:"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml"}),...o.slides.map((h,u)=>ne("Override",{PartName:`/ppt/slides/slide${u+1}.xml`,ContentType:"application/vnd.openxmlformats-officedocument.presentationml.slide+xml"})))),d=new TextEncoder,f=new Map([["[Content_Types].xml",d.encode(c)],["_rels/.rels",d.encode(l)],["ppt/presentation.xml",d.encode(Me(s))],["ppt/_rels/presentation.xml.rels",d.encode(i)]]);for(let h of t)f.set(h.path,d.encode(h.xml));return{data:tn(f),warnings:e}}function lr(o,e,t,n){return ne("a:xfrm",{},ne("a:off",{x:o,y:e}),ne("a:ext",{cx:t,cy:n}))}var Et,pr=At(()=>{Qn();eo();to();Et=9525});var dr={};yo(dr,{workbookToXlsx:()=>dc,xlsxToWorkbook:()=>pc});import{h as pe}from"weifuwu/ui-dom";async function pc(o){let e=await en(o),t=[],n=new TextDecoder,r=e.get("xl/workbook.xml");if(!r)throw new Error("xlsx: \u7F3A\u5C11 xl/workbook.xml\uFF08\u975E xlsx\uFF1F\uFF09");let a=Qe(n.decode(r)),s=[],i=ie(a,"sheets");if(i)for(let u of Ne(i,"sheet"))s.push({name:u.attrs.name??`Sheet${s.length+1}`,rId:u.attrs["r:id"]??""});let l=new Map,c=e.get("xl/_rels/workbook.xml.rels");if(c){let u=Qe(n.decode(c));for(let p of Ne(u,"Relationship")){let m=p.attrs.Target??"";m.startsWith("worksheets/")&&l.set(p.attrs.Id??"",`xl/${m}`)}}let d=[],f=e.get("xl/sharedStrings.xml");if(f){let u=Qe(n.decode(f)),p=u.name==="sst"?u:ie(u,"sst");if(p)for(let m of Ne(p,"si")){let g=Ne(m,"t");d.push(g.length>0?g.map(y=>et(y)).join(""):et(m))}}let h=[];for(let u=0;u<s.length;u++){let p=s[u],m=l.get(p.rId)??`xl/worksheets/sheet${u+1}.xml`,g=e.get(m);if(!g){t.push(`sheet ${p.name} \u90E8\u4EF6\u7F3A\u5931\uFF08${m}\uFF09`);continue}let y=Fs(n.decode(g),d,t);h.push({...y,name:p.name})}if(h.length===0){let u=e.get("xl/worksheets/sheet1.xml");if(u)h.push({...Fs(n.decode(u),d,t),name:"Sheet1"});else throw new Error("xlsx: \u65E0\u53EF\u7528\u5DE5\u4F5C\u8868")}return{workbook:{sheets:h,activeSheet:0},warnings:t}}function Fs(o,e,t){let n=Qe(o),r=ie(n,"sheetData"),a=new Map,s=1;if(r)for(let i of Ne(r,"row"))for(let l of Ne(i,"c")){let c=(l.attrs.r??"").toUpperCase(),d=l.attrs.t,f=ie(l,"f"),h=ie(l,"v"),u=h?et(h):"",p;if(f)p={kind:"f",value:u,formula:et(f)};else if(d==="s"){let m=Number(u);p={kind:"s",value:Number.isFinite(m)&&e[m]!=null?e[m]:u}}else if(d==="b")p={kind:"b",value:u==="1"||u==="true"};else if(d==="n"||u!==""){let m=Number(u);p=Number.isFinite(m)&&u!==""?{kind:"n",value:m}:{kind:"s",value:u}}else p={kind:"s",value:""};if(c){a.set(c,p);let m=uc(c);m+1>s&&(s=m+1)}else t.push("\u5355\u5143\u683C\u7F3A\u5C11 r \u5F15\u7528\u2014\u2014\u8DF3\u8FC7")}return{name:"",cols:s,cells:a}}function uc(o){let e=/^([A-Z]+)/.exec(o);if(!e)return 0;let t=0;for(let n of e[1])t=t*26+(n.charCodeAt(0)-64);return t-1}function dc(o){let e=[],t=[],n=new Map,r=m=>{let g=n.get(m);return g==null&&(g=t.length,t.push(m),n.set(m,g)),g},a=[],s=[],i=[];o.sheets.forEach((m,g)=>{let y=[],v=new Map,b=m.cols;for(let[S,$]of m.cells){let{row:C,col:D}=ur(S);D+1>b&&(b=D+1);let T=v.get(C)??[];T.push({ref:S,cell:$}),v.set(C,T)}let w=[...v.keys()].sort((S,$)=>S-$);for(let S of w){let $=v.get(S).sort((D,T)=>ur(D.ref).col-ur(T.ref).col),C=[];for(let{ref:D,cell:T}of $)T.kind==="f"&&T.formula?C.push(pe("c",{r:D,t:"f"},pe("f",{},T.formula),pe("v",{},String(T.value??"")))):T.kind==="s"?C.push(pe("c",{r:D,t:"s"},pe("v",{},String(r(String(T.value)))))):T.kind==="b"?C.push(pe("c",{r:D,t:"b"},pe("v",{},T.value?"1":"0"))):T.kind==="n"?C.push(pe("c",{r:D,t:"n"},pe("v",{},String(T.value)))):C.push(pe("c",{r:D,t:"s"},pe("v",{},String(r(String(T.value))))));y.push(pe("row",{r:S+1},...C))}let k=pe("worksheet",{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"},pe("sheetData",{},...y));a.push({path:`xl/worksheets/sheet${g+1}.xml`,xml:Me(k)}),s.push(pe("Relationship",{Id:`rId${g+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",Target:`worksheets/sheet${g+1}.xml`})),i.push(pe("sheet",{name:m.name,sheetId:g+1,"r:id":`rId${g+1}`}))});let l=pe("workbook",{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"},pe("sheets",{},...i)),c=pe("sst",{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:t.length,uniqueCount:t.length},...t.map((m,g)=>pe("si",{key:`si${g}`},pe("t",{},m)))),d=pe("Relationships",{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},...s,pe("Relationship",{Id:`rId${o.sheets.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",Target:"sharedStrings.xml"})),f=Me(pe("Types",{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"},pe("Default",{Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"}),pe("Default",{Extension:"xml",ContentType:"application/xml"}),pe("Override",{PartName:"/xl/workbook.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"}),...o.sheets.map((m,g)=>pe("Override",{PartName:`/xl/worksheets/sheet${g+1}.xml`,ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"})),pe("Override",{PartName:"/xl/sharedStrings.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"}))),h=Me(pe("Relationships",{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},pe("Relationship",{Id:"rId1",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",Target:"xl/workbook.xml"}))),u=new TextEncoder,p=new Map([["[Content_Types].xml",u.encode(f)],["_rels/.rels",u.encode(h)],["xl/workbook.xml",u.encode(Me(l))],["xl/_rels/workbook.xml.rels",u.encode(Me(d))],["xl/sharedStrings.xml",u.encode(Me(c))]]);for(let m of a)p.set(m.path,u.encode(m.xml));return{data:tn(p),warnings:e}}function ur(o){let e=/^([A-Z]+)(\d+)$/.exec(o);if(!e)return{row:0,col:0};let t=0;for(let n of e[1])t=t*26+(n.charCodeAt(0)-64);return{row:Number(e[2])-1,col:t-1}}var fr=At(()=>{Qn();eo();to()});var mr={};yo(mr,{base64ToBytes:()=>Ys,bytesToBase64:()=>Js,docToDocx:()=>yc,docxToDoc:()=>mc});import{h as B}from"weifuwu/ui-dom";function Ys(o){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(o,"base64"));let e=atob(o),t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function Js(o){if(typeof Buffer<"u")return Buffer.from(o).toString("base64");let e="";for(let t=0;t<o.length;t++)e+=String.fromCharCode(o[t]);return btoa(e)}async function mc(o){let e=await en(o),t=[],n=e.get("word/document.xml");if(!n)throw new Error("docx: \u7F3A\u5C11 word/document.xml\uFF08\u975E docx\uFF1F\uFF09");let r=new Map,a=e.get("word/_rels/document.xml.rels");if(a){let p=Qe(new TextDecoder().decode(a));for(let m of Ne(p,"Relationship")){let g=m.attrs.Target??"";g.startsWith("media/")&&r.set(m.attrs.Id??"",`word/${g}`)}}let s=Qe(new TextDecoder().decode(n)),i=ie(s,"w:body");if(!i)throw new Error("docx: \u7F3A\u5C11 w:body");let l="",c=[],d=[],f=[],h=0,u=p=>{l+=p};for(let p of i.children)if(p.name==="w:p"){let m=null,g,y=ie(p,"w:pPr");if(y){let b=ie(y,"w:pStyle");b?.attrs["w:val"]&&Gs[b.attrs["w:val"]]&&(m=Gs[b.attrs["w:val"]]);let w=ie(y,"w:jc");w?.attrs["w:val"]&&qs[w.attrs["w:val"]]&&(g=qs[w.attrs["w:val"]])}let v=l.length;for(let b of p.children)if(b.name==="w:r"){let w=b,k=ie(w,"w:rPr"),S=!!k&&!!ie(k,"w:b"),$=!!k&&!!ie(k,"w:i"),C=!!k&&!!ie(k,"w:u");Ne(w,"w:br").length>0&&u(`
5
- `);let D=ie(w,"w:t");if(D){let A=et(D);u(A),S&&d.push({start:l.length-A.length,end:l.length,type:"b"}),$&&d.push({start:l.length-A.length,end:l.length,type:"i"}),C&&d.push({start:l.length-A.length,end:l.length,type:"u"})}let T=ie(w,"w:drawing")??ie(w,"w:pict");if(T){let A=hc(T),P=A?r.get(A):void 0;if(P&&e.has(P)){let j=e.get(P),W=`<img src="data:${gc(P)};base64,${Js(j)}" alt="">`;f.push({id:`d${h++}`,at:l.length,type:"img",html:W}),u(je)}else t.push(`\u56FE\u7247 r:embed=${A??"?"} \u672A\u627E\u5230\uFF08\u88C1\u526A\uFF1A\u5916\u90E8\u56FE\u7247\u4E0D\u652F\u6301\uFF09`)}}else if(b.name==="w:tbl"){let w=Xs(b);f.push({id:`d${h++}`,at:l.length,type:"table",html:w}),u(je)}if(u(`
6
- `),m||g){let b={start:v,kind:m??"p"};g&&(b.align=g),c.push(b)}}else if(p.name==="w:tbl"){let m=Xs(p);f.push({id:`d${h++}`,at:l.length,type:"table",html:m}),u(je),u(`
7
- `)}else p.name;return{doc:{text:l,blockProps:c,marks:d,embeds:f},warnings:t}}function hc(o){let e=t=>{if(t.attrs?.["r:embed"])return t.attrs["r:embed"];for(let n of t.children??[]){let r=e(n);if(r)return r}return null};return e(o)}function gc(o){let e=o.split(".").pop()?.toLowerCase()??"";return{png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",bmp:"image/bmp",svg:"image/svg+xml",webp:"image/webp"}[e]??"image/png"}function Xs(o){let e=(o.children??[]).filter(n=>n.name==="w:tr");if(e.length===0)return'<table class="wf-editor-table"><tbody></tbody></table>';let t='<table class="wf-editor-table"><tbody>';for(let n of e){t+="<tr>";for(let r of(n.children??[]).filter(a=>a.name==="w:tc")){let a=(r.children??[]).filter(s=>s.name==="w:p").map(s=>(s.children??[]).filter(i=>i.name==="w:r").map(i=>(i.children??[]).filter(l=>l.name==="w:t").map(l=>Zs(l)).join("")).join("")).join("");t+=`<td>${fc(a)}</td>`}t+="</tr>"}return t+="</tbody></table>",t}function Zs(o){if(!o.children||o.children.length===0)return o.text??"";let e=o.text??"";for(let t of o.children)e+=Zs(t);return e}function yc(o){let e=[],t=new Map,n=[],r=B("w:document",{"xmlns:w":"http://schemas.openxmlformats.org/wordprocessingml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:wp":"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:pic":"http://schemas.openxmlformats.org/drawingml/2006/picture"},B("w:body",{},bc(o,t,n,e),B("w:sectPr",{},B("w:pgSz",{"w:w":11906,"w:h":16838}),B("w:pgMar",{"w:top":1440,"w:right":1440,"w:bottom":1440,"w:left":1440})))),a=Me(r),s=Me(B("Relationships",{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},B("Relationship",{Id:"rId1",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",Target:"styles.xml"}),...n)),i=Me(B("w:styles",{"xmlns:w":"http://schemas.openxmlformats.org/wordprocessingml/2006/main"},B("w:docDefaults",{},B("w:rPrDefault",{},B("w:rPr",{},B("w:sz",{"w:val":22})))),B("w:style",{"w:type":"paragraph","w:default":"1","w:styleId":"Normal"},B("w:name",{"w:val":"Normal"})),B("w:style",{"w:type":"paragraph","w:styleId":"Heading1"},B("w:name",{"w:val":"heading 1"}),B("w:basedOn",{"w:val":"Normal"}),B("w:rPr",{},B("w:b"),B("w:sz",{"w:val":36}))),B("w:style",{"w:type":"paragraph","w:styleId":"Heading2"},B("w:name",{"w:val":"heading 2"}),B("w:basedOn",{"w:val":"Normal"}),B("w:rPr",{},B("w:b"),B("w:sz",{"w:val":28}))),B("w:style",{"w:type":"paragraph","w:styleId":"Heading3"},B("w:name",{"w:val":"heading 3"}),B("w:basedOn",{"w:val":"Normal"}),B("w:rPr",{},B("w:b"),B("w:sz",{"w:val":24}))))),l=Me(B("Types",{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"},B("Default",{Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"}),B("Default",{Extension:"xml",ContentType:"application/xml"}),B("Default",{Extension:"png",ContentType:"image/png"}),B("Default",{Extension:"jpeg",ContentType:"image/jpeg"}),B("Override",{PartName:"/word/document.xml",ContentType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"}),B("Override",{PartName:"/word/styles.xml",ContentType:"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"}))),c=Me(B("Relationships",{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},B("Relationship",{Id:"rId1",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",Target:"word/document.xml"}))),d=new TextEncoder,f=new Map([["[Content_Types].xml",d.encode(l)],["_rels/.rels",d.encode(c)],["word/document.xml",d.encode(a)],["word/_rels/document.xml.rels",d.encode(s)],["word/styles.xml",d.encode(i)]]);for(let[h,u]of t)f.set(h,u);return{data:tn(f),warnings:e}}function bc(o,e,t,n){let r=[],a=p=>{let m=o.blockProps.find(g=>g.start===p);return m?{kind:m.kind==="p"?"":m.kind==="h1"?"Heading1":m.kind==="h2"?"Heading2":"Heading3",align:m.align}:null},s=(p,m)=>{let g=[],y=o.marks.filter(w=>w.start>=p&&w.end<=m&&w.start<w.end).sort((w,k)=>w.start-k.start||w.end-k.end),v=p,b=[];for(let w of y)w.start>v&&b.push({from:v,to:Math.min(w.start,m),ms:[]}),v=Math.max(v,w.start),w.end<=m&&(b.push({from:w.start,to:w.end,ms:[w]}),v=w.end);v<m&&b.push({from:v,to:m,ms:[]});for(let w of b){let k=o.text.slice(w.from,w.to);if(!k)continue;let S=[];for(let $ of w.ms)$.type==="b"?S.push(B("w:b")):$.type==="i"?S.push(B("w:i")):$.type==="u"?S.push(B("w:u")):$.type==="link"&&S.push(B("w:u"),B("w:color",{"w:val":"0563C1"}));g.push(S.length>0?B("w:r",{},B("w:rPr",{},...S),B("w:t",{"xml:space":"preserve"},k)):B("w:r",{},B("w:t",{"xml:space":"preserve"},k)))}return g},i=(p,m,g)=>{let y=a(p),v=[];y&&(y.kind&&v.push(B("w:pStyle",{"w:val":y.kind})),y.align&&v.push(B("w:jc",{"w:val":y.align})));let b=[...s(p,m),...g];return v.length>0?B("w:p",{},B("w:pPr",{},...v),...b):B("w:p",{},...b)},l=0,c=[],d={current:0},f=()=>{if(c.length===0){l<d.current?r.push(i(l,d.current,[])):r.push(i(l,l,[]));return}let p=l,m=[];for(let g of c)g.kind==="block"?(r.push(i(p,g.at,m)),m=[],r.push(g.vnode),p=g.at+1):m.push(g.vnode);r.push(i(p,d.current,m))},h=[...o.embeds].sort((p,m)=>p.at-m.at),u=0;for(;;){let p=o.text.indexOf(`
8
- `,l),m=p<0?o.text.length:p;for(d.current=m,c.length=0;u<h.length&&h[u].at<m;){let g=h[u],y=wc(g,e,t,n);y&&c.push({at:g.at,kind:g.type==="pre"||g.type==="hr"?"block":"inline",vnode:y}),u++}if(f(),p<0||(l=m+1,l>=o.text.length))break}return r}function wc(o,e,t,n){if(o.type==="img"){let r=/src="data:([^;]+);base64,([^"]+)"/.exec(o.html);if(r){let a=e.size+1,s=`rIdImg${a+1}`,i=r[1].includes("png")?"png":r[1].includes("jpeg")||r[1].includes("jpg")?"jpeg":"png",l=`word/media/image${a}.${i}`;return e.set(l,Ys(r[2])),t.push(B("Relationship",{Id:s,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`media/image${a}.${i}`})),B("w:r",{},B("w:drawing",{},B("wp:inline",{distT:0,distB:0,distL:0,distR:0},B("wp:extent",{cx:1371600,cy:1371600}),B("wp:docPr",{id:a,name:`image${a}`}),B("a:graphic",{},B("a:graphicData",{uri:"http://schemas.openxmlformats.org/drawingml/2006/picture"},B("pic:pic",{},B("pic:nvPicPr",{},B("pic:cNvPr",{id:a,name:`image${a}`}),B("pic:cNvPicPr")),B("pic:blipFill",{},B("a:blip",{"r:embed":s}),B("a:stretch",{},B("a:fillRect"))),B("pic:spPr",{},B("a:xfrm",{},B("a:off",{x:0,y:0}),B("a:ext",{cx:1371600,cy:1371600})),B("a:prstGeom",{prst:"rect"},B("a:avLst")))))))))}return n.push("\u56FE\u7247 embed \u975E data url\u2014\u2014\u5BFC\u51FA\u88C1\u526A\uFF08http \u56FE\u7247\u9700\u670D\u52A1\u7AEF\u4E0B\u8F7D\uFF09"),B("w:p")}if(o.type==="table")return xc(o);if(o.type==="hr")return B("w:p",{},B("w:pPr",{},B("w:pBdr",{},B("w:bottom",{"w:val":"single","w:sz":6}))));if(o.type==="pre"){let a=vc(o.html).split(`
9
- `),s=[];return a.forEach((i,l)=>{l>0&&s.push(B("w:r",{key:`br${l}`},B("w:br"))),s.push(B("w:r",{key:`l${l}`},B("w:t",{"xml:space":"preserve"},i)))}),B("w:p",{key:"pre"},...s)}return n.push(`embed \u7C7B\u578B ${o.type} \u5BFC\u51FA\u88C1\u526A`),B("w:p")}function vc(o){let e=/<pre[^>]*>([\s\S]*)<\/pre>/.exec(o);return e?e[1].replace(/<[^>]+>/g,""):""}function xc(o){try{let e=Qe(o.html),t=ie(e,"tbody")??e;return B("w:tbl",{},B("w:tblPr",{},B("w:tblW",{"w:w":0,"w:type":"auto"})),...Ne(t,"tr").map((n,r)=>B("w:tr",{key:`r${r}`},...Ne(n,"td").map((a,s)=>B("w:tc",{key:`c${s}`},B("w:tcPr",{},B("w:tcW",{"w:w":0,"w:type":"auto"})),B("w:p",{},B("w:r",{},B("w:t",{"xml:space":"preserve"},et(a)))))))))}catch{return B("w:p",{},B("w:r",{},B("w:t",{},"[\u8868\u683C\uFF08\u5BFC\u51FA\u88C1\u526A\u2014\u2014\u683C\u5F0F\u65E0\u6CD5\u89E3\u6790\uFF09]")))}}var fc,Gs,qs,hr=At(()=>{Qn();eo();to();Lt();fc=o=>o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");Gs={Heading1:"h1",Heading2:"h2",Heading3:"h3",heading1:"h1",heading2:"h2",heading3:"h3",title:"h1",Title:"h1"},qs={center:"center",right:"right",left:"left",both:"left",distribute:"left"}});import{h as Hr}from"weifuwu/ui-dom";var ea={"chevron-down":["M6 9l6 6 6-6"],"chevron-up":["M6 15l6-6 6 6"],"chevron-left":["M15 18l-6-6 6-6"],"chevron-right":["M9 18l6-6-6-6"],"arrow-left":["M19 12H5","M12 19l-7-7 7-7"],"arrow-up":["M12 19V5","M5 12l7-7 7 7"],"arrow-down":["M12 5v14","M19 12l-7 7-7-7"],"arrow-right":["M5 12h14","M12 5l7 7-7 7"],sort:["M7 15l5 5 5-5","M7 9l5-5 5 5"],"sort-asc":["M12 19V5","M5 12l7-7 7 7"],"sort-desc":["M12 5v14","M19 12l-7 7-7-7"],check:["M20 6L9 17l-5-5"],close:["M18 6L6 18","M6 6l12 12"],alert:["M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z","M12 9v4","M12 17h.01"],info:["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M12 16v-4","M12 8h.01"],warning:["M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z","M12 9v4","M12 17h.01"],pause:["M6 4h4v16H6z","M14 4h4v16h-4z"],settings:["M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z","M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"],search:["M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16z","M21 21l-4.35-4.35"],send:["M22 2L11 13","M22 2l-7 20-4-9-9-4 20-7z"],stop:["M6 6h12v12H6z"],retry:["M1 4v6h6","M23 20v-6h-6","M20.49 9A9 9 0 0 0 5.64 5.64L1 10","M3.51 15a9 9 0 0 0 14.85 3.36L23 14"],upload:["M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4","M17 8l-5-5-5 5","M12 3v12"],trash:["M3 6h18","M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6h14","M10 11v6","M14 11v6"],edit:["M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7","M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"],plus:["M12 5v14","M5 12h14"],copy:["M20 9h-9a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2z","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"],eye:["M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z","M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"],"eye-off":["M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94","M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19","M14.12 14.12a3 3 0 1 1-4.24-4.24","M1 1l22 22"],star:["M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"],dashboard:["M3 13h8V3H3z","M21 13h-8V9h8z","M21 21h-8v-8h8z","M3 21h8v-8H3z"],grid:["M3 3h7v7H3z","M14 3h7v7h-7z","M14 14h7v7h-7z","M3 14h7v7H3z"],box:["M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z","M3.27 6.96L12 12.01l8.73-5.05","M12 22.08V12"],users:["M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2","M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z","M23 21v-2a4 4 0 0 0-3-3.87","M16 3.13a4 4 0 0 1 0 7.75"],user:["M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2","M12 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"],home:["M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z","M9 22V12h6v10"],folder:["M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"],file:["M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z","M13 2v7h7"],"file-text":["M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z","M13 2v7h7","M9 13h6","M9 17h6"],calendar:["M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z","M16 3v4","M8 3v4","M3 11h18"],clock:["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M12 6v6l4 2"],bell:["M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9","M13.73 21a2 2 0 0 1-3.46 0"],menu:["M3 12h18","M3 6h18","M3 18h18"],activity:["M22 12h-4l-3 9L9 3l-3 9H2"],"trending-up":["M23 6l-9.5 9.5-5-5L1 18","M17 6h6v6"],"trending-down":["M23 18l-9.5-9.5-5 5L1 6","M17 18h6v-6"],database:["M12 8c4.97 0 9-1.34 9-3s-4.03-3-9-3-9 1.34-9 3 4.03 3 9 3z","M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3","M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5"],server:["M20 4H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z","M4 14h16","M20 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2","M7 18h.01","M12 18h.01"],heart:["M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"],refresh:["M23 4v6h-6","M1 20v-6h6","M3.51 9a9 9 0 0 1 14.85-3.36L23 10","M20.49 15a9 9 0 0 1-14.85 3.36L1 14"],message:["M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],inbox:["M22 12h-6l-2 3h-4l-2-3H2","M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"],shield:["M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"],zap:["M13 2L3 14h9l-1 8 10-12h-9l1-8z"],target:["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12z","M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"],mail:["M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z","M22 6l-10 7L2 6"],"external-link":["M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6","M15 3h6v6","M10 14L21 3"],"log-out":["M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4","M16 17l5-5-5-5","M21 12H9"],lock:["M5 11h14a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2z","M7 11V7a5 5 0 0 1 10 0v4"],list:["M8 6h13","M8 12h13","M8 18h13","M3 6h.01","M3 12h.01","M3 18h.01"],"bar-chart":["M12 20V10","M18 20V4","M6 20v-4"],gauge:["M12 15l3.5-3.5","M20.39 18.39A10 10 0 1 0 3.61 18.39","M12 15a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"],paperclip:["M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"],filter:["M22 3H2l8 9.46V19l4 2v-8.54L22 3z"],layers:["M12 2L2 7l10 5 10-5-10-5z","M2 17l10 5 10-5","M2 12l10 5 10-5"],"map-pin":["M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z","M15 10a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"],"book-open":["M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z","M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"],github:["M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"],tag:["M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z","M7 7h.01"],phone:["M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"],"more-vertical":["M12 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z","M12 13.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z","M12 20a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"],"check-circle":["M22 11.08V12a10 10 0 1 1-5.93-9.14","M22 4L12 14.01l-3-3"],"alert-circle":["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M12 8v4","M12 16h.01"],wifi:["M5 12.55a11 11 0 0 1 14.08 0","M1.42 9a16 16 0 0 1 21.16 0","M8.53 16.11a6 6 0 0 1 6.95 0","M12 20h.01"],cpu:["M9 9h6v6H9z","M9 1v4","M15 1v4","M9 19v4","M15 19v4","M1 9h4","M1 15h4","M19 9h4","M19 15h4","M5 5h14v14H5z"],"hard-drive":["M22 12H2","M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z","M6 16h.01","M10 16h.01"],globe:["M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z","M2 12h20","M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"],briefcase:["M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16","M2 20h20","M4 4h16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z"],layout:["M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z","M9 3v18","M3 9h18"]},O=async(o,e)=>async t=>{let{name:n,size:r,className:a}=t;return Hr("svg",{class:`wf-icon${a?" "+a:""}`,width:r??"1em",height:r??"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":1.8,"stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},ea[n].map(s=>Hr("path",{d:s})))};import{h as zr}from"weifuwu/ui-dom";var _t=async(o,e)=>async t=>{let{variant:n="primary",size:r="md",block:a,loading:s,disabled:i,type:l,onClick:c,children:d}=t,f=["wf-btn",`wf-btn--${n}`,`wf-btn--${r}`,a&&"wf-btn--block",s&&"wf-btn--loading"].filter(Boolean).join(" "),h=e?.i18n?.components?.Button??{};return zr("button",{id:t.id,title:t.title,class:f,type:l??"button",disabled:i||s||void 0,"aria-busy":s||void 0,onClick:c},s?[zr("span",{class:"wf-btn-spinner"}),h.loading??"\u52A0\u8F7D\u4E2D..."]:d)};import{h as Kt}from"weifuwu/ui-dom";var Hn=async o=>async e=>{let{label:t,name:n,type:r="text",value:a,placeholder:s,required:i,disabled:l,readonly:c,error:d,hint:f,variant:h="default",onInput:u,onChange:p,...m}=e,g=Kt("input",{class:`wf-input${h==="borderless"?" wf-input--borderless":""}`,name:n||void 0,type:r,value:a??"",placeholder:s,required:i||void 0,disabled:l||void 0,readonly:c||void 0,onInput:u,onChange:p,...m});if(!t&&!d&&!f)return g;let y=[];if(t){let v=[t];i&&v.push(Kt("span",{class:"wf-input-req"},"*")),y.push(Kt("label",{class:"wf-input-label"},v))}return y.push(g),d&&y.push(Kt("div",{class:"wf-input-err"},d)),f&&!d&&y.push(Kt("div",{class:"wf-input-hint"},f)),Kt("div",{class:`wf-input-wrap${d?" wf-input--err":""}`},y)};import{h as Dt}from"weifuwu/ui-dom";var ta=async(o,e)=>async t=>{let{label:n,value:r,placeholder:a,required:s,disabled:i,error:l,hint:c,rows:d=3,maxLength:f,showCount:h,onInput:u}=t,p=Dt("textarea",{class:"wf-textarea",value:r??"",placeholder:a,required:s||void 0,disabled:i||void 0,rows:d,maxLength:f,onInput:u}),m=[];if(n){let g=[n];s&&g.push(Dt("span",{class:"wf-textarea-req"},"*")),m.push(Dt("label",{class:"wf-textarea-label"},g))}if(m.push(p),h){let g=(r??"").length,y=f!=null&&g>f;m.push(Dt("div",{class:`wf-textarea-count${y?" wf-textarea-count--over":""}`,"aria-live":"polite"},f!=null?`${g}/${f}`:String(g)))}return l&&m.push(Dt("div",{class:"wf-textarea-err"},l)),c&&!l&&m.push(Dt("div",{class:"wf-textarea-hint"},c)),Dt("div",{class:`wf-textarea-wrap${l?" wf-textarea--err":""}`},m)};import{h as we}from"weifuwu/ui-dom";function zn(o){return"options"in o&&!("value"in o)}function bo(o){return o?o.flatMap(e=>zn(e)?e.options:[e]):[]}var na=async(o,e)=>async t=>{let{label:n,value:r,options:a,placeholder:s,required:i,disabled:l,error:c,onChange:d,children:f}=t,h=[];if(s&&h.push(we("option",{value:"",disabled:!0},s)),a)for(let m of a)zn(m)?h.push(we("optgroup",{label:m.label},m.options.map(g=>we("option",{value:g.value,disabled:g.disabled},g.label)))):h.push(we("option",{value:m.value,disabled:m.disabled},m.label));let u=we("select",{class:"wf-select",value:r??"",required:i||void 0,disabled:l||void 0,onChange:m=>d?.(m.target.value)},f??h),p=[];if(n){let m=[n];i&&m.push(we("span",{class:"wf-select-req"},"*")),p.push(we("label",{class:"wf-select-label"},m))}return p.push(u),c&&p.push(we("div",{class:"wf-select-err"},c)),we("div",{class:`wf-select-wrap${c?" wf-select--err":""}`},p)},oa=async(o,e)=>{let t=!1,n="",r=[],a=-1,s=!1,i;e.ui.useStableRef?.(()=>{},()=>{s=!0,i&&clearTimeout(i)});let l=null,c=null,d=u=>{u&&(l=u)},f=u=>{u&&(c=u)},h=e.ui.usePopup({trigger:()=>"click",placement:()=>"bottom",center:!1,gap:4,el:()=>l,isOpen:()=>t,setOpen:u=>{t=u,e.ui.render()}});return async u=>{let{label:p,value:m,options:g=[],placeholder:y,required:v,disabled:b,error:w,onChange:k,onSearch:S,multiple:$}=u,C=!!$,D=C?Array.isArray(m)?m:[]:[m],T=(F,U)=>{if(!U)return F;let te=U.toLowerCase();return F.flatMap(X=>{if(zn(X)){let be=X.options.filter(he=>he.label.toLowerCase().includes(te));return be.length?[{label:X.label,options:be}]:[]}return X.label.toLowerCase().includes(te)?[X]:[]})},A=n&&S&&r.length>0?r:T(g,n),P=bo(A),j=bo(g),R=j.find(F=>F.value===m),W=j.filter(F=>D.includes(F.value)),E=async F=>{if(n=F,t=!0,a=0,e.ui.render(),S&&F){let U=await S(F);U&&(r=U,e.ui.render())}},M=F=>{if(!F.disabled)if(C){let U=Array.isArray(m)?[...m]:[],te=U.indexOf(F.value);te>=0?U.splice(te,1):U.push(F.value),k?.(U)}else n="",t=!1,e.ui.render(),k?.(F.value)},x=F=>{if(!C)return;let U=Array.isArray(m)?[...m]:[];k?.(U.filter(te=>te!==F))},I=F=>{if(!b)if(F.key==="ArrowDown")F.preventDefault(),t=!0,a=Math.min(a+1,P.length-1),e.ui.render();else if(F.key==="ArrowUp")F.preventDefault(),t=!0,a=Math.max(a-1,0),e.ui.render();else if(F.key==="Enter"){F.preventDefault();let U=P[a];U&&M(U)}else F.key==="Escape"&&(F.preventDefault(),t=!1,n="",e.ui.render())},z=C&&W.length>0?W.map(F=>we("span",{class:"wf-select-tag",key:F.value},[F.label,we("button",{type:"button",class:"wf-select-tag-close","aria-label":`\u79FB\u9664 ${F.label}`,onClick:U=>{U.stopPropagation(),x(F.value)}},we(O,{name:"close",size:10}))])):[],V=C?"":t?n:R?.label??"",ee=we("div",{key:"select-trigger",class:`wf-select-search-trigger${b?" wf-select-search--disabled":""}${w?" wf-select--err":""}`,ref:d,role:"combobox","aria-haspopup":"listbox","aria-expanded":String(t),onClick:b?void 0:()=>{t=!0,e.ui.render(),c?.focus()}},[...z,we("input",{key:"select-search-input",ref:f,class:"wf-select-search-input",type:"text",value:C?"":t?n:R?.label??"",placeholder:W.length>0?void 0:y??"",disabled:b,readOnly:!t||void 0,onInput:F=>E(F.target.value),onFocus:()=>{b||(t=!0,e.ui.render())},onBlur:()=>{i=setTimeout(()=>{s||(t=!1,n="",e.ui.render())},150)},onKeyDown:I})]),L=[];if(p){let F=[p];v&&F.push(we("span",{class:"wf-select-req"},"*")),L.push(we("label",{class:"wf-select-label"},F))}let K=0,se=(F,U)=>{let te=C?D.includes(F.value):F.value===m,X=we("div",{class:`wf-select-search-opt${te?" wf-select-search-opt--sel":""}${F.disabled?" wf-select-search-opt--dis":""}${a===U?" wf-select-search-opt--hl":""}`,key:F.value,onMouseDown:be=>{be.preventDefault(),M(F)}},F.label);return K++,X},de=[];if(P.length>0)for(let F of A)if(zn(F)){de.push(we("div",{class:"wf-select-search-group",key:`group-${F.label}`},F.label));for(let U of F.options)de.push(se(U,K))}else de.push(se(F,K));else n&&de.push(we("div",{class:"wf-select-search-empty"},"\u65E0\u5339\u914D"));let G=we("div",{class:"wf-select-search-menu"},de),Ee=h.portal(G,"wf-select-menu");return L.push(we("div",{class:"wf-select-search"},[ee,Ee].filter(Boolean))),w&&L.push(we("div",{class:"wf-select-err"},w)),we("div",{class:`wf-select-wrap${w?" wf-select--err":""}`},L)}},_n=async(o,e)=>{let t=await na(o,e),n=await oa(o,e);return r=>r.searchable?n(r):t(r)};import{h as cn}from"weifuwu/ui-dom";var wo=async(o,e)=>async t=>{let{label:n,checked:r,disabled:a,onChange:s}=t,i=cn("input",{type:"checkbox",class:"wf-checkbox-input",checked:r||void 0,disabled:a||void 0,onChange:s?c=>s(c.target.checked):void 0}),l=cn("span",{class:"wf-checkbox-visual"});return n?cn("label",{class:"wf-checkbox"},[i,l,cn("span",{class:"wf-checkbox-label"},n)]):cn("label",{class:"wf-checkbox"},[i,l])};import{h as pn}from"weifuwu/ui-dom";var Kn=async(o,e)=>async t=>{let{label:n,checked:r,disabled:a,onChange:s}=t,i=pn("input",{type:"checkbox",class:"wf-switch-input",checked:r||void 0,disabled:a||void 0,role:"switch","aria-checked":String(!!r),onChange:s?d=>s(d.target.checked):void 0}),l=pn("span",{class:"wf-switch-track"}),c=e?.i18n?.components?.Switch??{};return n?pn("label",{class:"wf-switch"},[i,l,pn("span",{class:"wf-switch-label"},n)]):pn("label",{class:"wf-switch","aria-label":c.ariaLabel??"\u5207\u6362"},[i,l])};import{h as un}from"weifuwu/ui-dom";var ra=async(o,e)=>async t=>{let{name:n,options:r=[],inline:a}=t,s=e?.ui?.useControlled({value:t.value,onChange:t.onChange,name:"RadioGroup"}),i=c=>{let d=s?.controlled;s?.setValue(c),d||t.onChange?.(c)},l=r.map(c=>{let d=un("input",{type:"radio",class:"wf-radio-input",name:n??"radio",value:c.value,checked:s?.value===c.value||void 0,disabled:c.disabled||void 0,onChange:()=>i(c.value)}),f=un("span",{class:"wf-radio-visual"}),h=un("span",{class:"wf-radio-label-text"},c.label);return un("label",{class:"wf-radio",key:c.value},[d,f,h])});return un("div",{class:`wf-radio-group${a?" wf-radio-group--inline":""}`},l)};import{h as Ae}from"weifuwu/ui-dom";function sa(o,e,t,n){if(!t||!n)return o;let r=e.find(s=>s.key===t);if(!r||!r.sortable)return o;let a=[...o];return a.sort((s,i)=>{let l=s[t],c=i[t],d=r.sorter?r.sorter(l,c):String(l??"").localeCompare(String(c??""));return n==="desc"?-d:d}),a}var ia=async(o,e)=>async t=>{let{data:n=[],columns:r,onRowClick:a,sortKey:s,sortOrder:i,onSort:l,emptyText:c,rowSelection:d}=t,f=sa(n,r,s,i),h=(P,j)=>P[d?.rowKey??"id"]??j,u=d?.selectedRowKeys??[],p=new Set(u.map(String)),m=f.map((P,j)=>String(h(P,j))),g=m.length>0&&m.every(P=>p.has(P)),y=m.some(P=>p.has(P)),v=()=>{if(!d?.onChange)return;let P=g?[]:m.map(j=>f.find((R,W)=>String(h(R,W))===j));d.onChange(g?[]:m,g?[]:P)},b=(P,j)=>{if(!d?.onChange)return;let R=String(h(P,j)),W=p.has(R)?u.filter(M=>String(M)!==R):[...u,R],E=W.map(M=>f.find((x,I)=>String(h(x,I))===String(M))).filter(Boolean);d.onChange(W,E)},w=d?Ae("th",{class:"wf-table-th wf-table-th--selection",scope:"col"},Ae("input",{type:"checkbox",class:"wf-table-checkbox",checked:g||void 0,indeterminate:y&&!g?"true":void 0,"aria-label":"\u5168\u9009",onChange:v})):null,k=(P,j)=>d?Ae("td",{class:"wf-table-td wf-table-td--selection"},Ae("input",{type:"checkbox",class:"wf-table-checkbox",checked:p.has(String(h(P,j)))||void 0,"aria-label":"\u9009\u62E9\u884C",onClick:R=>R.stopPropagation(),onChange:()=>b(P,j)})):null,S=r.map(P=>{let j=P.key===s&&i,R=i==="asc",W=P.label,E=P.sortable?Ae(O,{name:j?R?"sort-asc":"sort-desc":"sort",className:`wf-table-sort-icon${j?" wf-table-sort-icon--active":""}`}):null,M=P.sortable&&l?()=>l(P.key,j&&R?"desc":"asc"):void 0;return Ae("th",{class:`wf-table-th${P.sortable?" wf-table-th--sortable":""}${j?" wf-table-th--sorted":""}`,scope:"col",tabindex:P.sortable?0:void 0,style:P.width?{width:P.width}:void 0,onClick:M,onKeyDown:M?x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),M())}:void 0},[W,E].filter(Boolean))}),$=Ae("tr",{class:"wf-table-tr"},[w,...S].filter(Boolean)),C=Ae("thead",{class:"wf-table-thead"},$),D;if(t.loading){let P=t.loadingRows??3;D=Array.from({length:P},(j,R)=>Ae("tr",{class:"wf-table-tr wf-table-tr--loading",key:`loading-${R}`},r.map((W,E)=>Ae("td",{class:"wf-table-td",key:`${R}-${E}`},Ae("span",{class:"wf-skeleton wf-skeleton--text"})))))}else if(f.length===0&&c){let P=r.length+(d?1:0);D=[Ae("tr",{class:"wf-table-tr"},Ae("td",{class:"wf-table-td wf-table-empty",colspan:P,style:{textAlign:"center"}},c))]}else D=f.map((P,j)=>{let R=r.map(E=>{let M=P[E.key],x=E.render?E.render(M,P,j):String(M??"");return Ae("td",{class:"wf-table-td"},x)}),W=k(P,j);return Ae("tr",{class:"wf-table-tr",onClick:a?()=>a(P,j):void 0,style:a?{cursor:"pointer"}:void 0},[W,...R].filter(Boolean))});let T=Ae("tbody",{class:"wf-table-tbody"},D),A=Ae("table",{class:"wf-table",style:t.minWidth?{minWidth:t.minWidth}:void 0},[C,T]);return Ae("div",{class:"wf-table-wrap"},A)};import{h as Ct}from"weifuwu/ui-dom";var vo=async(o,e)=>{let t=!1,n=e.ui.usePopup({presence:!0,trapFocus:!0,lockScroll:!0,positioning:"none",closeOnOutside:!1,closeOnEscape:!1,isOpen:()=>t,setOpen:()=>{}}),r;return e.ui.useGlobalKey(a=>{a.key==="Escape"&&n.phase==="open"&&r?.()}),async a=>{let{open:s,title:i,onClose:l,children:c,footer:d,width:f,closable:h=!0,maskClosable:u=!0}=a;r=l,t=!!s;let p=e?.i18n?.components?.Modal??{},m=n.sync(t);if(m==="closed")return null;let g=Ct("div",{class:"wf-modal-overlay",onClick:u?l:void 0}),y=h?Ct("button",{class:"wf-modal-close",onClick:l,type:"button","aria-label":p.closeAria??"\u5173\u95ED"},Ct(O,{name:"close"})):null,v=i?Ct("div",{class:"wf-modal-header"},[i,y].filter(Boolean)):null,b=Ct("div",{class:"wf-modal-body"},c),w=d?Ct("div",{class:"wf-modal-footer"},d):null,k=Ct("div",{class:"wf-modal-content",onClick:$=>$.stopPropagation(),style:f?{minWidth:`min(${f}, calc(100vw - 32px))`,maxWidth:`min(${f}, calc(100vw - 32px))`}:void 0},[v,b,w].filter(Boolean)),S=Ct("div",{class:`wf-modal ${m==="exit"?"wf-modal--exit":"wf-modal--enter"}`,role:"dialog","aria-modal":"true","aria-label":i??p.ariaLabel??"\u5F39\u7A97"},[g,k]);return n.portal(S,"modal")}};import{createClientBrowser as aa}from"weifuwu/ui-dom";import{h as xo}from"weifuwu/ui-dom";var ju=aa(),la=async(o,e)=>async t=>{let{open:n=!1,title:r,message:a,confirmText:s,cancelText:i,variant:l="primary",width:c,maskClosable:d=!1,onConfirm:f,onCancel:h}=t,u=e?.i18n?.components?.Confirm??{},p=[xo(_t,{variant:"secondary",size:"md",onClick:()=>h?.()},i??u.cancelText??"\u53D6\u6D88"),xo(_t,{variant:l,size:"md",onClick:()=>f?.()},s??u.confirmText??"\u786E\u5B9A")];return xo(vo,{open:n,title:r,onClose:h??t.onClose,maskClosable:d,footer:p,width:c,closable:!1},a)};import{createClientBrowser as ca}from"weifuwu/ui-dom";import{h as jt}from"weifuwu/ui-dom";var Gu=ca();function pa(o){return{"top-right":"wf-toast--tr","top-left":"wf-toast--tl","bottom-right":"wf-toast--br","bottom-left":"wf-toast--bl","top-center":"wf-toast--tc"}[o]??"wf-toast--tr"}var ua=async(o,e)=>async t=>{let{toasts:n=[],onRemove:r,position:a="top-right",duration:s=0,max:i=0}=t,l=e.ui.usePopup?.({positioning:"none",closeOnOutside:!1,closeOnEscape:!1,isOpen:()=>!0,setOpen:()=>{}}),c=i>0&&n.length>i?n.slice(-i):n;if(c.length===0)return null;let d=c.map(f=>jt("div",{class:`wf-toast wf-toast--${f.type}`,key:f.id,role:f.type==="error"?"alert":"status","aria-live":f.type==="error"?"assertive":"polite","data-id":f.id,"data-duration":(f.duration??s)||void 0,onClick:r?()=>r(f.id):void 0},[jt("span",{class:"wf-toast-icon"},jt(O,{name:da(f.type)})),jt("span",{class:"wf-toast-msg"},f.message),f.action?jt("button",{class:`wf-toast-action wf-toast-action--${f.type}`,type:"button",onClick:h=>{h.stopPropagation(),f.action.onClick()}},f.action.label):null].filter(Boolean)));return l.portal(jt("div",{class:`wf-toast-container ${pa(a)}`,"data-max":i||void 0},d),"toast")};function da(o){switch(o){case"success":return"check";case"error":return"close";case"warning":return"alert";case"info":return"info"}}import{h as Vt}from"weifuwu/ui-dom";var ko=async(o,e)=>async t=>{let{variant:n="info",closable:r,onClose:a,children:s}=t;if(!s)return null;let i=Vt("span",{class:"wf-alert-icon"},Vt(O,{name:fa(n)})),l=r?Vt("button",{class:"wf-alert-close",onClick:a,type:"button","aria-label":"\u5173\u95ED"},Vt(O,{name:"close"})):null,c=Vt("span",{class:"wf-alert-msg"},s);return Vt("div",{class:`wf-alert wf-alert--${n}`,role:"alert"},[i,c,l].filter(Boolean))};function fa(o){switch(o){case"success":return"check";case"error":return"close";case"warning":return"alert";case"info":return"info"}}import{h as Co}from"weifuwu/ui-dom";var ma=async(o,e)=>async t=>{let{text:n="\u52A0\u8F7D\u4E2D..."}=t;return Co("div",{class:"wf-loading",role:"status","aria-live":"polite"},[Co("div",{class:"wf-loading-spinner"}),Co("span",{class:"wf-loading-text"},n)])};import{h as Wt}from"weifuwu/ui-dom";var ha=async(o,e)=>async t=>{let{icon:n=Wt(O,{name:"inbox"}),text:r="\u6682\u65E0\u6570\u636E",hint:a,children:s}=t,i=[Wt("div",{class:"wf-empty-icon"},n),Wt("div",{class:"wf-empty-text"},r)];return a&&i.push(Wt("div",{class:"wf-empty-hint"},a)),s&&i.push(Wt("div",{class:"wf-empty-action"},s)),Wt("div",{class:"wf-empty",role:"status"},i)};import{createClientBrowser as ga}from"weifuwu/ui-dom";import{h as dn}from"weifuwu/ui-dom";var ya=async(o,e)=>{let t=e?.browser??ga(),n=0,r=0,a=null,s=c=>{c&&(n=c.offsetLeft,r=c.offsetWidth,e.ui.render())},i=()=>{a&&s(a.querySelector(".wf-tab--active"))},l=c=>{c&&(a=c,queueMicrotask(i))};return async c=>{let{items:d=[]}=c;if(d.length===0)return null;let f=e?.ui?.useControlled({value:c.active,onChange:c.onChange,name:"Tabs"}),h=b=>{let w=f?.controlled;f?.setValue(b),w||c.onChange?.(b)},u=f?.value??d[0].key,p=b=>{let w=b.currentTarget,k=Array.from(w.querySelectorAll(".wf-tab")),S=k.indexOf(t?.activeElement()??null);if(S<0||!f)return;let $=S;if(b.key==="ArrowRight")$=(S+1)%k.length;else if(b.key==="ArrowLeft")$=(S-1+k.length)%k.length;else if(b.key==="Home")$=0;else if(b.key==="End")$=k.length-1;else return;b.preventDefault();let C=d[$];C&&C.key!==d[S].key&&(h(C.key),k[$].focus(),s(k[$]))},m=d.map(b=>dn("button",{class:`wf-tab${b.key===u?" wf-tab--active":""}`,key:b.key,role:"tab",tabindex:b.key===u?0:-1,"aria-selected":b.key===u?"true":"false",onClick:b.key!==u?(w=>{s(w?.currentTarget),h(b.key)}):void 0},b.label)),g=dn("span",{class:"wf-tab-ink",style:{transform:`translateX(${n}px)`,width:`${r}px`},"aria-hidden":"true"}),y=d.find(b=>b.key===u),v=y?.content?dn("div",{class:"wf-tab-content",role:"tabpanel"},y.content):null;return dn("div",{class:"wf-tabs",role:"tablist",onKeyDown:p},[dn("div",{class:"wf-tab-list",ref:l},[...m,g]),v].filter(Boolean))}};import{h as So}from"weifuwu/ui-dom";var ba=async(o,e)=>{let t=null,n=l=>{t=l},r=null,a=0,s=!1,i=e.ui.usePopup({trigger:"click",el:()=>t,isOpen:()=>r?.open??!1,setOpen:l=>r?.setOpen(l)});return async l=>{let{trigger:c,items:d=[]}=l;r=e.ui.useOpen({open:l.open,onOpenChange:l.onOpenChange,name:"Dropdown"});let f=!!r?.open;f&&!s&&(a=0),s=f;let h=m=>{let g=m.key;if(g==="Escape")return;let y=d.map((w,k)=>w.disabled?-1:k).filter(w=>w>=0);if(!y.length)return;let v=y.indexOf(a),b=v>=0?v:0;if(g==="ArrowDown"||g==="ArrowRight")m.preventDefault(),a=y[Math.min(b+1,y.length-1)],e.ui.render();else if(g==="ArrowUp"||g==="ArrowLeft")m.preventDefault(),a=y[Math.max(b-1,0)],e.ui.render();else if(g==="Home")m.preventDefault(),a=y[0],e.ui.render();else if(g==="End")m.preventDefault(),a=y[y.length-1],e.ui.render();else if(g==="Enter"||g===" "){let w=d[a];w&&!w.disabled&&(m.preventDefault(),w.onClick?.(),r?.setOpen(!1))}},u=d.map((m,g)=>So("button",{class:["wf-dropdown-item",m.variant==="danger"?" wf-dropdown-item--danger":"",g===a&&f?" wf-dropdown-item--hl":""].filter(Boolean).join(" "),key:m.value??g,disabled:m.disabled||void 0,role:"menuitem","aria-selected":String(g===a&&f),onClick:m.disabled?void 0:()=>{m.onClick?.()}},m.label)),p=So("div",{class:"wf-dropdown-menu",role:"menu",onKeyDown:h},u);return So("div",{class:`wf-dropdown${r?.open?" wf-dropdown--open":""}`,ref:n,...i.wrapProps,"aria-haspopup":"menu","aria-expanded":String(!!r?.open)},[c,i.portal(p,"dropdown")].filter(Boolean))}};import{h as It}from"weifuwu/ui-dom";var wa=async(o,e)=>async t=>{let{total:n,pageSize:r=20}=t,a=e?.ui?.useControlled({value:t.page,onChange:t.onChange,name:"Pagination"}),s=a?.value??1,i=h=>{let u=a?.controlled;a?.setValue(h),u||t.onChange?.(h)},l=e?.i18n?.components?.Pagination??{},c=Math.max(1,Math.ceil(n/r));if(c<=1)return null;let d=[];d.push(It("button",{class:`wf-page-btn${s<=1?" wf-page-btn--disabled":""}`,disabled:s<=1,"aria-label":l.prevAria??"\u4E0A\u4E00\u9875",onClick:s>1?()=>i(s-1):void 0},It(O,{name:"chevron-left"})));let f=va(s,c);for(let h of f)h==="..."?d.push(It("span",{class:"wf-page-ellipsis"},"...")):d.push(It("button",{class:`wf-page-btn${h===s?" wf-page-btn--active":""}`,"aria-current":h===s?"page":void 0,onClick:h!==s?()=>i(h):void 0},String(h)));return d.push(It("button",{class:`wf-page-btn${s>=c?" wf-page-btn--disabled":""}`,disabled:s>=c,"aria-label":l.nextAria??"\u4E0B\u4E00\u9875",onClick:s<c?()=>i(s+1):void 0},It(O,{name:"chevron-right"}))),It("nav",{class:"wf-pagination","aria-label":l.ariaLabel??"\u5206\u9875"},d)};function va(o,e){if(e<=7)return Array.from({length:e},(a,s)=>s+1);let t=[1];o>3&&t.push("...");let n=Math.max(2,o-1),r=Math.min(e-1,o+1);for(let a=n;a<=r;a++)t.push(a);return o<e-2&&t.push("..."),t.push(e),t}import{h as xa}from"weifuwu/ui-dom";var Mo=async(o,e)=>async t=>{let{variant:n="default",padding:r="md",clickable:a,hover:s,active:i,onClick:l,className:c,id:d,style:f,children:h}=t,u=["wf-card",`wf-card--${n}`,`wf-card--pad-${r}`,a&&"wf-card--clickable",s&&"wf-card--hover",i&&"wf-card--active",(a||s)&&"wf-elevate"].filter(Boolean).join(" ");return xa("div",{class:c?`${u} ${c}`:u,id:d,style:f,onClick:l,role:a?"button":void 0,tabindex:a?0:void 0,onKeyDown:a?p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),l?.())}:void 0},h)};import{h as Po}from"weifuwu/ui-dom";var ka=async(o,e)=>async t=>{let{variant:n="default",dot:r,children:a,count:s,overflowCount:i=99,showZero:l=!1}=t;if(r)return Po("span",{class:`wf-badge-dot wf-badge-dot--${n}`});if(s!=null){if(s===0&&!l)return null;let c=s>i?`${i}+`:String(s);return Po("span",{class:`wf-badge wf-badge--count wf-badge--${n}`,"aria-label":`${s>i?`\u8D85\u8FC7 ${i}`:s} \u6761`},c)}return Po("span",{class:`wf-badge wf-badge--${n}`},a??"")};import{h as _r}from"weifuwu/ui-dom";var Kr=["#4f6ef7","#22c55e","#f59e0b","#ef4444","#8b5cf6","#06b6d4","#ec4899"];function Ca(o){let e=0;for(let t=0;t<o.length;t++)e=o.charCodeAt(t)+((e<<5)-e);return Kr[Math.abs(e)%Kr.length]}var To=async(o,e)=>async t=>{let{name:n="",src:r,size:a="md",color:s}=t,i=Array.from(n.trim())[0]?.toUpperCase()??"?";return r?_r("img",{class:`wf-avatar wf-avatar--${a}`,src:r,alt:n}):_r("div",{class:`wf-avatar wf-avatar--${a}`,style:{background:s??Ca(n)}},i)};import{h as jn}from"weifuwu/ui-dom";var Sa=async(o,e)=>async t=>{let{closable:n,onClose:r,variant:a="default",children:s}=t,i=n?jn("button",{class:"wf-tag-close",onClick:r,type:"button","aria-label":"\u79FB\u9664"},jn(O,{name:"close"})):null;return jn("span",{class:`wf-tag wf-tag--${a}`},[jn("span",{class:"wf-tag-text"},s),i].filter(Boolean))};import{h as St}from"weifuwu/ui-dom";var Ma=async(o,e)=>{let t=e.ui.useTween(0,{duration:400,ease:"easeOutCubic"}),n=0,r=null,a,s=()=>{r&&(clearInterval(r),r=null)};return async i=>{let{label:l,value:c,trend:d,trendLabel:f,icon:h,onClick:u,animate:p,countdown:m,onFinish:g}=i;a=g;let y=typeof c=="number"?c:0;p&&typeof c=="number"?t.reset(y):t.value=y,m!==void 0?(n=Math.max(0,Math.ceil((m-Date.now())/1e3)),r||(r=setInterval(()=>{n=Math.max(0,Math.ceil((m-Date.now())/1e3)),n<=0&&(s(),a?.()),e.ui.render()},1e3))):r&&s();let v=m!==void 0?(()=>{let w=Math.floor(n/3600),k=Math.floor(n%3600/60),S=n%60,$=C=>String(C).padStart(2,"0");return w>0?`${$(w)}:${$(k)}:${$(S)}`:`${$(k)}:${$(S)}`})():String(typeof c=="number"?t.value:c??""),b=[];return h&&b.push(St("div",{class:"wf-stat-icon"},h)),b.push(St("div",{class:"wf-stat-value wf-nums"},v)),b.push(St("div",{class:"wf-stat-label"},l)),d&&b.push(St("div",{class:`wf-stat-trend wf-stat-trend--${d}`},[St("span",{class:"wf-stat-trend-arrow"},St(O,{name:d==="up"?"arrow-up":"arrow-down"})),f?St("span",{class:"wf-stat-trend-label"},f):null].filter(Boolean))),St("div",{class:`wf-stat${u?" wf-stat--clickable":""}${u?" wf-elevate":""}`,onClick:u,role:u?"button":void 0,tabindex:u?0:void 0,onKeyDown:u?w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),u())}:void 0},b)}};import{h as Mt}from"weifuwu/ui-dom";var Pa=async(o,e)=>async t=>{let{items:n=[],active:r,current:a=0}=t,s=r??n[a]?.key,i=n.map((l,c)=>{let d=n.findIndex(v=>v.key===s),f=c<d,h=c===d,u=["wf-step",f&&"wf-step--done",h&&"wf-step--current"].filter(Boolean).join(" "),p=f?Mt("span",{class:"wf-step-num"},Mt(O,{name:"check"})):Mt("span",{class:"wf-step-num"},String(c+1)),m=Mt("span",{class:"wf-step-label"},l.label),g=l.description?Mt("span",{class:"wf-step-desc"},l.description):null,y=c<n.length-1?Mt("span",{class:`wf-step-connector${f?" wf-step-connector--done":""}`}):null;return Mt("div",{class:u,key:l.key,role:"listitem","aria-current":h?"step":void 0},[p,m,g,y].filter(Boolean))});return Mt("div",{class:"wf-steps",role:"list"},i)};import{h as Ta}from"weifuwu/ui-dom";async function Ea(o,e){let t={};for(let[n,r]of Object.entries(e)){let a=o[n]??"";for(let s of r){if(s.required&&!String(a).trim()){t[n]=s.message;break}if(s.pattern&&!s.pattern.test(String(a))){t[n]=s.message;break}if(s.minLength!=null&&String(a).length<s.minLength){t[n]=s.message;break}if(s.maxLength!=null&&String(a).length>s.maxLength){t[n]=s.message;break}if(s.validator){let i=await s.validator(a);if(i!==!0){t[n]=typeof i=="string"?i:s.message;break}}}}return t}var $a=async(o,e)=>async t=>{let{validation:n,onSubmit:r,onError:a,children:s}=t;return Ta("form",{class:"wf-form",onSubmit:async l=>{l.preventDefault();let c=l.target,d=new FormData(c),f={};for(let[h,u]of d.entries())if(h in f){let p=f[h];f[h]=Array.isArray(p)?[...p,u]:[p,u]}else f[h]=u;if(n){let h=await Ea(f,n);if(Object.keys(h).length>0){a?.(h);return}a?.({})}await r?.(f)},noValidate:n?!0:void 0},s)};import{h as fn}from"weifuwu/ui-dom";var Ut=async(o,e)=>async t=>{let{label:n,required:r,error:a,hint:s,children:i}=t,l=[];if(n){let c=[n];r&&c.push(fn("span",{class:"wf-field-req"},"*")),l.push(fn("label",{class:"wf-field-label"},c))}return l.push(i),a&&l.push(fn("div",{class:"wf-field-err"},a)),s&&!a&&l.push(fn("div",{class:"wf-field-hint"},s)),fn("div",{class:`wf-field${a?" wf-field--err":""}`},l)};import{h as Fe}from"weifuwu/ui-dom";import{createClientBrowser as jr}from"weifuwu/ui-dom";var Aa=async(o,e)=>{let t=null,n=null,r=!1,a=!1,s=null,i=u=>{t=u},l=()=>{t&&n!==null&&Number(t.value)!==n&&(t.value=String(n))};(e.browser??jr()).onFormRestore?.(l);let d=u=>{r!==u&&(r=u,e.ui.render())},f=e.ui.usePopup({trigger:"manual",placement:"top",gap:8,el:()=>t,isOpen:()=>r,setOpen:u=>{u||d(!1)},position:()=>s?{x:s.left,y:s.top}:{x:0,y:0}}),h=e.browser??jr();return async u=>{let{label:p,value:m=0,min:g=0,max:y=100,step:v=1,onChange:b,onChangeEnd:w,disabled:k,marks:S}=u,$=Number(m),C=y-g,D=C>0?Math.min(100,Math.max(0,($-g)/C*100)):0,T=C>0&&v>0?v/C*100:1,A=L=>{let K=g+Number(L)/100*C,se=v>0?Math.round((K-g)/v)*v+g:K;return Math.min(y,Math.max(g,se))};n=D;let P=9,j=L=>`calc(${P}px + (100% - ${P*2}px) * ${L})`,R=(L,K)=>P+K*(L-P*2),W=`calc(${P}px + (100% - ${P*2}px) * ${D/100})`,E=`linear-gradient(to right, var(--wf-color-primary) ${W}, var(--wf-color-border) ${W})`;if(s=null,r&&t&&!k){let L=t.getBoundingClientRect();L.width>0&&(s={left:Math.round(L.left+R(L.width,D/100)),top:Math.round(L.top-36)},f.refresh())}let M=Fe("input",{type:"range",class:["wf-slider-input",k?"wf-slider-input--dis":""].filter(Boolean).join(" "),ref:i,"aria-expanded":String(r),value:D,min:0,max:100,step:T,disabled:k||void 0,autocomplete:"off","aria-label":p,"aria-disabled":k?"true":void 0,style:{background:E},onInput:k||!b?void 0:L=>b(A(Number(L.target.value))),onChange:k||!b?void 0:L=>b(A(Number(L.target.value))),onPointerDown:k?void 0:()=>{a=!0,d(!0)},onPointerUp:k?void 0:L=>{a=!1,w?.(A(Number(L.target.value))),d(!1)},onPointerCancel:k?void 0:()=>{a=!1,d(!1)},onMouseEnter:k?void 0:()=>d(!0),onMouseLeave:k?void 0:()=>{a||d(!1)},onFocus:k?void 0:()=>d(!0),onBlur:k?void 0:()=>{a||d(!1)}}),x=Fe("span",{class:"wf-slider-value"},String($)),I=k?null:Fe("div",{class:"wf-slider-tip"},String($)),z=S?.length?Fe("div",{class:"wf-slider-marks"},S.map(L=>{let K=C>0?Math.min(100,Math.max(0,(L.value-g)/C*100)):0;return Fe("div",{key:`mark-${L.value}`,class:"wf-slider-mark",style:{left:j(K/100)}},[Fe("span",{class:"wf-slider-mark-dot"}),L.label?Fe("span",{class:"wf-slider-mark-label"},L.label):null])})):null,V=Fe("div",{class:"wf-slider-track"},[M,z]),ee=Fe("div",{class:"wf-slider"},[V,x]);return p?Fe("div",{class:"wf-slider-wrap"},[Fe("label",{class:"wf-slider-label"},p),ee,I?f.portal(I,"slider-tooltip"):null]):Fe("div",{class:"wf-slider-wrap"},[ee,I])}};import{h as Ft}from"weifuwu/ui-dom";var Da=async(o,e)=>{let t=!1;return async n=>{let{value:r,placeholder:a="\u641C\u7D22...",onInput:s,onClear:i,disabled:l}=n,c=r!==void 0,d=r??"",f=c&&d&&i?Ft("button",{class:"wf-search-clear",type:"button","aria-label":"\u6E05\u9664",onClick:i},Ft(O,{name:"close"})):null,h=Ft("span",{class:"wf-search-icon"},Ft(O,{name:"search"}));return Ft("div",{class:f?"wf-search wf-search--has-clear":"wf-search"},[h,Ft("input",{class:["wf-search-input",l?"wf-search-input--dis":""].filter(Boolean).join(" "),type:"search",value:c?d:void 0,placeholder:a,disabled:l||void 0,"aria-disabled":l?"true":void 0,onInput:u=>{t||u.isComposing||s?.(u)},onCompositionStart:()=>{t=!0},onCompositionEnd:u=>{t=!1,s?.(u)}}),f].filter(Boolean))}};import{h as Vr}from"weifuwu/ui-dom";var Ia=async(o,e)=>async t=>{let{options:n,size:r="md",block:a,ariaLabel:s}=t,i=e?.ui?.useControlled({value:t.value,onChange:t.onChange,name:"SegmentedControl"}),l=d=>{let f=i?.controlled;i?.setValue(d),f||t.onChange?.(d)},c=["wf-segmented",r==="sm"&&"wf-segmented--sm",a&&"wf-segmented--block"].filter(Boolean).join(" ");return Vr("div",{class:c,role:"group","aria-label":s},n.map(d=>Vr("button",{type:"button",class:`wf-segmented-option${d.value===i?.value?" wf-segmented-option--active":""}`,"aria-pressed":d.value===i?.value?"true":"false",disabled:d.disabled||void 0,onClick:d.disabled?void 0:()=>l(d.value)},d.label)))};import{h as mn}from"weifuwu/ui-dom";var La=async(o,e)=>async t=>{let{value:n,max:r=100,label:a,showValue:s,status:i="default",size:l="md"}=t,c=n==null,d=c?0:Math.min(100,Math.max(0,n/r*100)),f=e?.i18n?.components?.ProgressBar??{},h=mn("div",{class:`wf-progress wf-progress--${l}${c?" wf-progress--indeterminate":""}${i!=="default"?` wf-progress--${i}`:""}`,role:"progressbar","aria-valuenow":c?void 0:Math.round(n),"aria-valuemin":0,"aria-valuemax":Math.round(r),"aria-label":a??f.ariaLabel??"\u8FDB\u5EA6"},[mn("div",{class:`wf-progress-fill${i!=="default"?` wf-progress-fill--${i}`:""}`,style:c?void 0:{width:`${d}%`}})]);if(!a&&!s)return h;let u=[];return a&&u.push(mn("span",{class:"wf-progress-label"},a)),u.push(h),s&&!c&&u.push(mn("span",{class:"wf-progress-value"},`${Math.round(d)}%`)),mn("div",{class:"wf-progress-wrap"},u)};import{createClientBrowser as Oa}from"weifuwu/ui-dom";import{h as hn}from"weifuwu/ui-dom";var Ra=async(o,e)=>{let t=e.browser??Oa(),n=[],r=[],a=new Map,s=i=>{let l=a.get(i);return l||(l=c=>{c&&(r[i]=c)},a.set(i,l)),l};return async i=>{let{items:l=[],active:c,onChange:d,multiple:f=!1}=i;n.length===0&&l.length>0&&(n=l.map(b=>b.key));let h=c!==void 0,u=h?c:n,p=b=>u.includes(b),m=b=>{h?d?.(b):(n=b,e.ui.render())},g=b=>{p(b)?m(u.filter(w=>w!==b)):m(f?[...u,b]:[b])},y=b=>{let w=t?.activeElement()??null,k=r.indexOf(w);if(k<0)return;let S=k;if(b.key==="ArrowDown"||b.key==="ArrowRight")S=(k+1)%l.length;else if(b.key==="ArrowUp"||b.key==="ArrowLeft")S=(k-1+l.length)%l.length;else return;b.preventDefault(),r[S]?.focus()};if(l.length===0)return null;let v=l.map((b,w)=>{let k=p(b.key);return hn("div",{class:`wf-accordion-item${k?" wf-accordion-item--open":""}`,key:b.key},[hn("button",{type:"button",class:"wf-accordion-summary",ref:s(w),disabled:b.disabled||void 0,"aria-expanded":k?"true":"false",onClick:b.disabled?void 0:()=>g(b.key)},[b.title,hn(O,{name:"chevron-down",size:14,className:"wf-accordion-arrow"})]),k&&b.content?hn("div",{class:"wf-accordion-content"},b.content):null].filter(Boolean))});return hn("div",{class:"wf-accordion",onKeyDown:y},v)}};import{h as gn}from"weifuwu/ui-dom";var Na=async(o,e)=>async t=>{let{title:n,sub:r,display:a,children:s}=t;return gn("div",{class:"wf-page-head"},[gn("div",{class:"wf-page-head-left"},[gn("h2",{class:`wf-page-title${a?" wf-page-title--display":""}`},n),r?gn("p",{class:"wf-page-sub"},r):null].filter(Boolean)),s?gn("div",{class:"wf-page-head-actions"},s):null].filter(Boolean))};import{h as yn}from"weifuwu/ui-dom";var Ba=async(o,e)=>async t=>{let{items:n}=t,r=n.flatMap((s,i)=>{let l=i===n.length-1,c=l?yn("span",{class:"wf-breadcrumb-current","aria-current":"page"},s.label):s.href?yn("a",{class:"wf-breadcrumb-link",href:s.href},s.label):yn("span",{class:"wf-breadcrumb-text"},s.label);return l?c:[c,yn("span",{class:"wf-breadcrumb-sep","aria-hidden":"true"},"/")]}),a=e?.i18n?.components?.Breadcrumb??{};return yn("nav",{class:"wf-breadcrumb","aria-label":a.ariaLabel??"\u9762\u5305\u5C51"},r)};import{h as Eo}from"weifuwu/ui-dom";var Ha=async(o,e)=>async t=>{let{vertical:n,children:r}=t;return n?Eo("div",{class:"wf-divider wf-divider--vertical",role:"separator"}):Eo("div",{class:r?"wf-divider wf-divider--with-text":"wf-divider",role:"separator"},r?Eo("span",{class:"wf-divider-text"},r):void 0)};import{h as Se}from"weifuwu/ui-dom";function Wr(o){return o<1024?`${o}B`:o<1024*1024?`${(o/1024).toFixed(1)}KB`:`${(o/(1024*1024)).toFixed(1)}MB`}var $o=async(o,e)=>{let t=e?.i18n?.components?.FileUpload??{},n=null,r=u=>{u&&(n=u)},a=new Map,s=u=>`${u.name}:${u.size}`,i=u=>{if(!u.type.startsWith("image/"))return;let p=s(u),m=a.get(p);return!m&&typeof URL<"u"&&URL.createObjectURL&&(m=URL.createObjectURL(u),a.set(p,m)),m},l=u=>{if(!u){for(let p of a.values())URL.revokeObjectURL?.(p);a.clear()}},c=!1,d={...o},f=!1,{dropProps:h}=e.ui.useDragDrop({onDrop:u=>{if(f=!1,e.ui.render(),d.disabled)return;let p=Array.from(u.dataTransfer?.files??[]);d.maxSize&&p.filter(g=>g.size>d.maxSize).length>0||d.onChange?.(p)},onDragOver:()=>{f||(f=!0,e.ui.render())},onDragLeave:()=>{f&&(f=!1,e.ui.render())}});return async u=>{Object.assign(d,u);let{accept:p,multiple:m,maxSize:g,disabled:y,error:v,hint:b,value:w,onChange:k,children:S,uploading:$,progress:C}=u,D=w??[];w!==void 0&&!k&&!c&&(c=!0,console.warn(`[weifuwu/FileUpload] value \u5DF2\u4F20\uFF08\u53D7\u63A7\uFF09\u4F46\u672A\u63D0\u4F9B onChange\u2014\u2014\u9009\u62E9/\u5220\u9664\u65E0\u6CD5\u751F\u6548\u3002
10
- \u4F20 onChange \u6216\u7701\u7565 value \u4F7F\u7528\u975E\u53D7\u63A7\u6A21\u5F0F\u3002`));let T=M=>{let x=M.target,I=Array.from(x.files??[]);g&&I.filter(V=>V.size>g).length>0||(k?.(I),x.value="")},A=M=>{let x=D.filter((I,z)=>z!==M);k?.(x)},P=Se("input",{type:"file",class:"wf-upload-input",accept:p||void 0,multiple:m||void 0,disabled:y||void 0,onChange:T,style:{display:"none"},ref:r}),j=Se("div",{class:`wf-upload-zone${y?" wf-upload-zone--disabled":""}${v?" wf-upload-zone--err":""}${f?" wf-upload-zone--drag":""}`,onClick:y?void 0:()=>n?.click(),...h},S??Se("div",{class:"wf-upload-placeholder"},[Se("span",{class:"wf-upload-icon"},"\u{1F4C1}"),Se("span",{class:"wf-upload-text"},t.placeholder??"\u70B9\u51FB\u6216\u62D6\u62FD\u4E0A\u4F20\u6587\u4EF6"),p?Se("span",{class:"wf-upload-hint"},`${t.supportedFormats??"\u652F\u6301\u683C\u5F0F: "}${p}`):null,g?Se("span",{class:"wf-upload-hint"},`${t.maxSize??"\u6700\u5927 "}${Wr(g)}`):null].filter(Boolean))),R=D.length>0?Se("ul",{class:"wf-upload-list"},D.map((M,x)=>{let I=i(M),z=[I?Se("img",{class:"wf-upload-thumb",src:I,alt:M.name}):null,Se("span",{class:"wf-upload-item-info"},[Se("span",{class:"wf-upload-item-name"},M.name),Se("span",{class:"wf-upload-item-size"},Wr(M.size))]),Se("button",{class:"wf-upload-item-remove","aria-label":`${t.remove??"\u5220\u9664"} ${M.name}`,onClick:()=>A(x)},Se(O,{name:"trash"}))];return Se("li",{class:"wf-upload-item",key:M.name+M.size},z.filter(Boolean))})):null,W=$?Se("div",{class:"wf-upload-progress",role:"progressbar","aria-valuenow":C??0},Se("div",{class:"wf-upload-progress-fill",style:{width:`${C??0}%`}})):null,E=[P,j,R,W];return v&&E.push(Se("div",{class:"wf-upload-err"},v)),b&&!v&&E.push(Se("div",{class:"wf-upload-hint"},b)),Se("div",{class:"wf-upload",ref:l},E)}};import{h as Vn}from"weifuwu/ui-dom";var za=async(o,e)=>{let t=!1,n="top",r=!1,a=null,s=l=>{l&&(a=l)},i=e.ui.usePopup({trigger:"hover",placement:()=>n,gap:6,el:()=>a,isOpen:()=>t,setOpen:l=>{t=l,e.ui.render()},disabled:()=>r});return async l=>{let{content:c,position:d="top",children:f}=l;n=d,r=!!l.disabled;let h=Vn("div",{class:`wf-tooltip wf-tooltip--${d}`,role:"tooltip"},[Vn("div",{class:"wf-tooltip-arrow"}),Vn("div",{class:"wf-tooltip-content"},c)]);return Vn("div",{class:"wf-tooltip-wrap",ref:s,"aria-haspopup":"tooltip",...i.wrapProps},[f,i.portal(h,"tooltip")].filter(Boolean))}};import{h as Pt}from"weifuwu/ui-dom";var _a=async(o,e)=>{let t=!1,n=e.ui.usePopup({presence:!0,trapFocus:!0,lockScroll:!0,positioning:"none",closeOnOutside:!1,closeOnEscape:!1,isOpen:()=>t,setOpen:()=>{}}),r;return e.ui.useGlobalKey(a=>{a.key==="Escape"&&n.phase==="open"&&r?.()}),async a=>{let{open:s,title:i,position:l="right",onClose:c,children:d,footer:f,width:h}=a;r=c;let u=e?.i18n?.components?.Drawer??{};t=!!s;let p=n.sync(t);if(p==="closed")return null;let m=Pt("div",{class:"wf-drawer-overlay",onClick:c}),g=Pt("button",{class:"wf-drawer-close",onClick:c,type:"button","aria-label":u.closeAria??"\u5173\u95ED"},Pt(O,{name:"close"})),y=i?Pt("div",{class:"wf-drawer-header"},[i,g]):null,v=Pt("div",{class:"wf-drawer-body"},d),b=f?Pt("div",{class:"wf-drawer-footer"},f):null,w=Pt("div",{class:`wf-drawer-panel wf-drawer-panel--${l}`,style:h?{"--wf-drawer-width":h}:void 0,onClick:S=>S.stopPropagation()},[y,v,b].filter(Boolean)),k=Pt("div",{class:`wf-drawer wf-drawer--${l} ${p==="exit"?"wf-drawer--exit":"wf-drawer--enter"}`,role:"dialog","aria-modal":"true","aria-label":i??u.ariaLabel??"\u4FA7\u8FB9\u9762\u677F",tabIndex:-1,onKeyDown:S=>{S.key==="Escape"&&c?.()}},[m,w]);return n.portal(k,"drawer")}};import{h as Wn}from"weifuwu/ui-dom";var bn=async(o,e)=>{let t="bottom",n="click",r=!1,a=null,s=c=>{c&&(a=c)},i=null,l=e.ui.usePopup({trigger:()=>n,placement:()=>t,gap:6,el:()=>a,isOpen:()=>i?.open??!1,setOpen:c=>i?.setOpen(c),disabled:()=>r});return async c=>{let{content:d,position:f="bottom",trigger:h="click",children:u}=c;t=f,n=h,i=e.ui.useOpen({open:c.open,onOpenChange:c.onOpenChange,name:"Popover"}),r=!!c.disabled;let p=Wn("div",{class:`wf-popover wf-popover--${f} wf-popover--enter`,role:"tooltip"},[Wn("div",{class:"wf-popover-arrow"}),Wn("div",{class:"wf-popover-content"},d)]);return Wn("div",{class:`wf-popover-wrap${i?.open?" wf-popover-wrap--open":""}`,ref:s,"aria-haspopup":"dialog","aria-expanded":String(!!i?.open),...l.wrapProps},[u,l.portal(p,"popover")].filter(Boolean))}};import{h as Gt,Fragment as Ka}from"weifuwu/ui-dom";var ja=async o=>async e=>{let{variant:t="text",lines:n=1,cols:r=3,width:a,height:s,className:i}=e,l={};a!==void 0&&(l.width=typeof a=="number"?`${a}px`:a),s!==void 0&&(l.height=typeof s=="number"?`${s}px`:s);let c=["wf-skeleton",`wf-skeleton--${t}`,i].filter(Boolean).join(" ");if(t==="table"){let f=Array.from({length:n},(h,u)=>{let p=Array.from({length:r},(m,g)=>{let y=u===n-1&&g===r-1?"40%":void 0;return Gt("div",{class:"wf-skeleton wf-skeleton--text",style:y?{width:y}:void 0})});return Gt("div",{class:"wf-skeleton-row"},p)});return Gt("div",{class:"wf-skeleton-table"},f)}if(n<=1)return Gt("div",{class:c,style:Object.keys(l).length?l:void 0});let d=Array.from({length:n},(f,h)=>{let u=h===n-1&&n>1?`${c} wf-skeleton--short`:c;return Gt("div",{class:u,style:Object.keys(l).length?l:void 0})});return Gt(Ka,null,d)};import{h as wn}from"weifuwu/ui-dom";var Va=async(o,e)=>{let t=!1,n=1,r=null,a=e.ui.usePopup?.({trigger:"click",placement:"bottom",el:()=>r,isOpen:()=>t,setOpen:i=>{t=i,n=i?n:1,e.ui.render()},mask:!0,maskCentered:!0})??{open:!1,setOpen:()=>{},wrapProps:{},portal:()=>null,refresh:()=>{}},s=i=>{r=i};return async i=>{let{src:l,alt:c="",fallback:d,loading:f,width:h,height:u,className:p,style:m,preview:g,previewScale:y=1}=i,v={class:["wf-image",p].filter(Boolean).join(" "),src:l??d??"",alt:c,loading:f??"lazy"};if(h!==void 0&&(v.width=h),u!==void 0&&(v.height=u),m&&(v.style=m),d&&(v.onError=w=>{let k=w.currentTarget;k.src!==d&&(k.src=d)}),!g)return wn("img",v);let b=a.portal(wn("img",{class:"wf-img-preview-image",src:l??d??"",alt:c,style:{transform:`scale(${n*y})`,maxWidth:"90vw",maxHeight:"90vh"},onClick:w=>{w.stopPropagation(),n=n===1?2:1,e.ui.render()}}),"img-preview");return wn("div",{class:"wf-img-preview-wrap"},[wn("button",{type:"button",class:"wf-img-preview-trigger","aria-label":"\u653E\u5927\u9884\u89C8",ref:s,onClick:()=>{t=!0,e.ui.render()}},wn("img",v)),b].filter(Boolean))}};import{h as Un}from"weifuwu/ui-dom";var Wa=async(o,e)=>{let t=!1,n={once:!0},r=e.ui.useInView({rootMargin:()=>n.rootMargin??"0px",threshold:()=>n.threshold??0}),a=s=>{s?r.observe(s):r.disconnect()};return async s=>{if(Object.assign(n,s),r.isIn)return t||(t=!0,s.once!==!1&&r.disconnect(),s.onEnter?.()),Un("div",{class:"wf-inview wf-inview--loaded"},s.children);let i=s.placeholder!==void 0?s.placeholder:Un("div",{class:"wf-inview-placeholder"});return Un("div",{class:"wf-inview wf-inview--pending"},[Un("div",{class:"wf-inview-pending",style:{width:"1px",height:"1px",opacity:0,pointerEvents:"none"},ref:a}),i])}};import{createClientBrowser as Ga}from"weifuwu/ui-dom";import{h as Q}from"weifuwu/ui-dom";var Ua=["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"];function Fn(){return Ua}function Ur(o,e){return new Date(o,e+1,0).getDate()}function Fa(o,e){return new Date(o,e,1).getDay()}function vn(o,e){let t=[],n=Ur(o,e),r=Fa(o,e),a=e===0?11:e-1,s=e===0?o-1:o,i=Ur(s,a),l=new Date,c=[];for(let u=r-1;u>=0;u--){let p=i-u;c.push({year:s,month:a,day:p,isOtherMonth:!0,isToday:s===l.getFullYear()&&a===l.getMonth()&&p===l.getDate()})}for(let u=1;u<=n;u++)c.push({year:o,month:e,day:u,isOtherMonth:!1,isToday:o===l.getFullYear()&&e===l.getMonth()&&u===l.getDate()}),c.length===7&&(t.push(c),c=[]);let d=e===11?0:e+1,f=e===11?o+1:o,h=1;for(;t.length<6;){for(;c.length<7;)c.push({year:f,month:d,day:h++,isOtherMonth:!0,isToday:f===l.getFullYear()&&d===l.getMonth()&&h-1===l.getDate()});t.push(c),c=[]}return t}function dt(o,e,t){return`${o}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function Ao(o,e){return`${String(o).padStart(2,"0")}:${String(e).padStart(2,"0")}`}function Fr(o,e,t,n,r){return`${dt(o,e,t)} ${Ao(n,r)}`}function Do(){return Array.from({length:24},(o,e)=>e)}function Io(){return Array.from({length:12},(o,e)=>e*5)}var qa=async(o,e)=>{let t=e.browser??Ga(),n=!1,r="",a=new Date,s=a.getFullYear(),i=a.getMonth(),l=a.getHours(),c=Math.round(a.getMinutes()/5)*5,d=a.getFullYear(),f=a.getMonth(),h=a.getDate(),u=null,p=null,m=null,g=b=>{m=b},y="date";e.ui.useGlobalKey(b=>{b.key==="Escape"&&n&&(n=!1,e.ui.render())});let v=e.ui.usePopup({trigger:"focus",mask:!0,maskClosable:!0,closeOnEscape:!1,closeDelay:120,el:()=>m,isOpen:()=>n,setOpen:b=>{n=b,e.ui.render()},position:()=>{let b=m?.getBoundingClientRect();if(!b)return{x:0,y:0};let w=y==="range";return{x:b.left,y:b.bottom+4,width:w?void 0:b.width}}});return async b=>{let w=e?.i18n?.components?.DatePicker??{},{mode:k="date",value:S,onChange:$,placeholder:C=w.placeholder??"\u9009\u62E9\u65E5\u671F",disabled:D,error:T}=b;y=k;let A=n,P=U=>{n=U,e.ui.render()},j=U=>{D||P(!n)},R=U=>{if(k==="datetime")d=U.year,f=U.month,h=U.day,s=U.year,i=U.month,e.ui.render();else if(k==="range")if(!u||u&&p)u=dt(U.year,U.month,U.day),p=null,e.ui.render();else{p=dt(U.year,U.month,U.day);let te=u<p?u:p,X=u<p?p:u;r=`${te} ~ ${X}`,$?.(r),P(!1)}else r=dt(U.year,U.month,U.day),$?.(r),P(!1)},W=()=>{i===0?(s--,i=11):i--,e.ui.render()},E=()=>{i===11?(s++,i=0):i++,e.ui.render()},M=()=>{r=Ao(l,c),$?.(r),P(!1)},x=()=>{r=Fr(d,f,h,l,c),$?.(r),P(!1)},I=vn(s,i),z=[w.w0,w.w1,w.w2,w.w3,w.w4,w.w5,w.w6].some(U=>U)?[w.w0,w.w1,w.w2,w.w3,w.w4,w.w5,w.w6]:Fn(),V=(U,te,X)=>Q("button",{class:"wf-datepicker-header-btn",type:"button","aria-label":te,onClick:X},Q(O,{name:U})),ee=Q("div",{class:"wf-datepicker-header"},[V("chevron-left",w.prevMonth??"\u4E0A\u4E2A\u6708",W),Q("span",{class:"wf-datepicker-header-title"},`${s}\u5E74${i+1}\u6708`),V("chevron-right",w.nextMonth??"\u4E0B\u4E2A\u6708",E)]),L=Q("div",{class:"wf-datepicker-weekdays"},z.map(U=>Q("span",{class:"wf-datepicker-weekday"},U))),K=I.map((U,te)=>Q("div",{class:"wf-datepicker-grid",key:`row-${te}`},U.map((X,be)=>{let he=["wf-datepicker-cell"];X.isOtherMonth&&he.push("wf-datepicker-cell--other-month"),X.isToday&&he.push("wf-datepicker-cell--today");let Ie=dt(X.year,X.month,X.day);return k==="range"?Ie===u||Ie===p?he.push("wf-datepicker-cell--range-edge"):u&&p&&Ie>u&&Ie<p&&he.push("wf-datepicker-cell--in-range"):k==="datetime"?d===X.year&&f===X.month&&h===X.day&&he.push("wf-datepicker-cell--selected"):Ie===r&&he.push("wf-datepicker-cell--selected"),Q("button",{class:he.join(" "),key:`${X.year}-${X.month}-${X.day}`,type:"button",onClick:()=>R(X)},String(X.day))}))),se=Q("div",{class:"wf-datepicker-range-panel"},[ee,L,...K]),de=U=>{if(U.key==="Escape"){P(!1);return}if(k==="time"||k==="datetime"||!["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(U.key))return;let te=U.currentTarget,X=Array.from(te.querySelectorAll(".wf-datepicker-cell")),be=X.indexOf(t?.activeElement()??null);if(be<0)return;U.preventDefault();let he=7,Ie=be;U.key==="ArrowLeft"?Ie--:U.key==="ArrowRight"?Ie++:U.key==="ArrowUp"?Ie-=he:U.key==="ArrowDown"&&(Ie+=he),Ie>=0&&Ie<X.length&&X[Ie].focus()},G=null;if(A)if(k==="time"){let U=Do(),te=Io();G=Q("div",{class:"wf-time-picker",role:"dialog",onKeyDown:de,onMouseDown:be=>be.stopPropagation()},[Q("div",{class:"wf-time-body"},[Q("div",{class:"wf-time-col"},[Q("div",{class:"wf-time-col-label"},w.hour??"\u65F6"),Q("div",{class:"wf-time-opt-list"},U.map(be=>Q("button",{class:`wf-time-opt${be===l?" wf-time-opt--selected":""}`,type:"button",key:be,onClick:()=>{l=be,e.ui.render()}},String(be).padStart(2,"0"))))]),Q("div",{class:"wf-time-col"},[Q("div",{class:"wf-time-col-label"},w.minute??"\u5206"),Q("div",{class:"wf-time-opt-list"},te.map(be=>Q("button",{class:`wf-time-opt${be===c?" wf-time-opt--selected":""}`,type:"button",key:be,onClick:()=>{c=be,e.ui.render()}},String(be).padStart(2,"0"))))])]),Q("div",{class:"wf-time-footer"},[Q("button",{class:"wf-datepicker-footer-btn",type:"button",onClick:()=>P(!1)},w.cancel??"\u53D6\u6D88"),Q("button",{class:"wf-datepicker-footer-btn",type:"button",onClick:M},w.confirm??"\u786E\u5B9A")])])}else if(k==="range"){let U=i===11?0:i+1,te=i===11?s+1:s,X=vn(te,U);G=Q("div",{class:"wf-datepicker-range-wrap",onMouseDown:he=>he.stopPropagation()},[Q("div",{class:"wf-datepicker-range-panel"},[Q("div",{class:"wf-datepicker-header"},[V("chevron-left",w.prevMonth??"\u4E0A\u4E2A\u6708",W),Q("span",{class:"wf-datepicker-header-title"},`${s}\u5E74${i+1}\u6708`),Q("span",{class:"wf-datepicker-header-title"})]),L,...K]),Q("div",{class:"wf-datepicker-range-panel"},[Q("div",{class:"wf-datepicker-header"},[Q("span",{class:"wf-datepicker-header-title"}),Q("span",{class:"wf-datepicker-header-title"},`${te}\u5E74${U+1}\u6708`),V("chevron-right",w.nextMonth??"\u4E0B\u4E2A\u6708",E)]),Q("div",{class:"wf-datepicker-weekdays"},z.map(he=>Q("span",{class:"wf-datepicker-weekday"},he))),...X.map((he,Ie)=>Q("div",{class:"wf-datepicker-grid",key:`row-${Ie}`},he.map(ut=>{let We=dt(ut.year,ut.month,ut.day),vt=["wf-datepicker-cell"];return ut.isOtherMonth&&vt.push("wf-datepicker-cell--other-month"),ut.isToday&&vt.push("wf-datepicker-cell--today"),We===u||We===p?vt.push("wf-datepicker-cell--range-edge"):u&&p&&We>u&&We<p&&vt.push("wf-datepicker-cell--in-range"),Q("button",{class:vt.join(" "),key:We,type:"button",onClick:()=>R(ut)},String(ut.day))})))])])}else{let U=[se];k==="datetime"&&(U.push(Q("div",{class:"wf-datetime-time"},[Q("span",{class:"wf-datetime-time-label"},(w.time??"\u65F6\u95F4")+"\uFF1A"),Q("div",{class:"wf-datetime-time-select"},[Q("select",{class:"wf-datetime-select",value:l,onChange:X=>{l=parseInt(X.target.value),e.ui.render()}},Do().map(X=>Q("option",{value:X,key:X},String(X).padStart(2,"0")))),Q("span",{class:"wf-datetime-sep"},":"),Q("select",{class:"wf-datetime-select",value:c,onChange:X=>{c=parseInt(X.target.value),e.ui.render()}},Io().map(X=>Q("option",{value:X,key:X},String(X).padStart(2,"0"))))])])),U.push(Q("div",{class:"wf-time-footer"},[Q("button",{class:"wf-datepicker-footer-btn",type:"button",onClick:x},w.confirm??"\u786E\u5B9A")]))),G=Q("div",{class:"wf-datepicker-dropdown",role:"dialog",onKeyDown:de,onMouseDown:X=>X.stopPropagation()},U)}let Ee=A&&G?v.portal(G,"dp-calendar"):null,F=S??r??"";return Q("div",{class:`wf-datepicker${D?" wf-datepicker--disabled":""}`},[Q("input",{class:["wf-datepicker-input",T?" wf-datepicker-input--err":""].filter(Boolean).join(" "),"aria-invalid":T?"true":void 0,type:"text",placeholder:C,value:F||"",ref:g,readonly:!0,disabled:D,role:"combobox","aria-haspopup":"dialog","aria-expanded":String(A),onClick:j}),Ee].filter(Boolean))}};import{h as ce}from"weifuwu/ui-dom";function xn(o,e){let t=(n=>{let r=(n-o[0])/(o[1]-o[0]);return e[0]+r*(e[1]-e[0])});return t.domain=o,t.range=e,t.invert=n=>{let r=(n-e[0])/(e[1]-e[0]);return o[0]+r*(o[1]-o[0])},t}function qr(o,e,t){return o.length===0?"":o.map((n,r)=>{let a=e(r),s=t(n.value);return r===0?`M${a},${s}`:`L${a},${s}`}).join(" ")}function Xr(o,e,t,n){if(o.length===0)return"";let r=o.map((i,l)=>{let c=e(l),d=t(i.value);return`${c},${d}`}),a=e(0),s=e(o.length-1);return`M${a},${n}L${r.join("L")}L${s},${n}Z`}function Yr(o,e,t,n){let r=n??Math.max(4,(e.range[1]-e.range[0])/o.length*.6);return o.map((a,s)=>({x:e(s)-r/2,y:t(Math.max(0,a.value)),width:r,height:Math.abs(t(a.value)-t(0)),color:a.color??qt(s),label:a.label,value:a.value}))}function Jr(o,e,t,n){let r=o.reduce((s,i)=>s+Math.abs(i.value),0);if(r===0)return[];let a=-Math.PI/2;return o.map((s,i)=>{let l=Math.abs(s.value)/r*Math.PI*2,c=a+l,d=Xa(e,t,n,a,c),f=a+l/2;return a=c,{d,color:s.color??qt(i),label:s.label,value:s.value,centroid:{x:e+Math.cos(f)*n*.6,y:t+Math.sin(f)*n*.6}}})}function Xa(o,e,t,n,r){let a=o+t*Math.cos(n),s=e+t*Math.sin(n),i=o+t*Math.cos(r),l=e+t*Math.sin(r),c=r-n>Math.PI?1:0;return`M${o},${e}L${a},${s}A${t},${t} 0 ${c} 1 ${i},${l}Z`}var Gr=["#3b82f6","#ef4444","#22c55e","#f59e0b","#8b5cf6","#ec4899","#06b6d4","#84cc16"];function qt(o){return Gr[o%Gr.length]}function Lo(o,e=5){let[t,n]=o.domain,r=(n-t)/e,a=[];for(let s=0;s<=e;s++){let i=t+r*s;a.push({value:i,y:o(i),label:Ya(i)})}return a}function Ya(o){return Math.abs(o)>=1e6?(o/1e6).toFixed(1)+"M":Math.abs(o)>=1e3?(o/1e3).toFixed(1)+"k":String(Math.round(o))}var Ja=async(o,e)=>{let t=null,n=null,r=e.ui.usePopup({trigger:"manual",placement:"top",gap:8,el:()=>n,isOpen:()=>t!==null,setOpen:a=>{!a&&t!==null&&(t=null,n=null,e.ui.render())}});return async a=>{let{type:s="line",data:i,options:l={},title:c,area:d,className:f}=a,h=l.width??320,u=l.height??200,p=l.padding??32,m=h-p*2,g=u-p*2,y=i.map(A=>A.value),v=Math.min(0,...y),b=Math.max(...y),w=b-v||1,k=()=>{let A=Math.max(1,i.length-1),P=xn([-.5,A+.5],[0,m]),j=xn([v,b],[g,0]),R=Lo(j),W=qr(i,P,j),E=d?Xr(i,P,j,j(0)):null,M=i.map((x,I)=>{let z=P(I)+p,V=j(x.value)+p,ee=K=>{n=K.target,t={label:x.label,value:x.value,color:x.color??qt(I)},e.ui.render()},L=()=>{n=null,t=null,e.ui.render()};return ce("g",{key:`dot-${I}`},[ce("circle",{cx:z,cy:V,r:3,fill:x.color??qt(I),style:{stroke:"var(--wf-color-bg)"},"stroke-width":1.5,"pointer-events":"none"}),ce("circle",{cx:z,cy:V,r:9,fill:"transparent",style:{cursor:"pointer"},onMouseEnter:ee,onMouseLeave:L})])});return ce("svg",{style:{width:"100%"},height:u,viewBox:`0 0 ${h} ${u}`},[...R.map((x,I)=>ce("g",{key:`tick-${I}`},[ce("line",{x1:p,y1:x.y+p,x2:h-p,y2:x.y+p,style:{stroke:"var(--wf-color-border)"},"stroke-width":1}),ce("text",{x:p-6,y:x.y+p+4,"text-anchor":"end",style:{fill:"var(--wf-color-text-tertiary)"},"font-size":"11","font-family":"var(--wf-font-sans)"},x.label)])),...E?[ce("path",{key:"area",d:E,style:{fill:"var(--wf-color-primary-bg)"},stroke:"none",transform:`translate(${p},${p})`})]:[],ce("path",{key:"line",d:W,fill:"none",style:{stroke:"var(--wf-color-primary)"},"stroke-width":2,"stroke-linejoin":"round","stroke-linecap":"round",transform:`translate(${p},${p})`}),...i.map((x,I)=>{let z=P(I)+p;return ce("text",{key:`xlabel-${I}`,x:z,y:u-p+14,"text-anchor":"middle",style:{fill:"var(--wf-color-text-tertiary)"},"font-size":"10","font-family":"var(--wf-font-sans)"},x.label)}),...M])},S=()=>{let A=Math.max(1,i.length-1),P=xn([-.5,A+.5],[0,m]),j=xn([v,b],[g,0]),R=Lo(j),W=Yr(i,P,j);return ce("svg",{style:{width:"100%"},height:u,viewBox:`0 0 ${h} ${u}`},[...R.map((E,M)=>ce("g",{key:`tick-${M}`},[ce("line",{x1:p,y1:E.y+p,x2:h-p,y2:E.y+p,style:{stroke:"var(--wf-color-border)"},"stroke-width":1}),ce("text",{x:p-6,y:E.y+p+4,"text-anchor":"end",style:{fill:"var(--wf-color-text-tertiary)"},"font-size":"11","font-family":"var(--wf-font-sans)"},E.label)])),...W.map((E,M)=>ce("rect",{key:`bar-${M}`,x:E.x+p,y:E.y+p,width:E.width,height:E.height,fill:E.color,rx:2,onMouseEnter:x=>{n=x.target,t={label:E.label,value:E.value,color:E.color},e.ui.render()},onMouseLeave:()=>{n=null,t=null,e.ui.render()}})),...i.map((E,M)=>{let x=P(M)+p;return ce("text",{key:`xlabel-${M}`,x,y:u-p+14,"text-anchor":"middle",style:{fill:"var(--wf-color-text-tertiary)"},"font-size":"10","font-family":"var(--wf-font-sans)"},E.label)})])},$=()=>{let A=h/2,P=u/2,j=Math.min(m,g)/2-4,R=Jr(i,A,P,j);return ce("svg",{style:{width:"100%"},height:u,viewBox:`0 0 ${h} ${u}`},[...R.map((W,E)=>ce("g",{key:`arc-${E}`},[ce("path",{d:W.d,fill:W.color,style:{stroke:"var(--wf-color-bg)"},"stroke-width":1.5,onMouseEnter:M=>{n=M.target,t={label:W.label,value:W.value,color:W.color},e.ui.render()},onMouseLeave:()=>{n=null,t=null,e.ui.render()}}),...W.value/i.reduce((M,x)=>M+Math.abs(x.value),0)>.05?[ce("text",{x:W.centroid.x,y:W.centroid.y+3,"text-anchor":"middle",style:{fill:"var(--wf-color-on-brand)"},"font-size":"11","font-weight":"bold","font-family":"var(--wf-font-sans)","pointer-events":"none"},`${Math.round(W.value/i.reduce((M,x)=>M+Math.abs(x.value),0)*100)}%`)]:[]]))])},C;s==="bar"?C=S():s==="pie"?C=$():C=k();let D=i.length>1?ce("div",{class:"wf-chart-legend"},i.map((A,P)=>ce("span",{class:"wf-chart-legend-item",key:`leg-${P}`},[ce("span",{class:"wf-chart-legend-dot",style:{background:A.color??qt(P)}}),ce("span",{class:"wf-chart-legend-label"},A.label)]))):null,T=t?ce("div",{class:"wf-chart-tooltip"},[ce("div",{class:"wf-chart-tooltip-label"},[t.color?ce("span",{class:"wf-chart-tooltip-dot",style:{background:t.color}}):null,ce("span",{},t.label)]),ce("div",{class:"wf-chart-tooltip-value"},String(t.value))]):null;return ce("div",{class:`wf-chart${f?" "+f:""}`,role:"img","aria-expanded":String(!!t),"aria-label":c??e?.i18n?.components?.Chart?.ariaLabel??"\u56FE\u8868"},[c?ce("div",{class:"wf-chart-title"},c):null,C,D,T?r.portal(T,"chart-tooltip"):null].filter(Boolean))}};import{createClientBrowser as bl}from"weifuwu/ui-dom";import{h as J}from"weifuwu/ui-dom";import{h as Oo}from"weifuwu/ui-dom";var ns=["bold","italic","underline","h1","h2","h3","ul","ol","blockquote","alignLeft","alignCenter","alignRight","hr","image","table","link","clear","source"],Za={bold:"B",italic:"I",underline:"U",h1:"H1",h2:"H2",h3:"H3",ul:"\u25A1",ol:"1.",blockquote:"\u275D",alignLeft:"\u21E4",alignCenter:"\u21D4",alignRight:"\u21E5",hr:"\u2014",image:"\u{1F5BC}",table:"\u229E",link:"\u{1F517}",clear:"\u2715",source:"</>"},Zr={bold:"\u52A0\u7C97 (Ctrl+B)",italic:"\u659C\u4F53 (Ctrl+I)",underline:"\u4E0B\u5212\u7EBF (Ctrl+U)",h1:"\u6807\u9898 1",h2:"\u6807\u9898 2",h3:"\u6807\u9898 3",ul:"\u65E0\u5E8F\u5217\u8868",ol:"\u6709\u5E8F\u5217\u8868",blockquote:"\u5F15\u7528",alignLeft:"\u5DE6\u5BF9\u9F50",alignCenter:"\u5C45\u4E2D",alignRight:"\u53F3\u5BF9\u9F50",hr:"\u5206\u5272\u7EBF",image:"\u63D2\u5165\u56FE\u7247",table:"\u63D2\u5165\u8868\u683C",link:"\u63D2\u5165\u94FE\u63A5",clear:"\u6E05\u9664\u683C\u5F0F",source:"\u6E90\u7801"},Qa=["bold","italic","underline"],Qr=["h1","h2","h3"],es=["ul","ol"],ts=["blockquote","alignLeft","alignCenter","alignRight","hr"],el=["image","table","link","clear"];function tl(o,e){return Qa.includes(o)&&Qr.includes(e)||Qr.includes(o)&&es.includes(e)||es.includes(o)&&ts.includes(e)||ts.includes(o)&&el.includes(e)||["link","clear"].includes(o)&&e==="source"}function os(o,e,t,n,r,a){let s=o.map(l=>{if(r?.[l])return r[l](l);let f=["wf-editor-tb-btn",(l==="source"?t:!!e[l])&&"wf-editor-tb-btn--active",l==="link"&&"wf-editor-tb-btn--link"].filter(Boolean).join(" ");return Oo("button",{key:l,class:f,type:"button",title:Zr[l],"aria-label":Zr[l],"data-item":l,onClick:h=>n(l,h.currentTarget)},Za[l])}),i=[];return o.forEach((l,c)=>{c>0&&tl(o[c-1],l)&&i.push(Oo("span",{class:"wf-editor-tb-sep",key:`sep-${c}`})),i.push(s[c])}),Oo("div",{class:"wf-editor-toolbar",role:"toolbar","aria-label":"\u7F16\u8F91\u683C\u5F0F"},[...i,...a??[]])}import{h as kn}from"weifuwu/ui-dom";var rs=6;function ss(o,e){let t='<table class="wf-editor-table"><tbody>';for(let n=0;n<o;n++){t+="<tr>";for(let r=0;r<e;r++)t+=n===0?'<td style="font-weight:var(--wf-font-weight-semibold,600)">&nbsp;</td>':"<td>&nbsp;</td>";t+="</tr>"}return t+="</tbody></table>",t}function is(o,e,t,n,r){let a=kn("div",{class:"wf-editor-table-grid",onMouseLeave:r},Array.from({length:rs},(i,l)=>kn("div",{class:"wf-editor-table-grid-row",key:`r${l}`},Array.from({length:rs},(c,d)=>{let f=l<=o&&d<=e;return kn("div",{class:`wf-editor-table-grid-cell${f?" wf-editor-table-grid-cell--active":""}`,key:`${l}-${d}`,onMouseEnter:()=>n(l,d),onClick:()=>t(l+1,d+1)})})))),s=o>=0&&e>=0?`${o+1} \xD7 ${e+1} \u8868\u683C`:"\u9009\u62E9\u8868\u683C\u5927\u5C0F";return kn("div",{class:"wf-editor-table-picker",onMouseDown:i=>i.stopPropagation()},[a,kn("div",{class:"wf-editor-table-picker-label"},s)])}Lt();import{aiStream as wl}from"weifuwu/ui-dom";Lt();function Xt(o){let e=[0];for(let t=0;t<o.length;t++)o[t]===`
11
- `&&e.push(t+1);return e}function Ot(o,e,t){let n=t??Xt(o),r=0,a=n.length-1;for(;r<a;){let s=r+a+1>>1;n[s]<=e?r=s:a=s-1}return n[r]}function Rt(o,e){let t=Ot(o.text,e);for(let n of o.blockProps){if(n.start===t)return n;if(n.start>t)break}return null}function ls(o,e,t){return o.map(n=>n.end<=e?n:n.start>=e?{...n,start:n.start+t,end:n.end+t}:{...n,end:n.end+t}).sort((n,r)=>n.start-r.start||n.end-r.end)}function cs(o,e,t){return o.map(n=>n.at>=e?{...n,at:n.at+t}:n).sort((n,r)=>n.at-r.at)}function No(o){return{text:o.text,blockProps:o.blockProps.slice(),marks:o.marks.slice(),embeds:o.embeds.slice()}}function Bo(o,e,t,n,r){let a=Xt(o),s=new Map(e.map(l=>[l.start,l])),i=[];for(let l of Xt(t)){let c;l<n?c=l:l<n+r?c=n:c=l-r;let d=Ot(o,c,a),f=s.get(d);f&&i.push({...f,start:l})}return i.sort((l,c)=>l.start-c.start)}function Sn(o,e){switch(e.type){case"text-insert":return as(o,e.at,e.text);case"text-delete":return Ro(o,e.at,e.len,e.removedEmbeds,e.removedBlocks);case"mark-apply":return rl(o,e);case"mark-restore":return sl(o,e.mark,e.spans);case"block-set":return ps(o,e.start,e.kind,e.align??null);case"embed-insert":return il(o,e.at,e.embed);case"embed-delete":return al(o,e.at,e.embed);case"ai-apply":{if(o.text.slice(e.start,e.end)!==e.original)throw new Error(`[editor/model] ai-apply original \u4E0E\u6587\u6863\u4E0D\u7B26 (${e.start},${e.end})`);let t=o.embeds.filter(r=>r.at>=e.start&&r.at<e.end);if(t.length!==e.removedEmbeds.length||t.some((r,a)=>r.id!==e.removedEmbeds[a]?.id))throw new Error("[editor/model] ai-apply removedEmbeds \u4E0E\u6587\u6863\u4E0D\u7B26");let n=as(Ro(o,e.start,e.end-e.start,e.removedEmbeds,e.removedBlocks),e.start,e.revised);return nl(n,e.removedBlocks,e.start,e.start+e.revised.length)}}}function nl(o,e,t,n){if(e.length===0)return o;let r=o;for(let a of Xt(o.text)){if(a<t||a>=n)continue;let s=e.find(i=>i.start===a);s&&(r=ps(r,a,s.kind,s.align??null))}return r}function ol(o,e,t){return o.blockProps.filter(n=>n.start>=e&&n.start<=t)}function as(o,e,t){let n=t.length;if(n===0)return o;if(t.includes(je))throw new Error("[editor/model] text-insert \u7981\u6B62\u542B\u5D4C\u5165\u5360\u4F4D\u7B26\u2014\u2014\u7528 embed-insert");let r=No(o);return r.text=o.text.slice(0,e)+t+o.text.slice(e),r.marks=ls(o.marks,e,n),r.embeds=cs(o.embeds,e,n),r.blockProps=Bo(o.text,o.blockProps,r.text,e,n),r}function Ro(o,e,t,n=[],r=[]){if(t<=0||e<0||e+t>o.text.length)return o;let a=o.embeds.filter(l=>l.at>=e&&l.at<e+t);if(a.length!==n.length||a.some((l,c)=>l.id!==n[c]?.id))throw new Error("[editor/model] text-delete removedEmbeds \u4E0E\u6587\u6863\u4E0D\u7B26");let s=o.blockProps.filter(l=>l.start>=e&&l.start<=e+t);if(s.length!==r.length||s.some((l,c)=>l.start!==r[c]?.start))throw new Error("[editor/model] text-delete removedBlocks \u4E0E\u6587\u6863\u4E0D\u7B26");let i=No(o);return i.text=o.text.slice(0,e)+o.text.slice(e+t),i.marks=o.marks.flatMap(l=>l.end<=e?[l]:l.start>=e+t?[{...l,start:l.start-t,end:l.end-t}]:l.start<e&&l.end>e+t?[{...l,end:l.end-t}]:l.start<e?[{...l,end:e}]:[{...l,start:e,end:Math.max(e,l.end-t)}]).filter(l=>l.end>l.start).sort((l,c)=>l.start-c.start||l.end-c.end),i.embeds=o.embeds.filter(l=>l.at<e||l.at>=e+t).map(l=>l.at>=e+t?{...l,at:l.at-t}:l).sort((l,c)=>l.at-c.at),i.blockProps=Bo(o.text,o.blockProps,i.text,e,-t),i}function rl(o,e){let{start:t,end:n,mark:r,on:a,href:s}=e;if(t>=n)return o;let i=o.marks.filter(f=>f.type===r);if(i.length!==e.prev.length||i.some((f,h)=>f.start!==e.prev[h]?.start||f.end!==e.prev[h]?.end))throw new Error("[editor/model] mark-apply prev \u4E0E\u6587\u6863\u4E0D\u7B26");let l=o.marks.filter(f=>f.type!==r),c=o.marks.filter(f=>f.type===r).flatMap(f=>{if(f.end<=t||f.start>=n)return[f];let h=[];return f.start<t&&h.push({...f,end:t}),f.end>n&&h.push({...f,start:n}),h}),d=a?[...c,{start:t,end:n,type:r,...s?{href:s}:{}}]:c;return{...o,marks:[...l,...d].sort((f,h)=>f.start-h.start||f.end-h.end)}}function sl(o,e,t){let n=o.marks.filter(r=>r.type!==e);return{...o,marks:[...n,...t].sort((r,a)=>r.start-a.start||r.end-a.end)}}function ps(o,e,t,n){if(Ot(o.text,e)!==e)return o;let a=o.blockProps.filter(l=>l.start!==e),i=t==="p"&&!n?a:[...a,{start:e,kind:t,...n?{align:n}:{}}];return{...o,blockProps:i.sort((l,c)=>l.start-c.start)}}function il(o,e,t){let n=No(o);return n.text=o.text.slice(0,e)+je+o.text.slice(e),n.marks=ls(o.marks,e,1),n.embeds=[...cs(o.embeds,e,1),{...t,at:e}].sort((r,a)=>r.at-a.at),n.blockProps=Bo(o.text,o.blockProps,n.text,e,1),n}function al(o,e,t){if(o.text[e]!==je)return o;let n=Ro(o,e,1,[t],ol(o,e,e+1));return n.embeds=n.embeds.filter(r=>r.id!==t.id),n}function us(o=20){return{undoStack:[],redoStack:[]}}function Ho(o,e,t=20){e.ts===void 0&&(e.ts=Date.now()),o.undoStack.push(e),o.redoStack=[],o.undoStack.length>t&&o.undoStack.shift()}function zo(o){let e=o.undoStack.pop();return e&&o.redoStack.push(e),e??null}function ds(o){let e=o.redoStack.pop();return e&&o.undoStack.push(e),e??null}function fs(o){return o.undoStack.length>0}function _o(o){return o.redoStack.length>0}Lt();var ll=new Set(["P","DIV","H1","H2","H3","BLOCKQUOTE","LI","SECTION","ARTICLE","MAIN","HEADER","FOOTER","ASIDE","PRE","FIGURE","FORM"]),ms={B:{type:"b"},STRONG:{type:"b"},I:{type:"i"},EM:{type:"i"},U:{type:"u"},A:{type:"link",href:!0}},hs={IMG:"img",TABLE:"table",HR:"hr",PRE:"pre"},gs={"wf-text-center":"center","wf-text-right":"right","wf-text-left":"left"};function cl(o){let e=o.style?.textAlign;if(e)return e;for(let t of o.classList??[])if(gs[t])return gs[t]}var Ko=class{text="";marks=[];embeds=[];blockProps=[];embedSeq=0;append(e){this.text+=e}blockBoundary(){this.text.length>0&&this.text[this.text.length-1]!==`
12
- `&&(this.text+=`
13
- `)}};function Mn(o,e,t){if(o.nodeType===3){e.append(o.nodeValue??"");return}if(o.nodeType!==1)return;let n=o,r=n.tagName;if(hs[r]){let a=e.text.length;e.append(je),e.embeds.push({id:`p${e.embedSeq++}`,at:a,type:hs[r],html:n.outerHTML});return}if(r==="UL"||r==="OL"){for(let a of Array.from(n.childNodes))Mn(a,e,r==="UL"?"ul":"ol");return}if(ll.has(r)){e.blockBoundary();let a=e.text.length,s="p";r==="H1"?s="h1":r==="H2"?s="h2":r==="H3"?s="h3":r==="BLOCKQUOTE"?s="quote":r==="LI"&&t&&(s=t);let i=cl(n);(s!=="p"||i)&&e.blockProps.push({start:a,kind:s,...i?{align:i}:{}});for(let l of Array.from(n.childNodes))Mn(l,e,t);return}if(ms[r]){let{type:a,href:s}=ms[r],i=e.text.length;for(let c of Array.from(n.childNodes))Mn(c,e,t);let l=e.text.length;l>i&&e.marks.push({start:i,end:l,type:a,...s?{href:n.getAttribute("href")??""}:{}});return}for(let a of Array.from(n.childNodes))Mn(a,e,t)}function Ve(o,e){let t=e??(typeof document<"u"?document:null);if(!t)return{text:"",blockProps:[],marks:[],embeds:[]};let n=t.createElement("div");n.innerHTML=o;let r=new Ko;for(let a of Array.from(n.childNodes))Mn(a,r,null);return r.marks.sort((a,s)=>a.start-s.start||a.end-s.end),r.blockProps.sort((a,s)=>a.start-s.start),r.embeds.sort((a,s)=>a.at-s.at),r.text.endsWith(`
14
- `)&&(r.text=r.text.slice(0,-1)),{text:r.text,blockProps:r.blockProps,marks:r.marks,embeds:r.embeds}}var pl={b:"b",i:"i",u:"u",link:"a"},ys={p:"p",h1:"h1",h2:"h2",h3:"h3",quote:"blockquote",ul:"li",ol:"li"};function ul(o,e,t){if(e>=t)return"";let n=new Set([e,t]),r=[];for(let i of o.marks)i.end<=e||i.start>=t||(n.add(Math.max(e,i.start)),n.add(Math.min(t,i.end)),r.push(i));let a=[...n].sort((i,l)=>i-l),s="";for(let i=0;i<a.length-1;i++){let l=a[i],c=a[i+1];if(c<=l)continue;let d=o.text.slice(l,c),f=r.filter(m=>m.start<=l&&m.end>=c),u=["b","i","u","link"].map(m=>f.find(g=>g.type===m)).filter(m=>!!m),p="";for(let m=0;m<d.length;m++){let g=d[m];if(g===je){let y=o.embeds.find(v=>v.at===l+m);p+=y?y.html:""}else p+=g}for(let m of u.slice().reverse()){let g=pl[m.type];p=m.type==="link"?`<${g} href="${dl(m.href??"")}">${p}</${g}>`:`<${g}>${p}</${g}>`}s+=p}return s}function dl(o){return o.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}function Pe(o){if(o.text==="")return"";let e=Xt(o.text),t="",n=null;for(let r=0;r<e.length;r++){let a=e[r],s=r+1<e.length?e[r+1]-1:o.text.length,i=Rt(o,a),l=i?.kind??"p",c=i?.align,d=ul(o,a,s),f=c?` style="text-align:${c}"`:"";l==="ul"||l==="ol"?(n!==l&&(n&&(t+=`</${n}>`),n=l,t+=`<${l}>`),t+=`<li${f}>${d}</li>`):(n&&(t+=`</${n}>`,n=null),t+=`<${ys[l]}${f}>${d}</${ys[l]}>`)}return n&&(t+=`</${n}>`),t}function fl(o,e){let t=o.length,n=e.length,r=new Uint32Array(n+1),a=new Uint32Array(n+1);for(let f=1;f<=t;f++){let h=f%2===1?r:a,u=f%2===1?a:r;for(let p=1;p<=n;p++)h[p]=o[f-1]===e[p-1]?u[p-1]+1:Math.max(u[p],h[p-1])}let s=[],i=t,l=n,c=f=>f%2===1?r:a;for(;i>0&&l>0;)o[i-1]===e[l-1]?(s.push({type:"equal",text:o[i-1]}),i--,l--):c(i)[l]===c(i-1)[l]?(s.push({type:"delete",text:o[i-1]}),i--):(s.push({type:"insert",text:e[l-1]}),l--);for(;i>0;)s.push({type:"delete",text:o[i-1]}),i--;for(;l>0;)s.push({type:"insert",text:e[l-1]}),l--;let d=[];for(let f=s.length-1;f>=0;f--){let h=s[f],u=d[d.length-1];u&&u.type===h.type?u.text+=h.text:d.push({...h})}return d}function bs(o,e){if(o===e)return[{type:"equal",text:o}];if(o.length+e.length>4e3){let i=[];return o&&i.push({type:"delete",text:o}),e&&i.push({type:"insert",text:e}),i}let t=0;for(;t<o.length&&t<e.length&&o[t]===e[t];)t++;let n=0;for(;n<o.length-t&&n<e.length-t&&o[o.length-1-n]===e[e.length-1-n];)n++;let r=fl(o.slice(t,o.length-n),e.slice(t,e.length-n)),a=[];t>0&&a.push({type:"equal",text:o.slice(0,t)}),a.push(...r),n>0&&a.push({type:"equal",text:o.slice(o.length-n)});let s=[];for(let i of a){let l=s[s.length-1];l&&l.type===i.type?l.text+=i.text:s.push({...i})}return s}function Cs(o){let e=o.tagName;return e==="IMG"||e==="TABLE"||e==="HR"||e==="PRE"}var Ss=new Set(["P","DIV","H1","H2","H3","BLOCKQUOTE","LI"]);function*Ms(o,e){let t=o.ownerDocument.createTreeWalker(o,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT),n=t.nextNode();for(;n;){if(n.nodeType===3){let r=String(n.nodeValue??"");r.length>0&&(e.v=!0,yield{kind:"text",node:n,text:r})}else if(n.nodeType===1){let r=n;Cs(r)?(e.v=!0,yield{kind:"embed",node:r}):Ss.has(r.tagName)&&e.v&&(yield{kind:"boundary",node:r})}n=t.nextNode()}}function Ps(o,e){if(o.nodeType===3){let r=String(o.nodeValue??"").length;return r>0&&(e.v=!0),r}if(o.nodeType!==1)return 0;let t=o;if(Cs(t))return e.v=!0,1;let n=0;Ss.has(t.tagName)&&(e.v&&(n+=1),e.v=!0);for(let r of t.childNodes)n+=Ps(r,e);return n}function ws(o,e){let t={v:!1},n=0,r=0;for(let a of o.childNodes){if(r>=e)break;n+=Ps(a,t),r++}return n}function Ts(o,e){return o.kind==="text"?o.text.length:(o.kind==="embed"||(e.current+=1),1)}function vs(o,e,t){if(e===o)return ws(o,t);let n={v:!1},r=0;for(let a of Ms(o,n)){if(a.node===e)return a.kind==="text"||a.kind==="embed"?r+t:r+ws(a.node,t);r+=Ts(a,{current:0})}return r}function ml(o,e){let t=vs(o,e.startContainer,e.startOffset),n=vs(o,e.endContainer,e.endOffset);return{start:t,end:n}}function Re(o){if(!o)return null;let e=o.ownerDocument.getSelection();if(!e||e.rangeCount===0)return null;let t=e.getRangeAt(0);return o.contains(t.commonAncestorContainer)?ml(o,t):null}function xs(o,e){let t={v:!1},n=0,r=null;for(let a of Ms(o,t)){if(a.kind==="boundary"){if(e===n)return{item:a,off:0};n+=1,r={item:a,off:1};continue}let s=Ts(a,{current:0});if(r={item:a,off:s},e<=n+s)return{item:a,off:e-n};n+=s}return r}function hl(o,e,t){let r=o.ownerDocument.createRange(),a=xs(o,Math.max(0,e)),s=xs(o,Math.max(0,t));return!a||!s?null:(ks(r,a.item,a.off,!0),ks(r,s.item,s.off,!1),r)}function ks(o,e,t,n){let r=n?o.setStart.bind(o):o.setEnd.bind(o);e.kind==="text"?r(e.node,Math.min(t,e.text.length)):(e.kind,t<=0?n?o.setStartBefore(e.node):o.setEndBefore(e.node):n?o.setStartAfter(e.node):o.setEndAfter(e.node))}function jo(o,e,t){if(!o)return;let n=hl(o,e,t);if(!n)return;let r=o.ownerDocument.getSelection();r&&(o.focus(),r.removeAllRanges(),r.addRange(n))}var Vo=[],Pn=0,Yt=0,gl=new Set;function re(o,e,t){let n={entity:"edit",action:o,ts:Date.now()};t!=null&&(n.target=t),e!=null&&(n.payload=e),Yt<2e3?(Vo[(Pn+Yt)%2e3]=n,Yt++):(Vo[Pn]=n,Pn=(Pn+1)%2e3);for(let r of[...gl])try{r(n)}catch{}}function yl(o,e){let t=o??Yt,n=[];for(let r=0;r<Math.min(t,Yt);r++){let a=Vo[(Pn+Yt-1-r)%2e3];if(!e){n.push(a);continue}let s=Array.isArray(e.action)?e.action:e.action?[e.action]:null;s&&!s.includes(a.action)||n.push(a)}return n}if(typeof globalThis<"u"){let o=globalThis;o.__edit_tail||(o.__edit_tail=(e=50,t)=>yl(e,t?{action:t}:void 0))}var Tn=async(o,e)=>{let t=e.browser??bl(),n=null,r=!1,a="",s="rich",i=!1,l="",c=!1,d=!1,f=-1,h=-1,u="",p=Cn,m=us(),g=!1,y=null,v=H=>{H&&(y=H,p=Ve(H.innerHTML))},b=()=>{y&&(p=Ve(y.innerHTML))},w=null,k=null,S=()=>{if(k&&(clearTimeout(k),k=null),!w)return;Ho(m,{label:"\u8F93\u5165",events:w.events,before:w.startDoc,ts:w.ts}),re("commit",{label:"\u8F93\u5165",count:w.events.length});let H=Pe(p);K.current&&K.current(H),Ee(H),w=null},$=(H,N)=>{w||(w={startDoc:p,events:[],ts:Date.now()}),w.events.push(...H),p=N,Ee(Pe(N)),k&&clearTimeout(k),k=setTimeout(S,1e3)},C=(H,N)=>{let q=H.text;if(q===N)return[];let Y=0;for(;Y<q.length&&Y<N.length&&q[Y]===N[Y];)Y++;let le=0;for(;le<q.length-Y&&le<N.length-Y&&q[q.length-1-le]===N[N.length-1-le];)le++;let ae=[],Ue=q.length-Y-le,kt=N.slice(Y,N.length-le);if(Ue>0){let $e=Y;ae.push({type:"text-delete",at:$e,len:Ue,removed:q.slice($e,$e+Ue),removedEmbeds:H.embeds.filter(ke=>ke.at>=$e&&ke.at<=$e+Ue),removedBlocks:H.blockProps.filter(ke=>ke.start>=$e&&ke.start<=$e+Ue)})}kt.length>0&&ae.push({type:"text-insert",at:Y,text:kt});try{let $e=H;for(let ke of ae)$e=Sn($e,ke);if($e.text===N)return ae}catch{}return null},D=(H,N)=>{y&&(y.innerHTML=Pe(H),N&&jo(y,N.start,N.end),g=!1)},T=H=>p.marks.filter(N=>N.type===H),A=(H,N,q)=>{S();let Y=p,le=H.reduce((Ue,kt)=>Sn(Ue,kt),Y);p=le,Ho(m,{label:N,events:H,before:Y,caret:q??void 0}),D(le,q);let ae=Pe(le);K.current&&K.current(ae),Ee(ae),re("commit",{label:N,count:H.length})},P=()=>{S();let H=zo(m);if(!H)return;p=H.before,D(p,H.caret??null);let N=Pe(p);K.current&&K.current(N),Ee(N),re("undo",{label:H.label})},j=()=>{S();let H=ds(m);if(!H)return;let N=H.before;for(let Y of H.events)N=Sn(N,Y);p=N,D(p,H.caret??null);let q=Pe(p);K.current&&K.current(q),Ee(q),re("redo",{label:H.label})},R=H=>{let N=Re(y);if(!N||N.start===N.end)return;let q=!p.marks.some(Y=>Y.type===H&&Y.start<=N.start&&Y.end>=N.end);A([{type:"mark-apply",start:N.start,end:N.end,mark:H,on:q,prev:T(H)}],`mark-${H}`,N)},W=H=>{let N=Re(y),q=N?.start??0,Y=Ot(p.text,q),le=Rt(p,Y),ae=le?.kind??"p";A([{type:"block-set",start:Y,kind:ae===H?"p":H,align:null,prev:le}],`block-${H}`,N)},E=H=>{let N=Re(y),q=N?.start??0,Y=Ot(p.text,q),le=Rt(p,Y),ae=le?.align??null;A([{type:"block-set",start:Y,kind:le?.kind??"p",align:ae===H?null:H,prev:le}],`align-${H}`,N)},M=(H,N=!1)=>{let q=Re(y);!q||q.start===q.end||A([{type:"mark-apply",start:q.start,end:q.end,mark:"link",on:!N,href:H,prev:T("link")}],N?"unlink":"link",q)},x=(H,N)=>{let q=Re(y),Y=q?.start??p.text.length,le=`e${Date.now()}${Math.floor(Math.random()*1e4)}`,ae=q?{start:Y+1,end:Y+1}:null;A([{type:"embed-insert",at:Y,embed:{id:le,at:Y,type:N,html:H}}],`embed-${N}`,ae)},I=()=>{let H=Re(y);if(!H)return;let N=[];for(let le of["b","i","u","link"])N.push({type:"mark-apply",start:H.start,end:H.end,mark:le,on:!1,prev:T(le)});let q=Ot(p.text,H.start),Y=Rt(p,q);Y&&N.push({type:"block-set",start:q,kind:"p",align:null,prev:Y}),A(N,"clear",H)},z=H=>{let N={};for(let Y of p.marks)Y.start<=H&&H<Y.end&&(Y.type==="b"?N.bold=!0:Y.type==="i"?N.italic=!0:Y.type==="u"?N.underline=!0:Y.type==="link"&&(N.link=!0));let q=Rt(p,H);return q?.kind==="h1"?N.h1=!0:q?.kind==="h2"?N.h2=!0:q?.kind==="h3"?N.h3=!0:q?.kind==="quote"&&(N.blockquote=!0),q?.align==="left"?N.alignLeft=!0:q?.align==="center"?N.alignCenter=!0:q?.align==="right"&&(N.alignRight=!0),N},V=null,ee=()=>{V=Re(y)},L=()=>{!y||!V||jo(y,V.start,V.end)},K={},se=!0,de=null,G=null,Ee=H=>{G&&(de&&clearTimeout(de),de=setTimeout(()=>{de=null;try{t.storageSet(`wf-editor-draft:${G}`,H)}catch{}},500))},F=()=>{if(!G)return null;try{return t.storageGet(`wf-editor-draft:${G}`)??null}catch{return null}},U=[{id:"polish",label:"\u6DA6\u8272",prompt:({selection:H})=>`\u8BF7\u6DA6\u8272\u4EE5\u4E0B\u6587\u672C\uFF0C\u4FDD\u6301\u539F\u610F\uFF0C\u8F93\u51FA\u6DA6\u8272\u540E\u7684\u5B8C\u6574\u6587\u672C\uFF08\u4E0D\u8981\u989D\u5916\u89E3\u91CA\uFF09\uFF1A
15
-
16
- ${H}`},{id:"translate",label:"\u7FFB\u8BD1",prompt:({selection:H})=>`\u8BF7\u5C06\u4EE5\u4E0B\u6587\u672C\u7FFB\u8BD1\u6210\u4E2D\u6587\uFF0C\u76F4\u63A5\u8F93\u51FA\u8BD1\u6587\uFF08\u4E0D\u8981\u989D\u5916\u89E3\u91CA\uFF09\uFF1A
17
-
18
- ${H}`},{id:"shorten",label:"\u7F29\u5199",prompt:({selection:H})=>`\u8BF7\u5C06\u4EE5\u4E0B\u6587\u672C\u7F29\u5199\u4E3A\u66F4\u7CBE\u70BC\u7684\u7248\u672C\uFF0C\u4FDD\u7559\u6838\u5FC3\u4FE1\u606F\uFF0C\u76F4\u63A5\u8F93\u51FA\u7ED3\u679C\uFF08\u4E0D\u8981\u989D\u5916\u89E3\u91CA\uFF09\uFF1A
19
-
20
- ${H}`},{id:"expand",label:"\u6269\u5199",prompt:({selection:H})=>`\u8BF7\u5728\u4FDD\u6301\u539F\u610F\u7684\u57FA\u7840\u4E0A\u6269\u5199\u4EE5\u4E0B\u6587\u672C\uFF0C\u4F7F\u5185\u5BB9\u66F4\u5145\u5B9E\uFF0C\u76F4\u63A5\u8F93\u51FA\u5B8C\u6574\u7ED3\u679C\uFF08\u4E0D\u8981\u989D\u5916\u89E3\u91CA\uFF09\uFF1A
21
-
22
- ${H}`},{id:"fix",label:"\u7EA0\u9519",prompt:({selection:H})=>`\u8BF7\u4FEE\u6B63\u4EE5\u4E0B\u6587\u672C\u4E2D\u7684\u9519\u522B\u5B57\u3001\u8BED\u6CD5\u548C\u6807\u70B9\u9519\u8BEF\uFF0C\u76F4\u63A5\u8F93\u51FA\u4FEE\u6B63\u540E\u7684\u5B8C\u6574\u6587\u672C\uFF08\u4E0D\u8981\u989D\u5916\u89E3\u91CA\uFF09\uFF1A
23
-
24
- ${H}`}],te=null,X=!1,be=null,he=!1,Ie=e.ui.usePopup({trigger:"manual",placement:"bottom",gap:8,el:()=>We,isOpen:()=>he,setOpen:H=>{H||(he=!1,e.ui.render())}}),ut=H=>{let N=m.undoStack[H];if(!N)return;let q=N.before;for(let le of N.events)q=Sn(q,le);for(;m.undoStack.length>H+1;)zo(m);p=q,he=!1,D(p,null);let Y=Pe(p);K.current&&K.current(Y),Ee(Y),re("commit",{label:"time-travel",to:H}),e.ui.render()},We=null,vt=H=>{We=H},Ai=e.ui.usePopup({trigger:"manual",placement:"bottom",gap:8,el:()=>We,isOpen:()=>r,setOpen:H=>{H||(r=!1,e.ui.render())}}),Di=e.ui.usePopup({trigger:"manual",placement:"bottom",gap:8,el:()=>We,isOpen:()=>i,setOpen:H=>{H||(i=!1,e.ui.render())}}),Ii=e.ui.usePopup({trigger:"manual",placement:"bottom",gap:8,el:()=>We,isOpen:()=>X,setOpen:H=>{H||(X=!1,te?.handle?.abort(),e.ui.render())}}),fo=(H,N)=>{if(!y)return;let q=Re(y),Y=q?.start??0,le=q&&q.start!==q.end?q.end:p.text.length,ae=p.text.slice(Y,le);if(!ae.trim())return;te?.handle?.abort(),be=H,te={action:H,start:Y,end:le,original:ae,revised:"",streaming:!0,error:null,handle:null},X=!0,e.ui.render();let Ue=H.prompt({selection:ae});re("ai-apply",{action:H.id,status:"start"});let kt=wl(N.url,{messages:[{role:"user",content:Ue}]},{headers:N.headers,onToken:$e=>{te&&(te.revised+=$e,e.ui.render())},onDone:()=>{te&&(te.streaming=!1,re("ai-apply",{action:H.id,status:"done",chars:te.revised.length}),e.ui.render())},onError:$e=>{te&&(te.streaming=!1,te.error=$e?.message??"AI \u8BF7\u6C42\u5931\u8D25",re("ai-apply",{action:H.id,status:"error",message:te.error}),e.ui.render())},onEvent:N.onEvent});te&&(te.handle=kt)},Li=H=>{let N=te;if(!N||N.streaming||!N.revised.trim())return;if(X=!1,te=null,p.text.slice(N.start,N.end)!==N.original){re("ai-apply",{action:N.action.id,status:"rejected",reason:"stale-selection"}),e.ui.render();return}let q=N.revised.trim();if(!q){re("ai-apply",{action:N.action.id,status:"rejected",reason:"empty"}),e.ui.render();return}let Y=p.embeds.filter(ae=>ae.at>=N.start&&ae.at<N.end),le=p.blockProps.filter(ae=>ae.start>=N.start&&ae.start<=N.end);A([{type:"ai-apply",start:N.start,end:N.end,original:N.original,revised:q,removedEmbeds:Y,removedBlocks:le}],`ai-${N.action.id}`,{start:N.start+q.length,end:N.start+q.length}),re("ai-apply",{action:N.action.id,status:"accepted"}),e.ui.render()},xt=(H,N)=>e.i18n?.components?.Editor?.[H]??N;return async H=>{let{value:N="",onChange:q,onUpload:Y,placeholder:le="",disabled:ae=!1,minHeight:Ue="200px",draftKey:kt}=H,$e=H.toolbar??ns,ke=s==="rich";K.current=q,G=kt??null;let Nn=_=>{g=!0,q?.(_)},Oi=(_,oe)=>{if(!ae){if(oe&&(We=oe),y?.focus(),_==="source"){ke?(u=y?.innerHTML??N,s="source",e.ui.render()):(s="rich",n={},g=!1,p=Ve(N),e.ui.render(),q?.(N));return}if(ke){switch(_){case"bold":R("b");break;case"italic":R("i");break;case"underline":R("u");break;case"h1":W("h1");break;case"h2":W("h2");break;case"h3":W("h3");break;case"blockquote":W("quote");break;case"ul":W("ul");break;case"ol":W("ol");break;case"alignLeft":E("left");break;case"alignCenter":E("center");break;case"alignRight":E("right");break;case"hr":x("<hr>","hr");break;case"image":{i=!0,l="",e.ui.render();return}case"link":{ee();let me=Re(y);if(!me||me.start===me.end){r=!0,a="",e.ui.render();return}p.marks.some(ze=>ze.type==="link"&&ze.start<=me.start&&ze.end>=me.end)?(L(),M("",!0),e.ui.render()):(r=!0,a="",e.ui.render());return}case"clear":I();break;default:return}n=z(Re(y)?.start??0),e.ui.render()}}},Ir=_=>{r=!1,e.ui.render(),_&&(L(),M(_),e.ui.render())},Lr=()=>{r=!1,a="",e.ui.render()},Ri=async _=>{let oe=_[0];if(oe){c=!0,e.ui.render();try{let me=await Y(oe);L(),x(`<img src="${me}" alt="">`,"img"),i=!1,l="",e.ui.render()}catch{}finally{c=!1,e.ui.render()}}},Or=_=>{i=!1,l="",e.ui.render(),L(),x(`<img src="${_}" alt="">`,"img")},Rr=()=>{i=!1,l="",e.ui.render()},Ni=(_,oe)=>{d=!1,f=-1,h=-1,L(),x(ss(_,oe),"table"),e.ui.render()},Bi=(_,oe)=>{f=_,h=oe,e.ui.render()},Hi=()=>{f=-1,h=-1,e.ui.render()},zi=J("button",{key:"table",class:"wf-editor-tb-btn",type:"button",title:"\u63D2\u5165\u8868\u683C","aria-label":"\u63D2\u5165\u8868\u683C","data-item":"table"},"\u229E"),_i=d?is(f,h,Ni,Bi,Hi):null,Ki=J(bn,{key:"table",open:ke&&!!d,onOpenChange:_=>{d=_,_&&ee(),e.ui.render()},content:_i},zi),ji=()=>{if(ae)return;let _=y;if(!_)return;let oe=Ve(_.innerHTML);if(!(_.textContent??"").trim()&&!(_.querySelector?.("img,table,hr")??null)){if(p.text===""&&oe.text==="")return;S(),p=Cn,_.innerHTML="",Nn("");return}let Ce=C(p,oe.text);if(Ce===null){S(),p=oe,Nn(Pe(p));return}if(Ce.length===0){let ze=Pe(p);p=oe,Pe(oe)!==ze&&Nn(Pe(oe));return}$(Ce,oe),Nn(Pe(oe))},Vi=_=>{let oe=_.target.value;q?.(oe)},Wi=_=>{let oe=_.ctrlKey||_.metaKey;if(oe&&_.key.toLowerCase()==="z")_.preventDefault(),S(),fs(m)&&(P(),n=z(Re(y)?.start??0),e.ui.render());else if(oe&&_.key.toLowerCase()==="y")_.preventDefault(),S(),_o(m)&&(j(),n=z(Re(y)?.start??0),e.ui.render());else if(oe&&_.key==="Enter"){let me=H.ai;if(me&&!ae&&ke){_.preventDefault(),S();let Ce=me.actions??U;fo(be??Ce[0],me)}}},Ui=_=>{if(ae||!ke)return;if((_.ctrlKey||_.metaKey)&&["b","i","u"].includes(_.key.toLowerCase())){ee(),R(_.key.toLowerCase()==="b"?"b":_.key.toLowerCase()==="i"?"i":"u"),n=z(Re(y)?.start??0),e.ui.render();return}n=z(Re(y)?.start??0),e.ui.render()},Fi=()=>{if(!ke)return;ee();let _=Re(y)?.start??0,oe=z(_);(n===null||!vl(n,oe))&&(n=oe,e.ui.render())},Gi=()=>{ee();let _=!1;r&&(r=!1,_=!0),i&&(i=!1,_=!0),_&&e.ui.render()},qi=ke&&r?Ai.portal(J("div",{class:"wf-editor-link-panel"},[J("div",{class:"wf-editor-link-panel-title"},xt("linkTitle","\u63D2\u5165\u94FE\u63A5")),J("input",{type:"url",class:"wf-editor-link-input",placeholder:"https://...",value:a,"data-editor-link-input":!0,onInput:_=>{a=_.target.value,e.ui.render()},onKeyDown:_=>{_.key==="Enter"&&Ir(_.target.value),_.key==="Escape"&&Lr()}}),J("div",{class:"wf-editor-link-panel-actions"},[J("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",onClick:Lr},"\u53D6\u6D88"),J("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",onClick:()=>Ir(a)},"\u786E\u5B9A")])]),"editor-link"):null,Bn=[];Y&&(Bn.push(J($o,{accept:"image/*",multiple:!1,disabled:c,onChange:Ri},J("div",{class:"wf-editor-img-zone"},[J("span",{class:"wf-editor-img-zone-icon"},"\u{1F5BC}"),J("span",{class:"wf-editor-img-zone-text"},c?"\u4E0A\u4F20\u4E2D...":"\u70B9\u51FB\u6216\u62D6\u62FD\u4E0A\u4F20\u56FE\u7247")]))),Bn.push(J("span",{class:"wf-editor-img-or"},"\u6216"))),Bn.push(J("input",{type:"url",class:"wf-editor-link-input",placeholder:Y?"\u7C98\u8D34\u56FE\u7247\u94FE\u63A5":"https://...",value:l,"data-image-input":!0,disabled:c||void 0,onInput:_=>{l=_.target.value,e.ui.render()},onKeyDown:_=>{_.key==="Enter"&&Or(_.target.value),_.key==="Escape"&&Rr()}}));let Xi=ke&&i?Di.portal(J("div",{class:"wf-editor-link-panel"},[J("div",{class:"wf-editor-link-panel-title"},xt("imageTitle","\u63D2\u5165\u56FE\u7247")),J("div",{class:"wf-stack",style:"gap:8px"},Bn),J("div",{class:"wf-editor-link-panel-actions"},[J("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",disabled:c||void 0,onClick:Rr},"\u53D6\u6D88"),J("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",disabled:c||void 0,onClick:()=>Or(l)},Y?"\u63D2\u5165":"\u786E\u5B9A")])]),"editor-image"):null,mo=null;if(ke){let _=["wf-editor-content",ae&&"wf-editor-content--disabled",le&&"wf-editor-content--has-placeholder"].filter(Boolean).join(" "),oe=g;g&&y&&y.innerHTML===N&&(g=!1);let me=!g&&!oe,Ce={class:_,contentEditable:!ae,"data-placeholder":le||void 0,style:{minHeight:Ue},onInput:ji,onKeyDown:Wi,onKeyUp:Ui,onMouseUp:Fi,onMouseDown:Gi,ref:v};if(me)if(se){se=!1;let ze=N===""?F():null;p=Ve(ze??N),Ce.innerHTML=Pe(p),ze&&(g=!0,q?.(Pe(p)))}else y&&N!==""&&Pe(p)!==N&&(p=Ve(N),g=!1),Ce.innerHTML=Pe(p);mo=J("div",Ce)}else mo=J("textarea",{class:"wf-editor-source",value:N,disabled:ae,style:{minHeight:Ue},onInput:Vi});let Yi={table:()=>Ki},an=H.ai,Ji=(an?.actions??U).map(_=>({..._,label:xt(`ai-${_.id}`,_.label)})),ho=null,Nr=null,go=null,Br=null,Zi=(_,oe)=>{let me=bs(_,oe),Ce=[],ze=0;for(let ln of me)ln.type==="equal"?Ce.push(J("span",{key:`e${ze++}`},ln.text)):ln.type==="delete"?Ce.push(J("del",{key:`d${ze++}`,class:"wf-editor-ai-diff-del"},ln.text)):Ce.push(J("ins",{key:`i${ze++}`,class:"wf-editor-ai-diff-ins"},ln.text));return J("div",{class:"wf-editor-ai-panel-body wf-editor-ai-diff"},Ce)};if(!ae&&ke&&(go=J("button",{key:"hist",class:["wf-editor-tb-btn","wf-editor-tb-btn--ai",he?"wf-editor-tb-btn--active":""].filter(Boolean).join(" "),type:"button",title:"\u64CD\u4F5C\u5386\u53F2","aria-label":"\u64CD\u4F5C\u5386\u53F2","data-item":"history",onClick:_=>{vt(_.currentTarget),he=!he,e.ui.render()}},"\u{1F558}"),he)){let _=[],oe=m.undoStack.slice().reverse();for(let me=0;me<oe.length;me++){let Ce=oe[me],ze=m.undoStack.length-1-me;_.push(J("button",{key:`u-${ze}`,class:["wf-editor-hist-item",me===0?"wf-editor-hist-item--current":""].filter(Boolean).join(" "),type:"button",onClick:()=>ut(ze)},[J("span",{class:"wf-editor-hist-label"},Ce.label),J("span",{class:"wf-editor-hist-time"},new Date(Ce.ts??Date.now()).toLocaleTimeString())]))}for(let me=m.redoStack.length-1;me>=0;me--){let Ce=m.redoStack[me];_.push(J("button",{key:`r-${me}`,class:"wf-editor-hist-item wf-editor-hist-item--redo",type:"button",onClick:()=>{for(;_o(m)&&m.redoStack.length>me;)j();he=!1,e.ui.render()}},[J("span",{class:"wf-editor-hist-label"},`\u21A9 ${Ce.label}`)]))}Br=Ie.portal(_.length?J("div",{class:"wf-editor-hist-panel"},_):J("div",{class:"wf-editor-hist-panel wf-editor-hist-empty"},"\u6682\u65E0\u64CD\u4F5C\u8BB0\u5F55"),"editor-hist")}if(an&&!ae&&ke&&(ho=J("div",{class:"wf-editor-ai-bar"},[J("span",{class:"wf-editor-tb-sep",key:"ai-sep"}),...Ji.map(_=>J("button",{key:`ai-${_.id}`,class:["wf-editor-tb-btn","wf-editor-tb-btn--ai",te?.streaming&&te?.action.id===_.id?"wf-editor-tb-btn--active":""].filter(Boolean).join(" "),type:"button",title:_.label,"aria-label":`AI ${_.label}`,"aria-expanded":String(!!X),"data-ai-item":_.id,disabled:(te?.streaming?!0:void 0)??void 0,onClick:oe=>{vt(oe.currentTarget),fo(_,an)}},_.label))]),X&&te)){let _=te,oe=J("div",{class:"wf-editor-ai-panel"},[J("div",{class:"wf-editor-ai-panel-head"},[J("span",{},`AI ${_.action.label}`),J("span",{class:"wf-editor-ai-panel-status"},_.streaming?xt("generating","\u751F\u6210\u4E2D\u2026"):_.error?xt("failed","\u5931\u8D25"):"")]),_.error?J("div",{class:"wf-editor-ai-panel-error"},_.error):!_.streaming&&_.revised?Zi(_.original,_.revised):J("div",{class:"wf-editor-ai-panel-body"},_.revised||"\u2026"),J("div",{class:"wf-editor-ai-panel-actions"},[J("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",onClick:()=>{X=!1,te=null,e.ui.render()}},xt("reject","\u62D2\u7EDD")),_.error?J("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",onClick:()=>fo(_.action,an)},xt("retry","\u91CD\u8BD5")):J("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",disabled:_.streaming||!_.revised.trim()?!0:void 0,onClick:()=>Li(an)},xt("accept","\u63A5\u53D7"))])]);Nr=Ii.portal(oe,"editor-ai-panel")}return J("div",{class:`wf-editor${ae?" wf-editor--disabled":""}`},[!ae&&$e.length>0?os($e,n??{},!ke,Oi,Yi,[...ho?[ho]:[],...go?[go]:[]]):null,mo,qi,Xi,Nr,Br,J("input",{type:"hidden",value:N,"aria-hidden":"true"})])}};function vl(o,e){if(o===e)return!0;if(!o||!e)return!1;let t=Object.keys(o);if(t.length!==Object.keys(e).length)return!1;for(let n of t)if(o[n]!==e[n])return!1;return!0}import{createClientBrowser as xl}from"weifuwu/ui-dom";import{h as Gn}from"weifuwu/ui-dom";var En=xl(),kl=[{value:"default",label:"\u9ED8\u8BA4"},{value:"minimal",label:"\u6781\u7B80"},{value:"compact",label:"\u7D27\u51D1"},{value:"rounded",label:"\u5706\u6DA6"}],As="wf_theme",Cl="wf_theme_preset";function Ds(o){let e=En.storageGet(o);return e==="light"||e==="dark"||e==="auto"?e:null}function Es(o,e){En.storageSet(o,e)}function Wo(o){let e=En.rootElement();e&&(o==="auto"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o))}function Sl(o){let e=En.storageGet(o);return e==="minimal"||e==="compact"||e==="rounded"||e==="default"?e:null}function $s(o){let e=En.rootElement();e&&(o==="default"?e.removeAttribute("data-preset"):e.setAttribute("data-preset",o))}function Ml(){let o=Ds(As);return o||"auto"}var Pl=async(o,e)=>{let t=o.storageKey??As,n=o.storageKey?`${o.storageKey}_preset`:Cl,r=o.mode??Ds(t)??"auto",a=o.preset??Sl(n)??"default";return Wo(r),$s(a),async s=>{let i=e?.i18n?.components?.ThemeSwitch??{},c=[{value:"auto",label:i.auto??"\u81EA\u52A8"},{value:"light",label:i.light??"\u4EAE\u8272"},{value:"dark",label:i.dark??"\u6697\u8272"}].map(u=>Gn("button",{type:"button",class:`wf-theme-seg${r===u.value?" wf-theme-seg--active":""}`,role:"radio","aria-checked":String(r===u.value),"aria-label":u.label,onClick:()=>{r!==u.value&&(r=u.value,Wo(r),Es(t,r),s.onChange?.(r),e.ui.render())}},u.label)),d=kl.map(u=>Gn("button",{type:"button",class:`wf-theme-seg wf-theme-seg--preset${a===u.value?" wf-theme-seg--active":""}`,role:"radio","aria-checked":String(a===u.value),"aria-label":u.label,onClick:()=>{a!==u.value&&(a=u.value,$s(a),Es(n,a),s.onPresetChange?.(a),e.ui.render())}},u.label)),h=s.preset!==void 0||s.onPresetChange!==void 0?[c,Gn("div",{class:"wf-theme-preset-row",role:"radiogroup","aria-label":"\u9884\u8BBE\u4E3B\u9898"},d)]:c;return Gn("div",{class:"wf-theme-switch",role:"radiogroup","aria-label":i.label??"\u4E3B\u9898\u5207\u6362"},h)}};import{h as Xe}from"weifuwu/ui-dom";import{h as Z}from"weifuwu/ui-dom";function Is(o){return o===null?"wf-json-null":typeof o=="string"?"wf-json-string":typeof o=="number"?"wf-json-number":typeof o=="boolean"?"wf-json-boolean":""}function Ls(o){return o===null?"null":typeof o=="string"?JSON.stringify(o):String(o)}var Uo=async(o,e)=>{let t={},n,r=(s,i)=>{t[s]=i===void 0?!t[s]:!i,e.ui.render()},a=(s,i,l)=>{if(l){l(s,i);return}e.browser?.copyText(`${s} = ${JSON.stringify(i)}`)};return async s=>{let{data:i,defaultExpandDepth:l=2,maxKeys:c=100,rootName:d="root",onCopy:f,className:h}=s,u=(g,y,v)=>{a(g,y,f);let w=v.currentTarget?.querySelector("path"),k=w?.getAttribute("d");w&&k&&(w.setAttribute("d","M20 6 9 17l-5-5"),e.browser?.timeout(()=>w.setAttribute("d",k),1e3))},p=(g,y,v,b)=>{if(typeof g=="object"&&g!==null){let w=t[y]===!0||v>=l&&t[y]!==!1;if(w){let D=Array.isArray(g)?`Array(${g.length})`:"Object";return Z("div",{class:"wf-json-row wf-json-collapse","data-path":y,role:"button",tabIndex:0,onClick:()=>r(y,w),onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),r(y,w))}},[Z("button",{class:"wf-json-toggle","aria-label":"\u5C55\u5F00",tabIndex:-1,onClick:T=>{T.stopPropagation(),r(y,w)}},Z(O,{name:"chevron-right",size:10})),Z("span",{class:"wf-json-key"},`${b}:`),Z("span",{class:"wf-json-summary"},`${D} {\u2026}`),Z("button",{class:"wf-json-copy","aria-label":`\u590D\u5236 ${y}`,tabIndex:-1,onClick:T=>{T.stopPropagation(),u(y,g,T)}},Z(O,{name:n===y?"check":"copy",size:10}))])}if(Array.isArray(g)){let D=g.map((T,A)=>p(T,`${y}[${A}]`,v+1,String(A)));return Z("div",{class:"wf-json-node","data-path":y},[Z("div",{class:"wf-json-row wf-json-row--header",role:"button",tabIndex:0,onClick:()=>r(y,w),onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&(T.preventDefault(),r(y,w))}},[Z("button",{class:"wf-json-toggle","aria-label":"\u6536\u8D77",tabIndex:-1,onClick:T=>{T.stopPropagation(),r(y,w)}},Z(O,{name:"chevron-down",size:10})),Z("span",{class:"wf-json-key"},`${b}:`),Z("span",{class:"wf-json-node-summary"},`Array(${g.length})`)]),Z("div",{class:"wf-json-children"},D)])}let k=Object.entries(g),S=k.length>c,C=(S?k.slice(0,c):k).map(([D,T])=>p(T,`${y}.${D}`,v+1,D));return S&&C.push(Z("div",{class:"wf-json-more"},`+${k.length-c} \u9879\uFF08\u61D2\u5C55\u5F00\uFF09`)),Z("div",{class:"wf-json-node","data-path":y},[Z("div",{class:"wf-json-row wf-json-row--header",role:"button",tabIndex:0,onClick:()=>r(y,w),onKeyDown:D=>{(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),r(y,w))}},[Z("button",{class:"wf-json-toggle","aria-label":"\u6536\u8D77",tabIndex:-1,onClick:D=>{D.stopPropagation(),r(y,w)}},Z(O,{name:"chevron-down",size:10})),Z("span",{class:"wf-json-key"},`${b}:`),Z("span",{class:"wf-json-node-summary"},`Object(${k.length})`)]),Z("div",{class:"wf-json-children"},C)])}return Z("div",{class:"wf-json-row","data-path":y},[Z("span",{class:"wf-json-toggle-placeholder"}),Z("span",{class:"wf-json-key"},`${b}:`),Z("span",{class:`wf-json-value ${Is(g)}`},Ls(g)),Z("button",{class:"wf-json-copy","aria-label":`\u590D\u5236 ${y}`,tabIndex:-1,onClick:w=>u(y,g,w)},Z(O,{name:"copy",size:10}))])},m;if(typeof i=="object"&&i!==null){let g=t[d]===!0;m=g?Z("div",{class:"wf-json-row wf-json-collapse","data-path":d,role:"button",tabIndex:0,onClick:()=>r(d,g),onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),r(d,g))}},[Z("button",{class:"wf-json-toggle","aria-label":"\u5C55\u5F00",tabIndex:-1,onClick:y=>{y.stopPropagation(),r(d,g)}},Z(O,{name:"chevron-right",size:10})),Z("span",{class:"wf-json-summary"},"Object {\u2026}")]):Array.isArray(i)?Z("div",{class:"wf-json-node","data-path":d},[Z("div",{class:"wf-json-row wf-json-row--header",role:"button",tabIndex:0,onClick:()=>r(d,g),onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),r(d,g))}},[Z("button",{class:"wf-json-toggle","aria-label":"\u6536\u8D77",tabIndex:-1,onClick:y=>{y.stopPropagation(),r(d,g)}},Z(O,{name:"chevron-down",size:10})),Z("span",{class:"wf-json-node-summary"},`Array(${i.length})`)]),Z("div",{class:"wf-json-children"},i.map((y,v)=>p(y,`${d}[${v}]`,1,String(v))))]):Z("div",{class:"wf-json-node","data-path":d},[Z("div",{class:"wf-json-row wf-json-row--header",role:"button",tabIndex:0,onClick:()=>r(d,g),onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),r(d,g))}},[Z("button",{class:"wf-json-toggle","aria-label":"\u6536\u8D77",tabIndex:-1,onClick:y=>{y.stopPropagation(),r(d,g)}},Z(O,{name:"chevron-down",size:10})),Z("span",{class:"wf-json-key"},`${d}:`),Z("span",{class:"wf-json-node-summary"},`Object(${Object.keys(i).length})`)]),Z("div",{class:"wf-json-children"},(()=>{let y=Object.entries(i),v=y.length>c,b=(v?y.slice(0,c):y).map(([w,k])=>p(k,`${d}.${w}`,1,w));return v&&b.push(Z("div",{class:"wf-json-more"},`+${y.length-c} \u9879\uFF08\u61D2\u5C55\u5F00\uFF09`)),b})())])}else m=Z("div",{class:"wf-json-row"},[Z("span",{class:`wf-json-value ${Is(i)}`},Ls(i))]);return Z("div",{class:["wf-json-viewer",h].filter(Boolean).join(" ")},[m])}};var Tl={running:"settings",ok:"check",error:"close"},Fo=async(o,e)=>async t=>{let{call:n,progress:r,result:a,renderArgs:s}=t,i=a?a.ok?"ok":"error":"running",l=s?s(n.args):Xe(Uo,{data:n.args,defaultExpandDepth:1,maxKeys:50,rootName:"args"}),c=r?[r.message?Xe("div",{class:"wf-toolcall-msg"},`${r.message} (${r.step}/${r.total})`):null,Xe("div",{class:"wf-toolcall-bar",role:"progressbar","aria-valuenow":r.step,"aria-valuemax":r.total},[Xe("div",{class:"wf-toolcall-bar-fill",style:{width:`${Math.min(100,r.step/Math.max(1,r.total)*100)}%`}})])]:null,d=a&&!a.ok&&a.error?Xe("div",{class:"wf-toolcall-error"},`${a.error.code}: ${a.error.message}`):null;return Xe("div",{class:`wf-toolcall wf-toolcall--${i}`},[Xe("div",{class:"wf-toolcall-header"},[Xe("span",{class:`wf-toolcall-icon wf-toolcall-icon--${i}`},Xe(O,{name:Tl[i]})),Xe("span",{class:"wf-toolcall-name"},n.name)]),Xe("div",{class:"wf-toolcall-body"},[l,c,d].filter(Boolean))])};import{h as xe}from"weifuwu/ui-dom";import{h as ye}from"weifuwu/ui-dom";import{h as Ge}from"weifuwu/ui-dom";var qn=async(o,e)=>{let t,n,r=()=>{},a=i=>{clearTimeout(t),clearInterval(n),r(i),t=setTimeout(()=>{n=setInterval(()=>r(i),60)},500)},s=()=>{clearTimeout(t),clearInterval(n)};return async i=>{let{value:l=null,onChange:c,min:d,max:f,step:h=1,precision:u,label:p,name:m,placeholder:g,disabled:y,error:v,hint:b,required:w,className:k}=i,S=E=>{let M=E;return d!=null&&(M=Math.max(d,M)),f!=null&&(M=Math.min(f,M)),u!=null&&(M=Number(M.toFixed(u))),M},$=E=>{if(y)return;c?.(S(Number(((l??0)+E*h).toFixed(10))))};r=$;let C=E=>{if(y)return;let M=E.target.value.trim();if(M===""||M==="-"){c?.(null);return}if(!/^-?\d*\.?\d+$/.test(M))return;let x=Number(M);Number.isNaN(x)||c?.(S(x))},D=l==null?"":String(u!=null?l.toFixed(u):l),T=p?Ge("label",{class:"wf-inputnumber-label"},[p,w?Ge("span",{class:"wf-inputnumber-req"},"*"):null].filter(Boolean)):null,A=Ge("input",{class:"wf-inputnumber-input",type:"text",inputMode:"decimal",value:D,placeholder:g,name:m,disabled:y,onInput:C,onBlur:()=>{l!=null&&c?.(S(l))}}),P=Ge("button",{class:"wf-inputnumber-btn",type:"button","aria-label":"\u589E\u52A0",disabled:y,onClick:()=>$(1),onPointerDown:()=>a(1),onPointerUp:s,onPointerLeave:s},Ge(O,{name:"chevron-up",size:12})),j=Ge("button",{class:"wf-inputnumber-btn",type:"button","aria-label":"\u51CF\u5C11",disabled:y,onClick:()=>$(-1),onPointerDown:()=>a(-1),onPointerUp:s,onPointerLeave:s},Ge(O,{name:"chevron-down",size:12})),R=Ge("div",{class:`wf-inputnumber${y?" wf-inputnumber--disabled":""}${v?" wf-inputnumber--err":""}${k?` ${k}`:""}`},[A,Ge("div",{class:"wf-inputnumber-btns"},[P,j])]),W=[];return T&&W.push(T),W.push(R),v&&W.push(Ge("div",{class:"wf-inputnumber-err"},v)),b&&!v&&W.push(Ge("div",{class:"wf-inputnumber-hint"},b)),Ge("div",{class:"wf-inputnumber-wrap"},W)}};function Go(o,e){console.warn(`[JsonSchemaForm] \u5B57\u6BB5 "${o}" \u4E0D\u652F\u6301 ${e}\u2014\u2014\u964D\u7EA7\u4E3A\u6587\u672C\u8F93\u5165`)}function El(o){return{...o??{}}}function Jt(o,e,t){let n=o;for(let r=0;r<e.length-1;r++){let a=e[r];(n[a]==null||typeof n[a]!="object")&&(n[a]={}),n=n[a]}n[e[e.length-1]]=t}function Tt(o,e){let t=o;for(let n of e){if(t==null||typeof t!="object")return;t=t[n]}return t}function Xn(o,e,t){let n=Tt(o,e.slice(0,-1));n&&typeof n=="object"&&(n[e[e.length-1]]=t)}function $l(o,e,t=!1){if(t&&(e==null||e===""))return"\u5FC5\u586B";if(!(e==null||e==="")){if(o.type==="number"||o.type==="integer"){let n=Number(e);return Number.isNaN(n)?"\u5FC5\u987B\u662F\u6570\u5B57":o.minimum!=null&&n<o.minimum?`\u4E0D\u80FD\u5C0F\u4E8E ${o.minimum}`:o.maximum!=null&&n>o.maximum?`\u4E0D\u80FD\u5927\u4E8E ${o.maximum}`:void 0}if(typeof e=="string"){if(o.minLength!=null&&e.length<o.minLength)return`\u81F3\u5C11 ${o.minLength} \u4E2A\u5B57\u7B26`;if(o.maxLength!=null&&e.length>o.maxLength)return`\u6700\u591A ${o.maxLength} \u4E2A\u5B57\u7B26`}if(o.enum?.length&&!o.enum.includes(e))return"\u4E0D\u5728\u5141\u8BB8\u503C\u8303\u56F4\u5185"}}var qo=async(o,e)=>{let t=El(o.value);function n(){e.ui.render(),o.onChange?.(t)}function r(s,i,l,c,d,f=!1){let h=d[l.join(".")],u=i.title??s;if(i.enum?.length){let p=i.enum.map(m=>({value:String(m),label:String(m)}));return ye(Ut,{key:s,label:u,required:f,error:h,hint:i.description},ye(_n,{value:c==null?void 0:String(c),options:p,error:h,onChange:m=>{Jt(t,l,m==null?void 0:i.enum?.find(g=>String(g)===m)),n()}}))}switch(i.type){case"number":case"integer":return ye(Ut,{key:s,label:u,required:f,error:h,hint:i.description},ye(qn,{value:c==null?null:Number(c),min:i.minimum,max:i.maximum,error:h,onChange:p=>{Jt(t,l,p??void 0),n()}}));case"boolean":return ye(Ut,{key:s,label:u,required:f,error:h,hint:i.description},ye(Kn,{checked:!!c,onChange:p=>{Jt(t,l,p),n()}}));case"object":return ye("div",{key:s,class:"wf-jsf-obj"},[ye("div",{class:"wf-jsf-obj-title"},[u,f?ye("span",{class:"wf-field-req"},"*"):null]),...Object.entries(i.properties??{}).map(([p,m])=>r(p,m,[...l,p],Tt(t,[...l,p]),d,i.required?.includes(p)))]);case"array":{let p=Array.isArray(c)?c:[],m=p.map((g,y)=>{let v=[...l,String(y)];return ye("div",{key:y,class:"wf-jsf-arr-item"},[a(String(y),i.items??{},v,p[y],d),ye("button",{type:"button",class:"wf-jsf-arr-del","aria-label":`\u5220\u9664 ${u} \u7B2C ${y+1} \u9879`,onClick:()=>{let b=Array.isArray(Tt(t,l))?[...Tt(t,l)]:[];b.splice(y,1),Jt(t,l,b),n()}},ye(O,{name:"trash"}))])});return ye("div",{key:s,class:"wf-jsf-arr"},[ye("div",{class:"wf-jsf-obj-title"},[u,ye("span",{class:"wf-jsf-arr-add",role:"button",tabindex:0,"aria-label":`\u6DFB\u52A0 ${u} \u9879`,onClick:()=>{let g=Array.isArray(Tt(t,l))?[...Tt(t,l)]:[];g.push(void 0),Jt(t,l,g),n()},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),g.target.click())}},ye(O,{name:"plus"}))]),...m])}default:return i.type&&i.type!=="string"&&Go(s,`type "${i.type}"`),i.$ref&&Go(s,`$ref \u5F15\u7528\uFF08${i.$ref}\uFF09`),ye(Ut,{key:s,label:u,required:f,error:h,hint:i.description},ye(Hn,{value:c==null?"":String(c),onInput:p=>{Jt(t,l,p.target.value),n()}}))}}function a(s,i,l,c,d){if(i.enum?.length){let f=i.enum.map(h=>({value:String(h),label:String(h)}));return ye(_n,{value:c==null?void 0:String(c),options:f,onChange:h=>{Xn(t,l,i.enum?.find(u=>String(u)===h)),n()}})}switch(i.type){case"number":case"integer":return ye(qn,{value:c==null?null:Number(c),onChange:f=>{Xn(t,l,f??void 0),n()}});case"boolean":return ye(Kn,{checked:!!c,onChange:f=>{Xn(t,l,f),n()}});case"object":Go(l.join("."),"\u6570\u7EC4\u5BF9\u8C61 items\uFF08\u5BF9\u8C61\u6570\u7EC4\uFF09");break;default:return ye(Hn,{value:c==null?"":String(c),onInput:f=>{Xn(t,l,f.target.value),n()}})}}return async s=>{let i=s.schema,l={};function c(h,u,p=!1){if(h.type==="object"){for(let[g,y]of Object.entries(h.properties??{}))c(y,[...u,g],h.required?.includes(g));return}let m=$l(h,Tt(t,u),p);m&&(l[u.join(".")]=m)}for(let[h,u]of Object.entries(i.properties??{}))c(u,[h],i.required?.includes(h));let d=Object.entries(i.properties??{}).map(([h,u])=>r(h,u,[h],Tt(t,[h]),l,i.required?.includes(h))),f=s.onSubmit?ye("button",{type:"button",class:"wf-btn wf-btn--primary wf-jsf-submit",onClick:()=>{Object.keys(l).length>0||s.onSubmit?.(t)}},s.submitLabel??"\u63D0\u4EA4"):null;return ye("div",{class:"wf-jsf"},[i.title?ye("div",{class:"wf-jsf-title"},i.title):null,...d,f])}};var Al={pending:"\u7B49\u5F85\u5BA1\u6279",approved:"\u5DF2\u6279\u51C6",rejected:"\u5DF2\u62D2\u7EDD",timeout:"\u5BA1\u6279\u8D85\u65F6"},Xo=async(o,e)=>{let t="",n=!1,r=!1;return async a=>{let{request:s,status:i="pending",onApprove:l,onReject:c,renderDetail:d,loading:f,argsSchema:h}=a,u=d?d(s):[xe("div",{class:"wf-approval-name"},s.name),xe("code",{class:"wf-approval-args"},JSON.stringify(s.args))],p=h&&r?xe("div",{class:"wf-approval-modify"},[xe(qo,{schema:h,value:s.args,submitLabel:"\u4EE5\u4FEE\u6539\u540E\u53C2\u6570\u6279\u51C6",onSubmit:g=>l?.(g)}),xe("button",{type:"button",class:"wf-approval-modify-cancel wf-btn wf-btn--secondary wf-btn--sm",onClick:()=>{r=!1,e.ui.render()}},"\u53D6\u6D88\u4FEE\u6539")]):null,m=i==="pending"?xe("div",{class:"wf-approval-actions"},[n?xe("div",{class:"wf-approval-note"},[xe("input",{class:"wf-approval-note-input",placeholder:"\u5907\u6CE8\uFF08\u62D2\u7EDD\u539F\u56E0\uFF0C\u5C06\u8FDB\u5165 agent \u4E0A\u4E0B\u6587\uFF09\u2026","aria-label":"\u62D2\u7EDD\u5907\u6CE8",value:t,disabled:f||void 0,onInput:g=>{t=g.target.value}})]):null,xe("div",{class:"wf-approval-btns"},[xe("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",disabled:f||void 0,onClick:f?void 0:()=>l?.(void 0)},f?"\u63D0\u4EA4\u4E2D\u2026":"\u5141\u8BB8"),h&&!r?xe("button",{class:"wf-btn wf-btn--secondary wf-btn--sm wf-approval-modify-btn",type:"button",disabled:f||void 0,onClick:f?void 0:()=>{r=!0,e.ui.render()}},"\u4FEE\u6539\u53C2\u6570"):null,xe("button",{class:"wf-btn wf-btn--danger wf-btn--sm",type:"button",disabled:f||void 0,onClick:f?void 0:()=>{if(!n){n=!0,e.ui.render();return}c?.(t)}},n?"\u786E\u8BA4\u62D2\u7EDD":"\u62D2\u7EDD"),n?xe("button",{class:"wf-btn wf-btn--secondary wf-btn--sm",type:"button",disabled:f||void 0,onClick:()=>{n=!1,t="",e.ui.render()}},"\u53D6\u6D88"):null].filter(Boolean))].filter(Boolean)):xe("div",{class:`wf-approval-status wf-approval-status--${i}`},Al[i]);return xe("div",{class:`wf-approval wf-approval--${i}`},[xe("div",{class:"wf-approval-header"},[xe("span",{class:"wf-approval-icon"},xe(O,{name:i==="pending"?"pause":i==="approved"?"check":"close"})),xe("span",{class:"wf-approval-title"},"\u5DE5\u5177\u5BA1\u6279")]),xe("div",{class:"wf-approval-detail"},u),s.reason?xe("div",{class:"wf-approval-reason"},s.reason):null,m,p])}};import{createClientBrowser as Dl}from"weifuwu/ui-dom";import{h as _e}from"weifuwu/ui-dom";import{h as Nt}from"weifuwu/ui-dom";var Yo=async(o,e)=>{let t=!!o.defaultExpanded;return async n=>{let{content:r,streaming:a,label:s="\u5DF2\u601D\u8003"}=n,i=()=>{t=!t,e.ui.render()};return Nt("div",{class:`wf-reasoning${a?" wf-reasoning--streaming":""}`},[Nt("button",{type:"button",class:"wf-reasoning-toggle","aria-expanded":t,onClick:i,onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),i())}},[Nt("span",{class:`wf-reasoning-chevron${t?" wf-reasoning-chevron--open":""}`},Nt(O,{name:"chevron-down"})),Nt("span",{class:"wf-reasoning-label"},a?`${s}\u2026`:s),a?Nt("span",{class:"wf-reasoning-dot","aria-hidden":"true"}):null]),Nt("div",{class:`wf-reasoning-body${t?" wf-reasoning-body--open":""}`,hidden:!t},r)])}};import{h as Zt}from"weifuwu/ui-dom";var Jo=async(o,e)=>async t=>{let n={send:"\u53D1\u9001",stop:"\u505C\u6B62",retry:"\u91CD\u8BD5",placeholder:"\u8F93\u5165\u6D88\u606F\uFF0C\u56DE\u8F66\u53D1\u9001\u2026",...t.labels},r=e.ui.useControlledInput({value:t.value??"",onChange:t.onChange,name:"ChatInput"});t.control&&(t.control.current={setKeyword:l=>{r.setKeyword(l)},setValue:l=>{r.setKeyword(l),t.onChange?.(l)}});let a=!1,s=()=>{let l=r.keyword.trim();l&&(r.setKeyword(""),t.onSend(l))},i={class:"wf-chat-input",value:r.keyword,placeholder:n.placeholder,disabled:t.disabled,onInput:l=>{a||l.isComposing||(r.setKeyword(l.target.value),t.onChange?.(l.target.value))},onCompositionStart:()=>{a=!0},onCompositionEnd:l=>{a=!1;let c=l.target?.value??"";r.setKeyword(c),t.onChange?.(c)},onKeyDown:l=>{if(l.key==="Enter"&&!(a||l.isComposing)){if(l.ctrlKey||l.metaKey){l.preventDefault(),s();return}t.multiline&&l.shiftKey||(l.preventDefault(),s())}}};return Zt("div",{class:"wf-chat-inputbar"},[t.multiline?Zt("textarea",{...i,rows:1,style:{resize:"none"}}):Zt("input",{...i,type:"text"}),t.actions??null,t.streaming?Zt("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",disabled:t.disabled,onClick:()=>t.onStop?.()},n.stop):Zt("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",disabled:t.disabled,onClick:()=>s()},n.send),!t.streaming&&t.error?Zt("button",{class:"wf-btn wf-btn--danger wf-btn--sm",type:"button",onClick:()=>t.onRetry?.()},n.retry):null])};var Il={send:"\u53D1\u9001",stop:"\u505C\u6B62",retry:"\u91CD\u8BD5",thinking:"\u{1F914} \u601D\u8003\u4E2D\u2026",runningTool:o=>o?`\u6267\u884C\u5DE5\u5177 ${o}`:"\u6267\u884C\u5DE5\u5177\u2026",tokens:o=>`tokens: ${o.prompt_tokens}\u2192${o.completion_tokens}`,error:o=>`${o.code}: ${o.message}`,placeholder:"\u8F93\u5165\u6D88\u606F\uFF0C\u56DE\u8F66\u53D1\u9001\u2026",empty:"\u8F93\u5165\u6D88\u606F\u5F00\u59CB\u5BF9\u8BDD\u3002"},Ll=async(o,e)=>{let t=e.browser??Dl(),n,r=!0,a=o.chat,s,i=()=>{s?.();let u=a;s=u?.subscribe?u.subscribe(()=>e.ui.render()):void 0};i();let l=u=>{u||(s?.(),s=void 0)},c=e.ui.useVisualViewport(),d=()=>{n&&(n.scrollTop=n.scrollHeight)},f=e.ui.useScrollPosition({getScroller:()=>n??window}),h=u=>{u&&!n?(n=u,f.refresh(),queueMicrotask(d)):!u&&n&&(n=void 0)};return async u=>{let{chat:p,raiseOnKeyboard:m=!1}=u,g={...Il,...u.labels};p!==a&&(a=p,i()),n&&(r=n.scrollHeight-f.y-n.clientHeight<48),r&&queueMicrotask(d);let y=p.messages??[],v=[];y.length===0&&v.push(_e("p",{class:"wf-aichat-empty"},g.empty));for(let b of y)v.push(Ol(b,u,g));return p.step&&v.push(_e("div",{class:"wf-aichat-status"},p.step.type==="llm"?g.thinking:g.runningTool(p.step.name))),p.usage&&v.push(_e("div",{class:"wf-aichat-usage"},g.tokens(p.usage))),p.error&&v.push(_e("div",{class:"wf-aichat-error"},g.error(p.error))),_e("div",{class:"wf-aichat",ref:l},[_e("div",{class:"wf-aichat-list",style:{maxHeight:u.maxHeight??"70vh"},ref:h},v),_e("div",{class:`wf-aichat-inputbar${c.keyboardOpen&&m?" wf-aichat-inputbar--raised":""}`,style:c.keyboardOpen&&m?{position:"fixed",left:"0",right:"0",bottom:`${Math.max(0,t?.viewportHeight()-(c.height+c.offsetTop))+8}px`,zIndex:"var(--wf-z-popover)"}:void 0},[_e(Jo,{value:p.input??"",onChange:b=>{p.input=b},onSend:b=>{p.input=b,p.send()},streaming:p.streaming,onStop:()=>p.stop(),error:p.error?p.error.message:null,onRetry:()=>p.retry(),labels:{send:g.send,stop:g.stop,retry:g.retry,placeholder:g.placeholder}})])])}};function Ol(o,e,t){let n=[];if(o.toolCalls?.length){let r=o.toolCalls.map((a,s)=>_e(Fo,{key:`${o.id}-tool-${s}`,call:a.call,progress:a.progress,result:a.result,renderArgs:e.renderToolArgs}));n.push(_e("div",{class:"wf-aichat-tools"},r))}if(o.approval){let r=_e(Xo,{request:o.approval,argsSchema:e.approveSchema?.(o.approval),onApprove:a=>e.chat.approve(a?"modified":"approved",void 0,a),onReject:a=>e.chat.approve("rejected",a??"\u7528\u6237\u62D2\u7EDD")});n.push(_e("div",{class:"wf-aichat-approval"},r))}return o.reasoning&&n.push(_e(Yo,{content:o.reasoning,streaming:o.status==="streaming"})),n.push(_e("div",{class:`wf-aichat-bubble wf-aichat-bubble--${o.role}`},e.renderMessage?e.renderMessage(o):o.content||"\u2026")),_e("div",{key:o.id,class:`wf-aichat-msg wf-aichat-msg--${o.role}`},n)}import{h as Ye}from"weifuwu/ui-dom";var Rl=async o=>async e=>Ye("div",{class:"wf-center wf-p-xl wf-bg-secondary",style:{minHeight:"100vh"}},[Ye(Mo,{},[Ye("div",{class:"wf-stack wf-gap-sm wf-text-center wf-mb-lg"},[e.logo?Ye("div",{class:"wf-center"},e.logo):null,Ye("div",{class:"wf-text-2xl wf-text-semibold"},e.title),e.subtitle?Ye("div",{class:"wf-text-sm wf-text-secondary"},e.subtitle):null]),e.error?Ye(ko,{variant:"error"},e.error):null,Ye("form",{class:"wf-auth-form",onSubmit:t=>{t.preventDefault(),e.onSubmit?.()}},[Ye("div",{class:"wf-stack wf-gap-md"},[e.children,Ye(_t,{type:"submit",variant:"primary",loading:e.loading,disabled:e.loading,block:!0},e.submitLabel)])]),e.footer?Ye("div",{class:"wf-text-center wf-mt-md wf-text-sm"},e.footer):null])]);import{h as ve,Fragment as zl}from"weifuwu/ui-dom";var Nl=/^https?:\/\//i;function Zo(o){let e=o.trim();return Nl.test(e)?e:null}function Le(o){let e=[],t=0,n="",r=()=>{n&&(e.push({type:"text",text:n}),n="")};for(;t<o.length;){let a=o[t];if(a==="`"){let s=o.indexOf("`",t+1);if(s>t){r(),e.push({type:"code",text:o.slice(t+1,s)}),t=s+1;continue}n+=a,t++;continue}if(a==="*"&&o[t+1]==="*"){let s=o.indexOf("**",t+2);if(s>t){r(),e.push({type:"bold",children:Le(o.slice(t+2,s))}),t=s+2;continue}}if(a==="~"&&o[t+1]==="~"){let s=o.indexOf("~~",t+2);if(s>t){r(),e.push({type:"del",children:Le(o.slice(t+2,s))}),t=s+2;continue}}if(a==="*"){let s=o.indexOf("*",t+1);if(s>t){r(),e.push({type:"italic",children:Le(o.slice(t+1,s))}),t=s+1;continue}}if(a==="["){let s=o.indexOf("]",t+1);if(s>t&&o[s+1]==="("){let i=o.indexOf(")",s+2);if(i>s){let l=o.slice(t+1,s),c=o.slice(s+2,i),d=Zo(c);if(d){r(),e.push({type:"link",href:d,children:Le(l)}),t=i+1;continue}n+=o.slice(t,i+1),t=i+1;continue}}}n+=a,t++}return r(),e}function $n(o){let e=o.replace(/\r\n/g,`
25
- `).split(`
26
- `),t=[],n=0,r=a=>{a.type==="paragraph"&&a.inline.length===0||t.push(a)};for(;n<e.length;){let a=e[n];if(/^\s*$/.test(a)){n++;continue}if(/^```/.test(a.trim())){let u=a.trim().slice(3).trim(),p=[];for(n++;n<e.length&&!/^\s*```/.test(e[n]);)p.push(e[n]),n++;n++,r({type:"code",lang:u||void 0,code:p.join(`
27
- `)+(p.length?`
28
- `:"")});continue}let s=a.match(/^(#{1,4})\s+(.+)$/);if(s){r({type:"heading",level:s[1].length,inline:Le(s[2])}),n++;continue}if(/^\s*-{3,}\s*$/.test(a)){r({type:"hr"}),n++;continue}if(/^\s*>/.test(a)){let u=[];for(;n<e.length&&/^\s*>/.test(e[n]);)u.push(e[n].replace(/^\s*>\s?/,"")),n++;r({type:"quote",inline:Le(u.join(`
29
- `))});continue}if(a.match(/^\|(.+)\|\s*$/)&&n+1<e.length&&/^\|?[\s:|-]+\|?[\s:|-]*$/.test(e[n+1])&&e[n+1].includes("-")){let u=y=>y.replace(/^\|/,"").replace(/\|\s*$/,"").split("|").map(v=>v.trim()),p=u(a),m=u(e[n+1]).map(y=>{let v=y.startsWith(":"),b=y.endsWith(":");return v&&b?"center":b?"right":"left"});n+=2;let g=[];for(;n<e.length&&/^\|(.+)\|\s*$/.test(e[n]);)g.push(u(e[n])),n++;r({type:"table",headers:p,rows:g,aligns:m});continue}let l=a.match(/^\s*[-*+]\s+(.+)$/),c=/^\s*[-*+]\s+\[([ xX])]\s+(.+)$/;if(a.match(c)||l){let u=[],p=[],m=g=>{let y=g.match(c);if(y)u.push(Le(y[2])),p.push(y[1].toLowerCase()==="x");else{let v=g.match(/^\s*[-*+]\s+(.+)$/);u.push(Le(v?v[1]:g)),p.push(null)}};for(m(a),n++;n<e.length;)if(e[n].match(c)||e[n].match(/^\s*[-*+]\s+(.+)$/))m(e[n]),n++;else if(/^\s*$/.test(e[n])){n++;break}else if(/^\s{2,}/.test(e[n]))u[u.length-1].push({type:"text",text:" "+e[n].trim()}),n++;else break;r({type:"list",ordered:!1,items:u,checks:p});continue}let f=a.match(/^\s*\d+\.\s+(.+)$/);if(f){let u=[Le(f[1])];for(n++;n<e.length;){let p=e[n].match(/^\s*\d+\.\s+(.+)$/);if(p)u.push(Le(p[1])),n++;else if(/^\s*$/.test(e[n])){n++;break}else break}r({type:"list",ordered:!0,items:u});continue}let h=[a];for(n++;n<e.length&&!/^\s*$/.test(e[n])&&!/^\s*```/.test(e[n])&&!/^\s*#/.test(e[n])&&!/^\s*>/.test(e[n])&&!/^\s*[-*+]\s+/.test(e[n])&&!/^\s*\d+\.\s+/.test(e[n])&&!/^\s*-{3,}\s*$/.test(e[n])&&!/^\|(.+)\|\s*$/.test(e[n]);)h.push(e[n]),n++;r({type:"paragraph",inline:Le(h.join(`
30
- `))})}return t}import{h as Je}from"weifuwu/ui-dom";var Os=/\b(?:const|let|var|function|return|if|else|for|while|do|switch|case|break|continue|import|export|from|default|async|await|class|new|extends|implements|type|interface|public|private|protected|readonly|static|this|super|true|false|null|undefined|of|in|typeof|instanceof|void|throw|try|catch|finally|yield|as|satisfies)\b/,Bl=/\b(?:if|then|else|fi|for|do|done|while|case|esac|function|echo|cd|ls|mkdir|rm|cp|mv|export|source|sudo|npm|node|docker)\b/;var Km=new RegExp(["(/\\*[\\s\\S]*?\\*/|//[^\\n]*|#[^\\n]*)","(\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|`(?:[^`\\\\]|\\\\.)*`)","("+Os.source+")","(\\b\\d+(?:\\.\\d+)?(?:px|%|em|rem|vh|vw|fr|ms|s)?\\b)","([A-Za-z_$][\\w$]*(?=\\s*\\())","(<\\/?[A-Za-z][\\w.-]*)","(<=|>=|===|!==|==|!=|=>|\\+\\+|--|&&|\\|\\||\\?\\?|\\??\\.|[{}()\\[\\];,.:=+\\-*/<>!?&|^~%])"].join("|"),"g");function Hl(o){return o==="bash"||o==="sh"||o==="shell"?Bl:Os}function Rs(o,e){let t=[],n=Hl(e??""),r=e==="tsx"||e==="jsx"||e==="html"||!e,a=new RegExp(["(/\\*[\\s\\S]*?\\*/|//[^\\n]*|#[^\\n]*)","(\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|`(?:[^`\\\\]|\\\\.)*`)","("+n.source+")","(\\b\\d+(?:\\.\\d+)?(?:px|%|em|rem|vh|vw|fr|ms|s)?\\b)","([A-Za-z_$][\\w$]*(?=\\s*\\())",r?"(<\\/?[A-Za-z][\\w.-]*)":"(?!x)x","(<=|>=|===|!==|==|!=|=>|\\+\\+|--|&&|\\|\\||\\?\\?|\\??\\.|[{}()\\[\\];,.:=+\\-*/<>!?&|^~%])"].join("|"),"g"),s=0,i;for(;(i=a.exec(o))!==null;){i.index>s&&t.push({type:"text",text:o.slice(s,i.index)});let l="operator";for(let c=1;c<=7;c++)if(i[c]!==void 0){l=["comment","string","keyword","number","function","jsx-tag","operator"][c-1];break}t.push({type:l,text:i[0]}),s=i.index+i[0].length,i[0].length===0&&(s++,a.lastIndex=s)}return s<o.length&&t.push({type:"text",text:o.slice(s)}),t}var Qo=async(o,e)=>{let t=!1,n,r="",a=async()=>{await e.browser?.copyText(r),t=!0,e.ui.render(),clearTimeout(n),n=setTimeout(()=>{t=!1,e.ui.render()},1600)};return async s=>{let{code:i,lang:l,title:c}=s;r=i;let d=l?Je("span",{class:"wf-codeblock-lang"},[Je("span",{class:"wf-codeblock-dot"}),l]):null,f=Je("button",{class:"wf-codeblock-copy",type:"button","aria-label":"\u590D\u5236",title:"\u590D\u5236\u4EE3\u7801",onClick:a},t?Je(O,{name:"check",size:14}):Je(O,{name:"copy",size:14})),h=Je("div",{class:"wf-codeblock-header"},[Je("span",{class:"wf-codeblock-title"},c??d??"\u4EE3\u7801"),f].filter(Boolean)),u=i&&Rs(i,l).map((m,g)=>m.type==="text"?m.text:Je("span",{class:`wf-hl-${m.type}`},m.text)),p=Je("pre",{class:"wf-codeblock-pre"},Je("code",{class:"wf-codeblock-code"},u));return Je("div",{class:"wf-codeblock"},[h,p])}};var er=async(o,e)=>async t=>{let{content:n="",className:r}=t,a=$n(n);return a.length===0?null:ve("div",{class:`wf-md${r?` ${r}`:""}`},a.map((s,i)=>_l(s,i)))};function _l(o,e){switch(o.type){case"heading":return ve(`h${o.level}`,{class:`wf-md-h wf-md-h${o.level}`,key:e},Ze(o.inline));case"paragraph":return ve("p",{class:"wf-md-p",key:e},Ze(o.inline));case"list":{let t=o.checks?.some(r=>r!==null),n=o.ordered?"ol":"ul";return ve(n,{class:`wf-md-${o.ordered?"ol":"ul"}${t?" wf-md-task-list":""}`,key:e},o.items.map((r,a)=>{let s=o.checks?.[a];return ve("li",{class:`wf-md-li${s!=null?" wf-md-task":""}`,key:a},s!=null?[ve("input",{type:"checkbox",class:"wf-md-task-check",checked:!!s,disabled:!0,key:"c"}),...Ze(r)]:Ze(r))}))}case"code":return ve(Qo,{key:e,code:o.code??"",lang:o.lang});case"quote":return ve("blockquote",{class:"wf-md-quote",key:e},Ze(o.inline));case"hr":return ve("hr",{class:"wf-md-hr",key:e});case"table":{let t=n=>o.aligns?.[n]?{textAlign:o.aligns[n]}:void 0;return ve("div",{class:"wf-md-table-wrap",key:e},ve("table",{class:"wf-md-table"},[ve("thead",{key:"h"},ve("tr",{key:"r"},o.headers.map((n,r)=>ve("th",{class:"wf-md-th",style:t(r),key:r},Ze(Le(n)))))),ve("tbody",{key:"b"},o.rows.map((n,r)=>ve("tr",{class:"wf-md-tr",key:r},n.map((a,s)=>ve("td",{class:"wf-md-td",style:t(s),key:s},Ze(Le(a)))))))]))}default:return null}}function Ze(o){return o.map((e,t)=>{switch(e.type){case"code":return ve("code",{class:"wf-md-code",key:t},e.text??"");case"bold":return ve("strong",{class:"wf-md-strong",key:t},Ze(e.children??[]));case"italic":return ve("em",{class:"wf-md-em",key:t},Ze(e.children??[]));case"del":return ve("del",{class:"wf-md-del",key:t},Ze(e.children??[]));case"link":return ve("a",{class:"wf-md-link",key:t,href:e.href,target:"_blank",rel:"noopener noreferrer"},Ze(e.children??[]));default:return ve(zl,{key:t},e.text??"")}})}import{h as ue}from"weifuwu/ui-dom";import{h as fe}from"weifuwu/ui-dom";import{aiStream as Fl}from"weifuwu/ui-dom";function zs(o){let e=/^([A-Z]+)(\d+)$/.exec(o.toUpperCase());if(!e)return{row:0,col:0};let t=0;for(let n of e[1])t=t*26+(n.charCodeAt(0)-64);return{row:Number(e[2])-1,col:t-1}}function Kl(o,e){let t="",n=e+1;for(;n>0;)t=String.fromCharCode(65+(n-1)%26)+t,n=Math.floor((n-1)/26);return`${t}${o+1}`}function _s(o,e,t,n,r){let{row:a,col:s}=zs(o),i=a>=e?a+n:a,l=s>=t?s+r:s;return i<0||l<0?null:Kl(i,l)}function An(o){return{name:o.name,cols:o.cols,cells:new Map(o.cells)}}function jl(o,e){if(e.type==="cell-set"){let a=An(o);e.cell===null?a.cells.delete(e.ref.toUpperCase()):a.cells.set(e.ref.toUpperCase(),{...e.cell,style:e.cell.style?{...e.cell.style}:void 0});let{col:s}=zs(e.ref);return s+1>a.cols&&(a.cols=s+1),a}let t=An(o),n=e.ref.toUpperCase(),r=t.cells.get(n);return r?t.cells.set(n,{...r,style:e.style?{...e.style}:void 0}):t.cells.set(n,{kind:"s",value:"",style:e.style?{...e.style}:void 0}),t}function Ns(o,e,t,n){let r=An(o),a=new Map;for(let[s,i]of r.cells){let l=_s(s,e,0,n*t,0);l&&a.set(l,i)}return r.cells=a,r}function Bs(o,e,t,n){let r=An(o),a=new Map;for(let[s,i]of r.cells){let l=_s(s,0,e,0,n*t);l&&a.set(l,i)}return r.cells=a,r.cols=Math.max(r.cols+n*t,1),r}function tr(o,e){let t=o.sheets.map(An);switch(e.type){case"cell-set":case"range-style":return e.sheet>=t.length?o:(t[e.sheet]=jl(t[e.sheet],e),{...o,sheets:t});case"insert-rows":return e.sheet>=t.length?o:(t[e.sheet]=Ns(t[e.sheet],e.at,e.count,1),{...o,sheets:t});case"delete-rows":return e.sheet>=t.length?o:(t[e.sheet]=Ns(t[e.sheet],e.at,e.count,-1),{...o,sheets:t});case"insert-cols":return e.sheet>=t.length?o:(t[e.sheet]=Bs(t[e.sheet],e.at,e.count,1),{...o,sheets:t});case"delete-cols":return e.sheet>=t.length?o:(t[e.sheet]=Bs(t[e.sheet],e.at,e.count,-1),{...o,sheets:t});case"sheet-add":{let n={name:e.name,cols:1,cells:new Map};return{...o,sheets:[...t,n],activeSheet:t.length}}case"sheet-rename":return e.sheet>=t.length?o:(t[e.sheet]={...t[e.sheet],name:e.name},{...o,sheets:t});case"sheet-delete":{if(e.sheet>=t.length)return o;let n=t.filter((r,a)=>a!==e.sheet);return n.length===0&&n.push({name:"Sheet1",cols:1,cells:new Map}),{...o,sheets:n,activeSheet:Math.min(o.activeSheet,n.length-1)}}case"sheet-move":{if(e.sheet>=t.length||e.to>=t.length)return o;let n=[...t],[r]=n.splice(e.sheet,1);return n.splice(e.to,0,r),{...o,sheets:n}}case"sheet-active":return e.sheet<t.length?{...o,activeSheet:e.sheet}:o}}function Hs(o){return{...o,props:o.props?{...o.props}:void 0}}function nr(o,e){let t=o.slides.map(n=>({...n,shapes:n.shapes.map(Hs)}));switch(e.type){case"slide-add":{let n={shapes:[],layout:e.layout},r=e.at??t.length;return t.splice(Math.min(r,t.length),0,n),{...o,slides:t,activeSlide:Math.min(r,t.length-1)}}case"slide-delete":return e.slide>=t.length?o:(t.splice(e.slide,1),t.length===0&&t.push({shapes:[]}),{...o,slides:t,activeSlide:Math.min(o.activeSlide,t.length-1)});case"slide-move":{if(e.slide>=t.length||e.to>=t.length)return o;let[n]=t.splice(e.slide,1);return t.splice(e.to,0,n),{...o,slides:t}}case"slide-active":return e.slide<t.length?{...o,activeSlide:e.slide}:o;case"shape-add":{if(e.slide>=t.length)return o;let n=[...t[e.slide].shapes,Hs(e.shape)];return t[e.slide]={...t[e.slide],shapes:n},{...o,slides:t}}case"shape-remove":{if(e.slide>=t.length)return o;let n=t[e.slide].shapes.filter(r=>r.id!==e.shapeId);return t[e.slide]={...t[e.slide],shapes:n},{...o,slides:t}}case"shape-move":{if(e.slide>=t.length)return o;let n=t[e.slide].shapes.map(r=>r.id===e.shapeId?{...r,x:e.x,y:e.y}:r);return t[e.slide]={...t[e.slide],shapes:n},{...o,slides:t}}case"shape-resize":{if(e.slide>=t.length)return o;let n=t[e.slide].shapes.map(r=>r.id===e.shapeId?{...r,w:e.w,h:e.h}:r);return t[e.slide]={...t[e.slide],shapes:n},{...o,slides:t}}case"shape-set":{if(e.slide>=t.length)return o;let n=t[e.slide].shapes.map(r=>r.id===e.shapeId?{...r,props:{...r.props??{},...e.props}}:r);return t[e.slide]={...t[e.slide],shapes:n},{...o,slides:t}}}}function Vl(o,e){let n=o.trim().split(`
31
- `).map(i=>i.trim()).filter(Boolean),r=[],a=0,s=!1;for(let i of n){let l=/^([A-Z]+\d+)\s*[:=]\s*(.*)$/.exec(i);if(l){let c=Ks(l[2].trim());r.push({type:"cell-set",sheet:a,ref:l[1],cell:c}),s=!0;continue}if(!s&&n.length===1){let c=Ks(i);if(c.kind==="s"&&i.length>16)continue;r.push({type:"cell-set",sheet:a,ref:e.ref??"A1",cell:c}),s=!0}}return s?{ops:r}:{ops:[],note:"\u56DE\u590D\u65E0\u6CD5\u89E3\u6790\u4E3A\u5355\u5143\u683C\u5185\u5BB9\uFF08\u671F\u671B\u516C\u5F0F/\u503C\u6216 `A1: \u503C` \u683C\u5F0F\uFF09"}}function Ks(o){return o.startsWith("=")?{kind:"f",value:"",formula:o}:/^-?\d+(\.\d+)?$/.test(o)?{kind:"n",value:Number(o)}:o==="true"||o==="false"?{kind:"b",value:o==="true"}:{kind:"s",value:o}}function Wl(o,e){if(!e.shapeId)return{ops:[],note:"\u672A\u9009\u4E2D\u5F62\u72B6\uFF08\u5148\u70B9\u9009\u6587\u672C\u6846\u518D\u89E6\u53D1 AI\uFF09"};let t=o.trim();return t?{ops:[{type:"shape-set",slide:0,shapeId:e.shapeId,props:{text:t}}]}:{ops:[],note:"AI \u56DE\u590D\u4E3A\u7A7A"}}function Ul(o,e){return{ops:[],note:"docx \u6587\u672C AI \u8D70 Editor ai-apply\uFF08\u9009\u533A\u66FF\u6362\u2014\u2014Editor \u5C42\u5904\u7406\uFF09"}}function Yn(o,e){return e.docType==="xlsx"?Vl(o,e):e.docType==="pptx"?Wl(o,e):Ul(o,e)}var or=o=>{let e="",t=o+1;for(;t>0;)e=String.fromCharCode(65+(t-1)%26)+e,t=Math.floor((t-1)/26);return e},rr=async(o,e)=>{let t=e.i18n?.components?.SheetGrid??{},n=o.workbook,r=o.workbook,a=null,s=null,i=null,l=C=>{i=C},c=[],d=null,f=null,h=C=>{f=C},u=e.ui.usePopup({trigger:"manual",placement:"bottom",gap:8,el:()=>f,isOpen:()=>!!d,setOpen:C=>{C||(d=null,e.ui.render())}}),p=(C,D,T)=>{let A=T;for(let P of D)A=tr(A,P);n=A;for(let P of D)re("office",{docType:"xlsx",op:P});c.push({label:C,ops:D,before:T}),e.ui.render(),o.onChange?.(n)},m=(C,D)=>{p(`\u5355\u5143\u683C ${C}`,[{type:"cell-set",sheet:n.activeSheet,ref:C,cell:D}],n)},g=()=>{s=null;let{row:C}=Qt(a??"A1");p("\u63D2\u5165\u884C",[{type:"insert-rows",sheet:n.activeSheet,at:C,count:1}],n)},y=()=>{s=null;let{row:C}=Qt(a??"A1");p("\u5220\u9664\u884C",[{type:"delete-rows",sheet:n.activeSheet,at:C,count:1}],n)},v=()=>{s=null;let{col:C}=Qt(a??"A1");p("\u63D2\u5165\u5217",[{type:"insert-cols",sheet:n.activeSheet,at:C,count:1}],n)},b=()=>{s=null;let{col:C}=Qt(a??"A1");p("\u5220\u9664\u5217",[{type:"delete-cols",sheet:n.activeSheet,at:C,count:1}],n)},w=()=>{s=null;let C=c.pop();C&&(n=C.before,re("undo",{entity:"sheet",label:C.label}),e.ui.render(),o.onChange?.(n))},k=()=>{if(!o.ai||!a)return;let C=a,D=n.sheets[n.activeSheet],T=ql(D,C,8),A=`\u4F60\u662F\u7535\u5B50\u8868\u683C\u52A9\u624B\u3002\u8BF7\u4E3A\u5355\u5143\u683C ${C} \u751F\u6210\u5185\u5BB9\u3002
32
-
33
- \u5F53\u524D\u5DE5\u4F5C\u8868\u300C${D.name}\u300D\u9644\u8FD1\u5355\u5143\u683C\u6570\u636E\uFF1A
34
- ${T}
35
-
36
- \u8F93\u51FA\u89C4\u5219\uFF1A
37
- - \u82E5\u662F\u516C\u5F0F\uFF1A\u76F4\u63A5\u8F93\u51FA = \u5F00\u5934\u7684\u516C\u5F0F\uFF08\u5982 =SUM(A1:B5)\uFF09\uFF0C\u4E0D\u8981\u89E3\u91CA
38
- - \u82E5\u662F\u6570\u503C/\u6587\u672C\uFF1A\u76F4\u63A5\u8F93\u51FA\u503C
39
- - \u82E5\u5355\u5143\u683C\u662F\u8868\u5934/\u6C47\u603B\u7C7B\uFF0C\u8F93\u51FA\u5408\u9002\u7684\u503C\u6216\u516C\u5F0F`;d={revised:"",streaming:!0,error:null,ref:C,messageId:`sheet-ai-${Date.now()}`},e.ui.render(),re("office",{docType:"xlsx",ai:{messageId:d.messageId,status:"suggested"}}),Fl(o.ai.url,{messages:[{role:"user",content:A}]},{headers:o.ai.headers,onToken:P=>{d&&(d.revised+=P,e.ui.render())},onDone:()=>{d&&(d.streaming=!1,e.ui.render())},onError:P=>{d&&(d.streaming=!1,d.error=P?.message??"AI \u8BF7\u6C42\u5931\u8D25",e.ui.render())}})},S=()=>{if(!d)return;s=null;let C={docType:"xlsx",ref:d.ref},D=Yn(d.revised,C);if(D.ops.length===0){d.error=D.note??"\u65E0\u6CD5\u89E3\u6790",e.ui.render();return}let T=n,A=T;for(let P of D.ops)A=tr(A,P);n=A;for(let P of D.ops)re("office",{docType:"xlsx",op:P,ai:{messageId:d.messageId,status:"accepted"}},d.messageId);c.push({label:`AI \u516C\u5F0F ${d.ref}`,ops:D.ops,before:T}),d=null,e.ui.render(),o.onChange?.(n)},$=()=>{d&&(s=null,re("office",{docType:"xlsx",ai:{messageId:d.messageId,status:"rejected"}}),d=null,e.ui.render())};return async C=>{C.workbook!==r&&(r=C.workbook,n=C.workbook);let D=n.sheets[Math.min(n.activeSheet,n.sheets.length-1)]??{name:"Sheet1",cols:1,cells:new Map},T=!!C.readonly,A=1,P=D.cols;for(let x of D.cells.keys()){let{row:I,col:z}=Qt(x);I+1>A&&(A=I+1),z+1>P&&(P=z+1)}A=Math.min(A,200),P=Math.min(P,52);let j=x=>{let I=D.cells.get(x);return I?I.kind==="f"?I.formula??"":String(I.value):""},R=[];for(let x=0;x<A;x++){let I=[];for(let z=0;z<P;z++){let V=`${or(z)}${x+1}`,ee=s?.ref===V,L=a===V;I.push(fe("td",{key:V,class:["wf-sheet-cell",L?"wf-sheet-cell--active":""].filter(Boolean).join(" "),onClick:()=>{T||(a=V,s={ref:V,value:j(V)},e.ui.render())},onKeyDown:K=>{T||(K.key==="Enter"&&s?.ref===V&&(K.preventDefault(),E(),e.ui.render()),K.key==="Escape"&&s?.ref===V&&(s=null,e.ui.render()))}},ee?fe("input",{ref:l,class:"wf-sheet-input",value:s?.value??"",onInput:K=>{s={ref:V,value:K.target.value}},onBlur:()=>{E()},onClick:K=>K.stopPropagation()}):j(V)))}R.push(fe("tr",{key:`r${x}`},fe("th",{class:"wf-sheet-rowhead",key:"rh"},String(x+1)),...I))}let W=[];for(let x=0;x<P;x++)W.push(fe("th",{key:`c${x}`,class:"wf-sheet-colhead"},or(x)));let E=()=>{if(!s)return;let{ref:x,value:I}=s;s=null;let z=D.cells.get(x),V=Gl(I);z&&z.kind===V?.kind&&z.value===V.value&&z.formula===V.formula||m(x,V)},M=d?fe("div",{class:"wf-sheet-ai-panel"},[fe("div",{class:"wf-sheet-ai-title"},`${t.aiTitle??"AI \u5EFA\u8BAE"} ${d.ref}`),d.error?fe("div",{class:"wf-sheet-ai-error"},d.error):fe("pre",{class:"wf-sheet-ai-body"},d.revised||(d.streaming?t.aiThinking??"\u601D\u8003\u4E2D\u2026":"")),fe("div",{class:"wf-sheet-ai-actions"},[fe("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",key:"ok",disabled:d.streaming,onClick:()=>S()},t.accept??"\u5E94\u7528"),fe("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"no",onClick:()=>$()},t.reject??"\u62D2\u7EDD")])]):null;return fe("div",{class:"wf-sheet",onKeyDown:x=>{(x.ctrlKey||x.metaKey)&&x.key.toLowerCase()==="z"&&(x.preventDefault(),w()),(x.ctrlKey||x.metaKey)&&x.key.toLowerCase()==="enter"&&o.ai&&a&&(x.preventDefault(),k())},style:{height:C.height}},[fe("div",{class:"wf-sheet-toolbar"},[fe("div",{class:"wf-sheet-tabs",key:"tabs"},...n.sheets.map((x,I)=>fe("button",{key:`tab${I}`,class:["wf-sheet-tab",I===n.activeSheet?"wf-sheet-tab--active":""].filter(Boolean).join(" "),type:"button",onClick:()=>{I!==n.activeSheet&&(n={...n,activeSheet:I},e.ui.render())}},x.name))),fe("div",{class:"wf-sheet-tools",key:"tools"},[fe("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"ir",onClick:()=>g(),disabled:T},t.insertRow??"\u63D2\u5165\u884C"),fe("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"dr",onClick:()=>y(),disabled:T},t.deleteRow??"\u5220\u9664\u884C"),fe("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"ic",onClick:()=>v(),disabled:T},t.insertCol??"\u63D2\u5165\u5217"),fe("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"dc",onClick:()=>b(),disabled:T},t.deleteCol??"\u5220\u9664\u5217"),...o.ai?[fe("button",{ref:h,class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"ai","aria-expanded":String(!!d),disabled:T||!a,onClick:()=>k()},t.aiFormula??"AI \u516C\u5F0F")]:[],fe("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"undo",onClick:()=>w(),disabled:T||c.length===0},t.undo??"\u64A4\u9500")]),fe("span",{class:"wf-sheet-status",key:"st"},`${t.activeCell??"\u5355\u5143\u683C"}: ${a??"\u2014"}\uFF08Ctrl+Enter AI / Ctrl+Z \u64A4\u9500\uFF09`)]),fe("div",{class:"wf-sheet-scroll",style:{overflow:"auto"}},[fe("table",{class:"wf-sheet-table"},fe("thead",{},fe("tr",{},fe("th",{class:"wf-sheet-corner",key:"corner"}),...W)),fe("tbody",{},...R))]),u.portal(M,"sheet-ai")])}};function Qt(o){let e=/^([A-Z]+)(\d+)$/.exec(o.toUpperCase());if(!e)return{row:0,col:0};let t=0;for(let n of e[1])t=t*26+(n.charCodeAt(0)-64);return{row:Number(e[2])-1,col:t-1}}function Gl(o){let e=o.trim();return e===""?null:e.startsWith("=")?{kind:"f",value:"",formula:e}:/^-?\d+(\.\d+)?$/.test(e)?{kind:"n",value:Number(e)}:e==="true"||e==="false"?{kind:"b",value:e==="true"}:{kind:"s",value:e}}function ql(o,e,t){let{row:n,col:r}=Qt(e),a=[];for(let s=Math.max(0,n-t);s<=n+t;s++)for(let i=Math.max(0,r-t);i<=r+t;i++){let l=`${or(i)}${s+1}`,c=o.cells.get(l);c&&a.push(`${l}=${String(c.value)}`)}return a.length>0?a.join(`
40
- `):"\uFF08\u65E0\u76F8\u90BB\u6570\u636E\uFF09"}import{h as ge}from"weifuwu/ui-dom";import{aiStream as Xl}from"weifuwu/ui-dom";var js=960,Yl=540,sr=async(o,e)=>{let t=e.i18n?.components?.SlideCanvas??{},n=o.deck,r=o.deck,a=Math.min(o.deck.activeSlide,o.deck.slides.length-1),s=null,i=null,l=null,c=E=>{l=E},d=E=>{E&&E.focus()},f=.5,h=[],u=null,p=null,m=null,g=E=>{m=E},y=e.ui.usePopup({trigger:"manual",placement:"bottom",gap:8,el:()=>m,isOpen:()=>!!p,setOpen:E=>{E||(p=null,e.ui.render())}}),v=(E,M,x)=>{let I=x;for(let z of M)I=nr(I,z);n=I;for(let z of M)re("office",{docType:"pptx",op:z});h.push({label:E,ops:M,before:x}),e.ui.render(),o.onChange?.(n)},b=E=>n.slides[a]?.shapes.find(M=>M.id===E),w=E=>{let M=`s${Date.now()}`;v("\u6DFB\u52A0\u5F62\u72B6",[{type:"shape-add",slide:a,shape:{id:M,kind:E,x:120,y:120,w:E==="text"?320:160,h:E==="text"?48:120,props:E==="text"?{text:"\u53CC\u51FB\u7F16\u8F91\u6587\u672C"}:{fill:"#dbeafe"}}}],n),s=M},k=()=>{if(!s)return;let E=s;s=null,v("\u5220\u9664\u5F62\u72B6",[{type:"shape-remove",slide:a,shapeId:E}],n)},S=()=>{let E=a+1;v("\u6DFB\u52A0\u5E7B\u706F\u7247",[{type:"slide-add",at:E,layout:"blank"}],n),a=E},$=()=>{n.slides.length<=1||(v("\u5220\u9664\u5E7B\u706F\u7247",[{type:"slide-delete",slide:a}],n),a=Math.max(0,a-1))},C=()=>{i=null;let E=h.pop();E&&(n=E.before,re("undo",{label:E.label}),e.ui.render(),o.onChange?.(n))},D=(E,M,x)=>{if(o.readonly)return;x.preventDefault(),x.stopPropagation();let I=b(E);I&&(s=E,i=null,u={id:E,mode:M,startX:x.clientX,startY:x.clientY,orig:I},e.ui.render())},T=E=>{if(!u)return;let M=(E.clientX-u.startX)/f,x=(E.clientY-u.startY)/f;if(u.mode==="move"){let I={...u.orig,x:Math.max(0,Math.round(u.orig.x+M)),y:Math.max(0,Math.round(u.orig.y+x))};P(u.id,I)}else{let I={...u.orig,w:Math.max(20,Math.round(u.orig.w+M)),h:Math.max(16,Math.round(u.orig.h+x))};P(u.id,I)}},A=()=>{if(!u)return;let{id:E,orig:M}=u;u=null;let x=b(E);x&&(x.x===M.x&&x.y===M.y&&x.w===M.w&&x.h===M.h||(v("\u79FB\u52A8/\u7F29\u653E",[{type:"shape-move",slide:a,shapeId:E,x:x.x,y:x.y},{type:"shape-resize",slide:a,shapeId:E,w:x.w,h:x.h}],n),e.ui.render()))},P=(E,M)=>{n={...n,slides:n.slides.map((x,I)=>I===a?{...x,shapes:x.shapes.map(z=>z.id===E?M:z)}:x)},e.ui.render()},j=()=>{if(!o.ai||!s)return;let E=b(s);if(!E)return;let M=s,x=`\u8BF7\u6DA6\u8272\u4EE5\u4E0B\u5E7B\u706F\u7247\u6587\u672C\uFF0C\u4FDD\u6301\u539F\u610F\uFF0C\u8F93\u51FA\u6DA6\u8272\u540E\u7684\u5B8C\u6574\u6587\u672C\uFF08\u4E0D\u8981\u989D\u5916\u89E3\u91CA\u3001\u4E0D\u8981\u5F15\u53F7\uFF09\uFF1A
41
-
42
- ${E.props?.text??""}`;p={revised:"",streaming:!0,error:null,shapeId:M,messageId:`slide-ai-${Date.now()}`},e.ui.render(),re("office",{docType:"pptx",ai:{messageId:p.messageId,status:"suggested"}}),Xl(o.ai.url,{messages:[{role:"user",content:x}]},{headers:o.ai.headers,onToken:I=>{p&&(p.revised+=I,e.ui.render())},onDone:()=>{p&&(p.streaming=!1,e.ui.render())},onError:I=>{p&&(p.streaming=!1,p.error=I?.message??"AI \u8BF7\u6C42\u5931\u8D25",e.ui.render())}})},R=()=>{if(!p)return;i=null;let E=Yn(p.revised,{docType:"pptx",shapeId:p.shapeId});if(E.ops.length===0){p.error=E.note??"\u65E0\u6CD5\u89E3\u6790",e.ui.render();return}let M=n,x=M;for(let I of E.ops)x=nr(x,I);n=x;for(let I of E.ops)re("office",{docType:"pptx",op:I,ai:{messageId:p.messageId,status:"accepted"}},p.messageId);h.push({label:`AI \u6DA6\u8272 ${p.shapeId}`,ops:E.ops,before:M}),p=null,e.ui.render(),o.onChange?.(n)},W=()=>{p&&(i=null,re("office",{docType:"pptx",ai:{messageId:p.messageId,status:"rejected"}}),p=null,e.ui.render())};return async E=>{E.deck!==r&&(r=E.deck,n=E.deck);let M=!!E.readonly,x=n.slides[Math.min(a,n.slides.length-1)]??{shapes:[]};f=(()=>{let L=l?.clientWidth??640;return Math.min(1,(L-24)/js)})();let z=x.shapes.map((L,K)=>{let se=s===L.id,de=i?.id===L.id,G={key:L.id,class:["wf-slide-shape",`wf-slide-shape--${L.kind}`,se?"wf-slide-shape--selected":""].filter(Boolean).join(" "),style:{left:`${L.x}px`,top:`${L.y}px`,width:`${L.w}px`,height:`${L.h}px`,...L.props?.fill?{background:L.props.fill}:{}},onPointerDown:F=>D(L.id,"move",F)},Ee=[];return de?Ee.push(ge("textarea",{ref:d,class:"wf-slide-shape-edit",value:i?.text??"",onInput:F=>{i={id:L.id,text:F.target.value}},onBlur:()=>{V()},onKeyDown:F=>{F.key==="Enter"&&!F.shiftKey&&(F.preventDefault(),V()),F.key==="Escape"&&(i=null,e.ui.render())},onPointerDown:F=>F.stopPropagation()})):L.kind==="image"?Ee.push(ge("div",{class:"wf-slide-shape-image"},"\u{1F5BC}")):L.kind==="line"?Ee.push(ge("div",{class:"wf-slide-shape-line"})):Ee.push(ge("div",{class:"wf-slide-shape-label"},L.props?.text??"")),ge("div",G,...Ee,se&&!M?ge("div",{class:"wf-slide-shape-resize",onPointerDown:F=>D(L.id,"resize",F)}):null)}),V=()=>{if(!i)return;let{id:L,text:K}=i;i=null;let se=b(L);se&&se.props?.text!==K&&v("\u7F16\u8F91\u6587\u672C",[{type:"shape-set",slide:a,shapeId:L,props:{text:K}}],n)},ee=p?ge("div",{class:"wf-slide-ai-panel"},[ge("div",{class:"wf-slide-ai-title"},`${t.aiTitle??"AI \u6DA6\u8272"}`),p.error?ge("div",{class:"wf-slide-ai-error"},p.error):ge("pre",{class:"wf-slide-ai-body"},p.revised||(p.streaming?t.aiThinking??"\u601D\u8003\u4E2D\u2026":"")),ge("div",{class:"wf-slide-ai-actions"},[ge("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",key:"ok",disabled:p.streaming,onClick:()=>R()},t.accept??"\u5E94\u7528"),ge("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"no",onClick:()=>W()},t.reject??"\u62D2\u7EDD")])]):null;return ge("div",{class:"wf-slide",onKeyDown:L=>{(L.ctrlKey||L.metaKey)&&L.key.toLowerCase()==="z"&&(L.preventDefault(),C()),(L.ctrlKey||L.metaKey)&&L.key.toLowerCase()==="enter"&&o.ai&&s&&(L.preventDefault(),j()),L.key==="Delete"&&s&&!i&&(L.preventDefault(),k())}},[ge("div",{class:"wf-slide-toolbar"},[...n.slides.map((L,K)=>ge("button",{key:`tab${K}`,class:["wf-slide-tab",K===a?"wf-slide-tab--active":""].filter(Boolean).join(" "),type:"button",onClick:()=>{a=K,s=null,i=null,e.ui.render()}},`${t.slide??"\u5E7B\u706F\u7247"} ${K+1}`)),ge("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"add-slide",onClick:()=>S(),disabled:M},t.addSlide??"+ \u9875"),...M?[]:[ge("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"del-slide",onClick:()=>$()},t.deleteSlide??"\u5220\u9875"),ge("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"add-text",onClick:()=>w("text")},t.addText??"\u6587\u672C"),ge("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"add-rect",onClick:()=>w("rect")},t.addRect??"\u77E9\u5F62"),ge("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"del",onClick:()=>k(),disabled:!s},t.deleteShape??"\u5220\u9664"),...o.ai?[ge("button",{ref:g,class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"ai","aria-expanded":String(!!p),disabled:!s,onClick:()=>j()},t.aiPolish??"AI \u6DA6\u8272")]:[]],ge("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"undo",onClick:()=>C(),disabled:M||h.length===0},t.undo??"\u64A4\u9500")]),ge("div",{class:"wf-slide-canvas-scroll",style:{height:E.height},onPointerMove:L=>T(L),onPointerUp:()=>A(),onPointerLeave:()=>A()},[ge("div",{ref:c,class:"wf-slide-canvas",style:{width:`${js*f}px`,height:`${Yl*f}px`}},z.map(L=>ge("div",{key:L.key,style:{transform:`scale(${f})`,transformOrigin:"top left",position:"absolute"},class:"wf-slide-shape-scaler"},L)))]),y.portal(ee,"slide-ai")])}};Lt();function ft(o){return o.map(e=>{switch(e.type){case"code":return`<code>${Jn(e.text??"")}</code>`;case"bold":return`<strong>${ft(e.children??[])}</strong>`;case"italic":return`<em>${ft(e.children??[])}</em>`;case"del":return`<del>${ft(e.children??[])}</del>`;case"link":return`<a href="${tc(e.href??"")}">${ft(e.children??[])}</a>`;default:return Jn(e.text??"")}}).join("")}function Jl(o){return o.replace(/!\[([^\]]*)\]\(([^)\s]+)\)/g,(e,t,n)=>{let r=Zo(n);return r?`\0IMG:${encodeURIComponent(t)}:${encodeURIComponent(r)}\0`:`![${t}](${n})`})}function Zl(o){return o.replace(/IMG:([^:]+):([^]+)/g,(e,t,n)=>`<img src="${decodeURIComponent(n)}" alt="${decodeURIComponent(t)}">`)}function Zn(o){let e=$n(Jl(o)),t=[];for(let n of e)switch(n.type){case"heading":t.push(`<h${n.level}>${ft(n.inline??[])}</h${n.level}>`);break;case"paragraph":t.push(`<p>${ft(n.inline??[])}</p>`);break;case"list":{let r=n.ordered?"ol":"ul",a=(n.items??[]).map((s,i)=>{let l=n.checks?.[i],c=ft(s);return`<li>${l!=null?`[${l?"x":" "}] ${c}`:c}</li>`});t.push(`<${r}>${a.join("")}</${r}>`);break}case"code":t.push(`<pre><code>${Jn(n.code??"")}</code></pre>`);break;case"quote":t.push(`<blockquote>${ft(n.inline??[])}</blockquote>`);break;case"hr":t.push("<hr>");break;case"table":{let r=[n.headers??[],...n.rows??[]];t.push(`<table><tbody>${r.map(a=>`<tr>${a.map(s=>`<td>${ft(Le(s))}</td>`).join("")}</tr>`).join("")}</tbody></table>`);break}default:break}return Zl(t.join(""))}function Ql(o,e,t){let n=new Set([e,t]),r=[];for(let i of o.marks)i.end<=e||i.start>=t||(n.add(Math.max(e,i.start)),n.add(Math.min(t,i.end)),r.push(i));let a=[...n].sort((i,l)=>i-l),s="";for(let i=0;i<a.length-1;i++){let l=a[i],c=a[i+1];if(c<=l)continue;let d=o.text.slice(l,c),f=r.filter(g=>g.start<=l&&g.end>=c),h=f.find(g=>g.type==="b"),u=f.find(g=>g.type==="i"),p=f.find(g=>g.type==="link"),m="";for(let g=0;g<d.length;g++){let y=d[g];if(y===je){let v=o.embeds.find(b=>b.at===l+g);if(v)if(v.type==="img"){let b=v.html.match(/src="([^"]*)"/)?.[1]??"",w=v.html.match(/alt="([^"]*)"/)?.[1]??"";m+=`![${w}](${b})`}else if(v.type==="hr")m+=`
43
- ---
44
- `;else if(v.type==="pre"){let b=v.html.replace(/^<pre><code>/,"").replace(/<\/code><\/pre>$/,"").replace(/\n$/,"");m+="\n```\n"+b+"\n```"}else if(v.type==="table"){let b=v.html.match(/<tr>.*?<\/tr>/g)??[];m+=`
45
- `+b.map(w=>"| "+Array.from(w.matchAll(/<t[hd]>([\s\S]*?)<\/t[hd]>/g),S=>ec(S[1])).join(" | ")+" |").join(`
46
- `)}else{let b=v.html.replace(/^<code>/,"").replace(/<\/code>$/,"");m+="`"+b+"`"}}else m+=y}h&&(m=`**${m}**`),u&&(m=`*${m}*`),p&&(m=`[${m}](${p.href??""})`),s+=m}return s}function Dn(o){let e=[0];for(let a=0;a<o.text.length;a++)o.text[a]===`
47
- `&&e.push(a+1);let t=[];for(let a=0;a<e.length;a++){let s=e[a],i=a+1<e.length?e[a+1]-1:o.text.length,l=o.blockProps.find(d=>d.start===s),c=Ql(o,s,i);l?.kind==="h1"?t.push(`# ${c}`):l?.kind==="h2"?t.push(`## ${c}`):l?.kind==="h3"?t.push(`### ${c}`):l?.kind==="quote"?t.push(`> ${c}`):l?.kind==="ul"?t.push(`- ${c}`):l?.kind==="ol"?t.push(`1. ${c}`):t.push(c)}let n=a=>/^(- |1\. )/.test(a),r=[];for(let a=0;a<t.length;a++)a>0&&!(n(t[a-1])&&n(t[a]))&&r.push(""),r.push(t[a]);return r.join(`
48
- `)}function Jn(o){return o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ec(o){return o.replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")}function tc(o){return Jn(o).replace(/"/g,"&quot;")}Lt();import{createClientBrowser as kc}from"weifuwu/ui-dom";function Cc(o,e){let t=(o||e||"").toLowerCase();return t.endsWith(".md")||t.endsWith(".markdown")?"md":t.endsWith(".txt")?"text":t.endsWith(".html")||t.endsWith(".htm")?"html":t.endsWith(".pdf")?"pdf":/\.(docx?|xlsx?|pptx?|odt|ods|odp)$/.test(t)?"office":"text"}var Sc=async(o,e)=>{let t=e.browser??kc(),n=Cn,r=null,a=null,s=null,i=!1,l=!1,c=!1,d=!1,f={status:"idle",content:null,error:null},h=null,u=async p=>{if(h!==p){h=p,f={status:"loading",content:null,error:null},re("preview",{type:"remote",url:p,status:"loading"});try{console.log("[fp-dbg] fetching",p);let m=await fetch(p);if(!m.ok)throw new Error(`HTTP ${m.status}`);let g=await m.text();f={status:"idle",content:g,error:null},re("preview",{type:"remote",url:p,status:"loaded",chars:g.length}),e.ui.render()}catch(m){f={status:"error",content:null,error:m instanceof Error?m.message:String(m)},re("preview",{type:"remote",url:p,status:"error",message:f.error}),e.ui.render()}}};return async p=>{let{type:m,content:g="",url:y,fileName:v,editable:b,ai:w,onSave:k,onLoad:S,height:$="400px"}=p,C=m??Cc(v,y),D=C==="md"||C==="text",T=g||(f.status==="idle"?f.content??"":"");(C==="md"||C==="html"||C==="text")&&y&&h!==y&&u(y);let A=(x,I)=>{d||(d=!0,re("preview",{type:C,chars:x,blocks:I,status:"loaded"}),S?.({type:C,chars:x,blocks:I}))},P=null;if(C==="md")if(b&&i){c||(c=!0,n=Ve(Zn(T)));let x=n.text.replace(/\uFFFC/g,"").length;A(x,n.blockProps.length+n.embeds.length+1),P=ue(Tn,{value:Zn(T),minHeight:$,ai:w,onChange:I=>{n=Ve(I),l=!0,e.ui.render()}})}else A(T.length,0),P=ue("div",{class:"wf-filepreview-doc",style:{height:$,overflow:"auto"}},[v?ue("div",{class:"wf-filepreview-name"},v):null,ue(er,{key:"md",content:c?Dn(n):T})]);else C==="text"?b&&i?(c||(c=!0,n=Ve(`<p>${Qs(T)}</p>`)),A(T.length,1),P=ue(Tn,{value:`<p>${Qs(T)}</p>`,minHeight:$,ai:w,onChange:x=>{n=Ve(x),l=!0,e.ui.render()}})):(A(T.length,1),P=ue("div",{class:"wf-filepreview-doc",style:{height:$,overflow:"auto"}},[v?ue("div",{class:"wf-filepreview-name"},v):null,ue("pre",{class:"wf-filepreview-text"},c?n.text:T)])):C==="html"?(A(T.length,0),P=ue("div",{class:"wf-filepreview-frame",style:{height:$}},[ue("iframe",{class:"wf-filepreview-iframe",sandbox:"allow-same-origin",srcDoc:T,style:{width:"100%",height:"100%",border:"none"}})])):C==="office"?b&&r?(c||(c=!0,n=r),A(n.text.replace(/\uFFFC/g,"").length,n.blockProps.length+n.embeds.length+1),P=ue(Tn,{value:Pe(n),minHeight:$,ai:w,onChange:x=>{n=Ve(x),l=!0,e.ui.render()}})):b&&a?(A(0,0),P=ue(rr,{workbook:a,ai:w?{url:w.url,headers:w.headers}:void 0,height:$,onChange:x=>{a=x}})):b&&s?(A(0,0),P=ue(sr,{deck:s,ai:w?{url:w.url,headers:w.headers}:void 0,height:$,onChange:x=>{s=x}})):b?(A(0,0),P=ue("div",{class:"wf-filepreview-empty"},"\u6253\u5F00\u672C\u5730 .docx/.xlsx/.pptx \u6587\u4EF6\uFF08\u524D\u7AEF\u96F6\u4F9D\u8D56\u8F6C\u6362\u2014\u2014\u65E0\u9700\u540E\u7AEF\uFF09")):(A(0,0),P=y?ue("div",{class:"wf-filepreview-frame",style:{height:$}},[ue("iframe",{class:"wf-filepreview-iframe",src:y,sandbox:"allow-same-origin",style:{width:"100%",height:"100%",border:"none"}})]):ue("div",{class:"wf-filepreview-empty"},"office \u6587\u4EF6\u9700\u8981 URL \u6216\u5F00\u542F editable \u672C\u5730\u5BFC\u5165")):C==="pdf"&&(A(0,0),P=y?ue("div",{class:"wf-filepreview-frame",style:{height:$}},[ue("iframe",{class:"wf-filepreview-iframe",src:y,sandbox:"allow-same-origin",style:{width:"100%",height:"100%",border:"none"}})]):ue("div",{class:"wf-filepreview-empty"},"\u7F3A\u5C11\u6587\u4EF6 URL"));f.status==="loading"&&(C==="md"||C==="html"||C==="text")?P=ue("div",{class:"wf-filepreview-empty"},"\u52A0\u8F7D\u4E2D\u2026"):f.status==="error"&&(C==="md"||C==="html"||C==="text")&&(P=ue("div",{class:"wf-filepreview-empty wf-filepreview-error"},`\u52A0\u8F7D\u5931\u8D25: ${f.error}`));let j=()=>{if(!k||!D||!b)return;let x=C==="md"?Dn(n):n.text;k(x,C),l=!1,re("preview",{type:C,status:"saved",chars:x.length}),e.ui.render()},R=null,W=()=>{R||(R=t.createElement("input"),R.type="file",R.accept=".docx,.xlsx,.xls,.pptx",R.style.display="none",R.onchange=()=>{let x=R.files?.[0];if(!x)return;let I=/\.xlsx?$/i.test(x.name),z=/\.pptx?$/i.test(x.name);x.arrayBuffer().then(async V=>{try{if(z){let{pptxToDeck:ee}=await Promise.resolve().then(()=>(pr(),cr)),L=await ee(new Uint8Array(V));s=L.deck,r=null,a=null,re("preview",{type:"office",status:"imported",docType:"pptx",warnings:L.warnings.length})}else if(I){let{xlsxToWorkbook:ee}=await Promise.resolve().then(()=>(fr(),dr)),L=await ee(new Uint8Array(V));a=L.workbook,r=null,s=null,re("preview",{type:"office",status:"imported",docType:"xlsx",warnings:L.warnings.length})}else{let{docxToDoc:ee}=await Promise.resolve().then(()=>(hr(),mr)),L=await ee(new Uint8Array(V));r=L.doc,a=null,s=null,n=L.doc,c=!0,i=!0,l=!1,re("preview",{type:"office",status:"imported",docType:"docx",warnings:L.warnings.length})}e.ui.render()}catch(ee){re("preview",{type:"office",status:"import-error",message:String(ee)})}})},typeof document<"u"&&t.bodyAppend?.(R)),R.click()},E=()=>{if(r)Promise.resolve().then(()=>(hr(),mr)).then(({docToDocx:x})=>{let I=x(n),z=t.downloadFile(v??"office-doc.docx",I.data,"application/vnd.openxmlformats-officedocument.wordprocessingml.document");re("preview",{type:"office",status:z?"exported":"export-error"})});else if(a){let x=a;Promise.resolve().then(()=>(fr(),dr)).then(({workbookToXlsx:I})=>{let z=I(x),V=t.downloadFile(v??"sheet.xlsx",z.data,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");re("preview",{type:"office",status:V?"exported":"export-error"})})}else if(s){let x=s;Promise.resolve().then(()=>(pr(),cr)).then(({deckToPptx:I})=>{let z=I(x),V=t.downloadFile(v??"deck.pptx",z.data,"application/vnd.openxmlformats-officedocument.presentationml.presentation");re("preview",{type:"office",status:V?"exported":"export-error"})})}},M=async()=>{let x=D?i?Dn(n):T:g;await t.copyText(x),re("preview",{type:C,status:"copied",chars:x.length})};return ue("div",{class:`wf-filepreview wf-filepreview--${C}`,onKeyDown:x=>{(x.ctrlKey||x.metaKey)&&x.key.toLowerCase()==="s"&&D&&b&&(x.preventDefault(),j())}},[P,D||C==="office"||C==="html"&&g?ue("div",{class:"wf-filepreview-actions"},[C==="office"&&b?ue("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"open","data-open":"true",onClick:()=>W()},r?"\u91CD\u65B0\u6253\u5F00":"\u6253\u5F00 docx"):null,C==="office"&&b&&(r||a||s)?ue("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",key:"dl","data-dl":"true",onClick:()=>E()},s?"\u4E0B\u8F7D pptx":a?"\u4E0B\u8F7D xlsx":"\u4E0B\u8F7D docx"):null,D&&b?ue("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"toggle",onClick:()=>{i=!i,re("preview",{type:C,status:i?"edit-start":"view"}),e.ui.render()}},i?"\u9884\u89C8":"\u7F16\u8F91"):null,ue("button",{class:"wf-btn wf-btn--ghost wf-btn--sm",type:"button",key:"copy","data-copy":"true",onClick:()=>{M()}},"\u590D\u5236"),...D&&b&&k&&(i||l)?[l?ue("span",{class:"wf-filepreview-dirty",key:"dirty"},"\u672A\u4FDD\u5B58"):null,ue("span",{class:"wf-filepreview-actions-hint",key:"hint"},"Ctrl+S \u4FDD\u5B58"),ue("button",{class:"wf-btn wf-btn--primary wf-btn--sm",type:"button",key:"save",onClick:()=>j()},"\u4FDD\u5B58")]:[]]):null])}};function Qs(o){return o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}import{h as mt}from"weifuwu/ui-dom";var Mc=async(o,e)=>async t=>{let{items:n,mode:r="left",reverse:a}=t,i=(a?[...n].reverse():n).map((l,c)=>{let{key:d,title:f,time:h,content:u,status:p="default",dot:m,onClick:g}=l,y=mt("div",{class:`wf-timeline-node wf-timeline-node--${p}`},m??null),v=mt("div",{class:"wf-timeline-head"},[mt("span",{class:"wf-timeline-title"},f),h?mt("span",{class:"wf-timeline-time"},h):null].filter(Boolean)),b=u!=null?mt("div",{class:"wf-timeline-content"},u):null,w=mt("div",{class:"wf-timeline-col"},[v,b].filter(Boolean));if(r==="horizontal")return mt("li",{key:d,class:`wf-timeline-item wf-timeline-item--h${g?" wf-timeline-item--clickable":""}`,role:g?"button":void 0,tabIndex:g?0:void 0,onClick:g,onKeyDown:g?S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),g())}:void 0},[y,w]);let k=r==="alternate"?c%2===0?" wf-timeline-item--alt-left":" wf-timeline-item--alt-right":"";return mt("li",{key:d,class:`wf-timeline-item${g?" wf-timeline-item--clickable":""}${k}`,role:g?"button":void 0,tabIndex:g?0:void 0,onClick:g,onKeyDown:g?S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),g())}:void 0},[y,w])});return mt("ul",{class:`wf-timeline${r==="horizontal"?" wf-timeline--h":""}`},i)};import{h as no}from"weifuwu/ui-dom";var Pc=async(o,e)=>async t=>{let{items:n,column:r=1,bordered:a,size:s="md",className:i}=t,l=n.map((c,d)=>no("div",{key:d,class:"wf-descriptions-item",style:c.span&&c.span>1?{gridColumn:`span ${c.span}`}:void 0},[no("dt",{class:"wf-descriptions-label"},c.label),no("dd",{class:"wf-descriptions-value"},c.value)]));return no("dl",{class:`wf-descriptions wf-descriptions--${r} wf-descriptions--${s}${a?" wf-descriptions--bordered":""}${i?` ${i}`:""}`},l)};import{h as oo}from"weifuwu/ui-dom";var Tc=async(o,e)=>async t=>{let{items:n,max:r,size:a,className:s}=t;if(!n||n.length===0)return null;let i=r&&n.length>r?n.slice(0,r):n,l=r?Math.max(0,n.length-r):0,c=i.map((f,h)=>oo("span",{key:h,class:"wf-avatar-group-item"},oo(To,{name:f.name,src:f.src,color:f.color,size:a}))),d=l>0?oo("span",{class:"wf-avatar-group-more",role:"img","aria-label":`\u8FD8\u6709 ${l} \u4EBA`},`+${l}`):null;return oo("div",{class:`wf-avatar-group${s?` ${s}`:""}`},[...c,d].filter(Boolean))};import{h as ro}from"weifuwu/ui-dom";var Ec=async(o,e)=>async t=>{let{content:n,role:r,status:a="complete",actions:s,className:i}=t,l=r==="user"?"wf-bubble--own":"wf-bubble--ai",c=a==="error"?" wf-bubble--error":a==="streaming"?" wf-bubble--streaming":"",d=s?ro("div",{class:"wf-bubble-body"},[ro("div",{class:"wf-bubble-text"},n),ro("div",{class:"wf-bubble-actions"},s)]):n;return ro("div",{class:`wf-bubble ${l}${c}${i?` ${i}`:""}`,role:a==="error"?"alert":void 0},d)};import{createClientBrowser as $c}from"weifuwu/ui-dom";import{h as Te}from"weifuwu/ui-dom";var Ac=async(o,e)=>{let t=e.browser??$c(),n=null,r=[],a=!1,s=null,i=null,l=e.ui.usePopup({trigger:"click",placement:"right",gap:6,el:()=>i,isOpen:()=>s!==null,setOpen:f=>{f||(s=null),e.ui.render()}}),c=f=>{f&&(n=f)},d=f=>{if(!["ArrowDown","ArrowUp","Home","End"].includes(f.key))return;let h=n?Array.from(n.querySelectorAll(".wf-menu-item, .wf-menu-submenu-title")):[],u=h.indexOf(t?.activeElement()??null);if(u<0)return;f.preventDefault();let p=u;f.key==="ArrowDown"?p=(u+1)%h.length:f.key==="ArrowUp"?p=(u-1+h.length)%h.length:f.key==="Home"?p=0:f.key==="End"&&(p=h.length-1),h[p].focus()};return async f=>{let{items:h,onSelect:u,activeKey:p,className:m,openKeys:g,onOpenChange:y,collapsible:v,collapsed:b,onCollapseChange:w}=f,k=g!==void 0,S=b!==void 0,$=new Set(k?g:r),C=S?!!b:a,D=x=>{k?y?.(x):(r=x,e.ui.render())},T=(x,I)=>{let z=I!=null?I?[...$,x]:[...$].filter(V=>V!==x):$.has(x)?[...$].filter(V=>V!==x):[...$,x];D([...new Set(z)])},A=()=>{let x=!C;S?w?.(x):(a=x,e.ui.render())},P=x=>{let I=$.has(x.key)&&!C,z=x.active??(p!=null&&x.key===p);if(C){let K=s===x.key,se=Te("div",{"data-key":x.key,class:`wf-menu-submenu-title wf-menu-submenu-title--collapsed${z?" wf-menu-submenu-title--active":""}`,role:"menuitem",tabIndex:z?0:-1,"aria-haspopup":"menu","aria-expanded":K?"true":"false",onClick:G=>{K?(s=null,e.ui.render()):(i=G.currentTarget,s=x.key,e.ui.render())},onKeyDown:G=>{G.key==="Enter"||G.key===" "||G.key==="ArrowRight"?(G.preventDefault(),K||(i=G.currentTarget,s=x.key,e.ui.render())):G.key==="Escape"&&(G.preventDefault(),s=null,e.ui.render())}},[x.icon?Te("span",{class:"wf-menu-icon"},x.icon):null].filter(Boolean)),de=l.portal(Te("div",{class:"wf-menu-popup"},(x.children??[]).map(G=>j(G,!0,!0))),"menu-popup");return Te("div",{key:x.key,"data-key":x.key,class:"wf-menu-submenu wf-menu-submenu--collapsed"},[se,K?de:null])}let V=[x.icon?Te("span",{class:"wf-menu-icon"},x.icon):null,C?null:Te("span",{class:"wf-menu-label"},x.label),C?null:Te("span",{class:"wf-menu-arrow"},Te(O,{name:"chevron-right",size:12}))].filter(Boolean),ee=Te("div",{"data-key":x.key,class:`wf-menu-submenu-title${z?" wf-menu-submenu-title--active":""}`,role:"menuitem",tabIndex:z?0:-1,"aria-expanded":I?"true":"false",onClick:()=>T(x.key),onKeyDown:K=>{K.key==="Enter"||K.key===" "||K.key==="ArrowRight"?(K.preventDefault(),I||T(x.key,!0)):(K.key==="ArrowLeft"||K.key==="Escape")&&I&&(K.preventDefault(),T(x.key,!1))}},V),L=Te("div",{class:"wf-menu-submenu-content",role:"group"},(x.children??[]).map(K=>j(K,!0)));return Te("div",{key:x.key,"data-key":x.key,class:`wf-menu-submenu${I?" wf-menu-submenu--open":""}`},[ee,L])},j=(x,I=!1,z=!1)=>{if(x.children&&x.children.length>0&&!C)return P(x);let V=x.active??(p!=null&&x.key===p);return Te("div",{key:x.key,"data-key":x.key,class:`wf-menu-item${V?" wf-menu-item--active":""}${x.danger?" wf-menu-item--danger":""}${I?" wf-menu-item--child":""}`,role:"menuitem",tabIndex:V?0:-1,"aria-current":V?"page":void 0,onClick:()=>{x.onClick?x.onClick():u?.(x.key)},onKeyDown:ee=>{if(ee.key==="Enter"||ee.key===" ")ee.preventDefault(),x.onClick?x.onClick():u?.(x.key);else if((ee.key==="ArrowLeft"||ee.key==="Escape")&&I){ee.preventDefault();let L=x._parentKey;L&&$.has(L)&&T(L,!1)}}},[x.icon?Te("span",{class:"wf-menu-icon"},x.icon):null,C&&!z?null:Te("span",{class:"wf-menu-label"},x.label)].filter(Boolean))},R=[],W;for(let x of h)if(x.group!==W&&(R.push(Te("div",{class:"wf-menu-group",key:`g-${x.group}`},x.group)),W=x.group),x.children&&x.children.length>0){let I=P(x);!C&&I.props.children[1]&&(I.props.children[1].props.children=I.props.children[1].props.children.map(z=>z?.props?{...z,props:{...z.props,_parentKey:x.key}}:z)),R.push(I)}else R.push(j(x));let E=["wf-menu",C?"wf-menu--collapsed":"",m??""].filter(Boolean).join(" "),M=[...R,v?Te("div",{class:"wf-menu-collapse-btn",role:"button",tabIndex:0,"aria-label":C?"\u5C55\u5F00\u83DC\u5355":"\u6298\u53E0\u83DC\u5355",onClick:A,onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),A())}},C?Te(O,{name:"chevron-right",size:14}):Te(O,{name:"chevron-left",size:14})):null].filter(Boolean);return Te("nav",{class:E,role:"menu",ref:c,onKeyDown:d},M)}};import{h as ht}from"weifuwu/ui-dom";var Dc=async(o,e)=>{let t=!1;return async n=>{let{value:r,onInput:a,onChange:s,label:i,name:l,placeholder:c,disabled:d,error:f,hint:h,required:u,autoComplete:p,className:m}=n,g=()=>{d||(t=!t,e.ui.render())},y=i?ht("label",{class:"wf-input-label"},[i,u?ht("span",{class:"wf-input-req"},"*"):null].filter(Boolean)):null,v=ht("input",{class:"wf-input",type:t?"text":"password",value:r,name:l,placeholder:c,disabled:d,autoComplete:p,onInput:a,onChange:s}),b=ht("button",{class:"wf-password-eye",type:"button","aria-label":t?"\u9690\u85CF\u5BC6\u7801":"\u663E\u793A\u5BC6\u7801",tabIndex:-1,onClick:g},ht(O,{name:t?"eye-off":"eye",size:16})),w=ht("div",{class:"wf-input-wrap wf-password"},[v,b]),k=[];return y&&k.push(y),k.push(w),f&&k.push(ht("div",{class:"wf-input-err"},f)),h&&!f&&k.push(ht("div",{class:"wf-input-hint"},h)),ht("div",{class:`wf-field${m?` ${m}`:""}`},k)}};import{h as it}from"weifuwu/ui-dom";var Ic=async(o,e)=>{let t=!1;return async n=>{let{placeholder:r,maxTags:a,allowDuplicates:s,disabled:i,label:l,error:c,hint:d,className:f}=n,h=e?.ui?.useControlled({value:n.value,onChange:n.onChange,name:"TagsInput"}),u=h?.value??[],p=$=>{let C=h?.controlled;h?.setValue($),C||n.onChange?.($)},m=$=>{if(i)return;let C=$.trim().replace(/,$/,"");C&&(a!=null&&u.length>=a||!s&&u.includes(C)||p([...u,C]))},g=$=>{i||p(u.filter(C=>C!==$))},y=$=>{let C=$.target;if($.key==="Enter"||$.key===","){if($.preventDefault(),t)return;m(C.value),C.value=""}else $.key==="Backspace"&&!C.value&&u.length>0&&g(u[u.length-1])},v=l?it("label",{class:"wf-input-label"},l):null,b=u.map($=>it("span",{key:$,class:"wf-tags-tag"},[it("span",{class:"wf-tags-text"},$),it("button",{class:"wf-tags-remove",type:"button","aria-label":`\u79FB\u9664 ${$}`,onClick:()=>g($)},it(O,{name:"close",size:12}))])),w=it("input",{class:"wf-tags-input",type:"text",placeholder:u.length===0?r:void 0,disabled:i,onKeyDown:y,onCompositionStart:()=>{t=!0},onCompositionEnd:()=>{t=!1}}),k=it("div",{class:`wf-tags${i?" wf-tags--disabled":""}${c?" wf-tags--err":""}${f?` ${f}`:""}`},[...b,w]),S=[];return v&&S.push(v),S.push(k),c&&S.push(it("div",{class:"wf-input-err"},c)),d&&!c&&S.push(it("div",{class:"wf-input-hint"},d)),it("div",{class:"wf-field"},S)}};import{h as gr}from"weifuwu/ui-dom";var Lc=async(o,e)=>async t=>{let{text:n,query:r,className:a}=t,s=(Array.isArray(r)?r:r?[r]:[]).filter(Boolean).map(d=>d.toLowerCase());if(s.length===0)return gr("span",{class:`wf-highlight${a?` ${a}`:""}`},n);let i=[],l=0,c=n.toLowerCase();for(;l<n.length;){let d=null;for(let f of s){let h=c.indexOf(f,l);h>=0&&(!d||h<d.start)&&(d={start:h,end:h+f.length})}if(!d){i.push(n.slice(l));break}d.start>l&&i.push(n.slice(l,d.start)),i.push(gr("mark",{class:"wf-highlight-mark"},n.slice(d.start,d.end))),l=d.end}return gr("span",{class:`wf-highlight${a?` ${a}`:""}`},i)};import{h as Bt}from"weifuwu/ui-dom";var Oc=async(o,e)=>async t=>{let{items:n,renderItem:r,divided:a,header:s,footer:i,emptyText:l="\u6682\u65E0\u6570\u636E",emptyIcon:c,className:d,keyBy:f}=t,h=n.length===0?Bt("div",{class:"wf-list-empty"},[c??null,Bt("span",{},l)].filter(Boolean)):n.map((u,p)=>Bt("li",{key:f?f(u,p):p,class:"wf-list-item"},r(u,p)));return Bt("div",{class:`wf-list${a?" wf-list--divided":""}${d?` ${d}`:""}`},[s?Bt("div",{class:"wf-list-header"},s):null,Bt("ul",{class:"wf-list-body"},h),i?Bt("div",{class:"wf-list-footer"},i):null].filter(Boolean))};import{h as nn}from"weifuwu/ui-dom";var Rc={success:"check",error:"close",warning:"alert",info:"info"},Nc=async(o,e)=>async t=>{let{status:n="info",title:r,desc:a,extra:s,className:i}=t;return nn("div",{class:`wf-result wf-result--${n}${i?` ${i}`:""}`},[nn("div",{class:"wf-result-icon","aria-hidden":"true"},nn(O,{name:Rc[n],size:40})),nn("div",{class:"wf-result-title"},r),a?nn("div",{class:"wf-result-desc"},a):null,s?nn("div",{class:"wf-result-extra"},s):null].filter(Boolean))};import{h as Ht}from"weifuwu/ui-dom";var Bc=async(o,e)=>{let t=-1,n=r=>{t!==r&&(t=r,e.ui.render())};return async r=>{let{count:a=5,size:s="md",readOnly:i,disabled:l,allowClear:c,allowHalf:d,"aria-label":f}=r,h=i||l,u=e?.ui?.useControlled({value:r.value,onChange:r.onChange,name:h?void 0:"Rate"}),p=u?.value??0,m=k=>{let S=u?.controlled;u?.setValue(k),S||r.onChange?.(k)},g=!i&&!l,y=t>=0?t+1:p,v=d?.5:1,b=k=>{if(!g)return;let S=k.key;S==="ArrowRight"?(k.preventDefault(),m(Math.min(p+v,a))):S==="ArrowLeft"?(k.preventDefault(),m(Math.max(p-v,0))):S==="Home"?(k.preventDefault(),m(v)):S==="End"&&(k.preventDefault(),m(a))},w=[];for(let k=0;k<a;k++){let S=k<Math.floor(y),$=d&&k===Math.floor(y)&&y%1>=.5,D={class:`wf-rate-star${S?" wf-rate-star--on":""}${$?" wf-rate-star--half":""}`,"aria-label":`${k+1} \u661F`,key:k};g&&(D.type="button",D.onClick=P=>{if(d){let R=P.currentTarget.getBoundingClientRect(),W=P.clientX-R.left<R.width/2;m(W?k+.5:k+1)}else c&&p===k+1?m(0):m(k+1)},D.onMouseEnter=d?P=>{let R=P.currentTarget.getBoundingClientRect();n(P.clientX-R.left<R.width/2?k+.5-1:k)}:()=>n(k),D.onMouseMove=d?P=>{let R=P.currentTarget.getBoundingClientRect();n(P.clientX-R.left<R.width/2?k+.5-1:k)}:void 0,D.onMouseLeave=()=>n(-1),D.onFocus=()=>n(k),D.onBlur=()=>n(-1));let T=Ht(O,{name:"star",className:"wf-rate-star-icon"}),A=$?Ht("span",{class:"wf-rate-star-half"},[Ht("span",{class:"wf-rate-star-half-bg"},T),Ht("span",{class:"wf-rate-star-half-fg"},Ht(O,{name:"star",className:"wf-rate-star-icon"}))]):T;w.push(Ht(g?"button":"span",D,A))}return Ht("div",{class:`wf-rate wf-rate--${s}${l?" wf-rate--disabled":""}`,role:g?"radiogroup":void 0,"aria-label":f??"\u8BC4\u5206",onKeyDown:g?b:void 0},w)}};import{h as yr}from"weifuwu/ui-dom";var Hc=async o=>async e=>{let{level:t=1,children:n,className:r,style:a,...s}=e;return yr(`h${t}`,{class:["wf-title",`wf-title--${t}`,r].filter(Boolean).join(" "),style:a,...s},n)},zc=async o=>async e=>{let{type:t,strong:n,underline:r,strikethrough:a,mark:s,code:i,size:l,children:c,className:d,...f}=e,h=["wf-text"];return t&&h.push(`wf-text--${t}`),n&&h.push("wf-text--strong"),r&&h.push("wf-text--underline"),a&&h.push("wf-text--strike"),s&&h.push("wf-text--mark"),i&&h.push("wf-text--code"),l&&l!=="md"&&h.push(`wf-text--${l}`),d&&h.push(d),yr("span",{class:h.join(" "),...f},c)},_c=async o=>async e=>{let{type:t,ellipsis:n,children:r,className:a,...s}=e,i=["wf-paragraph"];return t&&i.push(`wf-text--${t}`),n&&i.push("wf-paragraph--ellipsis"),a&&i.push(a),yr("p",{class:i.join(" "),...s},r)};import{h as ei}from"weifuwu/ui-dom";var Kc=async o=>async e=>{let{htmlFor:t,required:n,children:r,className:a,...s}=e,i=n?[r,ei("span",{class:"wf-label-req"},"*")]:r;return ei("label",{class:["wf-label",a].filter(Boolean).join(" "),htmlFor:t||void 0,...s},i)};import{h as jc}from"weifuwu/ui-dom";var Vc=async o=>async e=>{let{ratio:t,children:n,className:r,...a}=e;return jc("div",{class:["wf-aspect-ratio",r].filter(Boolean).join(" "),style:{"--wf-aspect-ratio":t===void 0?"16 / 9":String(t)},...a},n)};import{h as br}from"weifuwu/ui-dom";var ti=async o=>async e=>{let{pressed:t,onPressedChange:n,variant:r="default",size:a="md",disabled:s,"aria-label":i,children:l,className:c,...d}=e;return br("button",{type:"button",class:["wf-toggle",`wf-toggle--${r}`,`wf-toggle--${a}`,t?"wf-toggle--pressed":"",c].filter(Boolean).join(" "),"aria-pressed":t?"true":"false","aria-label":i||void 0,disabled:s||void 0,onClick:s?void 0:()=>n?.(!t),...d},l)},Wc=async(o,e)=>async t=>{let{type:n="single",options:r=[],size:a="md",disabled:s,"aria-label":i,className:l}=t,c=e?.ui?.useControlled({value:t.value,onChange:t.onChange,name:"ToggleGroup"}),d=c?.value,f=m=>n==="multiple"?Array.isArray(d)&&d.includes(m):d===m,h=m=>{let g;if(n==="multiple"){let v=Array.isArray(d)?[...d]:[],b=v.indexOf(m);b>=0?v.splice(b,1):v.push(m),g=v}else g=m;let y=c?.controlled;c?.setValue(g),y||t.onChange?.(g)},u=m=>{if(s||n!=="single")return;let g=r.findIndex(b=>b.value===d);if(g<0)return;let y=g;if(m.key==="ArrowRight")m.preventDefault(),y=Math.min(g+1,r.length-1);else if(m.key==="ArrowLeft")m.preventDefault(),y=Math.max(g-1,0);else return;let v=r[y];v&&!v.disabled&&h(v.value)},p=r.map(m=>br(ti,{key:m.value,pressed:f(m.value),size:a,disabled:s||m.disabled,"aria-label":m.value,onClick:s||m.disabled?void 0:()=>h(m.value)},m.label??m.value));return br("div",{class:["wf-toggle-group",`wf-toggle-group--${a}`,l].filter(Boolean).join(" "),role:n==="single"?"radiogroup":"group","aria-label":i||void 0,onKeyDown:u},p)};import{h as wr}from"weifuwu/ui-dom";var Uc=async(o,e)=>async t=>{let{options:n=[],columns:r,size:a="md",disabled:s,label:i,"aria-label":l,className:c}=t,d=e?.ui?.useControlled({value:t.value,onChange:t.onChange,name:"CheckboxGroup"}),f=d?.value??[],h=(g,y)=>{let v=y?[...new Set([...f,g])]:f.filter(w=>w!==g),b=d?.controlled;d?.setValue(v),b||t.onChange?.(v)},u=n.map(g=>wr(wo,{key:g.value,label:g.desc?`${g.label}\uFF08${g.desc}\uFF09`:g.label,checked:f.includes(g.value),disabled:s||g.disabled,onChange:y=>h(g.value,y)})),p=[];i&&p.push(wr("div",{class:"wf-checkbox-group-label"},i)),p.push(...u);let m=["wf-checkbox-group",`wf-checkbox-group--${a}`];return r&&m.push(`wf-checkbox-group--cols-${r}`),c&&m.push(c),wr("div",{class:m.join(" "),role:"group","aria-label":l||i||void 0},p)};import{h as ni}from"weifuwu/ui-dom";var Fc=async(o,e)=>{let t=[],n=s=>{let i=t[s];i&&(i.focus(),i.select())},r=new Map,a=s=>{let i=r.get(s);return i||(i=l=>{l&&(t[s]=l)},r.set(s,i)),i};return async s=>{let{length:i=6,value:l="",onChange:c,type:d="number",size:f="md",disabled:h,"aria-label":u}=s,p=d==="number",m=(b,w)=>{if(h||!c)return;let k=w.slice(-1);if(p&&!/^\d$/.test(k))return;let S=l.split("");for(;S.length<i;)S.push("");S[b]=k,c(S.join("").slice(0,i)),b+1<i&&n(b+1)},g=(b,w)=>{if(h)return;let k=w.key;if(k==="Backspace")if(w.preventDefault(),l[b]){let S=l.split("");S[b]="",c?.(S.join(""))}else b>0&&n(b-1);else k==="ArrowLeft"?(w.preventDefault(),b>0&&n(b-1)):k==="ArrowRight"?(w.preventDefault(),b+1<i&&n(b+1)):k==="Home"?(w.preventDefault(),n(0)):k==="End"&&(w.preventDefault(),n(i-1))},y=b=>{if(h||!c)return;let w=b.clipboardData?.getData("text")??"";if(b.preventDefault(),!w)return;let k=w.slice(0,i);p&&(k=k.replace(/\D/g,"").slice(0,i)),k&&(c(k),n(Math.min(k.length,i-1)))},v=[];for(let b=0;b<i;b++)v.push(ni("input",{key:b,type:"text",class:"wf-pin-input-cell",value:l[b]??"",maxLength:1,inputMode:p?"numeric":void 0,pattern:p?"[0-9]":void 0,"aria-label":`${u??"\u9A8C\u8BC1\u7801"}\u7B2C ${b+1} \u4F4D`,disabled:h||void 0,ref:a(b),onInput:w=>m(b,w.target.value),onKeyDown:w=>g(b,w),onPaste:y}));return ni("div",{class:["wf-pin-input",`wf-pin-input--${f}`].join(" "),role:"group","aria-label":u},v)}};import{h as In}from"weifuwu/ui-dom";var Gc=async(o,e)=>{let t=!1,n;return async r=>{let{value:a,label:s,size:i="md",variant:l="secondary",iconOnly:c,successText:d="\u5DF2\u590D\u5236",onCopied:f,className:h,...u}=r,p=async()=>{await e.browser?.copyText(a),t=!0,f?.(),e.ui.render(),clearTimeout(n),n=setTimeout(()=>{t=!1,e.ui.render()},2e3)},m=[];return t?(m.push(In(O,{name:"check",size:14})),c||m.push(In("span",{class:"wf-copy-btn-text"},d))):(m.push(In(O,{name:"copy",size:14})),!c&&s&&m.push(In("span",{class:"wf-copy-btn-text"},s))),In("button",{type:"button",class:["wf-copy-btn",`wf-copy-btn--${i}`,`wf-copy-btn--${l}`,t?"wf-copy-btn--copied":"",h].filter(Boolean).join(" "),"aria-label":s||"\u590D\u5236",onClick:p,...u},m)}};import{h as gt}from"weifuwu/ui-dom";var qc=["#4f6ef7","#8b5cf6","#ec4899","#ef4444","#f59e0b","#22c55e","#14b8a6","#06b6d4","#64748b","#1e293b"],Xc=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,Yc=async(o,e)=>{let t=!1;return async n=>{let{colors:r=qc,size:a="md",disabled:s,showInput:i,"aria-label":l}=n,c=e?.ui?.useControlled({value:n.value,onChange:n.onChange,name:"ColorPicker"}),d=g=>{let y=c?.controlled;c?.setValue(g),y||n.onChange?.(g)},f=c?.value??"",h=r.map(g=>{let y=g.toLowerCase()===f.toLowerCase();return gt("button",{type:"button",class:`wf-color-picker-swatch${y?" wf-color-picker-swatch--sel":""}`,style:{background:g},"aria-label":g,"aria-pressed":y?"true":"false",onClick:()=>d(g)},y?gt(O,{name:"check",size:14,className:"wf-color-picker-check"}):null)}),u=[gt("div",{class:"wf-color-picker-grid"},h)];i&&u.push(gt("input",{class:"wf-color-picker-input",type:"text",value:f,placeholder:"#4f6ef7",spellcheck:"false",onInput:g=>{let y=g.target.value.trim();Xc.test(y)&&d(y)}}));let p=gt("div",{class:"wf-color-picker-panel"},u),m=gt("button",{type:"button",class:`wf-color-picker-trigger wf-color-picker-trigger--${a}${s?" wf-color-picker-trigger--disabled":""}`,disabled:s,"aria-label":l??"\u9009\u62E9\u989C\u8272","aria-disabled":s?"true":void 0,"aria-haspopup":"dialog","aria-expanded":t?"true":"false"},[gt("span",{class:"wf-color-picker-swatch",style:{background:f||"#fff"}}),gt("span",{class:"wf-color-picker-value"},f||"\u989C\u8272")]);return gt(bn,{content:p,position:"bottom",disabled:s,open:t,onOpenChange:g=>{t=g,e.ui.render()}},m)}};import{h as so}from"weifuwu/ui-dom";var Jc=async(o,e)=>{let t=null,n={},r=e.ui.useInView({root:()=>n.target?n.target():null,rootMargin:()=>`${n.visibilityHeight??400}px 0px 0px 0px`}),a=s=>{s?(t=s,r.observe(s)):(t=null,r.disconnect())};return async s=>{Object.assign(n,s);let{visibilityHeight:i=400,smooth:l=!0,"aria-label":c,children:d,className:f}=s,h=r.ready&&!r.isIn;return so("div",{class:"wf-backtop-host"},[so("div",{class:"wf-backtop-sentinel",style:{position:"absolute",top:0,left:0,width:"1px",height:"1px",opacity:0,pointerEvents:"none"},ref:a}),so("button",{type:"button",class:["wf-backtop",h?"":"wf-backtop--hidden",f].filter(Boolean).join(" "),"aria-label":c??"\u56DE\u5230\u9876\u90E8",onClick:()=>{let u=n.target?n.target():window;l&&"scrollTo"in u?u.scrollTo({top:0,behavior:"smooth"}):"scrollTo"in u?u.scrollTo({top:0,behavior:"smooth"}):u.scrollTop=0}},d??so(O,{name:"arrow-up",size:16}))])}};import{h as vr}from"weifuwu/ui-dom";var Zc=async(o,e)=>{let t=null,n=0,r=1/0,a,s={...o},i=()=>s.target?s.target():window,l=e.ui.useScrollPosition({getScroller:i}),c=e.ui.usePopupPosition({el:()=>t,isOpen:()=>!0,compute:f=>{let h=i(),u=h instanceof Window?e.browser?.scrollTop()??0:h.scrollTop??0;return r=f.top+u-(s.offsetTop??0),n=f.width,{top:0,left:0}}}),d=f=>{f?(t=f,queueMicrotask(()=>{c.refresh(),l.refresh()})):t=null};return async f=>{Object.assign(s,f);let{offsetTop:h=0,children:u,className:p,...m}=f;h!==a&&(a=h,t&&c.refresh());let g=l.y>=r;return vr("div",{class:["wf-affix",p].filter(Boolean).join(" "),...m},[vr("div",{ref:d,class:["wf-affix-sentinel",g?"wf-affix-sentinel--active":""].join(" ")}),vr("div",{class:["wf-affix-content",g?"wf-affix-content--fixed":""].filter(Boolean).join(" "),style:g?{position:"fixed",top:`${h}px`,width:`${n}px`}:void 0},u)])}};import{h as oi}from"weifuwu/ui-dom";var Qc=async(o,e)=>{let t="top",n=!1,r={open:150,close:0},a=null,s=c=>{c&&(a=c)},i=null,l=e.ui.usePopup({trigger:"hover",placement:()=>t,gap:8,el:()=>a,isOpen:()=>i?.open??!1,setOpen:c=>i?.setOpen(c),disabled:()=>n,openDelay:()=>r.open,closeDelay:()=>r.close});return async c=>{let{content:d,position:f="top",children:h}=c;i=e.ui.useOpen({name:"HoverCard"}),t=f,n=!!c.disabled,r={open:c.openDelay??150,close:c.closeDelay??0};let u=oi("div",{class:`wf-hover-card wf-hover-card--${f}`,role:"tooltip"},d);return oi("div",{class:"wf-hover-card-wrap",ref:s,"aria-haspopup":"dialog","aria-expanded":String(!!i?.open),...l.wrapProps},[h,l.portal(u,"popover")].filter(Boolean))}};import{createClientBrowser as ep}from"weifuwu/ui-dom";import{h as at}from"weifuwu/ui-dom";var Fg=ep();function tp(o){return{"top-right":"wf-notification--tr","top-left":"wf-notification--tl","bottom-right":"wf-notification--br","bottom-left":"wf-notification--bl"}[o]??"wf-notification--tr"}function np(o){switch(o){case"success":return"check";case"error":return"close";case"warning":return"alert";case"info":return"info"}}var op=async(o,e)=>{let t=e.ui.usePopup?.({positioning:"none",closeOnOutside:!1,closeOnEscape:!1,isOpen:()=>!0,setOpen:()=>{}});return async n=>{let{items:r=[],onRemove:a,position:s="top-right",duration:i=4500,max:l=0}=n,c=l>0&&r.length>l?r.slice(-l):r;if(c.length===0)return null;let d=c.map(f=>at("div",{class:`wf-notification wf-notification--${f.type}`,key:f.id,role:f.type==="error"?"alert":"status","aria-live":f.type==="error"?"assertive":"polite","data-id":f.id,"data-duration":(f.duration??i)||void 0},[at("span",{class:"wf-notification-icon"},at(O,{name:np(f.type)})),at("div",{class:"wf-notification-body"},[at("div",{class:"wf-notification-title"},f.title),f.description?at("div",{class:"wf-notification-desc"},f.description):null,f.action?at("button",{class:"wf-notification-action",type:"button",onClick:h=>{h.stopPropagation(),f.action.onClick()}},f.action.label):null].filter(Boolean)),at("button",{type:"button",class:"wf-notification-close","aria-label":"\u5173\u95ED\u901A\u77E5",onClick:()=>a?.(f.id)},at(O,{name:"close",size:12}))].filter(Boolean)));return t.portal(at("div",{class:`wf-notification-container ${tp(s)}`,"data-max":l||void 0},d),"notification")}};import{h as io}from"weifuwu/ui-dom";var rp=async(o,e)=>{let t=!1,n=0,r=null,a=[],s=0,i=0,l=e.ui.usePopup({trigger:"longpress",el:()=>r,isOpen:()=>t,setOpen:h=>{t=h,e.ui.render()},position:()=>({x:s,y:i}),closeOnOutside:!0,closeOnEscape:!0,onTrigger:h=>{s=h.clientX,i=h.clientY,n=a.findIndex(u=>!u.disabled)}}),c=()=>l.setOpen(!1),d=h=>{r=h},f=h=>{if(h.key==="ArrowDown"){h.preventDefault();for(let u=1;u<=a.length;u++){let p=(n+u)%a.length;if(!a[p].disabled){n=p,e.ui.render();break}}}else if(h.key==="ArrowUp"){h.preventDefault();for(let u=1;u<=a.length;u++){let p=(n-u+a.length)%a.length;if(!a[p].disabled){n=p,e.ui.render();break}}}else if(h.key==="Enter"){h.preventDefault();let u=a[n];u&&!u.disabled&&(u.onClick?.(),c())}else h.key==="Escape"&&c()};return async h=>{let{items:u=[],children:p,"aria-label":m,className:g}=h;a=u;let y=a.map((b,w)=>io("button",{type:"button",class:["wf-context-menu-item",b.variant==="danger"?"wf-context-menu-item--danger":"",b.disabled?"wf-context-menu-item--dis":"",n===w?"wf-context-menu-item--hl":""].filter(Boolean).join(" "),key:b.key,role:"menuitem",disabled:b.disabled||void 0,onClick:b.disabled?void 0:()=>{b.onClick?.(),c()},onMouseEnter:()=>{b.disabled||(n=w)}},b.icon?[b.icon,io("span",{},b.label)]:b.label)),v=io("div",{class:"wf-context-menu",role:"menu","aria-label":m,onKeyDown:f},y);return io("div",{class:["wf-context-menu-trigger",g].filter(Boolean).join(" "),ref:d,...l.wrapProps},[p,l.portal(v,"context-menu")].filter(Boolean))}};import{h as ao}from"weifuwu/ui-dom";var sp=async(o,e)=>{let t=!1,n="",r=-1,a=0,s=!1,i=null,l=h=>{i=h},c=null,d=e.ui.usePopup({trigger:"click",placement:"bottom",center:!1,gap:4,el:()=>i,isOpen:()=>t,setOpen:h=>{h||f()}}),f=()=>{t&&(t=!1,e.ui.render())};return async h=>{let{options:u=[],prefix:p="@",placeholder:m,rows:g=3,disabled:y,size:v="md"}=h;c=e.ui.useControlledInput({value:h.value,onChange:h.onChange,name:"Mentions"});let b=c.value??"",w=(A,P)=>{if(s){f();return}let j=A.slice(0,P),R=j.lastIndexOf(p);if(R===-1){f();return}let W=j.slice(R+1);if(W.includes(" ")){f();return}if(W.length>0&&W.includes(`
49
- `)){f();return}n=W,r=R,a=0,t=!0,e.ui.render()},k=n?u.filter(A=>A.value.toLowerCase().includes(n.toLowerCase())):u,S=A=>{let P=b.slice(0,r),j=b.slice(r+1+n.length),R=`${P}${p}${A.value} ${j}`;t=!1;let W=c?.controlled;c?.setValue(R),W||h.onChange?.(R)},$=A=>{let P=A.target.value;c?.setValue(P),w(P,A.target.selectionStart??P.length)},C=A=>{if(t)if(A.key==="ArrowDown")A.preventDefault(),a=Math.min(a+1,Math.max(k.length-1,0)),e.ui.render();else if(A.key==="ArrowUp")A.preventDefault(),a=Math.max(a-1,0),e.ui.render();else if(A.key==="Enter"){A.preventDefault();let P=k[a];P&&S(P)}else A.key==="Escape"&&f()},D=t&&k.length>0?d.portal(ao("div",{class:"wf-mentions-panel",role:"listbox"},k.map((A,P)=>ao("button",{type:"button",class:`wf-mentions-option${a===P?" wf-mentions-option--hl":""}`,key:A.value,role:"option",onClick:()=>S(A),onMouseEnter:()=>{a=P}},A.label??A.value))),"popover"):null,T=ao("textarea",{class:`wf-mentions-input wf-mentions-input--${v}`,rows:g,placeholder:m,value:b,disabled:y||void 0,ref:l,"aria-haspopup":"listbox","aria-expanded":String(t),onInput:$,onKeyDown:C,onCompositionStart:()=>{s=!0,f()},onCompositionEnd:()=>{s=!1}});return ao("div",{class:"wf-mentions"},[T,D].filter(Boolean))}};import{createClientBrowser as ip}from"weifuwu/ui-dom";import{h as lt}from"weifuwu/ui-dom";var ap=async(o,e)=>{let t=e.browser??ip(),n=[],r=new Map,a=s=>{let i=r.get(s);return i||(i=l=>{l&&(n[s]=l)},r.set(s,i)),i};return async s=>{let{items:i=[],multiple:l=!0,className:c}=s,d=e.ui.useControlled({value:s.active,onChange:s.onChange,name:"Collapse"}),f=d.value??[],h=g=>f.includes(g),u=g=>{d.controlled&&!s.onChange||(h(g)?d.setValue(f.filter(y=>y!==g)):d.setValue(l?[...f,g]:[g]))},p=g=>{let y=t?.activeElement()??null,v=n.indexOf(y);if(v<0)return;let b=v;if(g.key==="ArrowDown"||g.key==="ArrowRight")b=(v+1)%i.length;else if(g.key==="ArrowUp"||g.key==="ArrowLeft")b=(v-1+i.length)%i.length;else return;g.preventDefault(),n[b]?.focus()},m=i.map((g,y)=>{let v=h(g.key),b=[lt("span",{class:`wf-collapse-chevron${v?" wf-collapse-chevron--open":""}`},lt(O,{name:"chevron-down",size:14})),g.icon,lt("span",{class:"wf-collapse-title"},g.title)];g.extra&&b.push(lt("span",{class:"wf-collapse-extra"},g.extra));let w=v?lt("div",{class:"wf-collapse-content"},g.loading?lt("div",{class:"wf-collapse-loading"},lt(O,{name:"retry",size:14})):g.content??null):null;return lt("div",{class:`wf-collapse-item${v?" wf-collapse-item--open":""}`,key:g.key},[lt("button",{type:"button",class:"wf-collapse-header",ref:a(y),"aria-expanded":v?"true":"false",onClick:()=>u(g.key)},b),w].filter(Boolean))});return lt("div",{class:["wf-collapse",c].filter(Boolean).join(" "),onKeyDown:p},m)}};import{createClientBrowser as lp}from"weifuwu/ui-dom";import{h as tt}from"weifuwu/ui-dom";function ri(o){return[o.key,...(o.children??[]).flatMap(ri)]}function si(o,e){let t=[];for(let n of o){let r=n.label.toLowerCase().includes(e),a=n.children?si(n.children,e):[];(r||a.length)&&t.push({...n,children:a.length?a:n.children})}return t}function ii(o){let e=[];for(let t of o)t.children?.length&&(e.push(t.key),e.push(...ii(t.children)));return e}function cp(o,e){if(!e)return o;let n=o.toLowerCase().indexOf(e);return n<0?o:[o.slice(0,n),tt("mark",{class:"wf-tree-match"},o.slice(n,n+e.length)),o.slice(n+e.length)]}function ai(o,e,t=null){for(let n of o)e.set(n.key,t),n.children&&ai(n.children,e,n)}var xr=async(o,e)=>{let t=e.browser??lp(),n=[],r=[],a=[];return async s=>{let{data:i=[],expandedKeys:l,onExpand:c,expandOnClick:d,checkable:f,className:h,searchValue:u}=s,p=(u??"").trim().toLowerCase(),m=p?si(i,p):i,g=p?new Set(ii(m)):null,y=e?.ui?.useControlled({value:s.selectedKeys,onChange:s.onSelect,name:"Tree"}),v=e?.ui?.useControlled({value:s.checkedKeys,onChange:s.onCheck,name:"Tree"}),b=new Map;ai(i,b);let w=l!==void 0,k=w?l:n,S=M=>g?g.has(M):k.includes(M),$=M=>{if(w&&!c){console.warn(`[weifuwu/Tree] \u53D7\u63A7\u6A21\u5F0F\uFF08expandedKeys \u5DF2\u4F20\uFF09\u4F46\u672A\u63D0\u4F9B onExpand\uFF0C\u5C55\u5F00/\u6298\u53E0\u65E0\u6CD5\u751F\u6548\u3002
50
- \u975E\u53D7\u63A7\uFF1A\u53BB\u6389 expandedKeys\uFF1B\u53D7\u63A7\uFF1A\u4F20\u5165 onExpand={(keys) => setExpanded(keys)}`);return}let x=S(M)?k.filter(I=>I!==M):[...k,M];w?c?.(x):(n=x,e.ui.render())},C=M=>{let I=(y?.value??[]).includes(M)?[]:[M],z=y?.controlled;y?.setValue(I),z||s.onSelect?.(I)},D=M=>{let x=new Set(v?.value??[]),I=ri(M);if(x.has(M.key)){for(let V of I)x.delete(V);let z=b.get(M.key);for(;z;)(z.children??[]).some(L=>x.has(L.key))||x.delete(z.key),z=b.get(z.key)}else{for(let V of I)x.add(V);let z=b.get(M.key);for(;z;)(z.children??[]).some(ee=>x.has(ee.key))&&x.add(z.key),z=b.get(z.key)}v?.setValue(Array.from(x))},T=M=>{let x=M.children??[],I=v?.value??[];if(!x.length)return I.includes(M.key)?"checked":"unchecked";let z=x.map(T);return z.every(V=>V==="checked")?"checked":z.some(V=>V!=="unchecked")?"half":"unchecked"},A=M=>T(M)==="half",P=[],j=(M,x)=>{P.push(M);let I=P.length-1;a[I]||(a[I]=G=>{r[I]=G});let z=!!M.children?.length,V=S(M.key),ee=(y?.value??[]).includes(M.key),L=T(M)==="checked",K=z?tt("button",{type:"button",class:`wf-tree-switcher${V?" wf-tree-switcher--open":""}`,"aria-label":V?"\u6298\u53E0":"\u5C55\u5F00",onClick:G=>{G.stopPropagation(),$(M.key)}},tt(O,{name:"chevron-down",size:12})):tt("span",{class:"wf-tree-switcher-placeholder"}),se=f?tt("button",{type:"button",class:["wf-tree-checkbox",L?"wf-tree-checkbox--checked":"",A(M)?"wf-tree-checkbox--half":""].filter(Boolean).join(" "),role:"checkbox","aria-checked":A(M)?"mixed":L?"true":"false",onClick:G=>{G.stopPropagation(),D(M)}}):null,de=[K,se,M.icon,tt("span",{class:"wf-tree-label"},cp(M.label,p))].filter(Boolean);return tt("div",{class:"wf-tree-node",key:M.key},[tt("div",{class:["wf-tree-row",ee?"wf-tree-row--selected":"",M.disabled?"wf-tree-row--disabled":""].filter(Boolean).join(" "),style:{paddingLeft:`${x*20}px`},ref:a[I],tabIndex:M.disabled?void 0:0,"aria-selected":ee?"true":"false",onClick:M.disabled?void 0:()=>{z&&d?$(M.key):C(M.key)},onKeyDown:M.disabled?void 0:G=>{G.key==="Enter"?(G.preventDefault(),C(M.key)):G.key===" "&&f?(G.preventDefault(),D(M)):G.key==="ArrowRight"&&z?(G.preventDefault(),V||$(M.key)):G.key==="ArrowLeft"&&z&&(G.preventDefault(),V&&$(M.key))}},de),V&&z?tt("div",{class:"wf-tree-children"},M.children.map(G=>j(G,x+1))):null].filter(Boolean))},R=m.length===0?tt("div",{class:"wf-tree-empty"},p?"\u65E0\u5339\u914D\u8282\u70B9":"\u6682\u65E0\u6570\u636E"):null,W=M=>{if(M.key!=="ArrowDown"&&M.key!=="ArrowUp")return;let x=t?.activeElement()??null,I=r.indexOf(x);if(I<0)return;M.preventDefault();let z=M.key==="ArrowDown"?Math.min(I+1,r.length-1):Math.max(I-1,0);r[z]?.focus()};P=[];let E=m.map(M=>j(M,0));return tt("div",{class:["wf-tree",h].filter(Boolean).join(" "),role:"tree",onKeyDown:W},[R,...E].filter(Boolean))}};import{h as De}from"weifuwu/ui-dom";function pp(o,e,t=" / "){let n=o,r=[];for(let a of e){let s=n?.find(i=>i.value===a);if(!s)break;r.push(s.label),n=s.children}return r.join(t)}function li(o,e=[],t=[]){let n=[];for(let r of o){let a=[...e,r.value],s=[...t,r.label];r.children?.length?n.push(...li(r.children,a,s)):n.push({path:a,labels:s})}return n}var up=async(o,e)=>{let t=!1,n=[],r="",a=null,s=d=>{a=d},i={col:0,idx:0},l=0,c=e.ui.usePopup({trigger:"click",placement:"bottom",center:!1,gap:6,el:()=>a,isOpen:()=>t,setOpen:d=>{t=d,e.ui.render()}});return async d=>{let{options:f=[],value:h,onChange:u,placeholder:p="\u8BF7\u9009\u62E9",disabled:m,error:g,label:y,showSearch:v,searchPlaceholder:b="\u641C\u7D22\u2026","aria-label":w}=d,k=t?n:[],S=()=>{m||(t=!t,n=Array.isArray(h)?[...h]:[],t&&(i={col:0,idx:0},l=0),e.ui.render())},$=L=>{let K=f;for(let se of L){let de=K.find(G=>G.value===se);if(!de?.children)return K;K=de.children}return K},C=(L,K)=>{if(L.disabled)return;let se=[...K,L.value];L.children?.length?(n=se,i={col:i.col+1,idx:0},e.ui.render()):(Array.isArray(h)&&!u&&console.warn(`[weifuwu/Cascader] \u53D7\u63A7\u6A21\u5F0F\uFF08value \u5DF2\u4F20\uFF09\u4F46\u672A\u63D0\u4F9B onChange\uFF0C\u9009\u62E9\u65E0\u6CD5\u751F\u6548\u3002
51
- \u975E\u53D7\u63A7\uFF1A\u53BB\u6389 value\uFF1B\u53D7\u63A7\uFF1A\u4F20\u5165 onChange={(path) => setPath(path)}`),t=!1,e.ui.render(),u?.(se))},D=L=>{Array.isArray(h)&&!u&&console.warn("[weifuwu/Cascader] \u53D7\u63A7\u6A21\u5F0F\uFF08value \u5DF2\u4F20\uFF09\u4F46\u672A\u63D0\u4F9B onChange\uFF0C\u9009\u62E9\u65E0\u6CD5\u751F\u6548\u3002"),t=!1,r="",e.ui.render(),u?.(L.path)},T=[],A=[],P=[],j=0;for(;;){let L=$(P),K=k[j]?L.find(G=>G.value===k[j]):void 0,se=[...P];T.push({path:se,options:L});let de=i.col===j?Math.min(i.idx,Math.max(L.length-1,0)):-1;if(A.push(De("div",{class:"wf-cascader-col",key:j},L.map((G,Ee)=>{let F=K?.value===G.value,U=i.col===j&&Ee===de;return De("button",{type:"button",class:["wf-cascader-opt",F?"wf-cascader-opt--active":"",U?"wf-cascader-opt--hl":"",G.disabled?"wf-cascader-opt--dis":""].filter(Boolean).join(" "),key:G.value,"aria-selected":String(U||F),onClick:()=>C(G,se)},[De("span",{class:"wf-cascader-opt-label"},G.label),G.children?.length?De("span",{class:"wf-cascader-opt-arrow"},De(O,{name:"chevron-right",size:12})):null].filter(Boolean))}))),!K?.children?.length)break;P=[...P,K.value],j++}let R=r.trim().toLowerCase(),W,E=[];v&&R?(E=li(f).filter(K=>K.labels.some(se=>se.toLowerCase().includes(R))),W=E.length===0?De("div",{class:"wf-cascader-empty"},"\u65E0\u5339\u914D"):De("div",{class:"wf-cascader-search-results"},E.map(K=>De("button",{type:"button",class:"wf-cascader-search-item",key:K.path.join("/"),"aria-selected":String(l===E.indexOf(K)),onClick:()=>D(K)},K.labels.join(" / "))))):W=A;let M=v?De("input",{class:"wf-cascader-search wf-input",type:"text",placeholder:b,value:r,onInput:L=>{r=L.target.value,e.ui.render()}}):null,x=L=>{let K=L.key;if(K==="Escape")return;if(v&&R){let G=E.length;if(!G)return;K==="ArrowDown"?(L.preventDefault(),l=Math.min(l+1,G-1),e.ui.render()):K==="ArrowUp"?(L.preventDefault(),l=Math.max(l-1,0),e.ui.render()):K==="Home"?(L.preventDefault(),l=0,e.ui.render()):K==="End"?(L.preventDefault(),l=G-1,e.ui.render()):K==="Enter"&&E[l]&&(L.preventDefault(),D(E[l]));return}let se=T[i.col];if(!se||!se.options.length)return;let de=se.options.length;if(K==="ArrowDown")L.preventDefault(),i={col:i.col,idx:Math.min(i.idx+1,de-1)},e.ui.render();else if(K==="ArrowUp")L.preventDefault(),i={col:i.col,idx:Math.max(i.idx-1,0)},e.ui.render();else if(K==="Home")L.preventDefault(),i={col:i.col,idx:0},e.ui.render();else if(K==="End")L.preventDefault(),i={col:i.col,idx:de-1},e.ui.render();else if(K==="ArrowRight"){let G=se.options[Math.min(i.idx,de-1)];G?.children?.length&&(L.preventDefault(),n=[...se.path,G.value],i={col:i.col+1,idx:0},e.ui.render())}else K==="ArrowLeft"?i.col>0&&(L.preventDefault(),n=[...T[i.col-1].path],i={col:i.col-1,idx:0},e.ui.render()):K==="Enter"&&!se.options[Math.min(i.idx,de-1)]?.disabled&&(L.preventDefault(),C(se.options[Math.min(i.idx,de-1)],se.path))},I=c.portal(De("div",{class:"wf-cascader-panel",role:"listbox",onKeyDown:x},v?[M,W].filter(Boolean):W),"popover"),z=Array.isArray(h)&&h.length?pp(f,h):p,V=[];y&&V.push(De("label",{class:"wf-cascader-label"},y));let ee=De("button",{type:"button",class:`wf-cascader-trigger${m?" wf-cascader-trigger--dis":""}${g?" wf-cascader-trigger--err":""}`,"aria-label":w,"aria-haspopup":"listbox","aria-expanded":String(t),ref:s,onClick:m?void 0:S},[De("span",{class:`wf-cascader-value${h?.length?"":" wf-cascader-value--placeholder"}`},z),De("span",{class:`wf-cascader-arrow${t?" wf-cascader-arrow--open":""}`},De(O,{name:"chevron-down",size:12}))]);return V.push(De("div",{class:"wf-cascader"},[ee,I].filter(Boolean))),g&&V.push(De("div",{class:"wf-cascader-err"},g)),De("div",{class:"wf-cascader-wrap"},V)}};import{h as qe}from"weifuwu/ui-dom";var dp=async(o,e)=>{let t=[],n=[],r="",a="";return async s=>{let{data:i=[],targetKeys:l=[],onChange:c,titles:d=["\u6E90\u5217\u8868","\u76EE\u6807\u5217\u8868"],size:f="md",disabled:h,showSearch:u,searchPlaceholder:p="\u641C\u7D22\u2026"}=s,m=i.filter(C=>!l.includes(C.key)),g=i.filter(C=>l.includes(C.key)),y=(C,D)=>{if(h)return;let T=C==="left"?t:n,A=T.includes(D)?T.filter(P=>P!==D):[...T,D];C==="left"?t=A:n=A,e.ui.render()},v=()=>{if(!c||t.length===0)return;let C=[...l,...t];t=[],e.ui.render(),c(C)},b=()=>{if(!c||n.length===0)return;let C=l.filter(D=>!n.includes(D));n=[],e.ui.render(),c(C)},w=(C,D)=>{let T=C==="left"?t:n,A=(C==="left"?r:a).toLowerCase(),P=A?D.filter(R=>R.label.toLowerCase().includes(A)):D,j=u?qe("input",{class:"wf-transfer-search wf-input",type:"text",placeholder:p,value:C==="left"?r:a,onInput:R=>{C==="left"?r=R.target.value:a=R.target.value,e.ui.render()}}):null;return qe("div",{class:`wf-transfer-list wf-transfer-list--${C}`},[qe("div",{class:"wf-transfer-title"},d[C==="left"?0:1]),j,qe("div",{class:"wf-transfer-body"},P.length===0?[qe("div",{class:"wf-transfer-empty"},A?"\u65E0\u5339\u914D":"\u6682\u65E0\u6570\u636E")]:P.map(R=>qe("button",{type:"button",class:["wf-transfer-item",T.includes(R.key)?"wf-transfer-item--sel":"",R.disabled?"wf-transfer-item--dis":""].filter(Boolean).join(" "),key:R.key,disabled:R.disabled||void 0,onClick:R.disabled?void 0:()=>y(C,R.key)},R.label)))].filter(Boolean))},k=t.length===0||h,S=n.length===0||h,$=qe("div",{class:"wf-transfer-actions"},[qe("button",{type:"button",class:"wf-transfer-btn",disabled:S||void 0,"aria-label":"\u79FB\u56DE\u5DE6\u4FA7",onClick:S?void 0:b},qe(O,{name:"arrow-left",size:14})),qe("button",{type:"button",class:"wf-transfer-btn",disabled:k||void 0,"aria-label":"\u79FB\u81F3\u53F3\u4FA7",onClick:k?void 0:v},qe(O,{name:"arrow-right",size:14}))]);return qe("div",{class:`wf-transfer wf-transfer--${f}`},[w("left",m),$,w("right",g)])}};import{h as ct}from"weifuwu/ui-dom";var fp=async(o,e)=>{let t="",n=0,r={},a=l=>{l&&queueMicrotask(()=>l.focus())};e.ui.useGlobalKey(l=>{let c=r.shortcut;if(!c)return;let d=c.split("+"),f=d.includes("mod"),h=d[d.length-1].toLowerCase();(!f||l.ctrlKey||l.metaKey)&&l.key.toLowerCase()===h&&(l.preventDefault(),r.onOpenChange?.(!r.open))});let s=l=>{},i=e.ui.usePopup?.({trigger:"click",placement:"bottom",el:()=>null,isOpen:()=>!!r.open,setOpen:l=>{l||r.onOpenChange?.(!1)},open:()=>!!r.open,onOpenChange:l=>{r.onOpenChange?.(l)},mask:!0,maskCentered:!0})??{open:!1,setOpen:()=>{},wrapProps:{},portal:()=>null,refresh:()=>{}};return async l=>{let{open:c,onOpenChange:d,items:f=[],placeholder:h="\u8F93\u5165\u547D\u4EE4\u6216\u641C\u7D22...",emptyText:u="\u65E0\u5339\u914D\u7ED3\u679C",globalShortcut:p="mod+k"}=l;if(r={open:c,onOpenChange:d,shortcut:p},!c)return null;let m=t?f.filter(w=>{let k=t.toLowerCase();return w.label.toLowerCase().includes(k)||(w.keywords??[]).some(S=>S.toLowerCase().includes(k))}):f;n>=m.length&&(n=Math.max(0,m.length-1));let g=()=>d?.(!1),y=w=>{if(w.key==="ArrowDown")w.preventDefault(),n=Math.min(n+1,Math.max(m.length-1,0)),e.ui.render();else if(w.key==="ArrowUp")w.preventDefault(),n=Math.max(n-1,0),e.ui.render();else if(w.key==="Enter"){w.preventDefault();let k=m[n];k&&(k.onSelect?.(),g())}else w.key==="Escape"&&g()},v=m.length>0?m.map((w,k)=>ct("button",{type:"button",class:`wf-command-item${n===k?" wf-command-item--hl":""}`,key:w.key,onClick:()=>{w.onSelect?.(),g()},onMouseEnter:()=>{n=k}},[w.icon??ct(O,{name:"search",size:14}),ct("span",{class:"wf-command-item-label"},w.label),w.shortcut?ct("kbd",{class:"wf-command-shortcut"},w.shortcut):null].filter(Boolean))):[ct("div",{class:"wf-command-empty"},u)],b=ct("div",{class:"wf-command-panel",role:"dialog","aria-label":"\u547D\u4EE4\u9762\u677F"},[ct("div",{class:"wf-command-input-wrap"},[ct(O,{name:"search",size:14}),ct("input",{class:"wf-command-input",type:"text",placeholder:h,value:t,onInput:w=>{t=w.target.value,n=0,e.ui.render()},onKeyDown:y,ref:a})]),ct("div",{class:"wf-command-list"},v)]);return i.portal(b,"command")}};import{createClientBrowser as mp}from"weifuwu/ui-dom";import{h as on}from"weifuwu/ui-dom";var hp=async(o,e)=>{let t=e.browser??mp(),n=null,r=0,a=[],s=new Map,i=h=>{let u=s.get(h);return u||(u=p=>{p&&(a[h]=p)},s.set(h,u)),u},l=[],c=e.ui.usePopup({trigger:"click",placement:"bottom",center:!1,gap:4,el:()=>{let h=l.findIndex(u=>u.key===n);return h>=0?a[h]:null},isOpen:()=>n!==null,setOpen:h=>{h||d()}}),d=()=>{n!==null&&(n=null,e.ui.render())},f=h=>{n=n===h?null:h,r=0,e.ui.render()};return async h=>{let{menus:u=[],"aria-label":p}=h;l=u;let m=b=>{if(b.key==="Escape"){d();return}if(b.key!=="ArrowRight"&&b.key!=="ArrowLeft")return;if(n){d();return}let w=t?.activeElement()??null,k=a.indexOf(w);if(k<0)return;b.preventDefault();let S=b.key==="ArrowRight"?(k+1)%l.length:(k-1+l.length)%l.length;a[S]?.focus()},g=l.map((b,w)=>{let k=n===b.key;return on("button",{type:"button",class:["wf-menubar-trigger",k?"wf-menubar-trigger--open":"",b.disabled?"wf-menubar-trigger--dis":""].filter(Boolean).join(" "),key:b.key,ref:i(w),"aria-haspopup":"menu","aria-expanded":k?"true":"false",onClick:b.disabled?void 0:()=>f(b.key),onKeyDown:S=>{(S.key==="ArrowDown"||S.key==="Enter")&&(S.preventDefault(),b.disabled||f(b.key))}},b.label)}),y=l.find(b=>b.key===n),v=y?c.portal(on("div",{class:"wf-menubar-panel",role:"menu"},(y.items??[]).map((b,w)=>on("button",{type:"button",class:["wf-menubar-item",r===w?"wf-menubar-item--hl":"",b.disabled?"wf-menubar-item--dis":""].filter(Boolean).join(" "),key:b.key,role:"menuitem",onClick:b.disabled?void 0:()=>{b.onSelect?.(),d()},onMouseEnter:()=>{b.disabled||(r=w)}},[on("span",{class:"wf-menubar-item-label"},b.label),b.shortcut?on("kbd",{class:"wf-menubar-shortcut"},b.shortcut):null].filter(Boolean)))),"popover"):null;return on("div",{class:"wf-menubar",role:"menubar","aria-label":p,onKeyDown:m},[...g,v].filter(Boolean))}};import{h as yt}from"weifuwu/ui-dom";var gp=async(o,e)=>{let t=0,n,r=0,a=()=>{},s=!1,i=3e3,l=c=>{c?s&&(clearInterval(n),n=setInterval(()=>a(t+1),i)):(clearInterval(n),n=void 0)};return async c=>{let{children:d=[],autoplay:f,interval:h=3e3,showArrows:u=!0,showDots:p=!0,loop:m=!0,"aria-label":g,className:y}=c,v=d.length;if(v===0)return null;let b=T=>{let A=m?(T+v)%v:Math.max(0,Math.min(T,v-1));A!==t&&(t=A,e.ui.render())};a=b,s=!!f,i=h;let w=()=>b(t+1),k=()=>b(t-1),S={onTouchStart:T=>{r=T.touches[0].clientX},onTouchEnd:T=>{let A=T.changedTouches[0].clientX-r;Math.abs(A)>40&&(A<0?w():k())}},$=yt("div",{class:"wf-carousel-track",style:{transform:`translateX(-${t*100}%)`}},d),C=u?[yt("button",{type:"button",class:"wf-carousel-arrow wf-carousel-arrow--prev","aria-label":"\u4E0A\u4E00\u5F20",onClick:k},yt(O,{name:"chevron-left",size:18})),yt("button",{type:"button",class:"wf-carousel-arrow wf-carousel-arrow--next","aria-label":"\u4E0B\u4E00\u5F20",onClick:w},yt(O,{name:"chevron-right",size:18}))]:[],D=p?yt("div",{class:"wf-carousel-dots"},d.map((T,A)=>yt("button",{type:"button",class:`wf-carousel-dot${A===t?" wf-carousel-dot--active":""}`,key:A,"aria-label":`\u7B2C ${A+1} \u5F20`,onClick:()=>b(A)}))):null;return yt("div",{class:["wf-carousel",y].filter(Boolean).join(" "),"aria-label":g,ref:l,...S},[yt("div",{class:"wf-carousel-viewport"},$),...C,D].filter(Boolean))}};import{h as lo}from"weifuwu/ui-dom";var yp=async(o,e)=>{let t=0,n={...o},r=l=>Math.max(n.min??80,Math.min(l,n.max??600)),a=l=>{let c=r(l);c!==t&&(t=c,n.onResize?.(c),e.ui.render())},s=0,i=e.ui.useDrag({onStart:()=>{s=t},onMove:(l,c)=>{let d=n.direction==="horizontal"?c.x:c.y;a(s+d)}});return async l=>{let{direction:c="horizontal",defaultSize:d=300,min:f=80,max:h=600,step:u=20,children:p,onResize:m,className:g}=l;Object.assign(n,l,{direction:c,min:f,max:h,step:u,onResize:m}),t===0&&(t=d);let v=lo("div",{class:"wf-resizable-handle",role:"separator","aria-orientation":c==="horizontal"?"vertical":"horizontal",tabIndex:0,...i,onKeyDown:b=>{let w=c==="horizontal"?b.key==="ArrowRight"?u:b.key==="ArrowLeft"?-u:0:b.key==="ArrowDown"?u:b.key==="ArrowUp"?-u:0;w!==0&&(b.preventDefault(),a(t+w))}});return lo("div",{class:["wf-resizable",`wf-resizable--${c}`,g].filter(Boolean).join(" ")},[lo("div",{class:"wf-resizable-panel",style:{flexBasis:`${t}px`}},p[0]),v,lo("div",{class:"wf-resizable-panel wf-resizable-panel--fill"},p[1])])}};import{h as Oe}from"weifuwu/ui-dom";var bp=["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],wp=async(o,e)=>{let t=new Date,n=t.getMonth(),r=t.getFullYear();return async a=>{let{events:s=[],month:i,year:l,onMonthChange:c,onSelectDate:d,selectedDate:f,"aria-label":h}=a,u=i!==void 0&&l!==void 0,p=u?i:n,m=u?l:r,g=$=>{if(u&&!c){console.warn(`[weifuwu/Calendar] \u53D7\u63A7\u6A21\u5F0F\uFF08month/year \u5DF2\u4F20\uFF09\u4F46\u672A\u63D0\u4F9B onMonthChange\uFF0C\u6708\u4EFD\u5207\u6362\u65E0\u6CD5\u751F\u6548\u3002
52
- \u975E\u53D7\u63A7\uFF1A\u53BB\u6389 month/year\uFF1B\u53D7\u63A7\uFF1A\u4F20\u5165 onMonthChange={(m, y) => setView(m, y)}`);return}let C=p+$,D=m;C<0?(C=11,D--):C>11&&(C=0,D++),u?c?.(C,D):(n=C,r=D,e.ui.render())},y=()=>{u?c?.(t.getMonth(),t.getFullYear()):(n=t.getMonth(),r=t.getFullYear(),e.ui.render())},v=vn(m,p),b=Fn(),w=Oe("div",{class:"wf-calendar-header"},[Oe("div",{class:"wf-calendar-title"},`${m} \u5E74 ${bp[p]}`),Oe("div",{class:"wf-calendar-nav"},[Oe("button",{type:"button",class:"wf-calendar-nav-btn","aria-label":"\u4E0A\u4E2A\u6708",onClick:()=>g(-1)},Oe(O,{name:"chevron-left",size:14})),Oe("button",{type:"button",class:"wf-calendar-nav-btn","aria-label":"\u4ECA\u5929",onClick:y},"\u4ECA\u5929"),Oe("button",{type:"button",class:"wf-calendar-nav-btn","aria-label":"\u4E0B\u4E2A\u6708",onClick:()=>g(1)},Oe(O,{name:"chevron-right",size:14}))])]),k=v.map(($,C)=>{let D=$.map(T=>{let A=dt(T.year,T.month,T.day),P=s.filter(R=>R.date===A),j=f===A;return Oe("div",{class:["wf-calendar-cell",T.isOtherMonth?"wf-calendar-cell--other":"",T.isToday?"wf-calendar-cell--today":"",j?"wf-calendar-cell--selected":""].filter(Boolean).join(" "),key:`${T.year}-${T.month}-${T.day}`,role:"button",tabIndex:0,onClick:()=>d?.(A),onKeyDown:R=>{(R.key==="Enter"||R.key===" ")&&(R.preventDefault(),d?.(A))}},[Oe("span",{class:"wf-calendar-day-num"},String(T.day)),...P.slice(0,3).map(R=>Oe("div",{class:"wf-calendar-event",style:R.color?{"--wf-event-color":R.color}:void 0,key:R.key},R.title)),P.length>3?Oe("div",{class:"wf-calendar-more"},`+${P.length-3} \u66F4\u591A`):null])});return Oe("div",{class:"wf-calendar-week",key:C},D)}),S=Oe("div",{class:"wf-calendar-grid"},[Oe("div",{class:"wf-calendar-weekdays"},b.map(($,C)=>Oe("div",{class:"wf-calendar-weekday",key:C},$))),...k]);return Oe("div",{class:"wf-calendar","aria-label":h},[w,S])}};import{createClientBrowser as vp}from"weifuwu/ui-dom";import{h as ci}from"weifuwu/ui-dom";var xp=async(o,e)=>{let t=e?.browser??vp(),n="",r={text:"weifuwu",fontSize:14,color:"currentColor",opacity:.15,rotate:-25,gap:100},a=i=>{i&&!n&&(s(r.text,r.fontSize,r.color,r.opacity,r.rotate,r.gap),n&&(i.style.backgroundImage=`url(${n})`))},s=(i,l,c,d,f,h)=>{let u=t?.createElement("canvas");if(!u)return;let p=u.getContext("2d");if(!p)return;let{width:m}=p.measureText(i),g=Math.max(m+h,h),y=h;u.width=g,u.height=y,p.globalAlpha=d,p.font=`${l}px sans-serif`,p.fillStyle=c,p.translate(g/2,y/2),p.rotate(f*Math.PI/180),p.fillText(i,-m/2,0),n=u.toDataURL()};return async i=>{let{text:l="weifuwu",fontSize:c=14,color:d="currentColor",opacity:f=.15,rotate:h=-25,gap:u=100,children:p,className:m}=i;return r={text:l,fontSize:c,color:d,opacity:f,rotate:h,gap:u},ci("div",{class:["wf-watermark",m].filter(Boolean).join(" ")},[p,ci("div",{class:"wf-watermark-overlay",style:{pointerEvents:"none",backgroundImage:n?`url(${n})`:void 0},ref:a})])}};import{h as co}from"weifuwu/ui-dom";var kp=async(o,e)=>{let t={},n=e.ui.useInView({rootMargin:()=>`0px 0px ${t.threshold??100}px 0px`,onChange:(r,a)=>{a&&t.hasMore!==!1&&!t.loading&&t.onLoadMore?.()}});return async r=>{Object.assign(t,r);let{hasMore:a=!0,loading:s,threshold:i=100,children:l,loadMoreText:c="\u52A0\u8F7D\u4E2D...",endText:d="\u6CA1\u6709\u66F4\u591A\u4E86",className:f}=r,h=null;return s?h=co("div",{class:"wf-infinite-scroll-loading"},c):a===!1?h=co("div",{class:"wf-infinite-scroll-end"},d):h=co("div",{class:"wf-infinite-scroll-sentinel",ref:n.observe}),co("div",{class:["wf-infinite-scroll",f].filter(Boolean).join(" ")},[l,h])}};import{h as Ln}from"weifuwu/ui-dom";var Cp=async(o,e)=>{let t=null,n=e.ui.useScrollPosition({getScroller:()=>t??window}),r=a=>{a?(t=a,n.refresh()):t=null};return async a=>{let{items:s=[],height:i=400,itemHeight:l=40,renderItem:c,overscan:d=5,keyBy:f,emptyText:h="\u6682\u65E0\u6570\u636E",className:u}=a;t&&t.scrollTop!==n.y&&(n.y=t.scrollTop);let p=s.length,m=Math.max(0,Math.floor(n.y/l)-d),g=Math.min(p,Math.ceil((n.y+i)/l)+d);if(p===0)return Ln("div",{class:["wf-virtual-list","wf-virtual-list--empty",u].filter(Boolean).join(" "),style:{height:`${i}px`}},h);let y=Ln("div",{class:"wf-virtual-list-spacer",style:{height:`${p*l}px`}}),v=[];for(let w=m;w<g;w++){let k=s[w];v.push(Ln("div",{class:"wf-virtual-list-item",style:{position:"absolute",top:`${w*l}px`,left:0,right:0,height:`${l}px`},key:f?f(k,w):w},c?c(k,w):String(k)))}let b=Ln("div",{class:"wf-virtual-list-window"},v);return Ln("div",{class:["wf-virtual-list",u].filter(Boolean).join(" "),style:{position:"relative",width:"100%",height:`${i}px`,overflowY:"auto"},ref:r},[y,b])}};import{h as Be}from"weifuwu/ui-dom";function Sp(o,e,t,n){if(!t||!n)return o;let r=e.find(s=>s.key===t);if(!r||!r.sortable)return o;let a=[...o];return a.sort((s,i)=>{let l=s[t],c=i[t],d=r.sorter?r.sorter(l,c):String(l??"").localeCompare(String(c??""));return n==="desc"?-d:d}),a}var Mp=async(o,e)=>{let t=null,n=e.ui.useScrollPosition({getScroller:()=>t??window}),r=a=>{a?(t=a,n.refresh()):t=null};return async a=>{let{columns:s,data:i=[],height:l=400,rowHeight:c=40,overscan:d=5,sortKey:f,sortOrder:h,onSort:u,emptyText:p="\u6682\u65E0\u6570\u636E",onRowClick:m,rowSelection:g,className:y}=a;t&&t.scrollTop!==n.y&&(n.y=t.scrollTop);let v=Sp(i,s,f,h),b=v.length,w=g?.rowKey??"id",k=(E,M)=>E[w]!=null?E[w]:M,S=new Set(g?.selectedRowKeys??[]),$=(E,M)=>{if(!g)return;let x=k(E,M),I=S.has(x)?g.selectedRowKeys.filter(V=>V!==x):[...g.selectedRowKeys,x],z=I.map(V=>v.find((ee,L)=>k(ee,L)===V)).filter(Boolean);g.onChange?.(I,z)},C=()=>{if(!g)return;if(b>0&&v.every((M,x)=>S.has(k(M,x))))g.onChange?.([],[]);else{let M=v.map((x,I)=>k(x,I));g.onChange?.(M,[...v])}},D=E=>({width:typeof E.width=="number"?`${E.width}px`:E.width,flex:E.width?void 0:"1"}),T=s.map(E=>{let M=f===E.key,x=E.sortable?Be("span",{class:`wf-virtual-table-sort-icon${M?" wf-virtual-table-sort-icon--active":""}`},M&&h==="desc"?Be(O,{name:"chevron-down",size:12}):Be(O,{name:"chevron-up",size:12})):null;return Be("div",{class:`wf-virtual-table-th${E.sortable?" wf-virtual-table-th--sortable":""}${M?" wf-virtual-table-th--sorted":""}`,style:D(E),role:E.sortable?"button":void 0,tabIndex:E.sortable?0:void 0,onClick:E.sortable?()=>{u&&(f!==E.key?u(E.key,"asc"):u(E.key,h==="asc"?"desc":"asc"))}:void 0,onKeyDown:E.sortable?I=>{if(I.key==="Enter"||I.key===" "){if(I.preventDefault(),!u)return;f!==E.key?u(E.key,"asc"):u(E.key,h==="asc"?"desc":"asc")}}:void 0},[Be("span",{class:"wf-virtual-table-th-label"},E.label),x].filter(Boolean))}),A=[];if(g){let E=b>0&&v.every((x,I)=>S.has(k(x,I))),M=b>0&&!E&&v.some((x,I)=>S.has(k(x,I)));A.push(Be("div",{class:"wf-virtual-table-th wf-virtual-table-th--select",style:{width:"40px"}},Be("input",{type:"checkbox",class:"wf-virtual-table-check",checked:E,indeterminate:M,"aria-label":E?"\u53D6\u6D88\u5168\u9009":"\u5168\u9009","aria-checked":M?"mixed":String(E),onChange:C})))}A.push(...T);let P=Be("div",{class:"wf-virtual-table-thead"},A),j=Math.max(0,Math.floor(n.y/c)-d),R=Math.min(b,Math.ceil((n.y+l)/c)+d),W;if(b===0)W=Be("div",{class:"wf-virtual-table-empty"},p);else{let E=Be("div",{class:"wf-virtual-table-spacer",style:{height:`${b*c}px`}}),M=[];for(let x=j;x<R;x++){let I=v[x],z=[];if(g){let V=S.has(k(I,x));z.push(Be("div",{class:"wf-virtual-table-td wf-virtual-table-td--select",style:{width:"40px"}},Be("input",{type:"checkbox",class:"wf-virtual-table-check",checked:V,"aria-label":`\u9009\u62E9\u7B2C ${x+1} \u884C`,onChange:()=>$(I,x),onClick:ee=>ee.stopPropagation()})))}for(let V of s)z.push(Be("div",{class:"wf-virtual-table-td",style:D(V)},V.render?V.render(I[V.key],I,x):String(I[V.key]??"")));M.push(Be("div",{class:"wf-virtual-table-row",style:{position:"absolute",top:`${x*c}px`,left:0,right:0,height:`${c}px`},key:String(I.id??x),onClick:m?()=>m(I,x):void 0},z))}W=Be("div",{class:"wf-virtual-table-body",style:{position:"relative",width:"100%",height:`${l}px`,overflowY:"auto"},ref:r},[E,...M])}return Be("div",{class:["wf-virtual-table",y].filter(Boolean).join(" "),style:{width:"100%",minHeight:`${l}px`}},[P,W])}};import{createClientBrowser as Pp}from"weifuwu/ui-dom";import{h as pi}from"weifuwu/ui-dom";var Tp=async(o,e)=>{let t=e.browser??Pp(),n=null,r,a,s=h=>{h&&(n=h)},i={...o},l=()=>i.container?i.container():window,c=e.ui.useScrollPosition({getScroller:l}),d=(h,u)=>{let p;for(let m of h){let g=m.href.startsWith("#")?e.browser?.byId(m.href.slice(1))??null:null;g&&g.getBoundingClientRect().top<=u&&(p=m.href)}return p??h[0]?.href},f=h=>{if(!["ArrowDown","ArrowUp","Home","End"].includes(h.key))return;let u=n?Array.from(n.querySelectorAll(".wf-anchor-link")):[],p=u.indexOf(t?.activeElement()??null);if(p<0)return;h.preventDefault();let m=p;h.key==="ArrowDown"?m=(p+1)%u.length:h.key==="ArrowUp"?m=(p-1+u.length)%u.length:h.key==="Home"?m=0:h.key==="End"&&(m=u.length-1),u[m].focus()};return async h=>{Object.assign(i,h);let{items:u,activeKey:p,onAnchorChange:m,useHash:g,offsetTop:y=80,className:v}=h,b=d(u,y);r!==b&&(r=b,b!==void 0&&b!==a&&(a=b,m?.(b)));let w=p!==void 0?p:r??b,k=$=>C=>{C.preventDefault(),g&&e.browser?.setHash($),m?.($),!g&&p===void 0&&(r=$);let D=$.startsWith("#")?e.browser?.byId($.slice(1))??null:null;D&&typeof D.scrollIntoView=="function"&&D.scrollIntoView({behavior:"smooth",block:"start"})},S=u.map($=>{let C=w===$.href;return pi("a",{key:$.href,class:`wf-anchor-link${C?" wf-anchor-link--active":""}`,href:$.href,role:"link",tabIndex:0,"aria-current":C?"true":void 0,onClick:k($.href),onKeyDown:D=>{(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),k($.href)(D))}},$.title)});return pi("nav",{class:["wf-anchor-nav",v].filter(Boolean).join(" "),ref:s,onKeyDown:f,"aria-label":"\u951A\u70B9\u5BFC\u822A"},S)}};import{h as nt}from"weifuwu/ui-dom";var ui=/\x1b\[([\d;]*)m/g;function di(o){let e=[],t=0,n=new Set,r;for(;r=ui.exec(o);){let s=o.slice(t,r.index);s&&(n.size?e.push(nt("span",{class:[...n].join(" ")},s)):e.push(s));let i=r[1].split(";").filter(Boolean);for(let l of i)l==="0"?n.clear():l==="1"?n.add("wf-log-ansi--bold"):+l>=30&&+l<=37?n.add(`wf-log-ansi--${l}`):+l>=40&&+l<=47&&n.add(`wf-log-ansi--bg${l}`);t=ui.lastIndex}let a=o.slice(t);return a&&(n.size?e.push(nt("span",{class:[...n].join(" ")},a)):e.push(a)),e}var Ep=async(o,e)=>{let t=null,n=0,r=!0,a=e.ui.useScrollPosition({getScroller:()=>t??window}),s=l=>{l?(t=l,a.refresh()):t=null},i=async l=>{await e.browser?.copyText(l.join(`
53
- `))};return async l=>{let{lines:c,height:d=400,lineHeight:f=24,overscan:h=5,follow:u=!0,maxLines:p,showCopy:m=!0,showLineNumbers:g=!0,className:y}=l,v=p!=null&&c.length>p?c.length-p:0,b=p!=null&&c.length>p?c.slice(-p):c,w=b.length;u&&c.length!==n?(n=c.length,r&&t&&queueMicrotask(()=>{t&&(t.scrollTop=t.scrollHeight)})):n=c.length;let k=w*f;t&&(r=a.y+d>=k-2);let S=Math.max(0,Math.floor(a.y/f)-h),$=Math.min(w,Math.ceil((a.y+d)/f)+h),C=nt("div",{class:"wf-log-spacer",style:{height:`${k}px`}}),D=[];for(let P=S;P<$;P++){let j=P+v+1;D.push(nt("div",{class:"wf-log-row",style:{position:"absolute",top:`${P*f}px`,left:0,right:0,height:`${f}px`},key:`${j}:${b[P]}`},[g?nt("span",{class:"wf-log-line-no"},String(j)):null,nt("span",{class:"wf-log-line-content"},di(b[P]))].filter(Boolean)))}let T=m?nt("button",{class:"wf-log-copy","aria-label":"\u590D\u5236\u5168\u90E8\u65E5\u5FD7",onClick:()=>{i(c)}},nt(O,{name:"copy",size:14})):null,A=w===0?nt("div",{class:"wf-log-empty"},"\u6682\u65E0\u65E5\u5FD7"):nt("div",{class:"wf-log-body",style:{position:"relative",width:"100%",height:`${d}px`,overflowY:"auto"},ref:s},[C,...D]);return nt("div",{class:["wf-log-viewer",y].filter(Boolean).join(" "),style:{width:"100%"}},[T,A].filter(Boolean))}};import{h as Pr}from"weifuwu/ui-dom";var Sr=new Array(256),kr=new Array(256),On=1;for(let o=0;o<255;o++)Sr[o]=On,kr[On]=o,On<<=1,On&256&&(On^=285);function fi(o,e){return o===0||e===0?0:Sr[(kr[o]+kr[e])%255]}var Cr=[{total:26,ec:[7,10,13,17],blocks:[1,1,1,1]},{total:44,ec:[10,16,22,28],blocks:[1,1,1,1]},{total:70,ec:[15,26,18,22],blocks:[1,1,2,2]},{total:100,ec:[20,18,26,16],blocks:[1,2,2,4]},{total:134,ec:[26,24,18,22],blocks:[1,2,4,4]},{total:172,ec:[18,16,24,28],blocks:[2,4,4,4]}],$p={L:0,M:1,Q:2,H:3};function Ap(o,e){for(let t=0;t<Cr.length;t++){let n=Cr[t],r=n.total-n.ec[e]*n.blocks[e];if(o<=r)return t+1}throw new Error("\u6570\u636E\u8D85\u51FA QR \u5BB9\u91CF\uFF08\u7248\u672C 1-6\uFF09")}function Dp(o){return Sr[o%255]}function Ip(o,e){let t=[1];for(let r=0;r<e;r++){let a=new Array(t.length+1).fill(0);for(let s=0;s<t.length;s++)a[s]^=fi(t[s],Dp(r)),a[s+1]^=t[s];t=a}let n=[...o,...new Array(e).fill(0)];for(let r=0;r<o.length;r++){let a=n[r];if(a!==0)for(let s=1;s<t.length;s++)n[r+s]^=fi(t[s],a)}return n.slice(o.length)}function Lp(o,e){let t=[],n=(i,l)=>{for(let c=l-1;c>=0;c--)t.push(i>>c&1)};n(4,4),n(o.length,8);for(let i of o)n(i,8);for(n(0,Math.min(4,e*8-t.length));t.length%8!==0;)t.push(0);let r=[];for(let i=0;i<t.length;i+=8){let l=0;for(let c=0;c<8;c++)l=l<<1|t[i+c];r.push(l)}let a=[236,17],s=0;for(;r.length<e;)r.push(a[s++%2]);return r}var mi={1:[],2:[6,18],3:[6,22],4:[6,26],5:[6,30],6:[6,34]};function hi(o,e,t,n){let r=17+4*o,a=Array.from({length:r},()=>new Array(r).fill(!1)),s=(u,p,m)=>{u>=0&&u<r&&p>=0&&p<r&&(a[u][p]=m)},i=(u,p)=>{for(let m=-1;m<=7;m++)for(let g=-1;g<=7;g++){let y=u+m,v=p+g;if(y<0||y>=r||v<0||v>=r||!(m>=0&&m<=6&&g>=0&&g<=6))continue;let w=m===0||m===6||g===0||g===6||m>=2&&m<=4&&g>=2&&g<=4;s(y,v,w)}};i(0,0),i(0,r-7),i(r-7,0);for(let u=8;u<r-8;u++)s(6,u,u%2===0),s(u,6,u%2===0);let l=mi[o];if(l.length>1)for(let u=0;u<l.length;u++)for(let p=0;p<l.length;p++){let m=l[u],g=l[p];if(!(m===6&&g===6||m===6&&g===r-7||m===r-7&&g===6))for(let y=-2;y<=2;y++)for(let v=-2;v<=2;v++)s(m+y,g+v,Math.max(Math.abs(y),Math.abs(v))!==1)}s(r-8,8,!0);let c=[];for(let u of e)for(let p=7;p>=0;p--)c.push((u>>p&1)===1);for(let u of t)for(let p=7;p>=0;p--)c.push((u>>p&1)===1);let d=(u,p)=>{if(u===6||p===6)return!0;for(let[g,y]of[[0,0],[0,r-7],[r-7,0]])if(u>=g-1&&u<=g+7&&p>=y-1&&p<=y+7)return!0;let m=mi[o];if(m.length>1){for(let g of m)for(let y of m)if(Math.abs(u-g)<=2&&Math.abs(p-y)<=2)return!0}return!1},f=0,h=!0;for(let u=r-1;u>0;u-=2){u===6&&u--;for(let p=0;p<r;p++){let m=h?r-1-p:p;for(let g=0;g<2;g++){let y=u-g;if(!d(m,y)&&f<c.length){let v=c[f++],b=Op(n,m,y);s(m,y,v!==b)}}}h=!h}return a}function Op(o,e,t){switch(o){case 0:return(e+t)%2===0;case 1:return e%2===0;case 2:return t%3===0;case 3:return(e+t)%3===0;case 4:return(Math.floor(e/2)+Math.floor(t/3))%2===0;case 5:return e*t%2+e*t%3===0;case 6:return(e*t%2+e*t%3)%2===0;case 7:return((e+t)%2+e*t%3)%2===0;default:return!1}}function Rp(o,e){let n=[1,0,3,2][o]<<3|e,r=n<<10,a=1335;for(;Math.clz32(r)>Math.clz32(a);){let s=Math.clz32(r)-Math.clz32(a);r^=a<<s}r=n<<10;for(let s=14;s>=10;s--)r>>s&1&&(r^=a<<s-10);return(n<<10|r)^21522}function gi(o,e,t){let n=o.length,r=Rp(e,t),a=l=>(r>>14-l&1)===1;[[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,7],[8,8],[7,8],[5,8],[4,8],[3,8],[2,8],[1,8],[0,8]].forEach(([l,c],d)=>{o[l][c]=a(d)}),[[8,n-8],[8,n-7],[7,n-8],[5,n-8],[4,n-8],[3,n-8],[2,n-8],[1,n-8],[0,n-8],[n-1,8],[n-2,8],[n-3,8],[n-4,8],[n-5,8],[n-6,8],[n-7,8]].forEach(([l,c],d)=>{o[l][c]=a(d)})}function Np(o){let e=o.length,t=0,n=s=>{let i=1;for(let l=1;l<=s.length;l++){if(l<s.length&&s[l]===s[l-1]){i++;continue}i>=5&&(t+=3+(i-5)),i=1}};for(let s=0;s<e;s++)n(o[s]);for(let s=0;s<e;s++)n(o.map(i=>i[s]));for(let s=0;s<e-1;s++)for(let i=0;i<e-1;i++)o[s][i]===o[s][i+1]&&o[s][i]===o[s+1][i]&&o[s][i]===o[s+1][i+1]&&(t+=3);let a=o.flat().filter(Boolean).length*100/(e*e);return t+=Math.floor(Math.abs(a-50)/5)*10,t}function Mr(o,e="M"){let t=new TextEncoder().encode(o),n=$p[e],r=Ap(t.length,n),a=Cr[r-1],s=a.ec[n],i=a.blocks[n],l=a.total-s*i,c=Lp(t,l),d=Math.floor(c.length/i),f=[],h=[];for(let b=0;b<i;b++){let w=c.slice(b*d,(b+1)*d);f.push(w),h.push(Ip(w,s))}let u=[];for(let b=0;b<d;b++)for(let w of f)u.push(w[b]);for(let b=0;b<s;b++)for(let w of h)u.push(w[b]);let p=u.slice(0,l),m=u.slice(l),g=0,y=1/0;for(let b=0;b<8;b++){let w=hi(r,p,m,b);gi(w,n,b);let k=Np(w);k<y&&(y=k,g=b)}let v=hi(r,p,m,g);return gi(v,n,g),{size:17+4*r,version:r,level:e,mask:g,matrix:v}}var Bp=async(o,e)=>async t=>{let{value:n,ecLevel:r="M",size:a=128,quietZone:s=4,color:i="currentColor",bgColor:l,className:c}=t,d=Mr(n,r),f=s,h=[];l&&h.push(Pr("rect",{class:"wf-qr-bg",x:0,y:0,width:d.size+f*2,height:d.size+f*2,fill:l}));for(let p=0;p<d.size;p++)for(let m=0;m<d.size;m++)d.matrix[p][m]&&h.push(Pr("rect",{x:m+f,y:p+f,width:1,height:1,fill:i}));let u=d.size+f*2;return Pr("svg",{class:["wf-qr",c].filter(Boolean).join(" "),width:a,height:a,viewBox:`0 0 ${u} ${u}`,role:"img","aria-label":`\u4E8C\u7EF4\u7801\uFF1A${n}`,shapeRendering:"crispEdges"},h)};import{h as ot}from"weifuwu/ui-dom";function yi(o,e){let t=o===""?[]:o.split(`
54
- `),n=e===""?[]:e.split(`
55
- `),r=t.length,a=n.length;if(r===0)return n.map(d=>({type:"add",line:d}));if(a===0)return t.map(d=>({type:"remove",line:d}));let s=Array.from({length:r+1},()=>new Array(a+1).fill(0));for(let d=r-1;d>=0;d--)for(let f=a-1;f>=0;f--)t[d]===n[f]?s[d][f]=s[d+1][f+1]+1:s[d][f]=Math.max(s[d+1][f],s[d][f+1]);let i=[],l=0,c=0;for(;l<r&&c<a;)t[l]===n[c]?(i.push({type:"same",line:t[l]}),l++,c++):s[l+1][c]>=s[l][c+1]?(i.push({type:"remove",line:t[l]}),l++):(i.push({type:"add",line:n[c]}),c++);for(;l<r;)i.push({type:"remove",line:t[l]}),l++;for(;c<a;)i.push({type:"add",line:n[c]}),c++;return i}function bi(o){let e=[],t=[],n=0,r=()=>{t.length!==0&&(t[0].type==="same"?e.push({kind:"same",sameCount:t.length,lines:t}):e.push({kind:"change",lines:t}),t=[])};for(let a of o)a.type==="same"?(n++,t.push(a)):(n=0,t.push(a));return r(),e}var Hp=async(o,e)=>{let t=new Set;return async n=>{let{oldCode:r="",newCode:a="",oldTitle:s="\u65E7\u7248",newTitle:i="\u65B0\u7248",foldThreshold:l=5,maxLines:c=2e3,className:d=""}=n,f=yi(r,a),h=bi(f),u=(y,v)=>y.kind==="same"&&y.sameCount>l,p=y=>t.has(y),m=[],g=0;for(let y=0;y<h.length;y++){let v=h[y];if(u(v,y)){let b=p(y);if(m.push(ot("div",{class:"wf-diffview-fold",role:"button",tabindex:0,onClick:()=>{t.has(y)?t.delete(y):t.add(y),e.ui.render()},onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),t.has(y)?t.delete(y):t.add(y),e.ui.render())}},b?"\u5C55\u5F00\u4E2D":`\u2195 ${v.sameCount} \u884C\u672A\u53D8`)),t)for(let w of v.lines){if(g>=c)break;g++,m.push(wi(w,g))}}else for(let b of v.lines){if(g>=c)break;g++,m.push(wi(b,g))}}return g>=c&&m.push(ot("div",{class:"wf-diffview-overflow"},`\u2026 diff \u8FC7\u5927\uFF0C\u4EC5\u663E\u793A\u524D ${c} \u884C`)),ot("div",{class:`wf-diffview${d?` ${d}`:""}`},[ot("div",{class:"wf-diffview-header"},[ot("span",{class:"wf-diffview-title wf-diffview-title--old"},s),ot("span",{class:"wf-diffview-arrow"},"\u2192"),ot("span",{class:"wf-diffview-title wf-diffview-title--new"},i)]),ot("div",{class:"wf-diffview-body"},m)])}};function wi(o,e){return ot("div",{class:`wf-diffview-row wf-diffview-row--${o.type}`},[ot("span",{class:"wf-diffview-sign"},o.type==="add"?"+":o.type==="remove"?"-":" "),ot("span",{class:"wf-diffview-line"},o.line===""?" ":o.line)])}import{h as Rn}from"weifuwu/ui-dom";function vi(o,e,t,n=2){let r=o.length;if(r===0)return[];let a=Math.min(...o),i=Math.max(...o)-a,l=e-n*2,c=t-n*2;return r===1?[{x:e/2,y:t/2}]:o.map((d,f)=>({x:n+(r===1?0:f/(r-1)*l),y:i===0?t/2:n+(1-(d-a)/i)*c}))}function xi(o){return o.map(e=>`${Math.round(e.x*10)/10},${Math.round(e.y*10)/10}`).join(" ")}function ki(o){if(o.length===0)return"";if(o.length===1)return`M ${o[0].x},${o[0].y}`;let e=`M ${o[0].x},${o[0].y}`;for(let t=0;t<o.length-1;t++){let n=o[t-1]??o[t],r=o[t],a=o[t+1],s=o[t+2]??a,i=r.x+(a.x-n.x)/6,l=r.y+(a.y-n.y)/6,c=a.x-(s.x-r.x)/6,d=a.y-(s.y-r.y)/6;e+=` C ${i},${l} ${c},${d} ${a.x},${a.y}`}return e}var zp=async(o,e)=>async t=>{let{data:n,width:r=120,height:a=32,stroke:s="currentColor",fill:i=!1,smooth:l=!1,label:c,className:d=""}=t,f=vi(n,r,a,2),h=[];if(f.length>0)if(l){let u=ki(f);i&&h.push(Rn("path",{d:`${u} L ${f[f.length-1].x},${a} L ${f[0].x},${a} Z`,fill:s,opacity:.12})),h.push(Rn("path",{d:u,fill:"none",stroke:s,"stroke-width":1.5,"stroke-linecap":"round"}))}else{let u=xi(f);i&&h.push(Rn("polygon",{points:`${u} ${r-2},${a} 2,${a}`,fill:s,opacity:.12})),h.push(Rn("polyline",{points:u,fill:"none",stroke:s,"stroke-width":1.5,"stroke-linecap":"round","stroke-linejoin":"round"}))}return Rn("svg",{class:`wf-sparkline${d?` ${d}`:""}`,viewBox:`0 0 ${r} ${a}`,width:r,height:a,role:c?"img":void 0,"aria-label":c,"aria-hidden":c?void 0:!0},h)};import{h as rt}from"weifuwu/ui-dom";import{stream as _p,ev as Kp}from"weifuwu/ui-dom";var jp=async(o,e)=>{let t=0,n=null,r={top:0,left:0,width:0,height:0},a=e.ui.usePopup({mask:!0,maskClosable:!1,positioning:"none",closeOnOutside:!1,closeOnEscape:!1,el:()=>n,isOpen:()=>i,setOpen:p=>{p||f()},position:()=>{let p=n?.getBoundingClientRect();p&&(r={top:p.top,left:p.left,width:p.width,height:p.height});let m=Ci(r,s);return{x:m.left,y:m.top}}}),s="bottom",i=!1,l={steps:[]},c=()=>i;e.ui.useGlobalKey?.(p=>{p.key==="Escape"&&c()&&f()});let d=p=>{l.onStepChange?.(p),l.current===void 0&&(t=p,u())},f=()=>{l.onChange?.(!1),l.open===void 0&&(i=!1,e.ui.render())},h=()=>{let p=l.open!==void 0;l.onFinish?.(),(!p||!l.onFinish)&&(l.onChange?.(!1),i=!1,e.ui.render())},u=()=>{n=l.steps[t]?.target?e.browser?.query(l.steps[t].target):null,a.refresh(),e.ui.render()};return async p=>{l=p,i=!!p.open;let m=p.open!==void 0,g=p.current??t;if(s=p.steps[g]?.placement??"bottom",i&&p.steps[g]){let C=e.browser?.query(p.steps[g].target);if(C!==n){if(n=C,C){_p.emit(Kp("effect","scroll",void 0,{target:C.getAttribute?.("data-v3-id")??null}));try{C.scrollIntoView({block:"center"})}catch{}}a.refresh()}}if(!i&&!m||!i)return null;let y=p.steps[g];if(!y)return null;let v=g>=p.steps.length-1,b=Ci(r,s),w=b.left,k=b.top,S=rt("div",{class:`wf-tour-bubble wf-tour-bubble--${s}`,style:{left:`${w}px`,top:`${k}px`}},[rt("div",{class:"wf-tour-bubble-header"},[rt("span",{class:"wf-tour-title"},y.title),rt("span",{class:"wf-tour-step"},`${g+1} / ${p.steps.length}`)]),rt("div",{class:"wf-tour-content"},y.content),rt("div",{class:"wf-tour-actions"},[rt("button",{class:"wf-tour-btn wf-tour-btn--ghost",onClick:()=>h()},"\u8DF3\u8FC7"),g>0&&rt("button",{class:"wf-tour-btn wf-tour-btn--ghost",onClick:()=>d(g-1)},"\u4E0A\u4E00\u6B65"),rt("button",{class:"wf-tour-btn wf-tour-btn--primary",onClick:()=>v?h():d(g+1)},v?"\u5B8C\u6210":"\u4E0B\u4E00\u6B65")].filter(Boolean))]),$=rt("div",{class:"wf-tour-highlight",style:{left:`${r.left}px`,top:`${r.top}px`,width:`${r.width}px`,height:`${r.height}px`}});return a.portal(rt("div",{class:"wf-tour-layer"},[$,S]),"tour")}};function Ci(o,e){switch(e){case"top":return{top:o.top-10,left:o.left,width:o.width};case"left":return{top:o.top,left:o.left-10,width:o.width};case"right":return{top:o.top,left:o.left+o.width+10,width:o.width};default:return{top:o.top+o.height+10,left:o.left,width:o.width}}}import{h as bt}from"weifuwu/ui-dom";var Vp=async(o,e)=>{let t=null,{dropProps:n,dragProps:r}=e.ui.useDragDrop({onDragOver:()=>{},onDragEnd:()=>{t=null,e.ui.render()}});return async a=>{let{columns:s,onMove:i,className:l=""}=a;i||console.warn("[weifuwu] Kanban: \u4F20\u5165\u4E86\u53D7\u63A7 columns \u4F46\u7F3A\u5C11 onMove \u56DE\u8C03\u2014\u2014\u62D6\u62FD\u5C06\u9759\u9ED8\u5931\u6548");let c=(f,h)=>{!t||!i||(i({columnKey:t.fromColumn,index:t.fromIndex},{columnKey:f,index:h}),t=null,e.ui.render())},d=s.map(f=>bt("div",{class:"wf-kanban-col","data-col":f.key,...n,onDrop:u=>{u.preventDefault(),c(f.key,f.items.length)}},[bt("div",{class:"wf-kanban-col-header"},[bt("span",{class:"wf-kanban-col-title"},f.title),bt("span",{class:"wf-kanban-col-count"},String(f.items.length))]),bt("div",{class:"wf-kanban-col-body"},f.items.map((u,p)=>bt("div",{class:"wf-kanban-card","data-item":u.id,draggable:r.draggable,onDragEnd:r.onDragEnd,onDragStart:m=>{m.dataTransfer?.setData("text/plain",u.id),m.dataTransfer&&(m.dataTransfer.effectAllowed="move"),t={itemId:u.id,fromColumn:f.key,fromIndex:p}},onDragOver:m=>m.preventDefault(),onDrop:m=>{m.preventDefault(),m.stopPropagation(),c(f.key,p)}},[u.tag&&bt("span",{class:"wf-kanban-tag"},u.tag),bt("span",{class:"wf-kanban-card-title"},u.title)].filter(Boolean))))]));return bt("div",{class:`wf-kanban${l?` ${l}`:""}`},d)}};import{h as rn}from"weifuwu/ui-dom";function Si(o,e){let t=new Map,n=new Map;for(let i of o)t.set(i.id,[]),n.set(i.id,0);for(let i of e)t.get(i.from)?.push(i.to),n.set(i.to,(n.get(i.to)??0)+1);let r=new Map,a=[];for(let i of o)(n.get(i.id)??0)===0&&(a.push(i.id),r.set(i.id,0));let s=0;for(;a.length>0;){let i=a.shift();s++;let l=r.get(i)??0;for(let c of t.get(i)??[])r.set(c,Math.max(r.get(c)??0,l+1)),n.set(c,(n.get(c)??1)-1),(n.get(c)??0)===0&&a.push(c)}for(let i of o)r.has(i.id)||r.set(i.id,s);return r}function Tr(o,e){let t=new Map,n=new Map;for(let s of o)t.set(s.id,[]),n.set(s.id,0);for(let s of e)t.get(s.from)?.push(s.to),n.set(s.to,(n.get(s.to)??0)+1);let r=o.filter(s=>(n.get(s.id)??0)===0).map(s=>s.id),a=0;for(;r.length>0;){let s=r.shift();a++;for(let i of t.get(s)??[])n.set(i,(n.get(i)??1)-1),(n.get(i)??0)===0&&r.push(i)}return a<o.length}function Er(o,e,t){let{orientation:n,width:r,height:a,nodeW:s=88,nodeH:i=40}=t,l=Si(o,e),c=new Map;for(let p of o){let m=l.get(p.id)??0;c.has(m)||c.set(m,[]),c.get(m).push(p.id)}let d=c.size,f=new Map;for(let[p,m]of c){let g=m.length;m.forEach((y,v)=>{if(n==="vertical"){let b=p===0?i/2:p===d-1?a-i/2:p/(d-1)*a,w=g===1?r/2:v/(g-1)*(r-s)+s/2;f.set(y,{x:w,y:b})}else{let b=p===0?s/2:p===d-1?r-s/2:p/(d-1)*r,w=g===1?a/2:v/(g-1)*(a-i)+i/2;f.set(y,{x:b,y:w})}})}let h=o.map(p=>{let m=f.get(p.id)??{x:r/2,y:a/2};return{id:p.id,x:m.x,y:m.y}}),u=e.map(p=>{let m=f.get(p.from)??{x:0,y:0},g=f.get(p.to)??{x:0,y:0},y=n==="vertical"?`C ${m.x},${(m.y+g.y)/2} ${g.x},${(m.y+g.y)/2} ${g.x},${g.y}`:`C ${(m.x+g.x)/2},${m.y} ${(m.x+g.x)/2},${g.y} ${g.x},${g.y}`;return{from:p.from,to:p.to,d:`M ${m.x},${m.y} ${y}`}});return{nodes:h,edges:u}}var Wp=async(o,e)=>async t=>{let{nodes:n,edges:r,orientation:a="vertical",width:s=360,height:i=220,className:l=""}=t,c=Tr(n,r),{nodes:d,edges:f}=Er(n,r,{orientation:a,width:s,height:i}),h=d.map(p=>{let m=n.find(y=>y.id===p.id),g=m?.status??"default";return rn("div",{class:`wf-pipeline-node wf-pipeline-node--${g}`,style:{left:`${Math.round(p.x)}px`,top:`${Math.round(p.y)}px`},"data-id":p.id},m?.label??p.id)}),u=f.map((p,m)=>rn("path",{class:"wf-pipeline-edge",d:p.d,key:`e${m}`}));return rn("div",{class:`wf-pipeline${l?` ${l}`:""}`},[rn("svg",{class:"wf-pipeline-svg",width:s,height:i,viewBox:`0 0 ${s} ${i}`,"aria-hidden":!0},u),rn("div",{class:"wf-pipeline-nodes"},h),c&&rn("div",{class:"wf-pipeline-warn"},"\u68C0\u6D4B\u5230\u73AF\u4F9D\u8D56\u2014\u2014\u5E03\u5C40\u53EF\u80FD\u4E0D\u51C6\u786E")].filter(Boolean))};import{h as sn}from"weifuwu/ui-dom";function po(o,e){for(let t of o){if(t.key===e)return t.label;if(t.children){let n=po(t.children,e);if(n)return n}}}var Up=async(o,e)=>{let t=!1,n=[],r=null,a=e.ui.usePopup?.({trigger:()=>"click",placement:()=>"bottom",center:!1,gap:4,el:()=>r,isOpen:()=>t,setOpen:c=>{t=c,e.ui.render()}})??{open:!1,setOpen:()=>{},wrapProps:{},portal:()=>null,refresh:()=>{}},s=()=>{a.setOpen(!a.open)},i=(c,d)=>{if(c==null)return"";if(Array.isArray(c)){if(c.length===0)return"";let f=c.map(h=>po(d,h)).filter(Boolean);return f.length===0?"":f.length>2?`${f.slice(0,2).join("\u3001")} \u7B49 ${f.length} \u9879`:f.join("\u3001")}return po(d,c)??""},l=c=>{r=c,c&&a.open&&a.refresh()};return async c=>{let{options:d,value:f,onChange:h,multiple:u=!1,placeholder:p="\u8BF7\u9009\u62E9",disabled:m,error:g,className:y=""}=c;f!==void 0&&!h&&console.warn("[weifuwu] TreeSelect: \u4F20\u5165\u4E86\u53D7\u63A7 value \u4F46\u7F3A\u5C11 onChange \u56DE\u8C03\u2014\u2014\u9009\u62E9\u5C06\u9759\u9ED8\u5931\u6548");let v=i(f,d),b=u&&Array.isArray(f),w=sn(xr,{data:d,expandOnClick:!0,selectedKeys:b?void 0:f?[f]:[],onSelect:S=>{S.length!==0&&(h?.(S[0]),a.setOpen(!1))},checkable:u||void 0,checkedKeys:b?f:void 0,onCheck:u?S=>{h?.(S)}:void 0,expandedKeys:n,onExpand:S=>{n=S,e.ui.render()}}),k=a.portal(sn("div",{class:"wf-treeselect-dropdown"},w),"treeselect");return sn("div",{class:`wf-treeselect${y?` ${y}`:""}`},[sn("div",{class:["wf-treeselect-trigger",t?" wf-treeselect-trigger--open":"",m?" wf-treeselect-trigger--dis":"",g?" wf-treeselect-trigger--err":""].filter(Boolean).join(" "),role:"combobox",tabindex:m?-1:0,"aria-haspopup":"listbox","aria-expanded":String(t),"aria-disabled":m?"true":void 0,ref:l,onClick:m?void 0:s,onKeyDown:S=>{m||(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),s())}},[sn("span",{class:v?"wf-treeselect-label":"wf-treeselect-placeholder"},v||p),sn("span",{class:`wf-treeselect-arrow${t?" wf-treeselect-arrow--open":""}`})]),k].filter(Boolean))}};import{h as $t}from"weifuwu/ui-dom";var Fp=Symbol("LayoutSider"),Gp=async o=>async e=>{let n=(Array.isArray(e.children)?e.children:[e.children]).some(r=>r?.type===$r);return $t("div",{class:["wf-layout",n?"wf-layout--row":"wf-layout--column",e.className].filter(Boolean).join(" "),style:e.style,"data-layout":n?"row":"column"},e.children)},$r=async(o,e)=>{let t=o?.collapsed??!1,n=o?.collapsed,r,a=!1,s=()=>{let i=!n;r?r(i):(t=i,e.ui.render())};return async i=>{n=i.collapsed,r=i.onCollapse,a=!!i.collapsible;let l=i.collapsed!==void 0?!!i.collapsed:t,c=l?i.collapsedWidth??"var(--wf-layout-sider-collapsed-width, 64px)":i.width??"var(--wf-layout-sider-width, 240px)",d=[$t("div",{class:"wf-layout-sider-body"},i.children)];return a&&d.push($t("button",{class:"wf-layout-sider-trigger","aria-label":l?"\u5C55\u5F00\u4FA7\u8FB9\u680F":"\u6298\u53E0\u4FA7\u8FB9\u680F",onClick:()=>s()},i.trigger??$t("span",{class:`wf-layout-sider-trigger-icon${l?" is-collapsed":""}`},"\u25C2"))),$t("aside",{class:`wf-layout-sider${l?" wf-layout-sider--collapsed":""}`,style:{width:c},"data-collapsed":l?"true":"false"},d)}};$r[Fp]=!0;var qp=async o=>async e=>$t("header",{class:"wf-layout-header",style:e.style},e.children),Xp=async o=>async e=>$t("main",{class:"wf-layout-content",style:e.style},e.children),Yp=async o=>async e=>$t("footer",{class:"wf-layout-footer",style:e.style},e.children);import{h as wt}from"weifuwu/ui-dom";var Jp=async(o,e)=>{let t="top",n,r=!1,a=null,s=d=>{d&&(a=d)},i=null,l=e.ui.usePopup({trigger:()=>"click",placement:()=>t,gap:8,el:()=>a,isOpen:()=>i?.open??!1,setOpen:d=>i?.setOpen(d),disabled:()=>r}),c=()=>{i?.setOpen(!1)};return async d=>{let{title:f,okText:h="\u786E\u5B9A",cancelText:u="\u53D6\u6D88",danger:p,onConfirm:m,onCancel:g,position:y="top",icon:v}=d;t=y,i=e.ui.useOpen({open:d.open,onOpenChange:d.onOpenChange,name:"Popconfirm"}),n=m,r=!!d.disabled;let b=i?.open??!1,w=wt("div",{class:`wf-popconfirm wf-popconfirm--${y}${b?" wf-popconfirm--enter":" wf-popconfirm--exit"}`,role:"dialog","aria-label":String(f??"\u786E\u8BA4")},[wt("div",{class:"wf-popconfirm-title"},[wt("span",{class:"wf-popconfirm-icon"},v??wt(O,{name:p?"alert":"info"})),wt("span",{class:"wf-popconfirm-title-text"},f)]),wt("div",{class:"wf-popconfirm-actions"},[wt("button",{class:"wf-popconfirm-cancel wf-btn wf-btn--secondary",onClick:k=>{k.stopPropagation(),g?.(),c()}},u),wt("button",{class:`wf-popconfirm-ok wf-btn${p?" wf-btn--danger":" wf-btn--primary"}`,onClick:k=>{k.stopPropagation(),m?.(),c()}},h)])]);return wt("span",{class:"wf-popconfirm-wrap",ref:s,"aria-haspopup":"dialog","aria-expanded":String(b),...l.wrapProps},[d.children,l.portal(w,"wf-popconfirm")].filter(k=>k!=null&&k!==!1))}};import{h as uo}from"weifuwu/ui-dom";function Mi(o,e){let t=e.trim().toLowerCase();return t?o.filter(n=>String(n.label??n.value).toLowerCase().includes(t)||n.value.toLowerCase().includes(t)):o}var Zp=async(o,e)=>{let t=o?.open??!1,n=-1,r=o?.value??"",a,s=o?.open,i,l,c=null,d=m=>{m&&(c=m)},f=e.ui.usePopup({trigger:()=>"click",placement:()=>"bottom",center:!1,gap:4,el:()=>c,isOpen:()=>t,setOpen:m=>{t=m,e.ui.render(),i?.(m)}}),h=m=>{f.setOpen(m)},u=null,p=m=>{u?.setValue(m.value),l?.(m.value,m),u?.setKeyword(""),u?.setSelectedLabel(m.label??m.value),n=-1,h(!1)};return async m=>{let{options:g,value:y,placeholder:v="\u8F93\u5165\u641C\u7D22\u2026",disabled:b,error:w,renderOption:k,onSelect:S}=m;u=e.ui.useControlledInput({value:y,onChange:m.onChange,name:"AutoComplete"});let $=u.keyword,C=u.selectedLabel;r=y??"",a=m.onChange,s=m.open,i=m.onOpenChange,l=S,m.open!==void 0&&(t=!!m.open);let D=t&&$||r,T=(m.filter??Mi)(g,D);n>=T.length&&(n=-1);let A=!1,P=M=>{if(A||M.isComposing)return;let x=M.target.value;u?.setKeyword(x),u?.setValue(x),t||h(!0),n=-1},j=()=>{A=!0},R=M=>{A=!1;let x=M.target?.value??"";u?.setKeyword(x),u?.setValue(x),t||h(!0)},W=M=>{if(!t&&(M.key==="ArrowDown"||M.key==="ArrowUp")){M.preventDefault(),h(!0),n=M.key==="ArrowDown"?0:T.length-1;return}M.key==="ArrowDown"?(M.preventDefault(),n=(n+1)%T.length,e.ui.render()):M.key==="ArrowUp"?(M.preventDefault(),n=n<=0?T.length-1:n-1,e.ui.render()):M.key==="Enter"?t&&n>=0&&T[n]&&(M.preventDefault(),p(T[n])):M.key==="Escape"&&(M.preventDefault(),h(!1))},E=uo("div",{class:"wf-autocomplete-dropdown"},T.map((M,x)=>uo("div",{class:`wf-autocomplete-option${x===n?" wf-autocomplete-option--active":""}`,key:M.value,onMouseDown:I=>{I.stopPropagation(),M.disabled||p(M)}},k?k(M):M.label??M.value)));return uo("div",{class:"wf-autocomplete-wrap",ref:d},[uo("input",{class:["wf-autocomplete-input wf-input",w?" wf-autocomplete-input--err":""].filter(Boolean).join(" "),"aria-invalid":w?"true":void 0,role:"combobox","aria-haspopup":"listbox","aria-expanded":String(t),value:t?$:C||D,placeholder:v,disabled:b,onInput:P,onKeyDown:W,onCompositionStart:j,onCompositionEnd:R,onFocus:()=>{t||h(!0)}}),f.portal(E,"wf-autocomplete")])}};import{h as Pi}from"weifuwu/ui-dom";var Qp=async(o,e)=>async t=>{let{href:n,variant:r="default",underline:a=!0,disabled:s,target:i,icon:l,onClick:c,children:d}=t,f=["wf-link",`wf-link--${r}`,a===!1&&"wf-link--no-underline",s&&"wf-link--disabled"].filter(Boolean).join(" ");if(l!==void 0){let h=[l];return Array.isArray(d)?h.push(...d):d!==void 0&&h.push(d),Pi("a",{class:f,href:s?void 0:n,target:i,rel:i==="_blank"?"noopener noreferrer":void 0,"aria-disabled":s?"true":void 0,onClick:s?u=>{u.preventDefault(),u.stopPropagation()}:c},h)}return Pi("a",{class:f,href:s?void 0:n,target:i,rel:i==="_blank"?"noopener noreferrer":void 0,"aria-disabled":s?"true":void 0,onClick:s?h=>{h.preventDefault(),h.stopPropagation()}:c},d)};import{h as zt}from"weifuwu/ui-dom";var eu=async(o,e)=>async t=>{let{icon:n,badge:r,position:a="bottom-right",static:s,disabled:i,onClick:l,children:c}=t;return zt("button",{class:`wf-float-btn wf-float-btn--${a}${s?" wf-float-btn--static":""}${i?" wf-float-btn--disabled":""}`,style:{position:s?void 0:"fixed"},"aria-label":t["aria-label"],disabled:i,onClick:i?void 0:l},[n,c,r!=null&&zt("span",{class:"wf-float-btn-badge"},String(r))].filter(d=>d!=null&&d!==!1))},tu=async(o,e)=>{let t=!1;return async n=>{let{position:r="bottom-right",children:a}=n,s=Array.isArray(a)?a:[a];return zt("div",{class:`wf-float-group wf-float-group--${r}${t?" wf-float-group--open":""}`},[zt("div",{class:"wf-float-group-items"},t?s.map((i,l)=>{let c={...i.props??{},static:!0},d=i.type?{...i,props:c}:i;return zt("div",{class:"wf-float-group-item",key:l},d)}):[]),zt("button",{class:"wf-float-group-main","aria-label":t?"\u6536\u8D77":"\u5C55\u5F00","aria-expanded":t?"true":"false",onClick:()=>{t=!t,e.ui.render()}},zt("span",{class:`wf-float-group-icon${t?" is-open":""}`},"+"))])}};import{h as st}from"weifuwu/ui-dom";var nu=async(o,e)=>{let t=null,n=null,r=new Map,a=new Map,s=new Map,i=u=>{let p=s.get(u);return p||(p=m=>{m&&r.set(u,m)},s.set(u,p)),p},l=new Map,c=u=>{let p=l.get(u);return p||(p=m=>{m&&a.set(u,m)},l.set(u,p)),p},d=e.ui.usePopup({trigger:()=>"hover",placement:()=>"bottom",center:!1,gap:4,el:()=>t?r.get(t)??null:null,isOpen:()=>!!t,setOpen:u=>{u||(t=null,n=null,e.ui.render())}}),f=e.ui.usePopup({trigger:()=>"hover",placement:()=>"right",center:!1,gap:4,el:()=>n?a.get(n)??null:null,isOpen:()=>!!n,setOpen:u=>{u||(n=null,e.ui.render())}}),h=(u,p,m,g)=>u.map(y=>{let v=!!y.children?.length,b=()=>{y.disabled||(v?(n=n===y.key?null:y.key,e.ui.render()):(m?.(y.key),d.setOpen(!1),f.setOpen(!1)))};return st("div",{class:`wf-navmenu-sub-item${y.disabled?" wf-navmenu-sub-item--disabled":""}${v&&n===y.key?" wf-navmenu-sub-item--open":""}`,key:y.key,role:"menuitem",tabIndex:y.disabled?void 0:0,"aria-haspopup":v?"menu":void 0,"aria-disabled":y.disabled?"true":void 0,ref:c(y.key),onClick:b,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault?.(),b())},onMouseEnter:()=>{!y.disabled&&v&&n!==y.key&&(n=y.key,e.ui.render())}},[st("span",{class:"wf-navmenu-sub-label"},y.label),v?st("span",{class:"wf-navmenu-sub-arrow"},st(O,{name:"chevron-right"})):null,(v&&n===y.key?f.portal(st("div",{class:"wf-navmenu-sub wf-navmenu-sub--nested wf-navmenu-sub--open",role:"menu",onMouseEnter:()=>{n!==y.key&&(n=y.key,e.ui.render())}},h(y.children||[],p,m,g+1)),"wf-navmenu-nested"):null)??null].filter(w=>w!=null))});return async u=>{let{items:p,activeKey:m,onSelect:g}=u;return st("nav",{class:"wf-navmenu",role:"navigation","aria-label":"\u4E3B\u5BFC\u822A"},p.map(y=>{let v=!!y.children?.length,b=t===y.key;return st("div",{class:`wf-navmenu-item${y.disabled?" wf-navmenu-item--disabled":""}${m===y.key?" wf-navmenu-item--active":""}`,key:y.key,role:"menuitem","aria-haspopup":v?"menu":void 0,"aria-expanded":v&&b?"true":void 0,ref:i(y.key),tabIndex:y.disabled?void 0:0,onClick:()=>{y.disabled||(v?(t=b?null:y.key,n=null,e.ui.render()):(g?.(y.key),d.setOpen(!1),f.setOpen(!1)))},onMouseEnter:()=>{!y.disabled&&v&&t!==y.key&&(t=y.key,n=null,e.ui.render())},onKeyDown:w=>{if(w.key==="Enter"||w.key===" "){if(w.preventDefault?.(),y.disabled)return;v?(t=b?null:y.key,n=null,e.ui.render()):(g?.(y.key),d.setOpen(!1),f.setOpen(!1))}else w.key==="ArrowRight"&&v?(t=y.key,e.ui.render()):w.key==="Escape"&&(t=null,n=null,e.ui.render())}},[st("span",{class:"wf-navmenu-label"},y.label),v&&st("span",{class:"wf-navmenu-arrow"},st(O,{name:"chevron-down"})),v&&b?d.portal(st("div",{class:"wf-navmenu-sub wf-navmenu-sub--open",role:"menu"},h(y.children||[],m,g,1)),"wf-navmenu-sub"):null].filter(w=>w!==!1&&w!==null&&w!==void 0))}))}};import{h as Ti}from"weifuwu/ui-dom";var ou={sm:"var(--wf-space-sm, 8px)",md:"var(--wf-space-md, 16px)",lg:"var(--wf-space-lg, 24px)"},ru=async(o,e)=>async t=>{let{size:n="md",direction:r="horizontal",wrap:a,align:s,split:i,children:l}=t,c=typeof n=="number"?`${n}px`:ou[n]??"var(--wf-space-md, 16px)",d=[];if(Array.isArray(l)){if(d=l,i!==void 0){let f=[];l.forEach((h,u)=>{u>0&&f.push(Ti("span",{class:"wf-space-split",key:`s${u}`},i)),f.push(h)}),d=f}}else l!==void 0&&(d=[l]);return Ti("div",{class:`wf-space${r==="vertical"?" wf-space--vertical":""}`,style:{gap:c,flexWrap:a?"wrap":void 0,alignItems:s==="start"?"flex-start":s==="end"?"flex-end":s}},d)};import{h as Ar}from"weifuwu/ui-dom";function Ei(o){return o<=0?"1":`${o/24*100}%`}var su=async(o,e)=>async t=>{let{gutter:n,flex:r,gap:a,direction:s="row",align:i,children:l}=t,c=n?n/2:0,d=Array.isArray(l)?l.map(f=>f&&typeof f=="object"&&f.type===Dr?Ar(Dr,{...f.props,gutter:n},f.props?.children):f):l;return Ar("div",{class:`wf-grid-comp${r?" wf-grid-comp--flex":""}${s==="column"?" wf-grid-comp--column":""}`,style:{margin:c?`0 -${c}px`:void 0,gap:a!==void 0?`${a}px`:void 0,alignItems:i==="start"?"flex-start":i==="end"?"flex-end":i}},d)},Dr=async(o,e)=>async t=>{let{span:n=24,gutter:r,children:a}=t,s=r?r/2:0;return Ar("div",{class:"wf-col",style:{width:Ei(n),flex:n<=0?"1":"0 0 auto",padding:s?`0 ${s}px`:void 0}},a)};import{h as iu}from"weifuwu/ui-dom";var au=async(o,e)=>async t=>{let{maxHeight:n,height:r,orientation:a="vertical",always:s,children:i,style:l}=t,c=a==="horizontal";return iu("div",{class:`wf-scrollbar${s?" wf-scrollbar--always":""}`,style:{...l,maxHeight:n!==void 0?typeof n=="number"?`${n}px`:n:void 0,height:r!==void 0?typeof r=="number"?`${r}px`:r:void 0,overflowY:c?void 0:"auto",overflowX:c?"auto":void 0}},i)};import{h as pt}from"weifuwu/ui-dom";var lu=3,cu=async(o,e)=>{let t=!1;return async n=>{let{items:r,onClose:a}=n,s=r.length>=lu,i=c=>pt("div",{class:`wf-alertgroup-item wf-alertgroup-item--${c.variant??"info"}`,key:c.id},[pt("span",{class:"wf-alertgroup-message"},c.message),c.time&&pt("span",{class:"wf-alertgroup-time"},c.time),a&&pt("button",{class:"wf-alertgroup-close","aria-label":"\u5173\u95ED",onClick:()=>a(c.id)},pt(O,{name:"close"}))]),l=s&&!t?r.slice(0,1):r;return pt("div",{class:"wf-alertgroup",role:"group"},[s&&!t?pt("button",{class:"wf-alertgroup-summary",onClick:()=>{t=!0,e.ui.render()}},pt("span",{},`+${r.length} \u6761\u901A\u77E5`)):null,t&&s?pt("div",{class:"wf-alertgroup-list wf-alertgroup-list--open"},l.map(i)):pt("div",{class:"wf-alertgroup-list"},l.map(i))])}};import{h as Ke}from"weifuwu/ui-dom";var pu=async(o,e)=>{let t=!!o.defaultExpanded;return async n=>{let{items:r,label:a="\u5F15\u7528\u6765\u6E90",maxVisible:s=3,onOpen:i}=n;if(!r?.length)return null;let l=()=>{t=!t,e.ui.render()},c=r.slice(0,s),d=r.length-c.length,f=c.map((h,u)=>{let p=i?{role:"button",tabindex:0,onClick:()=>i(h),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),i(h))}}:h.url?{href:h.url,target:"_blank",rel:"noopener"}:{};return Ke("div",{key:h.id,class:"wf-citation-item"},[Ke("span",{class:"wf-citation-idx"},String(u+1)),Ke("div",{class:"wf-citation-content"},[Ke("div",{class:"wf-citation-title"},[h.title,h.source?Ke("span",{class:"wf-citation-source"},h.source):null]),Ke("div",{class:"wf-citation-snippet"},h.snippet)]),i||h.url?Ke("a",{class:"wf-citation-link",...p},Ke(O,{name:"external-link"})):null])});return d>0&&f.push(Ke("div",{key:"overflow",class:"wf-citation-item wf-citation-more",role:"button",tabindex:0,"aria-label":`\u5C55\u5F00\u5168\u90E8 ${r.length} \u6761\u5F15\u7528`,onClick:l,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),l())}},`+${d} \u6761\u66F4\u591A`)),Ke("div",{class:"wf-citation"},[Ke("button",{type:"button",class:"wf-citation-toggle","aria-expanded":t,onClick:l,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),l())}},[Ke("span",{class:`wf-citation-chevron${t?" wf-citation-chevron--open":""}`},Ke(O,{name:"chevron-down"})),Ke("span",{class:"wf-citation-count"},`${a} \xB7 ${r.length} \u6761`)]),Ke("div",{class:`wf-citation-body${t?" wf-citation-body--open":""}`,hidden:!t},f)])}};import{h as He}from"weifuwu/ui-dom";var uu=24*3600*1e3;function $i(o,e=Date.now()){let t=new Date(e).setHours(0,0,0,0),n=t-uu;return o>=t?"today":o>=n?"yesterday":"earlier"}var du={today:"\u4ECA\u5929",yesterday:"\u6628\u5929",earlier:"\u66F4\u65E9"},fu=async(o,e)=>{let t="",n,r="",a;return async s=>{let{sessions:i,activeId:l,onSelect:c,onNew:d,onRename:f,onDelete:h,searchable:u,newLabel:p="\u65B0\u5EFA\u4F1A\u8BDD"}=s,m=t?i.filter(S=>S.title.toLowerCase().includes(t.toLowerCase())):i,g=[];for(let S of m){let $=$i(S.updatedAt??0),C=g.find(D=>D.key===$);C?C.items.push(S):g.push({key:$,items:[S]})}let y=m,v=a?y.findIndex(S=>S.id===a):y.findIndex(S=>S.id===(l??"")),b=S=>{if(y.length===0)return;let $=v>=0?v:0,C=$;if(S.key==="ArrowDown")C=Math.min($+1,y.length-1);else if(S.key==="ArrowUp")C=Math.max($-1,0);else return;S.preventDefault(),a=y[C].id,e.ui.render()},w=S=>{let $=S.id===l,C=S.id===a;return S.id===n?He("div",{key:S.id,class:"wf-session-item wf-session-item--rename","data-id":S.id},He("input",{class:"wf-session-rename-input",value:r,"aria-label":"\u91CD\u547D\u540D\u4F1A\u8BDD",onInput:T=>{r=T.target.value},onKeyDown:T=>{if(T.key==="Enter"){T.preventDefault();let A=r.trim();A&&f?.(S.id,A),n=void 0,e.ui.render()}else T.key==="Escape"&&(T.preventDefault(),n=void 0,e.ui.render())},onBlur:()=>{n===S.id&&(n=void 0,e.ui.render())}})):He("div",{key:S.id,class:`wf-session-item${$?" wf-session-item--active":""}${C?" wf-session-item--focus":""}`,"data-id":S.id,role:"option","aria-selected":$?"true":"false",onClick:()=>c?.(S.id),onKeyDown:T=>{T.key==="Enter"&&(T.preventDefault(),c?.(S.id))}},[He("span",{class:"wf-session-title"},S.title),f?He("button",{type:"button",class:"wf-session-rename","aria-label":`\u91CD\u547D\u540D ${S.title}`,onClick:T=>{T.stopPropagation(),n=S.id,r=S.title,e.ui.render()}},He(O,{name:"edit"})):null,h?He("button",{type:"button",class:"wf-session-del","aria-label":`\u5220\u9664 ${S.title}`,onClick:T=>{T.stopPropagation(),h(S.id)}},He(O,{name:"trash"})):null])},k=m.length===0?[He("div",{class:"wf-session-empty"},"\u6682\u65E0\u4F1A\u8BDD")]:g.map(S=>[He("div",{class:"wf-session-group-title",key:`g-${S.key}`},du[S.key]),...S.items.map(w)]);return He("div",{class:"wf-session"},[u||d?He("div",{class:"wf-session-head"},[u?He("input",{class:"wf-session-search",placeholder:"\u641C\u7D22\u4F1A\u8BDD\u2026","aria-label":"\u641C\u7D22\u4F1A\u8BDD",value:t,onInput:S=>{t=S.target.value,e.ui.render()}}):null,d?He("button",{type:"button",class:"wf-session-new wf-btn wf-btn--primary wf-btn--sm",onClick:()=>d()},He(O,{name:"plus"})):null]):null,He("div",{class:"wf-session-list",role:"listbox","aria-label":"\u4F1A\u8BDD\u5217\u8868",tabindex:c?0:void 0,onKeyDown:b},k)])}};export{Ra as Accordion,Zc as Affix,Ll as AiChat,ko as Alert,cu as AlertGroup,Tp as Anchor,Xo as ApprovalCard,Vc as AspectRatio,Rl as AuthPage,Zp as AutoComplete,To as Avatar,Tc as AvatarGroup,Jc as BackTop,ka as Badge,Ba as Breadcrumb,_t as Button,wp as Calendar,Mo as Card,gp as Carousel,up as Cascader,Ja as Chart,Jo as ChatInput,wo as Checkbox,Uc as CheckboxGroup,pu as CitationCard,Qo as CodeBlock,Dr as Col,ap as Collapse,Yc as ColorPicker,fp as Command,la as Confirm,rp as ContextMenu,Gc as CopyButton,qa as DatePicker,Pc as Descriptions,Hp as DiffView,Ha as Divider,_a as Drawer,ba as Dropdown,Tn as Editor,ha as EmptyState,Ut as Field,Sc as FilePreview,$o as FileUpload,eu as FloatButton,tu as FloatButtonGroup,$a as Form,su as Grid,Lc as Highlight,Qc as HoverCard,O as Icon,Va as Img,Wa as InView,kp as InfiniteScroll,Hn as Input,qn as InputNumber,Uo as JSONViewer,qo as JsonSchemaForm,Vp as Kanban,Kc as Label,Gp as Layout,Xp as LayoutContent,Yp as LayoutFooter,qp as LayoutHeader,$r as LayoutSider,Qp as Link,Oc as List,ma as Loading,Ep as LogViewer,er as Markdown,sp as Mentions,Ac as Menu,hp as Menubar,Ec as MessageBubble,vo as Modal,nu as NavMenu,op as Notification,Na as PageHeader,wa as Pagination,_c as Paragraph,Dc as PasswordInput,Fc as PinInput,Wp as Pipeline,Jp as Popconfirm,bn as Popover,La as ProgressBar,Bp as QRCode,ra as RadioGroup,Bc as Rate,Yo as ReasoningBlock,yp as Resizable,Nc as Result,au as Scrollbar,Da as SearchInput,Ia as SegmentedControl,_n as Select,fu as SessionList,rr as SheetGrid,ja as Skeleton,sr as SlideCanvas,Aa as Slider,ru as Space,zp as Sparkline,Ma as StatCard,Pa as Steps,Kn as Switch,ia as Table,ya as Tabs,Sa as Tag,Ic as TagsInput,zc as Text,ta as Textarea,Pl as ThemeSwitch,Mc as Timeline,Hc as Title,ua as Toast,ti as Toggle,Wc as ToggleGroup,Fo as ToolCallCard,za as Tooltip,jp as Tour,dp as Transfer,xr as Tree,Up as TreeSelect,Cp as VirtualList,Mp as VirtualTable,xp as Watermark,Wo as applyTheme,Si as computeLayers,Tr as detectCycle,Mi as filterOptions,po as findLabel,bo as flattenOptions,Mr as generateQr,Ml as getTheme,Ei as gridColumns,$i as groupKey,Er as layoutGraph,Zn as markdownToHtml,di as parseAnsi,Le as parseInline,$n as parseMarkdown,Dn as serializeMarkdown};