dsh-plugin-core 0.33.0 → 0.33.2

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 (640) hide show
  1. package/README.md +197 -64
  2. package/README.zh-CN.md +242 -0
  3. package/dist/adv/explorer/open.js +4 -4
  4. package/dist/adv/explorer/open.js.map +1 -1
  5. package/dist/ui/feedback/host-toast.d.ts +1 -1
  6. package/dist/ui/feedback/host-toast.js +1 -1
  7. package/docs/README.md +1 -0
  8. package/docs/help/explorer.doc.ts +1 -1
  9. package/docs/help/explorer.md +1 -1
  10. package/docs/help/integration.doc.ts +2 -2
  11. package/docs/help/integration.md +2 -2
  12. package/docs/help/session.doc.ts +1 -1
  13. package/docs/help/session.md +1 -1
  14. package/docs/help/ui.doc.ts +1 -1
  15. package/docs/help/ui.md +1 -1
  16. package/package.json +16 -16
  17. package/dist/explorer/ExplorerPanel.d.ts +0 -25
  18. package/dist/explorer/ExplorerPanel.d.ts.map +0 -1
  19. package/dist/explorer/ExplorerPanel.js +0 -111
  20. package/dist/explorer/ExplorerPanel.js.map +0 -1
  21. package/dist/explorer/FileBrowser.d.ts +0 -58
  22. package/dist/explorer/FileBrowser.d.ts.map +0 -1
  23. package/dist/explorer/FileBrowser.js +0 -632
  24. package/dist/explorer/FileBrowser.js.map +0 -1
  25. package/dist/explorer/crumb-nav.d.ts +0 -45
  26. package/dist/explorer/crumb-nav.d.ts.map +0 -1
  27. package/dist/explorer/crumb-nav.js +0 -78
  28. package/dist/explorer/crumb-nav.js.map +0 -1
  29. package/dist/explorer/crumbs-menu.d.ts +0 -37
  30. package/dist/explorer/crumbs-menu.d.ts.map +0 -1
  31. package/dist/explorer/crumbs-menu.js +0 -102
  32. package/dist/explorer/crumbs-menu.js.map +0 -1
  33. package/dist/explorer/explorer-css.d.ts +0 -2
  34. package/dist/explorer/explorer-css.d.ts.map +0 -1
  35. package/dist/explorer/explorer-css.generated.d.ts +0 -2
  36. package/dist/explorer/explorer-css.generated.d.ts.map +0 -1
  37. package/dist/explorer/explorer-css.generated.js +0 -4
  38. package/dist/explorer/explorer-css.generated.js.map +0 -1
  39. package/dist/explorer/explorer-css.js +0 -3
  40. package/dist/explorer/explorer-css.js.map +0 -1
  41. package/dist/explorer/fs-face.d.ts +0 -36
  42. package/dist/explorer/fs-face.d.ts.map +0 -1
  43. package/dist/explorer/fs-face.js +0 -74
  44. package/dist/explorer/fs-face.js.map +0 -1
  45. package/dist/explorer/index.d.ts +0 -6
  46. package/dist/explorer/index.d.ts.map +0 -1
  47. package/dist/explorer/index.js +0 -6
  48. package/dist/explorer/index.js.map +0 -1
  49. package/dist/explorer/landing.d.ts +0 -26
  50. package/dist/explorer/landing.d.ts.map +0 -1
  51. package/dist/explorer/landing.js +0 -43
  52. package/dist/explorer/landing.js.map +0 -1
  53. package/dist/explorer/open.d.ts +0 -137
  54. package/dist/explorer/open.d.ts.map +0 -1
  55. package/dist/explorer/open.js +0 -350
  56. package/dist/explorer/open.js.map +0 -1
  57. package/dist/explorer/picker-placement.d.ts +0 -69
  58. package/dist/explorer/picker-placement.d.ts.map +0 -1
  59. package/dist/explorer/picker-placement.js +0 -122
  60. package/dist/explorer/picker-placement.js.map +0 -1
  61. package/dist/explorer/preview/BytesPreview.d.ts +0 -12
  62. package/dist/explorer/preview/BytesPreview.d.ts.map +0 -1
  63. package/dist/explorer/preview/BytesPreview.js +0 -60
  64. package/dist/explorer/preview/BytesPreview.js.map +0 -1
  65. package/dist/explorer/preview/HtmlPreview.d.ts +0 -17
  66. package/dist/explorer/preview/HtmlPreview.d.ts.map +0 -1
  67. package/dist/explorer/preview/HtmlPreview.js +0 -113
  68. package/dist/explorer/preview/HtmlPreview.js.map +0 -1
  69. package/dist/explorer/preview/OfficePreview.d.ts +0 -12
  70. package/dist/explorer/preview/OfficePreview.d.ts.map +0 -1
  71. package/dist/explorer/preview/OfficePreview.js +0 -63
  72. package/dist/explorer/preview/OfficePreview.js.map +0 -1
  73. package/dist/explorer/preview/TextPreview.d.ts +0 -18
  74. package/dist/explorer/preview/TextPreview.d.ts.map +0 -1
  75. package/dist/explorer/preview/TextPreview.js +0 -122
  76. package/dist/explorer/preview/TextPreview.js.map +0 -1
  77. package/dist/explorer/preview/index.d.ts +0 -24
  78. package/dist/explorer/preview/index.d.ts.map +0 -1
  79. package/dist/explorer/preview/index.js +0 -58
  80. package/dist/explorer/preview/index.js.map +0 -1
  81. package/dist/explorer/preview/md-labels.d.ts +0 -3
  82. package/dist/explorer/preview/md-labels.d.ts.map +0 -1
  83. package/dist/explorer/preview/md-labels.js +0 -12
  84. package/dist/explorer/preview/md-labels.js.map +0 -1
  85. package/dist/explorer/preview-title-bar.d.ts +0 -26
  86. package/dist/explorer/preview-title-bar.d.ts.map +0 -1
  87. package/dist/explorer/preview-title-bar.js +0 -48
  88. package/dist/explorer/preview-title-bar.js.map +0 -1
  89. package/dist/explorer/types.d.ts +0 -259
  90. package/dist/explorer/types.d.ts.map +0 -1
  91. package/dist/explorer/types.js +0 -379
  92. package/dist/explorer/types.js.map +0 -1
  93. package/dist/session/SessionViewModal.d.ts +0 -37
  94. package/dist/session/SessionViewModal.d.ts.map +0 -1
  95. package/dist/session/SessionViewModal.js +0 -1133
  96. package/dist/session/SessionViewModal.js.map +0 -1
  97. package/dist/session/changes.d.ts +0 -73
  98. package/dist/session/changes.d.ts.map +0 -1
  99. package/dist/session/changes.js +0 -134
  100. package/dist/session/changes.js.map +0 -1
  101. package/dist/session/faces.d.ts +0 -244
  102. package/dist/session/faces.d.ts.map +0 -1
  103. package/dist/session/faces.js +0 -17
  104. package/dist/session/faces.js.map +0 -1
  105. package/dist/session/index.d.ts +0 -7
  106. package/dist/session/index.d.ts.map +0 -1
  107. package/dist/session/index.js +0 -27
  108. package/dist/session/index.js.map +0 -1
  109. package/dist/session/mirror/AskCard.d.ts +0 -35
  110. package/dist/session/mirror/AskCard.d.ts.map +0 -1
  111. package/dist/session/mirror/AskCard.js +0 -131
  112. package/dist/session/mirror/AskCard.js.map +0 -1
  113. package/dist/session/mirror/BashRow.d.ts +0 -14
  114. package/dist/session/mirror/BashRow.d.ts.map +0 -1
  115. package/dist/session/mirror/BashRow.js +0 -143
  116. package/dist/session/mirror/BashRow.js.map +0 -1
  117. package/dist/session/mirror/ChangedFileDiff.d.ts +0 -25
  118. package/dist/session/mirror/ChangedFileDiff.d.ts.map +0 -1
  119. package/dist/session/mirror/ChangedFileDiff.js +0 -178
  120. package/dist/session/mirror/ChangedFileDiff.js.map +0 -1
  121. package/dist/session/mirror/ChangedFilesCard.d.ts +0 -18
  122. package/dist/session/mirror/ChangedFilesCard.d.ts.map +0 -1
  123. package/dist/session/mirror/ChangedFilesCard.js +0 -165
  124. package/dist/session/mirror/ChangedFilesCard.js.map +0 -1
  125. package/dist/session/mirror/ChatGroupSeat.d.ts +0 -24
  126. package/dist/session/mirror/ChatGroupSeat.d.ts.map +0 -1
  127. package/dist/session/mirror/ChatGroupSeat.js +0 -135
  128. package/dist/session/mirror/ChatGroupSeat.js.map +0 -1
  129. package/dist/session/mirror/ChatNodeSeat.d.ts +0 -43
  130. package/dist/session/mirror/ChatNodeSeat.d.ts.map +0 -1
  131. package/dist/session/mirror/ChatNodeSeat.js +0 -133
  132. package/dist/session/mirror/ChatNodeSeat.js.map +0 -1
  133. package/dist/session/mirror/ChatView.d.ts +0 -47
  134. package/dist/session/mirror/ChatView.d.ts.map +0 -1
  135. package/dist/session/mirror/ChatView.js +0 -138
  136. package/dist/session/mirror/ChatView.js.map +0 -1
  137. package/dist/session/mirror/CommandCard.d.ts +0 -20
  138. package/dist/session/mirror/CommandCard.d.ts.map +0 -1
  139. package/dist/session/mirror/CommandCard.js +0 -69
  140. package/dist/session/mirror/CommandCard.js.map +0 -1
  141. package/dist/session/mirror/ContextInjectionRow.d.ts +0 -18
  142. package/dist/session/mirror/ContextInjectionRow.d.ts.map +0 -1
  143. package/dist/session/mirror/ContextInjectionRow.js +0 -50
  144. package/dist/session/mirror/ContextInjectionRow.js.map +0 -1
  145. package/dist/session/mirror/Deliverables.d.ts +0 -24
  146. package/dist/session/mirror/Deliverables.d.ts.map +0 -1
  147. package/dist/session/mirror/Deliverables.js +0 -175
  148. package/dist/session/mirror/Deliverables.js.map +0 -1
  149. package/dist/session/mirror/GenericCommandCard.d.ts +0 -136
  150. package/dist/session/mirror/GenericCommandCard.d.ts.map +0 -1
  151. package/dist/session/mirror/GenericCommandCard.js +0 -948
  152. package/dist/session/mirror/GenericCommandCard.js.map +0 -1
  153. package/dist/session/mirror/MessageIconActions.d.ts +0 -16
  154. package/dist/session/mirror/MessageIconActions.d.ts.map +0 -1
  155. package/dist/session/mirror/MessageIconActions.js +0 -69
  156. package/dist/session/mirror/MessageIconActions.js.map +0 -1
  157. package/dist/session/mirror/MessageItem.d.ts +0 -93
  158. package/dist/session/mirror/MessageItem.d.ts.map +0 -1
  159. package/dist/session/mirror/MessageItem.js +0 -194
  160. package/dist/session/mirror/MessageItem.js.map +0 -1
  161. package/dist/session/mirror/ReasoningRow.d.ts +0 -11
  162. package/dist/session/mirror/ReasoningRow.d.ts.map +0 -1
  163. package/dist/session/mirror/ReasoningRow.js +0 -111
  164. package/dist/session/mirror/ReasoningRow.js.map +0 -1
  165. package/dist/session/mirror/RunningStatus.d.ts +0 -12
  166. package/dist/session/mirror/RunningStatus.d.ts.map +0 -1
  167. package/dist/session/mirror/RunningStatus.js +0 -57
  168. package/dist/session/mirror/RunningStatus.js.map +0 -1
  169. package/dist/session/mirror/StatDialog.d.ts +0 -20
  170. package/dist/session/mirror/StatDialog.d.ts.map +0 -1
  171. package/dist/session/mirror/StatDialog.js +0 -49
  172. package/dist/session/mirror/StatDialog.js.map +0 -1
  173. package/dist/session/mirror/ToolDetails.d.ts +0 -65
  174. package/dist/session/mirror/ToolDetails.d.ts.map +0 -1
  175. package/dist/session/mirror/ToolDetails.js +0 -268
  176. package/dist/session/mirror/ToolDetails.js.map +0 -1
  177. package/dist/session/mirror/TurnProcessNodeView.d.ts +0 -10
  178. package/dist/session/mirror/TurnProcessNodeView.d.ts.map +0 -1
  179. package/dist/session/mirror/TurnProcessNodeView.js +0 -57
  180. package/dist/session/mirror/TurnProcessNodeView.js.map +0 -1
  181. package/dist/session/mirror/TurnTailNodeView.d.ts +0 -57
  182. package/dist/session/mirror/TurnTailNodeView.d.ts.map +0 -1
  183. package/dist/session/mirror/TurnTailNodeView.js +0 -106
  184. package/dist/session/mirror/TurnTailNodeView.js.map +0 -1
  185. package/dist/session/mirror/TurnTriggerNodeView.d.ts +0 -16
  186. package/dist/session/mirror/TurnTriggerNodeView.d.ts.map +0 -1
  187. package/dist/session/mirror/TurnTriggerNodeView.js +0 -103
  188. package/dist/session/mirror/TurnTriggerNodeView.js.map +0 -1
  189. package/dist/session/mirror/TurnUsagePanel.d.ts +0 -21
  190. package/dist/session/mirror/TurnUsagePanel.d.ts.map +0 -1
  191. package/dist/session/mirror/TurnUsagePanel.js +0 -41
  192. package/dist/session/mirror/TurnUsagePanel.js.map +0 -1
  193. package/dist/session/mirror/control-details.d.ts +0 -9
  194. package/dist/session/mirror/control-details.d.ts.map +0 -1
  195. package/dist/session/mirror/control-details.js +0 -549
  196. package/dist/session/mirror/control-details.js.map +0 -1
  197. package/dist/session/mirror/detail-i18n.d.ts +0 -4
  198. package/dist/session/mirror/detail-i18n.d.ts.map +0 -1
  199. package/dist/session/mirror/detail-i18n.js +0 -153
  200. package/dist/session/mirror/detail-i18n.js.map +0 -1
  201. package/dist/session/mirror/message-chrome.d.ts +0 -39
  202. package/dist/session/mirror/message-chrome.d.ts.map +0 -1
  203. package/dist/session/mirror/message-chrome.js +0 -153
  204. package/dist/session/mirror/message-chrome.js.map +0 -1
  205. package/dist/session/mirror/process-groups.d.ts +0 -56
  206. package/dist/session/mirror/process-groups.d.ts.map +0 -1
  207. package/dist/session/mirror/process-groups.js +0 -202
  208. package/dist/session/mirror/process-groups.js.map +0 -1
  209. package/dist/session/official-classes.d.ts +0 -28
  210. package/dist/session/official-classes.d.ts.map +0 -1
  211. package/dist/session/official-classes.js +0 -152
  212. package/dist/session/official-classes.js.map +0 -1
  213. package/dist/session/open-review.d.ts +0 -13
  214. package/dist/session/open-review.d.ts.map +0 -1
  215. package/dist/session/open-review.js +0 -32
  216. package/dist/session/open-review.js.map +0 -1
  217. package/dist/session/open-session-view.d.ts +0 -19
  218. package/dist/session/open-session-view.d.ts.map +0 -1
  219. package/dist/session/open-session-view.js +0 -147
  220. package/dist/session/open-session-view.js.map +0 -1
  221. package/dist/session/pending-inputs.d.ts +0 -33
  222. package/dist/session/pending-inputs.d.ts.map +0 -1
  223. package/dist/session/pending-inputs.js +0 -130
  224. package/dist/session/pending-inputs.js.map +0 -1
  225. package/dist/session/session-css.d.ts +0 -2
  226. package/dist/session/session-css.d.ts.map +0 -1
  227. package/dist/session/session-css.generated.d.ts +0 -2
  228. package/dist/session/session-css.generated.d.ts.map +0 -1
  229. package/dist/session/session-css.generated.js +0 -4
  230. package/dist/session/session-css.generated.js.map +0 -1
  231. package/dist/session/session-css.js +0 -3
  232. package/dist/session/session-css.js.map +0 -1
  233. package/dist/session/tail-follow.d.ts +0 -29
  234. package/dist/session/tail-follow.d.ts.map +0 -1
  235. package/dist/session/tail-follow.js +0 -106
  236. package/dist/session/tail-follow.js.map +0 -1
  237. package/dist/session/types.d.ts +0 -28
  238. package/dist/session/types.d.ts.map +0 -1
  239. package/dist/session/types.js +0 -12
  240. package/dist/session/types.js.map +0 -1
  241. package/dist/ui/AlertModal.d.ts +0 -41
  242. package/dist/ui/AlertModal.d.ts.map +0 -1
  243. package/dist/ui/AlertModal.js +0 -45
  244. package/dist/ui/AlertModal.js.map +0 -1
  245. package/dist/ui/Button.d.ts +0 -102
  246. package/dist/ui/Button.d.ts.map +0 -1
  247. package/dist/ui/Button.js +0 -233
  248. package/dist/ui/Button.js.map +0 -1
  249. package/dist/ui/Card.d.ts +0 -65
  250. package/dist/ui/Card.d.ts.map +0 -1
  251. package/dist/ui/Card.js +0 -109
  252. package/dist/ui/Card.js.map +0 -1
  253. package/dist/ui/Checkbox.d.ts +0 -24
  254. package/dist/ui/Checkbox.d.ts.map +0 -1
  255. package/dist/ui/Checkbox.js +0 -35
  256. package/dist/ui/Checkbox.js.map +0 -1
  257. package/dist/ui/Chip.d.ts +0 -28
  258. package/dist/ui/Chip.d.ts.map +0 -1
  259. package/dist/ui/Chip.js +0 -36
  260. package/dist/ui/Chip.js.map +0 -1
  261. package/dist/ui/CodeViewer.d.ts +0 -38
  262. package/dist/ui/CodeViewer.d.ts.map +0 -1
  263. package/dist/ui/CodeViewer.js +0 -107
  264. package/dist/ui/CodeViewer.js.map +0 -1
  265. package/dist/ui/ConfirmModal.d.ts +0 -50
  266. package/dist/ui/ConfirmModal.d.ts.map +0 -1
  267. package/dist/ui/ConfirmModal.js +0 -47
  268. package/dist/ui/ConfirmModal.js.map +0 -1
  269. package/dist/ui/DateTimePicker.d.ts +0 -45
  270. package/dist/ui/DateTimePicker.d.ts.map +0 -1
  271. package/dist/ui/DateTimePicker.js +0 -462
  272. package/dist/ui/DateTimePicker.js.map +0 -1
  273. package/dist/ui/EmptyState.d.ts +0 -12
  274. package/dist/ui/EmptyState.d.ts.map +0 -1
  275. package/dist/ui/EmptyState.js +0 -10
  276. package/dist/ui/EmptyState.js.map +0 -1
  277. package/dist/ui/Field.d.ts +0 -125
  278. package/dist/ui/Field.d.ts.map +0 -1
  279. package/dist/ui/Field.js +0 -175
  280. package/dist/ui/Field.js.map +0 -1
  281. package/dist/ui/FieldHint.d.ts +0 -18
  282. package/dist/ui/FieldHint.d.ts.map +0 -1
  283. package/dist/ui/FieldHint.js +0 -40
  284. package/dist/ui/FieldHint.js.map +0 -1
  285. package/dist/ui/FlipText.d.ts +0 -43
  286. package/dist/ui/FlipText.d.ts.map +0 -1
  287. package/dist/ui/FlipText.js +0 -59
  288. package/dist/ui/FlipText.js.map +0 -1
  289. package/dist/ui/InputGroup.d.ts +0 -91
  290. package/dist/ui/InputGroup.d.ts.map +0 -1
  291. package/dist/ui/InputGroup.js +0 -125
  292. package/dist/ui/InputGroup.js.map +0 -1
  293. package/dist/ui/LiveText.d.ts +0 -13
  294. package/dist/ui/LiveText.d.ts.map +0 -1
  295. package/dist/ui/LiveText.js +0 -19
  296. package/dist/ui/LiveText.js.map +0 -1
  297. package/dist/ui/Loader.d.ts +0 -49
  298. package/dist/ui/Loader.d.ts.map +0 -1
  299. package/dist/ui/Loader.js +0 -79
  300. package/dist/ui/Loader.js.map +0 -1
  301. package/dist/ui/LoaderBar.d.ts +0 -38
  302. package/dist/ui/LoaderBar.d.ts.map +0 -1
  303. package/dist/ui/LoaderBar.js +0 -79
  304. package/dist/ui/LoaderBar.js.map +0 -1
  305. package/dist/ui/Loading.d.ts +0 -69
  306. package/dist/ui/Loading.d.ts.map +0 -1
  307. package/dist/ui/Loading.js +0 -164
  308. package/dist/ui/Loading.js.map +0 -1
  309. package/dist/ui/MarqueeText.d.ts +0 -22
  310. package/dist/ui/MarqueeText.d.ts.map +0 -1
  311. package/dist/ui/MarqueeText.js +0 -52
  312. package/dist/ui/MarqueeText.js.map +0 -1
  313. package/dist/ui/Modal.d.ts +0 -73
  314. package/dist/ui/Modal.d.ts.map +0 -1
  315. package/dist/ui/Modal.js +0 -83
  316. package/dist/ui/Modal.js.map +0 -1
  317. package/dist/ui/ModelPicker.d.ts +0 -48
  318. package/dist/ui/ModelPicker.d.ts.map +0 -1
  319. package/dist/ui/ModelPicker.js +0 -101
  320. package/dist/ui/ModelPicker.js.map +0 -1
  321. package/dist/ui/Pagination.d.ts +0 -59
  322. package/dist/ui/Pagination.d.ts.map +0 -1
  323. package/dist/ui/Pagination.js +0 -112
  324. package/dist/ui/Pagination.js.map +0 -1
  325. package/dist/ui/PanelDock.d.ts +0 -132
  326. package/dist/ui/PanelDock.d.ts.map +0 -1
  327. package/dist/ui/PanelDock.js +0 -390
  328. package/dist/ui/PanelDock.js.map +0 -1
  329. package/dist/ui/Picker.d.ts +0 -56
  330. package/dist/ui/Picker.d.ts.map +0 -1
  331. package/dist/ui/Picker.js +0 -244
  332. package/dist/ui/Picker.js.map +0 -1
  333. package/dist/ui/QuickToolbar.d.ts +0 -54
  334. package/dist/ui/QuickToolbar.d.ts.map +0 -1
  335. package/dist/ui/QuickToolbar.js +0 -254
  336. package/dist/ui/QuickToolbar.js.map +0 -1
  337. package/dist/ui/SectionHead.d.ts +0 -35
  338. package/dist/ui/SectionHead.d.ts.map +0 -1
  339. package/dist/ui/SectionHead.js +0 -45
  340. package/dist/ui/SectionHead.js.map +0 -1
  341. package/dist/ui/Segmented.d.ts +0 -99
  342. package/dist/ui/Segmented.d.ts.map +0 -1
  343. package/dist/ui/Segmented.js +0 -135
  344. package/dist/ui/Segmented.js.map +0 -1
  345. package/dist/ui/SideSheet.d.ts +0 -70
  346. package/dist/ui/SideSheet.d.ts.map +0 -1
  347. package/dist/ui/SideSheet.js +0 -130
  348. package/dist/ui/SideSheet.js.map +0 -1
  349. package/dist/ui/SplitGroup.d.ts +0 -37
  350. package/dist/ui/SplitGroup.d.ts.map +0 -1
  351. package/dist/ui/SplitGroup.js +0 -36
  352. package/dist/ui/SplitGroup.js.map +0 -1
  353. package/dist/ui/Surface.d.ts +0 -43
  354. package/dist/ui/Surface.d.ts.map +0 -1
  355. package/dist/ui/Surface.js +0 -39
  356. package/dist/ui/Surface.js.map +0 -1
  357. package/dist/ui/Table.d.ts +0 -30
  358. package/dist/ui/Table.d.ts.map +0 -1
  359. package/dist/ui/Table.js +0 -96
  360. package/dist/ui/Table.js.map +0 -1
  361. package/dist/ui/Textarea.d.ts +0 -36
  362. package/dist/ui/Textarea.d.ts.map +0 -1
  363. package/dist/ui/Textarea.js +0 -35
  364. package/dist/ui/Textarea.js.map +0 -1
  365. package/dist/ui/Toast.d.ts +0 -45
  366. package/dist/ui/Toast.d.ts.map +0 -1
  367. package/dist/ui/Toast.js +0 -225
  368. package/dist/ui/Toast.js.map +0 -1
  369. package/dist/ui/WorkspacePicker.d.ts +0 -35
  370. package/dist/ui/WorkspacePicker.d.ts.map +0 -1
  371. package/dist/ui/WorkspacePicker.js +0 -39
  372. package/dist/ui/WorkspacePicker.js.map +0 -1
  373. package/dist/ui/card-css.d.ts +0 -2
  374. package/dist/ui/card-css.d.ts.map +0 -1
  375. package/dist/ui/card-css.generated.d.ts +0 -2
  376. package/dist/ui/card-css.generated.d.ts.map +0 -1
  377. package/dist/ui/card-css.generated.js +0 -4
  378. package/dist/ui/card-css.generated.js.map +0 -1
  379. package/dist/ui/card-css.js +0 -5
  380. package/dist/ui/card-css.js.map +0 -1
  381. package/dist/ui/chevron.d.ts +0 -22
  382. package/dist/ui/chevron.d.ts.map +0 -1
  383. package/dist/ui/chevron.js +0 -33
  384. package/dist/ui/chevron.js.map +0 -1
  385. package/dist/ui/chip-css.d.ts +0 -2
  386. package/dist/ui/chip-css.d.ts.map +0 -1
  387. package/dist/ui/chip-css.generated.d.ts +0 -2
  388. package/dist/ui/chip-css.generated.d.ts.map +0 -1
  389. package/dist/ui/chip-css.generated.js +0 -4
  390. package/dist/ui/chip-css.generated.js.map +0 -1
  391. package/dist/ui/chip-css.js +0 -12
  392. package/dist/ui/chip-css.js.map +0 -1
  393. package/dist/ui/code-viewer-css.d.ts +0 -2
  394. package/dist/ui/code-viewer-css.d.ts.map +0 -1
  395. package/dist/ui/code-viewer-css.generated.d.ts +0 -2
  396. package/dist/ui/code-viewer-css.generated.d.ts.map +0 -1
  397. package/dist/ui/code-viewer-css.generated.js +0 -4
  398. package/dist/ui/code-viewer-css.generated.js.map +0 -1
  399. package/dist/ui/code-viewer-css.js +0 -3
  400. package/dist/ui/code-viewer-css.js.map +0 -1
  401. package/dist/ui/code-viewer-lang.d.ts +0 -15
  402. package/dist/ui/code-viewer-lang.d.ts.map +0 -1
  403. package/dist/ui/code-viewer-lang.js +0 -190
  404. package/dist/ui/code-viewer-lang.js.map +0 -1
  405. package/dist/ui/code-viewer-theme.d.ts +0 -5
  406. package/dist/ui/code-viewer-theme.d.ts.map +0 -1
  407. package/dist/ui/code-viewer-theme.js +0 -138
  408. package/dist/ui/code-viewer-theme.js.map +0 -1
  409. package/dist/ui/controls/button-css.generated.d.ts +0 -2
  410. package/dist/ui/controls/button-css.generated.d.ts.map +0 -1
  411. package/dist/ui/controls/button-css.generated.js +0 -4
  412. package/dist/ui/controls/button-css.generated.js.map +0 -1
  413. package/dist/ui/controls/datetime-css.generated.d.ts +0 -2
  414. package/dist/ui/controls/datetime-css.generated.d.ts.map +0 -1
  415. package/dist/ui/controls/datetime-css.generated.js +0 -4
  416. package/dist/ui/controls/datetime-css.generated.js.map +0 -1
  417. package/dist/ui/controls/field-css.generated.d.ts +0 -2
  418. package/dist/ui/controls/field-css.generated.d.ts.map +0 -1
  419. package/dist/ui/controls/field-css.generated.js +0 -4
  420. package/dist/ui/controls/field-css.generated.js.map +0 -1
  421. package/dist/ui/controls/hint-css.generated.d.ts +0 -2
  422. package/dist/ui/controls/hint-css.generated.d.ts.map +0 -1
  423. package/dist/ui/controls/hint-css.generated.js +0 -4
  424. package/dist/ui/controls/hint-css.generated.js.map +0 -1
  425. package/dist/ui/controls/input-group-css.generated.d.ts +0 -2
  426. package/dist/ui/controls/input-group-css.generated.d.ts.map +0 -1
  427. package/dist/ui/controls/input-group-css.generated.js +0 -4
  428. package/dist/ui/controls/input-group-css.generated.js.map +0 -1
  429. package/dist/ui/controls/loader-bar-css.generated.d.ts +0 -2
  430. package/dist/ui/controls/loader-bar-css.generated.d.ts.map +0 -1
  431. package/dist/ui/controls/loader-bar-css.generated.js +0 -4
  432. package/dist/ui/controls/loader-bar-css.generated.js.map +0 -1
  433. package/dist/ui/controls/loader-css.generated.d.ts +0 -2
  434. package/dist/ui/controls/loader-css.generated.d.ts.map +0 -1
  435. package/dist/ui/controls/loader-css.generated.js +0 -4
  436. package/dist/ui/controls/loader-css.generated.js.map +0 -1
  437. package/dist/ui/controls/loading-css.generated.d.ts +0 -2
  438. package/dist/ui/controls/loading-css.generated.d.ts.map +0 -1
  439. package/dist/ui/controls/loading-css.generated.js +0 -4
  440. package/dist/ui/controls/loading-css.generated.js.map +0 -1
  441. package/dist/ui/controls/pagination-css.generated.d.ts +0 -2
  442. package/dist/ui/controls/pagination-css.generated.d.ts.map +0 -1
  443. package/dist/ui/controls/pagination-css.generated.js +0 -4
  444. package/dist/ui/controls/pagination-css.generated.js.map +0 -1
  445. package/dist/ui/controls/quick-toolbar-css.generated.d.ts +0 -2
  446. package/dist/ui/controls/quick-toolbar-css.generated.d.ts.map +0 -1
  447. package/dist/ui/controls/quick-toolbar-css.generated.js +0 -4
  448. package/dist/ui/controls/quick-toolbar-css.generated.js.map +0 -1
  449. package/dist/ui/controls/section-head-css.generated.d.ts +0 -2
  450. package/dist/ui/controls/section-head-css.generated.d.ts.map +0 -1
  451. package/dist/ui/controls/section-head-css.generated.js +0 -4
  452. package/dist/ui/controls/section-head-css.generated.js.map +0 -1
  453. package/dist/ui/controls/segmented-css.generated.d.ts +0 -2
  454. package/dist/ui/controls/segmented-css.generated.d.ts.map +0 -1
  455. package/dist/ui/controls/segmented-css.generated.js +0 -4
  456. package/dist/ui/controls/segmented-css.generated.js.map +0 -1
  457. package/dist/ui/controls/split-group-css.generated.d.ts +0 -2
  458. package/dist/ui/controls/split-group-css.generated.d.ts.map +0 -1
  459. package/dist/ui/controls/split-group-css.generated.js +0 -4
  460. package/dist/ui/controls/split-group-css.generated.js.map +0 -1
  461. package/dist/ui/controls/table-css.generated.d.ts +0 -2
  462. package/dist/ui/controls/table-css.generated.d.ts.map +0 -1
  463. package/dist/ui/controls/table-css.generated.js +0 -4
  464. package/dist/ui/controls/table-css.generated.js.map +0 -1
  465. package/dist/ui/controls/table-plain-css.generated.d.ts +0 -2
  466. package/dist/ui/controls/table-plain-css.generated.d.ts.map +0 -1
  467. package/dist/ui/controls/table-plain-css.generated.js +0 -4
  468. package/dist/ui/controls/table-plain-css.generated.js.map +0 -1
  469. package/dist/ui/controls-css.d.ts +0 -16
  470. package/dist/ui/controls-css.d.ts.map +0 -1
  471. package/dist/ui/controls-css.js +0 -26
  472. package/dist/ui/controls-css.js.map +0 -1
  473. package/dist/ui/css.d.ts +0 -35
  474. package/dist/ui/css.d.ts.map +0 -1
  475. package/dist/ui/css.js +0 -52
  476. package/dist/ui/css.js.map +0 -1
  477. package/dist/ui/datetime-logic.d.ts +0 -102
  478. package/dist/ui/datetime-logic.d.ts.map +0 -1
  479. package/dist/ui/datetime-logic.js +0 -200
  480. package/dist/ui/datetime-logic.js.map +0 -1
  481. package/dist/ui/feedback-css.d.ts +0 -2
  482. package/dist/ui/feedback-css.d.ts.map +0 -1
  483. package/dist/ui/feedback-css.generated.d.ts +0 -2
  484. package/dist/ui/feedback-css.generated.d.ts.map +0 -1
  485. package/dist/ui/feedback-css.generated.js +0 -4
  486. package/dist/ui/feedback-css.generated.js.map +0 -1
  487. package/dist/ui/feedback-css.js +0 -4
  488. package/dist/ui/feedback-css.js.map +0 -1
  489. package/dist/ui/flip-css.d.ts +0 -2
  490. package/dist/ui/flip-css.d.ts.map +0 -1
  491. package/dist/ui/flip-css.generated.d.ts +0 -2
  492. package/dist/ui/flip-css.generated.d.ts.map +0 -1
  493. package/dist/ui/flip-css.generated.js +0 -4
  494. package/dist/ui/flip-css.generated.js.map +0 -1
  495. package/dist/ui/flip-css.js +0 -4
  496. package/dist/ui/flip-css.js.map +0 -1
  497. package/dist/ui/host-data.d.ts +0 -119
  498. package/dist/ui/host-data.d.ts.map +0 -1
  499. package/dist/ui/host-data.js +0 -122
  500. package/dist/ui/host-data.js.map +0 -1
  501. package/dist/ui/host-toast.d.ts +0 -23
  502. package/dist/ui/host-toast.d.ts.map +0 -1
  503. package/dist/ui/host-toast.js +0 -34
  504. package/dist/ui/host-toast.js.map +0 -1
  505. package/dist/ui/loader-bar-art.d.ts +0 -6
  506. package/dist/ui/loader-bar-art.d.ts.map +0 -1
  507. package/dist/ui/loader-bar-art.js +0 -6
  508. package/dist/ui/loader-bar-art.js.map +0 -1
  509. package/dist/ui/loading-host.d.ts +0 -49
  510. package/dist/ui/loading-host.d.ts.map +0 -1
  511. package/dist/ui/loading-host.js +0 -57
  512. package/dist/ui/loading-host.js.map +0 -1
  513. package/dist/ui/locale.d.ts +0 -4
  514. package/dist/ui/locale.d.ts.map +0 -1
  515. package/dist/ui/locale.js +0 -17
  516. package/dist/ui/locale.js.map +0 -1
  517. package/dist/ui/marquee-css.d.ts +0 -2
  518. package/dist/ui/marquee-css.d.ts.map +0 -1
  519. package/dist/ui/marquee-css.generated.d.ts +0 -2
  520. package/dist/ui/marquee-css.generated.d.ts.map +0 -1
  521. package/dist/ui/marquee-css.generated.js +0 -4
  522. package/dist/ui/marquee-css.generated.js.map +0 -1
  523. package/dist/ui/marquee-css.js +0 -4
  524. package/dist/ui/marquee-css.js.map +0 -1
  525. package/dist/ui/modal-host.d.ts +0 -51
  526. package/dist/ui/modal-host.d.ts.map +0 -1
  527. package/dist/ui/modal-host.js +0 -170
  528. package/dist/ui/modal-host.js.map +0 -1
  529. package/dist/ui/overlay-css.d.ts +0 -2
  530. package/dist/ui/overlay-css.d.ts.map +0 -1
  531. package/dist/ui/overlay-css.generated.d.ts +0 -2
  532. package/dist/ui/overlay-css.generated.d.ts.map +0 -1
  533. package/dist/ui/overlay-css.generated.js +0 -4
  534. package/dist/ui/overlay-css.generated.js.map +0 -1
  535. package/dist/ui/overlay-css.js +0 -2
  536. package/dist/ui/overlay-css.js.map +0 -1
  537. package/dist/ui/overlay.d.ts +0 -62
  538. package/dist/ui/overlay.d.ts.map +0 -1
  539. package/dist/ui/overlay.js +0 -94
  540. package/dist/ui/overlay.js.map +0 -1
  541. package/dist/ui/pagination-logic.d.ts +0 -36
  542. package/dist/ui/pagination-logic.d.ts.map +0 -1
  543. package/dist/ui/pagination-logic.js +0 -73
  544. package/dist/ui/pagination-logic.js.map +0 -1
  545. package/dist/ui/panel-css.d.ts +0 -2
  546. package/dist/ui/panel-css.d.ts.map +0 -1
  547. package/dist/ui/panel-css.generated.d.ts +0 -2
  548. package/dist/ui/panel-css.generated.d.ts.map +0 -1
  549. package/dist/ui/panel-css.generated.js +0 -4
  550. package/dist/ui/panel-css.generated.js.map +0 -1
  551. package/dist/ui/panel-css.js +0 -2
  552. package/dist/ui/panel-css.js.map +0 -1
  553. package/dist/ui/panel-dock-css.d.ts +0 -2
  554. package/dist/ui/panel-dock-css.d.ts.map +0 -1
  555. package/dist/ui/panel-dock-css.generated.d.ts +0 -2
  556. package/dist/ui/panel-dock-css.generated.d.ts.map +0 -1
  557. package/dist/ui/panel-dock-css.generated.js +0 -4
  558. package/dist/ui/panel-dock-css.generated.js.map +0 -1
  559. package/dist/ui/panel-dock-css.js +0 -4
  560. package/dist/ui/panel-dock-css.js.map +0 -1
  561. package/dist/ui/panel-dock-logic.d.ts +0 -67
  562. package/dist/ui/panel-dock-logic.d.ts.map +0 -1
  563. package/dist/ui/panel-dock-logic.js +0 -110
  564. package/dist/ui/panel-dock-logic.js.map +0 -1
  565. package/dist/ui/panel.d.ts +0 -41
  566. package/dist/ui/panel.d.ts.map +0 -1
  567. package/dist/ui/panel.js +0 -37
  568. package/dist/ui/panel.js.map +0 -1
  569. package/dist/ui/picker-css.d.ts +0 -2
  570. package/dist/ui/picker-css.d.ts.map +0 -1
  571. package/dist/ui/picker-css.generated.d.ts +0 -2
  572. package/dist/ui/picker-css.generated.d.ts.map +0 -1
  573. package/dist/ui/picker-css.generated.js +0 -4
  574. package/dist/ui/picker-css.generated.js.map +0 -1
  575. package/dist/ui/picker-css.js +0 -4
  576. package/dist/ui/picker-css.js.map +0 -1
  577. package/dist/ui/picker-icons.d.ts +0 -12
  578. package/dist/ui/picker-icons.d.ts.map +0 -1
  579. package/dist/ui/picker-icons.js +0 -29
  580. package/dist/ui/picker-icons.js.map +0 -1
  581. package/dist/ui/picker-logic.d.ts +0 -33
  582. package/dist/ui/picker-logic.d.ts.map +0 -1
  583. package/dist/ui/picker-logic.js +0 -68
  584. package/dist/ui/picker-logic.js.map +0 -1
  585. package/dist/ui/quick-toolbar-logic.d.ts +0 -76
  586. package/dist/ui/quick-toolbar-logic.d.ts.map +0 -1
  587. package/dist/ui/quick-toolbar-logic.js +0 -40
  588. package/dist/ui/quick-toolbar-logic.js.map +0 -1
  589. package/dist/ui/resizer.d.ts +0 -29
  590. package/dist/ui/resizer.d.ts.map +0 -1
  591. package/dist/ui/resizer.js +0 -42
  592. package/dist/ui/resizer.js.map +0 -1
  593. package/dist/ui/side-panel-css.d.ts +0 -2
  594. package/dist/ui/side-panel-css.d.ts.map +0 -1
  595. package/dist/ui/side-panel-css.generated.d.ts +0 -2
  596. package/dist/ui/side-panel-css.generated.d.ts.map +0 -1
  597. package/dist/ui/side-panel-css.generated.js +0 -4
  598. package/dist/ui/side-panel-css.generated.js.map +0 -1
  599. package/dist/ui/side-panel-css.js +0 -2
  600. package/dist/ui/side-panel-css.js.map +0 -1
  601. package/dist/ui/side-sheet-css.d.ts +0 -2
  602. package/dist/ui/side-sheet-css.d.ts.map +0 -1
  603. package/dist/ui/side-sheet-css.generated.d.ts +0 -2
  604. package/dist/ui/side-sheet-css.generated.d.ts.map +0 -1
  605. package/dist/ui/side-sheet-css.generated.js +0 -4
  606. package/dist/ui/side-sheet-css.generated.js.map +0 -1
  607. package/dist/ui/side-sheet-css.js +0 -2
  608. package/dist/ui/side-sheet-css.js.map +0 -1
  609. package/dist/ui/surface-css.d.ts +0 -2
  610. package/dist/ui/surface-css.d.ts.map +0 -1
  611. package/dist/ui/surface-css.generated.d.ts +0 -2
  612. package/dist/ui/surface-css.generated.d.ts.map +0 -1
  613. package/dist/ui/surface-css.generated.js +0 -4
  614. package/dist/ui/surface-css.generated.js.map +0 -1
  615. package/dist/ui/surface-css.js +0 -7
  616. package/dist/ui/surface-css.js.map +0 -1
  617. package/dist/ui/table-logic.d.ts +0 -110
  618. package/dist/ui/table-logic.d.ts.map +0 -1
  619. package/dist/ui/table-logic.js +0 -81
  620. package/dist/ui/table-logic.js.map +0 -1
  621. package/dist/ui/table-shared.d.ts +0 -101
  622. package/dist/ui/table-shared.d.ts.map +0 -1
  623. package/dist/ui/table-shared.js +0 -229
  624. package/dist/ui/table-shared.js.map +0 -1
  625. package/dist/ui/thenable.d.ts +0 -9
  626. package/dist/ui/thenable.d.ts.map +0 -1
  627. package/dist/ui/thenable.js +0 -15
  628. package/dist/ui/thenable.js.map +0 -1
  629. package/dist/ui/ticker.d.ts +0 -8
  630. package/dist/ui/ticker.d.ts.map +0 -1
  631. package/dist/ui/ticker.js +0 -49
  632. package/dist/ui/ticker.js.map +0 -1
  633. package/dist/ui/toast-host.d.ts +0 -24
  634. package/dist/ui/toast-host.d.ts.map +0 -1
  635. package/dist/ui/toast-host.js +0 -20
  636. package/dist/ui/toast-host.js.map +0 -1
  637. package/dist/ui/tooltip.d.ts +0 -29
  638. package/dist/ui/tooltip.d.ts.map +0 -1
  639. package/dist/ui/tooltip.js +0 -10
  640. package/dist/ui/tooltip.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"section-head-css.generated.d.ts","sourceRoot":"","sources":["../../../src/ui/controls/section-head-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,25BAAoxB,CAAA"}
@@ -1,4 +0,0 @@
1
- // ⚠️ 生成物,勿手改。真源 = src/ui/controls/section-head.css
2
- // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
- export const SECTION_HEAD_CSS = "/* 分区标题行:标签(可选,画出来的短竖线)/ icon + 标题 + 右侧控件。 */\n.dshpc-section-head{display:flex;align-items:center;gap:var(--dshpc-space-2);\n margin-bottom:var(--dshpc-space-3);}\n.dshpc-section-head--flush{margin-bottom:0;}\n\n.dshpc-section-head__bar{flex:none;width:4px;height:1em;border-radius:999px;\n font-size:var(--dshpc-font-lg);background:var(--dshpc-fg-2);}\n\n.dshpc-section-head__icon{display:inline-flex;align-items:center;flex:none;\n line-height:var(--dshpc-line-lg);color:var(--dshpc-fg-3);}\n\n.dshpc-section-head__title{font-size:var(--dshpc-font-lg);line-height:var(--dshpc-line-lg);\n font-weight:600;color:var(--dshpc-fg);flex:none;}\n\n.dshpc-section-head__right{flex:1;display:flex;align-items:center;\n justify-content:flex-end;gap:var(--dshpc-space-2);min-width:0;}\n";
4
- //# sourceMappingURL=section-head-css.generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"section-head-css.generated.js","sourceRoot":"","sources":["../../../src/ui/controls/section-head-css.generated.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,ixBAAixB,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const SEGMENTED_CSS = "\n/* \u2500\u2500 \u5206\u6BB5\u63A7\u4EF6 P2 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u7ED3\u6784\u7167\u5144\u5F1F\u9879\u76EE dsh-task-dispatch-table \u7684 Segmented \u76AE\u80A4\uFF08item \u65E0\u8FB9\u6846\u3001hover \u53EA\u63D0\u4EAE\u6587\u5B57\uFF09\uFF0C\n \u524D\u7F00 / \u53D8\u91CF\u540D\u6362\u6210\u672C\u4ED3\u53E3\u5F84\u3002\u7528\u6237\u989D\u5916\u8981\u7684\u4E24\u5904\uFF08\u5144\u5F1F\u6CA1\u6709\uFF09\uFF1Aweekday \u65B9\u5757\u95F4\u9694\uFF08\u73B0\u4E3A 2px\uFF09\uFF1B\u6BB5\u5185\u4E2D\u6027\u8BA1\u6570 __count\u3002\n \u26A0\uFE0F 2026-10-19 \u4E24\u6B21\u8BEF\u5224\u5747\u5DF2\u6F84\u6E05\uFF1A\u2460 \u300C\u5BBF\u4E3B\u53EA\u8BA4\u5355\u884C CSS\u300D\u2014\u2014\u5047\uFF0C\u591A\u884C\u4E00\u76F4\u6B63\u5E38\uFF1B\n \u2461 \u300C\u5BBF\u4E3B\u5403\u6389 token \u5757\u4E4B\u540E\u7B2C\u4E00\u6761\u89C4\u5219\u300D\u2014\u2014\u4E5F\u5047\uFF0C\u771F\u56E0\u662F tokens \u6A21\u677F\u5B57\u7B26\u4E32\u7ED3\u5C3E\u591A\u4E86\u4E00\u4E2A\u53CD\u659C\u6760\uFF0C\n \u6CE8\u5165\u6587\u672C\u91CC\u7559\u4E0B\u5B57\u9762\u53CD\u5F15\u53F7\uFF0C\u628A\u7D27\u968F\u5176\u540E\u7684\u90A3\u6761\u89C4\u5219\u7684\u9009\u62E9\u5668\u6C61\u67D3\u6389\u4E86\uFF08\u89C1 dsh-host.md \u00A79\uFF09\u3002\n \u6837\u5F0F\u7167\u5E38\u591A\u884C\u4E66\u5199\uFF0C\u4E0D\u5FC5\u538B\u884C\uFF1B\u4E5F\u4E0D\u9700\u8981\u4EFB\u4F55\u300C\u727A\u7272\u89C4\u5219\u300D\u3002 */\n/* \u5916\u89C2\u53EA\u6709\u4E00\u5957\uFF082026-10-26\uFF09\uFF1A\u539F variant \u7684 default / inset \u4E24\u6863\u5728 CSS \u91CC\u53EA\u5DEE 1px \u5185\u8DDD\uFF0C\n \u4E14 default \u6BD4\u6587\u6863\u627F\u8BFA\u77EE 2px\uFF0C\u5374\u8BA9\u4E0B\u6E38\u4EE5\u4E3A\u300C\u6709\u5F97\u9009\u300D\u800C\u53CD\u590D\u5BF9\u56FE \u21D2 \u6574\u8F74\u5220\u9664\u3002\n padding 3px \u662F\u5C3A\u5BF8\u5951\u7EA6\u7684\u4E00\u90E8\u5206\uFF1Aitem \u9AD8\u5EA6 = \u63A7\u5236\u9AD8 \u2212 6px\uFF0C\u52A0\u8D77\u6765\u6B63\u597D 24 / 28 / 32\u3002 */\n/* \u9009\u4E2D\u7247\u914D\u8272\u6536\u5728\u4E24\u6761\u5C40\u90E8\u53D8\u91CF\u91CC\uFF08--seg-thumb \u5E95 / --seg-on \u5B57\uFF09\uFF1A\u9ED8\u8BA4\u8D70\u4E3B\u9898\u4EAE\u7247\uFF0C\n tone \u6863\u4E0E\u81EA\u5B9A\u4E49 {bg, fg} \u90FD\u53EA\u6539\u8FD9\u4E24\u6761\uFF08\u540E\u8005\u7531\u7EC4\u4EF6\u5185\u8054\u5199\u6839\u8282\u70B9\uFF0C\u5185\u8054\u6052\u80DC\uFF09\u3002 */\n.dshpc-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--dshpc-radius-md);--seg-thumb:var(--dshpc-surface-raised);--seg-on:var(--dshpc-fg);background:var(--dshpc-seg-track);}\n.dshpc-seg__item{appearance:none;display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;height:calc(var(--dshpc-control-h-sm) - 6px);padding:0 12px;border:0;border-radius:var(--dshpc-radius-sm);background:transparent;color:var(--dshpc-fg-2);font-family:inherit;font-size:var(--dshpc-font-xs);font-weight:500;white-space:nowrap;cursor:pointer;flex:none;transition:color var(--dshpc-dur-fast) var(--dshpc-ease),background-color var(--dshpc-dur-fast) var(--dshpc-ease),box-shadow var(--dshpc-dur-fast) var(--dshpc-ease);}\n.dshpc-seg--md .dshpc-seg__item{height:calc(var(--dshpc-control-h-md) - 6px);}\n.dshpc-seg--lg .dshpc-seg__item{height:calc(var(--dshpc-control-h-lg) - 6px);}\n/* \u6BB5\u5185\u56FE\u6807\uFF08\u524D\u7F6E\uFF09\uFF1A\u4E0E Button \u540C\u53E3\u5F84 \u2014\u2014 inline-flex \u5403\u6389\u884C\u9AD8\u57FA\u7EBF\uFF0Csvg \u6309\u5757\u7EA7\u3002 */\n.dshpc-seg__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;}\n.dshpc-seg__icon svg{display:block;margin:0;}\n/* \u53EA\u6709\u56FE\u6807\uFF08\u65E0\u6587\u5B57 / \u8BA1\u6570 / \u89D2\u6807\uFF09\uFF1A\u6BB5\u5FC5\u987B\u662F\u6B63\u65B9\u5F62 \u21D2 \u5BBD = \u6BB5\u9AD8\u3001\u5DE6\u53F3\u5185\u8DDD\u5F52\u96F6\u3001\u5185\u5BB9\u5C45\u4E2D\uFF1B\n \u5426\u5219\u57FA\u7840\u89C4\u5219\u7684 0 12px \u4F1A\u628A\u5B83\u62C9\u6210\u957F\u65B9\u5F62\u3002\u653E\u5728\u4E09\u6863\u4E4B\u540E\uFF1A\u540C\u540D\u7279\u5F02\u6027\u4E0B\u540E\u5199\u8005\u80DC\u3002 */\n.dshpc-seg__item--icon-only{width:calc(var(--dshpc-control-h-sm) - 6px);padding:0;justify-content:center;}\n.dshpc-seg--md .dshpc-seg__item--icon-only{width:calc(var(--dshpc-control-h-md) - 6px);}\n.dshpc-seg--lg .dshpc-seg__item--icon-only{width:calc(var(--dshpc-control-h-lg) - 6px);}\n.dshpc-seg__item:hover:not([aria-pressed='true']):not(:disabled){color:var(--dshpc-fg);}\n.dshpc-seg__item[aria-pressed='true']{background:var(--seg-thumb);box-shadow:var(--dshpc-shadow-raised);color:var(--seg-on);font-weight:600;}\n.dshpc-seg__item:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:-2px;}\n.dshpc-seg__item:disabled{cursor:default;opacity:.4;}\n/* \u6BB5\u5185\u89D2\u6807\uFF08\u5982\u300C\u5F02\u5E38\u300D\u7684\u6570\u91CF\uFF09\uFF1A\u8BED\u4E49\u8272\u5B9E\u9762 + \u53CD\u767D\u5B57\uFF0C0 \u7531\u7EC4\u4EF6\u4FA7\u4E0D\u6E32\u67D3\u3002\u5FC5\u987B\u662F\u6B63\u5706\uFF08\u7528\u6237 2026-10-03\uFF09\u3002 */\n.dshpc-seg__badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;padding:0;overflow:hidden;border-radius:50%;background:var(--dshpc-danger);color:var(--dshpc-on-signal);font-size:10px;line-height:16px;font-weight:500;font-variant-numeric:tabular-nums;}\n/* \u6BB5\u5185\u4E2D\u6027\u8BA1\u6570\uFF08\u5982\u7B5B\u9009\u6761\u300C\u5168\u90E8 11\u300D\uFF09\uFF1A\u7EAF\u6587\u5B57\u3001\u65E0\u5E95\u65E0\u8FB9\uFF08\u5BF9\u9F50 task-ledger .dtl-seg__num \u62CD\u677F\u53E3\u5F84\uFF09\uFF1B0 \u7531\u7EC4\u4EF6\u4FA7\u4E0D\u6E32\u67D3\u3002 */\n.dshpc-seg__count{display:inline;flex:none;margin-left:3px;padding:0;border:0;border-radius:0;background:none;color:var(--dshpc-fg-3);font-size:10px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums;}\n/* \u9009\u4E2D\u6BB5\uFF08\u5F69\u8272\u5B9E\u9762\uFF09\u91CC\u7684\u8BA1\u6570\uFF1A\u5FC5\u987B\u8DDF\u7740 --seg-on \u8D70\u518D\u538B\u6697\u4E00\u6863\uFF0872% \u767D \u2248 \u300C\u6BD4\u6B63\u6587\u7A0D\u7070\u300D\uFF09\u3002\n \u4E0D\u8BB8\u7528 --dshpc-fg-3\uFF1A\u5B83\u8DDF\u4E3B\u9898\u8D70\uFF0C\u6697\u8272\u4E0B\u662F\u6DF1\u7070 \u21D2 \u84DD\u5E95\u4E0A\u51E0\u4E4E\u770B\u4E0D\u89C1\uFF082026-10-29 \u7528\u6237\u622A\u56FE\u300CMy todos 4\u300D\uFF09\u3002 */\n.dshpc-seg__item[aria-pressed='true'] .dshpc-seg__count{color:color-mix(in srgb,var(--seg-on) 72%,transparent);}\n/* block\uFF1A\u6491\u6EE1\u7236\u5BBD\uFF08\u8868\u5355\u884C\u7528\uFF09\uFF0C\u5404\u6BB5\u7B49\u5206 */\n.dshpc-seg--block{display:flex;width:100%;}\n.dshpc-seg--block .dshpc-seg__item{flex:1 1 auto;justify-content:center;}\n/* weekday\uFF1A\u661F\u671F\u591A\u9009\u65B9\u5757\u3002\u57FA\u7840\u63D2\u4EF6\u7684\u7279\u6B8A\u5316\u5B9A\u5236\uFF08\u7528\u6237 2026-10-01\uFF1A\u539F WeekdayPicker \u5373\u300C\u84DD\u5E95 + \u8FD1\u4F3C\u65B9\u5F62\u300D\uFF09\uFF1A\n \u6BCF\u683C\u6B63\u65B9\u5F62\uFF08\u5BBD = \u6BB5\u9AD8\uFF09\u3001\u9009\u4E2D\u54C1\u724C\u84DD\u53CD\u767D\u5B57\u3001**\u65E0\u5916\u63CF\u8FB9**\uFF082026-10-18 \u91CD\u7533\uFF09\u3001\n \u65B9\u5757\u4E4B\u95F4\u95F4\u8DDD gap:2px\uFF082026-10-20 \u7528\u6237\u5B9A\u7A3F\uFF1A\u65B9\u5757\u6539\u5C0F\u540E 6px \u663E\u5F97\u592A\u5BBD\u300210-18 \u66FE\u4ECE 2px \u653E\u5BBD\u5230 6px\uFF0C\n \u4E24\u6B21\u90FD\u662F\u7528\u6237\u62CD\u677F \u2014\u2014 \u522B\u81EA\u4F5C\u4E3B\u5F20\u6539\u56DE\u53BB\uFF09\u3002 */\n.dshpc-seg--weekday{--seg-track:var(--dshpc-seg-track);gap:2px;border:0;padding:3px;background:var(--seg-track);}\n.dshpc-seg--weekday .dshpc-seg__item{width:calc(var(--dshpc-control-h-lg) - 8px);padding:0;justify-content:center;}\n/* \u84DD\u5E95\u53CD\u767D\uFF1A\u5B57\u8272\u5FC5\u987B\u662F\u5E38\u91CF\u767D\uFF08--dshpc-on-signal\uFF09\u30022026-10-29 \u7528\u6237\u5B9E\u6D4B\uFF1A\u6697\u8272\u4E3B\u9898\u4E0B\u8FD9\u91CC\u66FE\u7528\n --dshpc-fg-inverse\uFF0C\u800C\u5B83\u8DDF\u968F\u5BBF\u4E3B label-primary-foreground\uFF0C\u6697\u8272\u4E0B\u662F\u8FD1\u9ED1 \u21D2 \u84DD\u5E95\u9ED1\u5B57\u770B\u4E0D\u6E05\u3002 */\n.dshpc-seg--weekday{--seg-thumb:var(--dshpc-business);--seg-on:var(--dshpc-on-signal);}\n\n/* \u2500\u2500 tone\uFF082026-10-29 \u7528\u6237\uFF09\uFF1A\u9009\u4E2D\u7247\u4F20\u5185\u7F6E\u57FA\u7840\u8272\u540D\uFF0C\u5E95 / \u5B57\u7531\u6838\u5FC3\u7ED9\uFF0C\u6DF1\u6D45\u4E24\u4E3B\u9898\u5404\u81EA\u6210\u7ACB\u3002\n \u653E\u5728 weekday \u4E4B\u540E\uFF1A\u540C\u540D\u53D8\u91CF\u540E\u5199\u8005\u80DC\uFF0Ctone \u4E0E className=\"dshpc-seg--weekday\" \u540C\u7ED9\u65F6\u4EE5 tone \u4E3A\u51C6\u3002\n \u9EC4\u5E95\u6309 Chip / Button \u540C\u6E90\u53E3\u5F84\u7528 on-warning\uFF08\u4E2D\u9AD8\u660E\u5EA6\uFF0C\u767D\u5B57\u770B\u4E0D\u6E05\uFF09\u3002 */\n.dshpc-seg--tone-business{--seg-thumb:var(--dshpc-business);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-success{--seg-thumb:var(--dshpc-success);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-warning{--seg-thumb:var(--dshpc-warning);--seg-on:var(--dshpc-on-warning);}\n.dshpc-seg--tone-danger{--seg-thumb:var(--dshpc-danger);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-purple{--seg-thumb:var(--dshpc-purple);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-pink{--seg-thumb:var(--dshpc-pink);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-cyan{--seg-thumb:var(--dshpc-cyan);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-teal{--seg-thumb:var(--dshpc-teal);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-orange{--seg-thumb:var(--dshpc-orange);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-indigo{--seg-thumb:var(--dshpc-indigo);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-rose{--seg-thumb:var(--dshpc-rose);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-slate{--seg-thumb:var(--dshpc-slate);--seg-on:var(--dshpc-on-signal);}\n\n/* \u2500\u2500 \u5355\u9009\u6ED1\u52A8\u5757\uFF082026-10-26 \u7528\u6237\uFF1A\u70B9\u9009\u540E\u9009\u4E2D\u5E95\u5E94\u300C\u6ED1\u8FC7\u53BB\u300D\uFF0C\u4E0D\u662F\u65E7\u6BB5\u6D88\u5931\u3001\u65B0\u6BB5\u76F4\u63A5\u4EAE\uFF09\u3002\n \u7ED3\u6784 = \u4E00\u5757\u7EDD\u5BF9\u5B9A\u4F4D\u7684\u5171\u7528\u5E95 + \u5404\u6BB5\u900F\u660E\uFF1B\u4F4D\u7F6E/\u5C3A\u5BF8\u7531\u7EC4\u4EF6\u91CF\u51FA\u540E\u5185\u8054\uFF0C\u8FD9\u91CC\u53EA\u7BA1\u5916\u89C2\u4E0E\u8FC7\u6E21\u3002\n --slide \u53EA\u5728\u5355\u9009\u6302\u4E0A\uFF1A\u591A\u9009\uFF08\u5982\u661F\u671F\uFF09\u6BCF\u6BB5\u5404\u81EA\u7740\u8272\uFF0C\u6CA1\u6709\u552F\u4E00\u6ED1\u5757\u53EF\u6ED1\uFF0C\u4FDD\u6301\u539F\u6837\u3002 */\n.dshpc-seg--slide{position:relative;}\n.dshpc-seg--slide .dshpc-seg__item{position:relative;z-index:1;}\n.dshpc-seg--slide .dshpc-seg__item[aria-pressed='true']{background:transparent;box-shadow:none;}\n.dshpc-seg__thumb{position:absolute;z-index:0;border-radius:var(--dshpc-radius-sm);background:var(--seg-thumb);box-shadow:var(--dshpc-shadow-raised);pointer-events:none;transition:left var(--dshpc-dur) var(--dshpc-ease),top var(--dshpc-dur) var(--dshpc-ease),width var(--dshpc-dur) var(--dshpc-ease),height var(--dshpc-dur) var(--dshpc-ease);}\n\n/* \u2500\u2500 bordered \u5916\u6846\uFF082026-10-20 \u7528\u6237\u8981\u7684\u7B2C\u4E8C\u79CD\u6A21\u5F0F\uFF09\uFF1A**\u53EA\u5728\u6700\u5916\u9762\u5957\u4E00\u5708 1px \u63CF\u8FB9**\uFF0C\n \u91CC\u9762\u4E00\u6982\u4E0D\u52A8 \u2014\u2014 \u9009\u4E2D\u7247\u7684\u586B\u5145\u8272 / \u9634\u5F71 / \u6587\u5B57\u8272\u5168\u90E8\u4FDD\u6301\u539F\u6837\uFF08weekday \u7684\u84DD\u9762\u7167\u65E7\uFF09\uFF0C\n \u8FD9\u91CC\u4E0D\u5199\u4EFB\u4F55\u9488\u5BF9 __item \u7684\u89C4\u5219\u3002\n \u603B\u9AD8\u5FC5\u987B\u4E0E\u65E0\u6846\u7248\u9010\u50CF\u7D20\u4E00\u81F4\uFF1Aborder 1px\u00D72 \u7531 padding \u5404\u8BA9 1px \u62B5\u6D88\uFF083 \u2192 2\uFF09\uFF1B\n weekday \u81EA\u5DF1\u58F0\u660E\u7684 3px \u5728\u6587\u4EF6\u66F4\u540E\u9762\uFF0C\u9760\u53CC\u7C7B\u9009\u62E9\u5668\u538B\u56DE 2px\u3002 */\n.dshpc-seg--bordered{border:1px solid var(--dshpc-border);padding:2px;}\n.dshpc-seg--bordered.dshpc-seg--weekday{padding:2px;}\n\n@media (prefers-reduced-motion: reduce){.dshpc-seg__item{transition:none;}.dshpc-seg__thumb{transition:none;}}\n";
2
- //# sourceMappingURL=segmented-css.generated.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"segmented-css.generated.d.ts","sourceRoot":"","sources":["../../../src/ui/controls/segmented-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,4rYAAyrN,CAAA"}
@@ -1,4 +0,0 @@
1
- // ⚠️ 生成物,勿手改。真源 = src/ui/controls/segmented.css
2
- // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
- export const SEGMENTED_CSS = "\n/* ── 分段控件 P2 ─────────────────────────────────────────────────────\n 结构照兄弟项目 dsh-task-dispatch-table 的 Segmented 皮肤(item 无边框、hover 只提亮文字),\n 前缀 / 变量名换成本仓口径。用户额外要的两处(兄弟没有):weekday 方块间隔(现为 2px);段内中性计数 __count。\n ⚠️ 2026-10-19 两次误判均已澄清:① 「宿主只认单行 CSS」——假,多行一直正常;\n ② 「宿主吃掉 token 块之后第一条规则」——也假,真因是 tokens 模板字符串结尾多了一个反斜杠,\n 注入文本里留下字面反引号,把紧随其后的那条规则的选择器污染掉了(见 dsh-host.md §9)。\n 样式照常多行书写,不必压行;也不需要任何「牺牲规则」。 */\n/* 外观只有一套(2026-10-26):原 variant 的 default / inset 两档在 CSS 里只差 1px 内距,\n 且 default 比文档承诺矮 2px,却让下游以为「有得选」而反复对图 ⇒ 整轴删除。\n padding 3px 是尺寸契约的一部分:item 高度 = 控制高 − 6px,加起来正好 24 / 28 / 32。 */\n/* 选中片配色收在两条局部变量里(--seg-thumb 底 / --seg-on 字):默认走主题亮片,\n tone 档与自定义 {bg, fg} 都只改这两条(后者由组件内联写根节点,内联恒胜)。 */\n.dshpc-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--dshpc-radius-md);--seg-thumb:var(--dshpc-surface-raised);--seg-on:var(--dshpc-fg);background:var(--dshpc-seg-track);}\n.dshpc-seg__item{appearance:none;display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;height:calc(var(--dshpc-control-h-sm) - 6px);padding:0 12px;border:0;border-radius:var(--dshpc-radius-sm);background:transparent;color:var(--dshpc-fg-2);font-family:inherit;font-size:var(--dshpc-font-xs);font-weight:500;white-space:nowrap;cursor:pointer;flex:none;transition:color var(--dshpc-dur-fast) var(--dshpc-ease),background-color var(--dshpc-dur-fast) var(--dshpc-ease),box-shadow var(--dshpc-dur-fast) var(--dshpc-ease);}\n.dshpc-seg--md .dshpc-seg__item{height:calc(var(--dshpc-control-h-md) - 6px);}\n.dshpc-seg--lg .dshpc-seg__item{height:calc(var(--dshpc-control-h-lg) - 6px);}\n/* 段内图标(前置):与 Button 同口径 —— inline-flex 吃掉行高基线,svg 按块级。 */\n.dshpc-seg__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;}\n.dshpc-seg__icon svg{display:block;margin:0;}\n/* 只有图标(无文字 / 计数 / 角标):段必须是正方形 ⇒ 宽 = 段高、左右内距归零、内容居中;\n 否则基础规则的 0 12px 会把它拉成长方形。放在三档之后:同名特异性下后写者胜。 */\n.dshpc-seg__item--icon-only{width:calc(var(--dshpc-control-h-sm) - 6px);padding:0;justify-content:center;}\n.dshpc-seg--md .dshpc-seg__item--icon-only{width:calc(var(--dshpc-control-h-md) - 6px);}\n.dshpc-seg--lg .dshpc-seg__item--icon-only{width:calc(var(--dshpc-control-h-lg) - 6px);}\n.dshpc-seg__item:hover:not([aria-pressed='true']):not(:disabled){color:var(--dshpc-fg);}\n.dshpc-seg__item[aria-pressed='true']{background:var(--seg-thumb);box-shadow:var(--dshpc-shadow-raised);color:var(--seg-on);font-weight:600;}\n.dshpc-seg__item:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:-2px;}\n.dshpc-seg__item:disabled{cursor:default;opacity:.4;}\n/* 段内角标(如「异常」的数量):语义色实面 + 反白字,0 由组件侧不渲染。必须是正圆(用户 2026-10-03)。 */\n.dshpc-seg__badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;padding:0;overflow:hidden;border-radius:50%;background:var(--dshpc-danger);color:var(--dshpc-on-signal);font-size:10px;line-height:16px;font-weight:500;font-variant-numeric:tabular-nums;}\n/* 段内中性计数(如筛选条「全部 11」):纯文字、无底无边(对齐 task-ledger .dtl-seg__num 拍板口径);0 由组件侧不渲染。 */\n.dshpc-seg__count{display:inline;flex:none;margin-left:3px;padding:0;border:0;border-radius:0;background:none;color:var(--dshpc-fg-3);font-size:10px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums;}\n/* 选中段(彩色实面)里的计数:必须跟着 --seg-on 走再压暗一档(72% 白 ≈ 「比正文稍灰」)。\n 不许用 --dshpc-fg-3:它跟主题走,暗色下是深灰 ⇒ 蓝底上几乎看不见(2026-10-29 用户截图「My todos 4」)。 */\n.dshpc-seg__item[aria-pressed='true'] .dshpc-seg__count{color:color-mix(in srgb,var(--seg-on) 72%,transparent);}\n/* block:撑满父宽(表单行用),各段等分 */\n.dshpc-seg--block{display:flex;width:100%;}\n.dshpc-seg--block .dshpc-seg__item{flex:1 1 auto;justify-content:center;}\n/* weekday:星期多选方块。基础插件的特殊化定制(用户 2026-10-01:原 WeekdayPicker 即「蓝底 + 近似方形」):\n 每格正方形(宽 = 段高)、选中品牌蓝反白字、**无外描边**(2026-10-18 重申)、\n 方块之间间距 gap:2px(2026-10-20 用户定稿:方块改小后 6px 显得太宽。10-18 曾从 2px 放宽到 6px,\n 两次都是用户拍板 —— 别自作主张改回去)。 */\n.dshpc-seg--weekday{--seg-track:var(--dshpc-seg-track);gap:2px;border:0;padding:3px;background:var(--seg-track);}\n.dshpc-seg--weekday .dshpc-seg__item{width:calc(var(--dshpc-control-h-lg) - 8px);padding:0;justify-content:center;}\n/* 蓝底反白:字色必须是常量白(--dshpc-on-signal)。2026-10-29 用户实测:暗色主题下这里曾用\n --dshpc-fg-inverse,而它跟随宿主 label-primary-foreground,暗色下是近黑 ⇒ 蓝底黑字看不清。 */\n.dshpc-seg--weekday{--seg-thumb:var(--dshpc-business);--seg-on:var(--dshpc-on-signal);}\n\n/* ── tone(2026-10-29 用户):选中片传内置基础色名,底 / 字由核心给,深浅两主题各自成立。\n 放在 weekday 之后:同名变量后写者胜,tone 与 className=\"dshpc-seg--weekday\" 同给时以 tone 为准。\n 黄底按 Chip / Button 同源口径用 on-warning(中高明度,白字看不清)。 */\n.dshpc-seg--tone-business{--seg-thumb:var(--dshpc-business);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-success{--seg-thumb:var(--dshpc-success);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-warning{--seg-thumb:var(--dshpc-warning);--seg-on:var(--dshpc-on-warning);}\n.dshpc-seg--tone-danger{--seg-thumb:var(--dshpc-danger);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-purple{--seg-thumb:var(--dshpc-purple);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-pink{--seg-thumb:var(--dshpc-pink);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-cyan{--seg-thumb:var(--dshpc-cyan);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-teal{--seg-thumb:var(--dshpc-teal);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-orange{--seg-thumb:var(--dshpc-orange);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-indigo{--seg-thumb:var(--dshpc-indigo);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-rose{--seg-thumb:var(--dshpc-rose);--seg-on:var(--dshpc-on-signal);}\n.dshpc-seg--tone-slate{--seg-thumb:var(--dshpc-slate);--seg-on:var(--dshpc-on-signal);}\n\n/* ── 单选滑动块(2026-10-26 用户:点选后选中底应「滑过去」,不是旧段消失、新段直接亮)。\n 结构 = 一块绝对定位的共用底 + 各段透明;位置/尺寸由组件量出后内联,这里只管外观与过渡。\n --slide 只在单选挂上:多选(如星期)每段各自着色,没有唯一滑块可滑,保持原样。 */\n.dshpc-seg--slide{position:relative;}\n.dshpc-seg--slide .dshpc-seg__item{position:relative;z-index:1;}\n.dshpc-seg--slide .dshpc-seg__item[aria-pressed='true']{background:transparent;box-shadow:none;}\n.dshpc-seg__thumb{position:absolute;z-index:0;border-radius:var(--dshpc-radius-sm);background:var(--seg-thumb);box-shadow:var(--dshpc-shadow-raised);pointer-events:none;transition:left var(--dshpc-dur) var(--dshpc-ease),top var(--dshpc-dur) var(--dshpc-ease),width var(--dshpc-dur) var(--dshpc-ease),height var(--dshpc-dur) var(--dshpc-ease);}\n\n/* ── bordered 外框(2026-10-20 用户要的第二种模式):**只在最外面套一圈 1px 描边**,\n 里面一概不动 —— 选中片的填充色 / 阴影 / 文字色全部保持原样(weekday 的蓝面照旧),\n 这里不写任何针对 __item 的规则。\n 总高必须与无框版逐像素一致:border 1px×2 由 padding 各让 1px 抵消(3 → 2);\n weekday 自己声明的 3px 在文件更后面,靠双类选择器压回 2px。 */\n.dshpc-seg--bordered{border:1px solid var(--dshpc-border);padding:2px;}\n.dshpc-seg--bordered.dshpc-seg--weekday{padding:2px;}\n\n@media (prefers-reduced-motion: reduce){.dshpc-seg__item{transition:none;}.dshpc-seg__thumb{transition:none;}}\n";
4
- //# sourceMappingURL=segmented-css.generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"segmented-css.generated.js","sourceRoot":"","sources":["../../../src/ui/controls/segmented-css.generated.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,srNAAsrN,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const SPLIT_GROUP_CSS = "\n/* \u2500\u2500 \u62FC\u63A5\u5916\u58F3 SplitGroup \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u804C\u8D23\u53EA\u6709\u4E00\u6761\uFF1A\u628A\u4E24\u4E2A\u63A7\u4EF6\u5728\u5916\u89C2\u4E0A\u710A\u6210\u4E00\u4F53\uFF08\u5916\u6846 / \u5706\u89D2 / \u4E2D\u95F4 1px \u5206\u9694 / \u6574\u4F53\u805A\u7126\u5708\uFF09\u3002\n \u5B83**\u4E0D\u6301\u72B6\u6001\u3001\u4E0D\u51FA\u8054\u52A8\u56DE\u8C03** \u2014\u2014 \u9009\u4E2D\u4E0E\u8054\u52A8\u5168\u8D70\u5185\u4EF6\u81EA\u5DF1\u7684 value / onChange\n \uFF08\u7528\u6237 2026-10-28 \u62CD\u677F\uFF1A\u5916\u58F3\u4E0D\u5FC5\u77E5\u9053\u53F3\u8FB9\u90A3\u4E2A\u4E0B\u62C9\u7BA1\u4EC0\u4E48\uFF09\u3002\n\n \u26A0\uFE0F \u4E0E\u5185\u4EF6\u7C7B\u540D\u6709\u610F\u8026\u5408\uFF1A\u5185\u4EF6\u662F Picker / Segmented \u65F6\u7531\u4E0B\u9762\u51E0\u6761\u89C4\u5219\u628A\u5B83\u4EEC\u81EA\u5DF1\u7684\n \u8FB9\u6846 / \u5E95\u8272 / \u5706\u89D2\u4EA4\u51FA\u6765\uFF0C\u7531\u5916\u58F3\u7EDF\u4E00\u753B\u3002\u5185\u4EF6\u6539\u540D\u6216\u6539\u7ED3\u6784\u8981\u540C\u6B65\u6539\u8FD9\u91CC\uFF0C\n \u5426\u5219\u4F1A\u51FA\u73B0\u53CC\u8FB9\u6846\u3001\u53CC\u5E95\u8272\u3002\n\n \u9AD8\u5EA6\u4E0D\u5199\u6B7B\uFF1A\u5185\u4EF6\u81EA\u5DF1\u6309 size \u6863\uFF08sm 24 / md 28 / lg 32\uFF09\u6491\u5F00\uFF0C\u5916\u58F3\u8DDF\u7740\u957F\u3002\n \u4E24\u683C\u8981\u7B49\u9AD8\uFF0C\u5C31\u7ED9\u5185\u4EF6\u4F20**\u540C\u4E00\u4E2A size**\u3002\u4E07\u4E00\u4E24\u683C size \u4E0D\u4E00\u81F4\uFF0C\u5916\u58F3\u5185\u4EF6\u7528 align-items:center\n \u5C45\u4E2D\uFF08\u4E0D\u4F1A\u9876\u5BF9\u9F50\u9732\u767D\uFF0C\u7528\u6237 2026-10-28 \u622A\u56FE\u53CD\u9988\u300C\u672C\u6708\u504F\u4E0A\u300D\u540E\u7684\u5904\u7406\uFF09\uFF1B**\u522B\u7528 height:100%**\uFF0C\n \u5B83\u4F1A\u8986\u76D6\u4E09\u6863\u9AD8\u5EA6\uFF08\u4E0E --lg/--sm \u540C\u7279\u5F02\u6027\u4E14\u6CE8\u5165\u66F4\u665A\uFF09\u3002\n\n \u5DE6\u683C\u7EDF\u4E00\u7070\u5E95\uFF08\u7528\u6237 2026-10-28 \u62CD\u677F\uFF09\uFF1A\u6ED1\u5757\u4FDD\u7559\u81EA\u5DF1\u7684\u7070\u8F68\uFF0C\u5DE6\u683C\u4E0B\u62C9\u628A\u5E95\u8272\u6362\u6210\n surface-sunken\uFF1B\u53F3\u683C\u4FDD\u6301\u539F\u6837\u3002\u5C42\u6B21\u611F = \u5DE6\u683C\u662F\u300C\u6863\u4F4D/\u8303\u56F4\u300D\uFF0C\u53F3\u683C\u662F\u300C\u503C\u300D\u3002 */\n .dshpc-split{display:inline-flex;align-items:stretch;max-width:100%;overflow:hidden;border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-md);background:var(--dshpc-surface-1);}\n /* \u4E24\u683C\u5BBD\u5EA6\u90FD\u7531\u5185\u5BB9\u7ED9\uFF1B\u5BB9\u5668\u518D\u7A84\u4E5F\u8BA9\u5185\u4EF6\u81EA\u5DF1\u7701\u7565\uFF0C\u4E0D\u8BA9\u5916\u58F3\u88AB\u6491\u7834 */\n .dshpc-split > *{min-width:0;max-width:100%;}\n /* \u5206\u9694\uFF1A\u76F8\u90BB\u5144\u5F1F\u7684\u5DE6\u63CF\u8FB9\uFF0C\u4E0D\u989D\u5916\u63D2 DOM\uFF0Chover / focus \u65F6\u4E5F\u4E0D\u4F1A\u65AD */\n .dshpc-split > * + *{box-sizing:border-box;border-left:1px solid var(--dshpc-border);}\n /* \u6574\u4F53\u805A\u7126\uFF1A\u53EA\u5728**\u4E0B\u62C9\u5C55\u5F00**\u65F6\u753B\u4E00\u6574\u5708\uFF08\u5224\u636E\u662F\u5185\u4EF6\u7684 aria-expanded\uFF0C\u4E0D\u662F :focus-within\uFF09\u3002\n 2026-11-02 \u7528\u6237\u5B9A\u7A3F\uFF1A\u6ED1\u5757\u90A3\u683C\u662F\u300C\u9009\u4E2D\u300D\u4E0D\u662F\u300C\u8F93\u5165\u805A\u7126\u300D\uFF0C\u9F20\u6807\u70B9\u5B83\u4E0D\u8BE5\u8BA9\u6574\u6846\u5E38\u4EAE\uFF1B\n \u800C\u4E14\u9009\u53D6\u503C\u540E\u7126\u70B9\u4F1A\u7559\u5728\u6309\u94AE\u4E0A\uFF0C\u7528 :focus-within \u4F1A\u4E00\u76F4\u4EAE\u7740\u3002 */\n .dshpc-split:has(.dshpc-picker__trigger[aria-expanded='true']){border-color:var(--dshpc-focus);box-shadow:0 0 0 1px var(--dshpc-focus);}\n /* Picker\uFF1A\u53BB\u6389\u81EA\u8EAB\u5916\u6846\u4E0E\u5E95\u8272\uFF1Bdisplay \u6539\u6210 flex\uFF0C\u6D88\u6389 inline-block \u884C\u76D2\u5E26\u6765\u7684\u57FA\u7EBF\u95F4\u9699\u3002\n \u6CE8\u610F**\u4E0D\u80FD\u7528 height:100%**\uFF1A\u5B83\u4F1A\u548C .dshpc-picker__trigger--lg / --sm \u540C\u7279\u5F02\u6027\uFF08\u90FD\u662F\u4E24\u4E2A\u7C7B\uFF09\uFF0C\n \u4E14 split-group.css \u5728 picker.css \u4E4B\u540E\u6CE8\u5165\uFF0C\u4F1A\u628A\u4E09\u6863\u9AD8\u5EA6\u5168\u5403\u6389\uFF08md/lg \u770B\u8D77\u6765\u4E00\u6837\u5927\uFF09\u3002\n \u6539\u7528 align-items:center \u2014\u2014 \u540C size \u65F6\u4E24\u683C\u81EA\u7136\u7B49\u9AD8\u7684\u540C\u65F6\u6587\u5B57\u5782\u76F4\u5C45\u4E2D\uFF1B\u4E07\u4E00\u4E24\u683C size \u4E0D\u4E00\u81F4\uFF0C\n \u8F83\u77EE\u7684\u683C\u4E5F\u53EA\u662F\u5C45\u4E2D\u3001\u4E0D\u4F1A\u9876\u5BF9\u9F50\u9732\u767D\u3002 */\n .dshpc-split .dshpc-picker{display:flex;align-items:center;}\n .dshpc-split .dshpc-picker__trigger{border:0;border-radius:0;background:transparent;}\n .dshpc-split .dshpc-picker__trigger:focus-visible{outline:0;}\n /* \u5DE6\u683C\u4E0B\u62C9\uFF1A\u7070\u5E95\uFF08\u6ED1\u5757\u7684\u7070\u8F68\u662F\u5B83\u81EA\u5DF1\u7684 --dshpc-seg-track\uFF0C\u4E0D\u5728\u8FD9\u91CC\u8986\u76D6\uFF09 */\n .dshpc-split > :first-child .dshpc-picker__trigger{background:var(--dshpc-surface-sunken);}\n /* Segmented\uFF1A\u53EA\u53BB\u5916\u5706\u89D2\u4E0E\u63CF\u8FB9\uFF0C\u7070\u8F68\u4FDD\u7559\uFF1Bpadding \u4FDD\u6301 3px \u4E0D\u52A8 \u2014\u2014 \u5B83\u662F\u9AD8\u5EA6\u5951\u7EA6\u7684\u4E00\u90E8\u5206\n \uFF083 + item + 3 = control-h\uFF09\u3002bordered \u90A3\u6863\u53BB\u6389\u63CF\u8FB9\u3001\u628A\u8BA9\u7ED9\u63CF\u8FB9\u7684 1px \u8FD8\u56DE padding\uFF0C\n \u5426\u5219\u4F1A\u6BD4\u53F3\u8FB9\u77EE 2px\u3002 */\n .dshpc-split .dshpc-seg{border-radius:0;border:0;}\n .dshpc-split .dshpc-seg--bordered{padding:3px;}\n";
2
- //# sourceMappingURL=split-group-css.generated.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"split-group-css.generated.d.ts","sourceRoot":"","sources":["../../../src/ui/controls/split-group-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,0zLAA8zE,CAAA"}
@@ -1,4 +0,0 @@
1
- // ⚠️ 生成物,勿手改。真源 = src/ui/controls/split-group.css
2
- // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
- export const SPLIT_GROUP_CSS = "\n/* ── 拼接外壳 SplitGroup ──────────────────────────────────────────────\n 职责只有一条:把两个控件在外观上焊成一体(外框 / 圆角 / 中间 1px 分隔 / 整体聚焦圈)。\n 它**不持状态、不出联动回调** —— 选中与联动全走内件自己的 value / onChange\n (用户 2026-10-28 拍板:外壳不必知道右边那个下拉管什么)。\n\n ⚠️ 与内件类名有意耦合:内件是 Picker / Segmented 时由下面几条规则把它们自己的\n 边框 / 底色 / 圆角交出来,由外壳统一画。内件改名或改结构要同步改这里,\n 否则会出现双边框、双底色。\n\n 高度不写死:内件自己按 size 档(sm 24 / md 28 / lg 32)撑开,外壳跟着长。\n 两格要等高,就给内件传**同一个 size**。万一两格 size 不一致,外壳内件用 align-items:center\n 居中(不会顶对齐露白,用户 2026-10-28 截图反馈「本月偏上」后的处理);**别用 height:100%**,\n 它会覆盖三档高度(与 --lg/--sm 同特异性且注入更晚)。\n\n 左格统一灰底(用户 2026-10-28 拍板):滑块保留自己的灰轨,左格下拉把底色换成\n surface-sunken;右格保持原样。层次感 = 左格是「档位/范围」,右格是「值」。 */\n .dshpc-split{display:inline-flex;align-items:stretch;max-width:100%;overflow:hidden;border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-md);background:var(--dshpc-surface-1);}\n /* 两格宽度都由内容给;容器再窄也让内件自己省略,不让外壳被撑破 */\n .dshpc-split > *{min-width:0;max-width:100%;}\n /* 分隔:相邻兄弟的左描边,不额外插 DOM,hover / focus 时也不会断 */\n .dshpc-split > * + *{box-sizing:border-box;border-left:1px solid var(--dshpc-border);}\n /* 整体聚焦:只在**下拉展开**时画一整圈(判据是内件的 aria-expanded,不是 :focus-within)。\n 2026-11-02 用户定稿:滑块那格是「选中」不是「输入聚焦」,鼠标点它不该让整框常亮;\n 而且选取值后焦点会留在按钮上,用 :focus-within 会一直亮着。 */\n .dshpc-split:has(.dshpc-picker__trigger[aria-expanded='true']){border-color:var(--dshpc-focus);box-shadow:0 0 0 1px var(--dshpc-focus);}\n /* Picker:去掉自身外框与底色;display 改成 flex,消掉 inline-block 行盒带来的基线间隙。\n 注意**不能用 height:100%**:它会和 .dshpc-picker__trigger--lg / --sm 同特异性(都是两个类),\n 且 split-group.css 在 picker.css 之后注入,会把三档高度全吃掉(md/lg 看起来一样大)。\n 改用 align-items:center —— 同 size 时两格自然等高的同时文字垂直居中;万一两格 size 不一致,\n 较矮的格也只是居中、不会顶对齐露白。 */\n .dshpc-split .dshpc-picker{display:flex;align-items:center;}\n .dshpc-split .dshpc-picker__trigger{border:0;border-radius:0;background:transparent;}\n .dshpc-split .dshpc-picker__trigger:focus-visible{outline:0;}\n /* 左格下拉:灰底(滑块的灰轨是它自己的 --dshpc-seg-track,不在这里覆盖) */\n .dshpc-split > :first-child .dshpc-picker__trigger{background:var(--dshpc-surface-sunken);}\n /* Segmented:只去外圆角与描边,灰轨保留;padding 保持 3px 不动 —— 它是高度契约的一部分\n (3 + item + 3 = control-h)。bordered 那档去掉描边、把让给描边的 1px 还回 padding,\n 否则会比右边矮 2px。 */\n .dshpc-split .dshpc-seg{border-radius:0;border:0;}\n .dshpc-split .dshpc-seg--bordered{padding:3px;}\n";
4
- //# sourceMappingURL=split-group-css.generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"split-group-css.generated.js","sourceRoot":"","sources":["../../../src/ui/controls/split-group-css.generated.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,2zEAA2zE,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const TABLE_BASE_CSS = "/* \u2500\u2500 \u8868\u683C\u57FA\u7840\u5C42\uFF08\u7ED3\u6784 + \u4EA4\u4E92 + \u7A7A\u6001\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u5916\u89C2\u5206\u6863 = \u5206\u7EC4\u4EF6 + \u5206\u6587\u4EF6\uFF1A\u672C\u6587\u4EF6\u53EA\u653E\u6240\u6709\u5916\u89C2\u5171\u7528\u7684\u90E8\u5206\uFF1B\n \u8868\u5934\u5E95\u8272\u3001\u5206\u9694\u7EBF\u3001\u60AC\u6D6E / \u9009\u4E2D\u8272\u7531\u76AE\u80A4\u6587\u4EF6\u8D1F\u8D23\uFF08table-plain.css \u662F\u7B2C\u4E00\u6863\uFF09\u3002\n \u76AE\u80A4\u9009\u62E9\u5668\u4E00\u5F8B\u6302\u5728 .dshpc-table--<skin> \u4E0B\uFF0C\u4E0E\u57FA\u7840\u5C42\u4E0D\u540C\u540D \u2014\u2014 \u6CE8\u5165\u987A\u5E8F\u4E0D\u5F71\u54CD\u80DC\u8D1F\n \uFF08test/css-contract.test.mjs \u7981\u6B62\u8DE8\u5E38\u91CF\u540C\u540D\u9009\u62E9\u5668\uFF09\u3002\n \u5706\u89D2\u88C1\u526A / \u6A2A\u5411\u6EDA\u52A8\u5F52\u8C03\u7528\u65B9\u5BB9\u5668\uFF0C\u672C\u5C42\u4E0D\u8BBE overflow\uFF1B\u4E5F\u4E0D\u505A\u8868\u5934\u5438\u9876\uFF1A\n \u5206\u7EC4\u8868\u5934\u662F\u591A\u884C\uFF0C\u7EDF\u4E00 top:0 \u4F1A\u5728\u6EDA\u52A8\u65F6\u4E92\u76F8\u76D6\u4F4F\uFF08\u8981\u5438\u9876\u8BF7\u5728\u5916\u5C42\u5BB9\u5668\u5904\u7406\uFF09\u3002 */\n\n.dshpc-table{--dshpc-table-pad-x:var(--dshpc-space-3);--dshpc-table-head-h:44px;--dshpc-table-row-h:48px;\n width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;box-sizing:border-box;\n color:var(--dshpc-fg);font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}\n\n/* \u5BC6\u5EA6\u4E09\u6863\uFF1A\u53EA\u6539\u884C\u9AD8\u4E0E\u6C34\u5E73\u5185\u8DDD\uFF0C\u914D\u8272\u4E0E\u5206\u9694\u7EBF\u5F52\u76AE\u80A4\u3002compact / comfortable \u5404\u4E00\u884C\uFF0C\n \u65B0\u589E\u6863\u4F4D\u5728\u6B64\u8FFD\u52A0\uFF1B\u5217\u7EA7 padding \u8D70\u5185\u8054 style \u8986\u76D6\uFF08\u4E0D\u5728\u8FD9\u91CC\u518D\u5F00\u4E00\u5957\u53D8\u91CF\uFF09\u3002\n \u9ED8\u8BA4\u6C34\u5E73\u5185\u8DDD 12px\uFF08space-3\uFF09\u2014\u2014 \u53C2\u8003\u7A3F\u7684\u8272\u5757\u95F4\u8DDD\uFF0C16px \u504F\u677E\u3002 */\n.dshpc-table--density-compact{--dshpc-table-pad-x:var(--dshpc-space-2);--dshpc-table-head-h:36px;--dshpc-table-row-h:36px;}\n.dshpc-table--density-comfortable{--dshpc-table-pad-x:var(--dshpc-space-4);--dshpc-table-head-h:52px;--dshpc-table-row-h:60px;}\n\n.dshpc-table__head-cell,.dshpc-table__cell{box-sizing:border-box;padding:var(--dshpc-space-1) var(--dshpc-table-pad-x);\n text-align:left;vertical-align:middle;font-weight:400;}\n\n/* \u8868\u5934 44 / \u6570\u636E\u884C 48 \u662F default \u6863\uFF08\u53C2\u8003\u7A3F\u5BC6\u5EA6\uFF09\uFF1Bheight \u5728 table-cell \u4E0A\u662F\u6700\u5C0F\u9AD8\uFF0C\n \u591A\u884C\u5185\u5BB9\u4F1A\u81EA\u52A8\u628A\u884C\u6491\u9AD8\uFF0C\u4E0D\u4F1A\u88AB\u622A\u65AD\u3002 */\n.dshpc-table__head-cell{height:var(--dshpc-table-head-h);font-size:var(--dshpc-font-sm);font-weight:600;color:var(--dshpc-fg-2);}\n.dshpc-table__head-cell--group{text-align:center;}\n.dshpc-table__cell{height:var(--dshpc-table-row-h);}\n\n.dshpc-table__head-cell--center,.dshpc-table__cell--center{text-align:center;}\n.dshpc-table__head-cell--right,.dshpc-table__cell--right{text-align:right;}\n\n.dshpc-table__row{transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease);}\n/* \u53EA\u6709\u4F20\u4E86 onRowClick \u7684\u884C\u624D\u662F\u53EF\u70B9\u7684\uFF08\u6570\u636E\u5C5E\u6027\u7531\u7EC4\u4EF6\u6309\u6B64\u6253\uFF09\u3002 */\n.dshpc-table__row[data-interactive='true']{cursor:pointer;}\n.dshpc-table__row:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:-2px;}\n\n/* \u6591\u9A6C\u7EB9\u662F\u901A\u7528\u80FD\u529B\uFF08\u8868\u7EA7 striped \u5F00\u5173\uFF09\uFF0C\u653E\u5728\u57FA\u7840\u5C42\uFF1A\u5E95\u8272\u53D6 token\uFF0C\u5404\u6863\u76AE\u80A4\u4E0D\u5FC5\u5404\u81EA\u5B9E\u73B0\u3002\n \u9009\u62E9\u5668\u523B\u610F\u53EA\u5230 3 \u4E2A\u7C7B\u7EA7\u522B\uFF08\u8868\u7EA7 + \u884C + :nth-child\uFF09\uFF1B\u76AE\u80A4\u5C42\u7684\u884C\u6001\u89C4\u5219\u5E26 __body \u4E0A\u4E0B\u6587\n + \u5C5E\u6027\u9009\u62E9\u5668\uFF0C\u5FC5\u7136\u662F 4 \u7EA7 \u21D2 \u4E0E\u6CE8\u5165\u987A\u5E8F\u65E0\u5173\u5730\u538B\u8FC7\u5B83\u3002\n 2026-10-30 \u771F\u673A\u4E8B\u6545\uFF1A\u8FD9\u91CC\u66FE\u5199\u6EE1 4 \u7EA7\uFF08\u591A\u4E86\u4E00\u4E2A __body\uFF09\uFF0C\u4E0E\u9009\u4E2D\u7684 4 \u7EA7\u76F8\u540C \u21D2 \u57FA\u7840\u5C42\n \u6BD4\u76AE\u80A4\u540E\u6CE8\u5165\uFF0C\u5076\u6570\u884C\u6C38\u8FDC\u88AB\u6591\u9A6C\u7EB9\u76D6\u4F4F\uFF08\u300C\u5355\u6570\u884C\u80FD\u9009\u4E2D\u3001\u53CC\u6570\u884C\u70B9\u4E86\u6CA1\u53CD\u5E94\u300D\uFF09\u3002 */\n.dshpc-table--striped .dshpc-table__row:nth-child(even){background:var(--dshpc-plate);}\n\n/* \u5206\u7EC4\u901A\u680F\uFF1A\u4E00\u4E2A\u8868\u683C\u91CC\u653E\u591A\u4E2A\u677F\u5757\uFF08\u5DE5\u4F5C\u533A A / \u5DE5\u4F5C\u533A B\uFF09\u65F6\uFF0C\u6BCF\u7EC4\u5148\u6765\u4E00\u884C\u6A2A\u8DE8\u5168\u90E8\u5217\u7684\u5927\u6807\u9898\uFF0C\n \u7136\u540E\u624D\u662F\u8FD9\u4E00\u7EC4\u81EA\u5DF1\u7684\u8868\u5934\u4E0E\u6570\u636E\u884C\u3002\u7ED3\u6784 + \u5E95\u8272\u5F52\u57FA\u7840\u5C42\uFF08\u53EA\u7528 token\uFF0C\u5404\u6863\u76AE\u80A4\u5171\u540C\u6210\u7ACB\uFF09\uFF1B\n \u901A\u680F\u5E95\u8D70 --dshpc-table-banner-bg\uFF08\u4E0E\u8868\u5934\u4E92\u6362\u7684\u90A3\u4E00\u6863\uFF0C2026-10-30 \u7528\u6237\u5B9A\uFF09\uFF1B\n \u901A\u680F\u4E0E\u7EC4\u8868\u5934\u4E4B\u95F4\u753B\u4E00\u6761\u7EBF\uFF08\u7528\u6237 2026-10-30\uFF1A\u90A3\u4E4B\u95F4\u4E5F\u8981\u6709 border\uFF09\uFF1B\n \u7EC4\u4E0E\u7EC4\u4E4B\u95F4\u7528\u901A\u680F\u9876\u7EBF\u9694\u5F00\uFF0C\u7B2C\u4E00\u7EC4\u9876\u90E8\u4E0D\u753B\uFF08\u5916\u6846\u5DF2\u7ECF\u5728\u90A3\u513F\uFF0C\u753B\u4E86\u5C31\u6210\u53CC\u7EBF\uFF09\u3002 */\n.dshpc-table__group-cell{height:var(--dshpc-table-head-h);padding:var(--dshpc-space-1) var(--dshpc-table-pad-x);\n box-sizing:border-box;background:var(--dshpc-table-banner-bg);border-top:1px solid var(--dshpc-border);\n border-bottom:1px solid var(--dshpc-border);\n text-align:left;vertical-align:middle;font-size:var(--dshpc-font-sm);font-weight:600;color:var(--dshpc-fg);}\n.dshpc-table__group-body:first-of-type .dshpc-table__group-cell{border-top:0;}\n\n/* \u901A\u680F\u6807\u9898\u7684\u56FA\u5B9A\u6807\u7B7E\uFF08\u77ED\u7AD6\u7EBF\uFF09\u4E0E\u6392\u7248\u7531 SectionHead \u81EA\u5E26\uFF084px \u5706\u5934\uFF09\uFF0C\u672C\u5C42\u4E0D\u518D\u753B\u3002 */\n\n.dshpc-table__empty{height:80px;padding:0 var(--dshpc-space-4);text-align:center;\n color:var(--dshpc-fg-3);font-size:var(--dshpc-font-sm);}\n\n/* \u52A0\u8F7D\u6001\u884C\uFF08\u52A0\u8F7D\u66F4\u591A / \u6CA1\u6709\u66F4\u591A / \u6574\u8868\u52A0\u8F7D\uFF09\uFF1A\u5355\u5143\u683C\u81EA\u8EAB\u4E0D\u753B\u8FB9\u6846\uFF08\u5E95\u90E8\u72B6\u6001\u884C\u7684\u9876\u7EBF\u7531\u76AE\u80A4\u8865\uFF09\uFF0C\u5185\u5BB9\u5C45\u4E2D\uFF1B\n \u6574\u8868\u52A0\u8F7D\u9ED8\u8BA4\u5360\u4F4D 160px\uFF08\u53EF\u7531 loadingHeight \u8986\u76D6\uFF09\uFF0C\u5E95\u90E8\u90A3\u884C\u53EA\u5360\u4E00\u884C\u9AD8\u3002 */\n.dshpc-table__state-cell{padding:0;border:0;text-align:center;vertical-align:middle;}\n.dshpc-table__state{display:flex;align-items:center;justify-content:center;\n gap:var(--dshpc-space-2);min-height:40px;padding:var(--dshpc-space-1) var(--dshpc-table-pad-x);\n box-sizing:border-box;color:var(--dshpc-fg-3);font-size:var(--dshpc-font-sm);}\n.dshpc-table__state--full{flex-direction:column;min-height:160px;gap:var(--dshpc-space-3);font-size:var(--dshpc-font-sm);}\n.dshpc-table__state-text{line-height:1;}\n/* \u5E95\u90E8\u54E8\u5175\uFF1A\u96F6\u9AD8\u3001\u65E0\u8FB9\u6846\u3001\u65E0\u5185\u5BB9\uFF0C\u53EA\u7ED9 IntersectionObserver \u4E00\u4E2A\u843D\u70B9\u3002 */\n.dshpc-table__sentinel>td{height:0;padding:0;border:0;line-height:0;}\n\n/* \u5185\u5EFA\u5206\u9875\u7684\u5916\u58F3\uFF1A\u8868\u683C\u5728\u4E0A\u3001\u5206\u9875\u6761\u5728\u4E0B\uFF0C\u95F4\u8DDD\u8D70 space-3\uFF08\u5206\u9875\u6761\u81EA\u5DF1\u7BA1\u5DE6\u53F3\u5BF9\u9F50\uFF09\u3002 */\n.dshpc-table-frame{display:flex;flex-direction:column;gap:var(--dshpc-space-3);}\n";
2
- //# sourceMappingURL=table-css.generated.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-css.generated.d.ts","sourceRoot":"","sources":["../../../src/ui/controls/table-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,8oQAAmlI,CAAA"}
@@ -1,4 +0,0 @@
1
- // ⚠️ 生成物,勿手改。真源 = src/ui/controls/table.css
2
- // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
- export const TABLE_BASE_CSS = "/* ── 表格基础层(结构 + 交互 + 空态)─────────────────────────────────────\n 外观分档 = 分组件 + 分文件:本文件只放所有外观共用的部分;\n 表头底色、分隔线、悬浮 / 选中色由皮肤文件负责(table-plain.css 是第一档)。\n 皮肤选择器一律挂在 .dshpc-table--<skin> 下,与基础层不同名 —— 注入顺序不影响胜负\n (test/css-contract.test.mjs 禁止跨常量同名选择器)。\n 圆角裁剪 / 横向滚动归调用方容器,本层不设 overflow;也不做表头吸顶:\n 分组表头是多行,统一 top:0 会在滚动时互相盖住(要吸顶请在外层容器处理)。 */\n\n.dshpc-table{--dshpc-table-pad-x:var(--dshpc-space-3);--dshpc-table-head-h:44px;--dshpc-table-row-h:48px;\n width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;box-sizing:border-box;\n color:var(--dshpc-fg);font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}\n\n/* 密度三档:只改行高与水平内距,配色与分隔线归皮肤。compact / comfortable 各一行,\n 新增档位在此追加;列级 padding 走内联 style 覆盖(不在这里再开一套变量)。\n 默认水平内距 12px(space-3)—— 参考稿的色块间距,16px 偏松。 */\n.dshpc-table--density-compact{--dshpc-table-pad-x:var(--dshpc-space-2);--dshpc-table-head-h:36px;--dshpc-table-row-h:36px;}\n.dshpc-table--density-comfortable{--dshpc-table-pad-x:var(--dshpc-space-4);--dshpc-table-head-h:52px;--dshpc-table-row-h:60px;}\n\n.dshpc-table__head-cell,.dshpc-table__cell{box-sizing:border-box;padding:var(--dshpc-space-1) var(--dshpc-table-pad-x);\n text-align:left;vertical-align:middle;font-weight:400;}\n\n/* 表头 44 / 数据行 48 是 default 档(参考稿密度);height 在 table-cell 上是最小高,\n 多行内容会自动把行撑高,不会被截断。 */\n.dshpc-table__head-cell{height:var(--dshpc-table-head-h);font-size:var(--dshpc-font-sm);font-weight:600;color:var(--dshpc-fg-2);}\n.dshpc-table__head-cell--group{text-align:center;}\n.dshpc-table__cell{height:var(--dshpc-table-row-h);}\n\n.dshpc-table__head-cell--center,.dshpc-table__cell--center{text-align:center;}\n.dshpc-table__head-cell--right,.dshpc-table__cell--right{text-align:right;}\n\n.dshpc-table__row{transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease);}\n/* 只有传了 onRowClick 的行才是可点的(数据属性由组件按此打)。 */\n.dshpc-table__row[data-interactive='true']{cursor:pointer;}\n.dshpc-table__row:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:-2px;}\n\n/* 斑马纹是通用能力(表级 striped 开关),放在基础层:底色取 token,各档皮肤不必各自实现。\n 选择器刻意只到 3 个类级别(表级 + 行 + :nth-child);皮肤层的行态规则带 __body 上下文\n + 属性选择器,必然是 4 级 ⇒ 与注入顺序无关地压过它。\n 2026-10-30 真机事故:这里曾写满 4 级(多了一个 __body),与选中的 4 级相同 ⇒ 基础层\n 比皮肤后注入,偶数行永远被斑马纹盖住(「单数行能选中、双数行点了没反应」)。 */\n.dshpc-table--striped .dshpc-table__row:nth-child(even){background:var(--dshpc-plate);}\n\n/* 分组通栏:一个表格里放多个板块(工作区 A / 工作区 B)时,每组先来一行横跨全部列的大标题,\n 然后才是这一组自己的表头与数据行。结构 + 底色归基础层(只用 token,各档皮肤共同成立);\n 通栏底走 --dshpc-table-banner-bg(与表头互换的那一档,2026-10-30 用户定);\n 通栏与组表头之间画一条线(用户 2026-10-30:那之间也要有 border);\n 组与组之间用通栏顶线隔开,第一组顶部不画(外框已经在那儿,画了就成双线)。 */\n.dshpc-table__group-cell{height:var(--dshpc-table-head-h);padding:var(--dshpc-space-1) var(--dshpc-table-pad-x);\n box-sizing:border-box;background:var(--dshpc-table-banner-bg);border-top:1px solid var(--dshpc-border);\n border-bottom:1px solid var(--dshpc-border);\n text-align:left;vertical-align:middle;font-size:var(--dshpc-font-sm);font-weight:600;color:var(--dshpc-fg);}\n.dshpc-table__group-body:first-of-type .dshpc-table__group-cell{border-top:0;}\n\n/* 通栏标题的固定标签(短竖线)与排版由 SectionHead 自带(4px 圆头),本层不再画。 */\n\n.dshpc-table__empty{height:80px;padding:0 var(--dshpc-space-4);text-align:center;\n color:var(--dshpc-fg-3);font-size:var(--dshpc-font-sm);}\n\n/* 加载态行(加载更多 / 没有更多 / 整表加载):单元格自身不画边框(底部状态行的顶线由皮肤补),内容居中;\n 整表加载默认占位 160px(可由 loadingHeight 覆盖),底部那行只占一行高。 */\n.dshpc-table__state-cell{padding:0;border:0;text-align:center;vertical-align:middle;}\n.dshpc-table__state{display:flex;align-items:center;justify-content:center;\n gap:var(--dshpc-space-2);min-height:40px;padding:var(--dshpc-space-1) var(--dshpc-table-pad-x);\n box-sizing:border-box;color:var(--dshpc-fg-3);font-size:var(--dshpc-font-sm);}\n.dshpc-table__state--full{flex-direction:column;min-height:160px;gap:var(--dshpc-space-3);font-size:var(--dshpc-font-sm);}\n.dshpc-table__state-text{line-height:1;}\n/* 底部哨兵:零高、无边框、无内容,只给 IntersectionObserver 一个落点。 */\n.dshpc-table__sentinel>td{height:0;padding:0;border:0;line-height:0;}\n\n/* 内建分页的外壳:表格在上、分页条在下,间距走 space-3(分页条自己管左右对齐)。 */\n.dshpc-table-frame{display:flex;flex-direction:column;gap:var(--dshpc-space-3);}\n";
4
- //# sourceMappingURL=table-css.generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-css.generated.js","sourceRoot":"","sources":["../../../src/ui/controls/table-css.generated.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,qEAAqE;AACrE,MAAM,CAAC,MAAM,cAAc,GAAG,glIAAglI,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const TABLE_PLAIN_CSS = "/* \u2500\u2500 \u5916\u89C2\u4E00 \u00B7 Plain\uFF08\u7B2C\u4E00\u4E2A\u6837\u5F0F\uFF1A\u767D\u5361\u7247\u4E0A\u7684\u8F7B\u91CF\u8868\u683C\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u7279\u5F81\uFF1A\u5916\u6846 + \u7070\u5E95\u8868\u5934\uFF08\u542B\u4E0B\u8FB9\u7EBF\uFF0C\u53CC\u884C\u5206\u7EC4\u8868\u5934\u4E5F\u6E05\u695A\uFF09\u3001\u7AD6\u5411\u5206\u9694\u7EBF\u3001\n \u6570\u636E\u884C\u53EA\u4FDD\u7559\u6781\u6DE1\u5E95\u7EBF\uFF08\u4E0D\u753B\u91CD\u6A2A\u7EBF\uFF09\u3001\u884C\u60AC\u6D6E\u6DE1\u84DD\u3001\u9009\u4E2D\u884C\u6DE1\u84DD\u5E95 + \u5DE6\u4FA7 3px \u84DD\u7AD6\u6761\u3002\n \u9009\u62E9\u5668\u5168\u90E8\u6302\u5728 .dshpc-table--plain \u4E0B\uFF0C\u548C\u57FA\u7840\u5C42\u4E0D\u540C\u540D\uFF08\u6CE8\u5165\u987A\u5E8F\u65E0\u5173\uFF09\u3002\n \u7AD6\u5206\u9694\u7EBF\u6309\u5217\u58F0\u660E\uFF08\u683C\u5B50\u4E0A\u7684 data-divider\uFF09\uFF0C\u4E0D\u7528\u76F8\u90BB\u5144\u5F1F\u9009\u62E9\u5668 \u2014\u2014 \u540E\u8005\u4F1A\u8BA9\u6BCF\u884C\u9996\u683C\n \u6C38\u8FDC\u6CA1\u6709\u5DE6\u7EBF\uFF08\u7528\u6237 2026-10-30 \u771F\u673A\u770B\u5230\u7684 Name \u5DE6\u4FA7\u7F3A\u7EBF\uFF09\uFF0C\u4E14\u5355\u5143\u683C\u8DE8\u5217\u540E\u4F1A\u753B\u9519\u4F4D\u7F6E\u3002\n \u540E\u7EED\u5916\u89C2\u7167\u6B64\u53E6\u5EFA\uFF1Atable-grid.css / table-zebra.css\uFF0C\u5404\u81EA\u4E00\u4E2A\u7EC4\u4EF6\u3001\u5404\u81EA import \u81EA\u5DF1\u90A3\u4EFD\u3002 */\n\n/* \u5916\u6846\u56DB\u6001\uFF1Aall \u56DB\u8FB9 / x \u53EA\u6709\u5DE6\u53F3 / y \u53EA\u6709\u4E0A\u4E0B / none \u5168\u4E0D\u8981\u3002\n \u7EC4\u4EF6\u603B\u4F1A\u6309 borders \u5C5E\u6027\u548C\u4E0A\u5BF9\u5E94 class\uFF0C\u6545\u8FD9\u91CC\u4E0D\u5B58\u5728\u300C\u65E0 class \u7684\u88F8\u8868\u300D\u3002\n \u300C\u4E0D\u8981\u5DE6\u53F3\u4E24\u6761\u8FB9\u300D\u5C31\u662F borders='y'\u3002 */\n.dshpc-table--plain.dshpc-table--borders-all{border:1px solid var(--dshpc-border);}\n.dshpc-table--plain.dshpc-table--borders-x{border-left:1px solid var(--dshpc-border);\n border-right:1px solid var(--dshpc-border);}\n.dshpc-table--plain.dshpc-table--borders-y{border-top:1px solid var(--dshpc-border);\n border-bottom:1px solid var(--dshpc-border);}\n.dshpc-table--plain.dshpc-table--borders-none{border:0;}\n\n/* \u8868\u5934\uFF1A\u4E2D\u6027\u7070\u5E95 + \u4E0B\u8FB9\u7EBF\u3002\u5E95\u8272\u8D70 --dshpc-table-head-bg\uFF08= --dshpc-surface-sunken\uFF0C\n \u4E0E\u901A\u680F\u90A3\u5C42\u7070\u540C\u6E90\uFF1B2026-10-30 \u7528\u6237\u4E8C\u6B21\u5B9A\u6848\uFF1A\u8868\u5934 / \u901A\u680F\u4E92\u6362\u5E95\u8272\uFF09\uFF1B\u4E0B\u8FB9\u7EBF\u515C\u4F4F\u5206\u7EC4\u8868\u5934\u7684\u7B2C\u4E8C\u5C42\u3002 */\n.dshpc-table--plain .dshpc-table__head-cell{\n background:var(--dshpc-table-head-bg);\n border-bottom:1px solid var(--dshpc-border);\n}\n.dshpc-table--plain .dshpc-table__head-cell--group{color:var(--dshpc-fg-3);}\n\n/* \u8868\u5934\u591A\u8272\uFF1A\u5217\u7EA7 headerTone \u6253\u5230 data-header-tone\uFF0C\u6D45\u5E95 + \u540C\u8272\u6587\u5B57\u3002\n \u8272\u503C\u5168\u90E8\u6765\u81EA token\uFF08soft \u5E95 / \u5B9E\u8272\u5B57\uFF09\uFF0C\u6697\u8272\u4E3B\u9898\u81EA\u52A8\u8DDF\u968F\uFF0C\u4E0D\u5199\u6B7B\u4EFB\u4F55 hex\u3002\n \u8FD9\u7EC4\u89C4\u5219\u6BD4\u4E0A\u65B9\u7070\u5E95\u89C4\u5219\u591A\u4E00\u4E2A\u5C5E\u6027\u9009\u62E9\u5668\uFF0C\u5FC5\u7136\u8986\u76D6\u9ED8\u8BA4\u7070\u5E95\u3002 */\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='business']{background:var(--dshpc-business-soft);color:var(--dshpc-business);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='success']{background:var(--dshpc-success-soft);color:var(--dshpc-success);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='warning']{background:var(--dshpc-warning-soft);color:var(--dshpc-warning);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='danger']{background:var(--dshpc-danger-soft);color:var(--dshpc-danger);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='purple']{background:var(--dshpc-purple-soft);color:var(--dshpc-purple);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='pink']{background:var(--dshpc-pink-soft);color:var(--dshpc-pink);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='cyan']{background:var(--dshpc-cyan-soft);color:var(--dshpc-cyan);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='teal']{background:var(--dshpc-teal-soft);color:var(--dshpc-teal);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='orange']{background:var(--dshpc-orange-soft);color:var(--dshpc-orange);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='indigo']{background:var(--dshpc-indigo-soft);color:var(--dshpc-indigo);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='rose']{background:var(--dshpc-rose-soft);color:var(--dshpc-rose);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='slate']{background:var(--dshpc-slate-soft);color:var(--dshpc-slate);}\n\n/* \u7AD6\u5206\u9694\u7EBF\uFF1A\u6309\u5217\u58F0\u660E\uFF0C**\u9ED8\u8BA4\u4E0D\u753B**\u3002\u7EC4\u4EF6\u53EA\u7ED9 divider: true \u7684\u5217\u6253 data-divider='left'\uFF0C\n \u9996\u5217\u6052\u4E0D\u753B\uFF08\u90A3\u662F\u5916\u6846\u7684\u4F4D\u7F6E\uFF09\u3002\u9ED8\u8BA4\u8868\u683C = \u53EA\u6709\u6A2A\u7EBF\u3001\u6CA1\u6709\u4E00\u6761\u7AD6\u7EBF\uFF1B\n \u8981\u300C\u5217\u95F4\u6709\u7EBF\u300D\u5C31\u7ED9\u5BF9\u5E94\u5217 divider:true\u3002 */\n.dshpc-table--plain .dshpc-table__head-cell[data-divider='left'],\n.dshpc-table--plain .dshpc-table__cell[data-divider='left']{border-left:1px solid var(--dshpc-border);}\n\n/* \u6570\u636E\u884C\u4E4B\u95F4\u7684\u6781\u6DE1\u5E95\u7EBF\uFF1A\u53EA\u5E2E\u773C\u775B\u300C\u5206\u884C\u300D\uFF0C\u4E0D\u56DE\u5230\u7C97\u6A2A\u7EBF\u8868\u683C\u7684\u8001\u6837\u5B50\u3002 */\n.dshpc-table--plain .dshpc-table__row + .dshpc-table__row .dshpc-table__cell{\n border-top:1px solid var(--dshpc-border-faint);\n}\n\n/* \u5E95\u90E8\u72B6\u6001\u884C\uFF08\u52A0\u8F7D\u66F4\u591A / \u5230\u5E95\uFF09\uFF1A\u6574\u884C\u901A\u680F\uFF0C\u4E0E\u4E0A\u65B9\u6570\u636E\u884C\u4E4B\u95F4\u8865\u4E00\u6761\u5B9E\u7EBF\u3002\n \u53EA\u8865\u9876\u7EBF\uFF1A\u5DE6\u53F3\u4E24\u6761\u4E0D\u7531\u8FD9\u4E00\u683C\u91CD\u590D\u753B \u2014\u2014 borders=all / x \u65F6\u8868\u7EA7\u5916\u6846\u5DF2\u7ECF\u515C\u4F4F\uFF1B\n borders=y / none \u672C\u6765\u5C31\u6CA1\u6709\u5DE6\u53F3\u8FB9\u3002\u6574\u8868\u52A0\u8F7D\u5360\u4F4D\u884C\u4E0D\u52A0\uFF08\u8868\u5934\u5DF2\u6709\u4E0B\u8FB9\u7EBF\uFF0C\u518D\u52A0\u5C31\u6210\u53CC\u7EBF\uFF09\u3002 */\n.dshpc-table--plain .dshpc-table__state-row--footer .dshpc-table__state-cell{\n border-top:1px solid var(--dshpc-border);\n}\n\n/* \u6CA1\u6709\u5DE6\u53F3\u5916\u6846\u65F6\uFF08borders=y\uFF09\u5E95\u90E8\u72B6\u6001\u884C\u4E0B\u9762\u90A3\u6761\u8868\u5E95\u7EBF\u4E5F\u53BB\u6389\uFF1A\n \u72B6\u6001\u884C\u53EA\u7559\u4E0A\u65B9\u4E00\u6761\u5B9E\u7EBF\uFF0C\u5426\u5219\u56FE\u6807 / \u6587\u6848\u4E0B\u65B9\u8FD8\u591A\u4E00\u6761\u5B64\u7EBF\uFF082026-10-31 \u7528\u6237\u5B9A\uFF09\u3002\n borders=none \u672C\u6765\u5C31\u6CA1\u6709\u5E95\u8FB9\uFF0C\u65E0\u9700\u5728\u6B64\u91CD\u590D\u3002 */\n.dshpc-table--plain.dshpc-table--borders-y.dshpc-table--foot-no-bottom{border-bottom:0;}\n\n/* \u884C\u60AC\u6D6E\uFF1A\u53EA\u5728\u53EF\u70B9\u884C\u4E0A\u7ED9\u53CD\u9988\uFF0C\u9759\u6001\u8868\u683C\u4E0D\u8BEF\u5BFC\u7528\u6237\u4EE5\u4E3A\u80FD\u70B9\u3002\n \u5E95\u8272\u662F\u6781\u6DE1\u4E2D\u6027\u7070\uFF08--dshpc-table-row-hover\uFF1A\u4EAE\u8272\u4E00\u5C42\u6DE1\u9ED1 \u22481.5%\uFF0C\u6697\u8272\u4E00\u5C42\u6DE1\u767D \u22483%\uFF09\u2014\u2014\n 2026-10-30 \u7528\u6237\uFF1Ahover \u8981\u7279\u522B\u6DE1\u7684\u7070\u3001\u4E0D\u8981\u6DE1\u84DD\uFF08\u7B2C\u4E8C\u6B21\u53C8\u8981\u6C42\u518D\u6D45\u4E00\u534A\uFF09\u3002\u5E26 __body \u4E0A\u4E0B\u6587\u662F\u4E3A\u4E86\u538B\u8FC7\u57FA\u7840\u5C42\u7684\u6591\u9A6C\u7EB9\uFF08\u89C1 table.css\uFF09\u3002 */\n.dshpc-table--plain .dshpc-table__body .dshpc-table__row[data-interactive='true']:hover{background:var(--dshpc-table-row-hover);}\n\n/* \u9009\u4E2D\u884C\uFF1A\u6DE1\u84DD\u5E95 + \u5DE6\u4FA7\u84DD\u7AD6\u6761\u3002\u7528\u80CC\u666F\u6E10\u53D8\u753B\u6761\uFF0C\u907F\u514D tr \u4E0A\u4F2A\u5143\u7D20 / \u5B9A\u4F4D\u7684\u517C\u5BB9\u95EE\u9898\uFF1B\n \u4E24\u6761\u9009\u62E9\u5668\u540C\u4E00\u4EFD\u58F0\u660E\uFF1A\u60AC\u6D6E\u6001\uFF08\u591A\u4E00\u4E2A\u5C5E\u6027 + \u4F2A\u7C7B\uFF09\u4E0D\u4F1A\u76D6\u6389\u9009\u4E2D\u6001\u3002\n \u5E95\u8272\u7528 business-soft\uFF08\u6BD4\u60AC\u6D6E\u518D\u660E\u786E\u4E00\u6863\u4F46\u4ECD\u662F\u6D45\u8272\uFF09\uFF0C\u6761\u672C\u8EAB\u624D\u662F\u300C\u9009\u4E2D\u300D\u7684\u4FE1\u53F7\u3002\n \u7279\u5F02\u6027 4 \u7EA7\uFF0C\u9AD8\u4E8E\u57FA\u7840\u5C42\u7684\u6591\u9A6C\u7EB9\uFF083 \u7EA7\uFF09\u21D2 \u5076\u6570\u884C\u4E5F\u80FD\u6B63\u5E38\u9009\u4E2D\u3002 */\n.dshpc-table--plain .dshpc-table__body .dshpc-table__row[data-selected='true'],\n.dshpc-table--plain .dshpc-table__body .dshpc-table__row[data-selected='true'][data-interactive='true']:hover{\n background:linear-gradient(to right,var(--dshpc-business) 3px,var(--dshpc-business-soft) 3px);\n}\n";
2
- //# sourceMappingURL=table-plain-css.generated.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-plain-css.generated.d.ts","sourceRoot":"","sources":["../../../src/ui/controls/table-plain-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,6qSAA6tJ,CAAA"}
@@ -1,4 +0,0 @@
1
- // ⚠️ 生成物,勿手改。真源 = src/ui/controls/table-plain.css
2
- // 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
3
- export const TABLE_PLAIN_CSS = "/* ── 外观一 · Plain(第一个样式:白卡片上的轻量表格)─────────────────────\n 特征:外框 + 灰底表头(含下边线,双行分组表头也清楚)、竖向分隔线、\n 数据行只保留极淡底线(不画重横线)、行悬浮淡蓝、选中行淡蓝底 + 左侧 3px 蓝竖条。\n 选择器全部挂在 .dshpc-table--plain 下,和基础层不同名(注入顺序无关)。\n 竖分隔线按列声明(格子上的 data-divider),不用相邻兄弟选择器 —— 后者会让每行首格\n 永远没有左线(用户 2026-10-30 真机看到的 Name 左侧缺线),且单元格跨列后会画错位置。\n 后续外观照此另建:table-grid.css / table-zebra.css,各自一个组件、各自 import 自己那份。 */\n\n/* 外框四态:all 四边 / x 只有左右 / y 只有上下 / none 全不要。\n 组件总会按 borders 属性和上对应 class,故这里不存在「无 class 的裸表」。\n 「不要左右两条边」就是 borders='y'。 */\n.dshpc-table--plain.dshpc-table--borders-all{border:1px solid var(--dshpc-border);}\n.dshpc-table--plain.dshpc-table--borders-x{border-left:1px solid var(--dshpc-border);\n border-right:1px solid var(--dshpc-border);}\n.dshpc-table--plain.dshpc-table--borders-y{border-top:1px solid var(--dshpc-border);\n border-bottom:1px solid var(--dshpc-border);}\n.dshpc-table--plain.dshpc-table--borders-none{border:0;}\n\n/* 表头:中性灰底 + 下边线。底色走 --dshpc-table-head-bg(= --dshpc-surface-sunken,\n 与通栏那层灰同源;2026-10-30 用户二次定案:表头 / 通栏互换底色);下边线兜住分组表头的第二层。 */\n.dshpc-table--plain .dshpc-table__head-cell{\n background:var(--dshpc-table-head-bg);\n border-bottom:1px solid var(--dshpc-border);\n}\n.dshpc-table--plain .dshpc-table__head-cell--group{color:var(--dshpc-fg-3);}\n\n/* 表头多色:列级 headerTone 打到 data-header-tone,浅底 + 同色文字。\n 色值全部来自 token(soft 底 / 实色字),暗色主题自动跟随,不写死任何 hex。\n 这组规则比上方灰底规则多一个属性选择器,必然覆盖默认灰底。 */\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='business']{background:var(--dshpc-business-soft);color:var(--dshpc-business);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='success']{background:var(--dshpc-success-soft);color:var(--dshpc-success);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='warning']{background:var(--dshpc-warning-soft);color:var(--dshpc-warning);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='danger']{background:var(--dshpc-danger-soft);color:var(--dshpc-danger);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='purple']{background:var(--dshpc-purple-soft);color:var(--dshpc-purple);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='pink']{background:var(--dshpc-pink-soft);color:var(--dshpc-pink);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='cyan']{background:var(--dshpc-cyan-soft);color:var(--dshpc-cyan);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='teal']{background:var(--dshpc-teal-soft);color:var(--dshpc-teal);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='orange']{background:var(--dshpc-orange-soft);color:var(--dshpc-orange);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='indigo']{background:var(--dshpc-indigo-soft);color:var(--dshpc-indigo);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='rose']{background:var(--dshpc-rose-soft);color:var(--dshpc-rose);}\n.dshpc-table--plain .dshpc-table__head-cell[data-header-tone='slate']{background:var(--dshpc-slate-soft);color:var(--dshpc-slate);}\n\n/* 竖分隔线:按列声明,**默认不画**。组件只给 divider: true 的列打 data-divider='left',\n 首列恒不画(那是外框的位置)。默认表格 = 只有横线、没有一条竖线;\n 要「列间有线」就给对应列 divider:true。 */\n.dshpc-table--plain .dshpc-table__head-cell[data-divider='left'],\n.dshpc-table--plain .dshpc-table__cell[data-divider='left']{border-left:1px solid var(--dshpc-border);}\n\n/* 数据行之间的极淡底线:只帮眼睛「分行」,不回到粗横线表格的老样子。 */\n.dshpc-table--plain .dshpc-table__row + .dshpc-table__row .dshpc-table__cell{\n border-top:1px solid var(--dshpc-border-faint);\n}\n\n/* 底部状态行(加载更多 / 到底):整行通栏,与上方数据行之间补一条实线。\n 只补顶线:左右两条不由这一格重复画 —— borders=all / x 时表级外框已经兜住;\n borders=y / none 本来就没有左右边。整表加载占位行不加(表头已有下边线,再加就成双线)。 */\n.dshpc-table--plain .dshpc-table__state-row--footer .dshpc-table__state-cell{\n border-top:1px solid var(--dshpc-border);\n}\n\n/* 没有左右外框时(borders=y)底部状态行下面那条表底线也去掉:\n 状态行只留上方一条实线,否则图标 / 文案下方还多一条孤线(2026-10-31 用户定)。\n borders=none 本来就没有底边,无需在此重复。 */\n.dshpc-table--plain.dshpc-table--borders-y.dshpc-table--foot-no-bottom{border-bottom:0;}\n\n/* 行悬浮:只在可点行上给反馈,静态表格不误导用户以为能点。\n 底色是极淡中性灰(--dshpc-table-row-hover:亮色一层淡黑 ≈1.5%,暗色一层淡白 ≈3%)——\n 2026-10-30 用户:hover 要特别淡的灰、不要淡蓝(第二次又要求再浅一半)。带 __body 上下文是为了压过基础层的斑马纹(见 table.css)。 */\n.dshpc-table--plain .dshpc-table__body .dshpc-table__row[data-interactive='true']:hover{background:var(--dshpc-table-row-hover);}\n\n/* 选中行:淡蓝底 + 左侧蓝竖条。用背景渐变画条,避免 tr 上伪元素 / 定位的兼容问题;\n 两条选择器同一份声明:悬浮态(多一个属性 + 伪类)不会盖掉选中态。\n 底色用 business-soft(比悬浮再明确一档但仍是浅色),条本身才是「选中」的信号。\n 特异性 4 级,高于基础层的斑马纹(3 级)⇒ 偶数行也能正常选中。 */\n.dshpc-table--plain .dshpc-table__body .dshpc-table__row[data-selected='true'],\n.dshpc-table--plain .dshpc-table__body .dshpc-table__row[data-selected='true'][data-interactive='true']:hover{\n background:linear-gradient(to right,var(--dshpc-business) 3px,var(--dshpc-business-soft) 3px);\n}\n";
4
- //# sourceMappingURL=table-plain-css.generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-plain-css.generated.js","sourceRoot":"","sources":["../../../src/ui/controls/table-plain-css.generated.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,0tJAA0tJ,CAAA"}
@@ -1,16 +0,0 @@
1
- export { SEGMENTED_CSS } from './controls/segmented-css.generated.js';
2
- export { BUTTON_CSS } from './controls/button-css.generated.js';
3
- export { FIELD_CSS } from './controls/field-css.generated.js';
4
- export { LOADING_CSS } from './controls/loading-css.generated.js';
5
- export { LOADER_CSS } from './controls/loader-css.generated.js';
6
- export { LOADER_BAR_CSS } from './controls/loader-bar-css.generated.js';
7
- export { QUICK_TOOLBAR_CSS } from './controls/quick-toolbar-css.generated.js';
8
- export { HINT_CSS } from './controls/hint-css.generated.js';
9
- export { DATETIME_CSS } from './controls/datetime-css.generated.js';
10
- export { SPLIT_GROUP_CSS } from './controls/split-group-css.generated.js';
11
- export { INPUT_GROUP_CSS } from './controls/input-group-css.generated.js';
12
- export { TABLE_BASE_CSS } from './controls/table-css.generated.js';
13
- export { TABLE_PLAIN_CSS } from './controls/table-plain-css.generated.js';
14
- export { PAGINATION_CSS } from './controls/pagination-css.generated.js';
15
- export { SECTION_HEAD_CSS } from './controls/section-head-css.generated.js';
16
- //# sourceMappingURL=controls-css.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controls-css.d.ts","sourceRoot":"","sources":["../../src/ui/controls-css.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA"}
@@ -1,26 +0,0 @@
1
- // 控件样式。类名与变量统一使用 dshpc 前缀。
2
- // ⚠️ 曾有过的错误结论(2026-10-19 已查清,勿回潮):
3
- // 「宿主会吃掉 token 块之后的第一条 CSS 规则」是**误判**,因此加的 `.dshpc-css-guard`
4
- // 牺牲规则也已删除。真因见 `docs/design/external/dsh-host.md` §9:tokens 模板字符串
5
- // 结尾多了一个反斜杠,在注入文本里留下字面反引号,把**紧随其后的那条规则的选择器**污染成
6
- // 匹配不到任何元素的怪选择器(规则仍在 CSSOM 里,只是永不生效)——守卫当年只是替它挨刀。
7
- // 现在由 `test/css-contract.test.mjs` 盯「CSS 文本里不得出现反引号 / 反斜杠」。
8
- export { SEGMENTED_CSS } from './controls/segmented-css.generated.js';
9
- export { BUTTON_CSS } from './controls/button-css.generated.js';
10
- export { FIELD_CSS } from './controls/field-css.generated.js';
11
- export { LOADING_CSS } from './controls/loading-css.generated.js';
12
- export { LOADER_CSS } from './controls/loader-css.generated.js';
13
- export { LOADER_BAR_CSS } from './controls/loader-bar-css.generated.js';
14
- export { QUICK_TOOLBAR_CSS } from './controls/quick-toolbar-css.generated.js';
15
- export { HINT_CSS } from './controls/hint-css.generated.js';
16
- export { DATETIME_CSS } from './controls/datetime-css.generated.js';
17
- export { SPLIT_GROUP_CSS } from './controls/split-group-css.generated.js';
18
- export { INPUT_GROUP_CSS } from './controls/input-group-css.generated.js';
19
- // 表格:基础层与各外观皮肤分开导出 —— 组件只 import 自己那一份(外观按需分包)。
20
- export { TABLE_BASE_CSS } from './controls/table-css.generated.js';
21
- export { TABLE_PLAIN_CSS } from './controls/table-plain-css.generated.js';
22
- // 分页:独立控件,Table 内建分页时也复用这一份。
23
- export { PAGINATION_CSS } from './controls/pagination-css.generated.js';
24
- // 分区标题:SectionHead 自注入;Table 的通栏标题也走它。
25
- export { SECTION_HEAD_CSS } from './controls/section-head-css.generated.js';
26
- //# sourceMappingURL=controls-css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controls-css.js","sourceRoot":"","sources":["../../src/ui/controls-css.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,mCAAmC;AACnC,8DAA8D;AAC9D,kEAAkE;AAClE,gDAAgD;AAChD,kDAAkD;AAClD,4DAA4D;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,gDAAgD;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA"}
package/dist/ui/css.d.ts DELETED
@@ -1,35 +0,0 @@
1
- import { type StyleKit } from '../design/index.js';
2
- /**
3
- * 旧版「控件样式全量域」名。
4
- *
5
- * ⚠️ 2026-10-30 起这里**不再**聚合注入全部控件样式:当初是把 17 组 CSS 拼成
6
- * `CONTROLS_CSS` 一把 `applyStyle(CONTROLS_DOMAIN, …)`,结果 `css.ts` 静态依赖了
7
- * 每一份 CSS —— 打包器无法摇树,插件只用 Button 也会背上全部 71.7 KB 样式文本。
8
- * 现在改成每个控件自注入自己那份(见 {@link ensureComponentStyles})。
9
- *
10
- * 保留导出只为向后兼容消费方可能引用过它这个常量,值不再参与注入。
11
- */
12
- export declare const CONTROLS_DOMAIN = "controls";
13
- export declare function setStyleKit(kit: StyleKit): void;
14
- export declare function getStyleKit(): StyleKit;
15
- /**
16
- * 只登记 token 变量(幂等;不挂载 `<style>`)。
17
- *
18
- * 插件启动时调一次做预热是安全的,但**不是必需的** —— 任何控件首次渲染时
19
- * 也会自行登记 token(见 {@link ensureComponentStyles})。token 域始终排在所有控件域之前
20
- * (`style-kit.ts` 的 composeCss 强制),所以颜色 / 变量引用链不受拆分影响。
21
- */
22
- export declare function ensureControls(kit?: StyleKit): void;
23
- /**
24
- * 确保某个控件自己的样式已登记、且 `<style>` 已挂载(幂等,可直接在 render 里调)。
25
- *
26
- * 每个控件**只传自己那份 CSS**:把它依赖的那 1~2 份传进来即可,绝不能顺手把别人的拼上去
27
- * (一拼就又退化成全量,包体省不下来)。同理,若是某份 CSS 里带上下文限定的修饰
28
- * (如 `.dshpc-split .dshpc-seg`),那份由提供上下文的控件自己负责,消费者不用管。
29
- *
30
- * @param domain 本控件的样式域,repo 内唯一。
31
- * @param css 该控件自己的 CSS 文本。
32
- * @param kit 样式设施(默认取当前插件的 kit)。
33
- */
34
- export declare function ensureComponentStyles(domain: string, css: string, kit?: StyleKit): void;
35
- //# sourceMappingURL=css.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/ui/css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,aAAa,CAAA;AAWzC,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAE/C;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,QAAkB,GAAG,IAAI,CAE5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,QAAkB,GAAG,IAAI,CAGhG"}
package/dist/ui/css.js DELETED
@@ -1,52 +0,0 @@
1
- import { createStyleKit } from '../design/index.js';
2
- /**
3
- * 旧版「控件样式全量域」名。
4
- *
5
- * ⚠️ 2026-10-30 起这里**不再**聚合注入全部控件样式:当初是把 17 组 CSS 拼成
6
- * `CONTROLS_CSS` 一把 `applyStyle(CONTROLS_DOMAIN, …)`,结果 `css.ts` 静态依赖了
7
- * 每一份 CSS —— 打包器无法摇树,插件只用 Button 也会背上全部 71.7 KB 样式文本。
8
- * 现在改成每个控件自注入自己那份(见 {@link ensureComponentStyles})。
9
- *
10
- * 保留导出只为向后兼容消费方可能引用过它这个常量,值不再参与注入。
11
- */
12
- export const CONTROLS_DOMAIN = 'controls';
13
- /**
14
- * 当前插件的样式设施。
15
- *
16
- * 为什么是模块级而不是 React Context:core 会被**内联进每个插件各自的 bundle**,
17
- * 模块级变量天然按插件隔离(不像共享运行时那样会互相踩)。
18
- * 插件启动时 `setStyleKit(createStyleKit({ id }))` 一次即可;不设就走默认 kit。
19
- */
20
- let current = createStyleKit({ id: 'dsh-plugin-core-ui' });
21
- export function setStyleKit(kit) {
22
- current = kit;
23
- }
24
- export function getStyleKit() {
25
- return current;
26
- }
27
- /**
28
- * 只登记 token 变量(幂等;不挂载 `<style>`)。
29
- *
30
- * 插件启动时调一次做预热是安全的,但**不是必需的** —— 任何控件首次渲染时
31
- * 也会自行登记 token(见 {@link ensureComponentStyles})。token 域始终排在所有控件域之前
32
- * (`style-kit.ts` 的 composeCss 强制),所以颜色 / 变量引用链不受拆分影响。
33
- */
34
- export function ensureControls(kit = current) {
35
- kit.registerStyle('tokens', kit.tokensCss);
36
- }
37
- /**
38
- * 确保某个控件自己的样式已登记、且 `<style>` 已挂载(幂等,可直接在 render 里调)。
39
- *
40
- * 每个控件**只传自己那份 CSS**:把它依赖的那 1~2 份传进来即可,绝不能顺手把别人的拼上去
41
- * (一拼就又退化成全量,包体省不下来)。同理,若是某份 CSS 里带上下文限定的修饰
42
- * (如 `.dshpc-split .dshpc-seg`),那份由提供上下文的控件自己负责,消费者不用管。
43
- *
44
- * @param domain 本控件的样式域,repo 内唯一。
45
- * @param css 该控件自己的 CSS 文本。
46
- * @param kit 样式设施(默认取当前插件的 kit)。
47
- */
48
- export function ensureComponentStyles(domain, css, kit = current) {
49
- kit.registerStyle('tokens', kit.tokensCss);
50
- kit.applyStyle(domain, css);
51
- }
52
- //# sourceMappingURL=css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/ui/css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,MAAM,oBAAoB,CAAA;AAElE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAA;AAEzC;;;;;;GAMG;AACH,IAAI,OAAO,GAAa,cAAc,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAA;AAEpE,MAAM,UAAU,WAAW,CAAC,GAAa;IACvC,OAAO,GAAG,GAAG,CAAA;AACf,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAgB,OAAO;IACpD,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;AAC5C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,GAAW,EAAE,MAAgB,OAAO;IACxF,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IAC1C,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC7B,CAAC"}
@@ -1,102 +0,0 @@
1
- /** 时间精度:day 只选日期;hour / minute / second 依次多一级时间选择。 */
2
- export type DateTimePrecision = 'day' | 'hour' | 'minute' | 'second';
3
- /** 本地时区的日期时间各部分(毫秒单独存:结束端补全需要 .999)。 */
4
- export interface DateTimeParts {
5
- year: number;
6
- month: number;
7
- day: number;
8
- hour: number;
9
- minute: number;
10
- second: number;
11
- ms: number;
12
- }
13
- /** 月历网格中的一格。 */
14
- export interface DayCell {
15
- /** `YYYY-MM-DD`(本地日历日,用于比对 / 回填)。 */
16
- iso: string;
17
- year: number;
18
- month: number;
19
- day: number;
20
- /** 是否属于当前展示月(false = 前后月的补位格)。 */
21
- inMonth: boolean;
22
- /** 0 = 周一 … 6 = 周日(周一起排)。 */
23
- weekday: number;
24
- }
25
- /** 时 / 分 / 秒三个步进列。 */
26
- export type StepUnit = 'hour' | 'minute' | 'second';
27
- /** 日历端选中的日期(可空:时间允许先于日期选,「确定」时才算账)。 */
28
- export interface DayRef {
29
- year: number;
30
- month: number;
31
- day: number;
32
- }
33
- /** 时间部分恒存在(默认零);没选日期时步进照样能调。 */
34
- export interface TimeParts {
35
- hour: number;
36
- minute: number;
37
- second: number;
38
- ms: number;
39
- }
40
- /** 一端的草稿:日期(可空)+ 时间(恒存在)。 */
41
- export interface EndDraft {
42
- day: DayRef | null;
43
- time: TimeParts;
44
- }
45
- /**
46
- * 本地 ISO(`YYYY-MM-DDTHH:mm:ss.SSS`,无时区后缀)→ 各部分。
47
- * 不存在的日期(2026-02-30 / 2026-13-01)经 Date 反向校验后返回 null。
48
- */
49
- export declare function parseDateTime(iso: string): DateTimeParts | null;
50
- /**
51
- * 各部分 → 本地 ISO。毫秒恒三位:数据库若只收「到秒」,`23:59:59.999` 被截成
52
- * `23:59:59` 仍是当天最后一秒,语义不坏(优雅降级,调用方无需特殊处理)。
53
- */
54
- export declare function formatDateTimeIso(p: DateTimeParts): string;
55
- /** 各部分 → 本地毫秒时间戳(仅用于比较,不涉及时区换算)。 */
56
- export declare function partsToMs(p: DateTimeParts): number;
57
- /** 本地毫秒时间戳 → 各部分。 */
58
- export declare function msToParts(ms: number): DateTimeParts;
59
- /** 当前时刻。 */
60
- export declare function nowParts(): DateTimeParts;
61
- /** 本地 ISO → 一端草稿(日期 / 时间分离);解析失败或空 ⇒ 日期为空、时间归零。 */
62
- export declare function toEndDraft(iso: string | null | undefined): EndDraft;
63
- /** 一端草稿 → 完整时刻;**没选日期 ⇒ null**(调用方据此不传数据)。 */
64
- export declare function partsOf(e: EndDraft): DateTimeParts | null;
65
- /**
66
- * 「现在」按钮的时间部分:按精度截断(day ⇒ 全零;hour ⇒ H:00:00;
67
- * minute ⇒ H:M:00;second ⇒ 完整当前时刻)。
68
- */
69
- export declare function nowTimeFor(precision: DateTimePrecision): TimeParts;
70
- /**
71
- * 起始端补全:未选的时间单位归零。
72
- * day ⇒ `00:00:00.000`;hour ⇒ `H:00:00.000`;minute ⇒ `H:M:00.000`;second ⇒ ms 归零。
73
- */
74
- export declare function floorToPrecision(p: DateTimeParts, precision: DateTimePrecision): DateTimeParts;
75
- /**
76
- * 结束端补全:未选的时间单位拉到最大。
77
- * day ⇒ `23:59:59.999`;hour ⇒ `H:59:59.999`;minute ⇒ `H:M:59.999`;
78
- * second ⇒ 精确值不动(用户显式选到秒,不猜)。
79
- */
80
- export declare function ceilToPrecision(p: DateTimeParts, precision: DateTimePrecision): DateTimeParts;
81
- /**
82
- * 6×7 固定月历网格,周一起排;补位格给真实日期并标 `inMonth: false`。
83
- * 42 格恒定 ⇒ 弹层高度不随月份跳动。
84
- */
85
- export declare function buildMonthCells(year: number, month: number): DayCell[];
86
- /** 月历标题:zh `2026年10月`;en `October 2026`。 */
87
- export declare function monthCaption(year: number, month: number, locale: 'zh' | 'en'): string;
88
- /** 星期表头(周一起排)。 */
89
- export declare function weekdayLabels(locale: 'zh' | 'en'): readonly string[];
90
- /** 日月格的无障碍标题:zh `2026年11月3日`;en `Tue, 2026-11-03`。 */
91
- export declare function dayCaption(cell: DayCell, locale: 'zh' | 'en'): string;
92
- /** 步进 ±1 循环(23→0、59→0):免去用户点 60 次选分钟。 */
93
- export declare function stepUnit(value: number, unit: StepUnit, delta: number): number;
94
- /** 步进列的上限(hour 23 / minute 59 / second 59)。 */
95
- export declare function stepMax(unit: StepUnit): number;
96
- /** 把键入 / 滚轮得到的原始值收进合法范围(NaN 归 0)。 */
97
- export declare function clampUnit(value: number, unit: StepUnit): number;
98
- /** 时间段是否成立(起 ≤ 止;任一端解析失败 ⇒ 不成立)。 */
99
- export declare function rangeIsValid(startIso: string, endIso: string): boolean;
100
- /** 两个时刻是否同一本地日历日。 */
101
- export declare function sameLocalDay(a: DateTimeParts, b: DateTimeParts): boolean;
102
- //# sourceMappingURL=datetime-logic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datetime-logic.d.ts","sourceRoot":"","sources":["../../src/ui/datetime-logic.ts"],"names":[],"mappings":"AAKA,sDAAsD;AACtD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEpE,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;CACX;AAED,gBAAgB;AAChB,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,sBAAsB;AACtB,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEnD,uCAAuC;AACvC,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,gCAAgC;AAChC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;CACX;AAED,6BAA6B;AAC7B,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,IAAI,EAAE,SAAS,CAAA;CAChB;AAoBD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAwB/D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED,oCAAoC;AACpC,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAElD;AAED,qBAAqB;AACrB,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAWnD;AAED,YAAY;AACZ,wBAAgB,QAAQ,IAAI,aAAa,CAExC;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,CAOnE;AAED,8CAA8C;AAC9C,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,CAMlE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,GAAG,aAAa,CAW9F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,GAAG,aAAa,CAW7F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAetE;AAED,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAIrF;AAED,kBAAkB;AAClB,wBAAgB,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,MAAM,EAAE,CAEpE;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAKrE;AAED,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED,+CAA+C;AAC/C,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE9C;AAED,qCAAqC;AACrC,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAI/D;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKtE;AAED,qBAAqB;AACrB,wBAAgB,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAExE"}