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,45 +0,0 @@
1
- /**
2
- * 模块标题行(UI 基础层):**标签(可选,画出来的短竖线)/ icon(可选)+ 标题 + 右侧控件**。
3
- *
4
- * 2026-10-08 设置页重构时定型:每块 = 标题行 + 一块内容,标题行左侧 icon、右侧留给该块的控件
5
- * (日志块的自动刷新 / 刷新钮,表查询块的表切换)。此前三个块各写一个 `h3`,形态不统一。
6
- * 2026-10-30 增加 `accent`:标题前画一条固定样式的短竖线(4px 圆头),颜色可换、可关;
7
- * 通栏表格标题也复用这一份标题样式(不再在 Table 里另画)。
8
- *
9
- * 排版规则:字号 / 行高 / 字色走 `--dshpc-*` token;`right` 用 `flex:1` + `justifyContent:flex-end`
10
- * 靠右(比 `marginLeft:auto` 稳:内容再宽也始终贴右,不会塌成靠左);标题 `flex:none` 不被压缩。
11
- */
12
- import { createElement as h } from 'react';
13
- import { ensureComponentStyles } from './css.js';
14
- import { SECTION_HEAD_CSS } from './controls-css.js';
15
- /** 内置色名与 token 一一同名;其余值一律按 CSS 色值原样落地。 */
16
- const ACCENT_TONES = [
17
- 'business', 'success', 'warning', 'danger',
18
- 'purple', 'pink', 'cyan', 'teal', 'orange', 'indigo', 'rose', 'slate',
19
- ];
20
- function barStyleOf(accent) {
21
- if (accent === 'default')
22
- return undefined;
23
- return { background: ACCENT_TONES.includes(accent) ? `var(--dshpc-${accent})` : accent };
24
- }
25
- export function SectionHead(props) {
26
- ensureComponentStyles('section-head', SECTION_HEAD_CSS);
27
- const accent = props.accent;
28
- const className = [
29
- 'dshpc-section-head',
30
- props.flush === true ? 'dshpc-section-head--flush' : '',
31
- props.className ?? '',
32
- ]
33
- .filter((s) => s !== '')
34
- .join(' ');
35
- return h('div', { className, style: props.style }, accent === false || accent === undefined
36
- ? null
37
- : h('span', {
38
- className: 'dshpc-section-head__bar',
39
- 'aria-hidden': 'true',
40
- style: accent === 'default' ? undefined : barStyleOf(accent),
41
- }), props.icon === undefined ? null : h('span', { className: 'dshpc-section-head__icon' }, props.icon), h('span', { className: 'dshpc-section-head__title' }, props.title), props.right === undefined
42
- ? null
43
- : h('div', { className: 'dshpc-section-head__right' }, props.right));
44
- }
45
- //# sourceMappingURL=SectionHead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SectionHead.js","sourceRoot":"","sources":["../../src/ui/SectionHead.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAsC,MAAM,OAAO,CAAA;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AA6BpD,0CAA0C;AAC1C,MAAM,YAAY,GAAsB;IACtC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ;IAC1C,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO;CACtE,CAAA;AAED,SAAS,UAAU,CAAC,MAAyB;IAC3C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,qBAAqB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,MAAM,SAAS,GAAG;QAChB,oBAAoB;QACpB,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE;QACvD,KAAK,CAAC,SAAS,IAAI,EAAE;KACtB;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;SACvB,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,OAAO,CAAC,CACN,KAAK,EACL,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EACjC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,SAAS;QACtC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACR,SAAS,EAAE,yBAAyB;YACpC,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;SAC7D,CAAC,EACN,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAClG,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAClE,KAAK,CAAC,KAAK,KAAK,SAAS;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CACtE,CAAA;AACH,CAAC"}
@@ -1,99 +0,0 @@
1
- /**
2
- * 分段控件(滑动块)—— **全站唯一实现**(L2 组件皮肤,P1)
3
- *
4
- * 它是「同一份结构 + 两个受控轴」的样板:
5
- * - `size`:`sm`(24) / `md`(28) / `lg`(32) —— **离散三档**,调用点**不许**自己写高度
6
- * (真不够用才允许在调用点本地覆盖 `--dshpc-control-h-*`,属例外而非常态);
7
- * - `bordered`(默认 false):最外再包一圈 1px 描边;总高与无框版逐像素一致
8
- * (border 由 padding 抵消),两种模式整行混排不跳高。
9
- *
10
- * 外观只有一套(灰底轨道 + 白色选中片,阴影来自宿主 elevation token)。
11
- * 唯一的配色入口是 `tone`(2026-10-29):传内置色名则由核心定底 / 字(两主题各自成立),
12
- * 传 `{ bg, fg }` 则两个主题都用调用方这一对颜色。
13
- * 2026-10-26 删掉 `variant` 轴(原 default / inset 两档在 CSS 里只差 1px 内距,
14
- * 且 default 比 `size` 承诺矮 2px,下游照 demo 对图时反复查不出原因 —— 见 docs/design/style.md)。
15
- *
16
- * 用法:
17
- * // 单选
18
- * h(Segmented<'a' | 'b'>, { value: v, size: 'md', items: [{ value: 'a', label: '甲' }], onChange: setV })
19
- * // 多选(如星期)
20
- * h(Segmented<'1' | '2'>, { multiple: true, value: vs, items: [...], onChange: setVs })
21
- *
22
- * ⚠️ 不许在任何使用点就地写分段样式;要多一档高度 / 多一个外观 ⇒ 走
23
- * docs/design/ui-style-guide.md §五 的流程(改基础层,一处改全站生效)。
24
- */
25
- import type { ChipTone } from './Chip.js';
26
- import { createElement as h, type CSSProperties, type ReactNode } from 'react';
27
- /** 一段(一个可选值)。 */
28
- export interface SegmentedItem<T extends string = string> {
29
- /** 该段代表的值(唯一)。 */
30
- value: T;
31
- /** 段内文字(也接受任意节点;只有图标时可省略)。 */
32
- label?: ReactNode;
33
- /** 前置图标(官方图标组件 / 数组 / 调用方自绘节点均可)。 */
34
- icon?: ReactNode;
35
- /** 读屏名:只有图标、没有文字时给(缺省退回 tooltip)。 */
36
- ariaLabel?: string;
37
- /** 段内角标(如「异常 3」);数字 ≤0 视为没东西可数、不显示,字符串原样显示(如 `'99+'`)。danger 红圆标。 */
38
- badge?: number | string;
39
- /** 段内中性计数(如筛选条「全部 11」);口径同 badge,字符串照样显示(如 `'1K'`)。弱化灰字,不做角标。 */
40
- count?: number | string;
41
- /** 置灰不可点。 */
42
- disabled?: boolean;
43
- /** 段级悬停提示(核心 Tooltip 本体,官方气泡):鼠标移入该项浮出书面化说明;需宿主注入 renderer。 */
44
- tooltip?: string;
45
- }
46
- /**
47
- * 选中片配色(默认 = 主题亮片,字跟主题走):
48
- * - 内置色名(与 Chip 同一套):底色 / 字色由核心定,深浅两个主题各自成立;
49
- * - `{ bg, fg }`:一组背景 + 一组文字,**两个主题都一样**(调用方自己负责对比度)。
50
- */
51
- export type SegmentedTone = Exclude<ChipTone, 'neutral'> | {
52
- bg: string;
53
- fg: string;
54
- };
55
- interface SegmentedBaseProps<T extends string = string> {
56
- /** 段定义。 */
57
- items: readonly SegmentedItem<T>[];
58
- /** 高度档(默认 lg = 32 标准行)。 */
59
- size?: 'sm' | 'md' | 'lg';
60
- /** 撑满父宽、各段等分。 */
61
- block?: boolean;
62
- /** 最外层 1px 描边框(默认 false)。总高与无框版逐像素一致。 */
63
- bordered?: boolean;
64
- /** 选中片配色(默认主题亮片)。见 {@link SegmentedTone}。 */
65
- tone?: SegmentedTone;
66
- /** 无障碍组名(读屏用)。 */
67
- label?: string;
68
- /** 根节点 id(锚点 / 自动化测试用)。 */
69
- id?: string;
70
- /** 追加到根节点的 class(只允许补布局,不许覆盖皮肤)。 */
71
- className?: string;
72
- /** 整组禁用(表单只读态用)。 */
73
- disabled?: boolean;
74
- /** 外层追加样式(只允许补布局,不许覆盖皮肤)。 */
75
- style?: CSSProperties;
76
- }
77
- export interface SegmentedSingleProps<T extends string = string> extends SegmentedBaseProps<T> {
78
- multiple?: false;
79
- /** 当前选中值。 */
80
- value: T;
81
- onChange: (value: T) => void;
82
- }
83
- export interface SegmentedMultiProps<T extends string = string> extends SegmentedBaseProps<T> {
84
- /** 多选模式(如星期)。 */
85
- multiple: true;
86
- /** 当前选中值集合。 */
87
- value: T[];
88
- onChange: (value: T[]) => void;
89
- }
90
- export type SegmentedProps<T extends string = string> = SegmentedSingleProps<T> | SegmentedMultiProps<T>;
91
- /**
92
- * 渲染一个分段控件(单选 / 多选同体)。
93
- *
94
- * @param props 见 {@link SegmentedProps}。
95
- * @returns 分段控件元素。
96
- */
97
- export declare function Segmented<T extends string>(props: SegmentedProps<T>): ReturnType<typeof h>;
98
- export {};
99
- //# sourceMappingURL=Segmented.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Segmented.d.ts","sourceRoot":"","sources":["../../src/ui/Segmented.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EACL,aAAa,IAAI,CAAC,EAKlB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAwBd,iBAAiB;AACjB,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACtD,kBAAkB;IAClB,KAAK,EAAE,CAAC,CAAA;IACR,8BAA8B;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,qCAAqC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,aAAa;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAErF,UAAU,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACpD,WAAW;IACX,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;IAClC,2BAA2B;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IAC5F,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,aAAa;IACb,KAAK,EAAE,CAAC,CAAA;IACR,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IAC3F,iBAAiB;IACjB,QAAQ,EAAE,IAAI,CAAA;IACd,eAAe;IACf,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;CAC/B;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;AAExG;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAmH1F"}
@@ -1,135 +0,0 @@
1
- import { createElement as h, useCallback, useLayoutEffect, useRef, useState, } from 'react';
2
- import { getTooltipRenderer } from './tooltip.js';
3
- import { useOverlayLocked } from './overlay.js';
4
- import { ensureComponentStyles } from './css.js';
5
- import { SEGMENTED_CSS } from './controls-css.js';
6
- /**
7
- * 角标 / 计数要不要显示,返回要显示的文本。
8
- * 数字 ≤0 是「没东西可数」的老口径;字符串(`'1K'` / `'99+'`)由调用方决定,原样显示,空串不显示。
9
- */
10
- function countText(value) {
11
- if (value === undefined)
12
- return null;
13
- if (typeof value === 'number')
14
- return value > 0 ? String(value) : null;
15
- return value === '' ? null : value;
16
- }
17
- /**
18
- * 渲染一个分段控件(单选 / 多选同体)。
19
- *
20
- * @param props 见 {@link SegmentedProps}。
21
- * @returns 分段控件元素。
22
- */
23
- export function Segmented(props) {
24
- // 幂等:token 层 + 控件皮肤(首次渲染时挂上,之后是空转)
25
- ensureComponentStyles('segmented', SEGMENTED_CSS);
26
- ensureComponentStyles('segmented', SEGMENTED_CSS);
27
- const size = props.size ?? 'lg';
28
- const multiple = props.multiple === true;
29
- // 外层浮层锁死 ⇒ 每一段都按自己的禁用态渲染(只做「或」,不写回 props)。
30
- const locked = useOverlayLocked();
31
- const value = props.value;
32
- const onChange = props.onChange;
33
- // 单选:选中底由一块共用「滑动块」承担,点选后从旧段滑到新段(多选每段各自着色,没有唯一滑块可滑)。
34
- const sliding = !multiple && props.items.length > 1;
35
- const rootRef = useRef(null);
36
- const [thumb, setThumb] = useState(null);
37
- // 量选中段的位置:容器 width 由内容决定,段宽又随文案 / 角标变,只能读一次布局。
38
- const measure = useCallback(() => {
39
- const sel = rootRef.current?.querySelector('.dshpc-seg__item[aria-pressed="true"]');
40
- if (sel === undefined || sel === null) {
41
- setThumb(null);
42
- return;
43
- }
44
- const next = { left: sel.offsetLeft, top: sel.offsetTop, width: sel.offsetWidth, height: sel.offsetHeight };
45
- // 尺寸没变就不 set,免得 ResizeObserver 与渲染互相打转。
46
- setThumb((cur) => cur !== null && cur.left === next.left && cur.top === next.top && cur.width === next.width && cur.height === next.height
47
- ? cur
48
- : next);
49
- }, []);
50
- useLayoutEffect(() => {
51
- if (!sliding) {
52
- setThumb(null);
53
- return;
54
- }
55
- measure();
56
- const root = rootRef.current;
57
- // 容器被布局改宽(block / 换行 / webfont 到位)时重测;首帧 thumb 是插入的新元素,不触发过渡。
58
- if (root === null || typeof ResizeObserver === 'undefined')
59
- return;
60
- const ro = new ResizeObserver(measure);
61
- ro.observe(root);
62
- return () => ro.disconnect();
63
- }, [sliding, measure, value, size, props.items, props.bordered, props.block]);
64
- // 核心 Tooltip 渲染器(宿主启动注入官方 Tooltip;未注入则段级提示降级为无)。
65
- const renderer = getTooltipRenderer();
66
- // tone:内置色名走 CSS 类(底 / 字配对在 segmented.css,两主题各自成立);
67
- // 自定义一对颜色只能内联写根节点那两条局部变量(内联恒胜,两主题同值)。
68
- const tone = props.tone;
69
- const toneClass = typeof tone === 'string' ? ` dshpc-seg--tone-${tone}` : '';
70
- const toneStyle = tone !== undefined && typeof tone !== 'string'
71
- ? { '--seg-thumb': tone.bg, '--seg-on': tone.fg }
72
- : undefined;
73
- return h('div', {
74
- role: 'group',
75
- 'aria-label': props.label,
76
- id: props.id,
77
- ref: rootRef,
78
- // 结构一套、皮肤只在 controls-css 里;此处只拼「轴」类名,不写任何颜色 / 尺寸字面值。
79
- className: `dshpc-seg dshpc-seg--${size}${sliding ? ' dshpc-seg--slide' : ''}${props.block === true ? ' dshpc-seg--block' : ''}${props.bordered === true ? ' dshpc-seg--bordered' : ''}${toneClass}${props.className !== undefined ? ` ${props.className}` : ''}`,
80
- style: toneStyle === undefined ? props.style : { ...toneStyle, ...props.style },
81
- }, [
82
- sliding && thumb !== null
83
- ? h('span', {
84
- key: '__thumb__',
85
- className: 'dshpc-seg__thumb',
86
- 'aria-hidden': true,
87
- style: {
88
- left: `${String(thumb.left)}px`,
89
- top: `${String(thumb.top)}px`,
90
- width: `${String(thumb.width)}px`,
91
- height: `${String(thumb.height)}px`,
92
- },
93
- })
94
- : null,
95
- ...props.items.map(item => {
96
- const on = multiple ? value.includes(item.value) : value === item.value;
97
- const disabled = item.disabled === true || props.disabled === true || locked;
98
- const handle = () => {
99
- if (disabled)
100
- return;
101
- if (multiple) {
102
- const arr = value;
103
- const next = arr.includes(item.value) ? arr.filter(v => v !== item.value) : [...arr, item.value];
104
- onChange(next);
105
- }
106
- else {
107
- ;
108
- onChange(item.value);
109
- }
110
- };
111
- const count = countText(item.count);
112
- const badge = countText(item.badge);
113
- // 图标 / 文字 / 计数三者都没有文字内容时,这一段只有图标 ⇒ 要正方形(CSS 归零左右内距)。
114
- const hasLabel = item.label !== undefined && item.label !== null && item.label !== '';
115
- const hasIcon = item.icon !== undefined && item.icon !== null;
116
- const iconOnly = hasIcon && !hasLabel && count === null && badge === null;
117
- const itemButton = h('button', {
118
- key: item.value,
119
- type: 'button',
120
- className: `dshpc-seg__item${iconOnly ? ' dshpc-seg__item--icon-only' : ''}`,
121
- // 选中态用 aria-pressed 表达 ⇒ 读屏可读,皮肤也只认这一个选择器
122
- 'aria-pressed': on,
123
- 'aria-label': item.ariaLabel ?? (iconOnly ? item.tooltip : undefined),
124
- disabled,
125
- onClick: handle,
126
- }, hasIcon ? h('span', { className: 'dshpc-seg__icon' }, item.icon) : null, hasLabel ? item.label : null, count === null ? null : h('span', { className: 'dshpc-seg__count' }, count), badge === null ? null : h('span', { className: 'dshpc-seg__badge' }, badge));
127
- // 段级悬停提示:走注入的官方 Tooltip(与 FieldHint 同一条路),不破坏分段布局。
128
- if (item.tooltip !== undefined && renderer !== undefined) {
129
- return renderer({ label: item.tooltip, side: 'top', children: itemButton });
130
- }
131
- return itemButton;
132
- }),
133
- ]);
134
- }
135
- //# sourceMappingURL=Segmented.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Segmented.js","sourceRoot":"","sources":["../../src/ui/Segmented.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- /**
2
- * 侧边抽屉(SideSheet)—— 从屏幕左/右缘滑入的**覆盖式**浮层。
3
- *
4
- * 与 PanelDock 的关系(用户 2026-11-02 定):**皮肤一模一样**(同一份 side-panel.css:
5
- * 头部、拖拽条、关闭钮、背景阴影、入场动画),宽度也能拖;差别只有两点:
6
- * · PanelDock 是布局成员(sticky 占宽、挤窄主区,调用方必须给挂载点);
7
- * · SideSheet 是浮层(absolute 贴边、盖住页面,自铺遮罩,不需要挂载点);
8
- * · SideSheet **没有收起**(没有耳朵、没有收起钮)—— 关就是关。
9
- *
10
- * 开关行为与 Modal 一致:渲染即显示(`{open && <SideSheet … />}`)、点遮罩 / Esc / ✕ 都能关,
11
- * 三者都可关掉;遮罩与 Esc 判定走 overlay.ts 的公共件。
12
- */
13
- import { type ReactNode } from 'react';
14
- import { type Translate } from '../utils/i18n.js';
15
- /** 从哪一侧滑入。默认 `left`。 */
16
- export type SideSheetSide = 'left' | 'right';
17
- export interface SideSheetProps {
18
- /** 贴哪条边、从哪边滑入(默认 `left`)。 */
19
- side?: SideSheetSide;
20
- /** 内置头的标题。 */
21
- title?: ReactNode;
22
- /** 标题前的图标位。 */
23
- icon?: ReactNode;
24
- /** 标题**右侧**的任意内容(按钮、标签、下拉……)。 */
25
- extra?: ReactNode;
26
- /**
27
- * 整块替换头部:
28
- * · 不传 ⇒ 内置头(`icon` + `title` + `extra`)
29
- * · `null` ⇒ 不要头部(关闭钮自动浮到右上角)
30
- * · 其他 ReactNode ⇒ 你的头部,库不加内边距/边框/背景
31
- */
32
- header?: ReactNode | null;
33
- /** 是否显示关闭钮(默认 true)。 */
34
- closable?: boolean;
35
- /** 自定义关闭图标(默认 ✕)。 */
36
- closeIcon?: ReactNode;
37
- /** 关闭回调;不传则不出关闭钮(必须自己给关闭路径)。 */
38
- onClose?: () => void;
39
- /**
40
- * 受控开关(默认 true)。传 `false` 时先播收起动画再卸载 —— 想让关闭有动效就常驻渲染它、只切这个布尔;
41
- * 继续用 `{open && <SideSheet/>}` 的老写法也能跑,只是没有收起动画(一卸载就没 DOM 了)。
42
- */
43
- open?: boolean;
44
- /** 点遮罩是否关闭(默认 true)。 */
45
- closeOnMask?: boolean;
46
- /** 按 Esc 是否关闭(默认 true)。 */
47
- escClose?: boolean;
48
- /**
49
- * 有异步在跑(如 footer 里的 `Button` 正在 loading):为真时遮罩 / Esc / ✕ **三条关闭路径全失效**,
50
- * 内容照常渲染。与 `closeOnMask` / `escClose` / `closable` 是"与"关系 —— 它是否决项,不替代它们。
51
- */
52
- busy?: boolean;
53
- /** 锁死全部交互(含义见 `Modal.locked`):抽屉整块点不动、Tab 进不去、三条关闭路径同时失效。 */
54
- locked?: boolean;
55
- /** **初始**宽度(px,默认 460,与 PanelDock 同档);拖过之后以拖出来的为准。 */
56
- width?: number;
57
- /** 可拖宽的下限(默认 320)。 */
58
- minWidth?: number;
59
- /** 可拖宽的上限;不传 = 只受遮罩盒宽度约束。 */
60
- maxWidth?: number;
61
- /** 能否拖宽(默认 true)。 */
62
- resizable?: boolean;
63
- footer?: ReactNode;
64
- /** 底栏左侧的一行过程提示(换字即翻牌,超长省略 + hover 跑马灯)。不传 = 不占位。 */
65
- notice?: string;
66
- children?: ReactNode;
67
- translate?: Translate;
68
- }
69
- export declare function SideSheet(props: SideSheetProps): ReactNode;
70
- //# sourceMappingURL=SideSheet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SideSheet.d.ts","sourceRoot":"","sources":["../../src/ui/SideSheet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvF,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAQpD,wBAAwB;AACxB,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,cAAc;IACd,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,eAAe;IACf,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,iCAAiC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACzB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qBAAqB;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wBAAwB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CA8I1D"}
@@ -1,130 +0,0 @@
1
- /**
2
- * 侧边抽屉(SideSheet)—— 从屏幕左/右缘滑入的**覆盖式**浮层。
3
- *
4
- * 与 PanelDock 的关系(用户 2026-11-02 定):**皮肤一模一样**(同一份 side-panel.css:
5
- * 头部、拖拽条、关闭钮、背景阴影、入场动画),宽度也能拖;差别只有两点:
6
- * · PanelDock 是布局成员(sticky 占宽、挤窄主区,调用方必须给挂载点);
7
- * · SideSheet 是浮层(absolute 贴边、盖住页面,自铺遮罩,不需要挂载点);
8
- * · SideSheet **没有收起**(没有耳朵、没有收起钮)—— 关就是关。
9
- *
10
- * 开关行为与 Modal 一致:渲染即显示(`{open && <SideSheet … />}`)、点遮罩 / Esc / ✕ 都能关,
11
- * 三者都可关掉;遮罩与 Esc 判定走 overlay.ts 的公共件。
12
- */
13
- import { createElement as h, useEffect, useRef, useState } from 'react';
14
- import { t } from '../utils/i18n.js';
15
- import { ensureComponentStyles } from './css.js';
16
- import { SIDE_PANEL_CSS } from './side-panel-css.js';
17
- import { SIDE_SHEET_CSS } from './side-sheet-css.js';
18
- import { OverlayLockCatcher, OverlayLockedProvider, OverlayMask, useEscapeClose, useLockGuards } from './overlay.js';
19
- import { startResizeLayoutWidth } from './resizer.js';
20
- import { FlipText } from './FlipText.js';
21
- export function SideSheet(props) {
22
- ensureComponentStyles('side-panel', SIDE_PANEL_CSS);
23
- ensureComponentStyles('side-sheet', SIDE_SHEET_CSS);
24
- const tt = props.translate ?? t;
25
- const side = props.side ?? 'left';
26
- // busy / locked 都是否决项:三条关闭路径一起封死(✕ 见下面 showClose)。
27
- const busy = props.busy === true;
28
- const locked = props.locked === true;
29
- const denyClose = busy || locked;
30
- const closeOnMask = !denyClose && props.closeOnMask !== false;
31
- useEscapeClose(!denyClose && props.escClose !== false, denyClose ? undefined : props.onClose);
32
- useLockGuards(locked);
33
- // 空串等同于没给:抽屉常驻渲染时,传 "" 就能把上一轮的提示清干净、不留占位。
34
- const notice = props.notice === '' ? undefined : props.notice;
35
- const [width, setWidth] = useState(props.width ?? 460);
36
- const panelRef = useRef(null);
37
- // 收起动效(用户 2026-11-02):open=false 时先播完 dshpc-side-out 再真正卸载;
38
- // 中途又被打开就撤销,不留残影。
39
- const leaving = props.open === false;
40
- // 挂载时就是关着的 ⇒ 直接不渲染(否则开页面会闪一下抽屉)。
41
- const [unmounted, setUnmounted] = useState(leaving);
42
- useEffect(() => {
43
- if (!leaving)
44
- setUnmounted(false);
45
- }, [leaving]);
46
- if (unmounted)
47
- return null;
48
- const showClose = props.closable !== false && props.onClose !== undefined && !denyClose;
49
- const hasHeader = props.header !== null;
50
- const beginResize = (event) => {
51
- const element = panelRef.current;
52
- if (element === null || typeof window === 'undefined')
53
- return;
54
- const startX = event.clientX;
55
- const startWidth = element.getBoundingClientRect().width;
56
- const min = props.minWidth ?? 320;
57
- const businessMax = props.maxWidth ?? Number.POSITIVE_INFINITY;
58
- element.classList.add('dshpc-side-surface--resizing');
59
- startResizeLayoutWidth({
60
- startEvent: event,
61
- rafThrottle: true,
62
- compute: (clientX) => {
63
- // 上限 = 遮罩盒宽度(已按右侧分栏让位),再夹业务上限。
64
- const box = element.parentElement?.getBoundingClientRect().width ?? window.innerWidth;
65
- const max = Math.max(min, Math.min(box, businessMax));
66
- // 左侧抽屉往右拖变宽,右侧抽屉反过来。
67
- const raw = side === 'left' ? startWidth + (clientX - startX) : startWidth + (startX - clientX);
68
- return Math.round(Math.min(Math.max(raw, min), max));
69
- },
70
- onMove: (next) => {
71
- element.style.width = `${next}px`;
72
- },
73
- onCommit: (next) => {
74
- element.classList.remove('dshpc-side-surface--resizing');
75
- setWidth(next);
76
- },
77
- });
78
- };
79
- const closeButton = (floating) => !showClose
80
- ? null
81
- : h('button', {
82
- type: 'button',
83
- className: `dshpc-dock__close ${floating ? 'dshpc-dock__close--floating' : 'dshpc-dock__close--abs'}`,
84
- 'aria-label': tt('dockClose'),
85
- onClick: () => props.onClose?.(),
86
- }, props.closeIcon ?? '✕');
87
- const renderHeader = () => {
88
- if (props.header === null)
89
- return null;
90
- if (props.header !== undefined) {
91
- return h('div', { className: 'dshpc-dock__head dshpc-dock__head--custom' }, props.header);
92
- }
93
- return h('div', { className: 'dshpc-dock__head' }, props.icon === undefined ? null : h('div', { className: 'dshpc-dock__lead' }, props.icon), h('div', { className: 'dshpc-dock__title' }, props.title), props.extra === undefined ? null : h('div', { className: 'dshpc-dock__extra' }, props.extra));
94
- };
95
- return h(OverlayMask, {
96
- kind: 'side',
97
- closeOnMask,
98
- onClose: denyClose ? undefined : props.onClose,
99
- attrs: locked ? { 'data-dshpc-locked': '' } : undefined,
100
- }, h(OverlayLockedProvider, { value: locked }, h('section', {
101
- ref: (element) => {
102
- panelRef.current = element;
103
- },
104
- className: `dshpc-side-surface dshpc-sheet dshpc-sheet--${side}${leaving ? ' dshpc-sheet--leaving' : ''}${locked ? ' dshpc-locked' : ''}`,
105
- style: { width: `${width}px` },
106
- // 收起动画结束才卸载;入场动画结束(leaving=false)在这里不算数。
107
- onAnimationEnd: () => {
108
- if (leaving)
109
- setUnmounted(true);
110
- },
111
- 'aria-label': typeof props.title === 'string' ? props.title : undefined,
112
- // 面板上的点击不能再冒到遮罩(否则点正文就把自己关了)。
113
- onClick: (e) => e.stopPropagation(),
114
- }, props.resizable === false
115
- ? null
116
- : h('div', {
117
- className: 'dshpc-dock__resizer',
118
- role: 'separator',
119
- 'aria-orientation': 'vertical',
120
- 'aria-label': tt('dockResize'),
121
- onPointerDown: (event) => {
122
- beginResize(event);
123
- },
124
- }), renderHeader(), closeButton(!hasHeader), h('div', { className: 'dshpc-dock__body dshpc-sheet__body' }, props.children ?? null), props.footer === undefined && notice === undefined
125
- ? null
126
- : h('div', { className: 'dshpc-sheet__foot' }, notice === undefined ? null : h(FlipText, { text: notice, className: 'dshpc-sheet__notice', sweep: true }), props.footer),
127
- // 与 Modal 同一套:透明点击层兜住自绘元素,变灰归各控件自己的 :disabled。
128
- locked ? h(OverlayLockCatcher) : null)));
129
- }
130
- //# sourceMappingURL=SideSheet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SideSheet.js","sourceRoot":"","sources":["../../src/ui/SideSheet.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- /**
2
- * 拼接外壳 —— 两个控件在外观上焊成一体(L2 组件皮肤,P1)
3
- *
4
- * 只管样式:外框、圆角、两格之间那条 1px 分隔、整体聚焦圈。**不持状态、不出联动回调** ——
5
- * 选中与联动全走内件自己的 `value` / `onChange`(2026-10-28 用户拍板:外壳不必知道
6
- * 右边那个控件管什么,消费方自己拿两个控件去绑)。
7
- *
8
- * 固定两格:不做多格(用户 2026-10-28:「就是两个组合,我觉得就足够了」)。
9
- *
10
- * 用法:
11
- * h(SplitGroup, null,
12
- * h(Segmented, { size: 'md', items, value, onChange: v => { setA(v); setB(pickFor(v)) } }),
13
- * h(Picker, { size: 'md', options: optsOf(a), value: b, onChange: setB }))
14
- *
15
- * 两格要等高,就给内件传**同一个 `size`**(sm 24 / md 28 / lg 32 —— 外壳跟着内件长,不写死高度)。
16
- */
17
- import { createElement as h, type CSSProperties, type ReactNode } from 'react';
18
- export interface SplitGroupProps {
19
- /** 两格内容(左、右)。元素顺序即布局顺序;固定两格,不做多格。 */
20
- children?: ReactNode;
21
- /** 无障碍组名(读屏用)。 */
22
- label?: string;
23
- /** 根节点 id(锚点 / 自动化测试用)。 */
24
- id?: string;
25
- /** 追加到根节点的 class(只允许补布局,不许覆盖皮肤)。 */
26
- className?: string;
27
- /** 外层追加样式(只允许补布局,不许覆盖皮肤)。 */
28
- style?: CSSProperties;
29
- }
30
- /**
31
- * 渲染一个两格拼接外壳。
32
- *
33
- * @param props 见 {@link SplitGroupProps}。
34
- * @returns 外壳元素。
35
- */
36
- export declare function SplitGroup(props: SplitGroupProps): ReturnType<typeof h>;
37
- //# sourceMappingURL=SplitGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SplitGroup.d.ts","sourceRoot":"","sources":["../../src/ui/SplitGroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI9E,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAavE"}
@@ -1,36 +0,0 @@
1
- /**
2
- * 拼接外壳 —— 两个控件在外观上焊成一体(L2 组件皮肤,P1)
3
- *
4
- * 只管样式:外框、圆角、两格之间那条 1px 分隔、整体聚焦圈。**不持状态、不出联动回调** ——
5
- * 选中与联动全走内件自己的 `value` / `onChange`(2026-10-28 用户拍板:外壳不必知道
6
- * 右边那个控件管什么,消费方自己拿两个控件去绑)。
7
- *
8
- * 固定两格:不做多格(用户 2026-10-28:「就是两个组合,我觉得就足够了」)。
9
- *
10
- * 用法:
11
- * h(SplitGroup, null,
12
- * h(Segmented, { size: 'md', items, value, onChange: v => { setA(v); setB(pickFor(v)) } }),
13
- * h(Picker, { size: 'md', options: optsOf(a), value: b, onChange: setB }))
14
- *
15
- * 两格要等高,就给内件传**同一个 `size`**(sm 24 / md 28 / lg 32 —— 外壳跟着内件长,不写死高度)。
16
- */
17
- import { createElement as h } from 'react';
18
- import { ensureComponentStyles } from './css.js';
19
- import { SPLIT_GROUP_CSS } from './controls-css.js';
20
- /**
21
- * 渲染一个两格拼接外壳。
22
- *
23
- * @param props 见 {@link SplitGroupProps}。
24
- * @returns 外壳元素。
25
- */
26
- export function SplitGroup(props) {
27
- ensureComponentStyles('split-group', SPLIT_GROUP_CSS);
28
- return h('div', {
29
- role: 'group',
30
- 'aria-label': props.label,
31
- id: props.id,
32
- className: `dshpc-split${props.className === undefined ? '' : ` ${props.className}`}`,
33
- style: props.style,
34
- }, props.children);
35
- }
36
- //# sourceMappingURL=SplitGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SplitGroup.js","sourceRoot":"","sources":["../../src/ui/SplitGroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAsC,MAAM,OAAO,CAAA;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAenD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,qBAAqB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;IACrD,OAAO,CAAC,CACN,KAAK,EACL;QACE,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,KAAK,CAAC,KAAK;QACzB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,cAAc,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;QACrF,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,EACD,KAAK,CAAC,QAAQ,CACf,CAAA;AACH,CAAC"}