@h-ai/ui 0.1.0-alpha.29 → 0.1.0-alpha.30
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.
- package/README.md +12 -0
- package/dist/components/compounds/Accordion.svelte +6 -3
- package/dist/components/compounds/Accordion.svelte.d.ts +3 -1
- package/dist/components/compounds/ActionSheet.svelte +11 -8
- package/dist/components/compounds/ActionSheet.svelte.d.ts +3 -1
- package/dist/components/compounds/Alert.svelte +6 -4
- package/dist/components/compounds/Alert.svelte.d.ts +3 -2
- package/dist/components/compounds/AppBar.svelte +13 -9
- package/dist/components/compounds/AppBar.svelte.d.ts +3 -1
- package/dist/components/compounds/BottomNav.svelte +13 -10
- package/dist/components/compounds/BottomNav.svelte.d.ts +3 -1
- package/dist/components/compounds/Breadcrumb.svelte +6 -4
- package/dist/components/compounds/Breadcrumb.svelte.d.ts +3 -2
- package/dist/components/compounds/Calendar.svelte +7 -2
- package/dist/components/compounds/Calendar.svelte.d.ts +3 -1
- package/dist/components/compounds/Card.svelte +6 -4
- package/dist/components/compounds/Card.svelte.d.ts +3 -2
- package/dist/components/compounds/Combobox.svelte +6 -2
- package/dist/components/compounds/Combobox.svelte.d.ts +3 -1
- package/dist/components/compounds/Confirm.svelte +9 -7
- package/dist/components/compounds/Confirm.svelte.d.ts +3 -2
- package/dist/components/compounds/DataTable.svelte +6 -2
- package/dist/components/compounds/DataTable.svelte.d.ts +2 -1
- package/dist/components/compounds/DatePicker.svelte +7 -2
- package/dist/components/compounds/DatePicker.svelte.d.ts +3 -1
- package/dist/components/compounds/Drawer.svelte +6 -4
- package/dist/components/compounds/Drawer.svelte.d.ts +3 -2
- package/dist/components/compounds/Dropdown.svelte +6 -4
- package/dist/components/compounds/Dropdown.svelte.d.ts +3 -2
- package/dist/components/compounds/Empty.svelte +6 -4
- package/dist/components/compounds/Empty.svelte.d.ts +3 -2
- package/dist/components/compounds/Form.svelte +11 -9
- package/dist/components/compounds/Form.svelte.d.ts +3 -2
- package/dist/components/compounds/FormField.svelte +6 -4
- package/dist/components/compounds/FormField.svelte.d.ts +3 -2
- package/dist/components/compounds/InfiniteScroll.svelte +10 -7
- package/dist/components/compounds/InfiniteScroll.svelte.d.ts +3 -1
- package/dist/components/compounds/MessageBoxContainer.svelte +6 -1
- package/dist/components/compounds/MessageBoxContainer.svelte.d.ts +3 -17
- package/dist/components/compounds/MessageBoxDialog.svelte +9 -7
- package/dist/components/compounds/MessageBoxDialog.svelte.d.ts +2 -1
- package/dist/components/compounds/MessageContainer.svelte +6 -2
- package/dist/components/compounds/MessageContainer.svelte.d.ts +2 -1
- package/dist/components/compounds/Modal.svelte +9 -7
- package/dist/components/compounds/Modal.svelte.d.ts +3 -2
- package/dist/components/compounds/PageHeader.svelte +6 -2
- package/dist/components/compounds/PageHeader.svelte.d.ts +3 -1
- package/dist/components/compounds/Pagination.svelte +6 -4
- package/dist/components/compounds/Pagination.svelte.d.ts +3 -2
- package/dist/components/compounds/Popover.svelte +10 -8
- package/dist/components/compounds/Popover.svelte.d.ts +3 -2
- package/dist/components/compounds/PullRefresh.svelte +11 -8
- package/dist/components/compounds/PullRefresh.svelte.d.ts +3 -1
- package/dist/components/compounds/Result.svelte +6 -4
- package/dist/components/compounds/Result.svelte.d.ts +3 -2
- package/dist/components/compounds/SafeArea.svelte +6 -3
- package/dist/components/compounds/SafeArea.svelte.d.ts +3 -1
- package/dist/components/compounds/Skeleton.svelte +6 -4
- package/dist/components/compounds/Skeleton.svelte.d.ts +3 -2
- package/dist/components/compounds/Steps.svelte +6 -4
- package/dist/components/compounds/Steps.svelte.d.ts +3 -2
- package/dist/components/compounds/SwipeCell.svelte +6 -3
- package/dist/components/compounds/SwipeCell.svelte.d.ts +3 -1
- package/dist/components/compounds/Tabs.svelte +6 -4
- package/dist/components/compounds/Tabs.svelte.d.ts +3 -2
- package/dist/components/compounds/TagInput.svelte +11 -9
- package/dist/components/compounds/TagInput.svelte.d.ts +3 -2
- package/dist/components/compounds/Timeline.svelte +6 -3
- package/dist/components/compounds/Timeline.svelte.d.ts +3 -1
- package/dist/components/compounds/ToastContainer.svelte +6 -2
- package/dist/components/compounds/ToastContainer.svelte.d.ts +2 -1
- package/dist/components/compounds/Tooltip.svelte +6 -4
- package/dist/components/compounds/Tooltip.svelte.d.ts +3 -2
- package/dist/components/primitives/Avatar.svelte +6 -4
- package/dist/components/primitives/Avatar.svelte.d.ts +3 -2
- package/dist/components/primitives/Badge.svelte +6 -4
- package/dist/components/primitives/Badge.svelte.d.ts +3 -2
- package/dist/components/primitives/BareButton.svelte +15 -12
- package/dist/components/primitives/BareButton.svelte.d.ts +3 -2
- package/dist/components/primitives/BareInput.svelte +37 -34
- package/dist/components/primitives/BareInput.svelte.d.ts +3 -2
- package/dist/components/primitives/Button.svelte +12 -10
- package/dist/components/primitives/Button.svelte.d.ts +3 -2
- package/dist/components/primitives/Checkbox.svelte +6 -4
- package/dist/components/primitives/Checkbox.svelte.d.ts +3 -2
- package/dist/components/primitives/IconButton.svelte +6 -4
- package/dist/components/primitives/IconButton.svelte.d.ts +3 -2
- package/dist/components/primitives/Input.svelte +6 -4
- package/dist/components/primitives/Input.svelte.d.ts +3 -2
- package/dist/components/primitives/Progress.svelte +6 -4
- package/dist/components/primitives/Progress.svelte.d.ts +3 -2
- package/dist/components/primitives/Radio.svelte +6 -4
- package/dist/components/primitives/Radio.svelte.d.ts +2 -2
- package/dist/components/primitives/Range.svelte +6 -3
- package/dist/components/primitives/Range.svelte.d.ts +3 -1
- package/dist/components/primitives/Rating.svelte +6 -3
- package/dist/components/primitives/Rating.svelte.d.ts +3 -1
- package/dist/components/primitives/Select.svelte +6 -4
- package/dist/components/primitives/Select.svelte.d.ts +2 -2
- package/dist/components/primitives/Spinner.svelte +6 -4
- package/dist/components/primitives/Spinner.svelte.d.ts +3 -2
- package/dist/components/primitives/Switch.svelte +6 -4
- package/dist/components/primitives/Switch.svelte.d.ts +3 -2
- package/dist/components/primitives/Tag.svelte +6 -4
- package/dist/components/primitives/Tag.svelte.d.ts +3 -2
- package/dist/components/primitives/Textarea.svelte +6 -4
- package/dist/components/primitives/Textarea.svelte.d.ts +3 -2
- package/dist/components/primitives/ToggleCheckbox.svelte +13 -10
- package/dist/components/primitives/ToggleCheckbox.svelte.d.ts +3 -2
- package/dist/components/primitives/ToggleInput.svelte +13 -10
- package/dist/components/primitives/ToggleInput.svelte.d.ts +3 -2
- package/dist/components/primitives/ToggleRadio.svelte +13 -10
- package/dist/components/primitives/ToggleRadio.svelte.d.ts +3 -2
- package/dist/components/scenes/ai/AiDocumentDownloadMenu.svelte +8 -5
- package/dist/components/scenes/ai/AiDocumentDownloadMenu.svelte.d.ts +3 -1
- package/dist/components/scenes/ai/AiDocumentEditor.svelte +6 -3
- package/dist/components/scenes/ai/AiDocumentEditor.svelte.d.ts +3 -1
- package/dist/components/scenes/ai/MarkdownRenderer.svelte +8 -7
- package/dist/components/scenes/ai/MarkdownRenderer.svelte.d.ts +3 -1
- package/dist/components/scenes/ai/document-types.d.ts +2 -1
- package/dist/components/scenes/ai/table/AiTableEditor.svelte +6 -3
- package/dist/components/scenes/ai/table/AiTableEditor.svelte.d.ts +3 -1
- package/dist/components/scenes/ai/table/table-types.d.ts +2 -1
- package/dist/components/scenes/app/FeedbackModal.svelte +5 -2
- package/dist/components/scenes/app/FeedbackModal.svelte.d.ts +3 -1
- package/dist/components/scenes/app/LanguageSwitch.svelte +6 -2
- package/dist/components/scenes/app/LanguageSwitch.svelte.d.ts +3 -1
- package/dist/components/scenes/app/SettingsLayout.svelte +6 -3
- package/dist/components/scenes/app/SettingsLayout.svelte.d.ts +2 -1
- package/dist/components/scenes/app/SettingsModal.svelte +6 -3
- package/dist/components/scenes/app/SettingsModal.svelte.d.ts +3 -1
- package/dist/components/scenes/app/ThemeColorPicker.svelte +6 -3
- package/dist/components/scenes/app/ThemeColorPicker.svelte.d.ts +3 -1
- package/dist/components/scenes/app/ThemeSelector.svelte +6 -3
- package/dist/components/scenes/app/ThemeSelector.svelte.d.ts +3 -1
- package/dist/components/scenes/app/ThemeToggle.svelte +6 -2
- package/dist/components/scenes/app/ThemeToggle.svelte.d.ts +3 -1
- package/dist/components/scenes/crud/CrudDeleteConfirm.svelte +16 -11
- package/dist/components/scenes/crud/CrudDeleteConfirm.svelte.d.ts +2 -1
- package/dist/components/scenes/crud/CrudDetailDrawer.svelte +6 -3
- package/dist/components/scenes/crud/CrudDetailDrawer.svelte.d.ts +2 -2
- package/dist/components/scenes/crud/CrudDetailPanel.svelte +6 -3
- package/dist/components/scenes/crud/CrudDetailPanel.svelte.d.ts +2 -2
- package/dist/components/scenes/crud/CrudEditPanel.svelte +6 -3
- package/dist/components/scenes/crud/CrudEditPanel.svelte.d.ts +2 -2
- package/dist/components/scenes/crud/CrudFilterBar.svelte +6 -2
- package/dist/components/scenes/crud/CrudFilterBar.svelte.d.ts +2 -1
- package/dist/components/scenes/crud/CrudPage.svelte +6 -2
- package/dist/components/scenes/crud/CrudPage.svelte.d.ts +2 -1
- package/dist/components/scenes/crud/crud-types.d.ts +2 -2
- package/dist/components/scenes/crypto/EncryptedInput.svelte +6 -3
- package/dist/components/scenes/crypto/EncryptedInput.svelte.d.ts +3 -2
- package/dist/components/scenes/crypto/HashDisplay.svelte +6 -3
- package/dist/components/scenes/crypto/HashDisplay.svelte.d.ts +3 -1
- package/dist/components/scenes/crypto/SignatureDisplay.svelte +6 -3
- package/dist/components/scenes/crypto/SignatureDisplay.svelte.d.ts +3 -1
- package/dist/components/scenes/error/ErrorPage.svelte +6 -3
- package/dist/components/scenes/error/ErrorPage.svelte.d.ts +2 -1
- package/dist/components/scenes/iam/AuthShell.svelte +6 -3
- package/dist/components/scenes/iam/AuthShell.svelte.d.ts +2 -1
- package/dist/components/scenes/iam/ChangePasswordForm.svelte +6 -3
- package/dist/components/scenes/iam/ChangePasswordForm.svelte.d.ts +3 -1
- package/dist/components/scenes/iam/ForgotPasswordForm.svelte +6 -3
- package/dist/components/scenes/iam/ForgotPasswordForm.svelte.d.ts +3 -1
- package/dist/components/scenes/iam/LoginForm.svelte +6 -3
- package/dist/components/scenes/iam/LoginForm.svelte.d.ts +3 -1
- package/dist/components/scenes/iam/PasswordInput.svelte +6 -4
- package/dist/components/scenes/iam/PasswordInput.svelte.d.ts +3 -2
- package/dist/components/scenes/iam/RegisterForm.svelte +6 -4
- package/dist/components/scenes/iam/RegisterForm.svelte.d.ts +3 -1
- package/dist/components/scenes/iam/ResetPasswordForm.svelte +6 -3
- package/dist/components/scenes/iam/ResetPasswordForm.svelte.d.ts +3 -1
- package/dist/components/scenes/iam/UserProfile.svelte +6 -3
- package/dist/components/scenes/iam/UserProfile.svelte.d.ts +3 -1
- package/dist/components/scenes/storage/AvatarUpload.svelte +11 -8
- package/dist/components/scenes/storage/AvatarUpload.svelte.d.ts +3 -1
- package/dist/components/scenes/storage/FileList.svelte +6 -3
- package/dist/components/scenes/storage/FileList.svelte.d.ts +3 -1
- package/dist/components/scenes/storage/FileUpload.svelte +6 -3
- package/dist/components/scenes/storage/FileUpload.svelte.d.ts +3 -1
- package/dist/components/scenes/storage/ImageUpload.svelte +12 -9
- package/dist/components/scenes/storage/ImageUpload.svelte.d.ts +3 -1
- package/dist/components/scenes/types.d.ts +16 -16
- package/dist/types.d.ts +43 -36
- package/dist/utils.d.ts +6 -1
- package/dist/utils.js +15 -0
- package/package.json +2 -2
package/dist/types.d.ts
CHANGED
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
* @module types
|
|
6
6
|
*/
|
|
7
7
|
import type { Snippet } from 'svelte';
|
|
8
|
+
/**
|
|
9
|
+
* 可转发到组件根节点或主交互节点的 data-* 属性。
|
|
10
|
+
*/
|
|
11
|
+
export type DataAttributeValue = string | number | boolean | null | undefined;
|
|
12
|
+
export interface DataAttributes {
|
|
13
|
+
[key: `data-${string}`]: DataAttributeValue;
|
|
14
|
+
}
|
|
8
15
|
/**
|
|
9
16
|
* 基础变体类型
|
|
10
17
|
*/
|
|
@@ -24,7 +31,7 @@ export type Alignment = 'start' | 'center' | 'end';
|
|
|
24
31
|
/**
|
|
25
32
|
* 按钮属性
|
|
26
33
|
*/
|
|
27
|
-
export interface ButtonProps {
|
|
34
|
+
export interface ButtonProps extends DataAttributes {
|
|
28
35
|
/** 变体 */
|
|
29
36
|
variant?: Variant;
|
|
30
37
|
/** 尺寸 */
|
|
@@ -53,7 +60,7 @@ export interface ButtonProps {
|
|
|
53
60
|
/**
|
|
54
61
|
* 无样式按钮属性
|
|
55
62
|
*/
|
|
56
|
-
export interface BareButtonProps {
|
|
63
|
+
export interface BareButtonProps extends DataAttributes {
|
|
57
64
|
/** 按钮类型 */
|
|
58
65
|
type?: 'button' | 'submit' | 'reset';
|
|
59
66
|
/** 是否禁用 */
|
|
@@ -78,7 +85,7 @@ export interface BareButtonProps {
|
|
|
78
85
|
/**
|
|
79
86
|
* 输入框属性
|
|
80
87
|
*/
|
|
81
|
-
export interface InputProps {
|
|
88
|
+
export interface InputProps extends DataAttributes {
|
|
82
89
|
/** 值 */
|
|
83
90
|
value?: string;
|
|
84
91
|
/** 占位符 */
|
|
@@ -151,7 +158,7 @@ export interface InputProps {
|
|
|
151
158
|
/**
|
|
152
159
|
* 无样式输入框属性
|
|
153
160
|
*/
|
|
154
|
-
export interface BareInputProps {
|
|
161
|
+
export interface BareInputProps extends DataAttributes {
|
|
155
162
|
/** 值 */
|
|
156
163
|
value?: string;
|
|
157
164
|
/** 占位符 */
|
|
@@ -230,7 +237,7 @@ export interface BareInputProps {
|
|
|
230
237
|
/**
|
|
231
238
|
* 文本域属性
|
|
232
239
|
*/
|
|
233
|
-
export interface TextareaProps {
|
|
240
|
+
export interface TextareaProps extends DataAttributes {
|
|
234
241
|
/** 值 */
|
|
235
242
|
value?: string;
|
|
236
243
|
/** 占位符 */
|
|
@@ -276,7 +283,7 @@ export interface SelectOption<T = string> {
|
|
|
276
283
|
/**
|
|
277
284
|
* 选择框属性
|
|
278
285
|
*/
|
|
279
|
-
export interface SelectProps<T = string> {
|
|
286
|
+
export interface SelectProps<T = string> extends DataAttributes {
|
|
280
287
|
/** 值 */
|
|
281
288
|
value?: T;
|
|
282
289
|
/** 选项(使用 options 或 children 二选一) */
|
|
@@ -305,7 +312,7 @@ export interface SelectProps<T = string> {
|
|
|
305
312
|
/**
|
|
306
313
|
* 复选框属性
|
|
307
314
|
*/
|
|
308
|
-
export interface CheckboxProps {
|
|
315
|
+
export interface CheckboxProps extends DataAttributes {
|
|
309
316
|
/** 是否选中 */
|
|
310
317
|
checked?: boolean;
|
|
311
318
|
/** 标签 */
|
|
@@ -326,7 +333,7 @@ export interface CheckboxProps {
|
|
|
326
333
|
/**
|
|
327
334
|
* 开关属性
|
|
328
335
|
*/
|
|
329
|
-
export interface SwitchProps {
|
|
336
|
+
export interface SwitchProps extends DataAttributes {
|
|
330
337
|
/** 是否开启 */
|
|
331
338
|
checked?: boolean;
|
|
332
339
|
/** 标签 */
|
|
@@ -343,7 +350,7 @@ export interface SwitchProps {
|
|
|
343
350
|
/**
|
|
344
351
|
* 原生开关输入(用于折叠/抽屉等结构要求 input 直系子元素的场景)
|
|
345
352
|
*/
|
|
346
|
-
export interface ToggleCheckboxProps {
|
|
353
|
+
export interface ToggleCheckboxProps extends DataAttributes {
|
|
347
354
|
/** 是否选中 */
|
|
348
355
|
checked?: boolean;
|
|
349
356
|
/** 表单字段名称 */
|
|
@@ -357,7 +364,7 @@ export interface ToggleCheckboxProps {
|
|
|
357
364
|
/** 变化事件 */
|
|
358
365
|
onchange?: (checked: boolean) => void;
|
|
359
366
|
}
|
|
360
|
-
export interface ToggleRadioProps {
|
|
367
|
+
export interface ToggleRadioProps extends DataAttributes {
|
|
361
368
|
/** 是否选中 */
|
|
362
369
|
checked?: boolean;
|
|
363
370
|
/** 表单字段名称 */
|
|
@@ -374,7 +381,7 @@ export interface ToggleRadioProps {
|
|
|
374
381
|
/**
|
|
375
382
|
* 单选框属性
|
|
376
383
|
*/
|
|
377
|
-
export interface RadioProps<T = string> {
|
|
384
|
+
export interface RadioProps<T = string> extends DataAttributes {
|
|
378
385
|
/** 值 */
|
|
379
386
|
value?: T;
|
|
380
387
|
/** 选项 */
|
|
@@ -395,7 +402,7 @@ export interface RadioProps<T = string> {
|
|
|
395
402
|
/**
|
|
396
403
|
* 徽章属性
|
|
397
404
|
*/
|
|
398
|
-
export interface BadgeProps {
|
|
405
|
+
export interface BadgeProps extends DataAttributes {
|
|
399
406
|
/** 变体 */
|
|
400
407
|
variant?: Variant;
|
|
401
408
|
/** 尺寸 */
|
|
@@ -410,7 +417,7 @@ export interface BadgeProps {
|
|
|
410
417
|
/**
|
|
411
418
|
* 卡片属性
|
|
412
419
|
*/
|
|
413
|
-
export interface CardProps {
|
|
420
|
+
export interface CardProps extends DataAttributes {
|
|
414
421
|
/** 标题 */
|
|
415
422
|
title?: string;
|
|
416
423
|
/** 是否有边框 */
|
|
@@ -431,7 +438,7 @@ export interface CardProps {
|
|
|
431
438
|
/**
|
|
432
439
|
* 模态框属性
|
|
433
440
|
*/
|
|
434
|
-
export interface ModalProps {
|
|
441
|
+
export interface ModalProps extends DataAttributes {
|
|
435
442
|
/** 是否打开 */
|
|
436
443
|
open?: boolean;
|
|
437
444
|
/** 标题 */
|
|
@@ -468,7 +475,7 @@ export interface ModalProps {
|
|
|
468
475
|
/**
|
|
469
476
|
* 抽屉属性
|
|
470
477
|
*/
|
|
471
|
-
export interface DrawerProps {
|
|
478
|
+
export interface DrawerProps extends DataAttributes {
|
|
472
479
|
/** 是否打开 */
|
|
473
480
|
open?: boolean;
|
|
474
481
|
/** 标题 */
|
|
@@ -493,7 +500,7 @@ export interface DrawerProps {
|
|
|
493
500
|
/**
|
|
494
501
|
* 提示框属性
|
|
495
502
|
*/
|
|
496
|
-
export interface TooltipProps {
|
|
503
|
+
export interface TooltipProps extends DataAttributes {
|
|
497
504
|
/** 提示内容 */
|
|
498
505
|
content: string;
|
|
499
506
|
/** 位置 */
|
|
@@ -508,7 +515,7 @@ export interface TooltipProps {
|
|
|
508
515
|
/**
|
|
509
516
|
* 加载属性
|
|
510
517
|
*/
|
|
511
|
-
export interface SpinnerProps {
|
|
518
|
+
export interface SpinnerProps extends DataAttributes {
|
|
512
519
|
/** 尺寸 */
|
|
513
520
|
size?: Size;
|
|
514
521
|
/** 变体 */
|
|
@@ -519,7 +526,7 @@ export interface SpinnerProps {
|
|
|
519
526
|
/**
|
|
520
527
|
* 进度条属性
|
|
521
528
|
*/
|
|
522
|
-
export interface ProgressProps {
|
|
529
|
+
export interface ProgressProps extends DataAttributes {
|
|
523
530
|
/** 值 (0-100) */
|
|
524
531
|
value: number;
|
|
525
532
|
/** 最大值 */
|
|
@@ -542,7 +549,7 @@ export interface ProgressProps {
|
|
|
542
549
|
/**
|
|
543
550
|
* 警告框属性
|
|
544
551
|
*/
|
|
545
|
-
export interface AlertProps {
|
|
552
|
+
export interface AlertProps extends DataAttributes {
|
|
546
553
|
/** 变体 */
|
|
547
554
|
variant?: Variant;
|
|
548
555
|
/** 标题 */
|
|
@@ -559,7 +566,7 @@ export interface AlertProps {
|
|
|
559
566
|
/**
|
|
560
567
|
* Toast 属性
|
|
561
568
|
*/
|
|
562
|
-
export interface ToastProps {
|
|
569
|
+
export interface ToastProps extends DataAttributes {
|
|
563
570
|
/** 消息 */
|
|
564
571
|
message: string;
|
|
565
572
|
/** 变体 */
|
|
@@ -576,7 +583,7 @@ export interface ToastProps {
|
|
|
576
583
|
/**
|
|
577
584
|
* 分页属性
|
|
578
585
|
*/
|
|
579
|
-
export interface PaginationProps {
|
|
586
|
+
export interface PaginationProps extends DataAttributes {
|
|
580
587
|
/** 当前页 */
|
|
581
588
|
page: number;
|
|
582
589
|
/** 总数 */
|
|
@@ -629,7 +636,7 @@ export interface BreadcrumbItem {
|
|
|
629
636
|
/**
|
|
630
637
|
* 面包屑属性
|
|
631
638
|
*/
|
|
632
|
-
export interface BreadcrumbProps {
|
|
639
|
+
export interface BreadcrumbProps extends DataAttributes {
|
|
633
640
|
/** 项目 */
|
|
634
641
|
items: BreadcrumbItem[];
|
|
635
642
|
/** 分隔符 */
|
|
@@ -653,7 +660,7 @@ export interface TabItem {
|
|
|
653
660
|
/**
|
|
654
661
|
* 标签页属性
|
|
655
662
|
*/
|
|
656
|
-
export interface TabsProps {
|
|
663
|
+
export interface TabsProps extends DataAttributes {
|
|
657
664
|
/** 标签项 */
|
|
658
665
|
items: TabItem[];
|
|
659
666
|
/** 当前激活的标签 */
|
|
@@ -672,7 +679,7 @@ export interface TabsProps {
|
|
|
672
679
|
/**
|
|
673
680
|
* 头像属性
|
|
674
681
|
*/
|
|
675
|
-
export interface AvatarProps {
|
|
682
|
+
export interface AvatarProps extends DataAttributes {
|
|
676
683
|
/** 图片地址 */
|
|
677
684
|
src?: string;
|
|
678
685
|
/** 替代文本 */
|
|
@@ -708,7 +715,7 @@ export interface DropdownItem {
|
|
|
708
715
|
/**
|
|
709
716
|
* 下拉菜单属性
|
|
710
717
|
*/
|
|
711
|
-
export interface DropdownProps {
|
|
718
|
+
export interface DropdownProps extends DataAttributes {
|
|
712
719
|
/** 菜单项 */
|
|
713
720
|
items: DropdownItem[];
|
|
714
721
|
/** 触发方式 */
|
|
@@ -727,7 +734,7 @@ export interface DropdownProps {
|
|
|
727
734
|
/**
|
|
728
735
|
* 表单属性
|
|
729
736
|
*/
|
|
730
|
-
export interface FormProps {
|
|
737
|
+
export interface FormProps extends DataAttributes {
|
|
731
738
|
/** 表单 ID */
|
|
732
739
|
id?: string;
|
|
733
740
|
/** 自定义类名 */
|
|
@@ -748,7 +755,7 @@ export interface FormProps {
|
|
|
748
755
|
/**
|
|
749
756
|
* 表单字段属性
|
|
750
757
|
*/
|
|
751
|
-
export interface FormFieldProps {
|
|
758
|
+
export interface FormFieldProps extends DataAttributes {
|
|
752
759
|
/** 标签 */
|
|
753
760
|
label?: string;
|
|
754
761
|
/** 字段名 */
|
|
@@ -767,7 +774,7 @@ export interface FormFieldProps {
|
|
|
767
774
|
/**
|
|
768
775
|
* 骨架屏属性
|
|
769
776
|
*/
|
|
770
|
-
export interface SkeletonProps {
|
|
777
|
+
export interface SkeletonProps extends DataAttributes {
|
|
771
778
|
/** 变体 */
|
|
772
779
|
variant?: 'text' | 'title' | 'avatar' | 'thumbnail' | 'button' | 'input';
|
|
773
780
|
/** 宽度 */
|
|
@@ -786,7 +793,7 @@ export interface SkeletonProps {
|
|
|
786
793
|
/**
|
|
787
794
|
* 空状态属性
|
|
788
795
|
*/
|
|
789
|
-
export interface EmptyProps {
|
|
796
|
+
export interface EmptyProps extends DataAttributes {
|
|
790
797
|
/** 标题 */
|
|
791
798
|
title?: string;
|
|
792
799
|
/** 描述 */
|
|
@@ -805,7 +812,7 @@ export interface EmptyProps {
|
|
|
805
812
|
/**
|
|
806
813
|
* 结果页属性
|
|
807
814
|
*/
|
|
808
|
-
export interface ResultProps {
|
|
815
|
+
export interface ResultProps extends DataAttributes {
|
|
809
816
|
/** 状态 */
|
|
810
817
|
status?: 'success' | 'error' | 'warning' | 'info';
|
|
811
818
|
/** 标题 */
|
|
@@ -824,7 +831,7 @@ export interface ResultProps {
|
|
|
824
831
|
/**
|
|
825
832
|
* 确认对话框属性
|
|
826
833
|
*/
|
|
827
|
-
export interface ConfirmProps {
|
|
834
|
+
export interface ConfirmProps extends DataAttributes {
|
|
828
835
|
/** 是否打开 */
|
|
829
836
|
open?: boolean;
|
|
830
837
|
/** 标题 */
|
|
@@ -849,7 +856,7 @@ export interface ConfirmProps {
|
|
|
849
856
|
/**
|
|
850
857
|
* 标签属性
|
|
851
858
|
*/
|
|
852
|
-
export interface TagProps {
|
|
859
|
+
export interface TagProps extends DataAttributes {
|
|
853
860
|
/** 文本 */
|
|
854
861
|
text?: string;
|
|
855
862
|
/** 变体 */
|
|
@@ -872,7 +879,7 @@ export interface TagProps {
|
|
|
872
879
|
/**
|
|
873
880
|
* 标签输入框属性
|
|
874
881
|
*/
|
|
875
|
-
export interface TagInputProps {
|
|
882
|
+
export interface TagInputProps extends DataAttributes {
|
|
876
883
|
/** 标签列表 */
|
|
877
884
|
tags?: string[];
|
|
878
885
|
/** 占位符 */
|
|
@@ -904,7 +911,7 @@ export interface StepItem {
|
|
|
904
911
|
/**
|
|
905
912
|
* 步骤条属性
|
|
906
913
|
*/
|
|
907
|
-
export interface StepsProps {
|
|
914
|
+
export interface StepsProps extends DataAttributes {
|
|
908
915
|
/** 步骤列表 */
|
|
909
916
|
items?: StepItem[];
|
|
910
917
|
/** 当前步骤 */
|
|
@@ -923,7 +930,7 @@ export interface StepsProps {
|
|
|
923
930
|
/**
|
|
924
931
|
* 图标按钮属性
|
|
925
932
|
*/
|
|
926
|
-
export interface IconButtonProps {
|
|
933
|
+
export interface IconButtonProps extends DataAttributes {
|
|
927
934
|
/** 图标(受信任的内联 SVG 字符串或 Snippet) */
|
|
928
935
|
icon?: string | Snippet;
|
|
929
936
|
/** 标签(无障碍) */
|
|
@@ -950,7 +957,7 @@ export interface IconButtonProps {
|
|
|
950
957
|
/**
|
|
951
958
|
* 弹出层属性
|
|
952
959
|
*/
|
|
953
|
-
export interface PopoverProps {
|
|
960
|
+
export interface PopoverProps extends DataAttributes {
|
|
954
961
|
/** 是否打开 */
|
|
955
962
|
open?: boolean;
|
|
956
963
|
/** 位置 */
|
package/dist/utils.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* CSS 类名处理工具
|
|
5
5
|
* @module utils
|
|
6
6
|
*/
|
|
7
|
-
import type { Size, Variant } from './types.js';
|
|
7
|
+
import type { DataAttributes, Size, Variant } from './types.js';
|
|
8
8
|
/**
|
|
9
9
|
* 合并类名(支持 Tailwind 类冲突消解)
|
|
10
10
|
*
|
|
@@ -12,6 +12,11 @@ import type { Size, Variant } from './types.js';
|
|
|
12
12
|
* @returns 合并后的类名字符串
|
|
13
13
|
*/
|
|
14
14
|
export declare function cn(...classes: (string | boolean | undefined | null)[]): string;
|
|
15
|
+
export type ForwardedDataAttributes = Record<`data-${string}`, string | number | boolean>;
|
|
16
|
+
/**
|
|
17
|
+
* 从组件未声明 props 中提取 data-* 属性,避免把普通未知属性透传到 DOM。
|
|
18
|
+
*/
|
|
19
|
+
export declare function getDataAttributes(props: DataAttributes | Record<string, unknown>): ForwardedDataAttributes;
|
|
15
20
|
/**
|
|
16
21
|
* 获取变体类名
|
|
17
22
|
*/
|
package/dist/utils.js
CHANGED
|
@@ -14,6 +14,21 @@ import { twMerge } from 'tailwind-merge';
|
|
|
14
14
|
export function cn(...classes) {
|
|
15
15
|
return twMerge(classes.filter(Boolean).join(' '));
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* 从组件未声明 props 中提取 data-* 属性,避免把普通未知属性透传到 DOM。
|
|
19
|
+
*/
|
|
20
|
+
export function getDataAttributes(props) {
|
|
21
|
+
const dataAttributes = {};
|
|
22
|
+
for (const [key, value] of Object.entries(props)) {
|
|
23
|
+
if (!key.startsWith('data-') || value === null || value === undefined) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
27
|
+
dataAttributes[key] = value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return dataAttributes;
|
|
31
|
+
}
|
|
17
32
|
/**
|
|
18
33
|
* 已知前缀的变体类名静态映射
|
|
19
34
|
*
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@h-ai/ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.0-alpha.
|
|
4
|
+
"version": "0.1.0-alpha.30",
|
|
5
5
|
"description": "Hai Framework UI component library for Svelte 5 Runes.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"svelte": "./dist/index.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"mermaid": "^11.12.0",
|
|
52
52
|
"shiki": "^4.0.2",
|
|
53
53
|
"tailwind-merge": "^3.5.0",
|
|
54
|
-
"@h-ai/core": "0.1.0-alpha.
|
|
54
|
+
"@h-ai/core": "0.1.0-alpha.30"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@sveltejs/package": "^2.5.7",
|