@h-ai/ui 0.1.0-alpha.67 → 0.1.0-alpha.68

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 (286) hide show
  1. package/README.en.md +31 -5
  2. package/README.ja.md +31 -5
  3. package/README.md +64 -38
  4. package/dist/components/compounds/Accordion.svelte +24 -0
  5. package/dist/components/compounds/Accordion.svelte.d.ts +34 -0
  6. package/dist/components/compounds/ActionSheet.svelte +24 -0
  7. package/dist/components/compounds/ActionSheet.svelte.d.ts +38 -0
  8. package/dist/components/compounds/Alert.svelte +15 -4
  9. package/dist/components/compounds/Alert.svelte.d.ts +10 -0
  10. package/dist/components/compounds/AppBar.svelte +24 -0
  11. package/dist/components/compounds/AppBar.svelte.d.ts +33 -0
  12. package/dist/components/compounds/BottomNav.svelte +37 -0
  13. package/dist/components/compounds/BottomNav.svelte.d.ts +43 -0
  14. package/dist/components/compounds/Breadcrumb.svelte +11 -0
  15. package/dist/components/compounds/Breadcrumb.svelte.d.ts +20 -0
  16. package/dist/components/compounds/Calendar.svelte +20 -6
  17. package/dist/components/compounds/Calendar.svelte.d.ts +20 -6
  18. package/dist/components/compounds/Card.svelte +10 -0
  19. package/dist/components/compounds/Card.svelte.d.ts +10 -0
  20. package/dist/components/compounds/Combobox.svelte +35 -18
  21. package/dist/components/compounds/Combobox.svelte.d.ts +35 -18
  22. package/dist/components/compounds/Confirm.svelte +11 -0
  23. package/dist/components/compounds/Confirm.svelte.d.ts +21 -0
  24. package/dist/components/compounds/DataTable.svelte +40 -17
  25. package/dist/components/compounds/DataTable.svelte.d.ts +9 -13
  26. package/dist/components/compounds/DatePicker.svelte +20 -6
  27. package/dist/components/compounds/DatePicker.svelte.d.ts +20 -6
  28. package/dist/components/compounds/Drawer.svelte +11 -0
  29. package/dist/components/compounds/Drawer.svelte.d.ts +21 -0
  30. package/dist/components/compounds/Dropdown.svelte +10 -0
  31. package/dist/components/compounds/Dropdown.svelte.d.ts +10 -0
  32. package/dist/components/compounds/Empty.svelte +16 -5
  33. package/dist/components/compounds/Empty.svelte.d.ts +20 -0
  34. package/dist/components/compounds/Form.svelte +37 -2
  35. package/dist/components/compounds/Form.svelte.d.ts +20 -0
  36. package/dist/components/compounds/FormField.svelte +11 -0
  37. package/dist/components/compounds/FormField.svelte.d.ts +20 -0
  38. package/dist/components/compounds/FormLayout.svelte +13 -1
  39. package/dist/components/compounds/FormLayout.svelte.d.ts +13 -0
  40. package/dist/components/compounds/InfiniteScroll.svelte +24 -0
  41. package/dist/components/compounds/InfiniteScroll.svelte.d.ts +34 -0
  42. package/dist/components/compounds/MessageBoxContainer.svelte +11 -0
  43. package/dist/components/compounds/MessageBoxContainer.svelte.d.ts +21 -0
  44. package/dist/components/compounds/MessageBoxDialog.svelte +14 -0
  45. package/dist/components/compounds/MessageBoxDialog.svelte.d.ts +21 -0
  46. package/dist/components/compounds/MessageContainer.svelte +11 -0
  47. package/dist/components/compounds/MessageContainer.svelte.d.ts +21 -0
  48. package/dist/components/compounds/Modal.svelte +10 -0
  49. package/dist/components/compounds/Modal.svelte.d.ts +10 -0
  50. package/dist/components/compounds/PageHeader.svelte +21 -8
  51. package/dist/components/compounds/PageHeader.svelte.d.ts +21 -8
  52. package/dist/components/compounds/Pagination.svelte +34 -8
  53. package/dist/components/compounds/Pagination.svelte.d.ts +20 -0
  54. package/dist/components/compounds/Popover.svelte +11 -0
  55. package/dist/components/compounds/Popover.svelte.d.ts +20 -0
  56. package/dist/components/compounds/PullRefresh.svelte +24 -0
  57. package/dist/components/compounds/PullRefresh.svelte.d.ts +32 -0
  58. package/dist/components/compounds/Result.svelte +11 -0
  59. package/dist/components/compounds/Result.svelte.d.ts +20 -0
  60. package/dist/components/compounds/SafeArea.svelte +24 -0
  61. package/dist/components/compounds/SafeArea.svelte.d.ts +32 -0
  62. package/dist/components/compounds/Skeleton.svelte +10 -0
  63. package/dist/components/compounds/Skeleton.svelte.d.ts +10 -0
  64. package/dist/components/compounds/Steps.svelte +11 -0
  65. package/dist/components/compounds/Steps.svelte.d.ts +20 -0
  66. package/dist/components/compounds/SwipeCell.svelte +24 -0
  67. package/dist/components/compounds/SwipeCell.svelte.d.ts +37 -0
  68. package/dist/components/compounds/TableToolbar.svelte +66 -28
  69. package/dist/components/compounds/TableToolbar.svelte.d.ts +29 -19
  70. package/dist/components/compounds/Tabs.svelte +58 -10
  71. package/dist/components/compounds/Tabs.svelte.d.ts +10 -0
  72. package/dist/components/compounds/TagInput.svelte +11 -0
  73. package/dist/components/compounds/TagInput.svelte.d.ts +20 -0
  74. package/dist/components/compounds/Timeline.svelte +24 -0
  75. package/dist/components/compounds/Timeline.svelte.d.ts +34 -0
  76. package/dist/components/compounds/ToastContainer.svelte +11 -0
  77. package/dist/components/compounds/ToastContainer.svelte.d.ts +26 -0
  78. package/dist/components/compounds/Tooltip.svelte +11 -0
  79. package/dist/components/compounds/Tooltip.svelte.d.ts +22 -0
  80. package/dist/components/compounds/accordion-types.d.ts +10 -1
  81. package/dist/components/compounds/action-sheet-types.d.ts +9 -0
  82. package/dist/components/compounds/bottom-nav-types.d.ts +9 -0
  83. package/dist/components/compounds/swipe-cell-types.d.ts +9 -0
  84. package/dist/components/compounds/timeline-types.d.ts +9 -0
  85. package/dist/components/control-size.d.ts +17 -0
  86. package/dist/components/control-size.js +8 -0
  87. package/dist/components/primitives/Avatar.svelte +10 -0
  88. package/dist/components/primitives/Avatar.svelte.d.ts +10 -0
  89. package/dist/components/primitives/Badge.svelte +10 -0
  90. package/dist/components/primitives/Badge.svelte.d.ts +10 -0
  91. package/dist/components/primitives/BareButton.svelte +11 -0
  92. package/dist/components/primitives/BareButton.svelte.d.ts +20 -0
  93. package/dist/components/primitives/BareInput.svelte +11 -0
  94. package/dist/components/primitives/BareInput.svelte.d.ts +20 -0
  95. package/dist/components/primitives/Button.svelte +10 -0
  96. package/dist/components/primitives/Button.svelte.d.ts +10 -0
  97. package/dist/components/primitives/Checkbox.svelte +11 -0
  98. package/dist/components/primitives/Checkbox.svelte.d.ts +20 -0
  99. package/dist/components/primitives/IconButton.svelte +11 -0
  100. package/dist/components/primitives/IconButton.svelte.d.ts +20 -0
  101. package/dist/components/primitives/Input.svelte +10 -0
  102. package/dist/components/primitives/Input.svelte.d.ts +10 -0
  103. package/dist/components/primitives/Progress.svelte +11 -0
  104. package/dist/components/primitives/Progress.svelte.d.ts +20 -0
  105. package/dist/components/primitives/Radio.svelte +11 -0
  106. package/dist/components/primitives/Radio.svelte.d.ts +20 -0
  107. package/dist/components/primitives/Range.svelte +24 -0
  108. package/dist/components/primitives/Range.svelte.d.ts +34 -0
  109. package/dist/components/primitives/Rating.svelte +24 -0
  110. package/dist/components/primitives/Rating.svelte.d.ts +34 -0
  111. package/dist/components/primitives/Select.svelte +11 -0
  112. package/dist/components/primitives/Select.svelte.d.ts +21 -0
  113. package/dist/components/primitives/Spinner.svelte +11 -0
  114. package/dist/components/primitives/Spinner.svelte.d.ts +20 -0
  115. package/dist/components/primitives/Switch.svelte +11 -0
  116. package/dist/components/primitives/Switch.svelte.d.ts +20 -0
  117. package/dist/components/primitives/Tag.svelte +11 -0
  118. package/dist/components/primitives/Tag.svelte.d.ts +20 -0
  119. package/dist/components/primitives/Textarea.svelte +11 -0
  120. package/dist/components/primitives/Textarea.svelte.d.ts +21 -0
  121. package/dist/components/primitives/ToggleCheckbox.svelte +11 -0
  122. package/dist/components/primitives/ToggleCheckbox.svelte.d.ts +20 -0
  123. package/dist/components/primitives/ToggleInput.svelte +11 -0
  124. package/dist/components/primitives/ToggleInput.svelte.d.ts +20 -0
  125. package/dist/components/primitives/ToggleRadio.svelte +11 -0
  126. package/dist/components/primitives/ToggleRadio.svelte.d.ts +20 -0
  127. package/dist/components/scenes/ai/AiDocumentDownloadMenu.svelte +27 -0
  128. package/dist/components/scenes/ai/AiDocumentDownloadMenu.svelte.d.ts +27 -0
  129. package/dist/components/scenes/ai/AiDocumentEditor.svelte +79 -0
  130. package/dist/components/scenes/ai/AiDocumentEditor.svelte.d.ts +23 -0
  131. package/dist/components/scenes/ai/MarkdownRenderer.svelte +11 -0
  132. package/dist/components/scenes/ai/MarkdownRenderer.svelte.d.ts +28 -0
  133. package/dist/components/scenes/ai/code-preview.d.ts +28 -0
  134. package/dist/components/scenes/ai/code-preview.js +20 -0
  135. package/dist/components/scenes/ai/document-download.d.ts +52 -0
  136. package/dist/components/scenes/ai/document-download.js +30 -2
  137. package/dist/components/scenes/ai/document-parse.d.ts +71 -14
  138. package/dist/components/scenes/ai/document-parse.js +19 -9
  139. package/dist/components/scenes/ai/document-types.d.ts +222 -88
  140. package/dist/components/scenes/ai/editor-markdown-extensions.d.ts +16 -0
  141. package/dist/components/scenes/ai/editor-markdown-extensions.js +16 -0
  142. package/dist/components/scenes/ai/highlight.d.ts +11 -0
  143. package/dist/components/scenes/ai/highlight.js +11 -0
  144. package/dist/components/scenes/ai/markdown-parse.d.ts +8 -2
  145. package/dist/components/scenes/ai/markdown-parse.js +2 -2
  146. package/dist/components/scenes/ai/mermaid-host-sync.d.ts +38 -0
  147. package/dist/components/scenes/ai/mermaid-host-sync.js +30 -0
  148. package/dist/components/scenes/ai/mermaid-render.d.ts +23 -0
  149. package/dist/components/scenes/ai/mermaid-render.js +23 -0
  150. package/dist/components/scenes/ai/safe-html.d.ts +54 -6
  151. package/dist/components/scenes/ai/safe-html.js +54 -6
  152. package/dist/components/scenes/ai/table/AiTableEditor.svelte +48 -0
  153. package/dist/components/scenes/ai/table/AiTableEditor.svelte.d.ts +24 -0
  154. package/dist/components/scenes/ai/table/table-types.d.ts +79 -0
  155. package/dist/components/scenes/app/FeedbackModal.svelte +45 -5
  156. package/dist/components/scenes/app/FeedbackModal.svelte.d.ts +45 -5
  157. package/dist/components/scenes/app/LanguageSwitch.svelte +29 -19
  158. package/dist/components/scenes/app/LanguageSwitch.svelte.d.ts +28 -19
  159. package/dist/components/scenes/app/SettingsLayout.svelte +21 -9
  160. package/dist/components/scenes/app/SettingsLayout.svelte.d.ts +21 -9
  161. package/dist/components/scenes/app/SettingsModal.svelte +23 -0
  162. package/dist/components/scenes/app/SettingsModal.svelte.d.ts +23 -0
  163. package/dist/components/scenes/app/ThemeColorPicker.svelte +31 -0
  164. package/dist/components/scenes/app/ThemeColorPicker.svelte.d.ts +31 -0
  165. package/dist/components/scenes/app/ThemeSelector.svelte +21 -6
  166. package/dist/components/scenes/app/ThemeSelector.svelte.d.ts +21 -6
  167. package/dist/components/scenes/app/ThemeToggle.svelte +21 -4
  168. package/dist/components/scenes/app/ThemeToggle.svelte.d.ts +21 -4
  169. package/dist/components/scenes/app/index.d.ts +1 -1
  170. package/dist/components/scenes/app/index.js +1 -1
  171. package/dist/components/scenes/charts/Chart.svelte +11 -0
  172. package/dist/components/scenes/charts/Chart.svelte.d.ts +20 -0
  173. package/dist/components/scenes/charts/chart-theme.d.ts +25 -1
  174. package/dist/components/scenes/charts/chart-theme.js +25 -1
  175. package/dist/components/scenes/charts/chart-types.d.ts +83 -7
  176. package/dist/components/scenes/charts/renderers/LineChart.svelte +53 -0
  177. package/dist/components/scenes/charts/renderers/LineChart.svelte.d.ts +13 -0
  178. package/dist/components/scenes/crud/CrudDeleteConfirm.svelte +10 -0
  179. package/dist/components/scenes/crud/CrudDeleteConfirm.svelte.d.ts +10 -0
  180. package/dist/components/scenes/crud/CrudDetailDrawer.svelte +8 -0
  181. package/dist/components/scenes/crud/CrudDetailDrawer.svelte.d.ts +8 -0
  182. package/dist/components/scenes/crud/CrudDetailPanel.svelte +18 -0
  183. package/dist/components/scenes/crud/CrudDetailPanel.svelte.d.ts +18 -0
  184. package/dist/components/scenes/crud/CrudEditPanel.svelte +10 -0
  185. package/dist/components/scenes/crud/CrudEditPanel.svelte.d.ts +10 -0
  186. package/dist/components/scenes/crud/CrudFilterBar.svelte +18 -0
  187. package/dist/components/scenes/crud/CrudFilterBar.svelte.d.ts +18 -0
  188. package/dist/components/scenes/crud/CrudPage.svelte +37 -5
  189. package/dist/components/scenes/crud/CrudPage.svelte.d.ts +35 -3
  190. package/dist/components/scenes/crud/crud-controller.svelte.d.ts +142 -23
  191. package/dist/components/scenes/crud/crud-controller.svelte.js +22 -11
  192. package/dist/components/scenes/crud/crud-form-validation.d.ts +12 -0
  193. package/dist/components/scenes/crud/crud-form-validation.js +12 -0
  194. package/dist/components/scenes/crud/crud-types.d.ts +79 -8
  195. package/dist/components/scenes/crud/nav-adapter.d.ts +14 -0
  196. package/dist/components/scenes/crud/nav-adapter.js +8 -0
  197. package/dist/components/scenes/crypto/EncryptedInput.svelte +24 -0
  198. package/dist/components/scenes/crypto/EncryptedInput.svelte.d.ts +34 -0
  199. package/dist/components/scenes/crypto/HashDisplay.svelte +11 -0
  200. package/dist/components/scenes/crypto/HashDisplay.svelte.d.ts +21 -0
  201. package/dist/components/scenes/crypto/SignatureDisplay.svelte +11 -0
  202. package/dist/components/scenes/crypto/SignatureDisplay.svelte.d.ts +21 -0
  203. package/dist/components/scenes/error/ErrorPage.svelte +8 -1
  204. package/dist/components/scenes/error/ErrorPage.svelte.d.ts +8 -1
  205. package/dist/components/scenes/error/error-presets.d.ts +40 -4
  206. package/dist/components/scenes/error/error-presets.js +22 -2
  207. package/dist/components/scenes/guide/GuideHost.svelte +27 -0
  208. package/dist/components/scenes/guide/GuideHost.svelte.d.ts +27 -0
  209. package/dist/components/scenes/guide/HelpCenter.svelte +27 -0
  210. package/dist/components/scenes/guide/HelpCenter.svelte.d.ts +27 -0
  211. package/dist/components/scenes/iam/AuthPanel.svelte +26 -2
  212. package/dist/components/scenes/iam/AuthPanel.svelte.d.ts +25 -0
  213. package/dist/components/scenes/iam/AuthShell.svelte +8 -3
  214. package/dist/components/scenes/iam/AuthShell.svelte.d.ts +8 -3
  215. package/dist/components/scenes/iam/ChangePasswordForm.svelte +10 -0
  216. package/dist/components/scenes/iam/ChangePasswordForm.svelte.d.ts +10 -0
  217. package/dist/components/scenes/iam/ForgotPasswordForm.svelte +11 -0
  218. package/dist/components/scenes/iam/ForgotPasswordForm.svelte.d.ts +21 -0
  219. package/dist/components/scenes/iam/LoginForm.svelte +24 -31
  220. package/dist/components/scenes/iam/LoginForm.svelte.d.ts +10 -0
  221. package/dist/components/scenes/iam/PasswordInput.svelte +23 -0
  222. package/dist/components/scenes/iam/PasswordInput.svelte.d.ts +23 -0
  223. package/dist/components/scenes/iam/PermGuard.svelte +21 -11
  224. package/dist/components/scenes/iam/PermGuard.svelte.d.ts +30 -0
  225. package/dist/components/scenes/iam/RegisterForm.svelte +10 -0
  226. package/dist/components/scenes/iam/RegisterForm.svelte.d.ts +10 -0
  227. package/dist/components/scenes/iam/ResetPasswordForm.svelte +10 -0
  228. package/dist/components/scenes/iam/ResetPasswordForm.svelte.d.ts +10 -0
  229. package/dist/components/scenes/iam/UserProfile.svelte +11 -0
  230. package/dist/components/scenes/iam/UserProfile.svelte.d.ts +21 -0
  231. package/dist/components/scenes/iam/auth-error-message.d.ts +10 -0
  232. package/dist/components/scenes/iam/auth-error-message.js +10 -0
  233. package/dist/components/scenes/iam/password-utils.d.ts +39 -1
  234. package/dist/components/scenes/iam/password-utils.js +39 -1
  235. package/dist/components/scenes/iam/permission-context.svelte.d.ts +33 -23
  236. package/dist/components/scenes/iam/permission-context.svelte.js +20 -22
  237. package/dist/components/scenes/storage/AvatarUpload.svelte +11 -0
  238. package/dist/components/scenes/storage/AvatarUpload.svelte.d.ts +20 -0
  239. package/dist/components/scenes/storage/FileList.svelte +13 -2
  240. package/dist/components/scenes/storage/FileList.svelte.d.ts +20 -0
  241. package/dist/components/scenes/storage/FileUpload.svelte +37 -2
  242. package/dist/components/scenes/storage/FileUpload.svelte.d.ts +21 -0
  243. package/dist/components/scenes/storage/ImageUpload.svelte +11 -0
  244. package/dist/components/scenes/storage/ImageUpload.svelte.d.ts +21 -0
  245. package/dist/components/scenes/types.d.ts +352 -11
  246. package/dist/guide-storage.d.ts +13 -1
  247. package/dist/guide-storage.js +13 -1
  248. package/dist/guide-types.d.ts +67 -2
  249. package/dist/guide.svelte.d.ts +22 -1
  250. package/dist/guide.svelte.js +22 -1
  251. package/dist/i18n.svelte.d.ts +64 -3
  252. package/dist/i18n.svelte.js +99 -18
  253. package/dist/index.d.ts +2 -1
  254. package/dist/index.js +1 -2
  255. package/dist/internal/browser-safety.d.ts +51 -2
  256. package/dist/internal/browser-safety.js +45 -7
  257. package/dist/internal/form-context.d.ts +73 -0
  258. package/dist/internal/form-context.js +57 -0
  259. package/dist/internal/form-validation.svelte.d.ts +42 -0
  260. package/dist/internal/form-validation.svelte.js +26 -0
  261. package/dist/internal/icon-safety.d.ts +7 -0
  262. package/dist/internal/icon-safety.js +7 -0
  263. package/dist/internal/locale.d.ts +19 -0
  264. package/dist/internal/locale.js +21 -0
  265. package/dist/message.svelte.d.ts +90 -0
  266. package/dist/message.svelte.js +84 -0
  267. package/dist/messagebox.svelte.d.ts +61 -13
  268. package/dist/messagebox.svelte.js +55 -13
  269. package/dist/messages/en-US.json +6 -1
  270. package/dist/messages/ja-JP.json +389 -0
  271. package/dist/messages/zh-CN.json +6 -1
  272. package/dist/messages.d.ts +24 -3
  273. package/dist/messages.js +18 -3
  274. package/dist/styles/design-tokens.css +4 -2
  275. package/dist/styles/global.css +28 -8
  276. package/dist/styles/theme.css +2 -0
  277. package/dist/theme-config.d.ts +173 -0
  278. package/dist/theme-config.js +143 -0
  279. package/dist/toast.svelte.d.ts +114 -4
  280. package/dist/toast.svelte.js +108 -4
  281. package/dist/types.d.ts +526 -9
  282. package/dist/utils/platform.svelte.d.ts +28 -15
  283. package/dist/utils/platform.svelte.js +19 -14
  284. package/dist/utils.d.ts +102 -0
  285. package/dist/utils.js +93 -0
  286. package/package.json +66 -6
@@ -7,7 +7,15 @@
7
7
  import type { Snippet } from 'svelte';
8
8
  import type { DataAttributes, FormLayoutOptions, Size } from '../../../types.js';
9
9
  import type { CrudFieldDef } from './crud-controller.svelte.js';
10
- /** CrudPage 权限控制 */
10
+ /**
11
+ * CrudPage 权限控制
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import type { CrudPermissions } from '@h-ai/ui'
16
+ * const example: CrudPermissions = { create: true, update: true, delete: false }
17
+ * ```
18
+ */
11
19
  export interface CrudPermissions {
12
20
  /** 允许新建 */
13
21
  create?: boolean;
@@ -16,11 +24,35 @@ export interface CrudPermissions {
16
24
  /** 允许删除 */
17
25
  delete?: boolean;
18
26
  }
19
- /** 新建/编辑表单的展示形式 */
27
+ /**
28
+ * 新建/编辑表单的展示形式
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import type { CrudFormVariant } from '@h-ai/ui'
33
+ * const example: CrudFormVariant = 'drawer'
34
+ * ```
35
+ */
20
36
  export type CrudFormVariant = 'drawer' | 'modal';
21
- /** 列表显示密度 */
37
+ /**
38
+ * 列表显示密度
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * import type { CrudDensity } from '@h-ai/ui'
43
+ * const example: CrudDensity = 'compact'
44
+ * ```
45
+ */
22
46
  export type CrudDensity = 'normal' | 'compact';
23
- /** 新建/编辑表单展示配置 */
47
+ /**
48
+ * 新建/编辑表单展示配置
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * import type { CrudFormConfig } from '@h-ai/ui'
53
+ * const example: CrudFormConfig = { variant: 'drawer', drawerWidth: '32rem', columns: 2, labelPosition: 'top' }
54
+ * ```
55
+ */
24
56
  export interface CrudFormConfig extends FormLayoutOptions {
25
57
  /** 展示形式:'drawer'(抽屉,默认)或 'modal'(弹出窗口) */
26
58
  variant?: CrudFormVariant;
@@ -37,7 +69,15 @@ export interface CrudFormConfig extends FormLayoutOptions {
37
69
  /** 弹窗自定义高度 CSS 值(variant='modal') */
38
70
  modalHeight?: string;
39
71
  }
40
- /** 分页栏展示配置 */
72
+ /**
73
+ * 分页栏展示配置
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * import type { CrudPaginationConfig } from '@h-ai/ui'
78
+ * const example: CrudPaginationConfig = { showSizeChanger: true, pageSizeOptions: [10, 20, 50], showTotal: true }
79
+ * ```
80
+ */
41
81
  export interface CrudPaginationConfig {
42
82
  /** 是否显示每页条数选择器(默认 true) */
43
83
  showSizeChanger?: boolean;
@@ -52,9 +92,26 @@ export interface CrudPaginationConfig {
52
92
  /** 是否显示首页 / 末页跳转按钮(默认 true;紧凑视图可仅保留上一页 / 下一页) */
53
93
  showFirstLast?: boolean;
54
94
  }
55
- /** CrudPage 工具栏风格;toolbar 是默认的图标弹层布局。 */
95
+ /**
96
+ * CrudPage 工具栏风格;toolbar 是默认的图标弹层布局。
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * import type { CrudToolbarStyle } from '@h-ai/ui'
101
+ * const example: CrudToolbarStyle = 'toolbar'
102
+ * ```
103
+ */
56
104
  export type CrudToolbarStyle = 'filter-bar' | 'toolbar';
57
- /** CrudPage 初始列表数据(由 +page.server.ts load 返回) */
105
+ /**
106
+ * CrudPage 初始列表数据(由 +page.server.ts load 返回)
107
+ * @typeParam T - 字段值或资源条目的数据类型。
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * import type { CrudPageData } from '@h-ai/ui'
112
+ * const example: CrudPageData = { items: [{ id: 'u1', email: 'ada@example.com' }], total: 1, page: 1, pageSize: 20 }
113
+ * ```
114
+ */
58
115
  export interface CrudPageData<T = Record<string, unknown>> {
59
116
  items: T[];
60
117
  total: number;
@@ -62,7 +119,21 @@ export interface CrudPageData<T = Record<string, unknown>> {
62
119
  pageSize: number;
63
120
  filters?: Record<string, unknown>;
64
121
  }
65
- /** CrudPage 组件 Props */
122
+ /**
123
+ * CrudPage 组件 Props
124
+ * @typeParam T - 字段值或资源条目的数据类型。
125
+ *
126
+ * @example
127
+ * ```svelte
128
+ * <script lang="ts">
129
+ * import { CrudPage, defineCrud } from '@h-ai/ui'
130
+ * import type { CrudPageProps } from '@h-ai/ui'
131
+ * const crud = defineCrud({ name: 'users', label: '用户', fields: [{ id: 'email', label: '邮箱', type: 'email', validation: { required: true } }], api: { list: async () => ({ items: [{ id: 'u1', email: 'ada@example.com' }], total: 1, page: 1, pageSize: 20 }) } })
132
+ * const props: CrudPageProps = { crud, data: { items: [{ id: 'u1', email: 'ada@example.com' }], total: 1, page: 1, pageSize: 20 }, permissions: { create: true, update: true, delete: false } }
133
+ * </script>
134
+ * <CrudPage {...props} />
135
+ * ```
136
+ */
66
137
  export interface CrudPageProps<T = Record<string, unknown>> extends DataAttributes {
67
138
  /** CRUD 操作定义(来自 kit.crud.define) */
68
139
  crud: {
@@ -14,6 +14,12 @@
14
14
  * - 读取当前 pathname(作为列表 URL 的 basePath 兜底)
15
15
  * - 调用 `navigate(url)` 同步搜索 / 过滤 / 分页参数到地址栏
16
16
  * - 调用 `refresh()` 在写操作后重新拉取列表数据
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import type { NavAdapter } from '@h-ai/ui'
21
+ * const example: NavAdapter = { pathname: '/users', navigate: url => { globalThis.location?.assign(url) } }
22
+ * ```
17
23
  */
18
24
  export interface NavAdapter {
19
25
  /** 当前页面路径(不含 query / hash),用于推导 `basePath`。 */
@@ -32,5 +38,13 @@ export interface NavAdapter {
32
38
  * - `navigate(url)` 调 `globalThis.location.assign(url)`;如需客户端路由(hash router 等),
33
39
  * 宿主应自行实现一个 `NavAdapter` 传入。
34
40
  * - 不提供 `refresh`:浏览器默认导航本身会触发页面加载,调用方需在导航前/后重新拉取数据。
41
+ * @returns 基于浏览器 location 的导航适配器;SSR 下 pathname 为空字符串。
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * import { createBrowserNavAdapter } from '@h-ai/ui'
46
+ * const nav = createBrowserNavAdapter()
47
+ * await nav.navigate('/users?page=2')
48
+ * ```
35
49
  */
36
50
  export declare function createBrowserNavAdapter(): NavAdapter;
@@ -18,6 +18,14 @@
18
18
  * - `navigate(url)` 调 `globalThis.location.assign(url)`;如需客户端路由(hash router 等),
19
19
  * 宿主应自行实现一个 `NavAdapter` 传入。
20
20
  * - 不提供 `refresh`:浏览器默认导航本身会触发页面加载,调用方需在导航前/后重新拉取数据。
21
+ * @returns 基于浏览器 location 的导航适配器;SSR 下 pathname 为空字符串。
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * import { createBrowserNavAdapter } from '@h-ai/ui'
26
+ * const nav = createBrowserNavAdapter()
27
+ * await nav.navigate('/users?page=2')
28
+ * ```
21
29
  */
22
30
  export function createBrowserNavAdapter() {
23
31
  return {
@@ -1,4 +1,5 @@
1
1
  <!--
2
+ @component EncryptedInput
2
3
  =============================================================================
3
4
  @h-ai/ui - EncryptedInput 组件
4
5
  =============================================================================
@@ -7,6 +8,16 @@
7
8
  使用 Svelte 5 Runes ($props, $state, $derived, $bindable)
8
9
  内置多语言支持,自动跟随全局 locale
9
10
  =============================================================================
11
+
12
+ @example
13
+ ```ts
14
+ import { mount, unmount } from 'svelte'
15
+ import type { ComponentProps } from 'svelte'
16
+ import { EncryptedInput } from '@h-ai/ui'
17
+ const props: ComponentProps<typeof EncryptedInput> = { value: '', algorithm: 'SM2', showEncrypted: false }
18
+ const component = mount(EncryptedInput, { target: document.body, props })
19
+ await unmount(component)
20
+ ```
10
21
  -->
11
22
  <script lang='ts'>
12
23
  import type { DataAttributes, Size } from '../../../types.js'
@@ -15,6 +26,19 @@
15
26
  import { getDataAttributes } from '../../../utils.js'
16
27
  import { BareButton, IconButton, Input } from '../../primitives/index.js'
17
28
 
29
+ /**
30
+ * EncryptedInput 组件的属性契约;通过公开组件配置使用。
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * import { mount, unmount } from 'svelte'
35
+ * import type { ComponentProps } from 'svelte'
36
+ * import { EncryptedInput } from '@h-ai/ui'
37
+ * const props: ComponentProps<typeof EncryptedInput> = { value: '', algorithm: 'SM2', showEncrypted: false }
38
+ * const component = mount(EncryptedInput, { target: document.body, props })
39
+ * await unmount(component)
40
+ * ```
41
+ */
18
42
  interface Props {
19
43
  /** 原始值 */
20
44
  value?: string
@@ -1,4 +1,17 @@
1
1
  import type { DataAttributes, Size } from '../../../types.js';
2
+ /**
3
+ * EncryptedInput 组件的属性契约;通过公开组件配置使用。
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { mount, unmount } from 'svelte'
8
+ * import type { ComponentProps } from 'svelte'
9
+ * import { EncryptedInput } from '@h-ai/ui'
10
+ * const props: ComponentProps<typeof EncryptedInput> = { value: '', algorithm: 'SM2', showEncrypted: false }
11
+ * const component = mount(EncryptedInput, { target: document.body, props })
12
+ * await unmount(component)
13
+ * ```
14
+ */
2
15
  interface Props {
3
16
  /** 原始值 */
4
17
  value?: string;
@@ -28,6 +41,27 @@ interface Props {
28
41
  }) => void;
29
42
  }
30
43
  type $$ComponentProps = Props & DataAttributes;
44
+ /**
45
+ * EncryptedInput
46
+ * =============================================================================
47
+ * @h-ai/ui - EncryptedInput 组件
48
+ * =============================================================================
49
+ * 加密输入框组件,支持自动加密显示
50
+ *
51
+ * 使用 Svelte 5 Runes ($props, $state, $derived, $bindable)
52
+ * 内置多语言支持,自动跟随全局 locale
53
+ * =============================================================================
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * import { mount, unmount } from 'svelte'
58
+ * import type { ComponentProps } from 'svelte'
59
+ * import { EncryptedInput } from '@h-ai/ui'
60
+ * const props: ComponentProps<typeof EncryptedInput> = { value: '', algorithm: 'SM2', showEncrypted: false }
61
+ * const component = mount(EncryptedInput, { target: document.body, props })
62
+ * await unmount(component)
63
+ * ```
64
+ */
31
65
  declare const EncryptedInput: import("svelte").Component<$$ComponentProps, {}, "value" | "encryptedValue">;
32
66
  type EncryptedInput = ReturnType<typeof EncryptedInput>;
33
67
  export default EncryptedInput;
@@ -1,4 +1,5 @@
1
1
  <!--
2
+ @component HashDisplay
2
3
  =============================================================================
3
4
  @h-ai/ui - HashDisplay 组件
4
5
  =============================================================================
@@ -7,6 +8,16 @@
7
8
  使用 Svelte 5 Runes ($props, $state, $derived)
8
9
  使用 primitives 组件:IconButton, Badge
9
10
  =============================================================================
11
+
12
+ @example
13
+ ```ts
14
+ import { mount, unmount } from 'svelte'
15
+ import type { ComponentProps } from 'svelte'
16
+ import { HashDisplay } from '@h-ai/ui'
17
+ const props: ComponentProps<typeof HashDisplay> = { value: 'example-digest', algorithm: 'SM3', copyable: true }
18
+ const component = mount(HashDisplay, { target: document.body, props })
19
+ await unmount(component)
20
+ ```
10
21
  -->
11
22
  <script lang='ts'>
12
23
  import type { DataAttributes } from '../../../types.js'
@@ -1,6 +1,27 @@
1
1
  import type { DataAttributes } from '../../../types.js';
2
2
  import type { HashDisplayProps } from '../types.js';
3
3
  type $$ComponentProps = HashDisplayProps & DataAttributes;
4
+ /**
5
+ * HashDisplay
6
+ * =============================================================================
7
+ * @h-ai/ui - HashDisplay 组件
8
+ * =============================================================================
9
+ * 哈希值展示组件
10
+ *
11
+ * 使用 Svelte 5 Runes ($props, $state, $derived)
12
+ * 使用 primitives 组件:IconButton, Badge
13
+ * =============================================================================
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { mount, unmount } from 'svelte'
18
+ * import type { ComponentProps } from 'svelte'
19
+ * import { HashDisplay } from '@h-ai/ui'
20
+ * const props: ComponentProps<typeof HashDisplay> = { value: 'example-digest', algorithm: 'SM3', copyable: true }
21
+ * const component = mount(HashDisplay, { target: document.body, props })
22
+ * await unmount(component)
23
+ * ```
24
+ */
4
25
  declare const HashDisplay: import("svelte").Component<$$ComponentProps, {}, "">;
5
26
  type HashDisplay = ReturnType<typeof HashDisplay>;
6
27
  export default HashDisplay;
@@ -1,4 +1,5 @@
1
1
  <!--
2
+ @component SignatureDisplay
2
3
  =============================================================================
3
4
  @h-ai/ui - SignatureDisplay 组件
4
5
  =============================================================================
@@ -7,6 +8,16 @@
7
8
  使用 Svelte 5 Runes ($props, $state, $derived)
8
9
  使用 primitives 组件:IconButton, Badge
9
10
  =============================================================================
11
+
12
+ @example
13
+ ```ts
14
+ import { mount, unmount } from 'svelte'
15
+ import type { ComponentProps } from 'svelte'
16
+ import { SignatureDisplay } from '@h-ai/ui'
17
+ const props: ComponentProps<typeof SignatureDisplay> = { signature: 'example-signature', verified: false, showPublicKey: false }
18
+ const component = mount(SignatureDisplay, { target: document.body, props })
19
+ await unmount(component)
20
+ ```
10
21
  -->
11
22
  <script lang='ts'>
12
23
  import type { DataAttributes } from '../../../types.js'
@@ -1,6 +1,27 @@
1
1
  import type { DataAttributes } from '../../../types.js';
2
2
  import type { SignatureDisplayProps } from '../types.js';
3
3
  type $$ComponentProps = SignatureDisplayProps & DataAttributes;
4
+ /**
5
+ * SignatureDisplay
6
+ * =============================================================================
7
+ * @h-ai/ui - SignatureDisplay 组件
8
+ * =============================================================================
9
+ * 签名信息展示组件
10
+ *
11
+ * 使用 Svelte 5 Runes ($props, $state, $derived)
12
+ * 使用 primitives 组件:IconButton, Badge
13
+ * =============================================================================
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { mount, unmount } from 'svelte'
18
+ * import type { ComponentProps } from 'svelte'
19
+ * import { SignatureDisplay } from '@h-ai/ui'
20
+ * const props: ComponentProps<typeof SignatureDisplay> = { signature: 'example-signature', verified: false, showPublicKey: false }
21
+ * const component = mount(SignatureDisplay, { target: document.body, props })
22
+ * await unmount(component)
23
+ * ```
24
+ */
4
25
  declare const SignatureDisplay: import("svelte").Component<$$ComponentProps, {}, "">;
5
26
  type SignatureDisplay = ReturnType<typeof SignatureDisplay>;
6
27
  export default SignatureDisplay;
@@ -8,7 +8,14 @@
8
8
  使用 Svelte 5 Runes ($props, $derived)
9
9
 
10
10
  @example
11
- <ErrorPage status={403} homeUrl="/admin" onback={() => history.back()} />
11
+ ```ts
12
+ import { mount, unmount } from 'svelte'
13
+ import type { ComponentProps } from 'svelte'
14
+ import { ErrorPage } from '@h-ai/ui'
15
+ const props: ComponentProps<typeof ErrorPage> = { status: 403, homeUrl: '/' }
16
+ const component = mount(ErrorPage, { target: document.body, props })
17
+ await unmount(component)
18
+ ```
12
19
  -->
13
20
  <script lang='ts'>
14
21
  import type { Snippet } from 'svelte'
@@ -36,7 +36,14 @@ type $$ComponentProps = {
36
36
  * 使用 Svelte 5 Runes ($props, $derived)
37
37
  *
38
38
  * @example
39
- * <ErrorPage status={403} homeUrl="/admin" onback={() => history.back()} />
39
+ * ```ts
40
+ * import { mount, unmount } from 'svelte'
41
+ * import type { ComponentProps } from 'svelte'
42
+ * import { ErrorPage } from '@h-ai/ui'
43
+ * const props: ComponentProps<typeof ErrorPage> = { status: 403, homeUrl: '/' }
44
+ * const component = mount(ErrorPage, { target: document.body, props })
45
+ * await unmount(component)
46
+ * ```
40
47
  */
41
48
  declare const ErrorPage: import("svelte").Component<$$ComponentProps, {}, "">;
42
49
  type ErrorPage = ReturnType<typeof ErrorPage>;
@@ -5,9 +5,25 @@
5
5
  * @module error-presets
6
6
  */
7
7
  import type { UIMessageKey } from '../../../messages.js';
8
- /** 内置错误预设标识 */
8
+ /**
9
+ * 内置错误预设标识
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import type { ErrorPreset } from '@h-ai/ui'
14
+ * const example: ErrorPreset = '404'
15
+ * ```
16
+ */
9
17
  export type ErrorPreset = '401' | '403' | '404' | '500' | '503';
10
- /** 单个错误预设的展示信息 */
18
+ /**
19
+ * 单个错误预设的展示信息
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import type { ErrorPresetInfo } from '@h-ai/ui'
24
+ * const example: ErrorPresetInfo = { code: '404', titleKey: 'error_404_title', descKey: 'error_404_desc', icon: 'icon-[tabler--map-search]' }
25
+ * ```
26
+ */
11
27
  export interface ErrorPresetInfo {
12
28
  /** HTTP 状态码(用于大号展示) */
13
29
  code: string;
@@ -18,7 +34,27 @@ export interface ErrorPresetInfo {
18
34
  /** Tabler 图标类名 */
19
35
  icon: string;
20
36
  }
21
- /** 错误预设映射表 */
37
+ /**
38
+ * 错误预设映射表
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * import { ERROR_PRESETS } from '@h-ai/ui'
43
+ * const missing = ERROR_PRESETS['404']
44
+ * const titleKey = missing.titleKey
45
+ * ```
46
+ */
22
47
  export declare const ERROR_PRESETS: Record<ErrorPreset, ErrorPresetInfo>;
23
- /** 根据 HTTP 状态码解析到最接近的预设 */
48
+ /**
49
+ * 根据 HTTP 状态码解析到最接近的预设
50
+ * @param status - HTTP 状态码或文本形式。
51
+ * @returns 最接近输入状态的内置错误页标识。
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * import { resolveErrorPreset } from '@h-ai/ui'
56
+ * const unavailable = resolveErrorPreset(503)
57
+ * const fallback = resolveErrorPreset(418)
58
+ * ```
59
+ */
24
60
  export declare function resolveErrorPreset(status: number | string | undefined): ErrorPreset;
@@ -4,7 +4,16 @@
4
4
  * 为 ErrorPage 提供常见 HTTP 错误的内置文案 key 与图标。
5
5
  * @module error-presets
6
6
  */
7
- /** 错误预设映射表 */
7
+ /**
8
+ * 错误预设映射表
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { ERROR_PRESETS } from '@h-ai/ui'
13
+ * const missing = ERROR_PRESETS['404']
14
+ * const titleKey = missing.titleKey
15
+ * ```
16
+ */
8
17
  export const ERROR_PRESETS = {
9
18
  401: { code: '401', titleKey: 'error_401_title', descKey: 'error_401_desc', icon: 'icon-[tabler--lock]' },
10
19
  403: { code: '403', titleKey: 'error_403_title', descKey: 'error_403_desc', icon: 'icon-[tabler--shield-lock]' },
@@ -12,7 +21,18 @@ export const ERROR_PRESETS = {
12
21
  500: { code: '500', titleKey: 'error_500_title', descKey: 'error_500_desc', icon: 'icon-[tabler--server-off]' },
13
22
  503: { code: '503', titleKey: 'error_503_title', descKey: 'error_503_desc', icon: 'icon-[tabler--tool]' },
14
23
  };
15
- /** 根据 HTTP 状态码解析到最接近的预设 */
24
+ /**
25
+ * 根据 HTTP 状态码解析到最接近的预设
26
+ * @param status - HTTP 状态码或文本形式。
27
+ * @returns 最接近输入状态的内置错误页标识。
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * import { resolveErrorPreset } from '@h-ai/ui'
32
+ * const unavailable = resolveErrorPreset(503)
33
+ * const fallback = resolveErrorPreset(418)
34
+ * ```
35
+ */
16
36
  export function resolveErrorPreset(status) {
17
37
  const code = String(status ?? '');
18
38
  if (code in ERROR_PRESETS) {
@@ -1,3 +1,17 @@
1
+ <!--
2
+ @component GuideHost
3
+ GuideHost 组件的公开使用示例。
4
+
5
+ @example
6
+ ```ts
7
+ import { mount, unmount } from 'svelte'
8
+ import { GuideHost, createGuide } from '@h-ai/ui'
9
+ const guide = createGuide({ tours: [], persistence: 'memory' })
10
+ const host = mount(GuideHost, { target: document.body, props: { guide, locale: 'zh-CN', scope: 'demo' } })
11
+ await unmount(host)
12
+ guide.stop()
13
+ ```
14
+ -->
1
15
  <script lang='ts'>
2
16
  import type { GuideController } from '../../../guide-types.js'
3
17
  import type { DataAttributes } from '../../../types.js'
@@ -12,6 +26,19 @@
12
26
  import 'driver.js/dist/driver.css'
13
27
  import '../../../styles/guide.css'
14
28
 
29
+ /**
30
+ * 导览宿主属性;绑定应用语言、非敏感身份范围和控制器。
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * import { mount, unmount } from 'svelte'
35
+ * import { GuideHost, createGuide } from '@h-ai/ui'
36
+ * const guide = createGuide({ tours: [], persistence: 'memory' })
37
+ * const host = mount(GuideHost, { target: document.body, props: { guide, locale: 'zh-CN', scope: 'demo' } })
38
+ * await unmount(host)
39
+ * guide.stop()
40
+ * ```
41
+ */
15
42
  interface Props {
16
43
  guide: GuideController
17
44
  locale?: string
@@ -2,6 +2,19 @@ import type { GuideController } from '../../../guide-types.js';
2
2
  import type { DataAttributes } from '../../../types.js';
3
3
  import 'driver.js/dist/driver.css';
4
4
  import '../../../styles/guide.css';
5
+ /**
6
+ * 导览宿主属性;绑定应用语言、非敏感身份范围和控制器。
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { mount, unmount } from 'svelte'
11
+ * import { GuideHost, createGuide } from '@h-ai/ui'
12
+ * const guide = createGuide({ tours: [], persistence: 'memory' })
13
+ * const host = mount(GuideHost, { target: document.body, props: { guide, locale: 'zh-CN', scope: 'demo' } })
14
+ * await unmount(host)
15
+ * guide.stop()
16
+ * ```
17
+ */
5
18
  interface Props {
6
19
  guide: GuideController;
7
20
  locale?: string;
@@ -11,6 +24,20 @@ interface Props {
11
24
  autoStart?: string;
12
25
  }
13
26
  type $$ComponentProps = Props & DataAttributes;
27
+ /**
28
+ * GuideHost
29
+ * GuideHost 组件的公开使用示例。
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * import { mount, unmount } from 'svelte'
34
+ * import { GuideHost, createGuide } from '@h-ai/ui'
35
+ * const guide = createGuide({ tours: [], persistence: 'memory' })
36
+ * const host = mount(GuideHost, { target: document.body, props: { guide, locale: 'zh-CN', scope: 'demo' } })
37
+ * await unmount(host)
38
+ * guide.stop()
39
+ * ```
40
+ */
14
41
  declare const GuideHost: import("svelte").Component<$$ComponentProps, {}, "">;
15
42
  type GuideHost = ReturnType<typeof GuideHost>;
16
43
  export default GuideHost;
@@ -1,3 +1,17 @@
1
+ <!--
2
+ @component HelpCenter
3
+ HelpCenter 组件的公开使用示例。
4
+
5
+ @example
6
+ ```ts
7
+ import { mount, unmount } from 'svelte'
8
+ import type { ComponentProps } from 'svelte'
9
+ import { HelpCenter } from '@h-ai/ui'
10
+ const props: ComponentProps<typeof HelpCenter> = { articles: [{ id: 'start', title: '开始使用', content: '# 操作说明' }] }
11
+ const component = mount(HelpCenter, { target: document.body, props })
12
+ await unmount(component)
13
+ ```
14
+ -->
1
15
  <script lang='ts'>
2
16
  import type { GuideArticle, GuideTour } from '../../../guide-types.js'
3
17
  import type { DataAttributes } from '../../../types.js'
@@ -8,6 +22,19 @@
8
22
  import Button from '../../primitives/Button.svelte'
9
23
  import Input from '../../primitives/Input.svelte'
10
24
 
25
+ /**
26
+ * HelpCenter 组件的属性契约;通过公开组件配置使用。
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * import { mount, unmount } from 'svelte'
31
+ * import type { ComponentProps } from 'svelte'
32
+ * import { HelpCenter } from '@h-ai/ui'
33
+ * const props: ComponentProps<typeof HelpCenter> = { articles: [{ id: 'start', title: '开始使用', content: '# 操作说明' }] }
34
+ * const component = mount(HelpCenter, { target: document.body, props })
35
+ * await unmount(component)
36
+ * ```
37
+ */
11
38
  interface Props {
12
39
  articles: readonly GuideArticle[]
13
40
  tours?: readonly GuideTour[]
@@ -1,5 +1,18 @@
1
1
  import type { GuideArticle, GuideTour } from '../../../guide-types.js';
2
2
  import type { DataAttributes } from '../../../types.js';
3
+ /**
4
+ * HelpCenter 组件的属性契约;通过公开组件配置使用。
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { mount, unmount } from 'svelte'
9
+ * import type { ComponentProps } from 'svelte'
10
+ * import { HelpCenter } from '@h-ai/ui'
11
+ * const props: ComponentProps<typeof HelpCenter> = { articles: [{ id: 'start', title: '开始使用', content: '# 操作说明' }] }
12
+ * const component = mount(HelpCenter, { target: document.body, props })
13
+ * await unmount(component)
14
+ * ```
15
+ */
3
16
  interface Props {
4
17
  articles: readonly GuideArticle[];
5
18
  tours?: readonly GuideTour[];
@@ -8,6 +21,20 @@ interface Props {
8
21
  onstart?: (tourId: string) => void;
9
22
  }
10
23
  type $$ComponentProps = Props & DataAttributes;
24
+ /**
25
+ * HelpCenter
26
+ * HelpCenter 组件的公开使用示例。
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * import { mount, unmount } from 'svelte'
31
+ * import type { ComponentProps } from 'svelte'
32
+ * import { HelpCenter } from '@h-ai/ui'
33
+ * const props: ComponentProps<typeof HelpCenter> = { articles: [{ id: 'start', title: '开始使用', content: '# 操作说明' }] }
34
+ * const component = mount(HelpCenter, { target: document.body, props })
35
+ * await unmount(component)
36
+ * ```
37
+ */
11
38
  declare const HelpCenter: import("svelte").Component<$$ComponentProps, {}, "">;
12
39
  type HelpCenter = ReturnType<typeof HelpCenter>;
13
40
  export default HelpCenter;