dsh-plugin-core 0.32.0 → 0.33.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 (632) hide show
  1. package/dist/adv/explorer/FileBrowser.d.ts +58 -0
  2. package/dist/adv/explorer/FileBrowser.d.ts.map +1 -0
  3. package/dist/adv/explorer/FileBrowser.js +632 -0
  4. package/dist/adv/explorer/FileBrowser.js.map +1 -0
  5. package/dist/adv/explorer/crumb-nav.d.ts +45 -0
  6. package/dist/adv/explorer/crumb-nav.d.ts.map +1 -0
  7. package/dist/adv/explorer/crumb-nav.js +78 -0
  8. package/dist/adv/explorer/crumb-nav.js.map +1 -0
  9. package/dist/adv/explorer/crumbs-menu.d.ts +37 -0
  10. package/dist/adv/explorer/crumbs-menu.d.ts.map +1 -0
  11. package/dist/adv/explorer/crumbs-menu.js +102 -0
  12. package/dist/adv/explorer/crumbs-menu.js.map +1 -0
  13. package/dist/adv/explorer/explorer-css.d.ts +2 -0
  14. package/dist/adv/explorer/explorer-css.d.ts.map +1 -0
  15. package/dist/adv/explorer/explorer-css.generated.d.ts +2 -0
  16. package/dist/adv/explorer/explorer-css.generated.d.ts.map +1 -0
  17. package/dist/adv/explorer/explorer-css.generated.js +4 -0
  18. package/dist/adv/explorer/explorer-css.generated.js.map +1 -0
  19. package/dist/adv/explorer/explorer-css.js +3 -0
  20. package/dist/adv/explorer/explorer-css.js.map +1 -0
  21. package/dist/adv/explorer/fs-face.d.ts +36 -0
  22. package/dist/adv/explorer/fs-face.d.ts.map +1 -0
  23. package/dist/adv/explorer/fs-face.js +74 -0
  24. package/dist/adv/explorer/fs-face.js.map +1 -0
  25. package/dist/adv/explorer/index.d.ts +6 -0
  26. package/dist/adv/explorer/index.d.ts.map +1 -0
  27. package/dist/adv/explorer/index.js +6 -0
  28. package/dist/adv/explorer/index.js.map +1 -0
  29. package/dist/adv/explorer/landing.d.ts +26 -0
  30. package/dist/adv/explorer/landing.d.ts.map +1 -0
  31. package/dist/adv/explorer/landing.js +43 -0
  32. package/dist/adv/explorer/landing.js.map +1 -0
  33. package/dist/adv/explorer/open.d.ts +137 -0
  34. package/dist/adv/explorer/open.d.ts.map +1 -0
  35. package/dist/adv/explorer/open.js +350 -0
  36. package/dist/adv/explorer/open.js.map +1 -0
  37. package/dist/adv/explorer/picker-placement.d.ts +69 -0
  38. package/dist/adv/explorer/picker-placement.d.ts.map +1 -0
  39. package/dist/adv/explorer/picker-placement.js +122 -0
  40. package/dist/adv/explorer/picker-placement.js.map +1 -0
  41. package/dist/adv/explorer/preview/BytesPreview.d.ts +12 -0
  42. package/dist/adv/explorer/preview/BytesPreview.d.ts.map +1 -0
  43. package/dist/adv/explorer/preview/BytesPreview.js +60 -0
  44. package/dist/adv/explorer/preview/BytesPreview.js.map +1 -0
  45. package/dist/adv/explorer/preview/HtmlPreview.d.ts +17 -0
  46. package/dist/adv/explorer/preview/HtmlPreview.d.ts.map +1 -0
  47. package/dist/adv/explorer/preview/HtmlPreview.js +113 -0
  48. package/dist/adv/explorer/preview/HtmlPreview.js.map +1 -0
  49. package/dist/adv/explorer/preview/OfficePreview.d.ts +12 -0
  50. package/dist/adv/explorer/preview/OfficePreview.d.ts.map +1 -0
  51. package/dist/adv/explorer/preview/OfficePreview.js +63 -0
  52. package/dist/adv/explorer/preview/OfficePreview.js.map +1 -0
  53. package/dist/adv/explorer/preview/TextPreview.d.ts +18 -0
  54. package/dist/adv/explorer/preview/TextPreview.d.ts.map +1 -0
  55. package/dist/adv/explorer/preview/TextPreview.js +122 -0
  56. package/dist/adv/explorer/preview/TextPreview.js.map +1 -0
  57. package/dist/adv/explorer/preview/index.d.ts +24 -0
  58. package/dist/adv/explorer/preview/index.d.ts.map +1 -0
  59. package/dist/adv/explorer/preview/index.js +58 -0
  60. package/dist/adv/explorer/preview/index.js.map +1 -0
  61. package/dist/adv/explorer/preview/md-labels.d.ts +3 -0
  62. package/dist/adv/explorer/preview/md-labels.d.ts.map +1 -0
  63. package/dist/adv/explorer/preview/md-labels.js +12 -0
  64. package/dist/adv/explorer/preview/md-labels.js.map +1 -0
  65. package/dist/adv/explorer/preview-title-bar.d.ts +26 -0
  66. package/dist/adv/explorer/preview-title-bar.d.ts.map +1 -0
  67. package/dist/adv/explorer/preview-title-bar.js +48 -0
  68. package/dist/adv/explorer/preview-title-bar.js.map +1 -0
  69. package/dist/adv/explorer/types.d.ts +259 -0
  70. package/dist/adv/explorer/types.d.ts.map +1 -0
  71. package/dist/adv/explorer/types.js +379 -0
  72. package/dist/adv/explorer/types.js.map +1 -0
  73. package/dist/adv/session/SessionViewModal.d.ts +37 -0
  74. package/dist/adv/session/SessionViewModal.d.ts.map +1 -0
  75. package/dist/adv/session/SessionViewModal.js +1133 -0
  76. package/dist/adv/session/SessionViewModal.js.map +1 -0
  77. package/dist/adv/session/changes.d.ts +73 -0
  78. package/dist/adv/session/changes.d.ts.map +1 -0
  79. package/dist/adv/session/changes.js +134 -0
  80. package/dist/adv/session/changes.js.map +1 -0
  81. package/dist/adv/session/faces.d.ts +244 -0
  82. package/dist/adv/session/faces.d.ts.map +1 -0
  83. package/dist/adv/session/faces.js +17 -0
  84. package/dist/adv/session/faces.js.map +1 -0
  85. package/dist/adv/session/index.d.ts +7 -0
  86. package/dist/adv/session/index.d.ts.map +1 -0
  87. package/dist/adv/session/index.js +27 -0
  88. package/dist/adv/session/index.js.map +1 -0
  89. package/dist/adv/session/mirror/AskCard.d.ts +35 -0
  90. package/dist/adv/session/mirror/AskCard.d.ts.map +1 -0
  91. package/dist/adv/session/mirror/AskCard.js +131 -0
  92. package/dist/adv/session/mirror/AskCard.js.map +1 -0
  93. package/dist/adv/session/mirror/BashRow.d.ts +14 -0
  94. package/dist/adv/session/mirror/BashRow.d.ts.map +1 -0
  95. package/dist/adv/session/mirror/BashRow.js +143 -0
  96. package/dist/adv/session/mirror/BashRow.js.map +1 -0
  97. package/dist/adv/session/mirror/ChangedFileDiff.d.ts +25 -0
  98. package/dist/adv/session/mirror/ChangedFileDiff.d.ts.map +1 -0
  99. package/dist/adv/session/mirror/ChangedFileDiff.js +178 -0
  100. package/dist/adv/session/mirror/ChangedFileDiff.js.map +1 -0
  101. package/dist/adv/session/mirror/ChangedFilesCard.d.ts +18 -0
  102. package/dist/adv/session/mirror/ChangedFilesCard.d.ts.map +1 -0
  103. package/dist/adv/session/mirror/ChangedFilesCard.js +165 -0
  104. package/dist/adv/session/mirror/ChangedFilesCard.js.map +1 -0
  105. package/dist/adv/session/mirror/ChatGroupSeat.d.ts +24 -0
  106. package/dist/adv/session/mirror/ChatGroupSeat.d.ts.map +1 -0
  107. package/dist/adv/session/mirror/ChatGroupSeat.js +135 -0
  108. package/dist/adv/session/mirror/ChatGroupSeat.js.map +1 -0
  109. package/dist/adv/session/mirror/ChatNodeSeat.d.ts +43 -0
  110. package/dist/adv/session/mirror/ChatNodeSeat.d.ts.map +1 -0
  111. package/dist/adv/session/mirror/ChatNodeSeat.js +133 -0
  112. package/dist/adv/session/mirror/ChatNodeSeat.js.map +1 -0
  113. package/dist/adv/session/mirror/ChatView.d.ts +47 -0
  114. package/dist/adv/session/mirror/ChatView.d.ts.map +1 -0
  115. package/dist/adv/session/mirror/ChatView.js +138 -0
  116. package/dist/adv/session/mirror/ChatView.js.map +1 -0
  117. package/dist/adv/session/mirror/CommandCard.d.ts +20 -0
  118. package/dist/adv/session/mirror/CommandCard.d.ts.map +1 -0
  119. package/dist/adv/session/mirror/CommandCard.js +69 -0
  120. package/dist/adv/session/mirror/CommandCard.js.map +1 -0
  121. package/dist/adv/session/mirror/ContextInjectionRow.d.ts +18 -0
  122. package/dist/adv/session/mirror/ContextInjectionRow.d.ts.map +1 -0
  123. package/dist/adv/session/mirror/ContextInjectionRow.js +50 -0
  124. package/dist/adv/session/mirror/ContextInjectionRow.js.map +1 -0
  125. package/dist/adv/session/mirror/Deliverables.d.ts +24 -0
  126. package/dist/adv/session/mirror/Deliverables.d.ts.map +1 -0
  127. package/dist/adv/session/mirror/Deliverables.js +175 -0
  128. package/dist/adv/session/mirror/Deliverables.js.map +1 -0
  129. package/dist/adv/session/mirror/GenericCommandCard.d.ts +136 -0
  130. package/dist/adv/session/mirror/GenericCommandCard.d.ts.map +1 -0
  131. package/dist/adv/session/mirror/GenericCommandCard.js +948 -0
  132. package/dist/adv/session/mirror/GenericCommandCard.js.map +1 -0
  133. package/dist/adv/session/mirror/MessageIconActions.d.ts +16 -0
  134. package/dist/adv/session/mirror/MessageIconActions.d.ts.map +1 -0
  135. package/dist/adv/session/mirror/MessageIconActions.js +69 -0
  136. package/dist/adv/session/mirror/MessageIconActions.js.map +1 -0
  137. package/dist/adv/session/mirror/MessageItem.d.ts +93 -0
  138. package/dist/adv/session/mirror/MessageItem.d.ts.map +1 -0
  139. package/dist/adv/session/mirror/MessageItem.js +194 -0
  140. package/dist/adv/session/mirror/MessageItem.js.map +1 -0
  141. package/dist/adv/session/mirror/ReasoningRow.d.ts +11 -0
  142. package/dist/adv/session/mirror/ReasoningRow.d.ts.map +1 -0
  143. package/dist/adv/session/mirror/ReasoningRow.js +111 -0
  144. package/dist/adv/session/mirror/ReasoningRow.js.map +1 -0
  145. package/dist/adv/session/mirror/RunningStatus.d.ts +12 -0
  146. package/dist/adv/session/mirror/RunningStatus.d.ts.map +1 -0
  147. package/dist/adv/session/mirror/RunningStatus.js +57 -0
  148. package/dist/adv/session/mirror/RunningStatus.js.map +1 -0
  149. package/dist/adv/session/mirror/StatDialog.d.ts +20 -0
  150. package/dist/adv/session/mirror/StatDialog.d.ts.map +1 -0
  151. package/dist/adv/session/mirror/StatDialog.js +49 -0
  152. package/dist/adv/session/mirror/StatDialog.js.map +1 -0
  153. package/dist/adv/session/mirror/ToolDetails.d.ts +65 -0
  154. package/dist/adv/session/mirror/ToolDetails.d.ts.map +1 -0
  155. package/dist/adv/session/mirror/ToolDetails.js +268 -0
  156. package/dist/adv/session/mirror/ToolDetails.js.map +1 -0
  157. package/dist/adv/session/mirror/TurnProcessNodeView.d.ts +10 -0
  158. package/dist/adv/session/mirror/TurnProcessNodeView.d.ts.map +1 -0
  159. package/dist/adv/session/mirror/TurnProcessNodeView.js +57 -0
  160. package/dist/adv/session/mirror/TurnProcessNodeView.js.map +1 -0
  161. package/dist/adv/session/mirror/TurnTailNodeView.d.ts +57 -0
  162. package/dist/adv/session/mirror/TurnTailNodeView.d.ts.map +1 -0
  163. package/dist/adv/session/mirror/TurnTailNodeView.js +106 -0
  164. package/dist/adv/session/mirror/TurnTailNodeView.js.map +1 -0
  165. package/dist/adv/session/mirror/TurnTriggerNodeView.d.ts +16 -0
  166. package/dist/adv/session/mirror/TurnTriggerNodeView.d.ts.map +1 -0
  167. package/dist/adv/session/mirror/TurnTriggerNodeView.js +103 -0
  168. package/dist/adv/session/mirror/TurnTriggerNodeView.js.map +1 -0
  169. package/dist/adv/session/mirror/TurnUsagePanel.d.ts +21 -0
  170. package/dist/adv/session/mirror/TurnUsagePanel.d.ts.map +1 -0
  171. package/dist/adv/session/mirror/TurnUsagePanel.js +41 -0
  172. package/dist/adv/session/mirror/TurnUsagePanel.js.map +1 -0
  173. package/dist/adv/session/mirror/control-details.d.ts +9 -0
  174. package/dist/adv/session/mirror/control-details.d.ts.map +1 -0
  175. package/dist/adv/session/mirror/control-details.js +549 -0
  176. package/dist/adv/session/mirror/control-details.js.map +1 -0
  177. package/dist/adv/session/mirror/detail-i18n.d.ts +4 -0
  178. package/dist/adv/session/mirror/detail-i18n.d.ts.map +1 -0
  179. package/dist/adv/session/mirror/detail-i18n.js +153 -0
  180. package/dist/adv/session/mirror/detail-i18n.js.map +1 -0
  181. package/dist/adv/session/mirror/message-chrome.d.ts +39 -0
  182. package/dist/adv/session/mirror/message-chrome.d.ts.map +1 -0
  183. package/dist/adv/session/mirror/message-chrome.js +153 -0
  184. package/dist/adv/session/mirror/message-chrome.js.map +1 -0
  185. package/dist/adv/session/mirror/process-groups.d.ts +56 -0
  186. package/dist/adv/session/mirror/process-groups.d.ts.map +1 -0
  187. package/dist/adv/session/mirror/process-groups.js +204 -0
  188. package/dist/adv/session/mirror/process-groups.js.map +1 -0
  189. package/dist/adv/session/official-classes.d.ts +28 -0
  190. package/dist/adv/session/official-classes.d.ts.map +1 -0
  191. package/dist/adv/session/official-classes.js +152 -0
  192. package/dist/adv/session/official-classes.js.map +1 -0
  193. package/dist/adv/session/open-review.d.ts +13 -0
  194. package/dist/adv/session/open-review.d.ts.map +1 -0
  195. package/dist/adv/session/open-review.js +32 -0
  196. package/dist/adv/session/open-review.js.map +1 -0
  197. package/dist/adv/session/open-session-view.d.ts +19 -0
  198. package/dist/adv/session/open-session-view.d.ts.map +1 -0
  199. package/dist/adv/session/open-session-view.js +147 -0
  200. package/dist/adv/session/open-session-view.js.map +1 -0
  201. package/dist/adv/session/pending-inputs.d.ts +33 -0
  202. package/dist/adv/session/pending-inputs.d.ts.map +1 -0
  203. package/dist/adv/session/pending-inputs.js +130 -0
  204. package/dist/adv/session/pending-inputs.js.map +1 -0
  205. package/dist/adv/session/session-css.d.ts +2 -0
  206. package/dist/adv/session/session-css.d.ts.map +1 -0
  207. package/dist/adv/session/session-css.generated.d.ts +2 -0
  208. package/dist/adv/session/session-css.generated.d.ts.map +1 -0
  209. package/dist/adv/session/session-css.generated.js +4 -0
  210. package/dist/adv/session/session-css.generated.js.map +1 -0
  211. package/dist/adv/session/session-css.js +3 -0
  212. package/dist/adv/session/session-css.js.map +1 -0
  213. package/dist/adv/session/tail-follow.d.ts +29 -0
  214. package/dist/adv/session/tail-follow.d.ts.map +1 -0
  215. package/dist/adv/session/tail-follow.js +106 -0
  216. package/dist/adv/session/tail-follow.js.map +1 -0
  217. package/dist/ui/actions/Button.d.ts +102 -0
  218. package/dist/ui/actions/Button.d.ts.map +1 -0
  219. package/dist/ui/actions/Button.js +233 -0
  220. package/dist/ui/actions/Button.js.map +1 -0
  221. package/dist/ui/actions/button-css.generated.d.ts +2 -0
  222. package/dist/ui/actions/button-css.generated.d.ts.map +1 -0
  223. package/dist/ui/actions/button-css.generated.js +4 -0
  224. package/dist/ui/actions/button-css.generated.js.map +1 -0
  225. package/dist/ui/display/Card.d.ts +65 -0
  226. package/dist/ui/display/Card.d.ts.map +1 -0
  227. package/dist/ui/display/Card.js +109 -0
  228. package/dist/ui/display/Card.js.map +1 -0
  229. package/dist/ui/display/Chip.d.ts +28 -0
  230. package/dist/ui/display/Chip.d.ts.map +1 -0
  231. package/dist/ui/display/Chip.js +36 -0
  232. package/dist/ui/display/Chip.js.map +1 -0
  233. package/dist/ui/display/CodeViewer.d.ts +38 -0
  234. package/dist/ui/display/CodeViewer.d.ts.map +1 -0
  235. package/dist/ui/display/CodeViewer.js +107 -0
  236. package/dist/ui/display/CodeViewer.js.map +1 -0
  237. package/dist/ui/display/FieldHint.d.ts +18 -0
  238. package/dist/ui/display/FieldHint.d.ts.map +1 -0
  239. package/dist/ui/display/FieldHint.js +40 -0
  240. package/dist/ui/display/FieldHint.js.map +1 -0
  241. package/dist/ui/display/FlipText.d.ts +43 -0
  242. package/dist/ui/display/FlipText.d.ts.map +1 -0
  243. package/dist/ui/display/FlipText.js +59 -0
  244. package/dist/ui/display/FlipText.js.map +1 -0
  245. package/dist/ui/display/LiveText.d.ts +13 -0
  246. package/dist/ui/display/LiveText.d.ts.map +1 -0
  247. package/dist/ui/display/LiveText.js +19 -0
  248. package/dist/ui/display/LiveText.js.map +1 -0
  249. package/dist/ui/display/MarqueeText.d.ts +22 -0
  250. package/dist/ui/display/MarqueeText.d.ts.map +1 -0
  251. package/dist/ui/display/MarqueeText.js +52 -0
  252. package/dist/ui/display/MarqueeText.js.map +1 -0
  253. package/dist/ui/display/SectionHead.d.ts +35 -0
  254. package/dist/ui/display/SectionHead.d.ts.map +1 -0
  255. package/dist/ui/display/SectionHead.js +45 -0
  256. package/dist/ui/display/SectionHead.js.map +1 -0
  257. package/dist/ui/display/Surface.d.ts +43 -0
  258. package/dist/ui/display/Surface.d.ts.map +1 -0
  259. package/dist/ui/display/Surface.js +39 -0
  260. package/dist/ui/display/Surface.js.map +1 -0
  261. package/dist/ui/display/Table.d.ts +30 -0
  262. package/dist/ui/display/Table.d.ts.map +1 -0
  263. package/dist/ui/display/Table.js +96 -0
  264. package/dist/ui/display/Table.js.map +1 -0
  265. package/dist/ui/display/card-css.d.ts +2 -0
  266. package/dist/ui/display/card-css.d.ts.map +1 -0
  267. package/dist/ui/display/card-css.generated.d.ts +2 -0
  268. package/dist/ui/display/card-css.generated.d.ts.map +1 -0
  269. package/dist/ui/display/card-css.generated.js +4 -0
  270. package/dist/ui/display/card-css.generated.js.map +1 -0
  271. package/dist/ui/display/card-css.js +5 -0
  272. package/dist/ui/display/card-css.js.map +1 -0
  273. package/dist/ui/display/chip-css.d.ts +2 -0
  274. package/dist/ui/display/chip-css.d.ts.map +1 -0
  275. package/dist/ui/display/chip-css.generated.d.ts +2 -0
  276. package/dist/ui/display/chip-css.generated.d.ts.map +1 -0
  277. package/dist/ui/display/chip-css.generated.js +4 -0
  278. package/dist/ui/display/chip-css.generated.js.map +1 -0
  279. package/dist/ui/display/chip-css.js +12 -0
  280. package/dist/ui/display/chip-css.js.map +1 -0
  281. package/dist/ui/display/code-viewer-css.d.ts +2 -0
  282. package/dist/ui/display/code-viewer-css.d.ts.map +1 -0
  283. package/dist/ui/display/code-viewer-css.generated.d.ts +2 -0
  284. package/dist/ui/display/code-viewer-css.generated.d.ts.map +1 -0
  285. package/dist/ui/display/code-viewer-css.generated.js +4 -0
  286. package/dist/ui/display/code-viewer-css.generated.js.map +1 -0
  287. package/dist/ui/display/code-viewer-css.js +3 -0
  288. package/dist/ui/display/code-viewer-css.js.map +1 -0
  289. package/dist/ui/display/code-viewer-lang.d.ts +15 -0
  290. package/dist/ui/display/code-viewer-lang.d.ts.map +1 -0
  291. package/dist/ui/display/code-viewer-lang.js +190 -0
  292. package/dist/ui/display/code-viewer-lang.js.map +1 -0
  293. package/dist/ui/display/code-viewer-theme.d.ts +5 -0
  294. package/dist/ui/display/code-viewer-theme.d.ts.map +1 -0
  295. package/dist/ui/display/code-viewer-theme.js +138 -0
  296. package/dist/ui/display/code-viewer-theme.js.map +1 -0
  297. package/dist/ui/display/flip-css.d.ts +2 -0
  298. package/dist/ui/display/flip-css.d.ts.map +1 -0
  299. package/dist/ui/display/flip-css.generated.d.ts +2 -0
  300. package/dist/ui/display/flip-css.generated.d.ts.map +1 -0
  301. package/dist/ui/display/flip-css.generated.js +4 -0
  302. package/dist/ui/display/flip-css.generated.js.map +1 -0
  303. package/dist/ui/display/flip-css.js +4 -0
  304. package/dist/ui/display/flip-css.js.map +1 -0
  305. package/dist/ui/display/hint-css.generated.d.ts +2 -0
  306. package/dist/ui/display/hint-css.generated.d.ts.map +1 -0
  307. package/dist/ui/display/hint-css.generated.js +4 -0
  308. package/dist/ui/display/hint-css.generated.js.map +1 -0
  309. package/dist/ui/display/marquee-css.d.ts +2 -0
  310. package/dist/ui/display/marquee-css.d.ts.map +1 -0
  311. package/dist/ui/display/marquee-css.generated.d.ts +2 -0
  312. package/dist/ui/display/marquee-css.generated.d.ts.map +1 -0
  313. package/dist/ui/display/marquee-css.generated.js +4 -0
  314. package/dist/ui/display/marquee-css.generated.js.map +1 -0
  315. package/dist/ui/display/marquee-css.js +4 -0
  316. package/dist/ui/display/marquee-css.js.map +1 -0
  317. package/dist/ui/display/section-head-css.generated.d.ts +2 -0
  318. package/dist/ui/display/section-head-css.generated.d.ts.map +1 -0
  319. package/dist/ui/display/section-head-css.generated.js +4 -0
  320. package/dist/ui/display/section-head-css.generated.js.map +1 -0
  321. package/dist/ui/display/surface-css.d.ts +2 -0
  322. package/dist/ui/display/surface-css.d.ts.map +1 -0
  323. package/dist/ui/display/surface-css.generated.d.ts +2 -0
  324. package/dist/ui/display/surface-css.generated.d.ts.map +1 -0
  325. package/dist/ui/display/surface-css.generated.js +4 -0
  326. package/dist/ui/display/surface-css.generated.js.map +1 -0
  327. package/dist/ui/display/surface-css.js +7 -0
  328. package/dist/ui/display/surface-css.js.map +1 -0
  329. package/dist/ui/display/table-css.generated.d.ts +2 -0
  330. package/dist/ui/display/table-css.generated.d.ts.map +1 -0
  331. package/dist/ui/display/table-css.generated.js +4 -0
  332. package/dist/ui/display/table-css.generated.js.map +1 -0
  333. package/dist/ui/display/table-logic.d.ts +110 -0
  334. package/dist/ui/display/table-logic.d.ts.map +1 -0
  335. package/dist/ui/display/table-logic.js +81 -0
  336. package/dist/ui/display/table-logic.js.map +1 -0
  337. package/dist/ui/display/table-plain-css.generated.d.ts +2 -0
  338. package/dist/ui/display/table-plain-css.generated.d.ts.map +1 -0
  339. package/dist/ui/display/table-plain-css.generated.js +4 -0
  340. package/dist/ui/display/table-plain-css.generated.js.map +1 -0
  341. package/dist/ui/display/table-shared.d.ts +101 -0
  342. package/dist/ui/display/table-shared.d.ts.map +1 -0
  343. package/dist/ui/display/table-shared.js +229 -0
  344. package/dist/ui/display/table-shared.js.map +1 -0
  345. package/dist/ui/feedback/AlertModal.d.ts +41 -0
  346. package/dist/ui/feedback/AlertModal.d.ts.map +1 -0
  347. package/dist/ui/feedback/AlertModal.js +45 -0
  348. package/dist/ui/feedback/AlertModal.js.map +1 -0
  349. package/dist/ui/feedback/ConfirmModal.d.ts +50 -0
  350. package/dist/ui/feedback/ConfirmModal.d.ts.map +1 -0
  351. package/dist/ui/feedback/ConfirmModal.js +47 -0
  352. package/dist/ui/feedback/ConfirmModal.js.map +1 -0
  353. package/dist/ui/feedback/Loader.d.ts +49 -0
  354. package/dist/ui/feedback/Loader.d.ts.map +1 -0
  355. package/dist/ui/feedback/Loader.js +79 -0
  356. package/dist/ui/feedback/Loader.js.map +1 -0
  357. package/dist/ui/feedback/LoaderBar.d.ts +38 -0
  358. package/dist/ui/feedback/LoaderBar.d.ts.map +1 -0
  359. package/dist/ui/feedback/LoaderBar.js +79 -0
  360. package/dist/ui/feedback/LoaderBar.js.map +1 -0
  361. package/dist/ui/feedback/Loading.d.ts +69 -0
  362. package/dist/ui/feedback/Loading.d.ts.map +1 -0
  363. package/dist/ui/feedback/Loading.js +164 -0
  364. package/dist/ui/feedback/Loading.js.map +1 -0
  365. package/dist/ui/feedback/Modal.d.ts +73 -0
  366. package/dist/ui/feedback/Modal.d.ts.map +1 -0
  367. package/dist/ui/feedback/Modal.js +83 -0
  368. package/dist/ui/feedback/Modal.js.map +1 -0
  369. package/dist/ui/feedback/SideSheet.d.ts +70 -0
  370. package/dist/ui/feedback/SideSheet.d.ts.map +1 -0
  371. package/dist/ui/feedback/SideSheet.js +130 -0
  372. package/dist/ui/feedback/SideSheet.js.map +1 -0
  373. package/dist/ui/feedback/Toast.d.ts +45 -0
  374. package/dist/ui/feedback/Toast.d.ts.map +1 -0
  375. package/dist/ui/feedback/Toast.js +225 -0
  376. package/dist/ui/feedback/Toast.js.map +1 -0
  377. package/dist/ui/feedback/feedback-css.d.ts +2 -0
  378. package/dist/ui/feedback/feedback-css.d.ts.map +1 -0
  379. package/dist/ui/feedback/feedback-css.generated.d.ts +2 -0
  380. package/dist/ui/feedback/feedback-css.generated.d.ts.map +1 -0
  381. package/dist/ui/feedback/feedback-css.generated.js +4 -0
  382. package/dist/ui/feedback/feedback-css.generated.js.map +1 -0
  383. package/dist/ui/feedback/feedback-css.js +4 -0
  384. package/dist/ui/feedback/feedback-css.js.map +1 -0
  385. package/dist/ui/feedback/host-toast.d.ts +23 -0
  386. package/dist/ui/feedback/host-toast.d.ts.map +1 -0
  387. package/dist/ui/feedback/host-toast.js +34 -0
  388. package/dist/ui/feedback/host-toast.js.map +1 -0
  389. package/dist/ui/feedback/loader-bar-art.d.ts +6 -0
  390. package/dist/ui/feedback/loader-bar-art.d.ts.map +1 -0
  391. package/dist/ui/feedback/loader-bar-art.js +6 -0
  392. package/dist/ui/feedback/loader-bar-art.js.map +1 -0
  393. package/dist/ui/feedback/loader-bar-css.generated.d.ts +2 -0
  394. package/dist/ui/feedback/loader-bar-css.generated.d.ts.map +1 -0
  395. package/dist/ui/feedback/loader-bar-css.generated.js +4 -0
  396. package/dist/ui/feedback/loader-bar-css.generated.js.map +1 -0
  397. package/dist/ui/feedback/loader-css.generated.d.ts +2 -0
  398. package/dist/ui/feedback/loader-css.generated.d.ts.map +1 -0
  399. package/dist/ui/feedback/loader-css.generated.js +4 -0
  400. package/dist/ui/feedback/loader-css.generated.js.map +1 -0
  401. package/dist/ui/feedback/loading-css.generated.d.ts +2 -0
  402. package/dist/ui/feedback/loading-css.generated.d.ts.map +1 -0
  403. package/dist/ui/feedback/loading-css.generated.js +4 -0
  404. package/dist/ui/feedback/loading-css.generated.js.map +1 -0
  405. package/dist/ui/feedback/loading-host.d.ts +49 -0
  406. package/dist/ui/feedback/loading-host.d.ts.map +1 -0
  407. package/dist/ui/feedback/loading-host.js +57 -0
  408. package/dist/ui/feedback/loading-host.js.map +1 -0
  409. package/dist/ui/feedback/modal-host.d.ts +51 -0
  410. package/dist/ui/feedback/modal-host.d.ts.map +1 -0
  411. package/dist/ui/feedback/modal-host.js +170 -0
  412. package/dist/ui/feedback/modal-host.js.map +1 -0
  413. package/dist/ui/feedback/side-sheet-css.d.ts +2 -0
  414. package/dist/ui/feedback/side-sheet-css.d.ts.map +1 -0
  415. package/dist/ui/feedback/side-sheet-css.generated.d.ts +2 -0
  416. package/dist/ui/feedback/side-sheet-css.generated.d.ts.map +1 -0
  417. package/dist/ui/feedback/side-sheet-css.generated.js +4 -0
  418. package/dist/ui/feedback/side-sheet-css.generated.js.map +1 -0
  419. package/dist/ui/feedback/side-sheet-css.js +2 -0
  420. package/dist/ui/feedback/side-sheet-css.js.map +1 -0
  421. package/dist/ui/feedback/toast-host.d.ts +24 -0
  422. package/dist/ui/feedback/toast-host.d.ts.map +1 -0
  423. package/dist/ui/feedback/toast-host.js +20 -0
  424. package/dist/ui/feedback/toast-host.js.map +1 -0
  425. package/dist/ui/index.d.ts +44 -44
  426. package/dist/ui/index.d.ts.map +1 -1
  427. package/dist/ui/index.js +44 -44
  428. package/dist/ui/index.js.map +1 -1
  429. package/dist/ui/infra/chevron.d.ts +22 -0
  430. package/dist/ui/infra/chevron.d.ts.map +1 -0
  431. package/dist/ui/infra/chevron.js +33 -0
  432. package/dist/ui/infra/chevron.js.map +1 -0
  433. package/dist/ui/infra/controls-css.d.ts +16 -0
  434. package/dist/ui/infra/controls-css.d.ts.map +1 -0
  435. package/dist/ui/infra/controls-css.js +26 -0
  436. package/dist/ui/infra/controls-css.js.map +1 -0
  437. package/dist/ui/infra/css.d.ts +35 -0
  438. package/dist/ui/infra/css.d.ts.map +1 -0
  439. package/dist/ui/infra/css.js +52 -0
  440. package/dist/ui/infra/css.js.map +1 -0
  441. package/dist/ui/infra/host-data.d.ts +119 -0
  442. package/dist/ui/infra/host-data.d.ts.map +1 -0
  443. package/dist/ui/infra/host-data.js +122 -0
  444. package/dist/ui/infra/host-data.js.map +1 -0
  445. package/dist/ui/infra/locale.d.ts +4 -0
  446. package/dist/ui/infra/locale.d.ts.map +1 -0
  447. package/dist/ui/infra/locale.js +17 -0
  448. package/dist/ui/infra/locale.js.map +1 -0
  449. package/dist/ui/infra/overlay-css.d.ts +2 -0
  450. package/dist/ui/infra/overlay-css.d.ts.map +1 -0
  451. package/dist/ui/infra/overlay-css.generated.d.ts +2 -0
  452. package/dist/ui/infra/overlay-css.generated.d.ts.map +1 -0
  453. package/dist/ui/infra/overlay-css.generated.js +4 -0
  454. package/dist/ui/infra/overlay-css.generated.js.map +1 -0
  455. package/dist/ui/infra/overlay-css.js +2 -0
  456. package/dist/ui/infra/overlay-css.js.map +1 -0
  457. package/dist/ui/infra/overlay.d.ts +62 -0
  458. package/dist/ui/infra/overlay.d.ts.map +1 -0
  459. package/dist/ui/infra/overlay.js +94 -0
  460. package/dist/ui/infra/overlay.js.map +1 -0
  461. package/dist/ui/infra/panel-css.d.ts +2 -0
  462. package/dist/ui/infra/panel-css.d.ts.map +1 -0
  463. package/dist/ui/infra/panel-css.generated.d.ts +2 -0
  464. package/dist/ui/infra/panel-css.generated.d.ts.map +1 -0
  465. package/dist/ui/infra/panel-css.generated.js +4 -0
  466. package/dist/ui/infra/panel-css.generated.js.map +1 -0
  467. package/dist/ui/infra/panel-css.js +2 -0
  468. package/dist/ui/infra/panel-css.js.map +1 -0
  469. package/dist/ui/infra/panel.d.ts +41 -0
  470. package/dist/ui/infra/panel.d.ts.map +1 -0
  471. package/dist/ui/infra/panel.js +37 -0
  472. package/dist/ui/infra/panel.js.map +1 -0
  473. package/dist/ui/infra/side-panel-css.d.ts +2 -0
  474. package/dist/ui/infra/side-panel-css.d.ts.map +1 -0
  475. package/dist/ui/infra/side-panel-css.generated.d.ts +2 -0
  476. package/dist/ui/infra/side-panel-css.generated.d.ts.map +1 -0
  477. package/dist/ui/infra/side-panel-css.generated.js +4 -0
  478. package/dist/ui/infra/side-panel-css.generated.js.map +1 -0
  479. package/dist/ui/infra/side-panel-css.js +2 -0
  480. package/dist/ui/infra/side-panel-css.js.map +1 -0
  481. package/dist/ui/infra/thenable.d.ts +9 -0
  482. package/dist/ui/infra/thenable.d.ts.map +1 -0
  483. package/dist/ui/infra/thenable.js +15 -0
  484. package/dist/ui/infra/thenable.js.map +1 -0
  485. package/dist/ui/infra/ticker.d.ts +8 -0
  486. package/dist/ui/infra/ticker.d.ts.map +1 -0
  487. package/dist/ui/infra/ticker.js +49 -0
  488. package/dist/ui/infra/ticker.js.map +1 -0
  489. package/dist/ui/infra/tooltip.d.ts +29 -0
  490. package/dist/ui/infra/tooltip.d.ts.map +1 -0
  491. package/dist/ui/infra/tooltip.js +10 -0
  492. package/dist/ui/infra/tooltip.js.map +1 -0
  493. package/dist/ui/inputs/Checkbox.d.ts +24 -0
  494. package/dist/ui/inputs/Checkbox.d.ts.map +1 -0
  495. package/dist/ui/inputs/Checkbox.js +35 -0
  496. package/dist/ui/inputs/Checkbox.js.map +1 -0
  497. package/dist/ui/inputs/DateTimePicker.d.ts +45 -0
  498. package/dist/ui/inputs/DateTimePicker.d.ts.map +1 -0
  499. package/dist/ui/inputs/DateTimePicker.js +462 -0
  500. package/dist/ui/inputs/DateTimePicker.js.map +1 -0
  501. package/dist/ui/inputs/Field.d.ts +125 -0
  502. package/dist/ui/inputs/Field.d.ts.map +1 -0
  503. package/dist/ui/inputs/Field.js +175 -0
  504. package/dist/ui/inputs/Field.js.map +1 -0
  505. package/dist/ui/inputs/InputGroup.d.ts +91 -0
  506. package/dist/ui/inputs/InputGroup.d.ts.map +1 -0
  507. package/dist/ui/inputs/InputGroup.js +125 -0
  508. package/dist/ui/inputs/InputGroup.js.map +1 -0
  509. package/dist/ui/inputs/ModelPicker.d.ts +48 -0
  510. package/dist/ui/inputs/ModelPicker.d.ts.map +1 -0
  511. package/dist/ui/inputs/ModelPicker.js +101 -0
  512. package/dist/ui/inputs/ModelPicker.js.map +1 -0
  513. package/dist/ui/inputs/Picker.d.ts +56 -0
  514. package/dist/ui/inputs/Picker.d.ts.map +1 -0
  515. package/dist/ui/inputs/Picker.js +244 -0
  516. package/dist/ui/inputs/Picker.js.map +1 -0
  517. package/dist/ui/inputs/Segmented.d.ts +99 -0
  518. package/dist/ui/inputs/Segmented.d.ts.map +1 -0
  519. package/dist/ui/inputs/Segmented.js +135 -0
  520. package/dist/ui/inputs/Segmented.js.map +1 -0
  521. package/dist/ui/inputs/Textarea.d.ts +36 -0
  522. package/dist/ui/inputs/Textarea.d.ts.map +1 -0
  523. package/dist/ui/inputs/Textarea.js +35 -0
  524. package/dist/ui/inputs/Textarea.js.map +1 -0
  525. package/dist/ui/inputs/WorkspacePicker.d.ts +35 -0
  526. package/dist/ui/inputs/WorkspacePicker.d.ts.map +1 -0
  527. package/dist/ui/inputs/WorkspacePicker.js +39 -0
  528. package/dist/ui/inputs/WorkspacePicker.js.map +1 -0
  529. package/dist/ui/inputs/datetime-css.generated.d.ts +2 -0
  530. package/dist/ui/inputs/datetime-css.generated.d.ts.map +1 -0
  531. package/dist/ui/inputs/datetime-css.generated.js +4 -0
  532. package/dist/ui/inputs/datetime-css.generated.js.map +1 -0
  533. package/dist/ui/inputs/datetime-logic.d.ts +102 -0
  534. package/dist/ui/inputs/datetime-logic.d.ts.map +1 -0
  535. package/dist/ui/inputs/datetime-logic.js +200 -0
  536. package/dist/ui/inputs/datetime-logic.js.map +1 -0
  537. package/dist/ui/inputs/field-css.generated.d.ts +2 -0
  538. package/dist/ui/inputs/field-css.generated.d.ts.map +1 -0
  539. package/dist/ui/inputs/field-css.generated.js +4 -0
  540. package/dist/ui/inputs/field-css.generated.js.map +1 -0
  541. package/dist/ui/inputs/input-group-css.generated.d.ts +2 -0
  542. package/dist/ui/inputs/input-group-css.generated.d.ts.map +1 -0
  543. package/dist/ui/inputs/input-group-css.generated.js +4 -0
  544. package/dist/ui/inputs/input-group-css.generated.js.map +1 -0
  545. package/dist/ui/inputs/picker-css.d.ts +2 -0
  546. package/dist/ui/inputs/picker-css.d.ts.map +1 -0
  547. package/dist/ui/inputs/picker-css.generated.d.ts +2 -0
  548. package/dist/ui/inputs/picker-css.generated.d.ts.map +1 -0
  549. package/dist/ui/inputs/picker-css.generated.js +4 -0
  550. package/dist/ui/inputs/picker-css.generated.js.map +1 -0
  551. package/dist/ui/inputs/picker-css.js +4 -0
  552. package/dist/ui/inputs/picker-css.js.map +1 -0
  553. package/dist/ui/inputs/picker-icons.d.ts +12 -0
  554. package/dist/ui/inputs/picker-icons.d.ts.map +1 -0
  555. package/dist/ui/inputs/picker-icons.js +29 -0
  556. package/dist/ui/inputs/picker-icons.js.map +1 -0
  557. package/dist/ui/inputs/picker-logic.d.ts +33 -0
  558. package/dist/ui/inputs/picker-logic.d.ts.map +1 -0
  559. package/dist/ui/inputs/picker-logic.js +68 -0
  560. package/dist/ui/inputs/picker-logic.js.map +1 -0
  561. package/dist/ui/inputs/segmented-css.generated.d.ts +2 -0
  562. package/dist/ui/inputs/segmented-css.generated.d.ts.map +1 -0
  563. package/dist/ui/inputs/segmented-css.generated.js +4 -0
  564. package/dist/ui/inputs/segmented-css.generated.js.map +1 -0
  565. package/dist/ui/layout/PanelDock.d.ts +132 -0
  566. package/dist/ui/layout/PanelDock.d.ts.map +1 -0
  567. package/dist/ui/layout/PanelDock.js +390 -0
  568. package/dist/ui/layout/PanelDock.js.map +1 -0
  569. package/dist/ui/layout/QuickToolbar.d.ts +54 -0
  570. package/dist/ui/layout/QuickToolbar.d.ts.map +1 -0
  571. package/dist/ui/layout/QuickToolbar.js +254 -0
  572. package/dist/ui/layout/QuickToolbar.js.map +1 -0
  573. package/dist/ui/layout/SplitGroup.d.ts +37 -0
  574. package/dist/ui/layout/SplitGroup.d.ts.map +1 -0
  575. package/dist/ui/layout/SplitGroup.js +36 -0
  576. package/dist/ui/layout/SplitGroup.js.map +1 -0
  577. package/dist/ui/layout/panel-dock-css.d.ts +2 -0
  578. package/dist/ui/layout/panel-dock-css.d.ts.map +1 -0
  579. package/dist/ui/layout/panel-dock-css.generated.d.ts +2 -0
  580. package/dist/ui/layout/panel-dock-css.generated.d.ts.map +1 -0
  581. package/dist/ui/layout/panel-dock-css.generated.js +4 -0
  582. package/dist/ui/layout/panel-dock-css.generated.js.map +1 -0
  583. package/dist/ui/layout/panel-dock-css.js +4 -0
  584. package/dist/ui/layout/panel-dock-css.js.map +1 -0
  585. package/dist/ui/layout/panel-dock-logic.d.ts +67 -0
  586. package/dist/ui/layout/panel-dock-logic.d.ts.map +1 -0
  587. package/dist/ui/layout/panel-dock-logic.js +110 -0
  588. package/dist/ui/layout/panel-dock-logic.js.map +1 -0
  589. package/dist/ui/layout/quick-toolbar-css.generated.d.ts +2 -0
  590. package/dist/ui/layout/quick-toolbar-css.generated.d.ts.map +1 -0
  591. package/dist/ui/layout/quick-toolbar-css.generated.js +4 -0
  592. package/dist/ui/layout/quick-toolbar-css.generated.js.map +1 -0
  593. package/dist/ui/layout/quick-toolbar-logic.d.ts +76 -0
  594. package/dist/ui/layout/quick-toolbar-logic.d.ts.map +1 -0
  595. package/dist/ui/layout/quick-toolbar-logic.js +40 -0
  596. package/dist/ui/layout/quick-toolbar-logic.js.map +1 -0
  597. package/dist/ui/layout/resizer.d.ts +29 -0
  598. package/dist/ui/layout/resizer.d.ts.map +1 -0
  599. package/dist/ui/layout/resizer.js +42 -0
  600. package/dist/ui/layout/resizer.js.map +1 -0
  601. package/dist/ui/layout/split-group-css.generated.d.ts +2 -0
  602. package/dist/ui/layout/split-group-css.generated.d.ts.map +1 -0
  603. package/dist/ui/layout/split-group-css.generated.js +4 -0
  604. package/dist/ui/layout/split-group-css.generated.js.map +1 -0
  605. package/dist/ui/navigation/Pagination.d.ts +59 -0
  606. package/dist/ui/navigation/Pagination.d.ts.map +1 -0
  607. package/dist/ui/navigation/Pagination.js +112 -0
  608. package/dist/ui/navigation/Pagination.js.map +1 -0
  609. package/dist/ui/navigation/pagination-css.generated.d.ts +2 -0
  610. package/dist/ui/navigation/pagination-css.generated.d.ts.map +1 -0
  611. package/dist/ui/navigation/pagination-css.generated.js +4 -0
  612. package/dist/ui/navigation/pagination-css.generated.js.map +1 -0
  613. package/dist/ui/navigation/pagination-logic.d.ts +36 -0
  614. package/dist/ui/navigation/pagination-logic.d.ts.map +1 -0
  615. package/dist/ui/navigation/pagination-logic.js +73 -0
  616. package/dist/ui/navigation/pagination-logic.js.map +1 -0
  617. package/dist/ui/official.js +2 -2
  618. package/dist/ui/official.js.map +1 -1
  619. package/dist/utils/i18n.d.ts +2 -2
  620. package/dist/utils/i18n.d.ts.map +1 -1
  621. package/dist/utils/i18n.js +1 -1
  622. package/dist/utils/i18n.js.map +1 -1
  623. package/docs/README.md +1 -1
  624. package/docs/design/architecture.md +9 -8
  625. package/docs/design/copywriting.md +23 -0
  626. package/docs/design/external/dsh-host.md +5 -5
  627. package/docs/design/structure.md +132 -128
  628. package/docs/design/style.md +5 -5
  629. package/docs/help/utils.doc.ts +3 -3
  630. package/docs/help/utils.md +3 -3
  631. package/docs/requirements.md +30 -290
  632. package/package.json +1 -1
@@ -1,165 +1,169 @@
1
1
  # 结构规范
2
2
 
3
- 本文件回答两个问题:
3
+ 本文件回答三个问题:
4
4
 
5
- 1. **代码怎么分** —— 每个目录放什么、谁依赖谁。
6
- 2. **预览插件(packages/demo)左侧怎么分** —— 组件预览的分区,跟代码结构对齐。
5
+ 1. **控件怎么归类** —— 一个新控件该放哪,按固定顺序判定,不用开会。
6
+ 2. **代码怎么分** —— 每个目录放什么、谁依赖谁。
7
+ 3. **预览插件(packages/demo)左侧怎么分** —— 与代码同构的两级目录。
7
8
 
8
- > 本文是**目标态**(2026-10-19 用户拍板)。哪些已在、哪些暂缓,用状态标注区分;
9
- > 现状与目标的差异见文末「未落地项」。
10
9
  > 运行逻辑(样式注入机制、数据流、触发关系)的真源在 `docs/design/architecture.md`,本文不重复。
10
+ > 2026-11-05 用户拍板:分类改用**业界通名**(对齐 Ant Design / Element Plus / MUI / Mantine / Chakra 的菜单),
11
+ > 并且**结构优先于兼容** —— 消费方该改就改,不为保持旧 import 而选不合理结构。
11
12
 
12
- ## 命名约定
13
+ ## 一、三级:区 → 类 → 控件
13
14
 
14
- - **`ui`** = 基础能力:纯零件 + 可复用的基础容器(`Modal`、侧边栏/拉栏、选工作区/选文件),不碰业务成品。
15
- - **`adv.`** = advanced,高级空间:**成品**——拿 `ui` 的基础能力拼出来、与业务对象相关的共享件。
16
- - 高级空间统一加 `adv.` 前缀:`adv.explorer`、`adv.session`。
17
- - npm 子路径允许带点,引用写法就是 `dsh-plugin-core/adv.explorer`。
15
+ | 级 | 是什么 | 举例 |
16
+ |---|---|---|
17
+ | **区** | 能力域,导航一级 | 入门 / 设计 / 控件 / 应用模块 / 工具方法 |
18
+ | **类** | 控件按用途归的类,导航二级 + 目录一级 | 动作 / 录入 / 展示 / 反馈 / 布局 / 导航 |
19
+ | **控件** | 一个导出件 = 目录里的一个文件 | `Button.ts` / `Picker.ts` / `Table.ts` |
20
+
21
+ 「区」只存在于**导航与文档**里;代码目录只有类和控件。两棵树不是同一棵树,别互相找。
22
+
23
+ ## 二、控件归类:三步判定
18
24
 
19
- ## 状态图例
25
+ 拿一个新控件,从上往下走,走到哪停就放哪:
26
+
27
+ 1. **import React 或 DOM 吗?** 不 import → 它不是控件:落 `src/utils/`(纯方法)或 `src/design/`(值 / 注入机制)。
28
+ 2. **必须拿到业务对象(工作区 / 会话 / 文件 / 模型)才能工作吗?** → 落 `src/adv/`,不进 `ui`。
29
+ 3. **按「用户拿它做什么」选类**:
30
+
31
+ | 类 | 判据 | 成员(2026-11-05) |
32
+ |---|---|---|
33
+ | **动作** `actions` | 点它触发一次操作,本身不产生值 | Button、IconButton |
34
+ | **录入** `inputs` | 产生或修改一个值 | Input、NumberInput、PrefixedInput、Textarea、Checkbox、Segmented、Picker、DateTimePicker、WorkspacePicker、ModelPicker、InputGroup |
35
+ | **展示** `display` | 只呈现内容,不改变状态 | Card、StripCard、Surface、Chip、Table、CodeViewer、MarqueeText、FlipText、LiveText、SectionHead、FieldHint |
36
+ | **反馈** `feedback` | 表达「正在进行 / 刚完成 / 出错了」 | Modal、SideSheet、AlertModal、ConfirmModal、alertModal、confirmModal、Toast、host-toast、Loader、LoaderBar、Loading |
37
+ | **布局** `layout` | 只决定内部元素怎么摆、怎么拼 | SplitGroup、PanelDock、QuickToolbar、resizer |
38
+ | **导航** `navigation` | 在多个视图 / 页之间移动 | Pagination |
39
+ | **基础设施** `infra` | **不是控件**:宿主桥、注入器、纯逻辑、跨类共用底座 | official、css、controls-css、locale、tooltip、host-data、modal-host、loading-host、toast-host、overlay、panel + 皮肤、thenable、ticker、chevron |
20
40
 
21
- | 标记 | 含义 |
22
- |---|---|
23
- | ✅ | 代码已在(质量待逐个重审) |
24
- | 🟡 | 缺口 / 待迁:需要补或需要挪位置的 |
25
- | ⚪ | 暂缓:先标着,不做 |
41
+ 三条边界裁决(按顺序用):
26
42
 
27
- ---
43
+ 1. **同时持有「值」和「操作」** → 归布局(它其实是两个控件焊在一起),或者直接拆成两个。
44
+ 2. **内部元素位置由它决定** → 布局;**只加一层外观、位置全由调用方给** → 展示(Card / Surface 属展现外壳)。
45
+ 3. **跨类说不清** → 按**多数派**:查 AntD / Element / MUI / Mantine / Chakra 的菜单,装得多的那类胜出,并在本文登记结果。
28
46
 
29
- ## 一、代码分层
47
+ **新增第 8 个类要用户拍板**,agent 一律不自建 —— 这是防「又冒出一个新空间」的闸门。
48
+ 拿不准时归现有 6 类,宁可挤一点也不另开。
49
+
50
+ ## 三、代码分层
30
51
 
31
52
  ```
32
- dsh-plugin-core/
33
- │
34
- ├── design/ ① 设计层 —— 只放「值」和「注入机制」,零 React
35
- │ ├── tokens ✅ 颜色 / 字号 / 间距 / 圆角 / 层级(别名官方 --dsw-alias-*)
36
- │ └── style-kit ✅ 运行时注入 <style>,createStyleKit({ id })
53
+ src/
54
+ ├── design/ ① 设计层 —— 只放「值」和「注入机制」,零 React
55
+ │ ├── tokens 颜色 / 字号 / 间距 / 圆角 / 层级(别名官方 --dsw-alias-*)
56
+ │ └── style-kit 运行时注入 <style>,createStyleKit({ id })
37
57
  │
38
- ├── ui/ ② 基础控件 —— 纯零件 + 可复用基础能力(依赖 design)
39
- │ ├── official.ts ✅ 全仓唯一 import 官方 primitives 的入口(L1)
40
- │ ├── 表单 ✅ Input / NumberInput / PrefixedInput / Textarea /
41
- │ │ Checkbox / Segmented / Picker(下拉选择)/
42
- │ │ DateTimePicker(日期时间:单值 / 时间段 × 精度到秒)
43
- │ ├── 动作 ✅ Button / IconButton
44
- │ ├── 反馈 ✅ Modal / Toast / Loader 家族(2026-10-30):
45
- │ │ │ Loader(ring / blocks × 五档尺寸)、LoaderBar(胶囊不定进度);
46
- │ │ │ 两者都只画图形,无背景无定位,背景与位置归调用方
47
- │ │ └── Loading ✅ 旧复合浮层(贴右下角的 pill + 两种加载卡),保留、已标 deprecated
48
- │ ├── 展示 ✅ Card / StripCard / Chip / MarqueeText /
49
- │ │ SectionHead / FieldHint / LiveText /
50
- │ │ Table(第一档 Plain:外框 + 灰底表头 + 按列分隔线;
51
- │ │ 表级 density / striped / borders,列级 divider / padding / headerTone,
52
- │ │ 单元格可跨列跨行;TableGrid / TableZebra 预留同族独立组件)
53
- │ ├── 选择 ✅ WorkspacePicker(选工作区,自取宿主快照)
54
- │ │ 通用 Picker 是纯零件;领域选择器经 connectHost 自取数(2026-10-20)
55
- │ ├── 组合 ✅ SplitGroup(两格焊成一体:只画外框 / 分隔 / 聚焦圈,不持状态)
56
- │ │ InputGroup(输入框 + 按钮组焊成一体:可选前置标题 / 撤销 / 自定义高度)
57
- │ └── 布局 ✅ PanelDock / createPanelDock(可停靠分栏:多面板 + 拖拽拉栏)
58
- │ 组名 = 窗口一对一、同名覆盖、默认上限 3 超限拒绝;
59
- │ 不做 tab 切换 / 自动淘汰 / 浮动层(用户 2026-10-20 定案)
60
- │ ✅ QuickToolbar(右侧浮动快捷工具栏:内置回顶部 + 自定义按钮;
61
- │ 纵向恒贴屏幕底边,横向默认贴屏幕右缘或指定控件右缘外侧)
58
+ ├── ui/ ② 控件(依赖 design)
59
+ │ ├── index.ts 对外唯一入口(导出面扁平,不按类开子路径)
60
+ │ ├── official.ts L1 官方 adapter —— 全仓唯一 import 官方 primitives 的地方
61
+ │ ├── actions/ Button · IconButton(+ button.css / generated)
62
+ │ ├── inputs/ Field(Input/NumberInput/PrefixedInput)· Textarea · Checkbox
63
+ │ │ Segmented · Picker(+ picker-logic / picker-icons)
64
+ │ │ DateTimePicker(+ datetime-logic)· InputGroup
65
+ │ │ WorkspacePicker · ModelPicker
66
+ │ ├── display/ Card · StripCard · Surface · Chip · Table(+ table-logic / table-shared)
67
+ │ │ CodeViewer(+ code-viewer-lang / -theme)· MarqueeText · FlipText
68
+ │ │ LiveText · SectionHead · FieldHint
69
+ │ ├── feedback/ Modal · SideSheet · AlertModal · ConfirmModal(+ modal-host)
70
+ │ │ Toast(+ toast-host)· host-toast · Loader · LoaderBar · Loading
71
+ │ ├── layout/ SplitGroup · PanelDock(+ panel-dock-logic)· QuickToolbar
72
+ │ │ (+ quick-toolbar-logic)· resizer
73
+ │ ├── navigation/ Pagination(+ pagination-logic)
74
+ │ └── infra/ css · controls-css · locale · tooltip · host-data
75
+ │ overlay / panel(跨类共用浮层底座 + 皮肤)· thenable · ticker · chevron
62
76
  │
63
- ├── utils/ ③ 纯方法 —— 零 React / 零 DOM(谁都能用,它不依赖谁)
64
- │ ├── date ✅ 日期 / 相对时间 / 时间区间
65
- │ ├── i18n ✅ 内置中英字典
66
- │ ├── string ⚪ 暂缓
67
- │ ├── number ⚪ 暂缓(注:formatBytes 已被 adv.session 附件卡使用,只「不对外承诺」,不删)
68
- │ ├── http ⚪ 暂缓
69
- │ └── path ✅ 纯路径方法(无 UI):joinPath / parentOf / crumbsOf / extOf / mimeOf
70
- │ (已从 explorer/types.ts 迁入,2026-10-20)
77
+ ├── utils/ ③ 纯方法 —— 零 React / 零 DOM(谁都能用,它不依赖谁)
78
+ │ ├── date 日期 / 相对时间 / 时间区间
79
+ │ ├── i18n 内置中英字典
80
+ │ ├── path joinPath / parentOf / crumbsOf / extOf / mimeOf
81
+ │ └── number / string / http 暂缓(不对外承诺,但代码在)
71
82
  │
72
- ├── adv.explorer/ ④ 高级空间①:文件浏览(依赖 ui + utils)
73
- │ ├── FileBrowser ✅ 面板本体:面包屑(▾ 选层)+ 内联展开树 + 预览(+ picker 形态)
74
- │ ├── open ✅ 两命令式能力:openFilePreview(侧边栏预览)/ pickWorkspaceFile(锚定弹窗选文件)
75
- │ ├── types ✅ 纯逻辑层(零 React / 零官方件):预览分发 / 错误码 / 根反推 / 过滤
76
- │ └── preview ✅ 预览体家族:md / 代码 / HTML / PDF / Office / 图片
83
+ ├── adv/ ④ 应用模块 —— ui + utils 拼出来的成品
84
+ │ ├── explorer/ 文件浏览:FileBrowser · openFilePreview · pickWorkspaceFile · 预览体家族
85
+ │ └── session/ 会话记录:SessionPreview
77
86
  │
78
- └── adv.session/ ⑤ 高级空间②:会话记录(依赖 ui + utils)
79
- └── SessionPreview ✅ 成品:ui.Modal 承载会话消息(modal / sidebar / page)
87
+ └── host/ 宿主接口类型(无运行时)
80
88
  ```
81
89
 
82
- ### 组合关系(成品 = 基础能力 + 定制)
83
-
84
- | 成品 | 用到的 `ui` 基础能力 | 定制了什么 |
85
- |---|---|---|
86
- | `adv.session` · `SessionPreview` | `Modal` | 把会话消息放进弹窗 |
87
- | `adv.explorer` · `FileBrowser` | `Button`(面包屑 ghost / 行尾 outline)/ `IconButton` / `Segmented` / `MarqueeText` / `PanelDock`(浏览态外壳与拖宽)+ 官方件(`FileTypeIcon` / `MarkdownText` / `CodeBlock`,经 `ui/official`) | 面包屑 + 内联展开树 + 预览体家族 + 两命令式能力 |
88
-
89
- `adv.*` 只做「拼装 + 业务定制」,不重新实现按钮 / 下拉 / 弹窗 / 侧栏。
90
+ **一个控件的四份东西放同一个目录**:`X.ts` + `X-logic.ts`(若有)+ `X.css`(真源)+ `X-css.generated.ts`(生成物)。
91
+ CSS 真源位置改动要同步 `scripts/gen-css.mjs` 的 `MAP`(显式清单,刻意保留摩擦)。
90
92
 
91
- ### 依赖方向(单向,不许反向)
93
+ ## 四、依赖方向(单向,不许反向)
92
94
 
93
95
  ```
94
- design ──▶ ui ──▶ adv.explorer / adv.session
96
+ design ──▶ ui ──▶ adv/explorer · adv/session
95
97
  utils(谁都不依赖,谁都可以用)
96
98
  ```
97
99
 
98
- - `utils` 不得 import `ui` / `design` / React / DOM / 宿主 API —— 将来要能整体剥出去复用。
100
+ - `utils` 不得 import `ui` / `design` / React / DOM / 宿主 API。
99
101
  - `design` 不得依赖 `ui`(否则「只想要 token 的插件」被迫拖进 React)。
100
- - `ui` 不得依赖 `adv.*`(反向依赖成环)。
101
- - `adv.*` 只从 `ui` / `utils` 的公开导出消费,不直接 import 官方平台模块(要包先过 `ui/official.ts`)。
102
+ - `ui` 不得依赖 `adv/*`(反向成环)。
103
+ - `adv/*` 只从 `ui` / `utils` 的公开导出消费,不直接 import 官方平台模块(要包先过 `ui/official.ts`)。
102
104
 
103
- ### 立包判据
105
+ ## 五、立包判据
104
106
 
105
- **有实质内容、会持续长大的功能模块才独立成子包;只是一个控件就进 `ui`。**
107
+ **有实质内容、会持续长大的功能模块才独立成区;只是一个控件就进 `ui`。**
106
108
  统一到「控件」粒度,不提整个页面。
107
109
 
108
- ---
110
+ ## 六、对外入口
109
111
 
110
- ## 二、demo 展示分区(左侧导航)
112
+ | 子路径 | 用途 | 为什么单独开 |
113
+ |---|---|---|
114
+ | `dsh-plugin-core/ui` | 全部控件(唯一主入口,扁平导出) | 单入口是业界共识(AntD / MUI 同);按类开 7 条子路径只增加记忆成本 |
115
+ | `dsh-plugin-core/ui/official` | L1 官方 adapter | `adv/*` 要直接取官方件,属结构性第二入口 |
116
+ | `dsh-plugin-core/ui/code-viewer` | CodeViewer | 直接引 `@uiw/react-codemirror`,重依赖必须可选 |
117
+ | `dsh-plugin-core/ui/host-toast` | 宿主原生 Toast | 入口静态 import 官方件会让 Node 单测崩(旧坑) |
118
+ | `dsh-plugin-core/adv/explorer` | 文件浏览 | 应用模块独立子路径 |
119
+ | `dsh-plugin-core/adv/session` | 会话预览 | 同上 |
120
+
121
+ **不再新增子路径**:想加,先问「是重依赖,还是只是分类?」—— 分类归目录,不归导出口。
122
+
123
+ ## 七、demo 展示分区(两级,17 页)
124
+
125
+ 侧栏与右侧共用 `packages/demo/src/sections/index.tsx` 的 `ALL_SECTIONS`(单一事实源)。
111
126
 
112
127
  ```
113
- 组件预览
114
- │
115
- ├─ ① 设计
116
- │ 色板 / 字号 / 间距 / 圆角 / 阴影 / 明暗
117
- │ (只摆值,不点交互)
118
- │
119
- ├─ ② 基础控件
120
- │ ├─ 表单 Input / NumberInput / PrefixedInput / Textarea / Checkbox / Segmented / Picker / DateTimePicker
121
- │ ├─ 动作 Button / IconButton
122
- │ ├─ 反馈 Modal / Toast
123
- │ ├─ 展示 Card / StripCard / Chip / Table / MarqueeText / SectionHead / FieldHint / LiveText
124
- │ ├─ 组合 SplitGroup(展示在选择器页)/ InputGroup(展示在表单页)
125
- │ └─ 布局 PanelDock / 拉栏 / QuickToolbar
126
- │
127
- ├─ ③ 高级空间
128
- │ ├─ 文件浏览 FileBrowser + openFilePreview / pickWorkspaceFile(点文件夹、点文件看预览)
129
- │ └─ 会话预览 SessionPreview(弹窗里放会话记录)
130
- │
131
- └─ ④ 工具方法
132
- 日期格式化 / 相对时间(拿真实值演示,不是控件)
128
+ ① 入门 start 帮助索引 / 快速开始 / 参考
129
+ ② 设计 design 设计基础(token · 明暗)
130
+ ③ 控件 components
131
+ ├─ 动作 actions Button · IconButton
132
+ ├─ 录入 inputs Input · NumberInput · PrefixedInput · Textarea · Checkbox
133
+ │ Segmented · Picker · DateTimePicker · WorkspacePicker
134
+ │ ModelPicker · InputGroup
135
+ ├─ 展示 display Card · StripCard · Surface · Chip · Table · CodeViewer
136
+ │ MarqueeText · FlipText · LiveText · SectionHead · FieldHint
137
+ ├─ 反馈 feedback Modal · SideSheet · AlertModal · ConfirmModal
138
+ │ Toast · Loader · LoaderBar · Loading
139
+ ├─ 布局 layout SplitGroup · PanelDock · QuickToolbar
140
+ └─ 导航 navigation Pagination
141
+ ④ 应用模块 blocks 文件浏览 / 会话预览
142
+ ⑤ 工具方法 utils 日期时间 / 文本 / 数字 / HTTP / 多语言
133
143
  ```
134
144
 
135
- ### 现有分区 → 新分组映射(全部是重排,不用新写内容)
136
-
137
- | 现有 `demo/sections/` | 归到 |
138
- |---|---|
139
- | `design.tsx` | ① 设计 |
140
- | `buttons.tsx` | ② 基础控件 · 动作 |
141
- | `pickers.tsx` | ② 基础控件 · 表单 |
142
- | `display.tsx` | ② 基础控件 · 展示 |
143
- | `feedback.tsx` / `controls.tsx` | ② 基础控件 · 反馈 |
144
- | `toolbar.tsx` | ② 基础控件 · 布局(QuickToolbar) |
145
- | `explorer.tsx` | ③ 高级空间 · 文件浏览 |
146
- | `session.tsx` | ③ 高级空间 · 会话预览 |
147
- | `utils.tsx` | ④ 工具方法 |
148
-
149
- ---
150
-
151
- ## 三、未落地项(等调整)
152
-
153
- - **目录改名**:`src/explorer` → `src/adv.explorer`、`src/session` → `src/adv.session`;同步改
154
- `package.json` 的 `exports`、各 `index.ts`、`packages/demo` 的 import、`docs/design/architecture.md` 的树。
155
- 代码现在仍是旧名。
156
- - ~~**收窄导出**:`adv.explorer` 只暴露 `ExplorerPanel`~~ → 已定(2026-10-20):暴露 `FileBrowser` 面板 +
157
- `openFilePreview` / `pickWorkspaceFile` 两命令式能力 + 纯逻辑层;`WorkspacePicker` 留在 `ui`。
158
- - ~~**路径方法归基础**~~ → **已落地**(2026-10-20):`joinPath` / `parentOf` / `crumbsOf` / `extOf` / `mimeOf`
159
- 在 `utils/path`;`previewInfoOf` 等业务判断留 `explorer/types.ts`(纯逻辑层,node 单测直接引)。
160
- - ~~**补基础组件**:`ui` 需补 `SidebarLayout` / `SplitPane`~~ → **已落地为 `PanelDock`**(2026-10-20),
161
- `resizer` 保留为它的底层函数。
162
- - **暂缓项**:`utils/string`、`utils/number`、`utils/http`、`ui/feedback/Loading` —— 只标注,未删代码。
145
+ 合并后的页按旧页面的顺序串联,控件之间的分节就是各 `Example` 块自己的标题(不再额外加一层小标题)。
146
+
147
+ ## 八、对应表:导航 ↔ 代码 ↔ 文档
148
+
149
+ | 导航项 | 代码 | 文档 |
150
+ |---|---|---|
151
+ | ① 入门 | (无,讲述型) | `docs/help/index.md` + `integration.md` |
152
+ | ② 设计 | `src/design/` | `docs/help/design.md` |
153
+ | ③ 控件 · 动作 | `src/ui/actions/` | `docs/help/ui.md` |
154
+ | ③ 控件 · 录入 | `src/ui/inputs/` | 同上 |
155
+ | ③ 控件 · 展示 | `src/ui/display/` | 同上 |
156
+ | ③ 控件 · 反馈 | `src/ui/feedback/` | 同上 |
157
+ | ③ 控件 · 布局 | `src/ui/layout/` | 同上 |
158
+ | ③ 控件 · 导航 | `src/ui/navigation/` | 同上 |
159
+ | (无导航项) | `src/ui/infra/` | 只在「入门 · 接入」讲一句 |
160
+ | ④ 应用模块 | `src/adv/explorer/`、`src/adv/session/` | `docs/help/explorer.md`、`session.md` |
161
+ | ⑤ 工具方法 | `src/utils/` | `docs/help/methods.md` |
162
+
163
+ ## 九、未落地项
164
+
165
+ - ~~**分类表 + 自检**~~ → **已落地**(2026-11-05):`test/ui-taxonomy.test.mjs` 盯三件事 —— `src/ui` 根只许 `index.ts` / `official.ts`、类目录只有登记过的 7 个、`*.css` 与 `*-css.generated.ts` 必须同目录成对。
166
+ - **暂缓项**:`utils/string`、`utils/number`、`utils/http`、`ui/feedback/Loading`(只标注,未删代码)。
163
167
  - **库里没有的**:
164
168
  - Switch 开关 —— 官方 primitives 有,归「包官方」批次;
165
- - Select 下拉 —— 用 `Picker` 代替(`SelectField` 曾因依赖官方 Menu 被删,属待反转的旧决策)。
169
+ - Select 下拉 —— 用 `Picker` 代替(`SelectField` 曾因依赖官方 Menu 被删,属已反转的旧决策)。
@@ -122,13 +122,13 @@ its own assertion.
122
122
 
123
123
  > EN: There is only one arrow: `Chevron`
124
124
 
125
- `ui` 层零官方依赖,箭头一律走 `src/ui/chevron.ts` 的自绘 chevron(`h(Chevron, { dir, size })`,
125
+ `ui` 层零官方依赖,箭头一律走 `src/ui/infra/chevron.ts` 的自绘 chevron(`h(Chevron, { dir, size })`,
126
126
  四向共用一条路径,靠旋转实现)。**不许再写 `'▾'` / `'↑'` 这类字形**——各系统字体下粗细、角度、
127
127
  基线都不一样,同一套界面里会冒出第二种箭头(2026-10-26:卡片折叠箭头就是这么来的)。
128
128
  有自检盯着:`test/quality.test.mjs`。
129
129
 
130
130
  EN: The `ui` layer has no official dependency, so every arrow comes from the self-drawn chevron in
131
- `src/ui/chevron.ts`. Never write a glyph arrow again; a test enforces it.
131
+ `src/ui/infra/chevron.ts`. Never write a glyph arrow again; a test enforces it.
132
132
 
133
133
  ## 拼成一体:外壳持框,内件交边
134
134
 
@@ -140,7 +140,7 @@ EN: The `ui` layer has no official dependency, so every arrow comes from the sel
140
140
  自己画 `:focus-visible` 圈——否则格子里会冒出半圈描边。
141
141
 
142
142
  `SplitGroup` 用后代选择器直接压内件(`.dshpc-split .dshpc-picker__trigger` / `.dshpc-split .dshpc-seg`),
143
- 所以**内件类名就是耦合点**:改这些类名或结构必须同步改 `src/ui/controls/split-group.css`,否则拼接
143
+ 所以**内件类名就是耦合点**:改这些类名或结构必须同步改 `src/ui/layout/split-group.css`,否则拼接
144
144
  静默失效(双边框、底色错位),没有自检能替你发现。高度不写死——内件按自己的 `size`(sm 24 /
145
145
  md 28 / lg 32)撑开,外壳跟着长;两格传同一个 `size` 才逐像素等高。**外壳绝不能用 `height:100%`
146
146
  拉满内件**:它和 `.dshpc-picker__trigger--lg` / `--sm` 同特异性(两个类)且 `split-group.css`
@@ -154,7 +154,7 @@ md 28 / lg 32)撑开,外壳跟着长;两格传同一个 `size` 才逐像
154
154
  EN: Welding controls into one visual unit has exactly one recipe: the shell owns border, radius,
155
155
  `overflow:hidden` and the shared `:focus-within` ring; the cells hand over border, background and radius.
156
156
  `SplitGroup` overrides inner classes with descendant selectors, so those class names are the coupling point —
157
- rename them and you must update `src/ui/controls/split-group.css`, or the weld fails silently.
157
+ rename them and you must update `src/ui/layout/split-group.css`, or the weld fails silently.
158
158
 
159
159
  ## 滚动条让位:一律离边缘 1px
160
160
 
@@ -190,7 +190,7 @@ one-liner; `--dshpc-dock-gap` was removed on 2026-11-02. A test enforces the bor
190
190
 
191
191
  > EN: Three tiers for floating surfaces — modal / popover / menu
192
192
 
193
- 所有「浮起来的框」的**表面**(底色 · 描边宽 · 圆角 · 阴影)只在 `src/ui/panel.css` 定义,档位只有三个
193
+ 所有「浮起来的框」的**表面**(底色 · 描边宽 · 圆角 · 阴影)只在 `src/ui/infra/panel.css` 定义,档位只有三个
194
194
  (2026-11-03 用户定:样式统一,交互各家自己管):
195
195
 
196
196
  | 档位 | 用在 | 底色 | 描边 | 圆角 | 阴影 |
@@ -111,8 +111,8 @@ const doc: DocTopic = {
111
111
  en: 'Boundary: a plugin’s own UI copy is the plugin’s responsibility; this package offers no plugin-level i18n framework. To override a string: pass a `translate` prop, or use `t` with your own dictionary.',
112
112
  },
113
113
  {
114
- zh: '语言默认跟随宿主:官方 locale 插件把生效语言写进 `<html lang>`(zh → `zh-CN`),本包直接读它 ⇒ 插件不必再接 locale 服务、也不必自己同步。`setLocale` 只是手动覆盖(测试 / 非宿主环境用),调过就不再跟随宿主。',
115
- en: 'The language follows the host by default: the official locale plugin writes the active language into `<html lang>` (zh → `zh-CN`) and this package reads it directly, so a plugin needs neither the locale service nor its own sync. `setLocale` is only a manual override (tests / non-host environments); once called it stops following the host.',
114
+ zh: '语言默认跟随宿主:官方 locale 插件把生效语言写进 `<html lang>`(zh → `zh-CN`),本包直接读它 ⇒ 插件不必再接 locale 服务、也不必自己同步。`setLocale` 只是手动覆盖(测试 / 非宿主环境用),调过就不再跟随宿主,传 `null` 恢复跟随。',
115
+ en: 'The language follows the host by default: the official locale plugin writes the active language into `<html lang>` (zh → `zh-CN`) and this package reads it directly, so a plugin needs neither the locale service nor its own sync. `setLocale` is only a manual override (tests / non-host environments); once called it stops following the host, and passing `null` resumes it.',
116
116
  },
117
117
  {
118
118
  zh: '可用 key 全集见 src/utils/i18n.ts 的 UtilMessageKey;要在宿主切语言时重渲组件,顶层调一次 `useLocale()`(ui 导出)。',
@@ -123,7 +123,7 @@ const doc: DocTopic = {
123
123
  {
124
124
  id: 'utils-i18n',
125
125
  rows: [
126
- { name: 'setLocale(locale)', type: "('zh' | 'en') => void", def: '不调则跟随宿主', desc: { zh: '手动覆盖语言(测试 / 非宿主);不调就跟随宿主 `<html lang>`', en: 'Manual override (tests / non-host); otherwise follows the host `<html lang>`' } },
126
+ { name: 'setLocale(locale)', type: "('zh' | 'en' | null) => void", def: '不调则跟随宿主', desc: { zh: '手动覆盖语言(测试 / 非宿主);传 `null` 恢复跟随宿主 `<html lang>`', en: 'Manual override (tests / non-host); pass `null` to follow the host `<html lang>` again' } },
127
127
  { name: 'getLocale()', type: '() => string', def: '—', desc: { zh: '当前语言(默认跟随宿主)', en: 'Current locale (follows the host by default)' } },
128
128
  { name: 't(key, vars?)', type: '(key, vars?) => string', def: '—', desc: { zh: '取文案;{n} 占位由 vars 填', en: 'Get copy; {n} placeholders filled by vars' } },
129
129
  { name: 'type Translate', type: '(key, vars?) => string', def: '—', desc: { zh: '组件都收这个参数供覆盖', en: 'Components accept this to override copy' } },
@@ -84,9 +84,9 @@ RequestOptions:{ timeoutMs?, signal?, method?, body?, headers? }。
84
84
 
85
85
  > EN: Boundary: a plugin’s own UI copy is the plugin’s responsibility; this package offers no plugin-level i18n framework. To override a string: pass a `translate` prop, or use `t` with your own dictionary.
86
86
 
87
- 语言默认跟随宿主:官方 locale 插件把生效语言写进 `<html lang>`(zh → `zh-CN`),本包直接读它 ⇒ 插件不必再接 locale 服务、也不必自己同步。`setLocale` 只是手动覆盖(测试 / 非宿主环境用),调过就不再跟随宿主。
87
+ 语言默认跟随宿主:官方 locale 插件把生效语言写进 `<html lang>`(zh → `zh-CN`),本包直接读它 ⇒ 插件不必再接 locale 服务、也不必自己同步。`setLocale` 只是手动覆盖(测试 / 非宿主环境用),调过就不再跟随宿主,传 `null` 恢复跟随。
88
88
 
89
- > EN: The language follows the host by default: the official locale plugin writes the active language into `<html lang>` (zh → `zh-CN`) and this package reads it directly, so a plugin needs neither the locale service nor its own sync. `setLocale` is only a manual override (tests / non-host environments); once called it stops following the host.
89
+ > EN: The language follows the host by default: the official locale plugin writes the active language into `<html lang>` (zh → `zh-CN`) and this package reads it directly, so a plugin needs neither the locale service nor its own sync. `setLocale` is only a manual override (tests / non-host environments); once called it stops following the host, and passing `null` resumes it.
90
90
 
91
91
  可用 key 全集见 src/utils/i18n.ts 的 UtilMessageKey;要在宿主切语言时重渲组件,顶层调一次 `useLocale()`(ui 导出)。
92
92
 
@@ -94,7 +94,7 @@ RequestOptions:{ timeoutMs?, signal?, method?, body?, headers? }。
94
94
 
95
95
  | 参数 | 类型 | 默认 | 说明(zh) | 说明(en) |
96
96
  |---|---|---|---|---|
97
- | `setLocale(locale)` | `('zh' \| 'en') => void` | 不调则跟随宿主 | 手动覆盖语言(测试 / 非宿主);不调就跟随宿主 `<html lang>` | Manual override (tests / non-host); otherwise follows the host `<html lang>` |
97
+ | `setLocale(locale)` | `('zh' \| 'en' \| null) => void` | 不调则跟随宿主 | 手动覆盖语言(测试 / 非宿主);传 `null` 恢复跟随宿主 `<html lang>` | Manual override (tests / non-host); pass `null` to follow the host `<html lang>` again |
98
98
  | `getLocale()` | `() => string` | — | 当前语言(默认跟随宿主) | Current locale (follows the host by default) |
99
99
  | `t(key, vars?)` | `(key, vars?) => string` | — | 取文案;{n} 占位由 vars 填 | Get copy; {n} placeholders filled by vars |
100
100
  | `type Translate` | `(key, vars?) => string` | — | 组件都收这个参数供覆盖 | Components accept this to override copy |