dsh-plugin-core 0.31.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 (685) 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/design/tokens-css.generated.d.ts +1 -1
  218. package/dist/design/tokens-css.generated.d.ts.map +1 -1
  219. package/dist/design/tokens-css.generated.js +1 -1
  220. package/dist/design/tokens-css.generated.js.map +1 -1
  221. package/dist/ui/Button.d.ts.map +1 -1
  222. package/dist/ui/Button.js +6 -2
  223. package/dist/ui/Button.js.map +1 -1
  224. package/dist/ui/Checkbox.d.ts.map +1 -1
  225. package/dist/ui/Checkbox.js +7 -3
  226. package/dist/ui/Checkbox.js.map +1 -1
  227. package/dist/ui/DateTimePicker.d.ts.map +1 -1
  228. package/dist/ui/DateTimePicker.js +4 -3
  229. package/dist/ui/DateTimePicker.js.map +1 -1
  230. package/dist/ui/Field.d.ts.map +1 -1
  231. package/dist/ui/Field.js +15 -7
  232. package/dist/ui/Field.js.map +1 -1
  233. package/dist/ui/Modal.d.ts +7 -6
  234. package/dist/ui/Modal.d.ts.map +1 -1
  235. package/dist/ui/Modal.js +6 -6
  236. package/dist/ui/Modal.js.map +1 -1
  237. package/dist/ui/Pagination.d.ts.map +1 -1
  238. package/dist/ui/Pagination.js +3 -1
  239. package/dist/ui/Pagination.js.map +1 -1
  240. package/dist/ui/Picker.d.ts.map +1 -1
  241. package/dist/ui/Picker.js +3 -2
  242. package/dist/ui/Picker.js.map +1 -1
  243. package/dist/ui/Segmented.d.ts.map +1 -1
  244. package/dist/ui/Segmented.js +4 -1
  245. package/dist/ui/Segmented.js.map +1 -1
  246. package/dist/ui/SideSheet.d.ts.map +1 -1
  247. package/dist/ui/SideSheet.js +6 -5
  248. package/dist/ui/SideSheet.js.map +1 -1
  249. package/dist/ui/Textarea.d.ts.map +1 -1
  250. package/dist/ui/Textarea.js +4 -1
  251. package/dist/ui/Textarea.js.map +1 -1
  252. package/dist/ui/actions/Button.d.ts +102 -0
  253. package/dist/ui/actions/Button.d.ts.map +1 -0
  254. package/dist/ui/actions/Button.js +233 -0
  255. package/dist/ui/actions/Button.js.map +1 -0
  256. package/dist/ui/actions/button-css.generated.d.ts +2 -0
  257. package/dist/ui/actions/button-css.generated.d.ts.map +1 -0
  258. package/dist/ui/actions/button-css.generated.js +4 -0
  259. package/dist/ui/actions/button-css.generated.js.map +1 -0
  260. package/dist/ui/display/Card.d.ts +65 -0
  261. package/dist/ui/display/Card.d.ts.map +1 -0
  262. package/dist/ui/display/Card.js +109 -0
  263. package/dist/ui/display/Card.js.map +1 -0
  264. package/dist/ui/display/Chip.d.ts +28 -0
  265. package/dist/ui/display/Chip.d.ts.map +1 -0
  266. package/dist/ui/display/Chip.js +36 -0
  267. package/dist/ui/display/Chip.js.map +1 -0
  268. package/dist/ui/display/CodeViewer.d.ts +38 -0
  269. package/dist/ui/display/CodeViewer.d.ts.map +1 -0
  270. package/dist/ui/display/CodeViewer.js +107 -0
  271. package/dist/ui/display/CodeViewer.js.map +1 -0
  272. package/dist/ui/display/FieldHint.d.ts +18 -0
  273. package/dist/ui/display/FieldHint.d.ts.map +1 -0
  274. package/dist/ui/display/FieldHint.js +40 -0
  275. package/dist/ui/display/FieldHint.js.map +1 -0
  276. package/dist/ui/display/FlipText.d.ts +43 -0
  277. package/dist/ui/display/FlipText.d.ts.map +1 -0
  278. package/dist/ui/display/FlipText.js +59 -0
  279. package/dist/ui/display/FlipText.js.map +1 -0
  280. package/dist/ui/display/LiveText.d.ts +13 -0
  281. package/dist/ui/display/LiveText.d.ts.map +1 -0
  282. package/dist/ui/display/LiveText.js +19 -0
  283. package/dist/ui/display/LiveText.js.map +1 -0
  284. package/dist/ui/display/MarqueeText.d.ts +22 -0
  285. package/dist/ui/display/MarqueeText.d.ts.map +1 -0
  286. package/dist/ui/display/MarqueeText.js +52 -0
  287. package/dist/ui/display/MarqueeText.js.map +1 -0
  288. package/dist/ui/display/SectionHead.d.ts +35 -0
  289. package/dist/ui/display/SectionHead.d.ts.map +1 -0
  290. package/dist/ui/display/SectionHead.js +45 -0
  291. package/dist/ui/display/SectionHead.js.map +1 -0
  292. package/dist/ui/display/Surface.d.ts +43 -0
  293. package/dist/ui/display/Surface.d.ts.map +1 -0
  294. package/dist/ui/display/Surface.js +39 -0
  295. package/dist/ui/display/Surface.js.map +1 -0
  296. package/dist/ui/display/Table.d.ts +30 -0
  297. package/dist/ui/display/Table.d.ts.map +1 -0
  298. package/dist/ui/display/Table.js +96 -0
  299. package/dist/ui/display/Table.js.map +1 -0
  300. package/dist/ui/display/card-css.d.ts +2 -0
  301. package/dist/ui/display/card-css.d.ts.map +1 -0
  302. package/dist/ui/display/card-css.generated.d.ts +2 -0
  303. package/dist/ui/display/card-css.generated.d.ts.map +1 -0
  304. package/dist/ui/display/card-css.generated.js +4 -0
  305. package/dist/ui/display/card-css.generated.js.map +1 -0
  306. package/dist/ui/display/card-css.js +5 -0
  307. package/dist/ui/display/card-css.js.map +1 -0
  308. package/dist/ui/display/chip-css.d.ts +2 -0
  309. package/dist/ui/display/chip-css.d.ts.map +1 -0
  310. package/dist/ui/display/chip-css.generated.d.ts +2 -0
  311. package/dist/ui/display/chip-css.generated.d.ts.map +1 -0
  312. package/dist/ui/display/chip-css.generated.js +4 -0
  313. package/dist/ui/display/chip-css.generated.js.map +1 -0
  314. package/dist/ui/display/chip-css.js +12 -0
  315. package/dist/ui/display/chip-css.js.map +1 -0
  316. package/dist/ui/display/code-viewer-css.d.ts +2 -0
  317. package/dist/ui/display/code-viewer-css.d.ts.map +1 -0
  318. package/dist/ui/display/code-viewer-css.generated.d.ts +2 -0
  319. package/dist/ui/display/code-viewer-css.generated.d.ts.map +1 -0
  320. package/dist/ui/display/code-viewer-css.generated.js +4 -0
  321. package/dist/ui/display/code-viewer-css.generated.js.map +1 -0
  322. package/dist/ui/display/code-viewer-css.js +3 -0
  323. package/dist/ui/display/code-viewer-css.js.map +1 -0
  324. package/dist/ui/display/code-viewer-lang.d.ts +15 -0
  325. package/dist/ui/display/code-viewer-lang.d.ts.map +1 -0
  326. package/dist/ui/display/code-viewer-lang.js +190 -0
  327. package/dist/ui/display/code-viewer-lang.js.map +1 -0
  328. package/dist/ui/display/code-viewer-theme.d.ts +5 -0
  329. package/dist/ui/display/code-viewer-theme.d.ts.map +1 -0
  330. package/dist/ui/display/code-viewer-theme.js +138 -0
  331. package/dist/ui/display/code-viewer-theme.js.map +1 -0
  332. package/dist/ui/display/flip-css.d.ts +2 -0
  333. package/dist/ui/display/flip-css.d.ts.map +1 -0
  334. package/dist/ui/display/flip-css.generated.d.ts +2 -0
  335. package/dist/ui/display/flip-css.generated.d.ts.map +1 -0
  336. package/dist/ui/display/flip-css.generated.js +4 -0
  337. package/dist/ui/display/flip-css.generated.js.map +1 -0
  338. package/dist/ui/display/flip-css.js +4 -0
  339. package/dist/ui/display/flip-css.js.map +1 -0
  340. package/dist/ui/display/hint-css.generated.d.ts +2 -0
  341. package/dist/ui/display/hint-css.generated.d.ts.map +1 -0
  342. package/dist/ui/display/hint-css.generated.js +4 -0
  343. package/dist/ui/display/hint-css.generated.js.map +1 -0
  344. package/dist/ui/display/marquee-css.d.ts +2 -0
  345. package/dist/ui/display/marquee-css.d.ts.map +1 -0
  346. package/dist/ui/display/marquee-css.generated.d.ts +2 -0
  347. package/dist/ui/display/marquee-css.generated.d.ts.map +1 -0
  348. package/dist/ui/display/marquee-css.generated.js +4 -0
  349. package/dist/ui/display/marquee-css.generated.js.map +1 -0
  350. package/dist/ui/display/marquee-css.js +4 -0
  351. package/dist/ui/display/marquee-css.js.map +1 -0
  352. package/dist/ui/display/section-head-css.generated.d.ts +2 -0
  353. package/dist/ui/display/section-head-css.generated.d.ts.map +1 -0
  354. package/dist/ui/display/section-head-css.generated.js +4 -0
  355. package/dist/ui/display/section-head-css.generated.js.map +1 -0
  356. package/dist/ui/display/surface-css.d.ts +2 -0
  357. package/dist/ui/display/surface-css.d.ts.map +1 -0
  358. package/dist/ui/display/surface-css.generated.d.ts +2 -0
  359. package/dist/ui/display/surface-css.generated.d.ts.map +1 -0
  360. package/dist/ui/display/surface-css.generated.js +4 -0
  361. package/dist/ui/display/surface-css.generated.js.map +1 -0
  362. package/dist/ui/display/surface-css.js +7 -0
  363. package/dist/ui/display/surface-css.js.map +1 -0
  364. package/dist/ui/display/table-css.generated.d.ts +2 -0
  365. package/dist/ui/display/table-css.generated.d.ts.map +1 -0
  366. package/dist/ui/display/table-css.generated.js +4 -0
  367. package/dist/ui/display/table-css.generated.js.map +1 -0
  368. package/dist/ui/display/table-logic.d.ts +110 -0
  369. package/dist/ui/display/table-logic.d.ts.map +1 -0
  370. package/dist/ui/display/table-logic.js +81 -0
  371. package/dist/ui/display/table-logic.js.map +1 -0
  372. package/dist/ui/display/table-plain-css.generated.d.ts +2 -0
  373. package/dist/ui/display/table-plain-css.generated.d.ts.map +1 -0
  374. package/dist/ui/display/table-plain-css.generated.js +4 -0
  375. package/dist/ui/display/table-plain-css.generated.js.map +1 -0
  376. package/dist/ui/display/table-shared.d.ts +101 -0
  377. package/dist/ui/display/table-shared.d.ts.map +1 -0
  378. package/dist/ui/display/table-shared.js +229 -0
  379. package/dist/ui/display/table-shared.js.map +1 -0
  380. package/dist/ui/feedback/AlertModal.d.ts +41 -0
  381. package/dist/ui/feedback/AlertModal.d.ts.map +1 -0
  382. package/dist/ui/feedback/AlertModal.js +45 -0
  383. package/dist/ui/feedback/AlertModal.js.map +1 -0
  384. package/dist/ui/feedback/ConfirmModal.d.ts +50 -0
  385. package/dist/ui/feedback/ConfirmModal.d.ts.map +1 -0
  386. package/dist/ui/feedback/ConfirmModal.js +47 -0
  387. package/dist/ui/feedback/ConfirmModal.js.map +1 -0
  388. package/dist/ui/feedback/Loader.d.ts +49 -0
  389. package/dist/ui/feedback/Loader.d.ts.map +1 -0
  390. package/dist/ui/feedback/Loader.js +79 -0
  391. package/dist/ui/feedback/Loader.js.map +1 -0
  392. package/dist/ui/feedback/LoaderBar.d.ts +38 -0
  393. package/dist/ui/feedback/LoaderBar.d.ts.map +1 -0
  394. package/dist/ui/feedback/LoaderBar.js +79 -0
  395. package/dist/ui/feedback/LoaderBar.js.map +1 -0
  396. package/dist/ui/feedback/Loading.d.ts +69 -0
  397. package/dist/ui/feedback/Loading.d.ts.map +1 -0
  398. package/dist/ui/feedback/Loading.js +164 -0
  399. package/dist/ui/feedback/Loading.js.map +1 -0
  400. package/dist/ui/feedback/Modal.d.ts +73 -0
  401. package/dist/ui/feedback/Modal.d.ts.map +1 -0
  402. package/dist/ui/feedback/Modal.js +83 -0
  403. package/dist/ui/feedback/Modal.js.map +1 -0
  404. package/dist/ui/feedback/SideSheet.d.ts +70 -0
  405. package/dist/ui/feedback/SideSheet.d.ts.map +1 -0
  406. package/dist/ui/feedback/SideSheet.js +130 -0
  407. package/dist/ui/feedback/SideSheet.js.map +1 -0
  408. package/dist/ui/feedback/Toast.d.ts +45 -0
  409. package/dist/ui/feedback/Toast.d.ts.map +1 -0
  410. package/dist/ui/feedback/Toast.js +225 -0
  411. package/dist/ui/feedback/Toast.js.map +1 -0
  412. package/dist/ui/feedback/feedback-css.d.ts +2 -0
  413. package/dist/ui/feedback/feedback-css.d.ts.map +1 -0
  414. package/dist/ui/feedback/feedback-css.generated.d.ts +2 -0
  415. package/dist/ui/feedback/feedback-css.generated.d.ts.map +1 -0
  416. package/dist/ui/feedback/feedback-css.generated.js +4 -0
  417. package/dist/ui/feedback/feedback-css.generated.js.map +1 -0
  418. package/dist/ui/feedback/feedback-css.js +4 -0
  419. package/dist/ui/feedback/feedback-css.js.map +1 -0
  420. package/dist/ui/feedback/host-toast.d.ts +23 -0
  421. package/dist/ui/feedback/host-toast.d.ts.map +1 -0
  422. package/dist/ui/feedback/host-toast.js +34 -0
  423. package/dist/ui/feedback/host-toast.js.map +1 -0
  424. package/dist/ui/feedback/loader-bar-art.d.ts +6 -0
  425. package/dist/ui/feedback/loader-bar-art.d.ts.map +1 -0
  426. package/dist/ui/feedback/loader-bar-art.js +6 -0
  427. package/dist/ui/feedback/loader-bar-art.js.map +1 -0
  428. package/dist/ui/feedback/loader-bar-css.generated.d.ts +2 -0
  429. package/dist/ui/feedback/loader-bar-css.generated.d.ts.map +1 -0
  430. package/dist/ui/feedback/loader-bar-css.generated.js +4 -0
  431. package/dist/ui/feedback/loader-bar-css.generated.js.map +1 -0
  432. package/dist/ui/feedback/loader-css.generated.d.ts +2 -0
  433. package/dist/ui/feedback/loader-css.generated.d.ts.map +1 -0
  434. package/dist/ui/feedback/loader-css.generated.js +4 -0
  435. package/dist/ui/feedback/loader-css.generated.js.map +1 -0
  436. package/dist/ui/feedback/loading-css.generated.d.ts +2 -0
  437. package/dist/ui/feedback/loading-css.generated.d.ts.map +1 -0
  438. package/dist/ui/feedback/loading-css.generated.js +4 -0
  439. package/dist/ui/feedback/loading-css.generated.js.map +1 -0
  440. package/dist/ui/feedback/loading-host.d.ts +49 -0
  441. package/dist/ui/feedback/loading-host.d.ts.map +1 -0
  442. package/dist/ui/feedback/loading-host.js +57 -0
  443. package/dist/ui/feedback/loading-host.js.map +1 -0
  444. package/dist/ui/feedback/modal-host.d.ts +51 -0
  445. package/dist/ui/feedback/modal-host.d.ts.map +1 -0
  446. package/dist/ui/feedback/modal-host.js +170 -0
  447. package/dist/ui/feedback/modal-host.js.map +1 -0
  448. package/dist/ui/feedback/side-sheet-css.d.ts +2 -0
  449. package/dist/ui/feedback/side-sheet-css.d.ts.map +1 -0
  450. package/dist/ui/feedback/side-sheet-css.generated.d.ts +2 -0
  451. package/dist/ui/feedback/side-sheet-css.generated.d.ts.map +1 -0
  452. package/dist/ui/feedback/side-sheet-css.generated.js +4 -0
  453. package/dist/ui/feedback/side-sheet-css.generated.js.map +1 -0
  454. package/dist/ui/feedback/side-sheet-css.js +2 -0
  455. package/dist/ui/feedback/side-sheet-css.js.map +1 -0
  456. package/dist/ui/feedback/toast-host.d.ts +24 -0
  457. package/dist/ui/feedback/toast-host.d.ts.map +1 -0
  458. package/dist/ui/feedback/toast-host.js +20 -0
  459. package/dist/ui/feedback/toast-host.js.map +1 -0
  460. package/dist/ui/feedback-css.generated.d.ts +1 -1
  461. package/dist/ui/feedback-css.generated.d.ts.map +1 -1
  462. package/dist/ui/feedback-css.generated.js +1 -1
  463. package/dist/ui/feedback-css.generated.js.map +1 -1
  464. package/dist/ui/index.d.ts +44 -44
  465. package/dist/ui/index.d.ts.map +1 -1
  466. package/dist/ui/index.js +44 -44
  467. package/dist/ui/index.js.map +1 -1
  468. package/dist/ui/infra/chevron.d.ts +22 -0
  469. package/dist/ui/infra/chevron.d.ts.map +1 -0
  470. package/dist/ui/infra/chevron.js +33 -0
  471. package/dist/ui/infra/chevron.js.map +1 -0
  472. package/dist/ui/infra/controls-css.d.ts +16 -0
  473. package/dist/ui/infra/controls-css.d.ts.map +1 -0
  474. package/dist/ui/infra/controls-css.js +26 -0
  475. package/dist/ui/infra/controls-css.js.map +1 -0
  476. package/dist/ui/infra/css.d.ts +35 -0
  477. package/dist/ui/infra/css.d.ts.map +1 -0
  478. package/dist/ui/infra/css.js +52 -0
  479. package/dist/ui/infra/css.js.map +1 -0
  480. package/dist/ui/infra/host-data.d.ts +119 -0
  481. package/dist/ui/infra/host-data.d.ts.map +1 -0
  482. package/dist/ui/infra/host-data.js +122 -0
  483. package/dist/ui/infra/host-data.js.map +1 -0
  484. package/dist/ui/infra/locale.d.ts +4 -0
  485. package/dist/ui/infra/locale.d.ts.map +1 -0
  486. package/dist/ui/infra/locale.js +17 -0
  487. package/dist/ui/infra/locale.js.map +1 -0
  488. package/dist/ui/infra/overlay-css.d.ts +2 -0
  489. package/dist/ui/infra/overlay-css.d.ts.map +1 -0
  490. package/dist/ui/infra/overlay-css.generated.d.ts +2 -0
  491. package/dist/ui/infra/overlay-css.generated.d.ts.map +1 -0
  492. package/dist/ui/infra/overlay-css.generated.js +4 -0
  493. package/dist/ui/infra/overlay-css.generated.js.map +1 -0
  494. package/dist/ui/infra/overlay-css.js +2 -0
  495. package/dist/ui/infra/overlay-css.js.map +1 -0
  496. package/dist/ui/infra/overlay.d.ts +62 -0
  497. package/dist/ui/infra/overlay.d.ts.map +1 -0
  498. package/dist/ui/infra/overlay.js +94 -0
  499. package/dist/ui/infra/overlay.js.map +1 -0
  500. package/dist/ui/infra/panel-css.d.ts +2 -0
  501. package/dist/ui/infra/panel-css.d.ts.map +1 -0
  502. package/dist/ui/infra/panel-css.generated.d.ts +2 -0
  503. package/dist/ui/infra/panel-css.generated.d.ts.map +1 -0
  504. package/dist/ui/infra/panel-css.generated.js +4 -0
  505. package/dist/ui/infra/panel-css.generated.js.map +1 -0
  506. package/dist/ui/infra/panel-css.js +2 -0
  507. package/dist/ui/infra/panel-css.js.map +1 -0
  508. package/dist/ui/infra/panel.d.ts +41 -0
  509. package/dist/ui/infra/panel.d.ts.map +1 -0
  510. package/dist/ui/infra/panel.js +37 -0
  511. package/dist/ui/infra/panel.js.map +1 -0
  512. package/dist/ui/infra/side-panel-css.d.ts +2 -0
  513. package/dist/ui/infra/side-panel-css.d.ts.map +1 -0
  514. package/dist/ui/infra/side-panel-css.generated.d.ts +2 -0
  515. package/dist/ui/infra/side-panel-css.generated.d.ts.map +1 -0
  516. package/dist/ui/infra/side-panel-css.generated.js +4 -0
  517. package/dist/ui/infra/side-panel-css.generated.js.map +1 -0
  518. package/dist/ui/infra/side-panel-css.js +2 -0
  519. package/dist/ui/infra/side-panel-css.js.map +1 -0
  520. package/dist/ui/infra/thenable.d.ts +9 -0
  521. package/dist/ui/infra/thenable.d.ts.map +1 -0
  522. package/dist/ui/infra/thenable.js +15 -0
  523. package/dist/ui/infra/thenable.js.map +1 -0
  524. package/dist/ui/infra/ticker.d.ts +8 -0
  525. package/dist/ui/infra/ticker.d.ts.map +1 -0
  526. package/dist/ui/infra/ticker.js +49 -0
  527. package/dist/ui/infra/ticker.js.map +1 -0
  528. package/dist/ui/infra/tooltip.d.ts +29 -0
  529. package/dist/ui/infra/tooltip.d.ts.map +1 -0
  530. package/dist/ui/infra/tooltip.js +10 -0
  531. package/dist/ui/infra/tooltip.js.map +1 -0
  532. package/dist/ui/inputs/Checkbox.d.ts +24 -0
  533. package/dist/ui/inputs/Checkbox.d.ts.map +1 -0
  534. package/dist/ui/inputs/Checkbox.js +35 -0
  535. package/dist/ui/inputs/Checkbox.js.map +1 -0
  536. package/dist/ui/inputs/DateTimePicker.d.ts +45 -0
  537. package/dist/ui/inputs/DateTimePicker.d.ts.map +1 -0
  538. package/dist/ui/inputs/DateTimePicker.js +462 -0
  539. package/dist/ui/inputs/DateTimePicker.js.map +1 -0
  540. package/dist/ui/inputs/Field.d.ts +125 -0
  541. package/dist/ui/inputs/Field.d.ts.map +1 -0
  542. package/dist/ui/inputs/Field.js +175 -0
  543. package/dist/ui/inputs/Field.js.map +1 -0
  544. package/dist/ui/inputs/InputGroup.d.ts +91 -0
  545. package/dist/ui/inputs/InputGroup.d.ts.map +1 -0
  546. package/dist/ui/inputs/InputGroup.js +125 -0
  547. package/dist/ui/inputs/InputGroup.js.map +1 -0
  548. package/dist/ui/inputs/ModelPicker.d.ts +48 -0
  549. package/dist/ui/inputs/ModelPicker.d.ts.map +1 -0
  550. package/dist/ui/inputs/ModelPicker.js +101 -0
  551. package/dist/ui/inputs/ModelPicker.js.map +1 -0
  552. package/dist/ui/inputs/Picker.d.ts +56 -0
  553. package/dist/ui/inputs/Picker.d.ts.map +1 -0
  554. package/dist/ui/inputs/Picker.js +244 -0
  555. package/dist/ui/inputs/Picker.js.map +1 -0
  556. package/dist/ui/inputs/Segmented.d.ts +99 -0
  557. package/dist/ui/inputs/Segmented.d.ts.map +1 -0
  558. package/dist/ui/inputs/Segmented.js +135 -0
  559. package/dist/ui/inputs/Segmented.js.map +1 -0
  560. package/dist/ui/inputs/Textarea.d.ts +36 -0
  561. package/dist/ui/inputs/Textarea.d.ts.map +1 -0
  562. package/dist/ui/inputs/Textarea.js +35 -0
  563. package/dist/ui/inputs/Textarea.js.map +1 -0
  564. package/dist/ui/inputs/WorkspacePicker.d.ts +35 -0
  565. package/dist/ui/inputs/WorkspacePicker.d.ts.map +1 -0
  566. package/dist/ui/inputs/WorkspacePicker.js +39 -0
  567. package/dist/ui/inputs/WorkspacePicker.js.map +1 -0
  568. package/dist/ui/inputs/datetime-css.generated.d.ts +2 -0
  569. package/dist/ui/inputs/datetime-css.generated.d.ts.map +1 -0
  570. package/dist/ui/inputs/datetime-css.generated.js +4 -0
  571. package/dist/ui/inputs/datetime-css.generated.js.map +1 -0
  572. package/dist/ui/inputs/datetime-logic.d.ts +102 -0
  573. package/dist/ui/inputs/datetime-logic.d.ts.map +1 -0
  574. package/dist/ui/inputs/datetime-logic.js +200 -0
  575. package/dist/ui/inputs/datetime-logic.js.map +1 -0
  576. package/dist/ui/inputs/field-css.generated.d.ts +2 -0
  577. package/dist/ui/inputs/field-css.generated.d.ts.map +1 -0
  578. package/dist/ui/inputs/field-css.generated.js +4 -0
  579. package/dist/ui/inputs/field-css.generated.js.map +1 -0
  580. package/dist/ui/inputs/input-group-css.generated.d.ts +2 -0
  581. package/dist/ui/inputs/input-group-css.generated.d.ts.map +1 -0
  582. package/dist/ui/inputs/input-group-css.generated.js +4 -0
  583. package/dist/ui/inputs/input-group-css.generated.js.map +1 -0
  584. package/dist/ui/inputs/picker-css.d.ts +2 -0
  585. package/dist/ui/inputs/picker-css.d.ts.map +1 -0
  586. package/dist/ui/inputs/picker-css.generated.d.ts +2 -0
  587. package/dist/ui/inputs/picker-css.generated.d.ts.map +1 -0
  588. package/dist/ui/inputs/picker-css.generated.js +4 -0
  589. package/dist/ui/inputs/picker-css.generated.js.map +1 -0
  590. package/dist/ui/inputs/picker-css.js +4 -0
  591. package/dist/ui/inputs/picker-css.js.map +1 -0
  592. package/dist/ui/inputs/picker-icons.d.ts +12 -0
  593. package/dist/ui/inputs/picker-icons.d.ts.map +1 -0
  594. package/dist/ui/inputs/picker-icons.js +29 -0
  595. package/dist/ui/inputs/picker-icons.js.map +1 -0
  596. package/dist/ui/inputs/picker-logic.d.ts +33 -0
  597. package/dist/ui/inputs/picker-logic.d.ts.map +1 -0
  598. package/dist/ui/inputs/picker-logic.js +68 -0
  599. package/dist/ui/inputs/picker-logic.js.map +1 -0
  600. package/dist/ui/inputs/segmented-css.generated.d.ts +2 -0
  601. package/dist/ui/inputs/segmented-css.generated.d.ts.map +1 -0
  602. package/dist/ui/inputs/segmented-css.generated.js +4 -0
  603. package/dist/ui/inputs/segmented-css.generated.js.map +1 -0
  604. package/dist/ui/layout/PanelDock.d.ts +132 -0
  605. package/dist/ui/layout/PanelDock.d.ts.map +1 -0
  606. package/dist/ui/layout/PanelDock.js +390 -0
  607. package/dist/ui/layout/PanelDock.js.map +1 -0
  608. package/dist/ui/layout/QuickToolbar.d.ts +54 -0
  609. package/dist/ui/layout/QuickToolbar.d.ts.map +1 -0
  610. package/dist/ui/layout/QuickToolbar.js +254 -0
  611. package/dist/ui/layout/QuickToolbar.js.map +1 -0
  612. package/dist/ui/layout/SplitGroup.d.ts +37 -0
  613. package/dist/ui/layout/SplitGroup.d.ts.map +1 -0
  614. package/dist/ui/layout/SplitGroup.js +36 -0
  615. package/dist/ui/layout/SplitGroup.js.map +1 -0
  616. package/dist/ui/layout/panel-dock-css.d.ts +2 -0
  617. package/dist/ui/layout/panel-dock-css.d.ts.map +1 -0
  618. package/dist/ui/layout/panel-dock-css.generated.d.ts +2 -0
  619. package/dist/ui/layout/panel-dock-css.generated.d.ts.map +1 -0
  620. package/dist/ui/layout/panel-dock-css.generated.js +4 -0
  621. package/dist/ui/layout/panel-dock-css.generated.js.map +1 -0
  622. package/dist/ui/layout/panel-dock-css.js +4 -0
  623. package/dist/ui/layout/panel-dock-css.js.map +1 -0
  624. package/dist/ui/layout/panel-dock-logic.d.ts +67 -0
  625. package/dist/ui/layout/panel-dock-logic.d.ts.map +1 -0
  626. package/dist/ui/layout/panel-dock-logic.js +110 -0
  627. package/dist/ui/layout/panel-dock-logic.js.map +1 -0
  628. package/dist/ui/layout/quick-toolbar-css.generated.d.ts +2 -0
  629. package/dist/ui/layout/quick-toolbar-css.generated.d.ts.map +1 -0
  630. package/dist/ui/layout/quick-toolbar-css.generated.js +4 -0
  631. package/dist/ui/layout/quick-toolbar-css.generated.js.map +1 -0
  632. package/dist/ui/layout/quick-toolbar-logic.d.ts +76 -0
  633. package/dist/ui/layout/quick-toolbar-logic.d.ts.map +1 -0
  634. package/dist/ui/layout/quick-toolbar-logic.js +40 -0
  635. package/dist/ui/layout/quick-toolbar-logic.js.map +1 -0
  636. package/dist/ui/layout/resizer.d.ts +29 -0
  637. package/dist/ui/layout/resizer.d.ts.map +1 -0
  638. package/dist/ui/layout/resizer.js +42 -0
  639. package/dist/ui/layout/resizer.js.map +1 -0
  640. package/dist/ui/layout/split-group-css.generated.d.ts +2 -0
  641. package/dist/ui/layout/split-group-css.generated.d.ts.map +1 -0
  642. package/dist/ui/layout/split-group-css.generated.js +4 -0
  643. package/dist/ui/layout/split-group-css.generated.js.map +1 -0
  644. package/dist/ui/navigation/Pagination.d.ts +59 -0
  645. package/dist/ui/navigation/Pagination.d.ts.map +1 -0
  646. package/dist/ui/navigation/Pagination.js +112 -0
  647. package/dist/ui/navigation/Pagination.js.map +1 -0
  648. package/dist/ui/navigation/pagination-css.generated.d.ts +2 -0
  649. package/dist/ui/navigation/pagination-css.generated.d.ts.map +1 -0
  650. package/dist/ui/navigation/pagination-css.generated.js +4 -0
  651. package/dist/ui/navigation/pagination-css.generated.js.map +1 -0
  652. package/dist/ui/navigation/pagination-logic.d.ts +36 -0
  653. package/dist/ui/navigation/pagination-logic.d.ts.map +1 -0
  654. package/dist/ui/navigation/pagination-logic.js +73 -0
  655. package/dist/ui/navigation/pagination-logic.js.map +1 -0
  656. package/dist/ui/official.js +2 -2
  657. package/dist/ui/official.js.map +1 -1
  658. package/dist/ui/overlay-css.generated.d.ts +1 -1
  659. package/dist/ui/overlay-css.generated.d.ts.map +1 -1
  660. package/dist/ui/overlay-css.generated.js +1 -1
  661. package/dist/ui/overlay-css.generated.js.map +1 -1
  662. package/dist/ui/overlay.d.ts +13 -0
  663. package/dist/ui/overlay.d.ts.map +1 -1
  664. package/dist/ui/overlay.js +33 -0
  665. package/dist/ui/overlay.js.map +1 -1
  666. package/dist/ui/side-sheet-css.generated.d.ts +1 -1
  667. package/dist/ui/side-sheet-css.generated.d.ts.map +1 -1
  668. package/dist/ui/side-sheet-css.generated.js +1 -1
  669. package/dist/ui/side-sheet-css.generated.js.map +1 -1
  670. package/dist/utils/i18n.d.ts +2 -2
  671. package/dist/utils/i18n.d.ts.map +1 -1
  672. package/dist/utils/i18n.js +1 -1
  673. package/dist/utils/i18n.js.map +1 -1
  674. package/docs/README.md +1 -1
  675. package/docs/design/architecture.md +9 -8
  676. package/docs/design/copywriting.md +23 -0
  677. package/docs/design/external/dsh-host.md +5 -5
  678. package/docs/design/structure.md +132 -128
  679. package/docs/design/style.md +5 -5
  680. package/docs/help/ui.doc.ts +4 -4
  681. package/docs/help/ui.md +4 -4
  682. package/docs/help/utils.doc.ts +3 -3
  683. package/docs/help/utils.md +3 -3
  684. package/docs/requirements.md +30 -276
  685. package/package.json +1 -1
@@ -0,0 +1,47 @@
1
+ import { createElement as h } from 'react';
2
+ import type { ReactNode } from 'react';
3
+ import type { Translate } from '../../../utils/i18n.js';
4
+ import type { ChatNodeStoreFace, TurnsFace } from '../faces.js';
5
+ import type { NodeRenderer } from './ChatNodeSeat.js';
6
+ import type { ChatEntry, ProcessGroupSnapshot } from './process-groups.js';
7
+ /** 会话区骨架:frame > root > scroll > column(类名一律取官方 ChatView.module.css,取不到 = 空类)。
8
+ *
9
+ * `dshpc-sv-frame` / `dshpc-sv-scroll` = 本包**稳定钩子类**(不走 officialClass 发现,官方类命中时也照样挂):
10
+ * 会话区**纵向间距的唯一真源**。官方 scroll 自带纵向 16px、官方 frame 的纵向值又不确定,
11
+ * 归一方案(移植自兄弟项目 2026-10-03 定尺):**scroll 钩子把官方纵向 16px 归零,
12
+ * frame 钩子独自定 17/17**,两条钩子都用双类名提高特异性压过官方 CSS module(0,2,0 > 0,1,0),
13
+ * 不依赖注入顺序 ⇒ 命中 / 未命中两条路径纵向完全一致。
14
+ */
15
+ export declare function ChatViewFrame(props: {
16
+ children?: ReactNode;
17
+ }): ReturnType<typeof h>;
18
+ /** 官方 ChatNodeList:order → seat 列表(grouped 视图 = entries + groups 路径)。 */
19
+ export declare function ChatNodeListMirror(props: {
20
+ order: readonly string[];
21
+ store?: ChatNodeStoreFace;
22
+ /** 官方 grouped('chat') 的 entries + 组快照(buildProcessGroups 产出);缺省走 order 兜底。 */
23
+ entries?: ReadonlyArray<ChatEntry>;
24
+ groups?: ReadonlyMap<string, ProcessGroupSnapshot>;
25
+ /** 官方 timeline.turns(判 turn 是否 open ⇒ grouped 政策)。 */
26
+ turns?: TurnsFace;
27
+ openState: ReadonlyMap<number, number>;
28
+ onSetOpen(turn: number, answerStep: number, open: boolean): void;
29
+ foldCompleted: boolean;
30
+ renderNode: NodeRenderer;
31
+ t: Translate;
32
+ }): Array<ReturnType<typeof h> | null>;
33
+ /** 加载 / 空态提示行(13px tertiary)。 */
34
+ export declare function ChatHint(props: {
35
+ text: string;
36
+ }): ReturnType<typeof h>;
37
+ /** 「加载更早记录」按钮(官方 older:按钮 4px 12px / 12px 字号 / radius-sm / 底色 interactive-bg-hover-solid)。 */
38
+ export declare function ChatOlderButton(props: {
39
+ label: string;
40
+ onClick: () => void;
41
+ }): ReturnType<typeof h>;
42
+ /** 「到底部」悬浮钮(官方 toBottom:34×34 圆形悬浮,仅在有更多历史时显示)。 */
43
+ export declare function ChatToBottom(props: {
44
+ label: string;
45
+ onClick: () => void;
46
+ }): ReturnType<typeof h>;
47
+ //# sourceMappingURL=ChatView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../../src/adv/session/mirror/ChatView.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAI1E;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAgBnF;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAClD,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IAChE,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,YAAY,CAAA;IACxB,CAAC,EAAE,SAAS,CAAA;CACb,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA8ErC;AAQD,iCAAiC;AACjC,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAEtE;AAED,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAInG;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAIhG"}
@@ -0,0 +1,138 @@
1
+ // 官方对照:packages/client/ui-chat/src/client/chat/ChatView.tsx(0.1.7-rc.2 lib/client.js:5004-5260)
2
+ // 骨架四层:frame(> TurnNavigator)> root[data-chat-following-tail] > scroll > column[data-chat-flow]
3
+ // column 子项:hint(loading)/ openError / older(hasMore)/ 各 flowItem(ChatNodeList)
4
+ // root 内另有 toBottomSlot(官方按「是否贴尾」显隐,弹窗恒贴尾 ⇒ 不渲染)。
5
+ // ChatNodeList:entries → seat;官方 entries 优先取 grouped('chat'),取不到时 = order.map(key)。
6
+ import { createElement as h } from 'react';
7
+ import { officialClass } from '../official-classes.js';
8
+ import { ChatGroupSeatMirror } from './ChatGroupSeat.js';
9
+ import { ChatNodeSeatMirror } from './ChatNodeSeat.js';
10
+ import { ensureComponentStyles } from '../../../ui/infra/css.js';
11
+ import { SESSION_CSS } from '../session-css.js';
12
+ /** 会话区骨架:frame > root > scroll > column(类名一律取官方 ChatView.module.css,取不到 = 空类)。
13
+ *
14
+ * `dshpc-sv-frame` / `dshpc-sv-scroll` = 本包**稳定钩子类**(不走 officialClass 发现,官方类命中时也照样挂):
15
+ * 会话区**纵向间距的唯一真源**。官方 scroll 自带纵向 16px、官方 frame 的纵向值又不确定,
16
+ * 归一方案(移植自兄弟项目 2026-10-03 定尺):**scroll 钩子把官方纵向 16px 归零,
17
+ * frame 钩子独自定 17/17**,两条钩子都用双类名提高特异性压过官方 CSS module(0,2,0 > 0,1,0),
18
+ * 不依赖注入顺序 ⇒ 命中 / 未命中两条路径纵向完全一致。
19
+ */
20
+ export function ChatViewFrame(props) {
21
+ ensureComponentStyles('session', SESSION_CSS);
22
+ return h('div', { className: `${officialClass('ChatView', 'frame') ?? ''} dshpc-sv-frame dshpc-sv-chat` },
23
+ // 弹窗恒贴尾 ⇒ root 带 data-chat-following-tail(官方只在贴尾时写,作用 = overflow-anchor:none)。
24
+ h('div', { className: officialClass('ChatView', 'root') ?? '', 'data-chat-following-tail': '' }, h('div', { className: `${officialClass('ChatView', 'scroll') ?? ''} dshpc-sv-scroll` }, h('div', { className: officialClass('ChatView', 'column') ?? '', 'data-chat-flow': '' }, props.children),
25
+ // 官方 scroll 末尾的滚动占位(高度 0,只做锚点)。
26
+ h('div', {
27
+ className: officialClass('ChatView', 'turnSpacer') ?? '',
28
+ 'data-chat-turn-spacer': true,
29
+ 'aria-hidden': 'true',
30
+ }))));
31
+ }
32
+ /** 官方 ChatNodeList:order → seat 列表(grouped 视图 = entries + groups 路径)。 */
33
+ export function ChatNodeListMirror(props) {
34
+ const { order, store, entries, groups, turns, openState, onSetOpen, foldCompleted, renderNode, t } = props;
35
+ const rows = [];
36
+ const read = store === undefined ? undefined : store.get;
37
+ if (typeof read !== 'function' || store === undefined)
38
+ return rows;
39
+ const readSafe = (key) => {
40
+ try {
41
+ return read.call(store, key);
42
+ }
43
+ catch {
44
+ return undefined;
45
+ }
46
+ };
47
+ if (entries !== undefined && groups !== undefined) {
48
+ // 官方 deferCollapse:**每一轮(turn)的最后那一个过程组**保持 flat
49
+ // (不画「已完成分析…」头、组内条目直接铺开),该轮其余组照常收折。
50
+ // 例:turn 1 切出 2 组 ⇒ 前 1 组收折、最后 1 组平铺;turn 3 切出 5 组 ⇒ 前 4 组收折、最后 1 组平铺。
51
+ // ⚠️ turn = -1 的组(command 节点无 turn location,process-groups.ts:176 `turn ?? -1`)
52
+ // **不开新轮**,并入它前面那一轮 —— 否则会被单独当成一轮、多平铺一处(真机 2026-10-23)。
53
+ const flatKeys = new Set();
54
+ {
55
+ let bucket = [];
56
+ let bucketTurn;
57
+ const closeBucket = () => {
58
+ const last = bucket[bucket.length - 1];
59
+ if (last !== undefined)
60
+ flatKeys.add(last);
61
+ bucket = [];
62
+ };
63
+ for (const entry of entries) {
64
+ if (entry.kind !== 'group')
65
+ continue;
66
+ const turn = groups.get(entry.key)?.data.turn ?? -1;
67
+ if (turn >= 1) {
68
+ if (bucketTurn !== undefined && turn !== bucketTurn)
69
+ closeBucket();
70
+ bucketTurn = turn;
71
+ }
72
+ bucket.push(entry.key);
73
+ }
74
+ closeBucket();
75
+ }
76
+ // 官方 ChatNodeList 的 entries 路径:group 条目 → ChatGroupSeat(二级收折)。
77
+ for (const entry of entries) {
78
+ if (entry.kind === 'group') {
79
+ const group = groups.get(entry.key);
80
+ if (group === undefined)
81
+ continue;
82
+ const latest = flatKeys.has(group.key);
83
+ rows.push(h(ChatGroupSeatMirror, {
84
+ key: entry.key,
85
+ group,
86
+ grouped: turnStatus(turns, group.data.turn) !== 'open' && !latest,
87
+ store,
88
+ openState,
89
+ onSetOpen,
90
+ foldCompleted,
91
+ renderNode,
92
+ t,
93
+ }));
94
+ }
95
+ else {
96
+ const node = readSafe(entry.key);
97
+ if (node === undefined)
98
+ continue;
99
+ rows.push(h(ChatNodeSeatMirror, {
100
+ key: JSON.stringify([entry.key, entry.groupPart ?? null]),
101
+ node,
102
+ groupPart: entry.groupPart,
103
+ store,
104
+ openState,
105
+ onSetOpen,
106
+ foldCompleted,
107
+ renderNode,
108
+ }));
109
+ }
110
+ }
111
+ return rows;
112
+ }
113
+ for (const key of order) {
114
+ const node = readSafe(key);
115
+ if (node === undefined)
116
+ continue;
117
+ rows.push(h(ChatNodeSeatMirror, { key, node, store, openState, onSetOpen, foldCompleted, renderNode }));
118
+ }
119
+ return rows;
120
+ }
121
+ /** turn 状态(官方 turns.get(turn)?.status)。 */
122
+ function turnStatus(turns, turn) {
123
+ const row = turns?.get(turn) ?? turns?.get(String(turn));
124
+ return row?.status;
125
+ }
126
+ /** 加载 / 空态提示行(13px tertiary)。 */
127
+ export function ChatHint(props) {
128
+ return h('div', { className: officialClass('ChatView', 'hint') ?? '' }, props.text);
129
+ }
130
+ /** 「加载更早记录」按钮(官方 older:按钮 4px 12px / 12px 字号 / radius-sm / 底色 interactive-bg-hover-solid)。 */
131
+ export function ChatOlderButton(props) {
132
+ return h('div', { className: officialClass('ChatView', 'older') ?? '' }, h('button', { type: 'button', onClick: props.onClick }, props.label));
133
+ }
134
+ /** 「到底部」悬浮钮(官方 toBottom:34×34 圆形悬浮,仅在有更多历史时显示)。 */
135
+ export function ChatToBottom(props) {
136
+ return h('div', { className: officialClass('ChatView', 'toBottomSlot') ?? '' }, h('button', { type: 'button', className: officialClass('ChatView', 'toBottom') ?? '', onClick: props.onClick, 'aria-label': props.label }, '↓'));
137
+ }
138
+ //# sourceMappingURL=ChatView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatView.js","sourceRoot":"","sources":["../../../../src/adv/session/mirror/ChatView.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { Translate } from '../../../utils/i18n.js';
3
+ /** 官方 CommandNode(conversation-nodes/command.ts / records.d.ts):斜杠命令生命周期节点。 */
4
+ export interface CommandNodeFace {
5
+ readonly name?: string | null;
6
+ readonly args?: string | null;
7
+ readonly outcome?: {
8
+ readonly kind?: string;
9
+ readonly text?: string;
10
+ } | null;
11
+ }
12
+ /** 命令卡(官方 GenericCommandCard 镜像):裸命令名 + 落定摘要 + 多行输出可展开。 */
13
+ export declare function CommandCard(props: {
14
+ /** 官方 CommandNode(name/args/outcome)。 */
15
+ node: CommandNodeFace;
16
+ t: Translate;
17
+ /** 未决态运行文案;缺省用 t('commandRunning')(官方 command.running)。 */
18
+ runningSummary?: string;
19
+ }): ReactNode;
20
+ //# sourceMappingURL=CommandCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandCard.d.ts","sourceRoot":"","sources":["../../../../src/adv/session/mirror/CommandCard.ts"],"names":[],"mappings":"AAUA,OAAO,EAAuD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAC7E;AAaD,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,yCAAyC;IACzC,IAAI,EAAE,eAAe,CAAA;IACrB,CAAC,EAAE,SAAS,CAAA;IACZ,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,SAAS,CAkDZ"}
@@ -0,0 +1,69 @@
1
+ // 官方 GenericCommandCard(ui-chat/src/client/chat/GenericCommandCard.tsx @ master,原样复刻)镜像:
2
+ // · 行标题 = 裸命令名 node.name,缺席兜底 t('commandTitle')(官方 command.title = 指令 / Command)。
3
+ // · 摘要 = outcome 落定 text:未决(outcome===null) = t('commandRunning')(执行中…);
4
+ // 已决无 text 按 kind 取 t('commandFailed')(指令失败)/ t('commandDone')(已完成)。**不用 args**。
5
+ // · state = running(未决) / error(outcome.kind==='error') / ok;running/error 各挂一个 visually-hidden 读屏状态词。
6
+ // · 展开体仅当 outcome.text 含换行(多行)才可展开;展开体 = 原文 pre-wrap。
7
+ // · 分隔符 = 2×2 小圆点;错误态 summary/body 用 error 色。
8
+ // 样式一律取宿主注入的官方 GenericCommandCard.module.css 类(officialClass),**不写自绘兜底**:
9
+ // 本包只跑在 DSH 宿主上、官方样式必在场;官方大版本更新我们跟着更,兜底既防不住「官方加东西」也无意义
10
+ // (用户 2026-10-23 定)。取不到官方类时退化为空类(裸结构、不白屏);读屏 visually-hidden 复用 ToolRow 同名工具类。
11
+ import { Fragment, createElement as h, useCallback, useState } from 'react';
12
+ import { DisclosureRow, IconApiOutlineRegular, TextShimmer } from '../../../ui/official.js';
13
+ import { officialClass } from '../official-classes.js';
14
+ /** 官方 GenericCommandCard 模块类(宿主必注入;缺席 = 空串,裸结构不白屏,不写自绘兜底)。 */
15
+ const gcc = (semantic) => officialClass('GenericCommandCard', semantic) ?? '';
16
+ /** 官方 stateOf:未决 = running;outcome.kind==='error' = error;否则 ok。 */
17
+ function stateOf(outcome) {
18
+ if (outcome === null || outcome === undefined)
19
+ return 'running';
20
+ return outcome.kind === 'error' ? 'error' : 'ok';
21
+ }
22
+ /** 命令卡(官方 GenericCommandCard 镜像):裸命令名 + 落定摘要 + 多行输出可展开。 */
23
+ export function CommandCard(props) {
24
+ const { node, t, runningSummary } = props;
25
+ const [expanded, setExpanded] = useState(false);
26
+ const outcome = node.outcome ?? null;
27
+ const text = outcome?.text;
28
+ const summary = outcome === null
29
+ ? runningSummary ?? t('commandRunning')
30
+ : text ?? (outcome.kind === 'error' ? t('commandFailed') : t('commandDone'));
31
+ const title = node.name ?? t('commandTitle');
32
+ const state = stateOf(outcome);
33
+ const running = state === 'running';
34
+ // 官方:仅多行 text 才给展开体(单行摘要已够,不出 chevron)。
35
+ const body = text?.includes('\n') === true ? text : null;
36
+ const open = expanded && body !== null;
37
+ const toggle = useCallback(() => { setExpanded((value) => !value); }, []);
38
+ // 读屏 visually-hidden:复用 ToolRow 同名工具类(既有,非新写兜底)。
39
+ const hidden = officialClass('ToolRow', 'visuallyHidden') ?? '';
40
+ return h('div', { className: gcc('root'), 'data-state': state },
41
+ // 官方 a11y:running/error 的读屏状态词(visually-hidden,不占可见空间)。
42
+ state === 'running'
43
+ ? h('span', { className: hidden }, t('rowRunning'))
44
+ : state === 'error'
45
+ ? h('span', { className: hidden }, t('rowFailed'))
46
+ : null, h(DisclosureRow, {
47
+ leadingClassName: gcc('leading'),
48
+ titleClassName: gcc('title'),
49
+ icon: h(IconApiOutlineRegular, { size: 14 }),
50
+ title,
51
+ running,
52
+ open,
53
+ expandable: body !== null,
54
+ expandOnRowClick: true,
55
+ keepContentWhenOpen: true,
56
+ onToggle: toggle,
57
+ collapsedContent: h(Fragment, null, h('span', { className: gcc('separator'), 'aria-hidden': true }), h('span', {
58
+ className: gcc('summary'),
59
+ 'data-error': state === 'error' || undefined,
60
+ }, h(TextShimmer, { active: running }, summary))),
61
+ children: open && body !== null
62
+ ? h('div', {
63
+ className: gcc('body'),
64
+ 'data-error': state === 'error' || undefined,
65
+ }, body)
66
+ : undefined,
67
+ }));
68
+ }
69
+ //# sourceMappingURL=CommandCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandCard.js","sourceRoot":"","sources":["../../../../src/adv/session/mirror/CommandCard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { createElement as h } from 'react';
2
+ import type { Translate } from '../../../utils/i18n.js';
3
+ /** 官方 ContextNode 数据面(content / source / producer / form)。 */
4
+ export interface ContextFace {
5
+ content?: readonly unknown[];
6
+ source?: unknown;
7
+ producer?: {
8
+ role?: string;
9
+ label?: string | null;
10
+ } | null;
11
+ form?: string | null;
12
+ }
13
+ /** 系统注入上下文行(官方 ContextInjectionRow 的 opaque 版)。 */
14
+ export declare function ContextInjectionRowMirror(props: {
15
+ node: ContextFace;
16
+ t: Translate;
17
+ }): ReturnType<typeof h>;
18
+ //# sourceMappingURL=ContextInjectionRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextInjectionRow.d.ts","sourceRoot":"","sources":["../../../../src/adv/session/mirror/ContextInjectionRow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,aAAa,IAAI,CAAC,EAAY,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGvD,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,mDAAmD;AACnD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAyC1G"}
@@ -0,0 +1,50 @@
1
+ // 官方对照:ui-chat@0.2.1-rc.5 lib/client.js:4967-5050(ContextInjectionRow)+ 4530-4540(OpaqueBody)。
2
+ // 折叠行 = DisclosureRow(图标 + 标题「上下文注入」/「跨会话召回」+ producer 来源);
3
+ // 展开体 = 模型面向文本(content 里的 text 块拼成 pre[data-context-text])。
4
+ // shortcut: form 细分(instructions/catalog/snapshot/notice/relay/recall 各带 Body + source 解析)未复刻,
5
+ // 一律走 opaque 文本;这些 form 低频,等确实需要精确还原时再补。
6
+ import { Fragment, createElement as h, useState } from 'react';
7
+ import { DisclosureRow, IconBrowseOutlineRegular, IconContextInjectionOutlineRegular } from '../../../ui/official.js';
8
+ import { officialClass } from '../official-classes.js';
9
+ import { modelFacingRuns } from './TurnTriggerNodeView.js';
10
+ /** 系统注入上下文行(官方 ContextInjectionRow 的 opaque 版)。 */
11
+ export function ContextInjectionRowMirror(props) {
12
+ const { node, t } = props;
13
+ const [open, setOpen] = useState(false);
14
+ const content = Array.isArray(node.content) ? node.content : [];
15
+ const producer = node.producer ?? null;
16
+ const label = producer?.label ?? null;
17
+ const toolBlocks = content.length > 0 && content.every(block => {
18
+ const type = block?.type;
19
+ return type === 'tool-addition' || type === 'tool-removal';
20
+ });
21
+ return h(DisclosureRow, {
22
+ className: officialClass('ContextInjectionRow', 'root') ?? '',
23
+ icon: toolBlocks
24
+ ? h(IconBrowseOutlineRegular, { size: 14 })
25
+ : h(IconContextInjectionOutlineRegular, { size: 14 }),
26
+ chevronClassName: officialClass('ContextInjectionRow', 'chevron') ?? '',
27
+ title: t(producer?.role === 'recall' ? 'contextRecall' : 'contextInjection'),
28
+ collapsedContent: label === null
29
+ ? undefined
30
+ : h(Fragment, null, h('span', { className: officialClass('ContextInjectionRow', 'sep') ?? '', 'aria-hidden': true }), h('span', {
31
+ className: officialClass('ContextInjectionRow', 'source') ?? '',
32
+ 'data-context-source': true,
33
+ }, label)),
34
+ keepContentWhenOpen: true,
35
+ open,
36
+ expandable: true,
37
+ expandOnRowClick: true,
38
+ onToggle: () => { setOpen(value => !value); },
39
+ children: h('div', {
40
+ className: officialClass('ContextInjectionRow', 'body') ?? '',
41
+ 'data-context-injection-body': true,
42
+ 'data-context-form': node.form ?? undefined,
43
+ }, modelFacingRuns(content, t).map((text, index) => h('pre', {
44
+ key: index,
45
+ className: officialClass('ContextBody', 'text') ?? '',
46
+ 'data-context-text': true,
47
+ }, text))),
48
+ });
49
+ }
50
+ //# sourceMappingURL=ContextInjectionRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextInjectionRow.js","sourceRoot":"","sources":["../../../../src/adv/session/mirror/ContextInjectionRow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { createElement as h } from 'react';
2
+ import type { Translate } from '../../../utils/i18n.js';
3
+ /** 官方 PresentedFile 的消费面(presented.d.ts:path 必有,description 可选)。 */
4
+ export interface DeliveredFileFace {
5
+ path: string;
6
+ description?: string;
7
+ }
8
+ /** 官方 PresentRow:present 工具调用的状态行(折叠 = 状态词 + 路径;展开 = 结果原文)。 */
9
+ export declare function PresentRowMirror(props: {
10
+ block: unknown;
11
+ t: Translate;
12
+ }): ReturnType<typeof h>;
13
+ /**
14
+ * 官方 DeliverablesTail 的 presented 网格(FileTypeIcon + 文件名 + 简介,整卡可点 → 预览)。
15
+ * 「已编辑文件」卡(ChangedFiles)不在这里:它走宿主 api/changes.summary,见
16
+ * mirror/ChangedFilesCard.ts。数据真源 = turn 级 `deliverables.presented`
17
+ * (官方 TurnLocation.data.get('deliverables'),见 changes.ts)。
18
+ */
19
+ export declare function DeliverablesGridMirror(props: {
20
+ files: readonly DeliveredFileFace[];
21
+ onOpen?: (path: string) => void;
22
+ t: Translate;
23
+ }): ReturnType<typeof h> | null;
24
+ //# sourceMappingURL=Deliverables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deliverables.d.ts","sourceRoot":"","sources":["../../../../src/adv/session/mirror/Deliverables.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAY,MAAM,OAAO,CAAA;AAapD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAkDD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAuC9F;AAoED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACnC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,CAAC,EAAE,SAAS,CAAA;CACb,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAyC9B"}
@@ -0,0 +1,175 @@
1
+ // 官方对照:packages/client/ui-deliverables/src/client/{PresentRow,PresentedFileCard,Deliverables}.tsx
2
+ // (0.1.7-rc.2 lib/client.js:PresentRow 488-560、PresentedFileCard 1529-1600、Deliverables 1632-1710)
3
+ //
4
+ // 官方产出物层的两个用户可见面,逐值镜像:
5
+ // ① 交付文件行 = `present` 工具调用的专属渲染(官方经 tool.call.toolview 槽位 key='present'
6
+ // 挂 PresentRow):标题「交付文件」+ IconDeliverDocRegular,折叠摘要 = 状态词(已交付…)
7
+ // + 文件路径列表(官方纯文本**不可点**),展开体 = 工具结果原文(pre.output)。
8
+ // ② 交付文件卡网格 = turnTail 槽位挂 DeliverablesTail:每轮被交付成功的文件画成卡片
9
+ // (FileTypeIcon + 文件名 + 简介),**整卡可点 → 预览**;>4 张折叠 +「全部 N 个文件」。
10
+ // 官方另有原生打开(桌面 Host)的状态行/重试行——本弹窗无原生层,不渲染。
11
+ // 数据真源 = 会话 keyed 流里的 present 工具调用 / turn 级 deliverables.presented(真实取数,禁模拟)。
12
+ import { createElement as h, useState } from 'react';
13
+ import { DisclosureRow, FileTypeIcon, IconChevronDownOutlineRegular, IconChevronUpOutlineRegular, IconDeliverDocRegular, IconFolderOpenOutlineRegular, fileExtension, } from '../../../ui/official.js';
14
+ import { IconButton } from '../../../ui/actions/Button.js';
15
+ import { officialClass } from '../official-classes.js';
16
+ const basename = (path) => path.slice(Math.max(path.lastIndexOf('/'), path.lastIndexOf('\\')) + 1);
17
+ /** 交付路径的所在目录;无分隔符(纯文件名)⇒ undefined,不出「在文件夹中显示」。 */
18
+ function parentOf(path) {
19
+ const cut = Math.max(path.lastIndexOf('/'), path.lastIndexOf('\\'));
20
+ return cut > 0 ? path.slice(0, cut) : undefined;
21
+ }
22
+ /** 官方 fileNames(PresentRow.tsx):argsRaw.files[].path 逗号连接;解析不出回原样。 */
23
+ function fileNames(raw) {
24
+ let args;
25
+ try {
26
+ args = JSON.parse(raw);
27
+ }
28
+ catch {
29
+ return raw;
30
+ }
31
+ if (typeof args !== 'object' || args === null || !('files' in args) || !Array.isArray(args.files))
32
+ return raw;
33
+ return args.files
34
+ .flatMap((file) => (typeof file === 'object' && file !== null && 'path' in file && typeof file.path === 'string' ? [file.path] : []))
35
+ .join(', ');
36
+ }
37
+ /** 官方 PreparingPresentRow:瘦行(只标题+图标、不可展开、running),root 无类名。 */
38
+ function PreparingPresentRow(props) {
39
+ const { t } = props;
40
+ return h('div', {
41
+ 'data-tool': 'present',
42
+ 'data-state': 'preparing',
43
+ 'aria-label': t('deliverRowPreparing'),
44
+ }, h(DisclosureRow, {
45
+ title: t('deliverRowTitle'),
46
+ icon: h(IconDeliverDocRegular, { size: 14 }),
47
+ open: false,
48
+ expandable: false,
49
+ onToggle: () => { },
50
+ running: true,
51
+ }));
52
+ }
53
+ /** 官方 PresentRow:present 工具调用的状态行(折叠 = 状态词 + 路径;展开 = 结果原文)。 */
54
+ export function PresentRowMirror(props) {
55
+ const { block, t } = props;
56
+ const b = (block ?? {});
57
+ const settled = typeof b.kind === 'string';
58
+ if (!settled && b.phase === 'preparing')
59
+ return h(PreparingPresentRow, { t });
60
+ const state = !settled
61
+ ? 'running'
62
+ : b.error?.code === 'interrupted' ? 'stopped' : b.isError ? 'error' : 'ok';
63
+ const argsRaw = (settled ? b.call?.argsRaw : b.argsRaw) ?? '';
64
+ const details = settled
65
+ ? ((b.content ?? []).map((item) => item.type === 'text' ? item.text ?? '' : JSON.stringify(item)).join('\n')
66
+ || (b.error ? `${b.error.name ?? ''}: ${b.error.code ?? ''}` : ''))
67
+ : '';
68
+ const [expanded, setExpanded] = useState(false);
69
+ const statusKey = state === 'running' ? 'deliverRowRunning'
70
+ : state === 'error' ? 'deliverRowError'
71
+ : state === 'stopped' ? 'deliverRowStopped'
72
+ : 'deliverRowOk';
73
+ return h('div', {
74
+ // 官方 StartedPresentRow 的 root 不挂任何类(只 data-tool / data-state)。
75
+ 'data-tool': 'present',
76
+ 'data-state': state,
77
+ }, h(DisclosureRow, {
78
+ title: t('deliverRowTitle'),
79
+ icon: h(IconDeliverDocRegular, { size: 14 }),
80
+ open: expanded && details !== '',
81
+ expandable: details !== '',
82
+ expandOnRowClick: true,
83
+ keepContentWhenOpen: true,
84
+ onToggle: () => { setExpanded((value) => !value); },
85
+ collapsedContent: h('span', { className: officialClass('PresentRow', 'summary') ?? '' }, h('span', null, t(statusKey)), h('span', { className: officialClass('PresentRow', 'paths') ?? '' }, fileNames(argsRaw))),
86
+ // 官方 children 是数组且 pre.output **恒在**(空字符串也渲染)。
87
+ children: [h('pre', { key: 'output', className: officialClass('PresentRow', 'output') ?? '' }, details)],
88
+ }));
89
+ }
90
+ /** 官方 COLLAPSED_PRESENTED_COUNT(Deliverables.tsx):超过 4 张折叠。 */
91
+ const COLLAPSED_DELIVERED_COUNT = 4;
92
+ /** 官方 cardDescription:简介去尾部括注后为空则回退扩展名大写(再退「文件」)。 */
93
+ function cardDescription(description, fallback) {
94
+ const trimmed = description?.replace(/\s*(?:\([^()]*\)|([^()]*))\s*$/u, '').trim();
95
+ return trimmed === undefined || trimmed === '' ? fallback : trimmed;
96
+ }
97
+ /**
98
+ * 官方 PresentedFileCard:整卡可点 → onPreview(官方 = 右栏预览,本弹窗 = 调用方 openFile)。
99
+ *
100
+ * 官方 `actions` 是宿主 `deliverables.file.actions` 槽(桌面端「默认应用打开 / 文件管理器显示」),
101
+ * 本弹窗只有预览出口 ⇒ 只保留等价的那一个:**在文件夹中显示** = 打开所在目录的预览
102
+ * (「打开」与整卡点击同义,不再第二个按钮重复)。
103
+ */
104
+ function DeliveredFileCard(props) {
105
+ const { file, onPreview, onReveal, t } = props;
106
+ const name = basename(file.path);
107
+ const metadata = fileExtension(name).toUpperCase() || t('deliverFileLabel');
108
+ return h('div', {
109
+ className: officialClass('Deliverables', 'file') ?? '',
110
+ 'data-presented-file': true,
111
+ },
112
+ // 官方 cardPreview 按钮**恒在**(弹窗无预览出口时点击无副作用)。
113
+ h('button', {
114
+ type: 'button',
115
+ className: officialClass('Deliverables', 'cardPreview') ?? '',
116
+ title: file.path,
117
+ 'aria-label': t('deliverPreviewCard', { name: file.path }),
118
+ onClick: (event) => {
119
+ event.stopPropagation();
120
+ onPreview?.();
121
+ },
122
+ }), h('span', { className: officialClass('Deliverables', 'fileIcon') ?? '' }, h(FileTypeIcon, { path: file.path, size: 20 })), h('div', { className: officialClass('Deliverables', 'fileBody') ?? '' }, h('div', { className: officialClass('Deliverables', 'details') ?? '' }, h('span', { className: officialClass('Deliverables', 'fileName') ?? '' }, name), h('span', { className: officialClass('Deliverables', 'description') ?? '', 'data-presented-description': true }, h('span', { className: officialClass('Deliverables', 'secondaryText') ?? '' }, cardDescription(file.description, metadata)), h('span', { className: officialClass('Deliverables', 'previewHint') ?? '' }, t('deliverPreviewHint')))), onReveal === undefined
123
+ ? null
124
+ : h('div', { className: officialClass('Deliverables', 'actions') ?? '' }, h(IconButton, {
125
+ size: 'sm',
126
+ icon: h(IconFolderOpenOutlineRegular),
127
+ label: t('deliverReveal'),
128
+ onClick: (event) => {
129
+ event.stopPropagation();
130
+ onReveal();
131
+ },
132
+ }))));
133
+ }
134
+ /**
135
+ * 官方 DeliverablesTail 的 presented 网格(FileTypeIcon + 文件名 + 简介,整卡可点 → 预览)。
136
+ * 「已编辑文件」卡(ChangedFiles)不在这里:它走宿主 api/changes.summary,见
137
+ * mirror/ChangedFilesCard.ts。数据真源 = turn 级 `deliverables.presented`
138
+ * (官方 TurnLocation.data.get('deliverables'),见 changes.ts)。
139
+ */
140
+ export function DeliverablesGridMirror(props) {
141
+ const { files, onOpen, t } = props;
142
+ const [expanded, setExpanded] = useState(false);
143
+ if (files.length === 0)
144
+ return null;
145
+ const collapsible = files.length > COLLAPSED_DELIVERED_COUNT;
146
+ const shown = collapsible && !expanded ? files.slice(0, COLLAPSED_DELIVERED_COUNT) : files;
147
+ return h('div', {
148
+ className: officialClass('Deliverables', 'root') ?? '',
149
+ 'data-after-changes': true,
150
+ 'data-presented-files-grid': true,
151
+ }, h('div', {
152
+ className: officialClass('Deliverables', 'presented') ?? '',
153
+ 'data-presented-files-row': true,
154
+ // 官方单文件整行铺满(CSS 依赖 data-single)。
155
+ 'data-single': files.length === 1 || undefined,
156
+ }, shown.map((file, index) => h(DeliveredFileCard, {
157
+ key: `${file.path}:${index}`,
158
+ file,
159
+ onPreview: onOpen === undefined ? undefined : () => { onOpen(file.path); },
160
+ onReveal: onOpen === undefined ? undefined : (() => {
161
+ const parent = parentOf(file.path);
162
+ return parent === undefined ? undefined : () => { onOpen(parent); };
163
+ })(),
164
+ t,
165
+ }))), collapsible
166
+ ? h('button', {
167
+ type: 'button',
168
+ className: officialClass('Deliverables', 'toggle') ?? '',
169
+ 'aria-expanded': expanded,
170
+ 'aria-label': t(expanded ? 'deliverCollapseAria' : 'deliverExpandAria', { count: files.length }),
171
+ onClick: () => { setExpanded((value) => !value); },
172
+ }, h('span', null, t(expanded ? 'deliverCollapse' : 'deliverAll', { count: files.length })), expanded ? h(IconChevronUpOutlineRegular, {}) : h(IconChevronDownOutlineRegular, {}))
173
+ : null);
174
+ }
175
+ //# sourceMappingURL=Deliverables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deliverables.js","sourceRoot":"","sources":["../../../../src/adv/session/mirror/Deliverables.ts"],"names":[],"mappings":"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"}