dsh-plugin-core 0.33.1 → 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 (638) hide show
  1. package/README.md +9 -9
  2. package/dist/adv/explorer/open.js +4 -4
  3. package/dist/adv/explorer/open.js.map +1 -1
  4. package/dist/ui/feedback/host-toast.d.ts +1 -1
  5. package/dist/ui/feedback/host-toast.js +1 -1
  6. package/docs/help/explorer.doc.ts +1 -1
  7. package/docs/help/explorer.md +1 -1
  8. package/docs/help/integration.doc.ts +2 -2
  9. package/docs/help/integration.md +2 -2
  10. package/docs/help/session.doc.ts +1 -1
  11. package/docs/help/session.md +1 -1
  12. package/docs/help/ui.doc.ts +1 -1
  13. package/docs/help/ui.md +1 -1
  14. package/package.json +16 -16
  15. package/dist/explorer/ExplorerPanel.d.ts +0 -25
  16. package/dist/explorer/ExplorerPanel.d.ts.map +0 -1
  17. package/dist/explorer/ExplorerPanel.js +0 -111
  18. package/dist/explorer/ExplorerPanel.js.map +0 -1
  19. package/dist/explorer/FileBrowser.d.ts +0 -58
  20. package/dist/explorer/FileBrowser.d.ts.map +0 -1
  21. package/dist/explorer/FileBrowser.js +0 -632
  22. package/dist/explorer/FileBrowser.js.map +0 -1
  23. package/dist/explorer/crumb-nav.d.ts +0 -45
  24. package/dist/explorer/crumb-nav.d.ts.map +0 -1
  25. package/dist/explorer/crumb-nav.js +0 -78
  26. package/dist/explorer/crumb-nav.js.map +0 -1
  27. package/dist/explorer/crumbs-menu.d.ts +0 -37
  28. package/dist/explorer/crumbs-menu.d.ts.map +0 -1
  29. package/dist/explorer/crumbs-menu.js +0 -102
  30. package/dist/explorer/crumbs-menu.js.map +0 -1
  31. package/dist/explorer/explorer-css.d.ts +0 -2
  32. package/dist/explorer/explorer-css.d.ts.map +0 -1
  33. package/dist/explorer/explorer-css.generated.d.ts +0 -2
  34. package/dist/explorer/explorer-css.generated.d.ts.map +0 -1
  35. package/dist/explorer/explorer-css.generated.js +0 -4
  36. package/dist/explorer/explorer-css.generated.js.map +0 -1
  37. package/dist/explorer/explorer-css.js +0 -3
  38. package/dist/explorer/explorer-css.js.map +0 -1
  39. package/dist/explorer/fs-face.d.ts +0 -36
  40. package/dist/explorer/fs-face.d.ts.map +0 -1
  41. package/dist/explorer/fs-face.js +0 -74
  42. package/dist/explorer/fs-face.js.map +0 -1
  43. package/dist/explorer/index.d.ts +0 -6
  44. package/dist/explorer/index.d.ts.map +0 -1
  45. package/dist/explorer/index.js +0 -6
  46. package/dist/explorer/index.js.map +0 -1
  47. package/dist/explorer/landing.d.ts +0 -26
  48. package/dist/explorer/landing.d.ts.map +0 -1
  49. package/dist/explorer/landing.js +0 -43
  50. package/dist/explorer/landing.js.map +0 -1
  51. package/dist/explorer/open.d.ts +0 -137
  52. package/dist/explorer/open.d.ts.map +0 -1
  53. package/dist/explorer/open.js +0 -350
  54. package/dist/explorer/open.js.map +0 -1
  55. package/dist/explorer/picker-placement.d.ts +0 -69
  56. package/dist/explorer/picker-placement.d.ts.map +0 -1
  57. package/dist/explorer/picker-placement.js +0 -122
  58. package/dist/explorer/picker-placement.js.map +0 -1
  59. package/dist/explorer/preview/BytesPreview.d.ts +0 -12
  60. package/dist/explorer/preview/BytesPreview.d.ts.map +0 -1
  61. package/dist/explorer/preview/BytesPreview.js +0 -60
  62. package/dist/explorer/preview/BytesPreview.js.map +0 -1
  63. package/dist/explorer/preview/HtmlPreview.d.ts +0 -17
  64. package/dist/explorer/preview/HtmlPreview.d.ts.map +0 -1
  65. package/dist/explorer/preview/HtmlPreview.js +0 -113
  66. package/dist/explorer/preview/HtmlPreview.js.map +0 -1
  67. package/dist/explorer/preview/OfficePreview.d.ts +0 -12
  68. package/dist/explorer/preview/OfficePreview.d.ts.map +0 -1
  69. package/dist/explorer/preview/OfficePreview.js +0 -63
  70. package/dist/explorer/preview/OfficePreview.js.map +0 -1
  71. package/dist/explorer/preview/TextPreview.d.ts +0 -18
  72. package/dist/explorer/preview/TextPreview.d.ts.map +0 -1
  73. package/dist/explorer/preview/TextPreview.js +0 -122
  74. package/dist/explorer/preview/TextPreview.js.map +0 -1
  75. package/dist/explorer/preview/index.d.ts +0 -24
  76. package/dist/explorer/preview/index.d.ts.map +0 -1
  77. package/dist/explorer/preview/index.js +0 -58
  78. package/dist/explorer/preview/index.js.map +0 -1
  79. package/dist/explorer/preview/md-labels.d.ts +0 -3
  80. package/dist/explorer/preview/md-labels.d.ts.map +0 -1
  81. package/dist/explorer/preview/md-labels.js +0 -12
  82. package/dist/explorer/preview/md-labels.js.map +0 -1
  83. package/dist/explorer/preview-title-bar.d.ts +0 -26
  84. package/dist/explorer/preview-title-bar.d.ts.map +0 -1
  85. package/dist/explorer/preview-title-bar.js +0 -48
  86. package/dist/explorer/preview-title-bar.js.map +0 -1
  87. package/dist/explorer/types.d.ts +0 -259
  88. package/dist/explorer/types.d.ts.map +0 -1
  89. package/dist/explorer/types.js +0 -379
  90. package/dist/explorer/types.js.map +0 -1
  91. package/dist/session/SessionViewModal.d.ts +0 -37
  92. package/dist/session/SessionViewModal.d.ts.map +0 -1
  93. package/dist/session/SessionViewModal.js +0 -1133
  94. package/dist/session/SessionViewModal.js.map +0 -1
  95. package/dist/session/changes.d.ts +0 -73
  96. package/dist/session/changes.d.ts.map +0 -1
  97. package/dist/session/changes.js +0 -134
  98. package/dist/session/changes.js.map +0 -1
  99. package/dist/session/faces.d.ts +0 -244
  100. package/dist/session/faces.d.ts.map +0 -1
  101. package/dist/session/faces.js +0 -17
  102. package/dist/session/faces.js.map +0 -1
  103. package/dist/session/index.d.ts +0 -7
  104. package/dist/session/index.d.ts.map +0 -1
  105. package/dist/session/index.js +0 -27
  106. package/dist/session/index.js.map +0 -1
  107. package/dist/session/mirror/AskCard.d.ts +0 -35
  108. package/dist/session/mirror/AskCard.d.ts.map +0 -1
  109. package/dist/session/mirror/AskCard.js +0 -131
  110. package/dist/session/mirror/AskCard.js.map +0 -1
  111. package/dist/session/mirror/BashRow.d.ts +0 -14
  112. package/dist/session/mirror/BashRow.d.ts.map +0 -1
  113. package/dist/session/mirror/BashRow.js +0 -143
  114. package/dist/session/mirror/BashRow.js.map +0 -1
  115. package/dist/session/mirror/ChangedFileDiff.d.ts +0 -25
  116. package/dist/session/mirror/ChangedFileDiff.d.ts.map +0 -1
  117. package/dist/session/mirror/ChangedFileDiff.js +0 -178
  118. package/dist/session/mirror/ChangedFileDiff.js.map +0 -1
  119. package/dist/session/mirror/ChangedFilesCard.d.ts +0 -18
  120. package/dist/session/mirror/ChangedFilesCard.d.ts.map +0 -1
  121. package/dist/session/mirror/ChangedFilesCard.js +0 -165
  122. package/dist/session/mirror/ChangedFilesCard.js.map +0 -1
  123. package/dist/session/mirror/ChatGroupSeat.d.ts +0 -24
  124. package/dist/session/mirror/ChatGroupSeat.d.ts.map +0 -1
  125. package/dist/session/mirror/ChatGroupSeat.js +0 -135
  126. package/dist/session/mirror/ChatGroupSeat.js.map +0 -1
  127. package/dist/session/mirror/ChatNodeSeat.d.ts +0 -43
  128. package/dist/session/mirror/ChatNodeSeat.d.ts.map +0 -1
  129. package/dist/session/mirror/ChatNodeSeat.js +0 -133
  130. package/dist/session/mirror/ChatNodeSeat.js.map +0 -1
  131. package/dist/session/mirror/ChatView.d.ts +0 -47
  132. package/dist/session/mirror/ChatView.d.ts.map +0 -1
  133. package/dist/session/mirror/ChatView.js +0 -138
  134. package/dist/session/mirror/ChatView.js.map +0 -1
  135. package/dist/session/mirror/CommandCard.d.ts +0 -20
  136. package/dist/session/mirror/CommandCard.d.ts.map +0 -1
  137. package/dist/session/mirror/CommandCard.js +0 -69
  138. package/dist/session/mirror/CommandCard.js.map +0 -1
  139. package/dist/session/mirror/ContextInjectionRow.d.ts +0 -18
  140. package/dist/session/mirror/ContextInjectionRow.d.ts.map +0 -1
  141. package/dist/session/mirror/ContextInjectionRow.js +0 -50
  142. package/dist/session/mirror/ContextInjectionRow.js.map +0 -1
  143. package/dist/session/mirror/Deliverables.d.ts +0 -24
  144. package/dist/session/mirror/Deliverables.d.ts.map +0 -1
  145. package/dist/session/mirror/Deliverables.js +0 -175
  146. package/dist/session/mirror/Deliverables.js.map +0 -1
  147. package/dist/session/mirror/GenericCommandCard.d.ts +0 -136
  148. package/dist/session/mirror/GenericCommandCard.d.ts.map +0 -1
  149. package/dist/session/mirror/GenericCommandCard.js +0 -948
  150. package/dist/session/mirror/GenericCommandCard.js.map +0 -1
  151. package/dist/session/mirror/MessageIconActions.d.ts +0 -16
  152. package/dist/session/mirror/MessageIconActions.d.ts.map +0 -1
  153. package/dist/session/mirror/MessageIconActions.js +0 -69
  154. package/dist/session/mirror/MessageIconActions.js.map +0 -1
  155. package/dist/session/mirror/MessageItem.d.ts +0 -93
  156. package/dist/session/mirror/MessageItem.d.ts.map +0 -1
  157. package/dist/session/mirror/MessageItem.js +0 -194
  158. package/dist/session/mirror/MessageItem.js.map +0 -1
  159. package/dist/session/mirror/ReasoningRow.d.ts +0 -11
  160. package/dist/session/mirror/ReasoningRow.d.ts.map +0 -1
  161. package/dist/session/mirror/ReasoningRow.js +0 -111
  162. package/dist/session/mirror/ReasoningRow.js.map +0 -1
  163. package/dist/session/mirror/RunningStatus.d.ts +0 -12
  164. package/dist/session/mirror/RunningStatus.d.ts.map +0 -1
  165. package/dist/session/mirror/RunningStatus.js +0 -57
  166. package/dist/session/mirror/RunningStatus.js.map +0 -1
  167. package/dist/session/mirror/StatDialog.d.ts +0 -20
  168. package/dist/session/mirror/StatDialog.d.ts.map +0 -1
  169. package/dist/session/mirror/StatDialog.js +0 -49
  170. package/dist/session/mirror/StatDialog.js.map +0 -1
  171. package/dist/session/mirror/ToolDetails.d.ts +0 -65
  172. package/dist/session/mirror/ToolDetails.d.ts.map +0 -1
  173. package/dist/session/mirror/ToolDetails.js +0 -268
  174. package/dist/session/mirror/ToolDetails.js.map +0 -1
  175. package/dist/session/mirror/TurnProcessNodeView.d.ts +0 -10
  176. package/dist/session/mirror/TurnProcessNodeView.d.ts.map +0 -1
  177. package/dist/session/mirror/TurnProcessNodeView.js +0 -57
  178. package/dist/session/mirror/TurnProcessNodeView.js.map +0 -1
  179. package/dist/session/mirror/TurnTailNodeView.d.ts +0 -57
  180. package/dist/session/mirror/TurnTailNodeView.d.ts.map +0 -1
  181. package/dist/session/mirror/TurnTailNodeView.js +0 -106
  182. package/dist/session/mirror/TurnTailNodeView.js.map +0 -1
  183. package/dist/session/mirror/TurnTriggerNodeView.d.ts +0 -16
  184. package/dist/session/mirror/TurnTriggerNodeView.d.ts.map +0 -1
  185. package/dist/session/mirror/TurnTriggerNodeView.js +0 -103
  186. package/dist/session/mirror/TurnTriggerNodeView.js.map +0 -1
  187. package/dist/session/mirror/TurnUsagePanel.d.ts +0 -21
  188. package/dist/session/mirror/TurnUsagePanel.d.ts.map +0 -1
  189. package/dist/session/mirror/TurnUsagePanel.js +0 -41
  190. package/dist/session/mirror/TurnUsagePanel.js.map +0 -1
  191. package/dist/session/mirror/control-details.d.ts +0 -9
  192. package/dist/session/mirror/control-details.d.ts.map +0 -1
  193. package/dist/session/mirror/control-details.js +0 -549
  194. package/dist/session/mirror/control-details.js.map +0 -1
  195. package/dist/session/mirror/detail-i18n.d.ts +0 -4
  196. package/dist/session/mirror/detail-i18n.d.ts.map +0 -1
  197. package/dist/session/mirror/detail-i18n.js +0 -153
  198. package/dist/session/mirror/detail-i18n.js.map +0 -1
  199. package/dist/session/mirror/message-chrome.d.ts +0 -39
  200. package/dist/session/mirror/message-chrome.d.ts.map +0 -1
  201. package/dist/session/mirror/message-chrome.js +0 -153
  202. package/dist/session/mirror/message-chrome.js.map +0 -1
  203. package/dist/session/mirror/process-groups.d.ts +0 -56
  204. package/dist/session/mirror/process-groups.d.ts.map +0 -1
  205. package/dist/session/mirror/process-groups.js +0 -202
  206. package/dist/session/mirror/process-groups.js.map +0 -1
  207. package/dist/session/official-classes.d.ts +0 -28
  208. package/dist/session/official-classes.d.ts.map +0 -1
  209. package/dist/session/official-classes.js +0 -152
  210. package/dist/session/official-classes.js.map +0 -1
  211. package/dist/session/open-review.d.ts +0 -13
  212. package/dist/session/open-review.d.ts.map +0 -1
  213. package/dist/session/open-review.js +0 -32
  214. package/dist/session/open-review.js.map +0 -1
  215. package/dist/session/open-session-view.d.ts +0 -19
  216. package/dist/session/open-session-view.d.ts.map +0 -1
  217. package/dist/session/open-session-view.js +0 -147
  218. package/dist/session/open-session-view.js.map +0 -1
  219. package/dist/session/pending-inputs.d.ts +0 -33
  220. package/dist/session/pending-inputs.d.ts.map +0 -1
  221. package/dist/session/pending-inputs.js +0 -130
  222. package/dist/session/pending-inputs.js.map +0 -1
  223. package/dist/session/session-css.d.ts +0 -2
  224. package/dist/session/session-css.d.ts.map +0 -1
  225. package/dist/session/session-css.generated.d.ts +0 -2
  226. package/dist/session/session-css.generated.d.ts.map +0 -1
  227. package/dist/session/session-css.generated.js +0 -4
  228. package/dist/session/session-css.generated.js.map +0 -1
  229. package/dist/session/session-css.js +0 -3
  230. package/dist/session/session-css.js.map +0 -1
  231. package/dist/session/tail-follow.d.ts +0 -29
  232. package/dist/session/tail-follow.d.ts.map +0 -1
  233. package/dist/session/tail-follow.js +0 -106
  234. package/dist/session/tail-follow.js.map +0 -1
  235. package/dist/session/types.d.ts +0 -28
  236. package/dist/session/types.d.ts.map +0 -1
  237. package/dist/session/types.js +0 -12
  238. package/dist/session/types.js.map +0 -1
  239. package/dist/ui/AlertModal.d.ts +0 -41
  240. package/dist/ui/AlertModal.d.ts.map +0 -1
  241. package/dist/ui/AlertModal.js +0 -45
  242. package/dist/ui/AlertModal.js.map +0 -1
  243. package/dist/ui/Button.d.ts +0 -102
  244. package/dist/ui/Button.d.ts.map +0 -1
  245. package/dist/ui/Button.js +0 -233
  246. package/dist/ui/Button.js.map +0 -1
  247. package/dist/ui/Card.d.ts +0 -65
  248. package/dist/ui/Card.d.ts.map +0 -1
  249. package/dist/ui/Card.js +0 -109
  250. package/dist/ui/Card.js.map +0 -1
  251. package/dist/ui/Checkbox.d.ts +0 -24
  252. package/dist/ui/Checkbox.d.ts.map +0 -1
  253. package/dist/ui/Checkbox.js +0 -35
  254. package/dist/ui/Checkbox.js.map +0 -1
  255. package/dist/ui/Chip.d.ts +0 -28
  256. package/dist/ui/Chip.d.ts.map +0 -1
  257. package/dist/ui/Chip.js +0 -36
  258. package/dist/ui/Chip.js.map +0 -1
  259. package/dist/ui/CodeViewer.d.ts +0 -38
  260. package/dist/ui/CodeViewer.d.ts.map +0 -1
  261. package/dist/ui/CodeViewer.js +0 -107
  262. package/dist/ui/CodeViewer.js.map +0 -1
  263. package/dist/ui/ConfirmModal.d.ts +0 -50
  264. package/dist/ui/ConfirmModal.d.ts.map +0 -1
  265. package/dist/ui/ConfirmModal.js +0 -47
  266. package/dist/ui/ConfirmModal.js.map +0 -1
  267. package/dist/ui/DateTimePicker.d.ts +0 -45
  268. package/dist/ui/DateTimePicker.d.ts.map +0 -1
  269. package/dist/ui/DateTimePicker.js +0 -462
  270. package/dist/ui/DateTimePicker.js.map +0 -1
  271. package/dist/ui/EmptyState.d.ts +0 -12
  272. package/dist/ui/EmptyState.d.ts.map +0 -1
  273. package/dist/ui/EmptyState.js +0 -10
  274. package/dist/ui/EmptyState.js.map +0 -1
  275. package/dist/ui/Field.d.ts +0 -125
  276. package/dist/ui/Field.d.ts.map +0 -1
  277. package/dist/ui/Field.js +0 -175
  278. package/dist/ui/Field.js.map +0 -1
  279. package/dist/ui/FieldHint.d.ts +0 -18
  280. package/dist/ui/FieldHint.d.ts.map +0 -1
  281. package/dist/ui/FieldHint.js +0 -40
  282. package/dist/ui/FieldHint.js.map +0 -1
  283. package/dist/ui/FlipText.d.ts +0 -43
  284. package/dist/ui/FlipText.d.ts.map +0 -1
  285. package/dist/ui/FlipText.js +0 -59
  286. package/dist/ui/FlipText.js.map +0 -1
  287. package/dist/ui/InputGroup.d.ts +0 -91
  288. package/dist/ui/InputGroup.d.ts.map +0 -1
  289. package/dist/ui/InputGroup.js +0 -125
  290. package/dist/ui/InputGroup.js.map +0 -1
  291. package/dist/ui/LiveText.d.ts +0 -13
  292. package/dist/ui/LiveText.d.ts.map +0 -1
  293. package/dist/ui/LiveText.js +0 -19
  294. package/dist/ui/LiveText.js.map +0 -1
  295. package/dist/ui/Loader.d.ts +0 -49
  296. package/dist/ui/Loader.d.ts.map +0 -1
  297. package/dist/ui/Loader.js +0 -79
  298. package/dist/ui/Loader.js.map +0 -1
  299. package/dist/ui/LoaderBar.d.ts +0 -38
  300. package/dist/ui/LoaderBar.d.ts.map +0 -1
  301. package/dist/ui/LoaderBar.js +0 -79
  302. package/dist/ui/LoaderBar.js.map +0 -1
  303. package/dist/ui/Loading.d.ts +0 -69
  304. package/dist/ui/Loading.d.ts.map +0 -1
  305. package/dist/ui/Loading.js +0 -164
  306. package/dist/ui/Loading.js.map +0 -1
  307. package/dist/ui/MarqueeText.d.ts +0 -22
  308. package/dist/ui/MarqueeText.d.ts.map +0 -1
  309. package/dist/ui/MarqueeText.js +0 -52
  310. package/dist/ui/MarqueeText.js.map +0 -1
  311. package/dist/ui/Modal.d.ts +0 -73
  312. package/dist/ui/Modal.d.ts.map +0 -1
  313. package/dist/ui/Modal.js +0 -83
  314. package/dist/ui/Modal.js.map +0 -1
  315. package/dist/ui/ModelPicker.d.ts +0 -48
  316. package/dist/ui/ModelPicker.d.ts.map +0 -1
  317. package/dist/ui/ModelPicker.js +0 -101
  318. package/dist/ui/ModelPicker.js.map +0 -1
  319. package/dist/ui/Pagination.d.ts +0 -59
  320. package/dist/ui/Pagination.d.ts.map +0 -1
  321. package/dist/ui/Pagination.js +0 -112
  322. package/dist/ui/Pagination.js.map +0 -1
  323. package/dist/ui/PanelDock.d.ts +0 -132
  324. package/dist/ui/PanelDock.d.ts.map +0 -1
  325. package/dist/ui/PanelDock.js +0 -390
  326. package/dist/ui/PanelDock.js.map +0 -1
  327. package/dist/ui/Picker.d.ts +0 -56
  328. package/dist/ui/Picker.d.ts.map +0 -1
  329. package/dist/ui/Picker.js +0 -244
  330. package/dist/ui/Picker.js.map +0 -1
  331. package/dist/ui/QuickToolbar.d.ts +0 -54
  332. package/dist/ui/QuickToolbar.d.ts.map +0 -1
  333. package/dist/ui/QuickToolbar.js +0 -254
  334. package/dist/ui/QuickToolbar.js.map +0 -1
  335. package/dist/ui/SectionHead.d.ts +0 -35
  336. package/dist/ui/SectionHead.d.ts.map +0 -1
  337. package/dist/ui/SectionHead.js +0 -45
  338. package/dist/ui/SectionHead.js.map +0 -1
  339. package/dist/ui/Segmented.d.ts +0 -99
  340. package/dist/ui/Segmented.d.ts.map +0 -1
  341. package/dist/ui/Segmented.js +0 -135
  342. package/dist/ui/Segmented.js.map +0 -1
  343. package/dist/ui/SideSheet.d.ts +0 -70
  344. package/dist/ui/SideSheet.d.ts.map +0 -1
  345. package/dist/ui/SideSheet.js +0 -130
  346. package/dist/ui/SideSheet.js.map +0 -1
  347. package/dist/ui/SplitGroup.d.ts +0 -37
  348. package/dist/ui/SplitGroup.d.ts.map +0 -1
  349. package/dist/ui/SplitGroup.js +0 -36
  350. package/dist/ui/SplitGroup.js.map +0 -1
  351. package/dist/ui/Surface.d.ts +0 -43
  352. package/dist/ui/Surface.d.ts.map +0 -1
  353. package/dist/ui/Surface.js +0 -39
  354. package/dist/ui/Surface.js.map +0 -1
  355. package/dist/ui/Table.d.ts +0 -30
  356. package/dist/ui/Table.d.ts.map +0 -1
  357. package/dist/ui/Table.js +0 -96
  358. package/dist/ui/Table.js.map +0 -1
  359. package/dist/ui/Textarea.d.ts +0 -36
  360. package/dist/ui/Textarea.d.ts.map +0 -1
  361. package/dist/ui/Textarea.js +0 -35
  362. package/dist/ui/Textarea.js.map +0 -1
  363. package/dist/ui/Toast.d.ts +0 -45
  364. package/dist/ui/Toast.d.ts.map +0 -1
  365. package/dist/ui/Toast.js +0 -225
  366. package/dist/ui/Toast.js.map +0 -1
  367. package/dist/ui/WorkspacePicker.d.ts +0 -35
  368. package/dist/ui/WorkspacePicker.d.ts.map +0 -1
  369. package/dist/ui/WorkspacePicker.js +0 -39
  370. package/dist/ui/WorkspacePicker.js.map +0 -1
  371. package/dist/ui/card-css.d.ts +0 -2
  372. package/dist/ui/card-css.d.ts.map +0 -1
  373. package/dist/ui/card-css.generated.d.ts +0 -2
  374. package/dist/ui/card-css.generated.d.ts.map +0 -1
  375. package/dist/ui/card-css.generated.js +0 -4
  376. package/dist/ui/card-css.generated.js.map +0 -1
  377. package/dist/ui/card-css.js +0 -5
  378. package/dist/ui/card-css.js.map +0 -1
  379. package/dist/ui/chevron.d.ts +0 -22
  380. package/dist/ui/chevron.d.ts.map +0 -1
  381. package/dist/ui/chevron.js +0 -33
  382. package/dist/ui/chevron.js.map +0 -1
  383. package/dist/ui/chip-css.d.ts +0 -2
  384. package/dist/ui/chip-css.d.ts.map +0 -1
  385. package/dist/ui/chip-css.generated.d.ts +0 -2
  386. package/dist/ui/chip-css.generated.d.ts.map +0 -1
  387. package/dist/ui/chip-css.generated.js +0 -4
  388. package/dist/ui/chip-css.generated.js.map +0 -1
  389. package/dist/ui/chip-css.js +0 -12
  390. package/dist/ui/chip-css.js.map +0 -1
  391. package/dist/ui/code-viewer-css.d.ts +0 -2
  392. package/dist/ui/code-viewer-css.d.ts.map +0 -1
  393. package/dist/ui/code-viewer-css.generated.d.ts +0 -2
  394. package/dist/ui/code-viewer-css.generated.d.ts.map +0 -1
  395. package/dist/ui/code-viewer-css.generated.js +0 -4
  396. package/dist/ui/code-viewer-css.generated.js.map +0 -1
  397. package/dist/ui/code-viewer-css.js +0 -3
  398. package/dist/ui/code-viewer-css.js.map +0 -1
  399. package/dist/ui/code-viewer-lang.d.ts +0 -15
  400. package/dist/ui/code-viewer-lang.d.ts.map +0 -1
  401. package/dist/ui/code-viewer-lang.js +0 -190
  402. package/dist/ui/code-viewer-lang.js.map +0 -1
  403. package/dist/ui/code-viewer-theme.d.ts +0 -5
  404. package/dist/ui/code-viewer-theme.d.ts.map +0 -1
  405. package/dist/ui/code-viewer-theme.js +0 -138
  406. package/dist/ui/code-viewer-theme.js.map +0 -1
  407. package/dist/ui/controls/button-css.generated.d.ts +0 -2
  408. package/dist/ui/controls/button-css.generated.d.ts.map +0 -1
  409. package/dist/ui/controls/button-css.generated.js +0 -4
  410. package/dist/ui/controls/button-css.generated.js.map +0 -1
  411. package/dist/ui/controls/datetime-css.generated.d.ts +0 -2
  412. package/dist/ui/controls/datetime-css.generated.d.ts.map +0 -1
  413. package/dist/ui/controls/datetime-css.generated.js +0 -4
  414. package/dist/ui/controls/datetime-css.generated.js.map +0 -1
  415. package/dist/ui/controls/field-css.generated.d.ts +0 -2
  416. package/dist/ui/controls/field-css.generated.d.ts.map +0 -1
  417. package/dist/ui/controls/field-css.generated.js +0 -4
  418. package/dist/ui/controls/field-css.generated.js.map +0 -1
  419. package/dist/ui/controls/hint-css.generated.d.ts +0 -2
  420. package/dist/ui/controls/hint-css.generated.d.ts.map +0 -1
  421. package/dist/ui/controls/hint-css.generated.js +0 -4
  422. package/dist/ui/controls/hint-css.generated.js.map +0 -1
  423. package/dist/ui/controls/input-group-css.generated.d.ts +0 -2
  424. package/dist/ui/controls/input-group-css.generated.d.ts.map +0 -1
  425. package/dist/ui/controls/input-group-css.generated.js +0 -4
  426. package/dist/ui/controls/input-group-css.generated.js.map +0 -1
  427. package/dist/ui/controls/loader-bar-css.generated.d.ts +0 -2
  428. package/dist/ui/controls/loader-bar-css.generated.d.ts.map +0 -1
  429. package/dist/ui/controls/loader-bar-css.generated.js +0 -4
  430. package/dist/ui/controls/loader-bar-css.generated.js.map +0 -1
  431. package/dist/ui/controls/loader-css.generated.d.ts +0 -2
  432. package/dist/ui/controls/loader-css.generated.d.ts.map +0 -1
  433. package/dist/ui/controls/loader-css.generated.js +0 -4
  434. package/dist/ui/controls/loader-css.generated.js.map +0 -1
  435. package/dist/ui/controls/loading-css.generated.d.ts +0 -2
  436. package/dist/ui/controls/loading-css.generated.d.ts.map +0 -1
  437. package/dist/ui/controls/loading-css.generated.js +0 -4
  438. package/dist/ui/controls/loading-css.generated.js.map +0 -1
  439. package/dist/ui/controls/pagination-css.generated.d.ts +0 -2
  440. package/dist/ui/controls/pagination-css.generated.d.ts.map +0 -1
  441. package/dist/ui/controls/pagination-css.generated.js +0 -4
  442. package/dist/ui/controls/pagination-css.generated.js.map +0 -1
  443. package/dist/ui/controls/quick-toolbar-css.generated.d.ts +0 -2
  444. package/dist/ui/controls/quick-toolbar-css.generated.d.ts.map +0 -1
  445. package/dist/ui/controls/quick-toolbar-css.generated.js +0 -4
  446. package/dist/ui/controls/quick-toolbar-css.generated.js.map +0 -1
  447. package/dist/ui/controls/section-head-css.generated.d.ts +0 -2
  448. package/dist/ui/controls/section-head-css.generated.d.ts.map +0 -1
  449. package/dist/ui/controls/section-head-css.generated.js +0 -4
  450. package/dist/ui/controls/section-head-css.generated.js.map +0 -1
  451. package/dist/ui/controls/segmented-css.generated.d.ts +0 -2
  452. package/dist/ui/controls/segmented-css.generated.d.ts.map +0 -1
  453. package/dist/ui/controls/segmented-css.generated.js +0 -4
  454. package/dist/ui/controls/segmented-css.generated.js.map +0 -1
  455. package/dist/ui/controls/split-group-css.generated.d.ts +0 -2
  456. package/dist/ui/controls/split-group-css.generated.d.ts.map +0 -1
  457. package/dist/ui/controls/split-group-css.generated.js +0 -4
  458. package/dist/ui/controls/split-group-css.generated.js.map +0 -1
  459. package/dist/ui/controls/table-css.generated.d.ts +0 -2
  460. package/dist/ui/controls/table-css.generated.d.ts.map +0 -1
  461. package/dist/ui/controls/table-css.generated.js +0 -4
  462. package/dist/ui/controls/table-css.generated.js.map +0 -1
  463. package/dist/ui/controls/table-plain-css.generated.d.ts +0 -2
  464. package/dist/ui/controls/table-plain-css.generated.d.ts.map +0 -1
  465. package/dist/ui/controls/table-plain-css.generated.js +0 -4
  466. package/dist/ui/controls/table-plain-css.generated.js.map +0 -1
  467. package/dist/ui/controls-css.d.ts +0 -16
  468. package/dist/ui/controls-css.d.ts.map +0 -1
  469. package/dist/ui/controls-css.js +0 -26
  470. package/dist/ui/controls-css.js.map +0 -1
  471. package/dist/ui/css.d.ts +0 -35
  472. package/dist/ui/css.d.ts.map +0 -1
  473. package/dist/ui/css.js +0 -52
  474. package/dist/ui/css.js.map +0 -1
  475. package/dist/ui/datetime-logic.d.ts +0 -102
  476. package/dist/ui/datetime-logic.d.ts.map +0 -1
  477. package/dist/ui/datetime-logic.js +0 -200
  478. package/dist/ui/datetime-logic.js.map +0 -1
  479. package/dist/ui/feedback-css.d.ts +0 -2
  480. package/dist/ui/feedback-css.d.ts.map +0 -1
  481. package/dist/ui/feedback-css.generated.d.ts +0 -2
  482. package/dist/ui/feedback-css.generated.d.ts.map +0 -1
  483. package/dist/ui/feedback-css.generated.js +0 -4
  484. package/dist/ui/feedback-css.generated.js.map +0 -1
  485. package/dist/ui/feedback-css.js +0 -4
  486. package/dist/ui/feedback-css.js.map +0 -1
  487. package/dist/ui/flip-css.d.ts +0 -2
  488. package/dist/ui/flip-css.d.ts.map +0 -1
  489. package/dist/ui/flip-css.generated.d.ts +0 -2
  490. package/dist/ui/flip-css.generated.d.ts.map +0 -1
  491. package/dist/ui/flip-css.generated.js +0 -4
  492. package/dist/ui/flip-css.generated.js.map +0 -1
  493. package/dist/ui/flip-css.js +0 -4
  494. package/dist/ui/flip-css.js.map +0 -1
  495. package/dist/ui/host-data.d.ts +0 -119
  496. package/dist/ui/host-data.d.ts.map +0 -1
  497. package/dist/ui/host-data.js +0 -122
  498. package/dist/ui/host-data.js.map +0 -1
  499. package/dist/ui/host-toast.d.ts +0 -23
  500. package/dist/ui/host-toast.d.ts.map +0 -1
  501. package/dist/ui/host-toast.js +0 -34
  502. package/dist/ui/host-toast.js.map +0 -1
  503. package/dist/ui/loader-bar-art.d.ts +0 -6
  504. package/dist/ui/loader-bar-art.d.ts.map +0 -1
  505. package/dist/ui/loader-bar-art.js +0 -6
  506. package/dist/ui/loader-bar-art.js.map +0 -1
  507. package/dist/ui/loading-host.d.ts +0 -49
  508. package/dist/ui/loading-host.d.ts.map +0 -1
  509. package/dist/ui/loading-host.js +0 -57
  510. package/dist/ui/loading-host.js.map +0 -1
  511. package/dist/ui/locale.d.ts +0 -4
  512. package/dist/ui/locale.d.ts.map +0 -1
  513. package/dist/ui/locale.js +0 -17
  514. package/dist/ui/locale.js.map +0 -1
  515. package/dist/ui/marquee-css.d.ts +0 -2
  516. package/dist/ui/marquee-css.d.ts.map +0 -1
  517. package/dist/ui/marquee-css.generated.d.ts +0 -2
  518. package/dist/ui/marquee-css.generated.d.ts.map +0 -1
  519. package/dist/ui/marquee-css.generated.js +0 -4
  520. package/dist/ui/marquee-css.generated.js.map +0 -1
  521. package/dist/ui/marquee-css.js +0 -4
  522. package/dist/ui/marquee-css.js.map +0 -1
  523. package/dist/ui/modal-host.d.ts +0 -51
  524. package/dist/ui/modal-host.d.ts.map +0 -1
  525. package/dist/ui/modal-host.js +0 -170
  526. package/dist/ui/modal-host.js.map +0 -1
  527. package/dist/ui/overlay-css.d.ts +0 -2
  528. package/dist/ui/overlay-css.d.ts.map +0 -1
  529. package/dist/ui/overlay-css.generated.d.ts +0 -2
  530. package/dist/ui/overlay-css.generated.d.ts.map +0 -1
  531. package/dist/ui/overlay-css.generated.js +0 -4
  532. package/dist/ui/overlay-css.generated.js.map +0 -1
  533. package/dist/ui/overlay-css.js +0 -2
  534. package/dist/ui/overlay-css.js.map +0 -1
  535. package/dist/ui/overlay.d.ts +0 -62
  536. package/dist/ui/overlay.d.ts.map +0 -1
  537. package/dist/ui/overlay.js +0 -94
  538. package/dist/ui/overlay.js.map +0 -1
  539. package/dist/ui/pagination-logic.d.ts +0 -36
  540. package/dist/ui/pagination-logic.d.ts.map +0 -1
  541. package/dist/ui/pagination-logic.js +0 -73
  542. package/dist/ui/pagination-logic.js.map +0 -1
  543. package/dist/ui/panel-css.d.ts +0 -2
  544. package/dist/ui/panel-css.d.ts.map +0 -1
  545. package/dist/ui/panel-css.generated.d.ts +0 -2
  546. package/dist/ui/panel-css.generated.d.ts.map +0 -1
  547. package/dist/ui/panel-css.generated.js +0 -4
  548. package/dist/ui/panel-css.generated.js.map +0 -1
  549. package/dist/ui/panel-css.js +0 -2
  550. package/dist/ui/panel-css.js.map +0 -1
  551. package/dist/ui/panel-dock-css.d.ts +0 -2
  552. package/dist/ui/panel-dock-css.d.ts.map +0 -1
  553. package/dist/ui/panel-dock-css.generated.d.ts +0 -2
  554. package/dist/ui/panel-dock-css.generated.d.ts.map +0 -1
  555. package/dist/ui/panel-dock-css.generated.js +0 -4
  556. package/dist/ui/panel-dock-css.generated.js.map +0 -1
  557. package/dist/ui/panel-dock-css.js +0 -4
  558. package/dist/ui/panel-dock-css.js.map +0 -1
  559. package/dist/ui/panel-dock-logic.d.ts +0 -67
  560. package/dist/ui/panel-dock-logic.d.ts.map +0 -1
  561. package/dist/ui/panel-dock-logic.js +0 -110
  562. package/dist/ui/panel-dock-logic.js.map +0 -1
  563. package/dist/ui/panel.d.ts +0 -41
  564. package/dist/ui/panel.d.ts.map +0 -1
  565. package/dist/ui/panel.js +0 -37
  566. package/dist/ui/panel.js.map +0 -1
  567. package/dist/ui/picker-css.d.ts +0 -2
  568. package/dist/ui/picker-css.d.ts.map +0 -1
  569. package/dist/ui/picker-css.generated.d.ts +0 -2
  570. package/dist/ui/picker-css.generated.d.ts.map +0 -1
  571. package/dist/ui/picker-css.generated.js +0 -4
  572. package/dist/ui/picker-css.generated.js.map +0 -1
  573. package/dist/ui/picker-css.js +0 -4
  574. package/dist/ui/picker-css.js.map +0 -1
  575. package/dist/ui/picker-icons.d.ts +0 -12
  576. package/dist/ui/picker-icons.d.ts.map +0 -1
  577. package/dist/ui/picker-icons.js +0 -29
  578. package/dist/ui/picker-icons.js.map +0 -1
  579. package/dist/ui/picker-logic.d.ts +0 -33
  580. package/dist/ui/picker-logic.d.ts.map +0 -1
  581. package/dist/ui/picker-logic.js +0 -68
  582. package/dist/ui/picker-logic.js.map +0 -1
  583. package/dist/ui/quick-toolbar-logic.d.ts +0 -76
  584. package/dist/ui/quick-toolbar-logic.d.ts.map +0 -1
  585. package/dist/ui/quick-toolbar-logic.js +0 -40
  586. package/dist/ui/quick-toolbar-logic.js.map +0 -1
  587. package/dist/ui/resizer.d.ts +0 -29
  588. package/dist/ui/resizer.d.ts.map +0 -1
  589. package/dist/ui/resizer.js +0 -42
  590. package/dist/ui/resizer.js.map +0 -1
  591. package/dist/ui/side-panel-css.d.ts +0 -2
  592. package/dist/ui/side-panel-css.d.ts.map +0 -1
  593. package/dist/ui/side-panel-css.generated.d.ts +0 -2
  594. package/dist/ui/side-panel-css.generated.d.ts.map +0 -1
  595. package/dist/ui/side-panel-css.generated.js +0 -4
  596. package/dist/ui/side-panel-css.generated.js.map +0 -1
  597. package/dist/ui/side-panel-css.js +0 -2
  598. package/dist/ui/side-panel-css.js.map +0 -1
  599. package/dist/ui/side-sheet-css.d.ts +0 -2
  600. package/dist/ui/side-sheet-css.d.ts.map +0 -1
  601. package/dist/ui/side-sheet-css.generated.d.ts +0 -2
  602. package/dist/ui/side-sheet-css.generated.d.ts.map +0 -1
  603. package/dist/ui/side-sheet-css.generated.js +0 -4
  604. package/dist/ui/side-sheet-css.generated.js.map +0 -1
  605. package/dist/ui/side-sheet-css.js +0 -2
  606. package/dist/ui/side-sheet-css.js.map +0 -1
  607. package/dist/ui/surface-css.d.ts +0 -2
  608. package/dist/ui/surface-css.d.ts.map +0 -1
  609. package/dist/ui/surface-css.generated.d.ts +0 -2
  610. package/dist/ui/surface-css.generated.d.ts.map +0 -1
  611. package/dist/ui/surface-css.generated.js +0 -4
  612. package/dist/ui/surface-css.generated.js.map +0 -1
  613. package/dist/ui/surface-css.js +0 -7
  614. package/dist/ui/surface-css.js.map +0 -1
  615. package/dist/ui/table-logic.d.ts +0 -110
  616. package/dist/ui/table-logic.d.ts.map +0 -1
  617. package/dist/ui/table-logic.js +0 -81
  618. package/dist/ui/table-logic.js.map +0 -1
  619. package/dist/ui/table-shared.d.ts +0 -101
  620. package/dist/ui/table-shared.d.ts.map +0 -1
  621. package/dist/ui/table-shared.js +0 -229
  622. package/dist/ui/table-shared.js.map +0 -1
  623. package/dist/ui/thenable.d.ts +0 -9
  624. package/dist/ui/thenable.d.ts.map +0 -1
  625. package/dist/ui/thenable.js +0 -15
  626. package/dist/ui/thenable.js.map +0 -1
  627. package/dist/ui/ticker.d.ts +0 -8
  628. package/dist/ui/ticker.d.ts.map +0 -1
  629. package/dist/ui/ticker.js +0 -49
  630. package/dist/ui/ticker.js.map +0 -1
  631. package/dist/ui/toast-host.d.ts +0 -24
  632. package/dist/ui/toast-host.d.ts.map +0 -1
  633. package/dist/ui/toast-host.js +0 -20
  634. package/dist/ui/toast-host.js.map +0 -1
  635. package/dist/ui/tooltip.d.ts +0 -29
  636. package/dist/ui/tooltip.d.ts.map +0 -1
  637. package/dist/ui/tooltip.js +0 -10
  638. package/dist/ui/tooltip.js.map +0 -1
@@ -1,110 +0,0 @@
1
- /**
2
- * 表格纯逻辑:列树 → 表头单元格(colSpan / rowSpan)。
3
- *
4
- * 零 React 运行时依赖(只 `import type`,编译后不留痕迹),可被 node 单测直接引。
5
- * 组件层只负责把这里算好的表头画出来;分组表头到底占几行、跨几列,一律由本文件决定。
6
- *
7
- * 列模型:`children` 存在且非空 ⇒ 该列是分组表头(自身 key 不产出单元格,只做表头);
8
- * 否则是叶子列,`rows` 里按叶子 key 取单元格内容。
9
- */
10
- import type { ReactNode } from 'react';
11
- /** 单元格水平对齐(默认 left)。 */
12
- export type TableAlign = 'left' | 'center' | 'right';
13
- /** 行密度:决定行高与水平内距(参考稿是 default 档)。 */
14
- export type TableDensity = 'compact' | 'default' | 'comfortable';
15
- /** 外框范围:y 只有上下两条(组件默认,无左右边)/ all 四边 / x 只有左右两条 / none 全不要。 */
16
- export type TableBorders = 'all' | 'x' | 'y' | 'none';
17
- /**
18
- * 表头底色档位。与全库语义色同名(default 是皮肤默认灰底)。
19
- * 一律映射到既有 token,不许传任意色值 —— 换主题 / 暗色自动成立。
20
- */
21
- export type TableTone = 'default' | 'business' | 'success' | 'warning' | 'danger' | 'purple' | 'pink' | 'cyan' | 'teal' | 'orange' | 'indigo' | 'rose' | 'slate';
22
- /** 一列(可嵌套 children 形成多行分组表头)。 */
23
- export interface TableColumn {
24
- /** 叶子列的 key 同时是 `TableRow.cells` 的取值键;分组列只用于 React key / 调试。 */
25
- key: string;
26
- /** 表头文案(分组列即分组名)。 */
27
- title: ReactNode;
28
- /** 子列:有子列时本列是分组表头,不产出数据单元格。 */
29
- children?: readonly TableColumn[];
30
- /** 列宽:数字按 px;不传由 `table-layout:fixed` 平均分。 */
31
- width?: number | string;
32
- /** 对齐(表头与数据格同源,默认 left)。 */
33
- align?: TableAlign;
34
- /**
35
- * 该列左缘是否画竖分隔线(默认 false = 不画,表格默认只有横线);首列恒不画(那是外框的位置)。
36
- * 分组列自己不写时,跟随它第一个叶子列 —— 组头的左缘和第一个子列的左缘是同一条线。
37
- */
38
- divider?: boolean;
39
- /** 该列水平内距(px),覆盖 density 档;不传走密度档。 */
40
- padding?: number;
41
- /** 该列表头底色档位(默认 default = 皮肤灰底)。 */
42
- headerTone?: TableTone;
43
- }
44
- /**
45
- * 单元格对象写法:内容 + 跨列 / 跨行 / 对齐。
46
- * 不写对象、直接给 ReactNode 即普通单元格(最常用)。
47
- */
48
- export interface TableCellSpec {
49
- content: ReactNode;
50
- /** 横向跨几列(原生 colspan)。 */
51
- colSpan?: number;
52
- /** 纵向跨几行(原生 rowspan);下一行不要给同一列 key。 */
53
- rowSpan?: number;
54
- /** 覆盖该列对齐。 */
55
- align?: TableAlign;
56
- }
57
- /** 一个单元格:ReactNode(普通)或对象(跨列 / 跨行 / 对齐)。 */
58
- export type TableCell = ReactNode | TableCellSpec;
59
- /** 一行数据:key 兼作选中标识与 React key,cells 按叶子列 key 取内容。 */
60
- export interface TableRow {
61
- key: string | number;
62
- /**
63
- * cells 按叶子列 key 取内容。
64
- * 缺 key(undefined)= 该格不渲染,给上一行的 rowSpan 让位;要空单元格请显式传 null。
65
- */
66
- cells: Record<string, TableCell>;
67
- }
68
- /**
69
- * 一个分组(通栏段):自带一行横跨所有列的通栏标题、自己的表头、自己的数据行。
70
- * 多个分组垂直连续排布(中间没有空隙),用于「一个表格里展示多个工作区 / 多个板块」。
71
- */
72
- export interface TableGroup {
73
- key: string | number;
74
- /** 通栏标题(横跨全部列)。 */
75
- title: ReactNode;
76
- rows: readonly TableRow[];
77
- }
78
- /** 一个表头单元格:它覆盖的列(可能跨列 / 跨行)。 */
79
- export interface TableHeaderCell {
80
- column: TableColumn;
81
- colSpan: number;
82
- rowSpan: number;
83
- /** 该表头覆盖的叶子列 key(按从左到右顺序)。 */
84
- leafKeys: string[];
85
- }
86
- /** 叶子列判断:没有 children 或 children 为空。 */
87
- export declare function isLeafColumn(column: TableColumn): boolean;
88
- /**
89
- * 单元格值是不是「对象写法」(跨列 / 跨行 / 对齐)。
90
- *
91
- * 判别不引 React:React 元素一定有 `$$typeof`(内部标记),而单元格对象没有 ——
92
- * 用它把「传进来一个 React 元素」和「传进来一个单元格配置」分开。
93
- * 放在纯逻辑层,node 单测可直接覆盖。
94
- */
95
- export declare function isTableCellSpec(value: unknown): value is TableCellSpec;
96
- /** 按深度优先顺序取全部叶子列(表格的列顺序 = 数据格的列顺序)。 */
97
- export declare function leafColumns(columns: readonly TableColumn[]): TableColumn[];
98
- /** 列树深度 = 表头行数(全叶子列时为 1)。 */
99
- export declare function tableDepth(columns: readonly TableColumn[]): number;
100
- /**
101
- * 列树 → 逐行表头。
102
- *
103
- * - 叶子列:`rowSpan = 深度 - 当前层`,一直竖跨到表头底部;
104
- * - 分组列:`colSpan = 其下叶子数`,`rowSpan = 1`。
105
- *
106
- * 例:`[ID, Patient[Name, Age], Status]` ⇒ 第 0 行 `[ID(1×2), Patient(2×1), Status(1×2)]`,
107
- * 第 1 行 `[Name(1×1), Age(1×1)]`。
108
- */
109
- export declare function headerRows(columns: readonly TableColumn[]): TableHeaderCell[][];
110
- //# sourceMappingURL=table-logic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-logic.d.ts","sourceRoot":"","sources":["../../src/ui/table-logic.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,wBAAwB;AACxB,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEpD,qCAAqC;AACrC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAA;AAEhE,8DAA8D;AAC9D,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,UAAU,GACV,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,OAAO,CAAA;AAEX,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IACjC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mCAAmC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAA;IAClB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc;IACd,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB;AAED,4CAA4C;AAC5C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,aAAa,CAAA;AAEjD,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,mBAAmB;IACnB,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAA;CAC1B;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAItE;AAED,uCAAuC;AACvC,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,CAQ1E;AAED,6BAA6B;AAC7B,wBAAgB,UAAU,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAQlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,eAAe,EAAE,EAAE,CAmB/E"}
@@ -1,81 +0,0 @@
1
- /**
2
- * 表格纯逻辑:列树 → 表头单元格(colSpan / rowSpan)。
3
- *
4
- * 零 React 运行时依赖(只 `import type`,编译后不留痕迹),可被 node 单测直接引。
5
- * 组件层只负责把这里算好的表头画出来;分组表头到底占几行、跨几列,一律由本文件决定。
6
- *
7
- * 列模型:`children` 存在且非空 ⇒ 该列是分组表头(自身 key 不产出单元格,只做表头);
8
- * 否则是叶子列,`rows` 里按叶子 key 取单元格内容。
9
- */
10
- /** 叶子列判断:没有 children 或 children 为空。 */
11
- export function isLeafColumn(column) {
12
- return column.children === undefined || column.children.length === 0;
13
- }
14
- /**
15
- * 单元格值是不是「对象写法」(跨列 / 跨行 / 对齐)。
16
- *
17
- * 判别不引 React:React 元素一定有 `$$typeof`(内部标记),而单元格对象没有 ——
18
- * 用它把「传进来一个 React 元素」和「传进来一个单元格配置」分开。
19
- * 放在纯逻辑层,node 单测可直接覆盖。
20
- */
21
- export function isTableCellSpec(value) {
22
- if (typeof value !== 'object' || value === null)
23
- return false;
24
- if ('$$typeof' in value)
25
- return false;
26
- return 'content' in value;
27
- }
28
- /** 按深度优先顺序取全部叶子列(表格的列顺序 = 数据格的列顺序)。 */
29
- export function leafColumns(columns) {
30
- const out = [];
31
- for (const column of columns) {
32
- const children = column.children;
33
- if (children === undefined || children.length === 0)
34
- out.push(column);
35
- else
36
- out.push(...leafColumns(children));
37
- }
38
- return out;
39
- }
40
- /** 列树深度 = 表头行数(全叶子列时为 1)。 */
41
- export function tableDepth(columns) {
42
- let depth = 1;
43
- for (const column of columns) {
44
- const children = column.children;
45
- if (children === undefined || children.length === 0)
46
- continue;
47
- depth = Math.max(depth, 1 + tableDepth(children));
48
- }
49
- return depth;
50
- }
51
- /**
52
- * 列树 → 逐行表头。
53
- *
54
- * - 叶子列:`rowSpan = 深度 - 当前层`,一直竖跨到表头底部;
55
- * - 分组列:`colSpan = 其下叶子数`,`rowSpan = 1`。
56
- *
57
- * 例:`[ID, Patient[Name, Age], Status]` ⇒ 第 0 行 `[ID(1×2), Patient(2×1), Status(1×2)]`,
58
- * 第 1 行 `[Name(1×1), Age(1×1)]`。
59
- */
60
- export function headerRows(columns) {
61
- const rows = [];
62
- const depth = tableDepth(columns);
63
- for (let level = 0; level < depth; level += 1)
64
- rows.push([]);
65
- const visit = (column, level) => {
66
- const children = column.children;
67
- if (children === undefined || children.length === 0) {
68
- rows[level].push({ column, colSpan: 1, rowSpan: depth - level, leafKeys: [column.key] });
69
- return [column.key];
70
- }
71
- const keys = [];
72
- for (const child of children)
73
- keys.push(...visit(child, level + 1));
74
- rows[level].push({ column, colSpan: keys.length, rowSpan: 1, leafKeys: keys });
75
- return keys;
76
- };
77
- for (const column of columns)
78
- visit(column, 0);
79
- return rows;
80
- }
81
- //# sourceMappingURL=table-logic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-logic.js","sourceRoot":"","sources":["../../src/ui/table-logic.ts"],"names":[],"mappings":"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"}
@@ -1,101 +0,0 @@
1
- import { createElement as h, type CSSProperties, type ReactNode } from 'react';
2
- import { type Translate } from '../utils/i18n.js';
3
- import type { TablePaginationConfig } from './Pagination.js';
4
- import { type SectionHeadAccent } from './SectionHead.js';
5
- import { type TableBorders, type TableColumn, type TableDensity, type TableGroup, type TableRow } from './table-logic.js';
6
- /**
7
- * 表格外观的公共 props。**对外组件各自继承它,不要直接把本接口给消费方**:
8
- * 消费方看到的是 `TableProps` 这类具名类型,外观由「引哪个组件」决定。
9
- */
10
- export interface TableSharedProps {
11
- /** 列定义;`children` 非空即分组表头(组件自动算 colSpan / rowSpan)。 */
12
- columns: readonly TableColumn[];
13
- /**
14
- * 行数据;`key` 兼作选中标识,`cells` 按叶子列 key 取内容。
15
- * 值可以是任意 ReactNode,也可以是 `{ content, colSpan, rowSpan, align }` 对象;
16
- * 某列 key 缺省(undefined)= 该格不渲染,给上一行的 rowSpan 让位。
17
- */
18
- rows?: readonly TableRow[];
19
- /**
20
- * 分组数据:每组带一行通栏标题 + 自己的表头 + 自己的数据行,多组连续排布。
21
- * 与 `rows` 二选一;传了 `groups` 就忽略 `rows`(用于「一个表里多个工作区 / 板块」)。
22
- */
23
- groups?: readonly TableGroup[];
24
- /**
25
- * 通栏标题前的固定标签(画出来的短竖线)颜色(只对 `groups` 模式生效):内置语义色名
26
- * (business / success / warning / danger / purple / pink / cyan / teal / orange / indigo /
27
- * rose / slate)或任意 CSS 色值;`'default'` / 不传 = 主题默认(浅色深灰、深色浅灰);
28
- * `false` = 不画这条竖线。绘制与样式归 `SectionHead`,Table 只把标题装进通栏。
29
- */
30
- groupAccent?: SectionHeadAccent | false;
31
- /** 行密度(行高 + 水平内距),默认 default。 */
32
- density?: TableDensity;
33
- /** 斑马纹(偶数行淡底),默认 false。 */
34
- striped?: boolean;
35
- /** 外框范围:y 只上下两条(默认,无左右边)/ all 四边 / x 只左右两条 / none 全不要。 */
36
- borders?: TableBorders;
37
- /** 选中行(高亮 + 左侧竖条由皮肤决定)。 */
38
- selectedKeys?: readonly (string | number)[];
39
- /** 传了才可点:行获得指针 / 键盘(Enter、空格)激活能力。 */
40
- onRowClick?: (row: TableRow, index: number) => void;
41
- /** 空数据文案;不传走内置字典(中英随 `setLocale`)。 */
42
- emptyText?: ReactNode;
43
- /** 无障碍名(表格没有可见标题时请务必给)。 */
44
- ariaLabel?: string;
45
- /**
46
- * 内建分页(**只在 `Table` 上生效**,`tableShell` 自己不读它):给出即按当前页切片 `rows`
47
- * 并在表格下方渲染分页条;`total` 缺省 = `rows.length`(本地分页),给了就按服务端分页处理
48
- * (不切片)。`groups` 模式不分页 —— 传了 `groups` 就忽略本项。
49
- */
50
- pagination?: TablePaginationConfig;
51
- /**
52
- * 整表加载中(首屏还没有任何数据时用):表格主体换成一块较高的占位区(居中三块加载动画,最大号,无文案)。
53
- * 已有数据时不遮挡数据 —— 追加下一页请用 `loadingMore`。
54
- */
55
- loading?: boolean;
56
- /** 整表加载占位区的高度(px),默认 160。 */
57
- loadingHeight?: number;
58
- /**
59
- * 底部「加载更多」中(已有数据、正在取下一页):在数据行下方插一行中号三块加载动画(无文案)。
60
- * 只在给了 `onLoadMore` 时生效。
61
- */
62
- loadingMore?: boolean;
63
- /**
64
- * 是否还有下一页,默认 true。`false` 时底部显示「没有更多数据」;
65
- * 文案可用 `noMoreText` 换,给 `false` 整行不渲染。只在给了 `onLoadMore` 时生效。
66
- */
67
- hasMore?: boolean;
68
- /** 到底文案;不传走内置字典(中英随 `setLocale`)。 */
69
- noMoreText?: ReactNode;
70
- /**
71
- * 滚动到底自动加载下一页:**这个 props 本身就是开关** —— 传了就装底部哨兵并监听,
72
- * 不传完全不监听、也不触发。正在加载(`loading` / `loadingMore`)或已到底(`hasMore: false`)
73
- * 时不会重复触发。与 `pagination` 同时给时忽略(一个表里两套翻页说不清);
74
- * `groups` 模式可用,底部状态行与哨兵排在最后一组之后。
75
- */
76
- onLoadMore?: () => void;
77
- /** 追加 class(只允许补布局,不许覆盖皮肤)。 */
78
- className?: string;
79
- style?: CSSProperties;
80
- /** 覆盖内置文案翻译(如插件自带 i18n)。 */
81
- translate?: Translate;
82
- }
83
- /** `tableShell` 的渲染选项(内部参数,不进公开 props)。 */
84
- interface TableShellOptions {
85
- /**
86
- * 底部哨兵元素的 ref:给了才渲染哨兵行(供调用方挂 IntersectionObserver)。
87
- * 不给 = 不做滚动监听(`onLoadMore` 仍可透传,但不会自动触发)。
88
- */
89
- sentinelRef?: (node: HTMLTableRowElement | null) => void;
90
- }
91
- /**
92
- * 表格共享渲染壳(**内部件,不进公开导出**)。
93
- *
94
- * 职责:基础层样式登记 + 语义化 `<table>` 结构 + 表头分组计算 + 行交互 + 列/单元格配置落地。
95
- * 外观(表头底色 / 分隔线 / 悬浮 / 选中)由调用方的皮肤 CSS 负责:每个公开组件
96
- * (`Table`、将来的 `TableGrid` / `TableZebra`)只 import 自己那份皮肤,并把自己的
97
- * modifier class 传进来。这样消费方引哪个就只打包哪个 —— 绝不用 `variant` 汇总多份皮肤。
98
- */
99
- export declare function tableShell(skinClass: string, props: TableSharedProps, options?: TableShellOptions): ReturnType<typeof h>;
100
- export {};
101
- //# sourceMappingURL=table-shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-shared.d.ts","sourceRoot":"","sources":["../../src/ui/table-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,KAAK,aAAa,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAClG,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE5D,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAKL,KAAK,YAAY,EAEjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EAEf,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAA;AAEzB;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAA;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;IACvC,iCAAiC;IACjC,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC3C,sCAAsC;IACtC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,sCAAsC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qCAAqC;IACrC,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AA2BD,2CAA2C;AAC3C,UAAU,iBAAiB;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAA;CACzD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,iBAAsB,GAC9B,UAAU,CAAC,OAAO,CAAC,CAAC,CA2StB"}
@@ -1,229 +0,0 @@
1
- import { createElement as h } from 'react';
2
- import { t } from '../utils/i18n.js';
3
- import { ensureComponentStyles } from './css.js';
4
- import { TABLE_BASE_CSS } from './controls-css.js';
5
- import { Loader } from './Loader.js';
6
- import { SectionHead } from './SectionHead.js';
7
- import { headerRows, isTableCellSpec, leafColumns, } from './table-logic.js';
8
- function widthOf(width) {
9
- if (width === undefined)
10
- return undefined;
11
- return typeof width === 'number' ? `${width}px` : width;
12
- }
13
- /** 列级水平内距(覆盖 density 档);不传交给 CSS。 */
14
- function padStyle(column) {
15
- return column.padding === undefined ? undefined : { paddingInline: `${column.padding}px` };
16
- }
17
- function alignClass(prefix, align) {
18
- return align === undefined || align === 'left' ? '' : ` ${prefix}--${align}`;
19
- }
20
- /**
21
- * 某列在叶子序列里的位置决定画不画左竖线:
22
- * 首列恒不画(那是外框的位置);其余列只在「想要线」时画。
23
- * 分组列自己不写 `divider` 时,跟随它第一个叶子列 —— 组头的左缘和第一个子列的左缘
24
- * 是同一条线,否则「组头无线、下面子列有线」会断成两截(2026-10-30 用户真机指出)。
25
- */
26
- function dividerAttr(leafIndex, wanted) {
27
- if (leafIndex === 0)
28
- return undefined;
29
- return wanted === true ? 'left' : undefined;
30
- }
31
- /**
32
- * 表格共享渲染壳(**内部件,不进公开导出**)。
33
- *
34
- * 职责:基础层样式登记 + 语义化 `<table>` 结构 + 表头分组计算 + 行交互 + 列/单元格配置落地。
35
- * 外观(表头底色 / 分隔线 / 悬浮 / 选中)由调用方的皮肤 CSS 负责:每个公开组件
36
- * (`Table`、将来的 `TableGrid` / `TableZebra`)只 import 自己那份皮肤,并把自己的
37
- * modifier class 传进来。这样消费方引哪个就只打包哪个 —— 绝不用 `variant` 汇总多份皮肤。
38
- */
39
- export function tableShell(skinClass, props, options = {}) {
40
- ensureComponentStyles('table-core', TABLE_BASE_CSS);
41
- const tt = props.translate ?? t;
42
- const headRows = headerRows(props.columns);
43
- const leaves = leafColumns(props.columns);
44
- const leafIndexByKey = new Map();
45
- leaves.forEach((column, index) => {
46
- leafIndexByKey.set(column.key, index);
47
- });
48
- const selected = new Set(props.selectedKeys ?? []);
49
- const onRowClick = props.onRowClick;
50
- const density = props.density ?? 'default';
51
- const borders = props.borders ?? 'y';
52
- /** 表头一行:分组表头按层级逐行渲染(每组重复渲染它,分组模式也要表头)。 */
53
- const headRowOf = (cells, level) => h('tr', { key: `head-${level}`, className: 'dshpc-table__head-row' }, ...cells.map((cell) => {
54
- const group = cell.colSpan > 1;
55
- const firstLeafIndex = leafIndexByKey.get(cell.leafKeys[0] ?? '');
56
- // 分组列没写 divider ⇒ 跟第一个叶子列走(两行列的左缘是同一条线)。
57
- const firstLeaf = firstLeafIndex === undefined ? undefined : leaves[firstLeafIndex];
58
- const className = `dshpc-table__head-cell${group ? ' dshpc-table__head-cell--group' : ''}${alignClass('dshpc-table__head-cell', cell.column.align)}`;
59
- const tone = cell.column.headerTone;
60
- return h('th', {
61
- key: cell.column.key,
62
- scope: group ? 'colgroup' : 'col',
63
- colSpan: cell.colSpan > 1 ? cell.colSpan : undefined,
64
- rowSpan: cell.rowSpan > 1 ? cell.rowSpan : undefined,
65
- className,
66
- style: padStyle(cell.column),
67
- 'data-divider': firstLeafIndex === undefined
68
- ? undefined
69
- : dividerAttr(firstLeafIndex, cell.column.divider ?? firstLeaf?.divider),
70
- 'data-header-tone': tone === undefined || tone === 'default' ? undefined : tone,
71
- }, cell.column.title);
72
- }));
73
- /**
74
- * 跨行单元格(rowSpan)把上下几行连成一个视觉块:块里任意一行被选中,整块都算选中。
75
- * 先按 rowSpan 求每行所属块的范围 [start, end],再判断块内有没有选中行 ——
76
- * 不依赖点击的是块里的哪一行,也不要求调用方自己展开。
77
- */
78
- const selectedBlocksOf = (rows) => {
79
- const blocks = rows.map((_, index) => ({ start: index, end: index }));
80
- rows.forEach((row, index) => {
81
- for (const cell of Object.values(row.cells)) {
82
- if (!isTableCellSpec(cell) || cell.rowSpan === undefined || cell.rowSpan <= 1)
83
- continue;
84
- const end = Math.min(index + cell.rowSpan - 1, rows.length - 1);
85
- for (let line = index; line <= end; line += 1) {
86
- const block = blocks[line];
87
- if (block === undefined)
88
- continue;
89
- block.start = Math.min(block.start, index);
90
- block.end = Math.max(block.end, end);
91
- }
92
- }
93
- });
94
- return blocks.map((block) => {
95
- for (let line = block.start; line <= block.end; line += 1) {
96
- const row = rows[line];
97
- if (row !== undefined && selected.has(row.key))
98
- return true;
99
- }
100
- return false;
101
- });
102
- };
103
- /** 一组数据行(选中 / 可点 / 单元格配置都在这里落地)。 */
104
- const dataRowsOf = (rows, offset = 0) => {
105
- const selectedBlocks = selectedBlocksOf(rows);
106
- return rows.map((row, index) => h('tr', {
107
- key: row.key,
108
- className: 'dshpc-table__row',
109
- 'data-selected': selectedBlocks[index] === true ? 'true' : undefined,
110
- 'data-interactive': onRowClick === undefined ? undefined : 'true',
111
- tabIndex: onRowClick === undefined ? undefined : 0,
112
- onClick: onRowClick === undefined ? undefined : () => onRowClick(row, offset + index),
113
- onKeyDown: onRowClick === undefined
114
- ? undefined
115
- : (event) => {
116
- if (event.key !== 'Enter' && event.key !== ' ')
117
- return;
118
- event.preventDefault();
119
- onRowClick(row, offset + index);
120
- },
121
- }, ...leaves.map((column, leafIndex) => {
122
- const cell = row.cells[column.key];
123
- // 缺 key = 该格不渲染(上一行的 rowSpan 已经占了这个位置);要空格请显式传 null。
124
- if (cell === undefined)
125
- return null;
126
- let spec;
127
- let content;
128
- if (isTableCellSpec(cell)) {
129
- spec = cell;
130
- content = cell.content;
131
- }
132
- else {
133
- content = cell;
134
- }
135
- const align = spec?.align ?? column.align;
136
- return h('td', {
137
- key: column.key,
138
- className: `dshpc-table__cell${alignClass('dshpc-table__cell', align)}`,
139
- style: padStyle(column),
140
- colSpan: spec?.colSpan !== undefined && spec.colSpan > 1 ? spec.colSpan : undefined,
141
- rowSpan: spec?.rowSpan !== undefined && spec.rowSpan > 1 ? spec.rowSpan : undefined,
142
- 'data-divider': dividerAttr(leafIndex, column.divider),
143
- }, content ?? null);
144
- })));
145
- };
146
- const colSpan = leaves.length > 0 ? leaves.length : undefined;
147
- const emptyRow = h('tr', { key: 'empty', className: 'dshpc-table__row' }, h('td', { className: 'dshpc-table__empty', colSpan }, props.emptyText ?? tt('tableEmpty')));
148
- // 整表加载:只在一条数据都没有时占位,不遮挡已有行(追加下一页请用 loadingMore)。
149
- const loadingRow = h('tr', { key: 'loading', className: 'dshpc-table__state-row' }, h('td', { className: 'dshpc-table__state-cell', colSpan }, h('div', {
150
- className: 'dshpc-table__state dshpc-table__state--full',
151
- style: props.loadingHeight === undefined ? undefined : { height: `${props.loadingHeight}px` },
152
- }, h(Loader, { variant: 'blocks', size: 'xl', label: tt('tableLoading') }))));
153
- // 底部加载态:只在给了 onLoadMore(开关)时渲染,且 loadingMore 优先于「没有更多」。
154
- const infinite = props.onLoadMore !== undefined;
155
- const loadingMore = infinite && props.loadingMore === true;
156
- const showNoMore = infinite && !loadingMore && props.hasMore === false && props.noMoreText !== false;
157
- const footerRows = [];
158
- if (loadingMore) {
159
- footerRows.push(h('tr', { key: 'more', className: 'dshpc-table__state-row dshpc-table__state-row--footer' }, h('td', { className: 'dshpc-table__state-cell', colSpan }, h('div', { className: 'dshpc-table__state' }, h(Loader, { variant: 'blocks', size: 'md', label: tt('tableLoadingMore') })))));
160
- }
161
- else if (showNoMore) {
162
- footerRows.push(h('tr', { key: 'end', className: 'dshpc-table__state-row dshpc-table__state-row--footer' }, h('td', { className: 'dshpc-table__state-cell', colSpan }, h('div', { className: 'dshpc-table__state' }, h('span', { className: 'dshpc-table__state-text' }, props.noMoreText === undefined ? tt('tableNoMore') : props.noMoreText)))));
163
- }
164
- // 底部哨兵:IntersectionObserver 的落点;hasMore === false 时没有下一页,不必再监听。
165
- const sentinelRow = infinite && props.hasMore !== false && options.sentinelRef !== undefined
166
- ? h('tr', {
167
- key: 'sentinel',
168
- ref: options.sentinelRef,
169
- className: 'dshpc-table__sentinel',
170
- 'aria-hidden': 'true',
171
- }, h('td', { colSpan }))
172
- : null;
173
- // 没有左右外框(y / none)且底部有状态行时,表底那条横线也去掉 ——
174
- // 状态行只保留上方一条实线,否则图标下面会多出一条孤线(2026-10-31 用户定)。
175
- const flatFoot = footerRows.length > 0 && (borders === 'y' || borders === 'none');
176
- const tableClass = [
177
- 'dshpc-table',
178
- skinClass,
179
- `dshpc-table--density-${density}`,
180
- `dshpc-table--borders-${borders}`,
181
- props.striped === true ? 'dshpc-table--striped' : '',
182
- flatFoot ? 'dshpc-table--foot-no-bottom' : '',
183
- props.className ?? '',
184
- ]
185
- .filter((s) => s !== '')
186
- .join(' ');
187
- // 分组模式下底部状态行 / 哨兵单独占一个 tbody,排在最后一组之后(不影响各组的表头归属)。
188
- const groupFoot = footerRows.length > 0 || sentinelRow !== null
189
- ? h('tbody', { key: 'group-foot', className: 'dshpc-table__body' }, ...footerRows, sentinelRow)
190
- : null;
191
- const groups = props.groups ?? [];
192
- const body = groups.length > 0
193
- ? [
194
- ...groups.map((group, groupIndex) => h('tbody', { key: group.key, className: 'dshpc-table__body dshpc-table__group-body' },
195
- // 通栏标题行:横跨所有列,充当这一组的「大标题」。
196
- h('tr', { className: 'dshpc-table__group-row' }, h('th', {
197
- className: 'dshpc-table__group-cell',
198
- scope: 'colgroup',
199
- colSpan: leaves.length > 0 ? leaves.length : undefined,
200
- },
201
- // 标题的固定标签(短竖线)与排版归 SectionHead —— Table 只负责把标题装进通栏。
202
- h(SectionHead, {
203
- title: group.title,
204
- accent: props.groupAccent ?? 'default',
205
- flush: true,
206
- }))),
207
- // 每组自带表头:分组模式不放在 <thead>(一个 table 只能有一个 thead)
208
- ...headRows.map((cells, level) => headRowOf(cells, `g${groupIndex}-${level}`)), ...dataRowsOf(group.rows, 0))),
209
- ...(groupFoot === null ? [] : [groupFoot]),
210
- ]
211
- : [
212
- h('tbody', { key: 'body', className: 'dshpc-table__body' }, props.loading === true && (props.rows?.length ?? 0) === 0
213
- ? loadingRow
214
- : props.rows !== undefined && props.rows.length > 0
215
- ? dataRowsOf(props.rows)
216
- : emptyRow, ...footerRows, sentinelRow),
217
- ];
218
- return h('table', { className: tableClass, style: props.style, 'aria-label': props.ariaLabel }, leaves.length === 0
219
- ? null
220
- : h('colgroup', null, ...leaves.map((column) => h('col', {
221
- key: column.key,
222
- style: widthOf(column.width) === undefined ? undefined : { width: widthOf(column.width) },
223
- }))),
224
- // 有分组时,每组的表头在各自的 tbody 里;单一表时表头在 thead。
225
- groups.length > 0
226
- ? null
227
- : h('thead', { className: 'dshpc-table__head' }, ...headRows.map((cells, level) => headRowOf(cells, level))), ...body);
228
- }
229
- //# sourceMappingURL=table-shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-shared.js","sourceRoot":"","sources":["../../src/ui/table-shared.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /** 返回值是不是 thenable。Button 的自动 loading 与命令式弹窗的收尾共用这一份判定。 */
2
- export declare function isThenable(value: unknown): value is PromiseLike<unknown>;
3
- /**
4
- * 回调的返回值算不算「成功」(命令式弹窗据此决定关不关):
5
- * 只有明确的 `false` 表示这次没成 —— `true` / `undefined` / 别的都照常关。
6
- * 用返回值表达业务失败,消费方就不必在调用点包 try/catch(错误自己处理、自己提示)。
7
- */
8
- export declare function isSuccess(value: unknown): boolean;
9
- //# sourceMappingURL=thenable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thenable.d.ts","sourceRoot":"","sources":["../../src/ui/thenable.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAGxE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEjD"}
@@ -1,15 +0,0 @@
1
- /** 返回值是不是 thenable。Button 的自动 loading 与命令式弹窗的收尾共用这一份判定。 */
2
- export function isThenable(value) {
3
- if (value === null || value === undefined)
4
- return false;
5
- return typeof value.then === 'function';
6
- }
7
- /**
8
- * 回调的返回值算不算「成功」(命令式弹窗据此决定关不关):
9
- * 只有明确的 `false` 表示这次没成 —— `true` / `undefined` / 别的都照常关。
10
- * 用返回值表达业务失败,消费方就不必在调用点包 try/catch(错误自己处理、自己提示)。
11
- */
12
- export function isSuccess(value) {
13
- return value !== false;
14
- }
15
- //# sourceMappingURL=thenable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thenable.js","sourceRoot":"","sources":["../../src/ui/thenable.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACvD,OAAO,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU,CAAA;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,KAAK,KAAK,CAAA;AACxB,CAAC"}
@@ -1,8 +0,0 @@
1
- /** 订阅全局秒级心跳;返回退订。**第一个订阅者才起 interval,最后一个退订即停**。 */
2
- export declare function subscribeTicker(cb: () => void): () => void;
3
- /**
4
- * 每秒拿到「现在」(需要**时间值本身**时用,如悬浮文案);与 `LiveText` 共用同一条心跳。
5
- * 不适合整列表用(每次 tick 会 setState 一次)——只在真正需要时间的小块里调。
6
- */
7
- export declare function useNowMs(): number;
8
- //# sourceMappingURL=ticker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ticker.d.ts","sourceRoot":"","sources":["../../src/ui/ticker.ts"],"names":[],"mappings":"AAoBA,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAiB1D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAIjC"}