dsh-plugin-core 0.31.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (685) hide show
  1. package/dist/adv/explorer/FileBrowser.d.ts +58 -0
  2. package/dist/adv/explorer/FileBrowser.d.ts.map +1 -0
  3. package/dist/adv/explorer/FileBrowser.js +632 -0
  4. package/dist/adv/explorer/FileBrowser.js.map +1 -0
  5. package/dist/adv/explorer/crumb-nav.d.ts +45 -0
  6. package/dist/adv/explorer/crumb-nav.d.ts.map +1 -0
  7. package/dist/adv/explorer/crumb-nav.js +78 -0
  8. package/dist/adv/explorer/crumb-nav.js.map +1 -0
  9. package/dist/adv/explorer/crumbs-menu.d.ts +37 -0
  10. package/dist/adv/explorer/crumbs-menu.d.ts.map +1 -0
  11. package/dist/adv/explorer/crumbs-menu.js +102 -0
  12. package/dist/adv/explorer/crumbs-menu.js.map +1 -0
  13. package/dist/adv/explorer/explorer-css.d.ts +2 -0
  14. package/dist/adv/explorer/explorer-css.d.ts.map +1 -0
  15. package/dist/adv/explorer/explorer-css.generated.d.ts +2 -0
  16. package/dist/adv/explorer/explorer-css.generated.d.ts.map +1 -0
  17. package/dist/adv/explorer/explorer-css.generated.js +4 -0
  18. package/dist/adv/explorer/explorer-css.generated.js.map +1 -0
  19. package/dist/adv/explorer/explorer-css.js +3 -0
  20. package/dist/adv/explorer/explorer-css.js.map +1 -0
  21. package/dist/adv/explorer/fs-face.d.ts +36 -0
  22. package/dist/adv/explorer/fs-face.d.ts.map +1 -0
  23. package/dist/adv/explorer/fs-face.js +74 -0
  24. package/dist/adv/explorer/fs-face.js.map +1 -0
  25. package/dist/adv/explorer/index.d.ts +6 -0
  26. package/dist/adv/explorer/index.d.ts.map +1 -0
  27. package/dist/adv/explorer/index.js +6 -0
  28. package/dist/adv/explorer/index.js.map +1 -0
  29. package/dist/adv/explorer/landing.d.ts +26 -0
  30. package/dist/adv/explorer/landing.d.ts.map +1 -0
  31. package/dist/adv/explorer/landing.js +43 -0
  32. package/dist/adv/explorer/landing.js.map +1 -0
  33. package/dist/adv/explorer/open.d.ts +137 -0
  34. package/dist/adv/explorer/open.d.ts.map +1 -0
  35. package/dist/adv/explorer/open.js +350 -0
  36. package/dist/adv/explorer/open.js.map +1 -0
  37. package/dist/adv/explorer/picker-placement.d.ts +69 -0
  38. package/dist/adv/explorer/picker-placement.d.ts.map +1 -0
  39. package/dist/adv/explorer/picker-placement.js +122 -0
  40. package/dist/adv/explorer/picker-placement.js.map +1 -0
  41. package/dist/adv/explorer/preview/BytesPreview.d.ts +12 -0
  42. package/dist/adv/explorer/preview/BytesPreview.d.ts.map +1 -0
  43. package/dist/adv/explorer/preview/BytesPreview.js +60 -0
  44. package/dist/adv/explorer/preview/BytesPreview.js.map +1 -0
  45. package/dist/adv/explorer/preview/HtmlPreview.d.ts +17 -0
  46. package/dist/adv/explorer/preview/HtmlPreview.d.ts.map +1 -0
  47. package/dist/adv/explorer/preview/HtmlPreview.js +113 -0
  48. package/dist/adv/explorer/preview/HtmlPreview.js.map +1 -0
  49. package/dist/adv/explorer/preview/OfficePreview.d.ts +12 -0
  50. package/dist/adv/explorer/preview/OfficePreview.d.ts.map +1 -0
  51. package/dist/adv/explorer/preview/OfficePreview.js +63 -0
  52. package/dist/adv/explorer/preview/OfficePreview.js.map +1 -0
  53. package/dist/adv/explorer/preview/TextPreview.d.ts +18 -0
  54. package/dist/adv/explorer/preview/TextPreview.d.ts.map +1 -0
  55. package/dist/adv/explorer/preview/TextPreview.js +122 -0
  56. package/dist/adv/explorer/preview/TextPreview.js.map +1 -0
  57. package/dist/adv/explorer/preview/index.d.ts +24 -0
  58. package/dist/adv/explorer/preview/index.d.ts.map +1 -0
  59. package/dist/adv/explorer/preview/index.js +58 -0
  60. package/dist/adv/explorer/preview/index.js.map +1 -0
  61. package/dist/adv/explorer/preview/md-labels.d.ts +3 -0
  62. package/dist/adv/explorer/preview/md-labels.d.ts.map +1 -0
  63. package/dist/adv/explorer/preview/md-labels.js +12 -0
  64. package/dist/adv/explorer/preview/md-labels.js.map +1 -0
  65. package/dist/adv/explorer/preview-title-bar.d.ts +26 -0
  66. package/dist/adv/explorer/preview-title-bar.d.ts.map +1 -0
  67. package/dist/adv/explorer/preview-title-bar.js +48 -0
  68. package/dist/adv/explorer/preview-title-bar.js.map +1 -0
  69. package/dist/adv/explorer/types.d.ts +259 -0
  70. package/dist/adv/explorer/types.d.ts.map +1 -0
  71. package/dist/adv/explorer/types.js +379 -0
  72. package/dist/adv/explorer/types.js.map +1 -0
  73. package/dist/adv/session/SessionViewModal.d.ts +37 -0
  74. package/dist/adv/session/SessionViewModal.d.ts.map +1 -0
  75. package/dist/adv/session/SessionViewModal.js +1133 -0
  76. package/dist/adv/session/SessionViewModal.js.map +1 -0
  77. package/dist/adv/session/changes.d.ts +73 -0
  78. package/dist/adv/session/changes.d.ts.map +1 -0
  79. package/dist/adv/session/changes.js +134 -0
  80. package/dist/adv/session/changes.js.map +1 -0
  81. package/dist/adv/session/faces.d.ts +244 -0
  82. package/dist/adv/session/faces.d.ts.map +1 -0
  83. package/dist/adv/session/faces.js +17 -0
  84. package/dist/adv/session/faces.js.map +1 -0
  85. package/dist/adv/session/index.d.ts +7 -0
  86. package/dist/adv/session/index.d.ts.map +1 -0
  87. package/dist/adv/session/index.js +27 -0
  88. package/dist/adv/session/index.js.map +1 -0
  89. package/dist/adv/session/mirror/AskCard.d.ts +35 -0
  90. package/dist/adv/session/mirror/AskCard.d.ts.map +1 -0
  91. package/dist/adv/session/mirror/AskCard.js +131 -0
  92. package/dist/adv/session/mirror/AskCard.js.map +1 -0
  93. package/dist/adv/session/mirror/BashRow.d.ts +14 -0
  94. package/dist/adv/session/mirror/BashRow.d.ts.map +1 -0
  95. package/dist/adv/session/mirror/BashRow.js +143 -0
  96. package/dist/adv/session/mirror/BashRow.js.map +1 -0
  97. package/dist/adv/session/mirror/ChangedFileDiff.d.ts +25 -0
  98. package/dist/adv/session/mirror/ChangedFileDiff.d.ts.map +1 -0
  99. package/dist/adv/session/mirror/ChangedFileDiff.js +178 -0
  100. package/dist/adv/session/mirror/ChangedFileDiff.js.map +1 -0
  101. package/dist/adv/session/mirror/ChangedFilesCard.d.ts +18 -0
  102. package/dist/adv/session/mirror/ChangedFilesCard.d.ts.map +1 -0
  103. package/dist/adv/session/mirror/ChangedFilesCard.js +165 -0
  104. package/dist/adv/session/mirror/ChangedFilesCard.js.map +1 -0
  105. package/dist/adv/session/mirror/ChatGroupSeat.d.ts +24 -0
  106. package/dist/adv/session/mirror/ChatGroupSeat.d.ts.map +1 -0
  107. package/dist/adv/session/mirror/ChatGroupSeat.js +135 -0
  108. package/dist/adv/session/mirror/ChatGroupSeat.js.map +1 -0
  109. package/dist/adv/session/mirror/ChatNodeSeat.d.ts +43 -0
  110. package/dist/adv/session/mirror/ChatNodeSeat.d.ts.map +1 -0
  111. package/dist/adv/session/mirror/ChatNodeSeat.js +133 -0
  112. package/dist/adv/session/mirror/ChatNodeSeat.js.map +1 -0
  113. package/dist/adv/session/mirror/ChatView.d.ts +47 -0
  114. package/dist/adv/session/mirror/ChatView.d.ts.map +1 -0
  115. package/dist/adv/session/mirror/ChatView.js +138 -0
  116. package/dist/adv/session/mirror/ChatView.js.map +1 -0
  117. package/dist/adv/session/mirror/CommandCard.d.ts +20 -0
  118. package/dist/adv/session/mirror/CommandCard.d.ts.map +1 -0
  119. package/dist/adv/session/mirror/CommandCard.js +69 -0
  120. package/dist/adv/session/mirror/CommandCard.js.map +1 -0
  121. package/dist/adv/session/mirror/ContextInjectionRow.d.ts +18 -0
  122. package/dist/adv/session/mirror/ContextInjectionRow.d.ts.map +1 -0
  123. package/dist/adv/session/mirror/ContextInjectionRow.js +50 -0
  124. package/dist/adv/session/mirror/ContextInjectionRow.js.map +1 -0
  125. package/dist/adv/session/mirror/Deliverables.d.ts +24 -0
  126. package/dist/adv/session/mirror/Deliverables.d.ts.map +1 -0
  127. package/dist/adv/session/mirror/Deliverables.js +175 -0
  128. package/dist/adv/session/mirror/Deliverables.js.map +1 -0
  129. package/dist/adv/session/mirror/GenericCommandCard.d.ts +136 -0
  130. package/dist/adv/session/mirror/GenericCommandCard.d.ts.map +1 -0
  131. package/dist/adv/session/mirror/GenericCommandCard.js +948 -0
  132. package/dist/adv/session/mirror/GenericCommandCard.js.map +1 -0
  133. package/dist/adv/session/mirror/MessageIconActions.d.ts +16 -0
  134. package/dist/adv/session/mirror/MessageIconActions.d.ts.map +1 -0
  135. package/dist/adv/session/mirror/MessageIconActions.js +69 -0
  136. package/dist/adv/session/mirror/MessageIconActions.js.map +1 -0
  137. package/dist/adv/session/mirror/MessageItem.d.ts +93 -0
  138. package/dist/adv/session/mirror/MessageItem.d.ts.map +1 -0
  139. package/dist/adv/session/mirror/MessageItem.js +194 -0
  140. package/dist/adv/session/mirror/MessageItem.js.map +1 -0
  141. package/dist/adv/session/mirror/ReasoningRow.d.ts +11 -0
  142. package/dist/adv/session/mirror/ReasoningRow.d.ts.map +1 -0
  143. package/dist/adv/session/mirror/ReasoningRow.js +111 -0
  144. package/dist/adv/session/mirror/ReasoningRow.js.map +1 -0
  145. package/dist/adv/session/mirror/RunningStatus.d.ts +12 -0
  146. package/dist/adv/session/mirror/RunningStatus.d.ts.map +1 -0
  147. package/dist/adv/session/mirror/RunningStatus.js +57 -0
  148. package/dist/adv/session/mirror/RunningStatus.js.map +1 -0
  149. package/dist/adv/session/mirror/StatDialog.d.ts +20 -0
  150. package/dist/adv/session/mirror/StatDialog.d.ts.map +1 -0
  151. package/dist/adv/session/mirror/StatDialog.js +49 -0
  152. package/dist/adv/session/mirror/StatDialog.js.map +1 -0
  153. package/dist/adv/session/mirror/ToolDetails.d.ts +65 -0
  154. package/dist/adv/session/mirror/ToolDetails.d.ts.map +1 -0
  155. package/dist/adv/session/mirror/ToolDetails.js +268 -0
  156. package/dist/adv/session/mirror/ToolDetails.js.map +1 -0
  157. package/dist/adv/session/mirror/TurnProcessNodeView.d.ts +10 -0
  158. package/dist/adv/session/mirror/TurnProcessNodeView.d.ts.map +1 -0
  159. package/dist/adv/session/mirror/TurnProcessNodeView.js +57 -0
  160. package/dist/adv/session/mirror/TurnProcessNodeView.js.map +1 -0
  161. package/dist/adv/session/mirror/TurnTailNodeView.d.ts +57 -0
  162. package/dist/adv/session/mirror/TurnTailNodeView.d.ts.map +1 -0
  163. package/dist/adv/session/mirror/TurnTailNodeView.js +106 -0
  164. package/dist/adv/session/mirror/TurnTailNodeView.js.map +1 -0
  165. package/dist/adv/session/mirror/TurnTriggerNodeView.d.ts +16 -0
  166. package/dist/adv/session/mirror/TurnTriggerNodeView.d.ts.map +1 -0
  167. package/dist/adv/session/mirror/TurnTriggerNodeView.js +103 -0
  168. package/dist/adv/session/mirror/TurnTriggerNodeView.js.map +1 -0
  169. package/dist/adv/session/mirror/TurnUsagePanel.d.ts +21 -0
  170. package/dist/adv/session/mirror/TurnUsagePanel.d.ts.map +1 -0
  171. package/dist/adv/session/mirror/TurnUsagePanel.js +41 -0
  172. package/dist/adv/session/mirror/TurnUsagePanel.js.map +1 -0
  173. package/dist/adv/session/mirror/control-details.d.ts +9 -0
  174. package/dist/adv/session/mirror/control-details.d.ts.map +1 -0
  175. package/dist/adv/session/mirror/control-details.js +549 -0
  176. package/dist/adv/session/mirror/control-details.js.map +1 -0
  177. package/dist/adv/session/mirror/detail-i18n.d.ts +4 -0
  178. package/dist/adv/session/mirror/detail-i18n.d.ts.map +1 -0
  179. package/dist/adv/session/mirror/detail-i18n.js +153 -0
  180. package/dist/adv/session/mirror/detail-i18n.js.map +1 -0
  181. package/dist/adv/session/mirror/message-chrome.d.ts +39 -0
  182. package/dist/adv/session/mirror/message-chrome.d.ts.map +1 -0
  183. package/dist/adv/session/mirror/message-chrome.js +153 -0
  184. package/dist/adv/session/mirror/message-chrome.js.map +1 -0
  185. package/dist/adv/session/mirror/process-groups.d.ts +56 -0
  186. package/dist/adv/session/mirror/process-groups.d.ts.map +1 -0
  187. package/dist/adv/session/mirror/process-groups.js +204 -0
  188. package/dist/adv/session/mirror/process-groups.js.map +1 -0
  189. package/dist/adv/session/official-classes.d.ts +28 -0
  190. package/dist/adv/session/official-classes.d.ts.map +1 -0
  191. package/dist/adv/session/official-classes.js +152 -0
  192. package/dist/adv/session/official-classes.js.map +1 -0
  193. package/dist/adv/session/open-review.d.ts +13 -0
  194. package/dist/adv/session/open-review.d.ts.map +1 -0
  195. package/dist/adv/session/open-review.js +32 -0
  196. package/dist/adv/session/open-review.js.map +1 -0
  197. package/dist/adv/session/open-session-view.d.ts +19 -0
  198. package/dist/adv/session/open-session-view.d.ts.map +1 -0
  199. package/dist/adv/session/open-session-view.js +147 -0
  200. package/dist/adv/session/open-session-view.js.map +1 -0
  201. package/dist/adv/session/pending-inputs.d.ts +33 -0
  202. package/dist/adv/session/pending-inputs.d.ts.map +1 -0
  203. package/dist/adv/session/pending-inputs.js +130 -0
  204. package/dist/adv/session/pending-inputs.js.map +1 -0
  205. package/dist/adv/session/session-css.d.ts +2 -0
  206. package/dist/adv/session/session-css.d.ts.map +1 -0
  207. package/dist/adv/session/session-css.generated.d.ts +2 -0
  208. package/dist/adv/session/session-css.generated.d.ts.map +1 -0
  209. package/dist/adv/session/session-css.generated.js +4 -0
  210. package/dist/adv/session/session-css.generated.js.map +1 -0
  211. package/dist/adv/session/session-css.js +3 -0
  212. package/dist/adv/session/session-css.js.map +1 -0
  213. package/dist/adv/session/tail-follow.d.ts +29 -0
  214. package/dist/adv/session/tail-follow.d.ts.map +1 -0
  215. package/dist/adv/session/tail-follow.js +106 -0
  216. package/dist/adv/session/tail-follow.js.map +1 -0
  217. package/dist/design/tokens-css.generated.d.ts +1 -1
  218. package/dist/design/tokens-css.generated.d.ts.map +1 -1
  219. package/dist/design/tokens-css.generated.js +1 -1
  220. package/dist/design/tokens-css.generated.js.map +1 -1
  221. package/dist/ui/Button.d.ts.map +1 -1
  222. package/dist/ui/Button.js +6 -2
  223. package/dist/ui/Button.js.map +1 -1
  224. package/dist/ui/Checkbox.d.ts.map +1 -1
  225. package/dist/ui/Checkbox.js +7 -3
  226. package/dist/ui/Checkbox.js.map +1 -1
  227. package/dist/ui/DateTimePicker.d.ts.map +1 -1
  228. package/dist/ui/DateTimePicker.js +4 -3
  229. package/dist/ui/DateTimePicker.js.map +1 -1
  230. package/dist/ui/Field.d.ts.map +1 -1
  231. package/dist/ui/Field.js +15 -7
  232. package/dist/ui/Field.js.map +1 -1
  233. package/dist/ui/Modal.d.ts +7 -6
  234. package/dist/ui/Modal.d.ts.map +1 -1
  235. package/dist/ui/Modal.js +6 -6
  236. package/dist/ui/Modal.js.map +1 -1
  237. package/dist/ui/Pagination.d.ts.map +1 -1
  238. package/dist/ui/Pagination.js +3 -1
  239. package/dist/ui/Pagination.js.map +1 -1
  240. package/dist/ui/Picker.d.ts.map +1 -1
  241. package/dist/ui/Picker.js +3 -2
  242. package/dist/ui/Picker.js.map +1 -1
  243. package/dist/ui/Segmented.d.ts.map +1 -1
  244. package/dist/ui/Segmented.js +4 -1
  245. package/dist/ui/Segmented.js.map +1 -1
  246. package/dist/ui/SideSheet.d.ts.map +1 -1
  247. package/dist/ui/SideSheet.js +6 -5
  248. package/dist/ui/SideSheet.js.map +1 -1
  249. package/dist/ui/Textarea.d.ts.map +1 -1
  250. package/dist/ui/Textarea.js +4 -1
  251. package/dist/ui/Textarea.js.map +1 -1
  252. package/dist/ui/actions/Button.d.ts +102 -0
  253. package/dist/ui/actions/Button.d.ts.map +1 -0
  254. package/dist/ui/actions/Button.js +233 -0
  255. package/dist/ui/actions/Button.js.map +1 -0
  256. package/dist/ui/actions/button-css.generated.d.ts +2 -0
  257. package/dist/ui/actions/button-css.generated.d.ts.map +1 -0
  258. package/dist/ui/actions/button-css.generated.js +4 -0
  259. package/dist/ui/actions/button-css.generated.js.map +1 -0
  260. package/dist/ui/display/Card.d.ts +65 -0
  261. package/dist/ui/display/Card.d.ts.map +1 -0
  262. package/dist/ui/display/Card.js +109 -0
  263. package/dist/ui/display/Card.js.map +1 -0
  264. package/dist/ui/display/Chip.d.ts +28 -0
  265. package/dist/ui/display/Chip.d.ts.map +1 -0
  266. package/dist/ui/display/Chip.js +36 -0
  267. package/dist/ui/display/Chip.js.map +1 -0
  268. package/dist/ui/display/CodeViewer.d.ts +38 -0
  269. package/dist/ui/display/CodeViewer.d.ts.map +1 -0
  270. package/dist/ui/display/CodeViewer.js +107 -0
  271. package/dist/ui/display/CodeViewer.js.map +1 -0
  272. package/dist/ui/display/FieldHint.d.ts +18 -0
  273. package/dist/ui/display/FieldHint.d.ts.map +1 -0
  274. package/dist/ui/display/FieldHint.js +40 -0
  275. package/dist/ui/display/FieldHint.js.map +1 -0
  276. package/dist/ui/display/FlipText.d.ts +43 -0
  277. package/dist/ui/display/FlipText.d.ts.map +1 -0
  278. package/dist/ui/display/FlipText.js +59 -0
  279. package/dist/ui/display/FlipText.js.map +1 -0
  280. package/dist/ui/display/LiveText.d.ts +13 -0
  281. package/dist/ui/display/LiveText.d.ts.map +1 -0
  282. package/dist/ui/display/LiveText.js +19 -0
  283. package/dist/ui/display/LiveText.js.map +1 -0
  284. package/dist/ui/display/MarqueeText.d.ts +22 -0
  285. package/dist/ui/display/MarqueeText.d.ts.map +1 -0
  286. package/dist/ui/display/MarqueeText.js +52 -0
  287. package/dist/ui/display/MarqueeText.js.map +1 -0
  288. package/dist/ui/display/SectionHead.d.ts +35 -0
  289. package/dist/ui/display/SectionHead.d.ts.map +1 -0
  290. package/dist/ui/display/SectionHead.js +45 -0
  291. package/dist/ui/display/SectionHead.js.map +1 -0
  292. package/dist/ui/display/Surface.d.ts +43 -0
  293. package/dist/ui/display/Surface.d.ts.map +1 -0
  294. package/dist/ui/display/Surface.js +39 -0
  295. package/dist/ui/display/Surface.js.map +1 -0
  296. package/dist/ui/display/Table.d.ts +30 -0
  297. package/dist/ui/display/Table.d.ts.map +1 -0
  298. package/dist/ui/display/Table.js +96 -0
  299. package/dist/ui/display/Table.js.map +1 -0
  300. package/dist/ui/display/card-css.d.ts +2 -0
  301. package/dist/ui/display/card-css.d.ts.map +1 -0
  302. package/dist/ui/display/card-css.generated.d.ts +2 -0
  303. package/dist/ui/display/card-css.generated.d.ts.map +1 -0
  304. package/dist/ui/display/card-css.generated.js +4 -0
  305. package/dist/ui/display/card-css.generated.js.map +1 -0
  306. package/dist/ui/display/card-css.js +5 -0
  307. package/dist/ui/display/card-css.js.map +1 -0
  308. package/dist/ui/display/chip-css.d.ts +2 -0
  309. package/dist/ui/display/chip-css.d.ts.map +1 -0
  310. package/dist/ui/display/chip-css.generated.d.ts +2 -0
  311. package/dist/ui/display/chip-css.generated.d.ts.map +1 -0
  312. package/dist/ui/display/chip-css.generated.js +4 -0
  313. package/dist/ui/display/chip-css.generated.js.map +1 -0
  314. package/dist/ui/display/chip-css.js +12 -0
  315. package/dist/ui/display/chip-css.js.map +1 -0
  316. package/dist/ui/display/code-viewer-css.d.ts +2 -0
  317. package/dist/ui/display/code-viewer-css.d.ts.map +1 -0
  318. package/dist/ui/display/code-viewer-css.generated.d.ts +2 -0
  319. package/dist/ui/display/code-viewer-css.generated.d.ts.map +1 -0
  320. package/dist/ui/display/code-viewer-css.generated.js +4 -0
  321. package/dist/ui/display/code-viewer-css.generated.js.map +1 -0
  322. package/dist/ui/display/code-viewer-css.js +3 -0
  323. package/dist/ui/display/code-viewer-css.js.map +1 -0
  324. package/dist/ui/display/code-viewer-lang.d.ts +15 -0
  325. package/dist/ui/display/code-viewer-lang.d.ts.map +1 -0
  326. package/dist/ui/display/code-viewer-lang.js +190 -0
  327. package/dist/ui/display/code-viewer-lang.js.map +1 -0
  328. package/dist/ui/display/code-viewer-theme.d.ts +5 -0
  329. package/dist/ui/display/code-viewer-theme.d.ts.map +1 -0
  330. package/dist/ui/display/code-viewer-theme.js +138 -0
  331. package/dist/ui/display/code-viewer-theme.js.map +1 -0
  332. package/dist/ui/display/flip-css.d.ts +2 -0
  333. package/dist/ui/display/flip-css.d.ts.map +1 -0
  334. package/dist/ui/display/flip-css.generated.d.ts +2 -0
  335. package/dist/ui/display/flip-css.generated.d.ts.map +1 -0
  336. package/dist/ui/display/flip-css.generated.js +4 -0
  337. package/dist/ui/display/flip-css.generated.js.map +1 -0
  338. package/dist/ui/display/flip-css.js +4 -0
  339. package/dist/ui/display/flip-css.js.map +1 -0
  340. package/dist/ui/display/hint-css.generated.d.ts +2 -0
  341. package/dist/ui/display/hint-css.generated.d.ts.map +1 -0
  342. package/dist/ui/display/hint-css.generated.js +4 -0
  343. package/dist/ui/display/hint-css.generated.js.map +1 -0
  344. package/dist/ui/display/marquee-css.d.ts +2 -0
  345. package/dist/ui/display/marquee-css.d.ts.map +1 -0
  346. package/dist/ui/display/marquee-css.generated.d.ts +2 -0
  347. package/dist/ui/display/marquee-css.generated.d.ts.map +1 -0
  348. package/dist/ui/display/marquee-css.generated.js +4 -0
  349. package/dist/ui/display/marquee-css.generated.js.map +1 -0
  350. package/dist/ui/display/marquee-css.js +4 -0
  351. package/dist/ui/display/marquee-css.js.map +1 -0
  352. package/dist/ui/display/section-head-css.generated.d.ts +2 -0
  353. package/dist/ui/display/section-head-css.generated.d.ts.map +1 -0
  354. package/dist/ui/display/section-head-css.generated.js +4 -0
  355. package/dist/ui/display/section-head-css.generated.js.map +1 -0
  356. package/dist/ui/display/surface-css.d.ts +2 -0
  357. package/dist/ui/display/surface-css.d.ts.map +1 -0
  358. package/dist/ui/display/surface-css.generated.d.ts +2 -0
  359. package/dist/ui/display/surface-css.generated.d.ts.map +1 -0
  360. package/dist/ui/display/surface-css.generated.js +4 -0
  361. package/dist/ui/display/surface-css.generated.js.map +1 -0
  362. package/dist/ui/display/surface-css.js +7 -0
  363. package/dist/ui/display/surface-css.js.map +1 -0
  364. package/dist/ui/display/table-css.generated.d.ts +2 -0
  365. package/dist/ui/display/table-css.generated.d.ts.map +1 -0
  366. package/dist/ui/display/table-css.generated.js +4 -0
  367. package/dist/ui/display/table-css.generated.js.map +1 -0
  368. package/dist/ui/display/table-logic.d.ts +110 -0
  369. package/dist/ui/display/table-logic.d.ts.map +1 -0
  370. package/dist/ui/display/table-logic.js +81 -0
  371. package/dist/ui/display/table-logic.js.map +1 -0
  372. package/dist/ui/display/table-plain-css.generated.d.ts +2 -0
  373. package/dist/ui/display/table-plain-css.generated.d.ts.map +1 -0
  374. package/dist/ui/display/table-plain-css.generated.js +4 -0
  375. package/dist/ui/display/table-plain-css.generated.js.map +1 -0
  376. package/dist/ui/display/table-shared.d.ts +101 -0
  377. package/dist/ui/display/table-shared.d.ts.map +1 -0
  378. package/dist/ui/display/table-shared.js +229 -0
  379. package/dist/ui/display/table-shared.js.map +1 -0
  380. package/dist/ui/feedback/AlertModal.d.ts +41 -0
  381. package/dist/ui/feedback/AlertModal.d.ts.map +1 -0
  382. package/dist/ui/feedback/AlertModal.js +45 -0
  383. package/dist/ui/feedback/AlertModal.js.map +1 -0
  384. package/dist/ui/feedback/ConfirmModal.d.ts +50 -0
  385. package/dist/ui/feedback/ConfirmModal.d.ts.map +1 -0
  386. package/dist/ui/feedback/ConfirmModal.js +47 -0
  387. package/dist/ui/feedback/ConfirmModal.js.map +1 -0
  388. package/dist/ui/feedback/Loader.d.ts +49 -0
  389. package/dist/ui/feedback/Loader.d.ts.map +1 -0
  390. package/dist/ui/feedback/Loader.js +79 -0
  391. package/dist/ui/feedback/Loader.js.map +1 -0
  392. package/dist/ui/feedback/LoaderBar.d.ts +38 -0
  393. package/dist/ui/feedback/LoaderBar.d.ts.map +1 -0
  394. package/dist/ui/feedback/LoaderBar.js +79 -0
  395. package/dist/ui/feedback/LoaderBar.js.map +1 -0
  396. package/dist/ui/feedback/Loading.d.ts +69 -0
  397. package/dist/ui/feedback/Loading.d.ts.map +1 -0
  398. package/dist/ui/feedback/Loading.js +164 -0
  399. package/dist/ui/feedback/Loading.js.map +1 -0
  400. package/dist/ui/feedback/Modal.d.ts +73 -0
  401. package/dist/ui/feedback/Modal.d.ts.map +1 -0
  402. package/dist/ui/feedback/Modal.js +83 -0
  403. package/dist/ui/feedback/Modal.js.map +1 -0
  404. package/dist/ui/feedback/SideSheet.d.ts +70 -0
  405. package/dist/ui/feedback/SideSheet.d.ts.map +1 -0
  406. package/dist/ui/feedback/SideSheet.js +130 -0
  407. package/dist/ui/feedback/SideSheet.js.map +1 -0
  408. package/dist/ui/feedback/Toast.d.ts +45 -0
  409. package/dist/ui/feedback/Toast.d.ts.map +1 -0
  410. package/dist/ui/feedback/Toast.js +225 -0
  411. package/dist/ui/feedback/Toast.js.map +1 -0
  412. package/dist/ui/feedback/feedback-css.d.ts +2 -0
  413. package/dist/ui/feedback/feedback-css.d.ts.map +1 -0
  414. package/dist/ui/feedback/feedback-css.generated.d.ts +2 -0
  415. package/dist/ui/feedback/feedback-css.generated.d.ts.map +1 -0
  416. package/dist/ui/feedback/feedback-css.generated.js +4 -0
  417. package/dist/ui/feedback/feedback-css.generated.js.map +1 -0
  418. package/dist/ui/feedback/feedback-css.js +4 -0
  419. package/dist/ui/feedback/feedback-css.js.map +1 -0
  420. package/dist/ui/feedback/host-toast.d.ts +23 -0
  421. package/dist/ui/feedback/host-toast.d.ts.map +1 -0
  422. package/dist/ui/feedback/host-toast.js +34 -0
  423. package/dist/ui/feedback/host-toast.js.map +1 -0
  424. package/dist/ui/feedback/loader-bar-art.d.ts +6 -0
  425. package/dist/ui/feedback/loader-bar-art.d.ts.map +1 -0
  426. package/dist/ui/feedback/loader-bar-art.js +6 -0
  427. package/dist/ui/feedback/loader-bar-art.js.map +1 -0
  428. package/dist/ui/feedback/loader-bar-css.generated.d.ts +2 -0
  429. package/dist/ui/feedback/loader-bar-css.generated.d.ts.map +1 -0
  430. package/dist/ui/feedback/loader-bar-css.generated.js +4 -0
  431. package/dist/ui/feedback/loader-bar-css.generated.js.map +1 -0
  432. package/dist/ui/feedback/loader-css.generated.d.ts +2 -0
  433. package/dist/ui/feedback/loader-css.generated.d.ts.map +1 -0
  434. package/dist/ui/feedback/loader-css.generated.js +4 -0
  435. package/dist/ui/feedback/loader-css.generated.js.map +1 -0
  436. package/dist/ui/feedback/loading-css.generated.d.ts +2 -0
  437. package/dist/ui/feedback/loading-css.generated.d.ts.map +1 -0
  438. package/dist/ui/feedback/loading-css.generated.js +4 -0
  439. package/dist/ui/feedback/loading-css.generated.js.map +1 -0
  440. package/dist/ui/feedback/loading-host.d.ts +49 -0
  441. package/dist/ui/feedback/loading-host.d.ts.map +1 -0
  442. package/dist/ui/feedback/loading-host.js +57 -0
  443. package/dist/ui/feedback/loading-host.js.map +1 -0
  444. package/dist/ui/feedback/modal-host.d.ts +51 -0
  445. package/dist/ui/feedback/modal-host.d.ts.map +1 -0
  446. package/dist/ui/feedback/modal-host.js +170 -0
  447. package/dist/ui/feedback/modal-host.js.map +1 -0
  448. package/dist/ui/feedback/side-sheet-css.d.ts +2 -0
  449. package/dist/ui/feedback/side-sheet-css.d.ts.map +1 -0
  450. package/dist/ui/feedback/side-sheet-css.generated.d.ts +2 -0
  451. package/dist/ui/feedback/side-sheet-css.generated.d.ts.map +1 -0
  452. package/dist/ui/feedback/side-sheet-css.generated.js +4 -0
  453. package/dist/ui/feedback/side-sheet-css.generated.js.map +1 -0
  454. package/dist/ui/feedback/side-sheet-css.js +2 -0
  455. package/dist/ui/feedback/side-sheet-css.js.map +1 -0
  456. package/dist/ui/feedback/toast-host.d.ts +24 -0
  457. package/dist/ui/feedback/toast-host.d.ts.map +1 -0
  458. package/dist/ui/feedback/toast-host.js +20 -0
  459. package/dist/ui/feedback/toast-host.js.map +1 -0
  460. package/dist/ui/feedback-css.generated.d.ts +1 -1
  461. package/dist/ui/feedback-css.generated.d.ts.map +1 -1
  462. package/dist/ui/feedback-css.generated.js +1 -1
  463. package/dist/ui/feedback-css.generated.js.map +1 -1
  464. package/dist/ui/index.d.ts +44 -44
  465. package/dist/ui/index.d.ts.map +1 -1
  466. package/dist/ui/index.js +44 -44
  467. package/dist/ui/index.js.map +1 -1
  468. package/dist/ui/infra/chevron.d.ts +22 -0
  469. package/dist/ui/infra/chevron.d.ts.map +1 -0
  470. package/dist/ui/infra/chevron.js +33 -0
  471. package/dist/ui/infra/chevron.js.map +1 -0
  472. package/dist/ui/infra/controls-css.d.ts +16 -0
  473. package/dist/ui/infra/controls-css.d.ts.map +1 -0
  474. package/dist/ui/infra/controls-css.js +26 -0
  475. package/dist/ui/infra/controls-css.js.map +1 -0
  476. package/dist/ui/infra/css.d.ts +35 -0
  477. package/dist/ui/infra/css.d.ts.map +1 -0
  478. package/dist/ui/infra/css.js +52 -0
  479. package/dist/ui/infra/css.js.map +1 -0
  480. package/dist/ui/infra/host-data.d.ts +119 -0
  481. package/dist/ui/infra/host-data.d.ts.map +1 -0
  482. package/dist/ui/infra/host-data.js +122 -0
  483. package/dist/ui/infra/host-data.js.map +1 -0
  484. package/dist/ui/infra/locale.d.ts +4 -0
  485. package/dist/ui/infra/locale.d.ts.map +1 -0
  486. package/dist/ui/infra/locale.js +17 -0
  487. package/dist/ui/infra/locale.js.map +1 -0
  488. package/dist/ui/infra/overlay-css.d.ts +2 -0
  489. package/dist/ui/infra/overlay-css.d.ts.map +1 -0
  490. package/dist/ui/infra/overlay-css.generated.d.ts +2 -0
  491. package/dist/ui/infra/overlay-css.generated.d.ts.map +1 -0
  492. package/dist/ui/infra/overlay-css.generated.js +4 -0
  493. package/dist/ui/infra/overlay-css.generated.js.map +1 -0
  494. package/dist/ui/infra/overlay-css.js +2 -0
  495. package/dist/ui/infra/overlay-css.js.map +1 -0
  496. package/dist/ui/infra/overlay.d.ts +62 -0
  497. package/dist/ui/infra/overlay.d.ts.map +1 -0
  498. package/dist/ui/infra/overlay.js +94 -0
  499. package/dist/ui/infra/overlay.js.map +1 -0
  500. package/dist/ui/infra/panel-css.d.ts +2 -0
  501. package/dist/ui/infra/panel-css.d.ts.map +1 -0
  502. package/dist/ui/infra/panel-css.generated.d.ts +2 -0
  503. package/dist/ui/infra/panel-css.generated.d.ts.map +1 -0
  504. package/dist/ui/infra/panel-css.generated.js +4 -0
  505. package/dist/ui/infra/panel-css.generated.js.map +1 -0
  506. package/dist/ui/infra/panel-css.js +2 -0
  507. package/dist/ui/infra/panel-css.js.map +1 -0
  508. package/dist/ui/infra/panel.d.ts +41 -0
  509. package/dist/ui/infra/panel.d.ts.map +1 -0
  510. package/dist/ui/infra/panel.js +37 -0
  511. package/dist/ui/infra/panel.js.map +1 -0
  512. package/dist/ui/infra/side-panel-css.d.ts +2 -0
  513. package/dist/ui/infra/side-panel-css.d.ts.map +1 -0
  514. package/dist/ui/infra/side-panel-css.generated.d.ts +2 -0
  515. package/dist/ui/infra/side-panel-css.generated.d.ts.map +1 -0
  516. package/dist/ui/infra/side-panel-css.generated.js +4 -0
  517. package/dist/ui/infra/side-panel-css.generated.js.map +1 -0
  518. package/dist/ui/infra/side-panel-css.js +2 -0
  519. package/dist/ui/infra/side-panel-css.js.map +1 -0
  520. package/dist/ui/infra/thenable.d.ts +9 -0
  521. package/dist/ui/infra/thenable.d.ts.map +1 -0
  522. package/dist/ui/infra/thenable.js +15 -0
  523. package/dist/ui/infra/thenable.js.map +1 -0
  524. package/dist/ui/infra/ticker.d.ts +8 -0
  525. package/dist/ui/infra/ticker.d.ts.map +1 -0
  526. package/dist/ui/infra/ticker.js +49 -0
  527. package/dist/ui/infra/ticker.js.map +1 -0
  528. package/dist/ui/infra/tooltip.d.ts +29 -0
  529. package/dist/ui/infra/tooltip.d.ts.map +1 -0
  530. package/dist/ui/infra/tooltip.js +10 -0
  531. package/dist/ui/infra/tooltip.js.map +1 -0
  532. package/dist/ui/inputs/Checkbox.d.ts +24 -0
  533. package/dist/ui/inputs/Checkbox.d.ts.map +1 -0
  534. package/dist/ui/inputs/Checkbox.js +35 -0
  535. package/dist/ui/inputs/Checkbox.js.map +1 -0
  536. package/dist/ui/inputs/DateTimePicker.d.ts +45 -0
  537. package/dist/ui/inputs/DateTimePicker.d.ts.map +1 -0
  538. package/dist/ui/inputs/DateTimePicker.js +462 -0
  539. package/dist/ui/inputs/DateTimePicker.js.map +1 -0
  540. package/dist/ui/inputs/Field.d.ts +125 -0
  541. package/dist/ui/inputs/Field.d.ts.map +1 -0
  542. package/dist/ui/inputs/Field.js +175 -0
  543. package/dist/ui/inputs/Field.js.map +1 -0
  544. package/dist/ui/inputs/InputGroup.d.ts +91 -0
  545. package/dist/ui/inputs/InputGroup.d.ts.map +1 -0
  546. package/dist/ui/inputs/InputGroup.js +125 -0
  547. package/dist/ui/inputs/InputGroup.js.map +1 -0
  548. package/dist/ui/inputs/ModelPicker.d.ts +48 -0
  549. package/dist/ui/inputs/ModelPicker.d.ts.map +1 -0
  550. package/dist/ui/inputs/ModelPicker.js +101 -0
  551. package/dist/ui/inputs/ModelPicker.js.map +1 -0
  552. package/dist/ui/inputs/Picker.d.ts +56 -0
  553. package/dist/ui/inputs/Picker.d.ts.map +1 -0
  554. package/dist/ui/inputs/Picker.js +244 -0
  555. package/dist/ui/inputs/Picker.js.map +1 -0
  556. package/dist/ui/inputs/Segmented.d.ts +99 -0
  557. package/dist/ui/inputs/Segmented.d.ts.map +1 -0
  558. package/dist/ui/inputs/Segmented.js +135 -0
  559. package/dist/ui/inputs/Segmented.js.map +1 -0
  560. package/dist/ui/inputs/Textarea.d.ts +36 -0
  561. package/dist/ui/inputs/Textarea.d.ts.map +1 -0
  562. package/dist/ui/inputs/Textarea.js +35 -0
  563. package/dist/ui/inputs/Textarea.js.map +1 -0
  564. package/dist/ui/inputs/WorkspacePicker.d.ts +35 -0
  565. package/dist/ui/inputs/WorkspacePicker.d.ts.map +1 -0
  566. package/dist/ui/inputs/WorkspacePicker.js +39 -0
  567. package/dist/ui/inputs/WorkspacePicker.js.map +1 -0
  568. package/dist/ui/inputs/datetime-css.generated.d.ts +2 -0
  569. package/dist/ui/inputs/datetime-css.generated.d.ts.map +1 -0
  570. package/dist/ui/inputs/datetime-css.generated.js +4 -0
  571. package/dist/ui/inputs/datetime-css.generated.js.map +1 -0
  572. package/dist/ui/inputs/datetime-logic.d.ts +102 -0
  573. package/dist/ui/inputs/datetime-logic.d.ts.map +1 -0
  574. package/dist/ui/inputs/datetime-logic.js +200 -0
  575. package/dist/ui/inputs/datetime-logic.js.map +1 -0
  576. package/dist/ui/inputs/field-css.generated.d.ts +2 -0
  577. package/dist/ui/inputs/field-css.generated.d.ts.map +1 -0
  578. package/dist/ui/inputs/field-css.generated.js +4 -0
  579. package/dist/ui/inputs/field-css.generated.js.map +1 -0
  580. package/dist/ui/inputs/input-group-css.generated.d.ts +2 -0
  581. package/dist/ui/inputs/input-group-css.generated.d.ts.map +1 -0
  582. package/dist/ui/inputs/input-group-css.generated.js +4 -0
  583. package/dist/ui/inputs/input-group-css.generated.js.map +1 -0
  584. package/dist/ui/inputs/picker-css.d.ts +2 -0
  585. package/dist/ui/inputs/picker-css.d.ts.map +1 -0
  586. package/dist/ui/inputs/picker-css.generated.d.ts +2 -0
  587. package/dist/ui/inputs/picker-css.generated.d.ts.map +1 -0
  588. package/dist/ui/inputs/picker-css.generated.js +4 -0
  589. package/dist/ui/inputs/picker-css.generated.js.map +1 -0
  590. package/dist/ui/inputs/picker-css.js +4 -0
  591. package/dist/ui/inputs/picker-css.js.map +1 -0
  592. package/dist/ui/inputs/picker-icons.d.ts +12 -0
  593. package/dist/ui/inputs/picker-icons.d.ts.map +1 -0
  594. package/dist/ui/inputs/picker-icons.js +29 -0
  595. package/dist/ui/inputs/picker-icons.js.map +1 -0
  596. package/dist/ui/inputs/picker-logic.d.ts +33 -0
  597. package/dist/ui/inputs/picker-logic.d.ts.map +1 -0
  598. package/dist/ui/inputs/picker-logic.js +68 -0
  599. package/dist/ui/inputs/picker-logic.js.map +1 -0
  600. package/dist/ui/inputs/segmented-css.generated.d.ts +2 -0
  601. package/dist/ui/inputs/segmented-css.generated.d.ts.map +1 -0
  602. package/dist/ui/inputs/segmented-css.generated.js +4 -0
  603. package/dist/ui/inputs/segmented-css.generated.js.map +1 -0
  604. package/dist/ui/layout/PanelDock.d.ts +132 -0
  605. package/dist/ui/layout/PanelDock.d.ts.map +1 -0
  606. package/dist/ui/layout/PanelDock.js +390 -0
  607. package/dist/ui/layout/PanelDock.js.map +1 -0
  608. package/dist/ui/layout/QuickToolbar.d.ts +54 -0
  609. package/dist/ui/layout/QuickToolbar.d.ts.map +1 -0
  610. package/dist/ui/layout/QuickToolbar.js +254 -0
  611. package/dist/ui/layout/QuickToolbar.js.map +1 -0
  612. package/dist/ui/layout/SplitGroup.d.ts +37 -0
  613. package/dist/ui/layout/SplitGroup.d.ts.map +1 -0
  614. package/dist/ui/layout/SplitGroup.js +36 -0
  615. package/dist/ui/layout/SplitGroup.js.map +1 -0
  616. package/dist/ui/layout/panel-dock-css.d.ts +2 -0
  617. package/dist/ui/layout/panel-dock-css.d.ts.map +1 -0
  618. package/dist/ui/layout/panel-dock-css.generated.d.ts +2 -0
  619. package/dist/ui/layout/panel-dock-css.generated.d.ts.map +1 -0
  620. package/dist/ui/layout/panel-dock-css.generated.js +4 -0
  621. package/dist/ui/layout/panel-dock-css.generated.js.map +1 -0
  622. package/dist/ui/layout/panel-dock-css.js +4 -0
  623. package/dist/ui/layout/panel-dock-css.js.map +1 -0
  624. package/dist/ui/layout/panel-dock-logic.d.ts +67 -0
  625. package/dist/ui/layout/panel-dock-logic.d.ts.map +1 -0
  626. package/dist/ui/layout/panel-dock-logic.js +110 -0
  627. package/dist/ui/layout/panel-dock-logic.js.map +1 -0
  628. package/dist/ui/layout/quick-toolbar-css.generated.d.ts +2 -0
  629. package/dist/ui/layout/quick-toolbar-css.generated.d.ts.map +1 -0
  630. package/dist/ui/layout/quick-toolbar-css.generated.js +4 -0
  631. package/dist/ui/layout/quick-toolbar-css.generated.js.map +1 -0
  632. package/dist/ui/layout/quick-toolbar-logic.d.ts +76 -0
  633. package/dist/ui/layout/quick-toolbar-logic.d.ts.map +1 -0
  634. package/dist/ui/layout/quick-toolbar-logic.js +40 -0
  635. package/dist/ui/layout/quick-toolbar-logic.js.map +1 -0
  636. package/dist/ui/layout/resizer.d.ts +29 -0
  637. package/dist/ui/layout/resizer.d.ts.map +1 -0
  638. package/dist/ui/layout/resizer.js +42 -0
  639. package/dist/ui/layout/resizer.js.map +1 -0
  640. package/dist/ui/layout/split-group-css.generated.d.ts +2 -0
  641. package/dist/ui/layout/split-group-css.generated.d.ts.map +1 -0
  642. package/dist/ui/layout/split-group-css.generated.js +4 -0
  643. package/dist/ui/layout/split-group-css.generated.js.map +1 -0
  644. package/dist/ui/navigation/Pagination.d.ts +59 -0
  645. package/dist/ui/navigation/Pagination.d.ts.map +1 -0
  646. package/dist/ui/navigation/Pagination.js +112 -0
  647. package/dist/ui/navigation/Pagination.js.map +1 -0
  648. package/dist/ui/navigation/pagination-css.generated.d.ts +2 -0
  649. package/dist/ui/navigation/pagination-css.generated.d.ts.map +1 -0
  650. package/dist/ui/navigation/pagination-css.generated.js +4 -0
  651. package/dist/ui/navigation/pagination-css.generated.js.map +1 -0
  652. package/dist/ui/navigation/pagination-logic.d.ts +36 -0
  653. package/dist/ui/navigation/pagination-logic.d.ts.map +1 -0
  654. package/dist/ui/navigation/pagination-logic.js +73 -0
  655. package/dist/ui/navigation/pagination-logic.js.map +1 -0
  656. package/dist/ui/official.js +2 -2
  657. package/dist/ui/official.js.map +1 -1
  658. package/dist/ui/overlay-css.generated.d.ts +1 -1
  659. package/dist/ui/overlay-css.generated.d.ts.map +1 -1
  660. package/dist/ui/overlay-css.generated.js +1 -1
  661. package/dist/ui/overlay-css.generated.js.map +1 -1
  662. package/dist/ui/overlay.d.ts +13 -0
  663. package/dist/ui/overlay.d.ts.map +1 -1
  664. package/dist/ui/overlay.js +33 -0
  665. package/dist/ui/overlay.js.map +1 -1
  666. package/dist/ui/side-sheet-css.generated.d.ts +1 -1
  667. package/dist/ui/side-sheet-css.generated.d.ts.map +1 -1
  668. package/dist/ui/side-sheet-css.generated.js +1 -1
  669. package/dist/ui/side-sheet-css.generated.js.map +1 -1
  670. package/dist/utils/i18n.d.ts +2 -2
  671. package/dist/utils/i18n.d.ts.map +1 -1
  672. package/dist/utils/i18n.js +1 -1
  673. package/dist/utils/i18n.js.map +1 -1
  674. package/docs/README.md +1 -1
  675. package/docs/design/architecture.md +9 -8
  676. package/docs/design/copywriting.md +23 -0
  677. package/docs/design/external/dsh-host.md +5 -5
  678. package/docs/design/structure.md +132 -128
  679. package/docs/design/style.md +5 -5
  680. package/docs/help/ui.doc.ts +4 -4
  681. package/docs/help/ui.md +4 -4
  682. package/docs/help/utils.doc.ts +3 -3
  683. package/docs/help/utils.md +3 -3
  684. package/docs/requirements.md +30 -276
  685. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoaderBar.d.ts","sourceRoot":"","sources":["../../../src/ui/feedback/LoaderBar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAS,MAAM,OAAO,CAAA;AAIjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAuB7C,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAoDrE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * LoaderBar —— 胶囊不定进度 loading(Loader 家族成员)。
3
+ *
4
+ * 图形来源:设计出的「轨道 + 蓝色段 + 斜纹」胶囊条。动画是**不定进度**语义:
5
+ * 蓝色那半截**固定不动**,只有它上面的一道道细斜纹单向流动(0.55 秒走一个条纹周期),
6
+ * 看着像条纹在转,不表示任何百分比。要「确定进度」别改这个控件 —— 它是固定加载态,
7
+ * 不是进度条 API。
8
+ *
9
+ * 尺寸轴按**高度**给(宽固定 4:1):图形本身是横条,套方形的尺寸轴没意义。
10
+ *
11
+ * 实现要点:外层 `<g clip-path>` 静止、只让内层的蓝色段动。若把 `clip-path` 与
12
+ * `transform` 放在同一层,裁剪框会跟着平移,等于没裁,蓝段会跑出胶囊外。
13
+ * clipPath 的 id 由 `useId` 生成(同一页面可能有多个实例,写死 id 会互相抢)。
14
+ *
15
+ * 边界同 `Loader`:不带背景、不带内距、不带定位。
16
+ *
17
+ * ⚠️ 图形数据在 `loader-bar-art.ts`(源 SVG 一次性转录),别手改坐标。
18
+ */
19
+ import { createElement as h, useId } from 'react';
20
+ import { ensureComponentStyles } from '../infra/css.js';
21
+ import { LOADER_BAR_CSS } from '../infra/controls-css.js';
22
+ import { BAR_PATHS } from './loader-bar-art.js';
23
+ /** 源图三条路径的固定顺序:轨道 / 蓝色段 / 斜纹。 */
24
+ const TRACK_INDEX = 0;
25
+ const FILL_INDEX = 1;
26
+ const STRIPE_INDEX = 2;
27
+ /**
28
+ * 斜纹的横向重复周期(用户单位):源图相邻斜线的间距。
29
+ * 平移整整一个周期后与原图重合 ⇒ 循环无缝。
30
+ * ⚠️ 必须与 `loader-bar.css` 里 `translateX(85.333px)` 保持一致。
31
+ */
32
+ const STRIPE_PERIOD = 85.333;
33
+ /** 取第 index 条路径:转录不全就当场抛,别静默少画一块。 */
34
+ function pathAt(paths, index) {
35
+ const path = paths[index];
36
+ if (path === undefined) {
37
+ throw new Error(`loader-bar-art 缺少第 ${String(index)} 条路径`);
38
+ }
39
+ return path;
40
+ }
41
+ /**
42
+ * 渲染胶囊不定进度 loading。
43
+ *
44
+ * @param props 见 {@link LoaderBarProps}。
45
+ * @returns `<svg>` 元素。
46
+ */
47
+ export function LoaderBar(props) {
48
+ ensureComponentStyles('loader-bar', LOADER_BAR_CSS);
49
+ const { size = 'md', animated = true, label, className } = props;
50
+ // useId 返回形如 `:r0:` 的串,冒号放进 url(#…) 需要转义,这里直接剔掉。
51
+ const clipId = `dshpc-loader-bar-clip-${useId().replace(/[^a-zA-Z0-9_-]/g, '')}`;
52
+ const track = pathAt(BAR_PATHS, TRACK_INDEX);
53
+ const fill = pathAt(BAR_PATHS, FILL_INDEX);
54
+ const stripe = pathAt(BAR_PATHS, STRIPE_INDEX);
55
+ const classes = ['dshpc-loader-bar', `dshpc-loader-bar--${size}`];
56
+ if (animated === false)
57
+ classes.push('dshpc-loader-bar--still');
58
+ if (className !== undefined && className !== '')
59
+ classes.push(className);
60
+ return h('svg', {
61
+ className: classes.join(' '),
62
+ viewBox: '0 384 1024 256',
63
+ role: label === undefined ? undefined : 'status',
64
+ 'aria-label': label,
65
+ 'aria-hidden': label === undefined ? true : undefined,
66
+ focusable: 'false',
67
+ }, h('defs', null,
68
+ // 直接拿「蓝色段」自己的路径当裁剪区:它左端是圆的、**右端是平直的**
69
+ // (进度刚走到一大半,右边界是一条切面,不能带弧度)。
70
+ // 早先用 rect + rx 裁,四个角都是圆的 ⇒ 右端被裁成弧形,看着像走满了。
71
+ h('clipPath', { id: clipId }, h('path', { d: fill.d }))), h('path', { d: track.d, fill: track.fill }), h('path', { d: fill.d, fill: fill.fill }), h('g', { clipPath: `url(#${clipId})` }, h('g', { className: 'dshpc-loader-bar__stripe' },
72
+ // 三份:原图 + 左移一个周期 + 左移两个周期。
73
+ // 左端圆弧区也要铺满条纹,并且平移过程中左边界不露空。
74
+ ...[0, 1, 2].map((step) => h('g', {
75
+ key: step,
76
+ transform: step === 0 ? undefined : `translate(${String(-STRIPE_PERIOD * step)} 0)`,
77
+ }, h('path', { d: stripe.d, fill: stripe.fill }))))));
78
+ }
79
+ //# sourceMappingURL=LoaderBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoaderBar.js","sourceRoot":"","sources":["../../../src/ui/feedback/LoaderBar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * 全局浮动 Loading 指示器(UI 基础层 · P1)。
3
+ *
4
+ * @deprecated 这是「自带定位 + 自带 pill 背景」的复合件,不属于通用加载图标。
5
+ * 只要图标请用 {@link Loader}(无背景、无定位,背景与位置归调用方);
6
+ * 要居中 / 带文案的整卡请继续用 {@link LoadingToast} / {@link LoadingBlock}。
7
+ * 本组件保留不删(消费方可能还在用),但新代码不要再用。
8
+ *
9
+ * 用法:
10
+ * <Loading />
11
+ *
12
+ * 行为:
13
+ * - fixed 定位在主内容容器右下角,**不占布局空间**;
14
+ * - 右侧贴齐主内容容器右边缘(`anchorId` 默认 `dshpc-main`),底部留 16px;
15
+ * - **三个小方块依次脉动,无任何文案**(基础抽象统一外观,禁止加字;用户 2026-10-06);
16
+ * - 监听窗口 resize / scroll / 内容盒 resize,自动跟住内容宽度。
17
+ *
18
+ * 配套 also 导出 `<RunningBlocks />`:同样的三个脉动方块(无文案),
19
+ * 用于表格单元格里的「运行中」状态指示。
20
+ *
21
+ * 文档登记:docs/design/ui-foundation.md §二「唯一实现表」。
22
+ */
23
+ import { createElement as h } from 'react';
24
+ import { type Translate } from '../../utils/i18n.js';
25
+ import { type LoadingHandle, type LoadingPosition, type LoadingVariant } from './loading-host.js';
26
+ export interface LoadingProps {
27
+ /** 主内容容器 id,loading 贴到它的右下角;默认 `dshpc-main`。 */
28
+ anchorId?: string;
29
+ }
30
+ /** 浮动 Loading pill:三个脉动方块(无文案;基础抽象统一外观)。 */
31
+ export declare function Loading(props: LoadingProps): ReturnType<typeof h>;
32
+ /** 运行中状态用的三个脉动方块(无文案),颜色跟随 `currentColor`。 */
33
+ export declare function RunningBlocks(): ReturnType<typeof h>;
34
+ /** 两种加载提示共用的 props。 */
35
+ export interface LoadingViewProps {
36
+ /** 文案,默认内置字典 `loadingDefault`(数据加载中 / Loading)。 */
37
+ text?: string;
38
+ /** 文案翻译函数,默认用内置字典。 */
39
+ translate?: Translate;
40
+ }
41
+ export interface LoadingOptions extends LoadingViewProps {
42
+ /** `toast` = 横排卡(默认);`block` = 方块卡。 */
43
+ variant?: LoadingVariant;
44
+ /** 屏幕方位,默认 `bottom-center`(与 Toast 同屏位);`center` 为正中。 */
45
+ position?: LoadingPosition;
46
+ /** 铺全屏遮罩挡住后面的一切点击,默认 false(不挡,随点随走)。 */
47
+ mask?: boolean;
48
+ /** 遮罩浓度 0–1,默认 0(全透明,但仍挡住点击)。 */
49
+ maskOpacity?: number;
50
+ }
51
+ /** 样式一:横排提示卡(转圈在左、文字在右),灰色底与 notify 的 info 卡同色。就地渲染,位置随调用方。 */
52
+ export declare function LoadingToast(props: LoadingViewProps): ReturnType<typeof h>;
53
+ /** 样式二:方块卡(转圈在上、文字在下,内距更大)。就地渲染,位置随调用方。 */
54
+ export declare function LoadingBlock(props: LoadingViewProps): ReturnType<typeof h>;
55
+ /**
56
+ * 命令式加载提示(全局唯一浮层,**不自动消失**)。所有插件、所有位置调用都落在**同一处**
57
+ * (默认屏幕下方居中,与 Toast 同屏位),且屏幕上永远只有一张卡 —— 后一次调用直接顶掉
58
+ * 前一次,被顶掉那次的句柄再 `close()` 是空操作。收起只能靠自己调 `close()`。
59
+ *
60
+ * ```ts
61
+ * const loading = showLoading({ text: '正在保存…', mask: true, maskOpacity: 0.3 })
62
+ * await save()
63
+ * loading.close()
64
+ * ```
65
+ *
66
+ * 无 `document` 时静默返回空句柄(Node 单测 / SSR 不炸)。
67
+ */
68
+ export declare function showLoading(opts?: LoadingOptions): LoadingHandle;
69
+ //# sourceMappingURL=Loading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../src/ui/feedback/Loading.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAuB,MAAM,OAAO,CAAA;AAE/D,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAIL,KAAK,aAAa,EAElB,KAAK,eAAe,EAEpB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAA;AA6C1B,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,4CAA4C;AAC5C,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAOjE;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAGpD;AAMD,uBAAuB;AACvB,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,uCAAuC;IACvC,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,wCAAwC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAMD,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAQ1E;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAQ1E;AAyDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,aAAa,CAUhE"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * 全局浮动 Loading 指示器(UI 基础层 · P1)。
3
+ *
4
+ * @deprecated 这是「自带定位 + 自带 pill 背景」的复合件,不属于通用加载图标。
5
+ * 只要图标请用 {@link Loader}(无背景、无定位,背景与位置归调用方);
6
+ * 要居中 / 带文案的整卡请继续用 {@link LoadingToast} / {@link LoadingBlock}。
7
+ * 本组件保留不删(消费方可能还在用),但新代码不要再用。
8
+ *
9
+ * 用法:
10
+ * <Loading />
11
+ *
12
+ * 行为:
13
+ * - fixed 定位在主内容容器右下角,**不占布局空间**;
14
+ * - 右侧贴齐主内容容器右边缘(`anchorId` 默认 `dshpc-main`),底部留 16px;
15
+ * - **三个小方块依次脉动,无任何文案**(基础抽象统一外观,禁止加字;用户 2026-10-06);
16
+ * - 监听窗口 resize / scroll / 内容盒 resize,自动跟住内容宽度。
17
+ *
18
+ * 配套 also 导出 `<RunningBlocks />`:同样的三个脉动方块(无文案),
19
+ * 用于表格单元格里的「运行中」状态指示。
20
+ *
21
+ * 文档登记:docs/design/ui-foundation.md §二「唯一实现表」。
22
+ */
23
+ import { createElement as h, useEffect, useState } from 'react';
24
+ import { createRoot } from 'react-dom/client';
25
+ import { t } from '../../utils/i18n.js';
26
+ import { claimLoadingHost, createLoadingSlot, loadingOverlayClass, } from './loading-host.js';
27
+ import { ensureComponentStyles, getStyleKit } from '../infra/css.js';
28
+ import { LOADING_CSS } from '../infra/controls-css.js';
29
+ import { Loader } from './Loader.js';
30
+ const pillStyle = {
31
+ position: 'fixed',
32
+ bottom: '16px',
33
+ zIndex: 'var(--dshpc-z-dock)',
34
+ display: 'inline-flex', alignItems: 'center', gap: '6px',
35
+ padding: '5px 10px', borderRadius: 'var(--dshpc-radius-md)',
36
+ background: 'var(--dshpc-surface-1)', border: '1px solid var(--dshpc-border)',
37
+ boxShadow: 'var(--dshpc-shadow-1, 0 2px 8px rgba(0,0,0,.12))',
38
+ color: 'var(--dshpc-fg-2)', fontSize: 'var(--dshpc-font-xs)', lineHeight: 'var(--dshpc-line-sm)',
39
+ // 纯提示,不吃鼠标事件(别挡住底下的内容)。
40
+ pointerEvents: 'none',
41
+ };
42
+ const RIGHT_MARGIN_PX = 0;
43
+ function useContentRight(anchorId) {
44
+ const [right, setRight] = useState(`${RIGHT_MARGIN_PX}px`);
45
+ useEffect(() => {
46
+ const update = () => {
47
+ const el = document.getElementById(anchorId);
48
+ if (!el)
49
+ return;
50
+ const rect = el.getBoundingClientRect();
51
+ const viewportW = document.documentElement.clientWidth;
52
+ setRight(`${Math.max(0, viewportW - rect.right + RIGHT_MARGIN_PX)}px`);
53
+ };
54
+ update();
55
+ window.addEventListener('resize', update);
56
+ window.addEventListener('scroll', update, true);
57
+ const ro = new ResizeObserver(update);
58
+ const el = document.getElementById(anchorId);
59
+ if (el)
60
+ ro.observe(el);
61
+ return () => {
62
+ window.removeEventListener('resize', update);
63
+ window.removeEventListener('scroll', update, true);
64
+ ro.disconnect();
65
+ };
66
+ }, [anchorId]);
67
+ return right;
68
+ }
69
+ /** 浮动 Loading pill:三个脉动方块(无文案;基础抽象统一外观)。 */
70
+ export function Loading(props) {
71
+ ensureComponentStyles('loading', LOADING_CSS);
72
+ ensureComponentStyles('loading', LOADING_CSS);
73
+ const right = useContentRight(props.anchorId ?? 'dshpc-main');
74
+ return h('div', { style: { ...pillStyle, right }, role: 'status', 'aria-live': 'polite' }, h('span', { className: 'dshpc-run-blocks' }, h('i', null), h('i', null), h('i', null)));
75
+ }
76
+ /** 运行中状态用的三个脉动方块(无文案),颜色跟随 `currentColor`。 */
77
+ export function RunningBlocks() {
78
+ ensureComponentStyles('loading', LOADING_CSS);
79
+ return h('span', { className: 'dshpc-run-blocks' }, h('i', null), h('i', null), h('i', null));
80
+ }
81
+ function textOf(props) {
82
+ return props.text ?? (props.translate ?? t)('loadingDefault');
83
+ }
84
+ /** 样式一:横排提示卡(转圈在左、文字在右),灰色底与 notify 的 info 卡同色。就地渲染,位置随调用方。 */
85
+ export function LoadingToast(props) {
86
+ ensureComponentStyles('loading', LOADING_CSS);
87
+ return h('div', { className: 'dshpc-loading-toast', role: 'status', 'aria-live': 'polite' }, h(Loader, { size: 'sm' }), h('span', null, textOf(props)));
88
+ }
89
+ /** 样式二:方块卡(转圈在上、文字在下,内距更大)。就地渲染,位置随调用方。 */
90
+ export function LoadingBlock(props) {
91
+ ensureComponentStyles('loading', LOADING_CSS);
92
+ return h('div', { className: 'dshpc-loading-block', role: 'status', 'aria-live': 'polite' }, h(Loader, { size: 'md' }), h('span', null, textOf(props)));
93
+ }
94
+ // 宿主实现:唯一浮层根 + 唯一槽位(`createLoadingSlot`)。屏幕上永远最多一张卡。
95
+ function createLoadingHost() {
96
+ const slot = createLoadingSlot();
97
+ let root = null;
98
+ let container = null;
99
+ function flush() {
100
+ const state = slot.current();
101
+ if (state === null) {
102
+ root?.unmount();
103
+ container?.remove();
104
+ root = null;
105
+ container = null;
106
+ return;
107
+ }
108
+ if (root === null) {
109
+ container = document.createElement('div');
110
+ container.setAttribute('data-dshpc-loading-host', '');
111
+ document.body.appendChild(container);
112
+ root = createRoot(container);
113
+ }
114
+ ensureComponentStyles('loading', LOADING_CSS, getStyleKit());
115
+ const { request } = state;
116
+ const opacity = Math.min(1, Math.max(0, request.maskOpacity));
117
+ root.render(h('div', { className: loadingOverlayClass(request.position) }, request.mask
118
+ ? h('div', {
119
+ className: 'dshpc-loading-overlay__mask',
120
+ style: { background: `rgba(0, 0, 0, ${opacity})` },
121
+ })
122
+ : null, request.variant === 'block'
123
+ ? h(LoadingBlock, { text: request.text, translate: request.translate })
124
+ : h(LoadingToast, { text: request.text, translate: request.translate })));
125
+ }
126
+ return {
127
+ show(request) {
128
+ const handle = slot.show(request);
129
+ flush();
130
+ return {
131
+ close() {
132
+ handle.close();
133
+ flush();
134
+ },
135
+ };
136
+ },
137
+ };
138
+ }
139
+ /**
140
+ * 命令式加载提示(全局唯一浮层,**不自动消失**)。所有插件、所有位置调用都落在**同一处**
141
+ * (默认屏幕下方居中,与 Toast 同屏位),且屏幕上永远只有一张卡 —— 后一次调用直接顶掉
142
+ * 前一次,被顶掉那次的句柄再 `close()` 是空操作。收起只能靠自己调 `close()`。
143
+ *
144
+ * ```ts
145
+ * const loading = showLoading({ text: '正在保存…', mask: true, maskOpacity: 0.3 })
146
+ * await save()
147
+ * loading.close()
148
+ * ```
149
+ *
150
+ * 无 `document` 时静默返回空句柄(Node 单测 / SSR 不炸)。
151
+ */
152
+ export function showLoading(opts) {
153
+ if (typeof document === 'undefined')
154
+ return { close: () => { } };
155
+ return claimLoadingHost(createLoadingHost).show({
156
+ text: opts?.text,
157
+ variant: opts?.variant ?? 'toast',
158
+ position: opts?.position ?? 'bottom-center',
159
+ mask: opts?.mask === true,
160
+ maskOpacity: opts?.maskOpacity ?? 0,
161
+ translate: opts?.translate,
162
+ });
163
+ }
164
+ //# sourceMappingURL=Loading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/ui/feedback/Loading.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { createElement as h, type ReactNode } from 'react';
2
+ import { type Translate } from '../../utils/i18n.js';
3
+ /** 弹窗尺寸档:sm≈确认框 / md(默认) / lg 大窗。 */
4
+ export type ModalSize = 'sm' | 'md' | 'lg';
5
+ export interface ModalProps {
6
+ /** 头部左侧图标位(可不传)。 */
7
+ icon?: ReactNode;
8
+ title?: ReactNode;
9
+ /**
10
+ * 标题**下方**的副标题行(等宽小字;会话预览的 sessionId 就放这里 —— 用户 2026-10-22:
11
+ * 标识属于标题区,不占正文)。与标题同宽、可换行。
12
+ */
13
+ subtitle?: ReactNode;
14
+ /** 标题右侧小块:数字 / 标签(ReactNode;demo 用 Chip 演示)。 */
15
+ headerExtra?: ReactNode;
16
+ /** 头部右侧动作区:关闭钮之外的更多按钮(ReactNode)。 */
17
+ headerActions?: ReactNode;
18
+ /** 关闭回调;不传则 ✕ 不显示(必须自己给关闭路径)。 */
19
+ onClose?: () => void;
20
+ /** 是否显示右上角 ✕(默认 = `onClose` 是否传入)。确认框传 false 即可去掉小叉。 */
21
+ closable?: boolean;
22
+ /** 点遮罩是否关闭(默认 true;误触代价大的场景设 false)。 */
23
+ closeOnMask?: boolean;
24
+ /** 按 Esc 是否关闭(默认 true)。 */
25
+ escClose?: boolean;
26
+ /**
27
+ * 有异步在跑(如 footer 里的 `Button` 正在 loading):为真时遮罩 / Esc / ✕ **三条关闭路径全失效**,
28
+ * 内容照常渲染。与 `closeOnMask` / `escClose` / `closable` 是"与"关系 —— 它是否决项,不替代它们。
29
+ */
30
+ busy?: boolean;
31
+ /**
32
+ * **锁死全部交互**(与 loading 解耦:按钮转不转圈是另一回事)。为真时:
33
+ * · 面板内的核心控件各自按**自己的禁用态**渲染(灰掉、点不动、Tab 跳过);
34
+ * · 面板上盖一层**全透明**的点击层,消费方自绘的元素也跟着点不动,鼠标是禁止手势;
35
+ * · 遮罩 / Esc / ✕ 三条关闭路径同时失效。
36
+ *
37
+ * 一律只做「或」,**永不写回调用方的 `disabled`**:本来禁用的解锁后照样禁用,锁定期间你把它改成
38
+ * 能用 / 禁用,解锁后也照你的。不压任何灰色遮罩 —— 整块蒙一层会让人以为界面坏了。
39
+ * 受控项,不落内部 state:关掉重开自然回到未锁。
40
+ */
41
+ locked?: boolean;
42
+ /** 尺寸档:sm=小确认框家族 / md·lg=大弹窗家族;也可用 width/height 精确覆盖。 */
43
+ size?: ModalSize;
44
+ /** 面板宽度(默认随 size:sm 360px / md 720px / lg 1120px,均带视口兜底)。 */
45
+ width?: string;
46
+ /** 面板高度(默认仅 lg 有:calc(100% - 80px),同兄弟项目大弹窗)。 */
47
+ height?: string;
48
+ /** 面板最大宽度 / 最大高度覆盖(不传走 size 默认)。 */
49
+ maxWidth?: string;
50
+ maxHeight?: string;
51
+ /** 不渲染头部(沉浸式 / 无标题场景)。 */
52
+ hideHeader?: boolean;
53
+ footer?: ReactNode;
54
+ /**
55
+ * footer **左侧**的一行过程提示(换字即翻牌,太长省略、hover 跑马灯)。
56
+ * 不传 = 不占位、与以前完全一样;传了就自动出现(footer 也可不给,它会自己撑起底栏)。
57
+ * 换文案只改这个值,动效由 `FlipText` 负责。
58
+ */
59
+ notice?: string;
60
+ /** footer 上面那条分隔线(默认 true)。传 false 关闭;sm 确认框家族本来就没有。 */
61
+ footerDivider?: boolean;
62
+ /** 追加 class(只允许补布局 / 视觉修饰,不许覆盖皮肤)。 */
63
+ className?: string;
64
+ children?: ReactNode;
65
+ translate?: Translate;
66
+ }
67
+ /**
68
+ * 模态弹窗(自绘 overlay,**不用 react-dom 的 portal**,避免多一个必需依赖)。
69
+ *
70
+ * 定位:它是**呈现方式**,不是内容 —— 会话预览这类功能模块要用弹窗时用它来承载(需求文档 §4)。
71
+ */
72
+ export declare function Modal(props: ModalProps): ReturnType<typeof h>;
73
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/ui/feedback/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAOvD,qCAAqC;AACrC,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE1C,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,gDAAgD;IAChD,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,qCAAqC;IACrC,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,yDAAyD;IACzD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAwF7D"}
@@ -0,0 +1,83 @@
1
+ import { createElement as h } from 'react';
2
+ import { t } from '../../utils/i18n.js';
3
+ import { ensureComponentStyles } from '../infra/css.js';
4
+ import { FEEDBACK_CSS } from './feedback-css.js';
5
+ import { OverlayHead, OverlayLockCatcher, OverlayLockedProvider, OverlayMask, useEscapeClose, useLockGuards } from '../infra/overlay.js';
6
+ import { PanelSurface } from '../infra/panel.js';
7
+ import { FlipText } from '../display/FlipText.js';
8
+ /**
9
+ * 模态弹窗(自绘 overlay,**不用 react-dom 的 portal**,避免多一个必需依赖)。
10
+ *
11
+ * 定位:它是**呈现方式**,不是内容 —— 会话预览这类功能模块要用弹窗时用它来承载(需求文档 §4)。
12
+ */
13
+ export function Modal(props) {
14
+ ensureComponentStyles('feedback', FEEDBACK_CSS);
15
+ const tt = props.translate ?? t;
16
+ // busy / locked 都是否决项:三条关闭路径一起封死(✕ 见下面 showClose)。
17
+ // locked 比 busy 多管一层:面板整块不可交互(inert)。
18
+ const busy = props.busy === true;
19
+ const locked = props.locked === true;
20
+ const denyClose = busy || locked;
21
+ const closeOnMask = !denyClose && props.closeOnMask !== false;
22
+ useEscapeClose(!denyClose && props.escClose !== false, denyClose ? undefined : props.onClose);
23
+ useLockGuards(locked);
24
+ // 空串等同于没给:底栏那块地方复用给下一轮时,传 "" 就把上一句清干净、不留占位。
25
+ const notice = props.notice === '' ? undefined : props.notice;
26
+ // 默认宽高(兄弟项目真值:小框 360px(task-list.tsx:457)/ 大弹窗 min(1120px,100vw-32px) × calc(100%-80px)(archive-session-css.ts:42))。
27
+ // 宽度用 `100%`(相对遮罩盒)而不是 `100vw`:遮罩已按右侧分栏让位(见 feedback.css),
28
+ // 用 `100vw` 算出来的宽在分栏在场时会溢出到分栏上,等于白让(用户 2026-10-22)。
29
+ const sizeStyle = {
30
+ sm: { width: '360px', maxWidth: 'calc(100% - 48px)' },
31
+ md: { width: 'min(720px, calc(100% - 32px))', maxHeight: '86vh' },
32
+ lg: { width: 'min(1120px, calc(100% - 32px))', height: 'calc(100% - 80px)' },
33
+ };
34
+ const s = sizeStyle[props.size ?? 'md'];
35
+ const showClose = props.closable !== false && props.onClose !== undefined && !denyClose;
36
+ const showHeader = props.hideHeader !== true &&
37
+ (props.icon !== undefined ||
38
+ props.title !== undefined ||
39
+ props.subtitle !== undefined ||
40
+ props.headerExtra !== undefined ||
41
+ props.headerActions !== undefined ||
42
+ showClose);
43
+ return h(OverlayMask, {
44
+ kind: 'center',
45
+ closeOnMask,
46
+ onClose: denyClose ? undefined : props.onClose,
47
+ // inert 子树不参与命中测试,鼠标落到遮罩上 —— 禁止手势得挂在遮罩这层才看得见。
48
+ attrs: locked ? { 'data-dshpc-locked': '' } : undefined,
49
+ }, h(OverlayLockedProvider, { value: locked },
50
+ // 表面(底色/描边/圆角/阴影)来自 panel.css 的 modal 档;`.dshpc-modal` 只剩家族布局,
51
+ // 且继续作为既有类名别名存在(消费方写在它上面的覆盖不受影响)。
52
+ h(PanelSurface, {
53
+ tier: 'modal',
54
+ className: `dshpc-modal${props.size ? ` dshpc-modal--${props.size}` : ''}${locked ? ' dshpc-modal--locked dshpc-locked' : ''}${props.className !== undefined && props.className !== '' ? ` ${props.className}` : ''}`,
55
+ style: {
56
+ width: props.width ?? s.width,
57
+ maxWidth: props.maxWidth ?? s.maxWidth,
58
+ maxHeight: props.maxHeight ?? s.maxHeight,
59
+ height: props.height ?? s.height,
60
+ },
61
+ stopPropagation: true,
62
+ },
63
+ // 头部与遮罩都是浮层公共件(overlay.ts),SideSheet 用的是同一套。
64
+ showHeader
65
+ ? h(OverlayHead, {
66
+ icon: props.icon,
67
+ title: props.title,
68
+ subtitle: props.subtitle,
69
+ extra: props.headerExtra,
70
+ actions: props.headerActions,
71
+ closeLabel: tt('modalClose'),
72
+ onClose: showClose ? props.onClose : undefined,
73
+ })
74
+ : null,
75
+ // body 是**唯一滚动容器**:内距归它、滚动条归它、滚动条贴面板右缘;
76
+ // 内容只管按流排,不许自己定高、不许自己再开滚动条(用户 2026-10-22 定的口径)。
77
+ h('div', { className: 'dshpc-modal__body' }, props.children ?? null), props.footer === undefined && notice === undefined
78
+ ? null
79
+ : h('div', { className: `dshpc-modal__foot${props.footerDivider === false ? ' dshpc-modal__foot--bare' : ''}` }, notice === undefined ? null : h(FlipText, { text: notice, className: 'dshpc-modal__notice', sweep: true }), props.footer),
80
+ // 透明点击层兜住消费方自绘的元素;核心控件此时已各自是真 disabled。
81
+ locked ? h(OverlayLockCatcher) : null)));
82
+ }
83
+ //# sourceMappingURL=Modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/ui/feedback/Modal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideSheet.d.ts","sourceRoot":"","sources":["../../../src/ui/feedback/SideSheet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvF,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAQvD,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"}