dsh-plugin-core 0.2.13 → 0.3.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 (431) hide show
  1. package/README.md +52 -83
  2. package/dist/design/tokens-css.d.ts +1 -1
  3. package/dist/design/tokens-css.d.ts.map +1 -1
  4. package/dist/design/tokens-css.generated.d.ts +2 -0
  5. package/dist/design/tokens-css.generated.d.ts.map +1 -0
  6. package/dist/design/tokens-css.generated.js +4 -0
  7. package/dist/design/tokens-css.generated.js.map +1 -0
  8. package/dist/design/tokens-css.js +1 -252
  9. package/dist/design/tokens-css.js.map +1 -1
  10. package/dist/explorer/FileBrowser.d.ts +41 -0
  11. package/dist/explorer/FileBrowser.d.ts.map +1 -0
  12. package/dist/explorer/FileBrowser.js +659 -0
  13. package/dist/explorer/FileBrowser.js.map +1 -0
  14. package/dist/explorer/explorer-css.d.ts +1 -1
  15. package/dist/explorer/explorer-css.d.ts.map +1 -1
  16. package/dist/explorer/explorer-css.generated.d.ts +2 -0
  17. package/dist/explorer/explorer-css.generated.d.ts.map +1 -0
  18. package/dist/explorer/explorer-css.generated.js +4 -0
  19. package/dist/explorer/explorer-css.generated.js.map +1 -0
  20. package/dist/explorer/explorer-css.js +1 -31
  21. package/dist/explorer/explorer-css.js.map +1 -1
  22. package/dist/explorer/index.d.ts +4 -2
  23. package/dist/explorer/index.d.ts.map +1 -1
  24. package/dist/explorer/index.js +4 -2
  25. package/dist/explorer/index.js.map +1 -1
  26. package/dist/explorer/open.d.ts +103 -0
  27. package/dist/explorer/open.d.ts.map +1 -0
  28. package/dist/explorer/open.js +282 -0
  29. package/dist/explorer/open.js.map +1 -0
  30. package/dist/explorer/preview/BytesPreview.d.ts +13 -0
  31. package/dist/explorer/preview/BytesPreview.d.ts.map +1 -0
  32. package/dist/explorer/preview/BytesPreview.js +56 -0
  33. package/dist/explorer/preview/BytesPreview.js.map +1 -0
  34. package/dist/explorer/preview/HtmlPreview.d.ts +18 -0
  35. package/dist/explorer/preview/HtmlPreview.d.ts.map +1 -0
  36. package/dist/explorer/preview/HtmlPreview.js +112 -0
  37. package/dist/explorer/preview/HtmlPreview.js.map +1 -0
  38. package/dist/explorer/preview/OfficePreview.d.ts +11 -0
  39. package/dist/explorer/preview/OfficePreview.d.ts.map +1 -0
  40. package/dist/explorer/preview/OfficePreview.js +53 -0
  41. package/dist/explorer/preview/OfficePreview.js.map +1 -0
  42. package/dist/explorer/preview/TextPreview.d.ts +17 -0
  43. package/dist/explorer/preview/TextPreview.d.ts.map +1 -0
  44. package/dist/explorer/preview/TextPreview.js +95 -0
  45. package/dist/explorer/preview/TextPreview.js.map +1 -0
  46. package/dist/explorer/preview/index.d.ts +10 -3
  47. package/dist/explorer/preview/index.d.ts.map +1 -1
  48. package/dist/explorer/preview/index.js +52 -55
  49. package/dist/explorer/preview/index.js.map +1 -1
  50. package/dist/explorer/preview/md-labels.d.ts +3 -0
  51. package/dist/explorer/preview/md-labels.d.ts.map +1 -0
  52. package/dist/explorer/preview/md-labels.js +12 -0
  53. package/dist/explorer/preview/md-labels.js.map +1 -0
  54. package/dist/explorer/types.d.ts +186 -4
  55. package/dist/explorer/types.d.ts.map +1 -1
  56. package/dist/explorer/types.js +401 -14
  57. package/dist/explorer/types.js.map +1 -1
  58. package/dist/host/index.d.ts +66 -0
  59. package/dist/host/index.d.ts.map +1 -0
  60. package/dist/host/index.js +60 -0
  61. package/dist/host/index.js.map +1 -0
  62. package/dist/session/SessionViewModal.d.ts +42 -0
  63. package/dist/session/SessionViewModal.d.ts.map +1 -0
  64. package/dist/session/SessionViewModal.js +997 -0
  65. package/dist/session/SessionViewModal.js.map +1 -0
  66. package/dist/session/changes.d.ts +73 -0
  67. package/dist/session/changes.d.ts.map +1 -0
  68. package/dist/session/changes.js +134 -0
  69. package/dist/session/changes.js.map +1 -0
  70. package/dist/session/faces.d.ts +198 -0
  71. package/dist/session/faces.d.ts.map +1 -0
  72. package/dist/session/faces.js +17 -0
  73. package/dist/session/faces.js.map +1 -0
  74. package/dist/session/index.d.ts +5 -23
  75. package/dist/session/index.d.ts.map +1 -1
  76. package/dist/session/index.js +25 -70
  77. package/dist/session/index.js.map +1 -1
  78. package/dist/session/mirror/ChangedFileDiff.d.ts +22 -0
  79. package/dist/session/mirror/ChangedFileDiff.d.ts.map +1 -0
  80. package/dist/session/mirror/ChangedFileDiff.js +157 -0
  81. package/dist/session/mirror/ChangedFileDiff.js.map +1 -0
  82. package/dist/session/mirror/ChangedFilesCard.d.ts +18 -0
  83. package/dist/session/mirror/ChangedFilesCard.d.ts.map +1 -0
  84. package/dist/session/mirror/ChangedFilesCard.js +158 -0
  85. package/dist/session/mirror/ChangedFilesCard.js.map +1 -0
  86. package/dist/session/mirror/ChatGroupSeat.d.ts +24 -0
  87. package/dist/session/mirror/ChatGroupSeat.d.ts.map +1 -0
  88. package/dist/session/mirror/ChatGroupSeat.js +134 -0
  89. package/dist/session/mirror/ChatGroupSeat.js.map +1 -0
  90. package/dist/session/mirror/ChatNodeSeat.d.ts +43 -0
  91. package/dist/session/mirror/ChatNodeSeat.d.ts.map +1 -0
  92. package/dist/session/mirror/ChatNodeSeat.js +133 -0
  93. package/dist/session/mirror/ChatNodeSeat.js.map +1 -0
  94. package/dist/session/mirror/ChatView.d.ts +47 -0
  95. package/dist/session/mirror/ChatView.d.ts.map +1 -0
  96. package/dist/session/mirror/ChatView.js +127 -0
  97. package/dist/session/mirror/ChatView.js.map +1 -0
  98. package/dist/session/mirror/CommandCard.d.ts +20 -0
  99. package/dist/session/mirror/CommandCard.d.ts.map +1 -0
  100. package/dist/session/mirror/CommandCard.js +69 -0
  101. package/dist/session/mirror/CommandCard.js.map +1 -0
  102. package/dist/session/mirror/Deliverables.d.ts +24 -0
  103. package/dist/session/mirror/Deliverables.d.ts.map +1 -0
  104. package/dist/session/mirror/Deliverables.js +134 -0
  105. package/dist/session/mirror/Deliverables.js.map +1 -0
  106. package/dist/session/mirror/GenericCommandCard.d.ts +25 -0
  107. package/dist/session/mirror/GenericCommandCard.d.ts.map +1 -0
  108. package/dist/session/mirror/GenericCommandCard.js +567 -0
  109. package/dist/session/mirror/GenericCommandCard.js.map +1 -0
  110. package/dist/session/mirror/MessageIconActions.d.ts +16 -0
  111. package/dist/session/mirror/MessageIconActions.d.ts.map +1 -0
  112. package/dist/session/mirror/MessageIconActions.js +71 -0
  113. package/dist/session/mirror/MessageIconActions.js.map +1 -0
  114. package/dist/session/mirror/MessageItem.d.ts +66 -0
  115. package/dist/session/mirror/MessageItem.d.ts.map +1 -0
  116. package/dist/session/mirror/MessageItem.js +135 -0
  117. package/dist/session/mirror/MessageItem.js.map +1 -0
  118. package/dist/session/mirror/ReasoningRow.d.ts +11 -0
  119. package/dist/session/mirror/ReasoningRow.d.ts.map +1 -0
  120. package/dist/session/mirror/ReasoningRow.js +49 -0
  121. package/dist/session/mirror/ReasoningRow.js.map +1 -0
  122. package/dist/session/mirror/StatDialog.d.ts +20 -0
  123. package/dist/session/mirror/StatDialog.d.ts.map +1 -0
  124. package/dist/session/mirror/StatDialog.js +36 -0
  125. package/dist/session/mirror/StatDialog.js.map +1 -0
  126. package/dist/session/mirror/TurnProcessNodeView.d.ts +10 -0
  127. package/dist/session/mirror/TurnProcessNodeView.d.ts.map +1 -0
  128. package/dist/session/mirror/TurnProcessNodeView.js +68 -0
  129. package/dist/session/mirror/TurnProcessNodeView.js.map +1 -0
  130. package/dist/session/mirror/TurnTailNodeView.d.ts +32 -0
  131. package/dist/session/mirror/TurnTailNodeView.d.ts.map +1 -0
  132. package/dist/session/mirror/TurnTailNodeView.js +48 -0
  133. package/dist/session/mirror/TurnTailNodeView.js.map +1 -0
  134. package/dist/session/mirror/TurnTriggerNodeView.d.ts +14 -0
  135. package/dist/session/mirror/TurnTriggerNodeView.d.ts.map +1 -0
  136. package/dist/session/mirror/TurnTriggerNodeView.js +87 -0
  137. package/dist/session/mirror/TurnTriggerNodeView.js.map +1 -0
  138. package/dist/session/mirror/TurnUsagePanel.d.ts +21 -0
  139. package/dist/session/mirror/TurnUsagePanel.d.ts.map +1 -0
  140. package/dist/session/mirror/TurnUsagePanel.js +41 -0
  141. package/dist/session/mirror/TurnUsagePanel.js.map +1 -0
  142. package/dist/session/mirror/message-chrome.d.ts +33 -0
  143. package/dist/session/mirror/message-chrome.d.ts.map +1 -0
  144. package/dist/session/mirror/message-chrome.js +158 -0
  145. package/dist/session/mirror/message-chrome.js.map +1 -0
  146. package/dist/session/mirror/process-groups.d.ts +56 -0
  147. package/dist/session/mirror/process-groups.d.ts.map +1 -0
  148. package/dist/session/mirror/process-groups.js +202 -0
  149. package/dist/session/mirror/process-groups.js.map +1 -0
  150. package/dist/session/official-classes.d.ts +28 -0
  151. package/dist/session/official-classes.d.ts.map +1 -0
  152. package/dist/session/official-classes.js +146 -0
  153. package/dist/session/official-classes.js.map +1 -0
  154. package/dist/session/open-session-view.d.ts +17 -0
  155. package/dist/session/open-session-view.d.ts.map +1 -0
  156. package/dist/session/open-session-view.js +136 -0
  157. package/dist/session/open-session-view.js.map +1 -0
  158. package/dist/session/session-css.d.ts +1 -1
  159. package/dist/session/session-css.d.ts.map +1 -1
  160. package/dist/session/session-css.generated.d.ts +2 -0
  161. package/dist/session/session-css.generated.d.ts.map +1 -0
  162. package/dist/session/session-css.generated.js +4 -0
  163. package/dist/session/session-css.generated.js.map +1 -0
  164. package/dist/session/session-css.js +1 -17
  165. package/dist/session/session-css.js.map +1 -1
  166. package/dist/ui/AlertModal.d.ts +28 -0
  167. package/dist/ui/AlertModal.d.ts.map +1 -0
  168. package/dist/ui/AlertModal.js +29 -0
  169. package/dist/ui/AlertModal.js.map +1 -0
  170. package/dist/ui/Button.d.ts.map +1 -1
  171. package/dist/ui/Button.js +14 -1
  172. package/dist/ui/Button.js.map +1 -1
  173. package/dist/ui/Card.d.ts +4 -2
  174. package/dist/ui/Card.d.ts.map +1 -1
  175. package/dist/ui/Card.js +12 -6
  176. package/dist/ui/Card.js.map +1 -1
  177. package/dist/ui/Chip.d.ts +9 -1
  178. package/dist/ui/Chip.d.ts.map +1 -1
  179. package/dist/ui/Chip.js +8 -2
  180. package/dist/ui/Chip.js.map +1 -1
  181. package/dist/ui/CodeViewer.d.ts +36 -0
  182. package/dist/ui/CodeViewer.d.ts.map +1 -0
  183. package/dist/ui/CodeViewer.js +90 -0
  184. package/dist/ui/CodeViewer.js.map +1 -0
  185. package/dist/ui/ConfirmModal.d.ts +30 -0
  186. package/dist/ui/ConfirmModal.d.ts.map +1 -0
  187. package/dist/ui/ConfirmModal.js +23 -0
  188. package/dist/ui/ConfirmModal.js.map +1 -0
  189. package/dist/ui/DateTimePicker.d.ts +45 -0
  190. package/dist/ui/DateTimePicker.d.ts.map +1 -0
  191. package/dist/ui/DateTimePicker.js +447 -0
  192. package/dist/ui/DateTimePicker.js.map +1 -0
  193. package/dist/ui/Field.d.ts +11 -2
  194. package/dist/ui/Field.d.ts.map +1 -1
  195. package/dist/ui/Field.js +15 -5
  196. package/dist/ui/Field.js.map +1 -1
  197. package/dist/ui/MarqueeText.d.ts.map +1 -1
  198. package/dist/ui/MarqueeText.js +3 -1
  199. package/dist/ui/MarqueeText.js.map +1 -1
  200. package/dist/ui/Modal.d.ts +25 -3
  201. package/dist/ui/Modal.d.ts.map +1 -1
  202. package/dist/ui/Modal.js +41 -7
  203. package/dist/ui/Modal.js.map +1 -1
  204. package/dist/ui/ModelPicker.d.ts +25 -12
  205. package/dist/ui/ModelPicker.d.ts.map +1 -1
  206. package/dist/ui/ModelPicker.js +67 -19
  207. package/dist/ui/ModelPicker.js.map +1 -1
  208. package/dist/ui/PanelDock.d.ts +127 -0
  209. package/dist/ui/PanelDock.d.ts.map +1 -0
  210. package/dist/ui/PanelDock.js +297 -0
  211. package/dist/ui/PanelDock.js.map +1 -0
  212. package/dist/ui/Picker.d.ts +8 -2
  213. package/dist/ui/Picker.d.ts.map +1 -1
  214. package/dist/ui/Picker.js +86 -18
  215. package/dist/ui/Picker.js.map +1 -1
  216. package/dist/ui/SectionHead.d.ts +3 -3
  217. package/dist/ui/SectionHead.d.ts.map +1 -1
  218. package/dist/ui/SectionHead.js +4 -4
  219. package/dist/ui/SectionHead.js.map +1 -1
  220. package/dist/ui/Segmented.d.ts +2 -0
  221. package/dist/ui/Segmented.d.ts.map +1 -1
  222. package/dist/ui/Segmented.js +3 -1
  223. package/dist/ui/Segmented.js.map +1 -1
  224. package/dist/ui/Textarea.d.ts +2 -0
  225. package/dist/ui/Textarea.d.ts.map +1 -1
  226. package/dist/ui/Textarea.js +6 -1
  227. package/dist/ui/Textarea.js.map +1 -1
  228. package/dist/ui/Toast.d.ts +41 -8
  229. package/dist/ui/Toast.d.ts.map +1 -1
  230. package/dist/ui/Toast.js +216 -28
  231. package/dist/ui/Toast.js.map +1 -1
  232. package/dist/ui/WorkspacePicker.d.ts +15 -28
  233. package/dist/ui/WorkspacePicker.d.ts.map +1 -1
  234. package/dist/ui/WorkspacePicker.js +18 -27
  235. package/dist/ui/WorkspacePicker.js.map +1 -1
  236. package/dist/ui/card-css.d.ts +1 -1
  237. package/dist/ui/card-css.d.ts.map +1 -1
  238. package/dist/ui/card-css.generated.d.ts +2 -0
  239. package/dist/ui/card-css.generated.d.ts.map +1 -0
  240. package/dist/ui/card-css.generated.js +4 -0
  241. package/dist/ui/card-css.generated.js.map +1 -0
  242. package/dist/ui/card-css.js +1 -35
  243. package/dist/ui/card-css.js.map +1 -1
  244. package/dist/ui/chip-css.d.ts +1 -1
  245. package/dist/ui/chip-css.d.ts.map +1 -1
  246. package/dist/ui/chip-css.generated.d.ts +2 -0
  247. package/dist/ui/chip-css.generated.d.ts.map +1 -0
  248. package/dist/ui/chip-css.generated.js +4 -0
  249. package/dist/ui/chip-css.generated.js.map +1 -0
  250. package/dist/ui/chip-css.js +1 -17
  251. package/dist/ui/chip-css.js.map +1 -1
  252. package/dist/ui/code-viewer-css.d.ts +2 -0
  253. package/dist/ui/code-viewer-css.d.ts.map +1 -0
  254. package/dist/ui/code-viewer-css.generated.d.ts +2 -0
  255. package/dist/ui/code-viewer-css.generated.d.ts.map +1 -0
  256. package/dist/ui/code-viewer-css.generated.js +4 -0
  257. package/dist/ui/code-viewer-css.generated.js.map +1 -0
  258. package/dist/ui/code-viewer-css.js +3 -0
  259. package/dist/ui/code-viewer-css.js.map +1 -0
  260. package/dist/ui/code-viewer-lang.d.ts +15 -0
  261. package/dist/ui/code-viewer-lang.d.ts.map +1 -0
  262. package/dist/ui/code-viewer-lang.js +190 -0
  263. package/dist/ui/code-viewer-lang.js.map +1 -0
  264. package/dist/ui/code-viewer-theme.d.ts +5 -0
  265. package/dist/ui/code-viewer-theme.d.ts.map +1 -0
  266. package/dist/ui/code-viewer-theme.js +138 -0
  267. package/dist/ui/code-viewer-theme.js.map +1 -0
  268. package/dist/ui/controls/back-to-top-css.generated.d.ts +2 -0
  269. package/dist/ui/controls/back-to-top-css.generated.d.ts.map +1 -0
  270. package/dist/ui/controls/back-to-top-css.generated.js +4 -0
  271. package/dist/ui/controls/back-to-top-css.generated.js.map +1 -0
  272. package/dist/ui/controls/button-css.generated.d.ts +2 -0
  273. package/dist/ui/controls/button-css.generated.d.ts.map +1 -0
  274. package/dist/ui/controls/button-css.generated.js +4 -0
  275. package/dist/ui/controls/button-css.generated.js.map +1 -0
  276. package/dist/ui/controls/datetime-css.generated.d.ts +2 -0
  277. package/dist/ui/controls/datetime-css.generated.d.ts.map +1 -0
  278. package/dist/ui/controls/datetime-css.generated.js +4 -0
  279. package/dist/ui/controls/datetime-css.generated.js.map +1 -0
  280. package/dist/ui/controls/field-css.generated.d.ts +2 -0
  281. package/dist/ui/controls/field-css.generated.d.ts.map +1 -0
  282. package/dist/ui/controls/field-css.generated.js +4 -0
  283. package/dist/ui/controls/field-css.generated.js.map +1 -0
  284. package/dist/ui/controls/hint-css.generated.d.ts +2 -0
  285. package/dist/ui/controls/hint-css.generated.d.ts.map +1 -0
  286. package/dist/ui/controls/hint-css.generated.js +4 -0
  287. package/dist/ui/controls/hint-css.generated.js.map +1 -0
  288. package/dist/ui/controls/loading-css.generated.d.ts +2 -0
  289. package/dist/ui/controls/loading-css.generated.d.ts.map +1 -0
  290. package/dist/ui/controls/loading-css.generated.js +4 -0
  291. package/dist/ui/controls/loading-css.generated.js.map +1 -0
  292. package/dist/ui/controls/segmented-css.generated.d.ts +2 -0
  293. package/dist/ui/controls/segmented-css.generated.d.ts.map +1 -0
  294. package/dist/ui/controls/segmented-css.generated.js +4 -0
  295. package/dist/ui/controls/segmented-css.generated.js.map +1 -0
  296. package/dist/ui/controls-css.d.ts +7 -8
  297. package/dist/ui/controls-css.d.ts.map +1 -1
  298. package/dist/ui/controls-css.js +13 -8
  299. package/dist/ui/controls-css.js.map +1 -1
  300. package/dist/ui/css.d.ts +5 -0
  301. package/dist/ui/css.d.ts.map +1 -1
  302. package/dist/ui/css.js +13 -4
  303. package/dist/ui/css.js.map +1 -1
  304. package/dist/ui/datetime-logic.d.ts +100 -0
  305. package/dist/ui/datetime-logic.d.ts.map +1 -0
  306. package/dist/ui/datetime-logic.js +193 -0
  307. package/dist/ui/datetime-logic.js.map +1 -0
  308. package/dist/ui/feedback-css.d.ts +1 -1
  309. package/dist/ui/feedback-css.d.ts.map +1 -1
  310. package/dist/ui/feedback-css.generated.d.ts +2 -0
  311. package/dist/ui/feedback-css.generated.d.ts.map +1 -0
  312. package/dist/ui/feedback-css.generated.js +4 -0
  313. package/dist/ui/feedback-css.generated.js.map +1 -0
  314. package/dist/ui/feedback-css.js +1 -53
  315. package/dist/ui/feedback-css.js.map +1 -1
  316. package/dist/ui/host-data.d.ts +103 -0
  317. package/dist/ui/host-data.d.ts.map +1 -0
  318. package/dist/ui/host-data.js +106 -0
  319. package/dist/ui/host-data.js.map +1 -0
  320. package/dist/ui/host-toast.d.ts +23 -0
  321. package/dist/ui/host-toast.d.ts.map +1 -0
  322. package/dist/ui/host-toast.js +34 -0
  323. package/dist/ui/host-toast.js.map +1 -0
  324. package/dist/ui/index.d.ts +12 -6
  325. package/dist/ui/index.d.ts.map +1 -1
  326. package/dist/ui/index.js +10 -4
  327. package/dist/ui/index.js.map +1 -1
  328. package/dist/ui/marquee-css.d.ts +2 -0
  329. package/dist/ui/marquee-css.d.ts.map +1 -0
  330. package/dist/ui/marquee-css.generated.d.ts +2 -0
  331. package/dist/ui/marquee-css.generated.d.ts.map +1 -0
  332. package/dist/ui/marquee-css.generated.js +4 -0
  333. package/dist/ui/marquee-css.generated.js.map +1 -0
  334. package/dist/ui/marquee-css.js +4 -0
  335. package/dist/ui/marquee-css.js.map +1 -0
  336. package/dist/ui/modal-host.d.ts +30 -0
  337. package/dist/ui/modal-host.d.ts.map +1 -0
  338. package/dist/ui/modal-host.js +101 -0
  339. package/dist/ui/modal-host.js.map +1 -0
  340. package/dist/ui/official.d.ts.map +1 -1
  341. package/dist/ui/official.js +45 -1
  342. package/dist/ui/official.js.map +1 -1
  343. package/dist/ui/panel-dock-css.d.ts +2 -0
  344. package/dist/ui/panel-dock-css.d.ts.map +1 -0
  345. package/dist/ui/panel-dock-css.generated.d.ts +2 -0
  346. package/dist/ui/panel-dock-css.generated.d.ts.map +1 -0
  347. package/dist/ui/panel-dock-css.generated.js +4 -0
  348. package/dist/ui/panel-dock-css.generated.js.map +1 -0
  349. package/dist/ui/panel-dock-css.js +4 -0
  350. package/dist/ui/panel-dock-css.js.map +1 -0
  351. package/dist/ui/panel-dock-logic.d.ts +50 -0
  352. package/dist/ui/panel-dock-logic.d.ts.map +1 -0
  353. package/dist/ui/panel-dock-logic.js +64 -0
  354. package/dist/ui/panel-dock-logic.js.map +1 -0
  355. package/dist/ui/picker-css.d.ts +1 -1
  356. package/dist/ui/picker-css.d.ts.map +1 -1
  357. package/dist/ui/picker-css.generated.d.ts +2 -0
  358. package/dist/ui/picker-css.generated.d.ts.map +1 -0
  359. package/dist/ui/picker-css.generated.js +4 -0
  360. package/dist/ui/picker-css.generated.js.map +1 -0
  361. package/dist/ui/picker-css.js +1 -48
  362. package/dist/ui/picker-css.js.map +1 -1
  363. package/dist/ui/picker-icons.d.ts +12 -0
  364. package/dist/ui/picker-icons.d.ts.map +1 -0
  365. package/dist/ui/picker-icons.js +29 -0
  366. package/dist/ui/picker-icons.js.map +1 -0
  367. package/dist/ui/picker-logic.d.ts +4 -1
  368. package/dist/ui/picker-logic.d.ts.map +1 -1
  369. package/dist/ui/picker-logic.js +1 -2
  370. package/dist/ui/picker-logic.js.map +1 -1
  371. package/dist/ui/resizer.d.ts +3 -1
  372. package/dist/ui/resizer.d.ts.map +1 -1
  373. package/dist/ui/resizer.js +1 -1
  374. package/dist/ui/resizer.js.map +1 -1
  375. package/dist/ui/toast-host.d.ts +24 -0
  376. package/dist/ui/toast-host.d.ts.map +1 -0
  377. package/dist/ui/toast-host.js +20 -0
  378. package/dist/ui/toast-host.js.map +1 -0
  379. package/dist/utils/date.d.ts +8 -0
  380. package/dist/utils/date.d.ts.map +1 -1
  381. package/dist/utils/date.js +16 -0
  382. package/dist/utils/date.js.map +1 -1
  383. package/dist/utils/i18n.d.ts +1 -1
  384. package/dist/utils/i18n.d.ts.map +1 -1
  385. package/dist/utils/i18n.js +437 -18
  386. package/dist/utils/i18n.js.map +1 -1
  387. package/dist/utils/index.d.ts +1 -1
  388. package/dist/utils/index.d.ts.map +1 -1
  389. package/dist/utils/index.js +1 -1
  390. package/dist/utils/index.js.map +1 -1
  391. package/dist/utils/path.d.ts.map +1 -1
  392. package/dist/utils/path.js +1 -0
  393. package/dist/utils/path.js.map +1 -1
  394. package/docs/README.md +12 -5
  395. package/docs/design/architecture.md +38 -8
  396. package/docs/design/copywriting.md +95 -0
  397. package/docs/design/doc-format.md +80 -0
  398. package/docs/design/doc-format.ts +39 -0
  399. package/docs/design/external/dsh-host.md +150 -1
  400. package/docs/design/features.md +4 -17
  401. package/docs/design/methods.md +13 -34
  402. package/docs/design/structure.md +25 -22
  403. package/docs/design/style.md +24 -50
  404. package/docs/help/design.doc.ts +112 -0
  405. package/docs/help/design.md +88 -0
  406. package/docs/help/explorer.doc.ts +136 -0
  407. package/docs/help/explorer.md +68 -0
  408. package/docs/help/index.doc.ts +79 -0
  409. package/docs/help/index.md +28 -0
  410. package/docs/help/integration.doc.ts +114 -0
  411. package/docs/help/integration.md +127 -0
  412. package/docs/help/methods.md +58 -0
  413. package/docs/help/session.doc.ts +154 -0
  414. package/docs/help/session.md +91 -0
  415. package/docs/help/style.md +80 -0
  416. package/docs/help/ui.doc.ts +404 -0
  417. package/docs/help/ui.md +342 -0
  418. package/docs/help/utils.doc.ts +133 -0
  419. package/docs/help/utils.md +96 -0
  420. package/docs/requirements.md +33 -12
  421. package/package.json +44 -3
  422. package/dist/ui/ErrorBoundary.d.ts +0 -22
  423. package/dist/ui/ErrorBoundary.d.ts.map +0 -1
  424. package/dist/ui/ErrorBoundary.js +0 -30
  425. package/dist/ui/ErrorBoundary.js.map +0 -1
  426. package/docs/design/features/design.md +0 -55
  427. package/docs/design/features/explorer.md +0 -73
  428. package/docs/design/features/session.md +0 -70
  429. package/docs/design/features/ui.md +0 -225
  430. package/docs/design/features/utils.md +0 -64
  431. package/docs/examples/integration.md +0 -103
@@ -0,0 +1,4 @@
1
+ // ⚠️ 生成物,勿手改。真源 = src/ui/card.css
2
+ // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
+ export const CARD_CSS = "\n.dshpc-card{\n position:relative;box-sizing:border-box;color:var(--dshpc-fg);font:inherit;text-align:left;\n --card-accent:var(--dshpc-business);\n --card-accent-soft:var(--dshpc-business-soft);\n}\n/* 档位 → token(照 records-timeline 的 tone 模式:一个变量切档,不写 5 套规则;浅底与色条同源)。 */\n.dshpc-card--success{--card-accent:var(--dshpc-success);--card-accent-soft:var(--dshpc-success-soft)}\n.dshpc-card--warning{--card-accent:var(--dshpc-warning);--card-accent-soft:var(--dshpc-warning-soft)}\n.dshpc-card--danger{--card-accent:var(--dshpc-danger);--card-accent-soft:var(--dshpc-danger-soft)}\n/* neutral 浅底借 chip 底(兄弟项目 mute 档同款:明暗都成立)。 */\n.dshpc-card--neutral{--card-accent:var(--dshpc-fg-4);--card-accent-soft:var(--dshpc-chip-bg)}\n\n/* 头部一行 = 色条 + 主内容 + 右侧槽,**整体垂直居中**:调用方在 action 里裸放一个元素\n (按钮 / 文字 / 图标)不用自己套容器居中;一行两行、右边怎么放由调用方在框内自定。 */\n.dshpc-card__head{display:flex;align-items:center;gap:8px;min-width:0}\n.dshpc-card__main{flex:1;min-width:0}\n.dshpc-card__side{display:flex;align-items:center;gap:6px;flex:none}\n\n/* ── 外观一 · StripCard:同色系浅底 + 1px 不可见占位边框 + 方角 + 4px 通高方角色条贴左缘 ── */\n.dshpc-card--strip{\n padding:12px 12px 12px 20px;border:1px solid transparent;\n background:var(--card-accent-soft,transparent);\n}\n/* 左内边距 20px = 16 留白 + 4 条宽 ⇒ 内容从色条右缘起算;色条绝对定位通高,跟着内容高度自适应。 */\n.dshpc-card--strip .dshpc-card__bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--card-accent)}\n\n/* ── 外观二 · Card:surface 底 + 1px 实色边框 + 圆角 + 行内圆角短条 ── */\n.dshpc-card--bordered{\n /* 左内边距 12(比上/右/下 14 少 2):竖条贴近边框;头部内缩 2px ⇒ 主内容跟着左移 2px,\n 竖条↔内容的 12px 间距不变——比「条子 left:-2 而内容不动」更正规(不靠相对定位硬补)。 */\n padding:14px 14px 14px 12px;border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-sm);\n background:var(--dshpc-surface-1);\n}\n.dshpc-card--bordered .dshpc-card__head{gap:12px}\n/* 短条:行内 flex 项,**高度跟着内容走**(stretch),最小一行文字(--dshpc-line-md)——\n 一行文字时条子与文字齐高,不会把卡撑高;竖条距左 12(= 左内边距),距上/右/下 14。 */\n.dshpc-card--bordered .dshpc-card__bar{width:6px;flex:none;align-self:stretch;min-height:var(--dshpc-line-md);border-radius:var(--dshpc-radius-xs);background:var(--card-accent)}\n.dshpc-card__toggle{\n display:inline-flex;align-items:center;justify-content:center;\n width:24px;height:24px;padding:0;background:none;border:none;border-radius:6px;\n color:var(--dshpc-fg-3);cursor:pointer;\n}\n.dshpc-card__toggle:hover{background:var(--dshpc-surface-sunken);color:var(--dshpc-fg)}\n.dshpc-card__caret{display:inline-block;font-size:10px;transition:transform .15s ease}\n.dshpc-card__caret.is-open{transform:rotate(180deg)}\n.dshpc-card__panel{margin-top:8px;padding-top:8px;border-top:1px solid var(--dshpc-border-faint)}\n";
4
+ //# sourceMappingURL=card-css.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-css.generated.js","sourceRoot":"","sources":["../../src/ui/card-css.generated.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG,kmFAAkmF,CAAA"}
@@ -1,39 +1,5 @@
1
1
  // Card / StripCard 样式(Chip 已独立到 chip-css.ts,勿再往这里加 chip 规则)。
2
2
  // 类名固定 dshpc-card*;
3
3
  // 颜色一律吃 token,深色由 design 的 token 深色段自动生效(不写死颜色值)。
4
- export const CARD_CSS = `
5
- .dshpc-card{
6
- position:relative;padding:12px 14px;background:var(--dshpc-surface-1);
7
- --card-accent:var(--dshpc-business);
8
- }
9
- /* 档位 → token(照 records-timeline 的 tone 模式:一个变量切档,不写 5 套规则)。 */
10
- .dshpc-card--success{--card-accent:var(--dshpc-success)}
11
- .dshpc-card--warning{--card-accent:var(--dshpc-warning)}
12
- .dshpc-card--danger{--card-accent:var(--dshpc-danger)}
13
- .dshpc-card--neutral{--card-accent:var(--dshpc-fg-4)}
14
-
15
- /* 外观一:圆角 + 1px 边框,色条上下留距(短条)。 */
16
- .dshpc-card--bordered{border-radius:8px;border:1px solid var(--dshpc-border)}
17
- .dshpc-card--bordered .dshpc-card__bar{top:8px;bottom:8px;border-radius:2px}
18
-
19
- /* 外观二:无圆角无边框,色条通高。 */
20
- .dshpc-card--strip{border-radius:0;border:none}
21
- .dshpc-card--strip .dshpc-card__bar{top:0;bottom:0;border-radius:0}
22
-
23
- /* 色条:绝对定位 + top/bottom ⇒ 跟着内容高度自适应;上下是否留距由外观决定。 */
24
- .dshpc-card__bar{position:absolute;left:0;width:3px;background:var(--card-accent)}
25
-
26
- .dshpc-card__head{display:flex;align-items:flex-start;gap:8px;min-width:0}
27
- .dshpc-card__main{flex:1;min-width:0}
28
- .dshpc-card__side{display:flex;align-items:center;gap:6px;flex:none}
29
- .dshpc-card__toggle{
30
- display:inline-flex;align-items:center;justify-content:center;
31
- width:24px;height:24px;padding:0;background:none;border:none;border-radius:6px;
32
- color:var(--dshpc-fg-3);cursor:pointer;
33
- }
34
- .dshpc-card__toggle:hover{background:var(--dshpc-surface-sunken);color:var(--dshpc-fg)}
35
- .dshpc-card__caret{display:inline-block;font-size:10px;transition:transform .15s ease}
36
- .dshpc-card__caret.is-open{transform:rotate(180deg)}
37
- .dshpc-card__panel{margin-top:8px;padding-top:8px;border-top:1px solid var(--dshpc-border-faint)}
38
- `;
4
+ export { CARD_CSS } from './card-css.generated.js';
39
5
  //# sourceMappingURL=card-css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-css.js","sourceRoot":"","sources":["../../src/ui/card-css.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,oBAAoB;AACpB,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCvB,CAAA"}
1
+ {"version":3,"file":"card-css.js","sourceRoot":"","sources":["../../src/ui/card-css.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,oBAAoB;AACpB,kDAAkD;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const CHIP_CSS = "\n.dshpc-chip{\n display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:1px 8px;\n box-sizing:border-box;border-radius:var(--dshpc-radius-pill,999px);border:none;\n background:var(--dshpc-chip-bg);color:var(--dshpc-fg);\n font-family:inherit;font-size:11px;line-height:18px;margin:0;\n /* 2026-10-18\uFF1Achip \u662F flex \u884C\u91CC\u7684\u5E38\u7528\u9879\uFF0C\u7981\u6B62\u88AB\u538B\u7F29\u6362\u884C\uFF08\u9884\u89C8\u7AD9\u51FA\u73B0\u8FC7\u6587\u5B57\u7AD6\u6392\u3001\u4E92\u76F8\u53E0\u538B\u7684\u6324\u538B\uFF09\u3002 */\n white-space:nowrap;flex:none;\n appearance:none;-webkit-appearance:none;\n}\n/* \u53EF\u70B9\u6001\uFF1Abutton \u6E32\u67D3\uFF08\u89C1 Chip.ts\uFF09\uFF0C\u5149\u6807 + hover \u52A0\u6DF1\u3002 */\n.dshpc-chip--clickable{cursor:pointer;transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease);}\n.dshpc-chip--clickable:hover:not(:disabled){background:var(--dshpc-chip-bg-hover)}\n.dshpc-chip:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px}\n.dshpc-chip:disabled{cursor:default;color:var(--dshpc-fg-3)}\n@media (prefers-reduced-motion: reduce){.dshpc-chip{transition:none}}\n";
1
+ export { CHIP_CSS } from './chip-css.generated.js';
2
2
  //# sourceMappingURL=chip-css.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chip-css.d.ts","sourceRoot":"","sources":["../../src/ui/chip-css.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ,8pCAgBpB,CAAA"}
1
+ {"version":3,"file":"chip-css.d.ts","sourceRoot":"","sources":["../../src/ui/chip-css.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const CHIP_CSS = "\n/* \u4E09\u6761\u5C40\u90E8\u53D8\u91CF\u627F\u8F7D\u914D\u8272\uFF1Aneutral \u8D70\u65E7\u7070\u9762\uFF1B\u8BED\u4E49\u6863\u6362\u5E95\u5B57\u914D\u5BF9\uFF082026-10-20 \u7528\u6237\u8981\u591A\u8272\u591A\u5C3A\u5BF8\u6807\u7B7E\uFF09\u3002 */\n.dshpc-chip{--chip-bg:var(--dshpc-chip-bg);--chip-fg:var(--dshpc-fg);--chip-bg-hover:var(--dshpc-chip-bg-hover);\n display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:1px 8px;\n box-sizing:border-box;border-radius:var(--dshpc-radius-pill,999px);border:none;\n background:var(--chip-bg);color:var(--chip-fg);\n font-family:inherit;font-size:11px;line-height:18px;margin:0;\n /* 2026-10-18\uFF1Achip \u662F flex \u884C\u91CC\u7684\u5E38\u7528\u9879\uFF0C\u7981\u6B62\u88AB\u538B\u7F29\u6362\u884C\uFF08\u9884\u89C8\u7AD9\u51FA\u73B0\u8FC7\u6587\u5B57\u7AD6\u6392\u3001\u4E92\u76F8\u53E0\u538B\u7684\u6324\u538B\uFF09\u3002 */\n white-space:nowrap;flex:none;\n appearance:none;-webkit-appearance:none;\n}\n/* md \u6863\uFF1A\u5361\u7247\u5143\u4FE1\u606F\u884C\u7B49\u7A0D\u5927\u573A\u666F\uFF1Bsm \u5373\u65E7\u7248\u9ED8\u8BA4\uFF0C\u9010\u50CF\u7D20\u4E0D\u52A8\u3002 */\n.dshpc-chip--md{padding:2px 10px;font-size:12px;line-height:20px;}\n/* xs \u6863\uFF1A\u6807\u9898\u540E\u7F00\u7B49\u6781\u7D27\u51D1\u573A\u666F\uFF082026-10-20 \u7528\u6237\u8981\u66F4\u5C0F\u6807\u7B7E\uFF09\uFF1B16px \u9AD8\u3001font 10\u3002 */\n.dshpc-chip--xs{padding:0 6px;font-size:10px;line-height:16px;}\n/* \u8BED\u4E49\u8272\u5B9E\u5FC3\u6863\uFF1A\u5E95 / \u5B57 / hover \u914D\u5BF9\u4E0E Button \u540C\u6E90\uFF08\u9EC4\u5E95\u4E2D\u9AD8\u660E\u5EA6 \u21D2 \u5B57\u7528 --dshpc-on-warning\uFF09\u3002 */\n.dshpc-chip--business{--chip-bg:var(--dshpc-business);--chip-fg:var(--dshpc-on-signal);--chip-bg-hover:var(--dshpc-business-hover);}\n.dshpc-chip--success{--chip-bg:var(--dshpc-success);--chip-fg:var(--dshpc-on-signal);--chip-bg-hover:var(--dshpc-success-hover);}\n.dshpc-chip--warning{--chip-bg:var(--dshpc-warning);--chip-fg:var(--dshpc-on-warning);--chip-bg-hover:var(--dshpc-warning-hover);}\n.dshpc-chip--danger{--chip-bg:var(--dshpc-danger);--chip-fg:var(--dshpc-on-signal);--chip-bg-hover:var(--dshpc-danger-hover);}\n/* \u53EF\u70B9\u6001\uFF1Abutton \u6E32\u67D3\uFF08\u89C1 Chip.ts\uFF09\uFF0C\u5149\u6807 + hover \u52A0\u6DF1\u3002 */\n.dshpc-chip--clickable{cursor:pointer;transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease);}\n.dshpc-chip--clickable:hover:not(:disabled){background:var(--chip-bg-hover)}\n.dshpc-chip:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px}\n.dshpc-chip:disabled{cursor:default;color:var(--dshpc-fg-3)}\n@media (prefers-reduced-motion: reduce){.dshpc-chip{transition:none}}\n";
2
+ //# sourceMappingURL=chip-css.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip-css.generated.d.ts","sourceRoot":"","sources":["../../src/ui/chip-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,+qFAAi3D,CAAA"}
@@ -0,0 +1,4 @@
1
+ // ⚠️ 生成物,勿手改。真源 = src/ui/chip.css
2
+ // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
+ export const CHIP_CSS = "\n/* 三条局部变量承载配色:neutral 走旧灰面;语义档换底字配对(2026-10-20 用户要多色多尺寸标签)。 */\n.dshpc-chip{--chip-bg:var(--dshpc-chip-bg);--chip-fg:var(--dshpc-fg);--chip-bg-hover:var(--dshpc-chip-bg-hover);\n display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:1px 8px;\n box-sizing:border-box;border-radius:var(--dshpc-radius-pill,999px);border:none;\n background:var(--chip-bg);color:var(--chip-fg);\n font-family:inherit;font-size:11px;line-height:18px;margin:0;\n /* 2026-10-18:chip 是 flex 行里的常用项,禁止被压缩换行(预览站出现过文字竖排、互相叠压的挤压)。 */\n white-space:nowrap;flex:none;\n appearance:none;-webkit-appearance:none;\n}\n/* md 档:卡片元信息行等稍大场景;sm 即旧版默认,逐像素不动。 */\n.dshpc-chip--md{padding:2px 10px;font-size:12px;line-height:20px;}\n/* xs 档:标题后缀等极紧凑场景(2026-10-20 用户要更小标签);16px 高、font 10。 */\n.dshpc-chip--xs{padding:0 6px;font-size:10px;line-height:16px;}\n/* 语义色实心档:底 / 字 / hover 配对与 Button 同源(黄底中高明度 ⇒ 字用 --dshpc-on-warning)。 */\n.dshpc-chip--business{--chip-bg:var(--dshpc-business);--chip-fg:var(--dshpc-on-signal);--chip-bg-hover:var(--dshpc-business-hover);}\n.dshpc-chip--success{--chip-bg:var(--dshpc-success);--chip-fg:var(--dshpc-on-signal);--chip-bg-hover:var(--dshpc-success-hover);}\n.dshpc-chip--warning{--chip-bg:var(--dshpc-warning);--chip-fg:var(--dshpc-on-warning);--chip-bg-hover:var(--dshpc-warning-hover);}\n.dshpc-chip--danger{--chip-bg:var(--dshpc-danger);--chip-fg:var(--dshpc-on-signal);--chip-bg-hover:var(--dshpc-danger-hover);}\n/* 可点态:button 渲染(见 Chip.ts),光标 + hover 加深。 */\n.dshpc-chip--clickable{cursor:pointer;transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease);}\n.dshpc-chip--clickable:hover:not(:disabled){background:var(--chip-bg-hover)}\n.dshpc-chip:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px}\n.dshpc-chip:disabled{cursor:default;color:var(--dshpc-fg-3)}\n@media (prefers-reduced-motion: reduce){.dshpc-chip{transition:none}}\n";
4
+ //# sourceMappingURL=chip-css.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip-css.generated.js","sourceRoot":"","sources":["../../src/ui/chip-css.generated.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,qEAAqE;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG,82DAA82D,CAAA"}
@@ -8,21 +8,5 @@
8
8
  //
9
9
  // 类名固定 `dshpc-chip*`;
10
10
  // 颜色一律吃 token,深色由 design 的 token 深色段自动生效。
11
- export const CHIP_CSS = `
12
- .dshpc-chip{
13
- display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:1px 8px;
14
- box-sizing:border-box;border-radius:var(--dshpc-radius-pill,999px);border:none;
15
- background:var(--dshpc-chip-bg);color:var(--dshpc-fg);
16
- font-family:inherit;font-size:11px;line-height:18px;margin:0;
17
- /* 2026-10-18:chip 是 flex 行里的常用项,禁止被压缩换行(预览站出现过文字竖排、互相叠压的挤压)。 */
18
- white-space:nowrap;flex:none;
19
- appearance:none;-webkit-appearance:none;
20
- }
21
- /* 可点态:button 渲染(见 Chip.ts),光标 + hover 加深。 */
22
- .dshpc-chip--clickable{cursor:pointer;transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease);}
23
- .dshpc-chip--clickable:hover:not(:disabled){background:var(--dshpc-chip-bg-hover)}
24
- .dshpc-chip:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px}
25
- .dshpc-chip:disabled{cursor:default;color:var(--dshpc-fg-3)}
26
- @media (prefers-reduced-motion: reduce){.dshpc-chip{transition:none}}
27
- `;
11
+ export { CHIP_CSS } from './chip-css.generated.js';
28
12
  //# sourceMappingURL=chip-css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chip-css.js","sourceRoot":"","sources":["../../src/ui/chip-css.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,8CAA8C;AAC9C,sEAAsE;AACtE,kDAAkD;AAClD,8CAA8C;AAC9C,YAAY;AACZ,EAAE;AACF,sBAAsB;AACtB,0CAA0C;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;CAgBvB,CAAA"}
1
+ {"version":3,"file":"chip-css.js","sourceRoot":"","sources":["../../src/ui/chip-css.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,8CAA8C;AAC9C,sEAAsE;AACtE,kDAAkD;AAClD,8CAA8C;AAC9C,YAAY;AACZ,EAAE;AACF,sBAAsB;AACtB,0CAA0C;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { CODE_VIEWER_CSS } from './code-viewer-css.generated.js';
2
+ //# sourceMappingURL=code-viewer-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer-css.d.ts","sourceRoot":"","sources":["../../src/ui/code-viewer-css.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const CODE_VIEWER_CSS = "/* CodeViewer\uFF08\u53EA\u8BFB CodeMirror \u67E5\u770B\u5668\uFF09\u6837\u5F0F\u3002\u7C7B\u540D\u56FA\u5B9A dshpc-cv*\uFF1B\u989C\u8272\u5403 --dshpc-* token\uFF0C\n \u6DF1\u8272\u7531 design \u7684 token \u6DF1\u8272\u6BB5\u81EA\u52A8\u751F\u6548\uFF08\u4E0D\u5199\u6B7B\u989C\u8272\u503C\uFF09\u3002 */\n.dshpc-cv{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;}\n.dshpc-cv__copy{position:absolute;top:6px;right:6px;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;appearance:none;border:1px solid var(--dshpc-border,rgba(128,128,128,.35));border-radius:var(--dshpc-radius-sm,6px);background:var(--dshpc-surface-1,#fff);color:var(--dshpc-fg-2,rgba(128,128,128,.95));cursor:pointer;opacity:0;transition:opacity .12s var(--dshpc-ease,ease),background .12s,color .12s;}\n.dshpc-cv:hover .dshpc-cv__copy,.dshpc-cv__copy:focus-visible{opacity:1;}\n.dshpc-cv__copy:hover{background:var(--dshpc-hover,rgba(38,49,72,.06));color:var(--dshpc-fg,#1f2328);}\n.dshpc-cv__copy svg{width:16px;height:16px;}\n.dshpc-cv__editor{flex:1 1 auto;min-height:0;overflow:hidden;}\n.dshpc-cv__editor .cm-editor{height:100%;}\n.dshpc-cv__editor .cm-scroller{overflow:auto;}\n";
2
+ //# sourceMappingURL=code-viewer-css.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer-css.generated.d.ts","sourceRoot":"","sources":["../../src/ui/code-viewer-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,+tCAA4hC,CAAA"}
@@ -0,0 +1,4 @@
1
+ // ⚠️ 生成物,勿手改。真源 = src/ui/code-viewer.css
2
+ // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
+ export const CODE_VIEWER_CSS = "/* CodeViewer(只读 CodeMirror 查看器)样式。类名固定 dshpc-cv*;颜色吃 --dshpc-* token,\n 深色由 design 的 token 深色段自动生效(不写死颜色值)。 */\n.dshpc-cv{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;}\n.dshpc-cv__copy{position:absolute;top:6px;right:6px;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;appearance:none;border:1px solid var(--dshpc-border,rgba(128,128,128,.35));border-radius:var(--dshpc-radius-sm,6px);background:var(--dshpc-surface-1,#fff);color:var(--dshpc-fg-2,rgba(128,128,128,.95));cursor:pointer;opacity:0;transition:opacity .12s var(--dshpc-ease,ease),background .12s,color .12s;}\n.dshpc-cv:hover .dshpc-cv__copy,.dshpc-cv__copy:focus-visible{opacity:1;}\n.dshpc-cv__copy:hover{background:var(--dshpc-hover,rgba(38,49,72,.06));color:var(--dshpc-fg,#1f2328);}\n.dshpc-cv__copy svg{width:16px;height:16px;}\n.dshpc-cv__editor{flex:1 1 auto;min-height:0;overflow:hidden;}\n.dshpc-cv__editor .cm-editor{height:100%;}\n.dshpc-cv__editor .cm-scroller{overflow:auto;}\n";
4
+ //# sourceMappingURL=code-viewer-css.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer-css.generated.js","sourceRoot":"","sources":["../../src/ui/code-viewer-css.generated.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,yhCAAyhC,CAAA"}
@@ -0,0 +1,3 @@
1
+ // CodeViewer 样式(类名固定 dshpc-cv*;颜色吃 --dshpc-* token)。
2
+ export { CODE_VIEWER_CSS } from './code-viewer-css.generated.js';
3
+ //# sourceMappingURL=code-viewer-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer-css.js","sourceRoot":"","sources":["../../src/ui/code-viewer-css.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 源码态语法高亮:扩展名 → CodeMirror 语言映射。
3
+ *
4
+ * 移植自兄弟项目 dsh-task-dispatch-table(src/client/ui/lang.ts),仅保留本仓已引入的语言包:
5
+ * javascript/json/markdown/python/html/css/yaml + legacy-modes 长尾,避免引入新品类依赖。
6
+ * 纯函数、可单测。
7
+ */
8
+ import { Language, LanguageSupport } from '@codemirror/language';
9
+ /** 取路径的扩展名(小写,无点)。 */
10
+ export declare function extOf(path: string): string;
11
+ /** 扩展名对应的语言键;无匹配返回 null(纯文本)。 */
12
+ export declare function languageKeyForExt(ext: string): string | null;
13
+ /** 路径对应的 CodeMirror 语法扩展;未知扩展回落 null(纯文本)。 */
14
+ export declare function languageForPath(path: string): Language | LanguageSupport | null;
15
+ //# sourceMappingURL=code-viewer-lang.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer-lang.d.ts","sourceRoot":"","sources":["../../src/ui/code-viewer-lang.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAA;AAsChF,sBAAsB;AACtB,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1C;AAED,iCAAiC;AACjC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgD5D;AAqDD,8CAA8C;AAC9C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,IAAI,CAU/E"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * 源码态语法高亮:扩展名 → CodeMirror 语言映射。
3
+ *
4
+ * 移植自兄弟项目 dsh-task-dispatch-table(src/client/ui/lang.ts),仅保留本仓已引入的语言包:
5
+ * javascript/json/markdown/python/html/css/yaml + legacy-modes 长尾,避免引入新品类依赖。
6
+ * 纯函数、可单测。
7
+ */
8
+ import { StreamLanguage } from '@codemirror/language';
9
+ import { javascript } from '@codemirror/lang-javascript';
10
+ import { json } from '@codemirror/lang-json';
11
+ import { markdown } from '@codemirror/lang-markdown';
12
+ import { python } from '@codemirror/lang-python';
13
+ import { html } from '@codemirror/lang-html';
14
+ import { css } from '@codemirror/lang-css';
15
+ import { yaml } from '@codemirror/lang-yaml';
16
+ import { shell } from '@codemirror/legacy-modes/mode/shell';
17
+ import { toml } from '@codemirror/legacy-modes/mode/toml';
18
+ import { nginx } from '@codemirror/legacy-modes/mode/nginx';
19
+ import { dockerFile } from '@codemirror/legacy-modes/mode/dockerfile';
20
+ import { properties } from '@codemirror/legacy-modes/mode/properties';
21
+ import { csharp, kotlin, dart, scala, objectiveCpp } from '@codemirror/legacy-modes/mode/clike';
22
+ import { swift } from '@codemirror/legacy-modes/mode/swift';
23
+ import { sCSS, less } from '@codemirror/legacy-modes/mode/css';
24
+ import { sass } from '@codemirror/legacy-modes/mode/sass';
25
+ import { stylus } from '@codemirror/legacy-modes/mode/stylus';
26
+ import { ruby } from '@codemirror/legacy-modes/mode/ruby';
27
+ import { lua } from '@codemirror/legacy-modes/mode/lua';
28
+ import { perl } from '@codemirror/legacy-modes/mode/perl';
29
+ import { r } from '@codemirror/legacy-modes/mode/r';
30
+ import { groovy } from '@codemirror/legacy-modes/mode/groovy';
31
+ import { powerShell } from '@codemirror/legacy-modes/mode/powershell';
32
+ import { diff } from '@codemirror/legacy-modes/mode/diff';
33
+ import { protobuf } from '@codemirror/legacy-modes/mode/protobuf';
34
+ import { cmake } from '@codemirror/legacy-modes/mode/cmake';
35
+ import { pug } from '@codemirror/legacy-modes/mode/pug';
36
+ import { tcl } from '@codemirror/legacy-modes/mode/tcl';
37
+ import { haskell } from '@codemirror/legacy-modes/mode/haskell';
38
+ import { clojure } from '@codemirror/legacy-modes/mode/clojure';
39
+ import { erlang } from '@codemirror/legacy-modes/mode/erlang';
40
+ import { julia } from '@codemirror/legacy-modes/mode/julia';
41
+ import { pascal } from '@codemirror/legacy-modes/mode/pascal';
42
+ import { vb } from '@codemirror/legacy-modes/mode/vb';
43
+ import { vhdl } from '@codemirror/legacy-modes/mode/vhdl';
44
+ import { stex } from '@codemirror/legacy-modes/mode/stex';
45
+ /** 取路径的扩展名(小写,无点)。 */
46
+ export function extOf(path) {
47
+ const base = path.slice(path.lastIndexOf('/') + 1);
48
+ const dot = base.lastIndexOf('.');
49
+ return dot <= 0 ? '' : base.slice(dot + 1).toLowerCase();
50
+ }
51
+ /** 扩展名对应的语言键;无匹配返回 null(纯文本)。 */
52
+ export function languageKeyForExt(ext) {
53
+ switch (ext) {
54
+ case 'js':
55
+ case 'mjs':
56
+ case 'cjs': return 'js';
57
+ case 'jsx': return 'jsx';
58
+ case 'ts':
59
+ case 'mts':
60
+ case 'cts': return 'ts';
61
+ case 'tsx': return 'tsx';
62
+ case 'json':
63
+ case 'jsonc': return 'json';
64
+ case 'md':
65
+ case 'markdown': return 'md';
66
+ case 'py':
67
+ case 'pyw': return 'python';
68
+ case 'html':
69
+ case 'htm': return 'html';
70
+ case 'css': return 'css';
71
+ case 'yaml':
72
+ case 'yml': return 'yaml';
73
+ case 'sh':
74
+ case 'bash':
75
+ case 'zsh': return 'shell';
76
+ case 'toml': return 'toml';
77
+ case 'nginx':
78
+ case 'conf': return 'nginx';
79
+ case 'dockerfile':
80
+ case 'docker': return 'dockerfile';
81
+ case 'properties':
82
+ case 'env': return 'properties';
83
+ case 'scss': return 'scss';
84
+ case 'sass': return 'sass';
85
+ case 'less': return 'less';
86
+ case 'styl': return 'stylus';
87
+ case 'rb': return 'ruby';
88
+ case 'lua': return 'lua';
89
+ case 'pl':
90
+ case 'pm': return 'perl';
91
+ case 'r': return 'r';
92
+ case 'groovy': return 'groovy';
93
+ case 'ps1':
94
+ case 'psm1': return 'powershell';
95
+ case 'diff':
96
+ case 'patch': return 'diff';
97
+ case 'proto': return 'protobuf';
98
+ case 'cmake': return 'cmake';
99
+ case 'pug': return 'pug';
100
+ case 'tcl': return 'tcl';
101
+ case 'hs': return 'haskell';
102
+ case 'clj':
103
+ case 'cljs': return 'clojure';
104
+ case 'erl': return 'erlang';
105
+ case 'jl': return 'julia';
106
+ case 'pas': return 'pascal';
107
+ case 'vb': return 'vb';
108
+ case 'vhd': return 'vhdl';
109
+ case 'tex': return 'stex';
110
+ case 'cs': return 'csharp';
111
+ case 'kt':
112
+ case 'kts': return 'kotlin';
113
+ case 'dart': return 'dart';
114
+ case 'scala':
115
+ case 'sc': return 'scala';
116
+ case 'mm': return 'objectivecpp';
117
+ case 'c':
118
+ case 'h':
119
+ case 'cc':
120
+ case 'cpp':
121
+ case 'cxx':
122
+ case 'hpp':
123
+ case 'hh':
124
+ case 'hxx': return 'cpp';
125
+ default: return null;
126
+ }
127
+ }
128
+ const FACTORIES = {
129
+ js: () => javascript({ jsx: true }),
130
+ jsx: () => javascript({ jsx: true }),
131
+ ts: () => javascript({ typescript: true }),
132
+ tsx: () => javascript({ typescript: true, jsx: true }),
133
+ json: () => json(),
134
+ md: () => markdown(),
135
+ python: () => python(),
136
+ html: () => html(),
137
+ css: () => css(),
138
+ yaml: () => yaml(),
139
+ shell: () => StreamLanguage.define(shell),
140
+ toml: () => StreamLanguage.define(toml),
141
+ nginx: () => StreamLanguage.define(nginx),
142
+ dockerfile: () => StreamLanguage.define(dockerFile),
143
+ properties: () => StreamLanguage.define(properties),
144
+ csharp: () => StreamLanguage.define(csharp),
145
+ kotlin: () => StreamLanguage.define(kotlin),
146
+ dart: () => StreamLanguage.define(dart),
147
+ scala: () => StreamLanguage.define(scala),
148
+ objectivecpp: () => StreamLanguage.define(objectiveCpp),
149
+ swift: () => StreamLanguage.define(swift),
150
+ scss: () => StreamLanguage.define(sCSS),
151
+ sass: () => StreamLanguage.define(sass),
152
+ less: () => StreamLanguage.define(less),
153
+ stylus: () => StreamLanguage.define(stylus),
154
+ ruby: () => StreamLanguage.define(ruby),
155
+ lua: () => StreamLanguage.define(lua),
156
+ perl: () => StreamLanguage.define(perl),
157
+ r: () => StreamLanguage.define(r),
158
+ groovy: () => StreamLanguage.define(groovy),
159
+ powershell: () => StreamLanguage.define(powerShell),
160
+ diff: () => StreamLanguage.define(diff),
161
+ protobuf: () => StreamLanguage.define(protobuf),
162
+ cmake: () => StreamLanguage.define(cmake),
163
+ pug: () => StreamLanguage.define(pug),
164
+ tcl: () => StreamLanguage.define(tcl),
165
+ haskell: () => StreamLanguage.define(haskell),
166
+ clojure: () => StreamLanguage.define(clojure),
167
+ erlang: () => StreamLanguage.define(erlang),
168
+ julia: () => StreamLanguage.define(julia),
169
+ pascal: () => StreamLanguage.define(pascal),
170
+ vb: () => StreamLanguage.define(vb),
171
+ vhdl: () => StreamLanguage.define(vhdl),
172
+ stex: () => StreamLanguage.define(stex),
173
+ // C/C++/Obj-C 无独立 lang 包,回落到 C 系 StreamLanguage(近似上色,纯只读渲染足够)。
174
+ cpp: () => StreamLanguage.define(csharp),
175
+ };
176
+ /** 路径对应的 CodeMirror 语法扩展;未知扩展回落 null(纯文本)。 */
177
+ export function languageForPath(path) {
178
+ const key = languageKeyForExt(extOf(path));
179
+ if (key === null)
180
+ return null;
181
+ try {
182
+ return FACTORIES[key]();
183
+ }
184
+ catch (error) {
185
+ // 单个语言工厂失败 ⇒ 退化为纯文本,绝不让查看器崩。
186
+ console.warn(`[dsh-plugin-core:code-viewer] language factory "${key}" failed:`, error);
187
+ return null;
188
+ }
189
+ }
190
+ //# sourceMappingURL=code-viewer-lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer-lang.js","sourceRoot":"","sources":["../../src/ui/code-viewer-lang.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ export declare const cmSurfaceTheme: Extension;
3
+ /** 返回 CodeMirror 6 主题扩展数组(表面 + 选区微调 + one-dark/one-light 语法色)。 */
4
+ export declare function codeMirrorTheme(dark: boolean): Extension[];
5
+ //# sourceMappingURL=code-viewer-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer-theme.d.ts","sourceRoot":"","sources":["../../src/ui/code-viewer-theme.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAgBlD,eAAO,MAAM,cAAc,WAyBzB,CAAA;AAyFF,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,CAM1D"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * CodeMirror 6 主题(DSH 共享底座版)。
3
+ *
4
+ * 移植自兄弟项目 dsh-task-dispatch-table(src/client/ui/cm-themes.ts),token 名换成
5
+ * 本仓的 --dshpc-*;语法配色沿用 one-dark / one-light 调色板(已真机验证的观感)。
6
+ * 提供:
7
+ * - cmSurfaceTheme:透明底 + 13px + 等宽字体 + 行号槽用 --dshpc-fg-3,随宿主滚动;
8
+ * - codeMirrorTheme(dark):表面主题 + 选区/激活行微调 + one-dark/one-light 语法色。
9
+ *
10
+ * ⚠️ 选区配色的硬约束:CodeMirror 把选区画成**文字底下的一层背景**,**不会**给选中文字重新上色
11
+ * ⇒ 选区色必须自己保证与语法色有对比度。旧实现给暗色用 rgba(255,255,255,.22) 半透明白 ⇒ 选区发白、
12
+ * one-dark 的浅/白字压上去直接隐身。现按官方 @codemirror/theme-one-dark 取**不透明实色**
13
+ * (暗 #3E4451 / 浅 #c8d3f0)。
14
+ */
15
+ import { HighlightStyle, syntaxHighlighting } from '@codemirror/language';
16
+ import { tags } from '@lezer/highlight';
17
+ import { EditorView } from '@codemirror/view';
18
+ const ONE_DARK = {
19
+ black: '#282c34', gray: '#abb2bf', faintGray: '#5c6370', white: '#ffffff',
20
+ red: '#e06c75', green: '#98c379', yellow: '#e5c07b', blue: '#61afef',
21
+ magenta: '#c678dd', cyan: '#56b6c2', orange: '#d19a66', link: '#56b6c2',
22
+ };
23
+ const ONE_LIGHT = {
24
+ black: '#383a42', gray: '#a0a1a7', faintGray: '#4f525e', white: '#ffffff',
25
+ red: '#e45649', green: '#50a14f', yellow: '#c18401', blue: '#0184bc',
26
+ magenta: '#a626a4', cyan: '#0997b3', orange: '#986801', link: '#4078f2',
27
+ };
28
+ // 表面层:透明底、13px、等宽字体、行号槽取 --dshpc-fg-3;不抢背景,叠在宿主面板上。
29
+ export const cmSurfaceTheme = EditorView.theme({
30
+ '&': {
31
+ height: '100%',
32
+ fontSize: '13px',
33
+ backgroundColor: 'transparent',
34
+ color: 'var(--dshpc-fg, #1f2328)',
35
+ },
36
+ '.cm-scroller': {
37
+ overflow: 'auto',
38
+ fontFamily: 'var(--dshpc-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)',
39
+ },
40
+ '.cm-content': {
41
+ caretColor: 'var(--dshpc-fg, #1f2328)',
42
+ },
43
+ '.cm-gutters': {
44
+ backgroundColor: 'transparent',
45
+ color: 'var(--dshpc-fg-3, rgba(128,128,128,0.8))',
46
+ border: 'none',
47
+ },
48
+ '.cm-activeLine': {
49
+ backgroundColor: 'transparent',
50
+ },
51
+ '.cm-activeLineGutter': {
52
+ backgroundColor: 'transparent',
53
+ },
54
+ });
55
+ /**
56
+ * 选区色:暗 #3E4451(官方 one-dark 原值,比深底更深的实色 ⇒ 浅字压上去仍清晰)、
57
+ * 浅 #c8d3f0(one-light 同族浅底 ⇒ 深字压上去仍清晰)。一律**不透明**:半透明会让
58
+ * 选区色随宿主面板深浅漂移,对比度不可控。
59
+ */
60
+ const SELECTION_DARK = '#3E4451';
61
+ const SELECTION_LIGHT = '#c8d3f0';
62
+ function cmSurfaceTint(dark) {
63
+ return EditorView.theme({
64
+ // 选择器照抄官方 @codemirror/theme-one-dark(dist/index.js:41):
65
+ // 聚焦态选区画在 .cm-selectionLayer 里,未聚焦走 .cm-selectionBackground,
66
+ // 浏览器原生取 .cm-content ::selection —— 三条都盖住,避免任一路径漏配。
67
+ '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
68
+ backgroundColor: dark ? SELECTION_DARK : SELECTION_LIGHT,
69
+ },
70
+ });
71
+ }
72
+ const HIGHLIGHTS_DARK = [
73
+ { tag: [tags.comment, tags.lineComment, tags.blockComment], color: ONE_DARK.faintGray, fontStyle: 'italic' },
74
+ { tag: [tags.keyword, tags.modifier, tags.controlKeyword, tags.moduleKeyword], color: ONE_DARK.magenta },
75
+ { tag: [tags.operator, tags.operatorKeyword, tags.compareOperator, tags.logicOperator, tags.bitwiseOperator], color: ONE_DARK.cyan },
76
+ { tag: [tags.definitionKeyword, tags.atom], color: ONE_DARK.cyan },
77
+ { tag: [tags.number, tags.bool, tags.null, tags.escape], color: ONE_DARK.orange },
78
+ { tag: [tags.string, tags.special(tags.string), tags.regexp], color: ONE_DARK.green },
79
+ { tag: [tags.character, tags.special(tags.character)], color: ONE_DARK.orange },
80
+ { tag: [tags.propertyName], color: ONE_DARK.yellow },
81
+ // 变量名取 ivory(#abb2bf) 而非纯白:官方 one-dark 的正文色就是 ivory,纯白在深底上过曝、
82
+ // 且压在选区上对比度更差(旧值 #ffffff)。
83
+ { tag: [tags.variableName], color: ONE_DARK.gray },
84
+ { tag: [tags.function(tags.variableName), tags.function(tags.propertyName), tags.labelName], color: ONE_DARK.blue },
85
+ { tag: [tags.className, tags.typeName, tags.namespace], color: ONE_DARK.yellow },
86
+ { tag: [tags.definition(tags.typeName), tags.definition(tags.className), tags.definition(tags.namespace)], color: ONE_DARK.yellow },
87
+ { tag: [tags.tagName], color: ONE_DARK.red },
88
+ { tag: [tags.attributeName], color: ONE_DARK.yellow },
89
+ { tag: [tags.self, tags.standard(tags.variableName), tags.constant(tags.variableName)], color: ONE_DARK.orange },
90
+ { tag: [tags.punctuation, tags.separator, tags.bracket], color: ONE_DARK.gray },
91
+ { tag: [tags.squareBracket, tags.paren, tags.brace], color: ONE_DARK.gray },
92
+ { tag: [tags.meta, tags.documentMeta, tags.annotation], color: ONE_DARK.gray },
93
+ { tag: [tags.link, tags.url], color: ONE_DARK.link, fontStyle: 'underline' },
94
+ { tag: [tags.heading], color: ONE_DARK.blue, fontStyle: 'bold' },
95
+ { tag: [tags.emphasis], fontStyle: 'italic' },
96
+ { tag: [tags.strong], fontWeight: 'bold' },
97
+ { tag: [tags.strikethrough], textDecoration: 'line-through' },
98
+ { tag: [tags.monospace], color: ONE_DARK.green },
99
+ { tag: [tags.contentSeparator], color: ONE_DARK.faintGray },
100
+ { tag: [tags.invalid], color: ONE_DARK.red },
101
+ ];
102
+ const HIGHLIGHTS_LIGHT = [
103
+ { tag: [tags.comment, tags.lineComment, tags.blockComment], color: ONE_LIGHT.faintGray, fontStyle: 'italic' },
104
+ { tag: [tags.keyword, tags.modifier, tags.controlKeyword, tags.moduleKeyword], color: ONE_LIGHT.magenta },
105
+ { tag: [tags.operator, tags.operatorKeyword, tags.compareOperator, tags.logicOperator, tags.bitwiseOperator], color: ONE_LIGHT.cyan },
106
+ { tag: [tags.definitionKeyword, tags.atom], color: ONE_LIGHT.cyan },
107
+ { tag: [tags.number, tags.bool, tags.null, tags.escape], color: ONE_LIGHT.orange },
108
+ { tag: [tags.string, tags.special(tags.string), tags.regexp], color: ONE_LIGHT.green },
109
+ { tag: [tags.character, tags.special(tags.character)], color: ONE_LIGHT.orange },
110
+ { tag: [tags.propertyName], color: ONE_LIGHT.black },
111
+ { tag: [tags.variableName], color: ONE_LIGHT.black },
112
+ { tag: [tags.function(tags.variableName), tags.function(tags.propertyName), tags.labelName], color: ONE_LIGHT.blue },
113
+ { tag: [tags.className, tags.typeName, tags.namespace], color: ONE_LIGHT.yellow },
114
+ { tag: [tags.definition(tags.typeName), tags.definition(tags.className), tags.definition(tags.namespace)], color: ONE_LIGHT.yellow },
115
+ { tag: [tags.tagName], color: ONE_LIGHT.red },
116
+ { tag: [tags.attributeName], color: ONE_LIGHT.yellow },
117
+ { tag: [tags.self, tags.standard(tags.variableName), tags.constant(tags.variableName)], color: ONE_LIGHT.orange },
118
+ { tag: [tags.punctuation, tags.separator, tags.bracket], color: ONE_LIGHT.gray },
119
+ { tag: [tags.squareBracket, tags.paren, tags.brace], color: ONE_LIGHT.gray },
120
+ { tag: [tags.meta, tags.documentMeta, tags.annotation], color: ONE_LIGHT.gray },
121
+ { tag: [tags.link, tags.url], color: ONE_LIGHT.link, fontStyle: 'underline' },
122
+ { tag: [tags.heading], color: ONE_LIGHT.blue, fontStyle: 'bold' },
123
+ { tag: [tags.emphasis], fontStyle: 'italic' },
124
+ { tag: [tags.strong], fontWeight: 'bold' },
125
+ { tag: [tags.strikethrough], textDecoration: 'line-through' },
126
+ { tag: [tags.monospace], color: ONE_LIGHT.green },
127
+ { tag: [tags.contentSeparator], color: ONE_LIGHT.faintGray },
128
+ { tag: [tags.invalid], color: ONE_LIGHT.red },
129
+ ];
130
+ /** 返回 CodeMirror 6 主题扩展数组(表面 + 选区微调 + one-dark/one-light 语法色)。 */
131
+ export function codeMirrorTheme(dark) {
132
+ return [
133
+ cmSurfaceTheme,
134
+ cmSurfaceTint(dark),
135
+ syntaxHighlighting(HighlightStyle.define(dark ? HIGHLIGHTS_DARK : HIGHLIGHTS_LIGHT)),
136
+ ];
137
+ }
138
+ //# sourceMappingURL=code-viewer-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer-theme.js","sourceRoot":"","sources":["../../src/ui/code-viewer-theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const BACK_TO_TOP_CSS = "\n/* \u56DE\u5230\u9876\u90E8\u60AC\u6D6E\u94AE\uFF1A\u5706\u94AE\u3001\u5B9E\u9762\u3001\u6295\u5F71\uFF1B\u9ED8\u8BA4\u9690\u8EAB\uFF0C\u6EDA\u8FC7\u9608\u503C\u52A0 .is-visible \u624D\u663E\u5F62\u3002\n \u6A2A\u5411 left \u7531\u7EC4\u4EF6\u6309\u4E3B\u5185\u5BB9\u5217\u53F3\u7F18\u5B9E\u65F6\u7B97\u51FA\uFF08\u8D34\u5728\u5176\u53F3\u4FA7\u5916\u4FA7\uFF09\uFF0C\u4E0D\u5199\u6B7B\u3002 */\n.dshpc-backtotop{\n position:fixed;\n bottom:var(--dshpc-space-4);\n z-index:var(--dshpc-z-dock);\n width:44px;height:44px;\n display:inline-flex;align-items:center;justify-content:center;\n padding:0;margin:0;\n box-sizing:border-box;\n border:1px solid var(--dshpc-border);\n border-radius:50%;\n background:var(--dshpc-solid);\n color:var(--dshpc-on-solid);\n box-shadow:var(--dshpc-shadow-2);\n cursor:pointer;\n opacity:0;\n transform:translateY(8px) scale(.92);\n transition:opacity var(--dshpc-dur) var(--dshpc-ease),\n transform var(--dshpc-dur) var(--dshpc-ease),\n background-color var(--dshpc-dur-fast) var(--dshpc-ease);\n pointer-events:none;\n}\n.dshpc-backtotop.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}\n.dshpc-backtotop:hover{background:var(--dshpc-hover);}\n.dshpc-backtotop:active{background:var(--dshpc-active);}\n.dshpc-backtotop:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:2px;}\n@media (prefers-reduced-motion: reduce){\n .dshpc-backtotop{transition:opacity var(--dshpc-dur-fast) linear;transform:none;}\n}\n";
2
+ //# sourceMappingURL=back-to-top-css.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"back-to-top-css.generated.d.ts","sourceRoot":"","sources":["../../../src/ui/controls/back-to-top-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,8/CAA6sC,CAAA"}
@@ -0,0 +1,4 @@
1
+ // ⚠️ 生成物,勿手改。真源 = src/ui/controls/back-to-top.css
2
+ // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
+ export const BACK_TO_TOP_CSS = "\n/* 回到顶部悬浮钮:圆钮、实面、投影;默认隐身,滚过阈值加 .is-visible 才显形。\n 横向 left 由组件按主内容列右缘实时算出(贴在其右侧外侧),不写死。 */\n.dshpc-backtotop{\n position:fixed;\n bottom:var(--dshpc-space-4);\n z-index:var(--dshpc-z-dock);\n width:44px;height:44px;\n display:inline-flex;align-items:center;justify-content:center;\n padding:0;margin:0;\n box-sizing:border-box;\n border:1px solid var(--dshpc-border);\n border-radius:50%;\n background:var(--dshpc-solid);\n color:var(--dshpc-on-solid);\n box-shadow:var(--dshpc-shadow-2);\n cursor:pointer;\n opacity:0;\n transform:translateY(8px) scale(.92);\n transition:opacity var(--dshpc-dur) var(--dshpc-ease),\n transform var(--dshpc-dur) var(--dshpc-ease),\n background-color var(--dshpc-dur-fast) var(--dshpc-ease);\n pointer-events:none;\n}\n.dshpc-backtotop.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}\n.dshpc-backtotop:hover{background:var(--dshpc-hover);}\n.dshpc-backtotop:active{background:var(--dshpc-active);}\n.dshpc-backtotop:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:2px;}\n@media (prefers-reduced-motion: reduce){\n .dshpc-backtotop{transition:opacity var(--dshpc-dur-fast) linear;transform:none;}\n}\n";
4
+ //# sourceMappingURL=back-to-top-css.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"back-to-top-css.generated.js","sourceRoot":"","sources":["../../../src/ui/controls/back-to-top-css.generated.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,0sCAA0sC,CAAA"}