@h-ai/ui 0.1.0-alpha.28 → 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
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
-->
|
|
9
9
|
<script lang='ts'>
|
|
10
10
|
import type { Snippet } from 'svelte'
|
|
11
|
-
import {
|
|
11
|
+
import type { DataAttributes } from '../../types.js'
|
|
12
|
+
import { cn, getDataAttributes } from '../../utils.js'
|
|
12
13
|
|
|
13
14
|
interface Props {
|
|
14
15
|
/** 安全区域位置 */
|
|
@@ -23,8 +24,10 @@
|
|
|
23
24
|
position = 'all',
|
|
24
25
|
class: className,
|
|
25
26
|
children,
|
|
26
|
-
|
|
27
|
+
...restProps
|
|
28
|
+
}: Props & DataAttributes = $props()
|
|
27
29
|
|
|
30
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
28
31
|
const positionClasses = $derived({
|
|
29
32
|
top: 'hai-safe-top',
|
|
30
33
|
bottom: 'hai-safe-bottom',
|
|
@@ -32,6 +35,6 @@
|
|
|
32
35
|
}[position])
|
|
33
36
|
</script>
|
|
34
37
|
|
|
35
|
-
<div class={cn(positionClasses, className)}>
|
|
38
|
+
<div {...dataAttributes} class={cn(positionClasses, className)}>
|
|
36
39
|
{@render children()}
|
|
37
40
|
</div>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { DataAttributes } from '../../types.js';
|
|
2
3
|
interface Props {
|
|
3
4
|
/** 安全区域位置 */
|
|
4
5
|
position?: 'top' | 'bottom' | 'all';
|
|
@@ -7,6 +8,7 @@ interface Props {
|
|
|
7
8
|
/** 内容 */
|
|
8
9
|
children: Snippet;
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
+
type $$ComponentProps = Props & DataAttributes;
|
|
12
|
+
declare const SafeArea: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
11
13
|
type SafeArea = ReturnType<typeof SafeArea>;
|
|
12
14
|
export default SafeArea;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
骨架屏占位组件,用于加载状态展示。
|
|
4
4
|
-->
|
|
5
5
|
<script lang='ts'>
|
|
6
|
-
import type { SkeletonProps } from '../../types.js'
|
|
7
|
-
import { cn } from '../../utils.js'
|
|
6
|
+
import type { DataAttributes, SkeletonProps } from '../../types.js'
|
|
7
|
+
import { cn, getDataAttributes } from '../../utils.js'
|
|
8
8
|
|
|
9
9
|
const {
|
|
10
10
|
variant = 'text',
|
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
animation = true,
|
|
15
15
|
count = 1,
|
|
16
16
|
class: className = '',
|
|
17
|
-
|
|
17
|
+
...restProps
|
|
18
|
+
}: SkeletonProps & DataAttributes = $props()
|
|
18
19
|
|
|
20
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
19
21
|
const baseClass = $derived(
|
|
20
22
|
cn(
|
|
21
23
|
'skeleton',
|
|
@@ -40,7 +42,7 @@
|
|
|
40
42
|
</script>
|
|
41
43
|
|
|
42
44
|
{#if count > 1}
|
|
43
|
-
<div class='space-y-2'>
|
|
45
|
+
<div {...dataAttributes} class='space-y-2'>
|
|
44
46
|
{#each Array.from({ length: count }) as _, i (i)}
|
|
45
47
|
<div class={baseClass} {style}></div>
|
|
46
48
|
{/each}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { SkeletonProps } from '../../types.js';
|
|
1
|
+
import type { DataAttributes, SkeletonProps } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = SkeletonProps & DataAttributes;
|
|
2
3
|
/**
|
|
3
4
|
* Skeleton
|
|
4
5
|
* 骨架屏占位组件,用于加载状态展示。
|
|
5
6
|
*/
|
|
6
|
-
declare const Skeleton: import("svelte").Component
|
|
7
|
+
declare const Skeleton: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
8
|
type Skeleton = ReturnType<typeof Skeleton>;
|
|
8
9
|
export default Skeleton;
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
=============================================================================
|
|
9
9
|
-->
|
|
10
10
|
<script lang='ts'>
|
|
11
|
-
import type { StepsProps } from '../../types.js'
|
|
12
|
-
import { cn } from '../../utils.js'
|
|
11
|
+
import type { DataAttributes, StepsProps } from '../../types.js'
|
|
12
|
+
import { cn, getDataAttributes } from '../../utils.js'
|
|
13
13
|
|
|
14
14
|
const {
|
|
15
15
|
items = [],
|
|
@@ -19,8 +19,10 @@
|
|
|
19
19
|
clickable = false,
|
|
20
20
|
class: className = '',
|
|
21
21
|
onchange,
|
|
22
|
-
|
|
22
|
+
...restProps
|
|
23
|
+
}: StepsProps & DataAttributes = $props()
|
|
23
24
|
|
|
25
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
24
26
|
const containerClass = $derived(
|
|
25
27
|
cn(
|
|
26
28
|
'steps',
|
|
@@ -62,7 +64,7 @@
|
|
|
62
64
|
}
|
|
63
65
|
</script>
|
|
64
66
|
|
|
65
|
-
<ul class={containerClass}>
|
|
67
|
+
<ul {...dataAttributes} class={containerClass}>
|
|
66
68
|
{#each items as item, index (index)}
|
|
67
69
|
{#if clickable}
|
|
68
70
|
<!-- svelte-ignore a11y_no_noninteractive_element_to_interactive_role -->
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { StepsProps } from '../../types.js';
|
|
2
|
-
|
|
1
|
+
import type { DataAttributes, StepsProps } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = StepsProps & DataAttributes;
|
|
3
|
+
declare const Steps: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
3
4
|
type Steps = ReturnType<typeof Steps>;
|
|
4
5
|
export default Steps;
|
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
-->
|
|
14
14
|
<script lang='ts'>
|
|
15
15
|
import type { Snippet } from 'svelte'
|
|
16
|
+
import type { DataAttributes } from '../../types.js'
|
|
16
17
|
import type { SwipeCellAction } from './swipe-cell-types.js'
|
|
17
|
-
import { cn } from '../../utils.js'
|
|
18
|
+
import { cn, getDataAttributes } from '../../utils.js'
|
|
18
19
|
|
|
19
20
|
// eslint-disable-next-line no-import-assign -- type re-export
|
|
20
21
|
export type { SwipeCellAction }
|
|
@@ -38,8 +39,10 @@
|
|
|
38
39
|
disabled = false,
|
|
39
40
|
class: className,
|
|
40
41
|
children,
|
|
41
|
-
|
|
42
|
+
...restProps
|
|
43
|
+
}: Props & DataAttributes = $props()
|
|
42
44
|
|
|
45
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
43
46
|
let offsetX = $state(0)
|
|
44
47
|
let startX = 0
|
|
45
48
|
let swiping = false
|
|
@@ -82,7 +85,7 @@
|
|
|
82
85
|
}
|
|
83
86
|
</script>
|
|
84
87
|
|
|
85
|
-
<div class={cn('relative overflow-hidden', className)}>
|
|
88
|
+
<div {...dataAttributes} class={cn('relative overflow-hidden', className)}>
|
|
86
89
|
<!-- 内容层 -->
|
|
87
90
|
<div
|
|
88
91
|
class='relative transition-transform'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { DataAttributes } from '../../types.js';
|
|
2
3
|
import type { SwipeCellAction } from './swipe-cell-types.js';
|
|
3
4
|
interface Props {
|
|
4
5
|
/** 右侧操作列表 */
|
|
@@ -12,7 +13,8 @@ interface Props {
|
|
|
12
13
|
/** 内容 */
|
|
13
14
|
children: Snippet;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
type $$ComponentProps = Props & DataAttributes;
|
|
17
|
+
declare const SwipeCell: import("svelte").Component<$$ComponentProps, {
|
|
16
18
|
SwipeCellAction: typeof SwipeCellAction;
|
|
17
19
|
}, "">;
|
|
18
20
|
type SwipeCell = ReturnType<typeof SwipeCell>;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
标签页组件,支持 line/card/pills 三种样式。
|
|
4
4
|
-->
|
|
5
5
|
<script lang='ts'>
|
|
6
|
-
import type { TabsProps } from '../../types.js'
|
|
7
|
-
import { cn } from '../../utils.js'
|
|
6
|
+
import type { DataAttributes, TabsProps } from '../../types.js'
|
|
7
|
+
import { cn, getDataAttributes } from '../../utils.js'
|
|
8
8
|
import BareButton from '../primitives/BareButton.svelte'
|
|
9
9
|
|
|
10
10
|
let {
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
class: className = '',
|
|
16
16
|
onchange,
|
|
17
17
|
children,
|
|
18
|
-
|
|
18
|
+
...restProps
|
|
19
|
+
}: TabsProps & DataAttributes = $props()
|
|
19
20
|
|
|
21
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
20
22
|
// 默认选中第一个
|
|
21
23
|
$effect(() => {
|
|
22
24
|
if (!active && items.length > 0) {
|
|
@@ -56,7 +58,7 @@
|
|
|
56
58
|
}
|
|
57
59
|
</script>
|
|
58
60
|
|
|
59
|
-
<div role='tablist' class={tabsClass}>
|
|
61
|
+
<div {...dataAttributes} role='tablist' class={tabsClass}>
|
|
60
62
|
{#each items as item (item.key)}
|
|
61
63
|
<BareButton
|
|
62
64
|
role='tab'
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { TabsProps } from '../../types.js';
|
|
1
|
+
import type { DataAttributes, TabsProps } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = TabsProps & DataAttributes;
|
|
2
3
|
/**
|
|
3
4
|
* Tabs
|
|
4
5
|
* 标签页组件,支持 line/card/pills 三种样式。
|
|
5
6
|
*/
|
|
6
|
-
declare const Tabs: import("svelte").Component
|
|
7
|
+
declare const Tabs: import("svelte").Component<$$ComponentProps, {}, "active">;
|
|
7
8
|
type Tabs = ReturnType<typeof Tabs>;
|
|
8
9
|
export default Tabs;
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
=============================================================================
|
|
9
9
|
-->
|
|
10
10
|
<script lang='ts'>
|
|
11
|
-
import type { TagInputProps } from '../../types.js'
|
|
11
|
+
import type { DataAttributes, TagInputProps } from '../../types.js'
|
|
12
12
|
import { uiM } from '../../messages.js'
|
|
13
|
-
import { cn, getInputSizeClass } from '../../utils.js'
|
|
13
|
+
import { cn, getDataAttributes, getInputSizeClass } from '../../utils.js'
|
|
14
14
|
import BareInput from '../primitives/BareInput.svelte'
|
|
15
15
|
import Tag from '../primitives/Tag.svelte'
|
|
16
16
|
|
|
@@ -23,8 +23,10 @@
|
|
|
23
23
|
size = 'md',
|
|
24
24
|
class: className = '',
|
|
25
25
|
onchange,
|
|
26
|
-
|
|
26
|
+
...restProps
|
|
27
|
+
}: TagInputProps & DataAttributes = $props()
|
|
27
28
|
|
|
29
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
28
30
|
let inputValue = $state('')
|
|
29
31
|
let inputElement = $state<HTMLInputElement | undefined>(undefined)
|
|
30
32
|
|
|
@@ -77,12 +79,12 @@
|
|
|
77
79
|
}
|
|
78
80
|
</script>
|
|
79
81
|
|
|
80
|
-
<div
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
<div {...dataAttributes}
|
|
83
|
+
class={containerClass}
|
|
84
|
+
onclick={() => inputElement?.focus()}
|
|
85
|
+
onkeydown={e => e.key === 'Enter' && inputElement?.focus()}
|
|
86
|
+
role='textbox'
|
|
87
|
+
tabindex='-1'
|
|
86
88
|
>
|
|
87
89
|
{#each tags as tag, index (index)}
|
|
88
90
|
<Tag
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { TagInputProps } from '../../types.js';
|
|
2
|
-
|
|
1
|
+
import type { DataAttributes, TagInputProps } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = TagInputProps & DataAttributes;
|
|
3
|
+
declare const TagInput: import("svelte").Component<$$ComponentProps, {}, "tags">;
|
|
3
4
|
type TagInput = ReturnType<typeof TagInput>;
|
|
4
5
|
export default TagInput;
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
|
|
12
12
|
<script lang='ts'>
|
|
13
13
|
import type { Snippet } from 'svelte'
|
|
14
|
+
import type { DataAttributes } from '../../types.js'
|
|
14
15
|
import type { TimelineItem } from './timeline-types.js'
|
|
15
|
-
import { cn } from '../../utils.js'
|
|
16
|
+
import { cn, getDataAttributes } from '../../utils.js'
|
|
16
17
|
|
|
17
18
|
interface Props {
|
|
18
19
|
/** 时间线项数据 */
|
|
@@ -45,8 +46,10 @@
|
|
|
45
46
|
snapIcon = false,
|
|
46
47
|
class: className = '',
|
|
47
48
|
children,
|
|
48
|
-
|
|
49
|
+
...restProps
|
|
50
|
+
}: Props & DataAttributes = $props()
|
|
49
51
|
|
|
52
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
50
53
|
const timelineClass = $derived(
|
|
51
54
|
cn(
|
|
52
55
|
'timeline',
|
|
@@ -95,7 +98,7 @@
|
|
|
95
98
|
}
|
|
96
99
|
</script>
|
|
97
100
|
|
|
98
|
-
<ul class={timelineClass}>
|
|
101
|
+
<ul {...dataAttributes} class={timelineClass}>
|
|
99
102
|
{#each items as item, index (item.id)}
|
|
100
103
|
<li>
|
|
101
104
|
<!-- 前置连线 -->
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { DataAttributes } from '../../types.js';
|
|
2
3
|
import type { TimelineItem } from './timeline-types.js';
|
|
3
4
|
interface Props {
|
|
4
5
|
/** 时间线项数据 */
|
|
@@ -20,6 +21,7 @@ interface Props {
|
|
|
20
21
|
/** 自定义项渲染 */
|
|
21
22
|
children?: Snippet<[TimelineItem, number]>;
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
+
type $$ComponentProps = Props & DataAttributes;
|
|
25
|
+
declare const Timeline: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
24
26
|
type Timeline = ReturnType<typeof Timeline>;
|
|
25
27
|
export default Timeline;
|
|
@@ -14,12 +14,16 @@
|
|
|
14
14
|
=============================================================================
|
|
15
15
|
-->
|
|
16
16
|
<script lang='ts'>
|
|
17
|
+
import type { DataAttributes } from '../../types.js'
|
|
17
18
|
import { onMount } from 'svelte'
|
|
18
19
|
import { uiM } from '../../messages.js'
|
|
19
20
|
import { toast } from '../../toast.svelte.js'
|
|
20
|
-
import { cn, getAlertVariantClass } from '../../utils.js'
|
|
21
|
+
import { cn, getAlertVariantClass, getDataAttributes } from '../../utils.js'
|
|
21
22
|
import IconButton from '../primitives/IconButton.svelte'
|
|
22
23
|
|
|
24
|
+
const { ...restProps }: DataAttributes = $props()
|
|
25
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
26
|
+
|
|
23
27
|
const positionMap = {
|
|
24
28
|
'top-right': 'toast-top toast-end',
|
|
25
29
|
'top-left': 'toast-top toast-start',
|
|
@@ -150,7 +154,7 @@
|
|
|
150
154
|
})
|
|
151
155
|
</script>
|
|
152
156
|
|
|
153
|
-
<div bind:this={layerElement} popover='manual' class='hai-toast-layer'>
|
|
157
|
+
<div {...dataAttributes} bind:this={layerElement} popover='manual' class='hai-toast-layer'>
|
|
154
158
|
{#each Object.entries(groupedItems()) as [position, items] (position)}
|
|
155
159
|
<div class={cn('toast', positionMap[position as keyof typeof positionMap])}>
|
|
156
160
|
{#each items as item (item.id)}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { DataAttributes } from '../../types.js';
|
|
2
|
+
declare const ToastContainer: import("svelte").Component<DataAttributes, {}, "">;
|
|
2
3
|
type ToastContainer = ReturnType<typeof ToastContainer>;
|
|
3
4
|
export default ToastContainer;
|
|
@@ -8,16 +8,18 @@
|
|
|
8
8
|
=============================================================================
|
|
9
9
|
-->
|
|
10
10
|
<script lang='ts'>
|
|
11
|
-
import type { TooltipProps } from '../../types.js'
|
|
12
|
-
import { cn } from '../../utils.js'
|
|
11
|
+
import type { DataAttributes, TooltipProps } from '../../types.js'
|
|
12
|
+
import { cn, getDataAttributes } from '../../utils.js'
|
|
13
13
|
|
|
14
14
|
const {
|
|
15
15
|
content,
|
|
16
16
|
position = 'top',
|
|
17
17
|
class: className = '',
|
|
18
18
|
children,
|
|
19
|
-
|
|
19
|
+
...restProps
|
|
20
|
+
}: TooltipProps & DataAttributes = $props()
|
|
20
21
|
|
|
22
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
21
23
|
const positionMap = {
|
|
22
24
|
top: 'tooltip-top',
|
|
23
25
|
right: 'tooltip-right',
|
|
@@ -34,7 +36,7 @@
|
|
|
34
36
|
)
|
|
35
37
|
</script>
|
|
36
38
|
|
|
37
|
-
<div class={tooltipClass} data-tip={content}>
|
|
39
|
+
<div {...dataAttributes} class={tooltipClass} data-tip={content}>
|
|
38
40
|
{#if children}
|
|
39
41
|
{@render children()}
|
|
40
42
|
{/if}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { TooltipProps } from '../../types.js';
|
|
2
|
-
|
|
1
|
+
import type { DataAttributes, TooltipProps } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = TooltipProps & DataAttributes;
|
|
3
|
+
declare const Tooltip: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
3
4
|
type Tooltip = ReturnType<typeof Tooltip>;
|
|
4
5
|
export default Tooltip;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
头像组件,支持图片、名字首字母 fallback
|
|
4
4
|
-->
|
|
5
5
|
<script lang='ts'>
|
|
6
|
-
import type { AvatarProps } from '../../types.js'
|
|
7
|
-
import { cn } from '../../utils.js'
|
|
6
|
+
import type { AvatarProps, DataAttributes } from '../../types.js'
|
|
7
|
+
import { cn, getDataAttributes } from '../../utils.js'
|
|
8
8
|
|
|
9
9
|
const NAME_PART_SPLIT_REGEX = /\s+/
|
|
10
10
|
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
size = 'md',
|
|
16
16
|
shape = 'circle',
|
|
17
17
|
class: className = '',
|
|
18
|
-
|
|
18
|
+
...restProps
|
|
19
|
+
}: AvatarProps & DataAttributes = $props()
|
|
19
20
|
|
|
21
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
20
22
|
const sizeMap = {
|
|
21
23
|
'xs': 'w-6 h-6',
|
|
22
24
|
'sm': 'w-8 h-8',
|
|
@@ -87,7 +89,7 @@
|
|
|
87
89
|
)
|
|
88
90
|
</script>
|
|
89
91
|
|
|
90
|
-
<div class={containerClass}>
|
|
92
|
+
<div {...dataAttributes} class={containerClass}>
|
|
91
93
|
<div
|
|
92
94
|
class={innerClass}
|
|
93
95
|
style:width={sizeValue}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { AvatarProps } from '../../types.js';
|
|
1
|
+
import type { AvatarProps, DataAttributes } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = AvatarProps & DataAttributes;
|
|
2
3
|
/**
|
|
3
4
|
* Avatar
|
|
4
5
|
* 头像组件,支持图片、名字首字母 fallback
|
|
5
6
|
*/
|
|
6
|
-
declare const Avatar: import("svelte").Component
|
|
7
|
+
declare const Avatar: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
8
|
type Avatar = ReturnType<typeof Avatar>;
|
|
8
9
|
export default Avatar;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
徽章组件,支持多种变体与尺寸
|
|
4
4
|
-->
|
|
5
5
|
<script lang='ts'>
|
|
6
|
-
import type { BadgeProps } from '../../types.js'
|
|
7
|
-
import { cn, getBadgeSizeClass, getBadgeVariantClass } from '../../utils.js'
|
|
6
|
+
import type { BadgeProps, DataAttributes } from '../../types.js'
|
|
7
|
+
import { cn, getBadgeSizeClass, getBadgeVariantClass, getDataAttributes } from '../../utils.js'
|
|
8
8
|
|
|
9
9
|
const {
|
|
10
10
|
variant = 'default',
|
|
@@ -12,8 +12,10 @@
|
|
|
12
12
|
outline = false,
|
|
13
13
|
class: className = '',
|
|
14
14
|
children,
|
|
15
|
-
|
|
15
|
+
...restProps
|
|
16
|
+
}: BadgeProps & DataAttributes = $props()
|
|
16
17
|
|
|
18
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
17
19
|
const badgeClass = $derived(
|
|
18
20
|
cn(
|
|
19
21
|
'badge',
|
|
@@ -26,7 +28,7 @@
|
|
|
26
28
|
)
|
|
27
29
|
</script>
|
|
28
30
|
|
|
29
|
-
<span class={badgeClass}>
|
|
31
|
+
<span {...dataAttributes} class={badgeClass}>
|
|
30
32
|
{#if children}
|
|
31
33
|
{@render children()}
|
|
32
34
|
{/if}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { BadgeProps } from '../../types.js';
|
|
1
|
+
import type { BadgeProps, DataAttributes } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = BadgeProps & DataAttributes;
|
|
2
3
|
/**
|
|
3
4
|
* Badge
|
|
4
5
|
* 徽章组件,支持多种变体与尺寸
|
|
5
6
|
*/
|
|
6
|
-
declare const Badge: import("svelte").Component
|
|
7
|
+
declare const Badge: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
8
|
type Badge = ReturnType<typeof Badge>;
|
|
8
9
|
export default Badge;
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
=============================================================================
|
|
9
9
|
-->
|
|
10
10
|
<script lang='ts'>
|
|
11
|
-
import type { BareButtonProps } from '../../types.js'
|
|
11
|
+
import type { BareButtonProps, DataAttributes } from '../../types.js'
|
|
12
|
+
import { getDataAttributes } from '../../utils.js'
|
|
12
13
|
|
|
13
14
|
const {
|
|
14
15
|
type = 'button',
|
|
@@ -21,23 +22,25 @@
|
|
|
21
22
|
onclick,
|
|
22
23
|
onkeydown,
|
|
23
24
|
children,
|
|
24
|
-
|
|
25
|
+
...restProps
|
|
26
|
+
}: BareButtonProps & DataAttributes = $props()
|
|
25
27
|
|
|
28
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
26
29
|
function handleClick(e: MouseEvent) {
|
|
27
30
|
onclick?.(e)
|
|
28
31
|
}
|
|
29
32
|
</script>
|
|
30
33
|
|
|
31
|
-
<button
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
<button {...dataAttributes}
|
|
35
|
+
{type}
|
|
36
|
+
class={className}
|
|
37
|
+
disabled={disabled}
|
|
38
|
+
aria-label={ariaLabel || undefined}
|
|
39
|
+
role={role}
|
|
40
|
+
aria-selected={ariaSelected}
|
|
41
|
+
tabindex={tabindex}
|
|
42
|
+
onclick={handleClick}
|
|
43
|
+
onkeydown={onkeydown}
|
|
41
44
|
>
|
|
42
45
|
{#if children}
|
|
43
46
|
{@render children()}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { BareButtonProps } from '../../types.js';
|
|
2
|
-
|
|
1
|
+
import type { BareButtonProps, DataAttributes } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = BareButtonProps & DataAttributes;
|
|
3
|
+
declare const BareButton: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
3
4
|
type BareButton = ReturnType<typeof BareButton>;
|
|
4
5
|
export default BareButton;
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
=============================================================================
|
|
9
9
|
-->
|
|
10
10
|
<script lang='ts'>
|
|
11
|
-
import type { BareInputProps } from '../../types.js'
|
|
11
|
+
import type { BareInputProps, DataAttributes } from '../../types.js'
|
|
12
|
+
import { getDataAttributes } from '../../utils.js'
|
|
12
13
|
|
|
13
14
|
let {
|
|
14
15
|
value = $bindable(''),
|
|
@@ -42,8 +43,10 @@
|
|
|
42
43
|
onblur,
|
|
43
44
|
onfocus,
|
|
44
45
|
oninvalid,
|
|
45
|
-
|
|
46
|
+
...restProps
|
|
47
|
+
}: BareInputProps & DataAttributes = $props()
|
|
46
48
|
|
|
49
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
47
50
|
function handleInput(e: Event & { currentTarget: HTMLInputElement }) {
|
|
48
51
|
value = e.currentTarget.value
|
|
49
52
|
oninput?.(e)
|
|
@@ -66,36 +69,36 @@
|
|
|
66
69
|
}
|
|
67
70
|
</script>
|
|
68
71
|
|
|
69
|
-
<input
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
72
|
+
<input {...dataAttributes}
|
|
73
|
+
bind:this={inputRef}
|
|
74
|
+
{id}
|
|
75
|
+
{name}
|
|
76
|
+
{type}
|
|
77
|
+
{placeholder}
|
|
78
|
+
{disabled}
|
|
79
|
+
{readonly}
|
|
80
|
+
{required}
|
|
81
|
+
{pattern}
|
|
82
|
+
{list}
|
|
83
|
+
{accept}
|
|
84
|
+
{multiple}
|
|
85
|
+
{minlength}
|
|
86
|
+
{min}
|
|
87
|
+
{max}
|
|
88
|
+
{maxlength}
|
|
89
|
+
{step}
|
|
90
|
+
inputmode={inputmode}
|
|
91
|
+
autocomplete={autocomplete as HTMLInputElement['autocomplete']}
|
|
92
|
+
role={role}
|
|
93
|
+
aria-expanded={ariaExpanded}
|
|
94
|
+
aria-controls={ariaControls}
|
|
95
|
+
aria-autocomplete={ariaAutocomplete}
|
|
96
|
+
class={className}
|
|
97
|
+
bind:value
|
|
98
|
+
oninput={handleInput}
|
|
99
|
+
onchange={handleChange}
|
|
100
|
+
onkeydown={handleKeydown}
|
|
101
|
+
onblur={handleBlur}
|
|
102
|
+
onfocus={handleFocus}
|
|
103
|
+
oninvalid={oninvalid}
|
|
101
104
|
/>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { BareInputProps } from '../../types.js';
|
|
2
|
-
|
|
1
|
+
import type { BareInputProps, DataAttributes } from '../../types.js';
|
|
2
|
+
type $$ComponentProps = BareInputProps & DataAttributes;
|
|
3
|
+
declare const BareInput: import("svelte").Component<$$ComponentProps, {}, "value" | "inputRef">;
|
|
3
4
|
type BareInput = ReturnType<typeof BareInput>;
|
|
4
5
|
export default BareInput;
|