@mohou/ui 1.0.20

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 (604) hide show
  1. package/README.md +10 -0
  2. package/lib/types/blocks/activity-feed.d.ts +12 -0
  3. package/lib/types/blocks/activity-feed.d.ts.map +1 -0
  4. package/lib/types/blocks/app-shell.d.ts +17 -0
  5. package/lib/types/blocks/app-shell.d.ts.map +1 -0
  6. package/lib/types/blocks/attachment-gallery.d.ts +15 -0
  7. package/lib/types/blocks/attachment-gallery.d.ts.map +1 -0
  8. package/lib/types/blocks/bar-chart.d.ts +19 -0
  9. package/lib/types/blocks/bar-chart.d.ts.map +1 -0
  10. package/lib/types/blocks/comment-thread.d.ts +17 -0
  11. package/lib/types/blocks/comment-thread.d.ts.map +1 -0
  12. package/lib/types/blocks/dashboard-shell.d.ts +35 -0
  13. package/lib/types/blocks/dashboard-shell.d.ts.map +1 -0
  14. package/lib/types/blocks/description-list.d.ts +14 -0
  15. package/lib/types/blocks/description-list.d.ts.map +1 -0
  16. package/lib/types/blocks/detail-panel.d.ts +16 -0
  17. package/lib/types/blocks/detail-panel.d.ts.map +1 -0
  18. package/lib/types/blocks/donut-chart.d.ts +21 -0
  19. package/lib/types/blocks/donut-chart.d.ts.map +1 -0
  20. package/lib/types/blocks/env-badge.d.ts +11 -0
  21. package/lib/types/blocks/env-badge.d.ts.map +1 -0
  22. package/lib/types/blocks/env-table.d.ts +29 -0
  23. package/lib/types/blocks/env-table.d.ts.map +1 -0
  24. package/lib/types/blocks/file-tree.d.ts +12 -0
  25. package/lib/types/blocks/file-tree.d.ts.map +1 -0
  26. package/lib/types/blocks/filter-bar.d.ts +15 -0
  27. package/lib/types/blocks/filter-bar.d.ts.map +1 -0
  28. package/lib/types/blocks/form-sheet.d.ts +47 -0
  29. package/lib/types/blocks/form-sheet.d.ts.map +1 -0
  30. package/lib/types/blocks/gauge.d.ts +14 -0
  31. package/lib/types/blocks/gauge.d.ts.map +1 -0
  32. package/lib/types/blocks/list-detail.d.ts +42 -0
  33. package/lib/types/blocks/list-detail.d.ts.map +1 -0
  34. package/lib/types/blocks/notification-center.d.ts +16 -0
  35. package/lib/types/blocks/notification-center.d.ts.map +1 -0
  36. package/lib/types/blocks/page-header.d.ts +15 -0
  37. package/lib/types/blocks/page-header.d.ts.map +1 -0
  38. package/lib/types/blocks/progress-ring.d.ts +13 -0
  39. package/lib/types/blocks/progress-ring.d.ts.map +1 -0
  40. package/lib/types/blocks/radar-chart.d.ts +19 -0
  41. package/lib/types/blocks/radar-chart.d.ts.map +1 -0
  42. package/lib/types/blocks/request-inspector.d.ts +14 -0
  43. package/lib/types/blocks/request-inspector.d.ts.map +1 -0
  44. package/lib/types/blocks/reveal.d.ts +30 -0
  45. package/lib/types/blocks/reveal.d.ts.map +1 -0
  46. package/lib/types/blocks/run-timeline.d.ts +12 -0
  47. package/lib/types/blocks/run-timeline.d.ts.map +1 -0
  48. package/lib/types/blocks/scrollspy.d.ts +15 -0
  49. package/lib/types/blocks/scrollspy.d.ts.map +1 -0
  50. package/lib/types/blocks/settings-split.d.ts +47 -0
  51. package/lib/types/blocks/settings-split.d.ts.map +1 -0
  52. package/lib/types/blocks/severity-chip.d.ts +23 -0
  53. package/lib/types/blocks/severity-chip.d.ts.map +1 -0
  54. package/lib/types/blocks/sparkline.d.ts +14 -0
  55. package/lib/types/blocks/sparkline.d.ts.map +1 -0
  56. package/lib/types/blocks/stat-card.d.ts +17 -0
  57. package/lib/types/blocks/stat-card.d.ts.map +1 -0
  58. package/lib/types/blocks/status-badge.d.ts +21 -0
  59. package/lib/types/blocks/status-badge.d.ts.map +1 -0
  60. package/lib/types/blocks/table-page.d.ts +35 -0
  61. package/lib/types/blocks/table-page.d.ts.map +1 -0
  62. package/lib/types/blocks/terminal.d.ts +12 -0
  63. package/lib/types/blocks/terminal.d.ts.map +1 -0
  64. package/lib/types/blocks/test-step-list.d.ts +17 -0
  65. package/lib/types/blocks/test-step-list.d.ts.map +1 -0
  66. package/lib/types/blocks/trend-card.d.ts +20 -0
  67. package/lib/types/blocks/trend-card.d.ts.map +1 -0
  68. package/lib/types/blocks/wizard-shell.d.ts +47 -0
  69. package/lib/types/blocks/wizard-shell.d.ts.map +1 -0
  70. package/lib/types/components/accordion.d.ts +14 -0
  71. package/lib/types/components/accordion.d.ts.map +1 -0
  72. package/lib/types/components/alert-dialog.d.ts +26 -0
  73. package/lib/types/components/alert-dialog.d.ts.map +1 -0
  74. package/lib/types/components/alert.d.ts +18 -0
  75. package/lib/types/components/alert.d.ts.map +1 -0
  76. package/lib/types/components/aspect-ratio.d.ts +9 -0
  77. package/lib/types/components/aspect-ratio.d.ts.map +1 -0
  78. package/lib/types/components/attachment.d.ts +28 -0
  79. package/lib/types/components/attachment.d.ts.map +1 -0
  80. package/lib/types/components/avatar.d.ts +16 -0
  81. package/lib/types/components/avatar.d.ts.map +1 -0
  82. package/lib/types/components/badge.d.ts +15 -0
  83. package/lib/types/components/badge.d.ts.map +1 -0
  84. package/lib/types/components/breadcrumb.d.ts +15 -0
  85. package/lib/types/components/breadcrumb.d.ts.map +1 -0
  86. package/lib/types/components/bubble.d.ts +21 -0
  87. package/lib/types/components/bubble.d.ts.map +1 -0
  88. package/lib/types/components/button-group.d.ts +17 -0
  89. package/lib/types/components/button-group.d.ts.map +1 -0
  90. package/lib/types/components/button.d.ts +16 -0
  91. package/lib/types/components/button.d.ts.map +1 -0
  92. package/lib/types/components/calendar.d.ts +15 -0
  93. package/lib/types/components/calendar.d.ts.map +1 -0
  94. package/lib/types/components/card.d.ts +19 -0
  95. package/lib/types/components/card.d.ts.map +1 -0
  96. package/lib/types/components/chart.d.ts +52 -0
  97. package/lib/types/components/chart.d.ts.map +1 -0
  98. package/lib/types/components/checkbox.d.ts +9 -0
  99. package/lib/types/components/checkbox.d.ts.map +1 -0
  100. package/lib/types/components/collapsible.d.ts +10 -0
  101. package/lib/types/components/collapsible.d.ts.map +1 -0
  102. package/lib/types/components/combobox.d.ts +29 -0
  103. package/lib/types/components/combobox.d.ts.map +1 -0
  104. package/lib/types/components/command.d.ts +26 -0
  105. package/lib/types/components/command.d.ts.map +1 -0
  106. package/lib/types/components/context-menu.d.ts +34 -0
  107. package/lib/types/components/context-menu.d.ts.map +1 -0
  108. package/lib/types/components/dialog.d.ts +30 -0
  109. package/lib/types/components/dialog.d.ts.map +1 -0
  110. package/lib/types/components/drawer.d.ts +21 -0
  111. package/lib/types/components/drawer.d.ts.map +1 -0
  112. package/lib/types/components/dropdown-menu.d.ts +37 -0
  113. package/lib/types/components/dropdown-menu.d.ts.map +1 -0
  114. package/lib/types/components/empty.d.ts +24 -0
  115. package/lib/types/components/empty.d.ts.map +1 -0
  116. package/lib/types/components/field.d.ts +31 -0
  117. package/lib/types/components/field.d.ts.map +1 -0
  118. package/lib/types/components/hover-card.d.ts +10 -0
  119. package/lib/types/components/hover-card.d.ts.map +1 -0
  120. package/lib/types/components/input-group.d.ts +23 -0
  121. package/lib/types/components/input-group.d.ts.map +1 -0
  122. package/lib/types/components/input.d.ts +11 -0
  123. package/lib/types/components/input.d.ts.map +1 -0
  124. package/lib/types/components/item.d.ts +27 -0
  125. package/lib/types/components/item.d.ts.map +1 -0
  126. package/lib/types/components/kbd.d.ts +8 -0
  127. package/lib/types/components/kbd.d.ts.map +1 -0
  128. package/lib/types/components/label.d.ts +11 -0
  129. package/lib/types/components/label.d.ts.map +1 -0
  130. package/lib/types/components/marker.d.ts +15 -0
  131. package/lib/types/components/marker.d.ts.map +1 -0
  132. package/lib/types/components/menubar.d.ts +34 -0
  133. package/lib/types/components/menubar.d.ts.map +1 -0
  134. package/lib/types/components/message-scroller.d.ts +15 -0
  135. package/lib/types/components/message-scroller.d.ts.map +1 -0
  136. package/lib/types/components/message.d.ts +15 -0
  137. package/lib/types/components/message.d.ts.map +1 -0
  138. package/lib/types/components/native-select.d.ts +13 -0
  139. package/lib/types/components/native-select.d.ts.map +1 -0
  140. package/lib/types/components/navigation-menu.d.ts +16 -0
  141. package/lib/types/components/navigation-menu.d.ts.map +1 -0
  142. package/lib/types/components/pagination.d.ts +22 -0
  143. package/lib/types/components/pagination.d.ts.map +1 -0
  144. package/lib/types/components/popover.d.ts +17 -0
  145. package/lib/types/components/popover.d.ts.map +1 -0
  146. package/lib/types/components/progress.d.ts +15 -0
  147. package/lib/types/components/progress.d.ts.map +1 -0
  148. package/lib/types/components/questionnaire.d.ts +24 -0
  149. package/lib/types/components/questionnaire.d.ts.map +1 -0
  150. package/lib/types/components/radio-group.d.ts +10 -0
  151. package/lib/types/components/radio-group.d.ts.map +1 -0
  152. package/lib/types/components/resizable.d.ts +15 -0
  153. package/lib/types/components/resizable.d.ts.map +1 -0
  154. package/lib/types/components/scroll-area.d.ts +9 -0
  155. package/lib/types/components/scroll-area.d.ts.map +1 -0
  156. package/lib/types/components/select.d.ts +23 -0
  157. package/lib/types/components/select.d.ts.map +1 -0
  158. package/lib/types/components/separator.d.ts +9 -0
  159. package/lib/types/components/separator.d.ts.map +1 -0
  160. package/lib/types/components/sheet.d.ts +28 -0
  161. package/lib/types/components/sheet.d.ts.map +1 -0
  162. package/lib/types/components/sidebar.d.ts +68 -0
  163. package/lib/types/components/sidebar.d.ts.map +1 -0
  164. package/lib/types/components/skeleton.d.ts +10 -0
  165. package/lib/types/components/skeleton.d.ts.map +1 -0
  166. package/lib/types/components/slider.d.ts +8 -0
  167. package/lib/types/components/slider.d.ts.map +1 -0
  168. package/lib/types/components/spinner.d.ts +9 -0
  169. package/lib/types/components/spinner.d.ts.map +1 -0
  170. package/lib/types/components/switch.d.ts +13 -0
  171. package/lib/types/components/switch.d.ts.map +1 -0
  172. package/lib/types/components/table.d.ts +18 -0
  173. package/lib/types/components/table.d.ts.map +1 -0
  174. package/lib/types/components/tabs.d.ts +18 -0
  175. package/lib/types/components/tabs.d.ts.map +1 -0
  176. package/lib/types/components/textarea.d.ts +11 -0
  177. package/lib/types/components/textarea.d.ts.map +1 -0
  178. package/lib/types/components/toast.d.ts +35 -0
  179. package/lib/types/components/toast.d.ts.map +1 -0
  180. package/lib/types/components/toggle-group.d.ts +16 -0
  181. package/lib/types/components/toggle-group.d.ts.map +1 -0
  182. package/lib/types/components/toggle.d.ts +13 -0
  183. package/lib/types/components/toggle.d.ts.map +1 -0
  184. package/lib/types/components/tooltip.d.ts +14 -0
  185. package/lib/types/components/tooltip.d.ts.map +1 -0
  186. package/lib/types/composites/autocomplete.d.ts +15 -0
  187. package/lib/types/composites/autocomplete.d.ts.map +1 -0
  188. package/lib/types/composites/cascader.d.ts +18 -0
  189. package/lib/types/composites/cascader.d.ts.map +1 -0
  190. package/lib/types/composites/color-picker.d.ts +12 -0
  191. package/lib/types/composites/color-picker.d.ts.map +1 -0
  192. package/lib/types/composites/confirm-dialog.d.ts +17 -0
  193. package/lib/types/composites/confirm-dialog.d.ts.map +1 -0
  194. package/lib/types/composites/copyable.d.ts +12 -0
  195. package/lib/types/composites/copyable.d.ts.map +1 -0
  196. package/lib/types/composites/currency-input.d.ts +13 -0
  197. package/lib/types/composites/currency-input.d.ts.map +1 -0
  198. package/lib/types/composites/date-chrome.d.ts +8 -0
  199. package/lib/types/composites/date-chrome.d.ts.map +1 -0
  200. package/lib/types/composites/date-picker.d.ts +17 -0
  201. package/lib/types/composites/date-picker.d.ts.map +1 -0
  202. package/lib/types/composites/date-range-picker.d.ts +18 -0
  203. package/lib/types/composites/date-range-picker.d.ts.map +1 -0
  204. package/lib/types/composites/date-time-picker.d.ts +18 -0
  205. package/lib/types/composites/date-time-picker.d.ts.map +1 -0
  206. package/lib/types/composites/date-time-range-picker.d.ts +17 -0
  207. package/lib/types/composites/date-time-range-picker.d.ts.map +1 -0
  208. package/lib/types/composites/duration-input.d.ts +14 -0
  209. package/lib/types/composites/duration-input.d.ts.map +1 -0
  210. package/lib/types/composites/live-refresh.d.ts +46 -0
  211. package/lib/types/composites/live-refresh.d.ts.map +1 -0
  212. package/lib/types/composites/mini-calendar.d.ts +13 -0
  213. package/lib/types/composites/mini-calendar.d.ts.map +1 -0
  214. package/lib/types/composites/number-field.d.ts +15 -0
  215. package/lib/types/composites/number-field.d.ts.map +1 -0
  216. package/lib/types/composites/password-field.d.ts +13 -0
  217. package/lib/types/composites/password-field.d.ts.map +1 -0
  218. package/lib/types/composites/phone-input.d.ts +12 -0
  219. package/lib/types/composites/phone-input.d.ts.map +1 -0
  220. package/lib/types/composites/rating.d.ts +13 -0
  221. package/lib/types/composites/rating.d.ts.map +1 -0
  222. package/lib/types/composites/relative-date-picker.d.ts +16 -0
  223. package/lib/types/composites/relative-date-picker.d.ts.map +1 -0
  224. package/lib/types/composites/search-input.d.ts +16 -0
  225. package/lib/types/composites/search-input.d.ts.map +1 -0
  226. package/lib/types/composites/slider-range.d.ts +14 -0
  227. package/lib/types/composites/slider-range.d.ts.map +1 -0
  228. package/lib/types/composites/tag-input.d.ts +14 -0
  229. package/lib/types/composites/tag-input.d.ts.map +1 -0
  230. package/lib/types/composites/time-picker.d.ts +28 -0
  231. package/lib/types/composites/time-picker.d.ts.map +1 -0
  232. package/lib/types/composites/time-range-picker.d.ts +16 -0
  233. package/lib/types/composites/time-range-picker.d.ts.map +1 -0
  234. package/lib/types/composites/timezone-select.d.ts +22 -0
  235. package/lib/types/composites/timezone-select.d.ts.map +1 -0
  236. package/lib/types/composites/transfer.d.ts +17 -0
  237. package/lib/types/composites/transfer.d.ts.map +1 -0
  238. package/lib/types/composites/user-picker.d.ts +17 -0
  239. package/lib/types/composites/user-picker.d.ts.map +1 -0
  240. package/lib/types/hooks/use-html-dark.d.ts +4 -0
  241. package/lib/types/hooks/use-html-dark.d.ts.map +1 -0
  242. package/lib/types/hooks/use-mobile.d.ts +2 -0
  243. package/lib/types/hooks/use-mobile.d.ts.map +1 -0
  244. package/lib/types/i18n/context.d.ts +310 -0
  245. package/lib/types/i18n/context.d.ts.map +1 -0
  246. package/lib/types/i18n/en.d.ts +290 -0
  247. package/lib/types/i18n/en.d.ts.map +1 -0
  248. package/lib/types/i18n/zh.d.ts +3 -0
  249. package/lib/types/i18n/zh.d.ts.map +1 -0
  250. package/lib/types/index.d.ts +151 -0
  251. package/lib/types/index.d.ts.map +1 -0
  252. package/lib/types/lib/clipboard.d.ts +3 -0
  253. package/lib/types/lib/clipboard.d.ts.map +1 -0
  254. package/lib/types/lib/defined.d.ts +3 -0
  255. package/lib/types/lib/defined.d.ts.map +1 -0
  256. package/lib/types/lib/icons.d.ts +16 -0
  257. package/lib/types/lib/icons.d.ts.map +1 -0
  258. package/lib/types/lib/illustrations.d.ts +18 -0
  259. package/lib/types/lib/illustrations.d.ts.map +1 -0
  260. package/lib/types/lib/utils.d.ts +3 -0
  261. package/lib/types/lib/utils.d.ts.map +1 -0
  262. package/lib/types/products/cells.d.ts +13 -0
  263. package/lib/types/products/cells.d.ts.map +1 -0
  264. package/lib/types/products/code-block.d.ts +14 -0
  265. package/lib/types/products/code-block.d.ts.map +1 -0
  266. package/lib/types/products/code-editor.d.ts +21 -0
  267. package/lib/types/products/code-editor.d.ts.map +1 -0
  268. package/lib/types/products/commit-graph.d.ts +38 -0
  269. package/lib/types/products/commit-graph.d.ts.map +1 -0
  270. package/lib/types/products/data-grid.d.ts +79 -0
  271. package/lib/types/products/data-grid.d.ts.map +1 -0
  272. package/lib/types/products/diff-viewer.d.ts +15 -0
  273. package/lib/types/products/diff-viewer.d.ts.map +1 -0
  274. package/lib/types/products/event-calendar.d.ts +23 -0
  275. package/lib/types/products/event-calendar.d.ts.map +1 -0
  276. package/lib/types/products/export-csv.d.ts +2 -0
  277. package/lib/types/products/export-csv.d.ts.map +1 -0
  278. package/lib/types/products/file-dropzone.d.ts +12 -0
  279. package/lib/types/products/file-dropzone.d.ts.map +1 -0
  280. package/lib/types/products/full-calendar/animations.d.ts +12 -0
  281. package/lib/types/products/full-calendar/animations.d.ts.map +1 -0
  282. package/lib/types/products/full-calendar/calendar-body.d.ts +2 -0
  283. package/lib/types/products/full-calendar/calendar-body.d.ts.map +1 -0
  284. package/lib/types/products/full-calendar/constants.d.ts +3 -0
  285. package/lib/types/products/full-calendar/constants.d.ts.map +1 -0
  286. package/lib/types/products/full-calendar/contexts/calendar-context.d.ts +42 -0
  287. package/lib/types/products/full-calendar/contexts/calendar-context.d.ts.map +1 -0
  288. package/lib/types/products/full-calendar/contexts/dnd-context.d.ts +16 -0
  289. package/lib/types/products/full-calendar/contexts/dnd-context.d.ts.map +1 -0
  290. package/lib/types/products/full-calendar/dialogs/add-edit-event-dialog.d.ts +21 -0
  291. package/lib/types/products/full-calendar/dialogs/add-edit-event-dialog.d.ts.map +1 -0
  292. package/lib/types/products/full-calendar/dialogs/delete-event-dialog.d.ts +4 -0
  293. package/lib/types/products/full-calendar/dialogs/delete-event-dialog.d.ts.map +1 -0
  294. package/lib/types/products/full-calendar/dialogs/event-details-dialog.d.ts +7 -0
  295. package/lib/types/products/full-calendar/dialogs/event-details-dialog.d.ts.map +1 -0
  296. package/lib/types/products/full-calendar/dialogs/events-list-dialog.d.ts +9 -0
  297. package/lib/types/products/full-calendar/dialogs/events-list-dialog.d.ts.map +1 -0
  298. package/lib/types/products/full-calendar/dnd/draggable-event.d.ts +11 -0
  299. package/lib/types/products/full-calendar/dnd/draggable-event.d.ts.map +1 -0
  300. package/lib/types/products/full-calendar/dnd/droppable-area.d.ts +11 -0
  301. package/lib/types/products/full-calendar/dnd/droppable-area.d.ts.map +1 -0
  302. package/lib/types/products/full-calendar/dnd/resizable-event.d.ts +10 -0
  303. package/lib/types/products/full-calendar/dnd/resizable-event.d.ts.map +1 -0
  304. package/lib/types/products/full-calendar/header/calendar-header.d.ts +2 -0
  305. package/lib/types/products/full-calendar/header/calendar-header.d.ts.map +1 -0
  306. package/lib/types/products/full-calendar/header/date-navigator.d.ts +9 -0
  307. package/lib/types/products/full-calendar/header/date-navigator.d.ts.map +1 -0
  308. package/lib/types/products/full-calendar/header/filter.d.ts +2 -0
  309. package/lib/types/products/full-calendar/header/filter.d.ts.map +1 -0
  310. package/lib/types/products/full-calendar/header/today-button.d.ts +2 -0
  311. package/lib/types/products/full-calendar/header/today-button.d.ts.map +1 -0
  312. package/lib/types/products/full-calendar/header/user-select.d.ts +2 -0
  313. package/lib/types/products/full-calendar/header/user-select.d.ts.map +1 -0
  314. package/lib/types/products/full-calendar/header/view-tabs.d.ts +4 -0
  315. package/lib/types/products/full-calendar/header/view-tabs.d.ts.map +1 -0
  316. package/lib/types/products/full-calendar/helpers.d.ts +42 -0
  317. package/lib/types/products/full-calendar/helpers.d.ts.map +1 -0
  318. package/lib/types/products/full-calendar/hooks/use-time-range-create.d.ts +25 -0
  319. package/lib/types/products/full-calendar/hooks/use-time-range-create.d.ts.map +1 -0
  320. package/lib/types/products/full-calendar/hooks.d.ts +11 -0
  321. package/lib/types/products/full-calendar/hooks.d.ts.map +1 -0
  322. package/lib/types/products/full-calendar/interfaces.d.ts +21 -0
  323. package/lib/types/products/full-calendar/interfaces.d.ts.map +1 -0
  324. package/lib/types/products/full-calendar/settings/settings.d.ts +2 -0
  325. package/lib/types/products/full-calendar/settings/settings.d.ts.map +1 -0
  326. package/lib/types/products/full-calendar/shims/avatar-group.d.ts +7 -0
  327. package/lib/types/products/full-calendar/shims/avatar-group.d.ts.map +1 -0
  328. package/lib/types/products/full-calendar/shims/day-picker.d.ts +2 -0
  329. package/lib/types/products/full-calendar/shims/day-picker.d.ts.map +1 -0
  330. package/lib/types/products/full-calendar/shims/motion.d.ts +32 -0
  331. package/lib/types/products/full-calendar/shims/motion.d.ts.map +1 -0
  332. package/lib/types/products/full-calendar/shims/next-themes.d.ts +5 -0
  333. package/lib/types/products/full-calendar/shims/next-themes.d.ts.map +1 -0
  334. package/lib/types/products/full-calendar/shims/re-resizable.d.ts +19 -0
  335. package/lib/types/products/full-calendar/shims/re-resizable.d.ts.map +1 -0
  336. package/lib/types/products/full-calendar/shims/sonner.d.ts +5 -0
  337. package/lib/types/products/full-calendar/shims/sonner.d.ts.map +1 -0
  338. package/lib/types/products/full-calendar/types.d.ts +3 -0
  339. package/lib/types/products/full-calendar/types.d.ts.map +1 -0
  340. package/lib/types/products/full-calendar/views/agenda-view/agenda-events.d.ts +3 -0
  341. package/lib/types/products/full-calendar/views/agenda-view/agenda-events.d.ts.map +1 -0
  342. package/lib/types/products/full-calendar/views/month-view/calendar-month-view.d.ts +8 -0
  343. package/lib/types/products/full-calendar/views/month-view/calendar-month-view.d.ts.map +1 -0
  344. package/lib/types/products/full-calendar/views/month-view/day-cell.d.ts +12 -0
  345. package/lib/types/products/full-calendar/views/month-view/day-cell.d.ts.map +1 -0
  346. package/lib/types/products/full-calendar/views/month-view/event-bullet.d.ts +6 -0
  347. package/lib/types/products/full-calendar/views/month-view/event-bullet.d.ts.map +1 -0
  348. package/lib/types/products/full-calendar/views/month-view/month-event-badge.d.ts +17 -0
  349. package/lib/types/products/full-calendar/views/month-view/month-event-badge.d.ts.map +1 -0
  350. package/lib/types/products/full-calendar/views/week-and-day-view/calendar-day-view.d.ts +8 -0
  351. package/lib/types/products/full-calendar/views/week-and-day-view/calendar-day-view.d.ts.map +1 -0
  352. package/lib/types/products/full-calendar/views/week-and-day-view/calendar-time-line.d.ts +2 -0
  353. package/lib/types/products/full-calendar/views/week-and-day-view/calendar-time-line.d.ts.map +1 -0
  354. package/lib/types/products/full-calendar/views/week-and-day-view/calendar-week-view.d.ts +8 -0
  355. package/lib/types/products/full-calendar/views/week-and-day-view/calendar-week-view.d.ts.map +1 -0
  356. package/lib/types/products/full-calendar/views/week-and-day-view/day-view-multi-day-events-row.d.ts +8 -0
  357. package/lib/types/products/full-calendar/views/week-and-day-view/day-view-multi-day-events-row.d.ts.map +1 -0
  358. package/lib/types/products/full-calendar/views/week-and-day-view/event-block.d.ts +12 -0
  359. package/lib/types/products/full-calendar/views/week-and-day-view/event-block.d.ts.map +1 -0
  360. package/lib/types/products/full-calendar/views/week-and-day-view/render-grouped-events.d.ts +8 -0
  361. package/lib/types/products/full-calendar/views/week-and-day-view/render-grouped-events.d.ts.map +1 -0
  362. package/lib/types/products/full-calendar/views/week-and-day-view/week-view-multi-day-events-row.d.ts +8 -0
  363. package/lib/types/products/full-calendar/views/week-and-day-view/week-view-multi-day-events-row.d.ts.map +1 -0
  364. package/lib/types/products/full-calendar/views/year-view/calendar-year-view.d.ts +8 -0
  365. package/lib/types/products/full-calendar/views/year-view/calendar-year-view.d.ts.map +1 -0
  366. package/lib/types/products/gantt.d.ts +17 -0
  367. package/lib/types/products/gantt.d.ts.map +1 -0
  368. package/lib/types/products/jira-wiki-parse.d.ts +55 -0
  369. package/lib/types/products/jira-wiki-parse.d.ts.map +1 -0
  370. package/lib/types/products/jira-wiki.d.ts +39 -0
  371. package/lib/types/products/jira-wiki.d.ts.map +1 -0
  372. package/lib/types/products/jql-input.d.ts +22 -0
  373. package/lib/types/products/jql-input.d.ts.map +1 -0
  374. package/lib/types/products/json-viewer.d.ts +12 -0
  375. package/lib/types/products/json-viewer.d.ts.map +1 -0
  376. package/lib/types/products/kanban-issue-panel.d.ts +15 -0
  377. package/lib/types/products/kanban-issue-panel.d.ts.map +1 -0
  378. package/lib/types/products/kanban.d.ts +43 -0
  379. package/lib/types/products/kanban.d.ts.map +1 -0
  380. package/lib/types/products/log-viewer.d.ts +25 -0
  381. package/lib/types/products/log-viewer.d.ts.map +1 -0
  382. package/lib/types/products/markdown-editor.d.ts +16 -0
  383. package/lib/types/products/markdown-editor.d.ts.map +1 -0
  384. package/lib/types/products/markdown.d.ts +13 -0
  385. package/lib/types/products/markdown.d.ts.map +1 -0
  386. package/lib/types/products/rich-text-editor.d.ts +13 -0
  387. package/lib/types/products/rich-text-editor.d.ts.map +1 -0
  388. package/lib/types/products/sortable-list.d.ts +16 -0
  389. package/lib/types/products/sortable-list.d.ts.map +1 -0
  390. package/lib/types/products/stepper.d.ts +39 -0
  391. package/lib/types/products/stepper.d.ts.map +1 -0
  392. package/lib/types/products/timeline.d.ts +17 -0
  393. package/lib/types/products/timeline.d.ts.map +1 -0
  394. package/lib/types/products/tree-view.d.ts +17 -0
  395. package/lib/types/products/tree-view.d.ts.map +1 -0
  396. package/lib/types/sdk/app-error-boundary.d.ts +33 -0
  397. package/lib/types/sdk/app-error-boundary.d.ts.map +1 -0
  398. package/lib/types/sdk/app-id.d.ts +6 -0
  399. package/lib/types/sdk/app-id.d.ts.map +1 -0
  400. package/lib/types/sdk/use-app.d.ts +32 -0
  401. package/lib/types/sdk/use-app.d.ts.map +1 -0
  402. package/package.json +67 -0
  403. package/src/blocks/activity-feed.tsx +16 -0
  404. package/src/blocks/app-shell.tsx +38 -0
  405. package/src/blocks/attachment-gallery.tsx +36 -0
  406. package/src/blocks/bar-chart.tsx +46 -0
  407. package/src/blocks/comment-thread.tsx +37 -0
  408. package/src/blocks/dashboard-shell.tsx +108 -0
  409. package/src/blocks/description-list.tsx +23 -0
  410. package/src/blocks/detail-panel.tsx +43 -0
  411. package/src/blocks/donut-chart.tsx +54 -0
  412. package/src/blocks/env-badge.tsx +30 -0
  413. package/src/blocks/env-table.tsx +315 -0
  414. package/src/blocks/file-tree.tsx +12 -0
  415. package/src/blocks/filter-bar.tsx +22 -0
  416. package/src/blocks/form-sheet.tsx +159 -0
  417. package/src/blocks/gauge.tsx +36 -0
  418. package/src/blocks/list-detail.tsx +120 -0
  419. package/src/blocks/notification-center.tsx +29 -0
  420. package/src/blocks/page-header.tsx +31 -0
  421. package/src/blocks/progress-ring.tsx +43 -0
  422. package/src/blocks/radar-chart.tsx +47 -0
  423. package/src/blocks/request-inspector.tsx +41 -0
  424. package/src/blocks/reveal.tsx +56 -0
  425. package/src/blocks/run-timeline.tsx +12 -0
  426. package/src/blocks/scrollspy.tsx +48 -0
  427. package/src/blocks/settings-split.tsx +153 -0
  428. package/src/blocks/severity-chip.tsx +34 -0
  429. package/src/blocks/sparkline.tsx +27 -0
  430. package/src/blocks/stat-card.tsx +50 -0
  431. package/src/blocks/status-badge.tsx +40 -0
  432. package/src/blocks/table-page.tsx +82 -0
  433. package/src/blocks/terminal.tsx +28 -0
  434. package/src/blocks/test-step-list.tsx +26 -0
  435. package/src/blocks/trend-card.tsx +57 -0
  436. package/src/blocks/wizard-shell.tsx +131 -0
  437. package/src/cdn-modules.d.ts +5 -0
  438. package/src/components/accordion.tsx +79 -0
  439. package/src/components/alert-dialog.tsx +192 -0
  440. package/src/components/alert.tsx +83 -0
  441. package/src/components/aspect-ratio.tsx +26 -0
  442. package/src/components/attachment.tsx +211 -0
  443. package/src/components/avatar.tsx +111 -0
  444. package/src/components/badge.tsx +59 -0
  445. package/src/components/breadcrumb.tsx +129 -0
  446. package/src/components/bubble.tsx +132 -0
  447. package/src/components/button-group.tsx +93 -0
  448. package/src/components/button.tsx +65 -0
  449. package/src/components/calendar.tsx +224 -0
  450. package/src/components/card.tsx +110 -0
  451. package/src/components/chart.tsx +378 -0
  452. package/src/components/checkbox.tsx +33 -0
  453. package/src/components/collapsible.tsx +23 -0
  454. package/src/components/combobox.tsx +299 -0
  455. package/src/components/command.tsx +201 -0
  456. package/src/components/context-menu.tsx +274 -0
  457. package/src/components/dialog.tsx +179 -0
  458. package/src/components/drawer.tsx +230 -0
  459. package/src/components/dropdown-menu.tsx +274 -0
  460. package/src/components/empty.tsx +130 -0
  461. package/src/components/field.tsx +242 -0
  462. package/src/components/hover-card.tsx +53 -0
  463. package/src/components/input-group.tsx +161 -0
  464. package/src/components/input.tsx +27 -0
  465. package/src/components/item.tsx +205 -0
  466. package/src/components/kbd.tsx +30 -0
  467. package/src/components/label.tsx +26 -0
  468. package/src/components/marker.tsx +75 -0
  469. package/src/components/menubar.tsx +283 -0
  470. package/src/components/message-scroller.tsx +133 -0
  471. package/src/components/message.tsx +96 -0
  472. package/src/components/native-select.tsx +65 -0
  473. package/src/components/navigation-menu.tsx +172 -0
  474. package/src/components/pagination.tsx +138 -0
  475. package/src/components/popover.tsx +95 -0
  476. package/src/components/progress.tsx +89 -0
  477. package/src/components/questionnaire.tsx +332 -0
  478. package/src/components/radio-group.tsx +40 -0
  479. package/src/components/resizable.tsx +56 -0
  480. package/src/components/scroll-area.tsx +56 -0
  481. package/src/components/select.tsx +207 -0
  482. package/src/components/separator.tsx +28 -0
  483. package/src/components/sheet.tsx +158 -0
  484. package/src/components/sidebar.tsx +725 -0
  485. package/src/components/skeleton.tsx +20 -0
  486. package/src/components/slider.tsx +56 -0
  487. package/src/components/spinner.tsx +16 -0
  488. package/src/components/switch.tsx +38 -0
  489. package/src/components/table.tsx +121 -0
  490. package/src/components/tabs.tsx +88 -0
  491. package/src/components/textarea.tsx +25 -0
  492. package/src/components/toast.tsx +273 -0
  493. package/src/components/toggle-group.tsx +92 -0
  494. package/src/components/toggle.tsx +47 -0
  495. package/src/components/tooltip.tsx +72 -0
  496. package/src/composites/autocomplete.tsx +61 -0
  497. package/src/composites/cascader.tsx +52 -0
  498. package/src/composites/color-picker.tsx +25 -0
  499. package/src/composites/confirm-dialog.tsx +62 -0
  500. package/src/composites/copyable.tsx +44 -0
  501. package/src/composites/currency-input.tsx +37 -0
  502. package/src/composites/date-chrome.tsx +156 -0
  503. package/src/composites/date-picker.tsx +97 -0
  504. package/src/composites/date-range-picker.tsx +99 -0
  505. package/src/composites/date-time-picker.tsx +121 -0
  506. package/src/composites/date-time-range-picker.tsx +57 -0
  507. package/src/composites/duration-input.tsx +128 -0
  508. package/src/composites/live-refresh.tsx +348 -0
  509. package/src/composites/mini-calendar.tsx +30 -0
  510. package/src/composites/number-field.tsx +59 -0
  511. package/src/composites/password-field.tsx +50 -0
  512. package/src/composites/phone-input.tsx +28 -0
  513. package/src/composites/rating.tsx +45 -0
  514. package/src/composites/relative-date-picker.tsx +68 -0
  515. package/src/composites/search-input.tsx +55 -0
  516. package/src/composites/slider-range.tsx +36 -0
  517. package/src/composites/tag-input.tsx +62 -0
  518. package/src/composites/time-picker.tsx +208 -0
  519. package/src/composites/time-range-picker.tsx +31 -0
  520. package/src/composites/timezone-select.tsx +257 -0
  521. package/src/composites/transfer.tsx +58 -0
  522. package/src/composites/user-picker.tsx +46 -0
  523. package/src/hooks/use-html-dark.ts +36 -0
  524. package/src/hooks/use-mobile.ts +22 -0
  525. package/src/i18n/context.tsx +71 -0
  526. package/src/i18n/en.ts +308 -0
  527. package/src/i18n/zh.ts +290 -0
  528. package/src/index.ts +151 -0
  529. package/src/lib/clipboard.ts +10 -0
  530. package/src/lib/defined.ts +8 -0
  531. package/src/lib/icons.tsx +16 -0
  532. package/src/lib/illustrations.tsx +573 -0
  533. package/src/lib/utils.ts +6 -0
  534. package/src/products/cells.tsx +18 -0
  535. package/src/products/code-block.tsx +91 -0
  536. package/src/products/code-editor.tsx +271 -0
  537. package/src/products/column-meta.d.ts +9 -0
  538. package/src/products/commit-graph.tsx +643 -0
  539. package/src/products/data-grid.tsx +692 -0
  540. package/src/products/diff-viewer.tsx +224 -0
  541. package/src/products/event-calendar.tsx +49 -0
  542. package/src/products/export-csv.ts +26 -0
  543. package/src/products/file-dropzone.tsx +47 -0
  544. package/src/products/full-calendar/animations.ts +38 -0
  545. package/src/products/full-calendar/calendar-body.tsx +76 -0
  546. package/src/products/full-calendar/constants.ts +10 -0
  547. package/src/products/full-calendar/contexts/calendar-context.tsx +254 -0
  548. package/src/products/full-calendar/contexts/dnd-context.tsx +156 -0
  549. package/src/products/full-calendar/dialogs/add-edit-event-dialog.tsx +186 -0
  550. package/src/products/full-calendar/dialogs/delete-event-dialog.tsx +39 -0
  551. package/src/products/full-calendar/dialogs/event-details-dialog.tsx +99 -0
  552. package/src/products/full-calendar/dialogs/events-list-dialog.tsx +86 -0
  553. package/src/products/full-calendar/dnd/draggable-event.tsx +45 -0
  554. package/src/products/full-calendar/dnd/droppable-area.tsx +45 -0
  555. package/src/products/full-calendar/dnd/resizable-event.tsx +178 -0
  556. package/src/products/full-calendar/header/calendar-header.tsx +64 -0
  557. package/src/products/full-calendar/header/date-navigator.tsx +110 -0
  558. package/src/products/full-calendar/header/filter.tsx +58 -0
  559. package/src/products/full-calendar/header/today-button.tsx +45 -0
  560. package/src/products/full-calendar/header/user-select.tsx +64 -0
  561. package/src/products/full-calendar/header/view-tabs.tsx +36 -0
  562. package/src/products/full-calendar/helpers.ts +463 -0
  563. package/src/products/full-calendar/hooks/use-time-range-create.ts +152 -0
  564. package/src/products/full-calendar/hooks.ts +70 -0
  565. package/src/products/full-calendar/interfaces.ts +23 -0
  566. package/src/products/full-calendar/settings/settings.tsx +80 -0
  567. package/src/products/full-calendar/shims/avatar-group.tsx +16 -0
  568. package/src/products/full-calendar/shims/day-picker.tsx +1 -0
  569. package/src/products/full-calendar/shims/motion.tsx +97 -0
  570. package/src/products/full-calendar/shims/next-themes.ts +6 -0
  571. package/src/products/full-calendar/shims/re-resizable.tsx +25 -0
  572. package/src/products/full-calendar/shims/sonner.ts +4 -0
  573. package/src/products/full-calendar/types.ts +8 -0
  574. package/src/products/full-calendar/views/agenda-view/agenda-events.tsx +140 -0
  575. package/src/products/full-calendar/views/month-view/calendar-month-view.tsx +69 -0
  576. package/src/products/full-calendar/views/month-view/day-cell.tsx +200 -0
  577. package/src/products/full-calendar/views/month-view/event-bullet.tsx +40 -0
  578. package/src/products/full-calendar/views/month-view/month-event-badge.tsx +143 -0
  579. package/src/products/full-calendar/views/week-and-day-view/calendar-day-view.tsx +295 -0
  580. package/src/products/full-calendar/views/week-and-day-view/calendar-time-line.tsx +35 -0
  581. package/src/products/full-calendar/views/week-and-day-view/calendar-week-view.tsx +251 -0
  582. package/src/products/full-calendar/views/week-and-day-view/day-view-multi-day-events-row.tsx +73 -0
  583. package/src/products/full-calendar/views/week-and-day-view/event-block.tsx +114 -0
  584. package/src/products/full-calendar/views/week-and-day-view/render-grouped-events.tsx +49 -0
  585. package/src/products/full-calendar/views/week-and-day-view/week-view-multi-day-events-row.tsx +145 -0
  586. package/src/products/full-calendar/views/year-view/calendar-year-view.tsx +161 -0
  587. package/src/products/gantt.tsx +47 -0
  588. package/src/products/jira-wiki-parse.ts +197 -0
  589. package/src/products/jira-wiki.tsx +287 -0
  590. package/src/products/jql-input.tsx +391 -0
  591. package/src/products/json-viewer.tsx +43 -0
  592. package/src/products/kanban-issue-panel.tsx +104 -0
  593. package/src/products/kanban.tsx +245 -0
  594. package/src/products/log-viewer.tsx +404 -0
  595. package/src/products/markdown-editor.tsx +77 -0
  596. package/src/products/markdown.tsx +50 -0
  597. package/src/products/rich-text-editor.tsx +89 -0
  598. package/src/products/sortable-list.tsx +67 -0
  599. package/src/products/stepper.tsx +237 -0
  600. package/src/products/timeline.tsx +39 -0
  601. package/src/products/tree-view.tsx +62 -0
  602. package/src/sdk/app-error-boundary.tsx +240 -0
  603. package/src/sdk/app-id.ts +7 -0
  604. package/src/sdk/use-app.ts +43 -0
package/README.md ADDED
@@ -0,0 +1,10 @@
1
+ ---
2
+ status: locked
3
+ updated: 2026-10-02
4
+ ---
5
+
6
+ # @mohou/ui
7
+
8
+ Role: `definition`.
9
+
10
+ Author UI kit and `useApp`. Host vendor-builds one copy and serves it to every iframe. `examples/` holds the author-facing example for each component: `pnpm gen:skill` publishes them into the author skill, and `pnpm typecheck` compiles them. Product catalog: [UI kit](../../../docs/product/app-contract/ui-kit.md).
@@ -0,0 +1,12 @@
1
+ import { type TimelineItem } from '@mohou/ui/products/timeline';
2
+ /**
3
+ * Chronological activity list (avatar + text + time).
4
+ * @when Read-only “who did what when” — commits, deploys, agent runs. For steps with status use `RunTimeline`.
5
+ * @example
6
+ * <ActivityFeed items={[{ id: "1", title: "部署完成", time: "10:24" }]} />
7
+ * @family Realtime
8
+ */
9
+ export declare function ActivityFeed({ items }: {
10
+ items: TimelineItem[];
11
+ }): import("react").JSX.Element;
12
+ //# sourceMappingURL=activity-feed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-feed.d.ts","sourceRoot":"","sources":["../../../src/blocks/activity-feed.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAEzE;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,+BAMhE"}
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * App frame: optional sidebar + header + main.
4
+ * @when Root layout for a mini-app page
5
+ * @example
6
+ * <AppShell sidebar={<nav />} header={<PageHeader title="Home" />}>
7
+ * {children}
8
+ * </AppShell>
9
+ * @family Layout & structure
10
+ */
11
+ export declare function AppShell({ sidebar, header, children, className, }: {
12
+ sidebar?: ReactNode;
13
+ header?: ReactNode;
14
+ children: ReactNode;
15
+ className?: string;
16
+ }): import("react").JSX.Element;
17
+ //# sourceMappingURL=app-shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../src/blocks/app-shell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,GACV,EAAE;IACD,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BAcA"}
@@ -0,0 +1,15 @@
1
+ export type GalleryFile = {
2
+ name: string;
3
+ url?: string;
4
+ };
5
+ /**
6
+ * Thumbnail grid of files with open/copy.
7
+ * @when A record has N files/images and you show them as tiles, not a table.
8
+ * @example
9
+ * <AttachmentGallery files={[{ name: "log.txt", url: "https://…" }]} />
10
+ * @family Discovery & inspect
11
+ */
12
+ export declare function AttachmentGallery({ files }: {
13
+ files: GalleryFile[];
14
+ }): import("react").JSX.Element;
15
+ //# sourceMappingURL=attachment-gallery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-gallery.d.ts","sourceRoot":"","sources":["../../../src/blocks/attachment-gallery.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAExD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,+BAiBpE"}
@@ -0,0 +1,19 @@
1
+ import { type ChartConfig } from '@mohou/ui/components/chart';
2
+ /**
3
+ * Stacked bar chart over flat rows.
4
+ * @family Chart & data
5
+ * @when Comparing several series across categories (pass/fail per day). Single ratio → `DonutChart`; trend → `Sparkline`.
6
+ * @example
7
+ * <StackedBarChart
8
+ * data={[{ label: "09-01", ok: 12, fail: 2 }]}
9
+ * keys={["ok", "fail"]}
10
+ * config={{ ok: { label: "通过", color: "var(--primary)" }, fail: { label: "失败", color: "var(--destructive)" } }}
11
+ * />
12
+ */
13
+ export declare function StackedBarChart({ data, config, keys, className, }: {
14
+ data: Record<string, string | number>[];
15
+ config: ChartConfig;
16
+ keys: string[];
17
+ className?: string;
18
+ }): import("react").JSX.Element;
19
+ //# sourceMappingURL=bar-chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar-chart.d.ts","sourceRoot":"","sources":["../../../src/blocks/bar-chart.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,4BAA4B,CAAA;AAGnC;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,SAAS,GACV,EAAE;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACvC,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BAaA"}
@@ -0,0 +1,17 @@
1
+ export type Comment = {
2
+ id: string;
3
+ author: string;
4
+ body: string;
5
+ time?: string | undefined;
6
+ };
7
+ /**
8
+ * Nested comments with author + time.
9
+ * @when Issue/ticket discussion, review comments. Editing a comment is your job, not the component's.
10
+ * @example
11
+ * <CommentThread comments={[{ id: "c1", author: "P.Wang", text: "这里再确认下" }]} />
12
+ * @family Realtime
13
+ */
14
+ export declare function CommentThread({ comments }: {
15
+ comments: Comment[];
16
+ }): import("react").JSX.Element;
17
+ //# sourceMappingURL=comment-thread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-thread.d.ts","sourceRoot":"","sources":["../../../src/blocks/comment-thread.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAE7F;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,+BAyBlE"}
@@ -0,0 +1,35 @@
1
+ import type { ReactNode } from 'react';
2
+ export type DashboardShellProps = {
3
+ /** Title row / `PageHeader`. Pinned: it stays while the content scrolls under it. */
4
+ header?: ReactNode;
5
+ /** KPI strip. Pinned with the header — the point of a dashboard is that the numbers hold. */
6
+ kpis?: ReactNode;
7
+ /** Charts and tables. The scrolling body. */
8
+ main: ReactNode;
9
+ /** Activity feed / top offenders. Sits beside `main` on wide screens, stacks under it when narrow. */
10
+ aside?: ReactNode;
11
+ /** Aside width in px on wide screens. Default 320. */
12
+ asideWidth?: number;
13
+ className?: string;
14
+ };
15
+ /**
16
+ * Overview page with a pinned header + KPI strip and exactly one scrolling body.
17
+ *
18
+ * The failure this exists for: the page is a plain column, `overflow-auto` ends up on the
19
+ * outermost div, and the first chart the user scrolls past takes the header and the KPI row
20
+ * with it — a dashboard whose numbers scroll away is not a dashboard. The aside gets its own
21
+ * scroller when there is room for two, and folds under `main` into the single body scroller
22
+ * when there is not, rather than becoming a third half-height pane.
23
+ *
24
+ * @when Page shape: metrics up top, charts below, optional activity rail — ops overviews, monitor walls
25
+ * @example
26
+ * <DashboardShell
27
+ * header={<PageHeader title="值班" description="每 5 秒" />}
28
+ * kpis={<div className="grid grid-cols-4 gap-3">{cards}</div>}
29
+ * main={<Charts />}
30
+ * aside={<ActivityFeed items={items} />}
31
+ * />
32
+ * @family Layout & structure
33
+ */
34
+ export declare function DashboardShell({ header, kpis, main, aside, asideWidth, className, }: DashboardShellProps): import("react").JSX.Element;
35
+ //# sourceMappingURL=dashboard-shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-shell.d.ts","sourceRoot":"","sources":["../../../src/blocks/dashboard-shell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,MAAM,MAAM,mBAAmB,GAAG;IAChC,qFAAqF;IACrF,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,6CAA6C;IAC7C,IAAI,EAAE,SAAS,CAAA;IACf,sGAAsG;IACtG,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,UAAgB,EAChB,SAAS,GACV,EAAE,mBAAmB,+BA6DrB"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Label/value pairs, two columns.
3
+ * @when Detail/inspector panel of a selected row — the default “show one record” view.
4
+ * @example
5
+ * <DescriptionList items={[{ label: "状态", value: "运行中" }]} />
6
+ * @family Layout & structure
7
+ */
8
+ export declare function DescriptionList({ items, }: {
9
+ items: {
10
+ label: string;
11
+ value: string;
12
+ }[];
13
+ }): import("react").JSX.Element;
14
+ //# sourceMappingURL=description-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-list.d.ts","sourceRoot":"","sources":["../../../src/blocks/description-list.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,GACN,EAAE;IACD,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC1C,+BAWA"}
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * Right-side inspector Sheet for a selected row/entity.
4
+ * @when Master-detail after row/card click
5
+ * @example
6
+ * <DetailPanel open={!!id} onOpenChange={() => setId(null)} title="Run #12">{body}</DetailPanel>
7
+ * @family Surface
8
+ */
9
+ export declare function DetailPanel({ open, onOpenChange, title, description, children, }: {
10
+ open: boolean;
11
+ onOpenChange: (open: boolean) => void;
12
+ title: string;
13
+ description?: string;
14
+ children?: ReactNode;
15
+ }): import("react").JSX.Element;
16
+ //# sourceMappingURL=detail-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail-panel.d.ts","sourceRoot":"","sources":["../../../src/blocks/detail-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAUtC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,+BAYA"}
@@ -0,0 +1,21 @@
1
+ import { type ChartConfig } from '@mohou/ui/components/chart';
2
+ export type Slice = {
3
+ name: string;
4
+ value: number;
5
+ fill: string;
6
+ };
7
+ /**
8
+ * Ring chart with centre label.
9
+ * @when Part-of-whole (≤6 slices): storage usage, status split. More categories → `StackedBarChart`.
10
+ * @example
11
+ * <DonutChart data={[{ label: "OK", value: 82, color: "var(--primary)" }]} center="82%" />
12
+ * @family Chart & data
13
+ */
14
+ export declare function DonutChart({ data, config, center, size, className, }: {
15
+ data: Slice[];
16
+ config: ChartConfig;
17
+ center?: string;
18
+ size?: number;
19
+ className?: string;
20
+ }): import("react").JSX.Element;
21
+ //# sourceMappingURL=donut-chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"donut-chart.d.ts","sourceRoot":"","sources":["../../../src/blocks/donut-chart.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,4BAA4B,CAAA;AAInC,MAAM,MAAM,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjE;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,SAAS,GACV,EAAE;IACD,IAAI,EAAE,KAAK,EAAE,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BAoBA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Coloured pill for an environment name.
3
+ * @when prd / stg / dev markers in headers and tables.
4
+ * @example
5
+ * <EnvBadge env="production" />
6
+ * @family Feedback & status
7
+ */
8
+ export declare function EnvBadge({ env }: {
9
+ env: string;
10
+ }): import("react").JSX.Element;
11
+ //# sourceMappingURL=env-badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-badge.d.ts","sourceRoot":"","sources":["../../../src/blocks/env-badge.tsx"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,+BAUhD"}
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ export type Environment = 'production' | 'preview' | 'development' | (string & {});
3
+ export type EnvVariable = {
4
+ /** Variable name (e.g. DATABASE_URL). */
5
+ key: string;
6
+ /** Variable value. Masked by default. */
7
+ value: string;
8
+ /** Target environment. When provided, renders as a pill. */
9
+ environment?: Environment;
10
+ /** Optional description shown below the key. */
11
+ description?: string;
12
+ };
13
+ export type EnvTableProps = Omit<React.ComponentProps<'div'>, 'children' | 'title'> & {
14
+ /** Environment variables to display. */
15
+ variables: EnvVariable[];
16
+ /** Optional heading above the table. */
17
+ title?: string;
18
+ /** Start with all values revealed. Defaults to false. */
19
+ defaultRevealed?: boolean;
20
+ };
21
+ /**
22
+ * Read-only env var table with masked values and copy.
23
+ * @when Settings / deploy preview / secrets display
24
+ * @example
25
+ * <EnvTable variables={[{ key: "API_URL", value: "https://…", environment: "production" }]} />
26
+ * @family Data & tables
27
+ */
28
+ export declare function EnvTable({ variables, title, defaultRevealed, className, ...props }: EnvTableProps): React.JSX.Element;
29
+ //# sourceMappingURL=env-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-table.d.ts","sourceRoot":"","sources":["../../../src/blocks/env-table.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,SAAS,GACT,aAAa,GACb,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEjB,MAAM,MAAM,WAAW,GAAG;IACxB,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAC3B,UAAU,GAAG,OAAO,CACrB,GAAG;IACF,wCAAwC;IACxC,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAkJD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,eAAuB,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,aAAa,qBAwHf"}
@@ -0,0 +1,12 @@
1
+ import { type TreeNode } from '@mohou/ui/products/tree-view';
2
+ /**
3
+ * Expandable file/dir tree (icons built in).
4
+ * @when Repo/zip contents where selection matters. Plain nested list → `TreeView`.
5
+ * @example
6
+ * <FileTree nodes={[{ name: "src", children: [{ name: "main.api.ts" }] }]} />
7
+ * @family Data & tables
8
+ */
9
+ export declare function FileTree({ nodes }: {
10
+ nodes: TreeNode[];
11
+ }): import("react").JSX.Element;
12
+ //# sourceMappingURL=file-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-tree.d.ts","sourceRoot":"","sources":["../../../src/blocks/file-tree.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAEtE;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,+BAExD"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * Horizontal wrap row for filters and toolbar controls.
4
+ * @when Above DataGrid or any filtered list
5
+ * @example
6
+ * <FilterBar>
7
+ * <DateRangePicker value={range} onChange={setRange} />
8
+ * <SearchInput value={q} onChange={setQ} />
9
+ * </FilterBar>
10
+ * @family Data & tables
11
+ */
12
+ export declare function FilterBar({ children }: {
13
+ children: ReactNode;
14
+ }): import("react").JSX.Element;
15
+ //# sourceMappingURL=filter-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-bar.d.ts","sourceRoot":"","sources":["../../../src/blocks/filter-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAS9D"}
@@ -0,0 +1,47 @@
1
+ import * as React from 'react';
2
+ import type { FormEvent, ReactNode } from 'react';
3
+ export type FormSheetProps = {
4
+ open: boolean;
5
+ onOpenChange: (open: boolean) => void;
6
+ title: ReactNode;
7
+ description?: ReactNode;
8
+ /** Anything below the title: a badge, a record id, a tab strip. */
9
+ header?: ReactNode;
10
+ /** The scrolling form fields. */
11
+ children: ReactNode;
12
+ /** Action row, pinned. Put the primary control in here with `type="submit"`. */
13
+ footer?: ReactNode;
14
+ /** One submit path for the whole sheet: Enter in a field and the footer button land here. */
15
+ onSubmit?: (e: FormEvent<HTMLFormElement>) => void;
16
+ side?: 'top' | 'right' | 'bottom' | 'left';
17
+ width?: string | number;
18
+ /** Ask before throwing edits away. The app owns the check; the preset owns the prompt. */
19
+ dirty?: boolean;
20
+ className?: string;
21
+ };
22
+ /**
23
+ * Create / edit form over a list you do not want to lose.
24
+ *
25
+ * The usual build has three cracks: the header and footer scroll away with the fields (so the
26
+ * Cancel button is somewhere the user has to hunt for), Enter in a text field submits *something
27
+ * else* or nothing because there is no form around the inputs, and Escape closes a sheet full of
28
+ * unsaved edits. Here only the body is a scroller — header, form and footer are siblings inside a
29
+ * flex column — the fields and the footer share one `<form onSubmit>`, and a dirty sheet asks
30
+ * first.
31
+ *
32
+ * @when Page shape: focused create/edit over a list — new record, edit record, wizard-less config
33
+ * @example
34
+ * <FormSheet
35
+ * open={Boolean(editing)}
36
+ * onOpenChange={(o) => !o && setEditing(null)}
37
+ * title="Edit issue"
38
+ * dirty={dirty}
39
+ * onSubmit={save}
40
+ * footer={<Button type="submit">Save</Button>}
41
+ * >
42
+ * <Input name="summary" />
43
+ * </FormSheet>
44
+ * @family Layout & structure
45
+ */
46
+ export declare function FormSheet({ open, onOpenChange, title, description, header, children, footer, onSubmit, side, width, dirty, className, }: FormSheetProps): React.JSX.Element;
47
+ //# sourceMappingURL=form-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-sheet.d.ts","sourceRoot":"","sources":["../../../src/blocks/form-sheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBlD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,KAAK,EAAE,SAAS,CAAA;IAChB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,iCAAiC;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB,gFAAgF;IAChF,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IAClD,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,MAAM,EACN,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,IAAc,EACd,KAAW,EACX,KAAa,EACb,SAAS,GACV,EAAE,cAAc,qBA6EhB"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Arc gauge for one 0–100 metric.
3
+ * @when A single health/capacity number that needs a zone (SLO, disk). Series over time → `Sparkline`.
4
+ * @example
5
+ * <Gauge value={73} label="磁盘" />
6
+ * @family Chart & data
7
+ */
8
+ export declare function Gauge({ value, label, size, className, }: {
9
+ value: number;
10
+ label?: string;
11
+ size?: number;
12
+ className?: string;
13
+ }): import("react").JSX.Element;
14
+ //# sourceMappingURL=gauge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gauge.d.ts","sourceRoot":"","sources":["../../../src/blocks/gauge.tsx"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,KAAK,EACL,IAAU,EACV,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BAeA"}
@@ -0,0 +1,42 @@
1
+ import type { ReactNode } from 'react';
2
+ export type ListDetailProps = {
3
+ /** The collection pane: list, table, board — anything you scroll through. */
4
+ list: ReactNode;
5
+ /** The record pane. Pass `undefined` for "nothing selected" — `empty` renders instead. */
6
+ detail?: ReactNode;
7
+ /** Placeholder for the record pane while nothing is selected. */
8
+ empty?: ReactNode;
9
+ /** Search / filters / create button. Fixed above the panes; it never scrolls. */
10
+ toolbar?: ReactNode;
11
+ /** Narrow screens show one pane at a time. The app owns which one. */
12
+ mobileView?: 'list' | 'detail';
13
+ /** Renders a back control on the record pane below `md`. No-op on wide screens. */
14
+ onMobileBack?: () => void;
15
+ /** Collection pane share of the width, 0-100. Default 34. */
16
+ defaultSize?: number;
17
+ /** Collection pane floor, so a long record title cannot push it away. Default 18. */
18
+ minSize?: number;
19
+ className?: string;
20
+ };
21
+ /**
22
+ * Two-pane record browser: the list holds its place while the selected record scrolls on its own.
23
+ *
24
+ * This is the shape agents get wrong without help — a flex child with no `min-h-0` grows to fit
25
+ * its content, so the whole page scrolls, the toolbar slides away, and the two panes are never
26
+ * independent. Both panes scroll here by construction, and the record pane collapses to a
27
+ * full-width view below `md` instead of squashing.
28
+ *
29
+ * @when Page shape: click a row, then read or edit that one record beside the list — orders, tickets, contacts, log lines
30
+ * @example
31
+ * <ListDetail
32
+ * toolbar={<SearchInput />}
33
+ * list={<OrderList />}
34
+ * detail={order ? <OrderCard order={order} /> : undefined}
35
+ * empty={<div>Pick an order</div>}
36
+ * mobileView={order ? "detail" : "list"}
37
+ * onMobileBack={() => setOrder(null)}
38
+ * />
39
+ * @family Layout & structure
40
+ */
41
+ export declare function ListDetail({ list, detail, empty, toolbar, mobileView, onMobileBack, defaultSize, minSize, className, }: ListDetailProps): import("react").JSX.Element;
42
+ //# sourceMappingURL=list-detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-detail.d.ts","sourceRoot":"","sources":["../../../src/blocks/list-detail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAWvC,MAAM,MAAM,eAAe,GAAG;IAC5B,6EAA6E;IAC7E,IAAI,EAAE,SAAS,CAAA;IACf,0FAA0F;IAC1F,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,iEAAiE;IACjE,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC/B,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAKD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAmB,EACnB,YAAY,EACZ,WAAgB,EAChB,OAAY,EACZ,SAAS,GACV,EAAE,eAAe,+BAsDjB"}
@@ -0,0 +1,16 @@
1
+ export type NotificationItem = {
2
+ id: string;
3
+ title: string;
4
+ body?: string;
5
+ };
6
+ /**
7
+ * Grouped notification list with unread state.
8
+ * @when Inbox/alert panel. Audit log (read-only, with time) → `ActivityFeed`.
9
+ * @example
10
+ * <NotificationCenter items={[{ id: "n1", title: "构建失败", unread: true }]} />
11
+ * @family Feedback & status
12
+ */
13
+ export declare function NotificationCenter({ items }: {
14
+ items: NotificationItem[];
15
+ }): import("react").JSX.Element;
16
+ //# sourceMappingURL=notification-center.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../../src/blocks/notification-center.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAAE,+BAa1E"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from 'react';
2
+ export type PageHeaderProps = {
3
+ title: string;
4
+ description?: string;
5
+ actions?: ReactNode;
6
+ };
7
+ /**
8
+ * Page title row with optional description and right-side actions.
9
+ * @when Top of a page inside AppShell main
10
+ * @example
11
+ * <PageHeader title="QA Runs" description="Last 24h" actions={<Button>New</Button>} />
12
+ * @family Layout & structure
13
+ */
14
+ export declare function PageHeader({ title, description, actions }: PageHeaderProps): import("react").JSX.Element;
15
+ //# sourceMappingURL=page-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../../src/blocks/page-header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,eAAe,+BAe1E"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Circular determinate progress.
3
+ * @when One percent-done value in a tight space (card corner, table cell).
4
+ * @example
5
+ * <ProgressRing value={45} size={56} />
6
+ * @family Feedback & status
7
+ */
8
+ export declare function ProgressRing({ value, size, className, }: {
9
+ value: number;
10
+ size?: number;
11
+ className?: string;
12
+ }): import("react").JSX.Element;
13
+ //# sourceMappingURL=progress-ring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-ring.d.ts","sourceRoot":"","sources":["../../../src/blocks/progress-ring.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BAyBA"}
@@ -0,0 +1,19 @@
1
+ import { type ChartConfig } from '@mohou/ui/components/chart';
2
+ /**
3
+ * Multi-axis radar chart.
4
+ * @when Comparing an item across 4–8 dimensions (scores, coverage).
5
+ * @example
6
+ * <RadarChart data={[{ label: "性能", value: 70 }]} />
7
+ * @family Chart & data
8
+ */
9
+ export declare function RadarChart({ data, config, dataKey, size, className, }: {
10
+ data: {
11
+ label: string;
12
+ value: number;
13
+ }[];
14
+ config: ChartConfig;
15
+ dataKey?: string;
16
+ size?: number;
17
+ className?: string;
18
+ }): import("react").JSX.Element;
19
+ //# sourceMappingURL=radar-chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radar-chart.d.ts","sourceRoot":"","sources":["../../../src/blocks/radar-chart.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,4BAA4B,CAAA;AAGnC;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,MAAM,EACN,OAAiB,EACjB,IAAI,EACJ,SAAS,GACV,EAAE;IACD,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACxC,MAAM,EAAE,WAAW,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BAgBA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Side-by-side HTTP request/response panel.
3
+ * @when Debugging one API call: method, url, bodies. Multiple calls streaming → `LogViewer`.
4
+ * @example
5
+ * <RequestInspector method="POST" url="/api/x" response="{\"ok\":true}" />
6
+ * @family Discovery & inspect
7
+ */
8
+ export declare function RequestInspector({ method, url, request, response, }: {
9
+ method: string;
10
+ url: string;
11
+ request?: string;
12
+ response?: string;
13
+ }): import("react").JSX.Element;
14
+ //# sourceMappingURL=request-inspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-inspector.d.ts","sourceRoot":"","sources":["../../../src/blocks/request-inspector.tsx"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,GAAG,EACH,OAAO,EACP,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,+BAoBA"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Entrance reveal — fade and rise, with a per-item `delay` for a stagger.
3
+ *
4
+ * This is the kit's front door to the platform `motion` build (`/mma/vendors/motion.js`,
5
+ * one shared React). Use it for the common case and reach for
6
+ * `import { motion, AnimatePresence } from "motion/react"` when you need exit, layout,
7
+ * or gesture animation — `AnimatePresence` in particular is what keeps a removing row
8
+ * from vanishing mid-transition.
9
+ *
10
+ * @when A card, row, or section appearing on first paint or after a filter change. Not
11
+ * for a hover/press response (one property: use a Tailwind `transition`) and not for
12
+ * animating an element out (use `AnimatePresence`).
13
+ * @example
14
+ * {rows.map((r, i) => (
15
+ * <Reveal key={r.id} delay={i * 60}>
16
+ * <Card>{r.title}</Card>
17
+ * </Reveal>
18
+ * ))}
19
+ * @family Animation
20
+ */
21
+ export declare function Reveal({ children, delay, distance, className, style, }: {
22
+ children: React.ReactNode;
23
+ /** Stagger in ms — pass `i * 60` for a list. */
24
+ delay?: number | undefined;
25
+ /** Rise distance in px. `0` fades in place. */
26
+ distance?: number | undefined;
27
+ className?: string | undefined;
28
+ style?: React.CSSProperties | undefined;
29
+ }): import("react").JSX.Element;
30
+ //# sourceMappingURL=reveal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reveal.d.ts","sourceRoot":"","sources":["../../../src/blocks/reveal.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,KAAS,EACT,QAAY,EACZ,SAAS,EACT,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;CACxC,+BAiBA"}
@@ -0,0 +1,12 @@
1
+ import { type TimelineItem } from '@mohou/ui/products/timeline';
2
+ /**
3
+ * Timeline of run phases with duration + status.
4
+ * @when CI/agent/job phases on a time axis. Plain ordered events → `Timeline`.
5
+ * @example
6
+ * <RunTimeline items={[{ id: "p1", title: "checkout", status: "pass", time: "3s" }]} />
7
+ * @family Realtime
8
+ */
9
+ export declare function RunTimeline({ items }: {
10
+ items: TimelineItem[];
11
+ }): import("react").JSX.Element;
12
+ //# sourceMappingURL=run-timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-timeline.d.ts","sourceRoot":"","sources":["../../../src/blocks/run-timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAEzE;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,+BAE/D"}
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Anchor nav that highlights the section in view.
4
+ * @when Long settings/report page with jump links.
5
+ * @example
6
+ * <Scrollspy sections={[{ id: "overview", label: "概览" }]} />
7
+ * @family Navigation
8
+ */
9
+ export declare function Scrollspy({ sections, }: {
10
+ sections: {
11
+ id: string;
12
+ label: string;
13
+ }[];
14
+ }): React.JSX.Element;
15
+ //# sourceMappingURL=scrollspy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollspy.d.ts","sourceRoot":"","sources":["../../../src/blocks/scrollspy.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EACxB,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC1C,qBAiCA"}