@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
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
=============================================================================
|
|
10
10
|
-->
|
|
11
11
|
<script lang='ts'>
|
|
12
|
+
import type { DataAttributes } from '../../../types.js'
|
|
12
13
|
import type { ForgotPasswordFormData, ForgotPasswordFormProps } from '../types.js'
|
|
13
14
|
import { uiM } from '../../../messages.js'
|
|
14
|
-
import { cn } from '../../../utils.js'
|
|
15
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
15
16
|
import Alert from '../../compounds/Alert.svelte'
|
|
16
17
|
import Button from '../../primitives/Button.svelte'
|
|
17
18
|
import Input from '../../primitives/Input.svelte'
|
|
@@ -30,8 +31,10 @@
|
|
|
30
31
|
onsubmit,
|
|
31
32
|
header,
|
|
32
33
|
footer,
|
|
33
|
-
|
|
34
|
+
...restProps
|
|
35
|
+
}: ForgotPasswordFormProps & DataAttributes = $props()
|
|
34
36
|
|
|
37
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
35
38
|
let email = $state('')
|
|
36
39
|
let phone = $state('')
|
|
37
40
|
|
|
@@ -65,7 +68,7 @@
|
|
|
65
68
|
}
|
|
66
69
|
</script>
|
|
67
70
|
|
|
68
|
-
<form class={formClass} onsubmit={handleSubmit}>
|
|
71
|
+
<form {...dataAttributes} class={formClass} onsubmit={handleSubmit}>
|
|
69
72
|
<!-- 标题 -->
|
|
70
73
|
{#if showTitle}
|
|
71
74
|
<h2 class='text-2xl font-semibold text-center mb-4'>{uiM('forgot_password_title')}</h2>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { ForgotPasswordFormProps } from '../types.js';
|
|
2
|
-
|
|
3
|
+
type $$ComponentProps = ForgotPasswordFormProps & DataAttributes;
|
|
4
|
+
declare const ForgotPasswordForm: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
3
5
|
type ForgotPasswordForm = ReturnType<typeof ForgotPasswordForm>;
|
|
4
6
|
export default ForgotPasswordForm;
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
用户登录表单组件,搭配 primitives/compounds 使用。
|
|
4
4
|
-->
|
|
5
5
|
<script lang='ts'>
|
|
6
|
+
import type { DataAttributes } from '../../../types.js'
|
|
6
7
|
import type { LoginFormData, LoginFormProps } from '../types.js'
|
|
7
8
|
import { uiM } from '../../../messages.js'
|
|
8
|
-
import { cn } from '../../../utils.js'
|
|
9
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
9
10
|
import Alert from '../../compounds/Alert.svelte'
|
|
10
11
|
import BareButton from '../../primitives/BareButton.svelte'
|
|
11
12
|
import Button from '../../primitives/Button.svelte'
|
|
@@ -30,8 +31,10 @@
|
|
|
30
31
|
onforgotpassword,
|
|
31
32
|
header,
|
|
32
33
|
footer,
|
|
33
|
-
|
|
34
|
+
...restProps
|
|
35
|
+
}: LoginFormProps & DataAttributes = $props()
|
|
34
36
|
|
|
37
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
35
38
|
const hasAgreements = $derived(
|
|
36
39
|
!!(agreements?.userAgreementUrl || agreements?.privacyPolicyUrl),
|
|
37
40
|
)
|
|
@@ -66,7 +69,7 @@
|
|
|
66
69
|
}
|
|
67
70
|
</script>
|
|
68
71
|
|
|
69
|
-
<form class={formClass} onsubmit={handleSubmit}>
|
|
72
|
+
<form {...dataAttributes} class={formClass} onsubmit={handleSubmit}>
|
|
70
73
|
<!-- 标题 -->
|
|
71
74
|
{#if showTitle}
|
|
72
75
|
<h2 class='text-xl font-semibold text-center mb-5'>{uiM('login_title')}</h2>
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { LoginFormProps } from '../types.js';
|
|
3
|
+
type $$ComponentProps = LoginFormProps & DataAttributes;
|
|
2
4
|
/**
|
|
3
5
|
* LoginForm
|
|
4
6
|
* 用户登录表单组件,搭配 primitives/compounds 使用。
|
|
5
7
|
*/
|
|
6
|
-
declare const LoginForm: import("svelte").Component
|
|
8
|
+
declare const LoginForm: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
9
|
type LoginForm = ReturnType<typeof LoginForm>;
|
|
8
10
|
export default LoginForm;
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
内置多语言支持,自动跟随全局 locale。
|
|
5
5
|
-->
|
|
6
6
|
<script lang='ts'>
|
|
7
|
-
import type { Size } from '../../../types.js'
|
|
7
|
+
import type { DataAttributes, Size } from '../../../types.js'
|
|
8
8
|
import { uiM } from '../../../messages.js'
|
|
9
|
-
import { cn } from '../../../utils.js'
|
|
9
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
10
10
|
import BareButton from '../../primitives/BareButton.svelte'
|
|
11
11
|
import BareInput from '../../primitives/BareInput.svelte'
|
|
12
12
|
import Progress from '../../primitives/Progress.svelte'
|
|
@@ -71,8 +71,10 @@
|
|
|
71
71
|
oninput,
|
|
72
72
|
onchange,
|
|
73
73
|
oninvalid,
|
|
74
|
-
|
|
74
|
+
...restProps
|
|
75
|
+
}: Props & DataAttributes = $props()
|
|
75
76
|
|
|
77
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
76
78
|
let showPassword = $state(false)
|
|
77
79
|
|
|
78
80
|
// 容器高度(与 Input 组件一致)
|
|
@@ -146,7 +148,7 @@
|
|
|
146
148
|
}
|
|
147
149
|
</script>
|
|
148
150
|
|
|
149
|
-
<div class='fieldset w-full'>
|
|
151
|
+
<div {...dataAttributes} class='fieldset w-full'>
|
|
150
152
|
<!-- 输入框容器 -->
|
|
151
153
|
<div class={cn(
|
|
152
154
|
'flex items-center w-full rounded-lg border bg-base-100',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Size } from '../../../types.js';
|
|
1
|
+
import type { DataAttributes, Size } from '../../../types.js';
|
|
2
2
|
interface Props {
|
|
3
3
|
/** 元素 ID */
|
|
4
4
|
id?: string;
|
|
@@ -41,11 +41,12 @@ interface Props {
|
|
|
41
41
|
currentTarget: HTMLInputElement;
|
|
42
42
|
}) => void;
|
|
43
43
|
}
|
|
44
|
+
type $$ComponentProps = Props & DataAttributes;
|
|
44
45
|
/**
|
|
45
46
|
* PasswordInput
|
|
46
47
|
* 密码输入框组件,支持显示/隐藏切换和密码强度指示。
|
|
47
48
|
* 内置多语言支持,自动跟随全局 locale。
|
|
48
49
|
*/
|
|
49
|
-
declare const PasswordInput: import("svelte").Component
|
|
50
|
+
declare const PasswordInput: import("svelte").Component<$$ComponentProps, {}, "value" | "inputRef">;
|
|
50
51
|
type PasswordInput = ReturnType<typeof PasswordInput>;
|
|
51
52
|
export default PasswordInput;
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
用户注册表单组件,搭配 primitives/compounds 使用。
|
|
4
4
|
-->
|
|
5
5
|
<script lang='ts'>
|
|
6
|
-
import type { InputProps } from '../../../types.js'
|
|
6
|
+
import type { DataAttributes, InputProps } from '../../../types.js'
|
|
7
7
|
import type { RegisterField, RegisterFormData, RegisterFormProps } from '../types.js'
|
|
8
8
|
import { uiM } from '../../../messages.js'
|
|
9
|
-
import { cn } from '../../../utils.js'
|
|
9
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
10
10
|
import Alert from '../../compounds/Alert.svelte'
|
|
11
11
|
import Button from '../../primitives/Button.svelte'
|
|
12
12
|
import Input from '../../primitives/Input.svelte'
|
|
@@ -29,8 +29,10 @@
|
|
|
29
29
|
onsubmit,
|
|
30
30
|
header,
|
|
31
31
|
footer,
|
|
32
|
-
|
|
32
|
+
...restProps
|
|
33
|
+
}: RegisterFormProps & DataAttributes = $props()
|
|
33
34
|
|
|
35
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
34
36
|
const hasAgreements = $derived(
|
|
35
37
|
!!(agreements?.userAgreementUrl || agreements?.privacyPolicyUrl),
|
|
36
38
|
)
|
|
@@ -159,7 +161,7 @@
|
|
|
159
161
|
}
|
|
160
162
|
</script>
|
|
161
163
|
|
|
162
|
-
<form class={formClass} onsubmit={handleSubmit}>
|
|
164
|
+
<form {...dataAttributes} class={formClass} onsubmit={handleSubmit}>
|
|
163
165
|
<!-- 标题 -->
|
|
164
166
|
{#if showTitle}
|
|
165
167
|
<h2 class='text-xl font-semibold text-center mb-5'>{uiM('register_title')}</h2>
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { RegisterFormProps } from '../types.js';
|
|
3
|
+
type $$ComponentProps = RegisterFormProps & DataAttributes;
|
|
2
4
|
/**
|
|
3
5
|
* RegisterForm
|
|
4
6
|
* 用户注册表单组件,搭配 primitives/compounds 使用。
|
|
5
7
|
*/
|
|
6
|
-
declare const RegisterForm: import("svelte").Component
|
|
8
|
+
declare const RegisterForm: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
9
|
type RegisterForm = ReturnType<typeof RegisterForm>;
|
|
8
10
|
export default RegisterForm;
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
重置密码表单组件(配合验证码/链接使用)。
|
|
4
4
|
-->
|
|
5
5
|
<script lang='ts'>
|
|
6
|
+
import type { DataAttributes } from '../../../types.js'
|
|
6
7
|
import type { ResetPasswordFormData, ResetPasswordFormProps } from '../types.js'
|
|
7
8
|
import { uiM } from '../../../messages.js'
|
|
8
|
-
import { cn } from '../../../utils.js'
|
|
9
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
9
10
|
import Alert from '../../compounds/Alert.svelte'
|
|
10
11
|
import Button from '../../primitives/Button.svelte'
|
|
11
12
|
import Input from '../../primitives/Input.svelte'
|
|
@@ -26,8 +27,10 @@
|
|
|
26
27
|
class: className = '',
|
|
27
28
|
errors = {},
|
|
28
29
|
onsubmit,
|
|
29
|
-
|
|
30
|
+
...restProps
|
|
31
|
+
}: ResetPasswordFormProps & DataAttributes = $props()
|
|
30
32
|
|
|
33
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
31
34
|
let code = $state('')
|
|
32
35
|
let newPassword = $state('')
|
|
33
36
|
let confirmPassword = $state('')
|
|
@@ -65,7 +68,7 @@
|
|
|
65
68
|
}
|
|
66
69
|
</script>
|
|
67
70
|
|
|
68
|
-
<form class={formClass} onsubmit={handleSubmit}>
|
|
71
|
+
<form {...dataAttributes} class={formClass} onsubmit={handleSubmit}>
|
|
69
72
|
<!-- 标题 -->
|
|
70
73
|
{#if showTitle}
|
|
71
74
|
<h2 class='text-xl font-semibold text-center mb-4'>{uiM('reset_password_title')}</h2>
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { ResetPasswordFormProps } from '../types.js';
|
|
3
|
+
type $$ComponentProps = ResetPasswordFormProps & DataAttributes;
|
|
2
4
|
/**
|
|
3
5
|
* ResetPasswordForm
|
|
4
6
|
* 重置密码表单组件(配合验证码/链接使用)。
|
|
5
7
|
*/
|
|
6
|
-
declare const ResetPasswordForm: import("svelte").Component
|
|
8
|
+
declare const ResetPasswordForm: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
9
|
type ResetPasswordForm = ReturnType<typeof ResetPasswordForm>;
|
|
8
10
|
export default ResetPasswordForm;
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
=============================================================================
|
|
10
10
|
-->
|
|
11
11
|
<script lang='ts'>
|
|
12
|
+
import type { DataAttributes } from '../../../types.js'
|
|
12
13
|
import type { UserProfileField, UserProfileProps, UserProfileSubmitData } from '../types.js'
|
|
13
14
|
import { uiM } from '../../../messages.js'
|
|
14
|
-
import { cn } from '../../../utils.js'
|
|
15
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
15
16
|
import Alert from '../../compounds/Alert.svelte'
|
|
16
17
|
import Avatar from '../../primitives/Avatar.svelte'
|
|
17
18
|
import BareInput from '../../primitives/BareInput.svelte'
|
|
@@ -29,8 +30,10 @@
|
|
|
29
30
|
errors = {},
|
|
30
31
|
onsubmit,
|
|
31
32
|
onavatarchange,
|
|
32
|
-
|
|
33
|
+
...restProps
|
|
34
|
+
}: UserProfileProps & DataAttributes = $props()
|
|
33
35
|
|
|
36
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
34
37
|
let editMode = $state(false)
|
|
35
38
|
let formData = $state<UserProfileSubmitData>({
|
|
36
39
|
username: '',
|
|
@@ -149,7 +152,7 @@
|
|
|
149
152
|
}
|
|
150
153
|
</script>
|
|
151
154
|
|
|
152
|
-
<div class={containerClass}>
|
|
155
|
+
<div {...dataAttributes} class={containerClass}>
|
|
153
156
|
<form onsubmit={handleSubmit}>
|
|
154
157
|
<div class='space-y-6'>
|
|
155
158
|
{#each fields as field (field)}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { UserProfileProps } from '../types.js';
|
|
2
|
-
|
|
3
|
+
type $$ComponentProps = UserProfileProps & DataAttributes;
|
|
4
|
+
declare const UserProfile: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
3
5
|
type UserProfile = ReturnType<typeof UserProfile>;
|
|
4
6
|
export default UserProfile;
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
=============================================================================
|
|
9
9
|
-->
|
|
10
10
|
<script lang='ts'>
|
|
11
|
+
import type { DataAttributes } from '../../../types.js'
|
|
11
12
|
import type { AvatarUploadProps } from '../types.js'
|
|
12
13
|
import { uiM } from '../../../messages.js'
|
|
13
|
-
import { cn } from '../../../utils.js'
|
|
14
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
14
15
|
import BareInput from '../../primitives/BareInput.svelte'
|
|
15
16
|
|
|
16
17
|
const SAFE_HTTP_URL_REGEX = /^https?:\/\//i
|
|
@@ -29,8 +30,10 @@
|
|
|
29
30
|
class: className = '',
|
|
30
31
|
onchange,
|
|
31
32
|
onerror,
|
|
32
|
-
|
|
33
|
+
...restProps
|
|
34
|
+
}: AvatarUploadProps & DataAttributes = $props()
|
|
33
35
|
|
|
36
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
34
37
|
let loading = $state(false)
|
|
35
38
|
let inputElement = $state<HTMLInputElement | undefined>(undefined)
|
|
36
39
|
let localPreviewUrl: string | null = $state(null)
|
|
@@ -216,12 +219,12 @@
|
|
|
216
219
|
}
|
|
217
220
|
</script>
|
|
218
221
|
|
|
219
|
-
<div
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
222
|
+
<div {...dataAttributes}
|
|
223
|
+
class={containerClass}
|
|
224
|
+
role='button'
|
|
225
|
+
tabindex='0'
|
|
226
|
+
onclick={handleClick}
|
|
227
|
+
onkeydown={e => e.key === 'Enter' && handleClick()}
|
|
225
228
|
>
|
|
226
229
|
<BareInput
|
|
227
230
|
type='file'
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { AvatarUploadProps } from '../types.js';
|
|
2
|
-
|
|
3
|
+
type $$ComponentProps = AvatarUploadProps & DataAttributes;
|
|
4
|
+
declare const AvatarUpload: import("svelte").Component<$$ComponentProps, {}, "value">;
|
|
3
5
|
type AvatarUpload = ReturnType<typeof AvatarUpload>;
|
|
4
6
|
export default AvatarUpload;
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
=============================================================================
|
|
9
9
|
-->
|
|
10
10
|
<script lang='ts'>
|
|
11
|
+
import type { DataAttributes } from '../../../types.js'
|
|
11
12
|
import type { FileItem, FileListProps } from '../types.js'
|
|
12
13
|
import { uiM } from '../../../messages.js'
|
|
13
|
-
import { cn } from '../../../utils.js'
|
|
14
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
14
15
|
import Button from '../../primitives/Button.svelte'
|
|
15
16
|
import IconButton from '../../primitives/IconButton.svelte'
|
|
16
17
|
|
|
@@ -27,8 +28,10 @@
|
|
|
27
28
|
ondownload,
|
|
28
29
|
ondelete,
|
|
29
30
|
onpreview,
|
|
30
|
-
|
|
31
|
+
...restProps
|
|
32
|
+
}: FileListProps & DataAttributes = $props()
|
|
31
33
|
|
|
34
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
32
35
|
let previewFile = $state<FileItem | null>(null)
|
|
33
36
|
|
|
34
37
|
const containerClass = $derived(
|
|
@@ -109,7 +112,7 @@
|
|
|
109
112
|
</script>
|
|
110
113
|
|
|
111
114
|
{#if loading}
|
|
112
|
-
<div class='flex justify-center py-8'>
|
|
115
|
+
<div {...dataAttributes} class='flex justify-center py-8'>
|
|
113
116
|
<span class='loading loading-spinner loading-lg'></span>
|
|
114
117
|
</div>
|
|
115
118
|
{:else if files.length === 0}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { FileListProps } from '../types.js';
|
|
2
|
-
|
|
3
|
+
type $$ComponentProps = FileListProps & DataAttributes;
|
|
4
|
+
declare const FileList: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
3
5
|
type FileList = ReturnType<typeof FileList>;
|
|
4
6
|
export default FileList;
|
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
=============================================================================
|
|
10
10
|
-->
|
|
11
11
|
<script lang='ts'>
|
|
12
|
+
import type { DataAttributes } from '../../../types.js'
|
|
12
13
|
import type { FileUploadProps, UploadFile } from '../types.js'
|
|
13
14
|
import { SvelteMap } from 'svelte/reactivity'
|
|
14
15
|
import { uiM } from '../../../messages.js'
|
|
15
|
-
import { cn, generateId } from '../../../utils.js'
|
|
16
|
+
import { cn, generateId, getDataAttributes } from '../../../utils.js'
|
|
16
17
|
import BareInput from '../../primitives/BareInput.svelte'
|
|
17
18
|
import IconButton from '../../primitives/IconButton.svelte'
|
|
18
19
|
import Progress from '../../primitives/Progress.svelte'
|
|
@@ -37,8 +38,10 @@
|
|
|
37
38
|
onupload,
|
|
38
39
|
onerror,
|
|
39
40
|
onremove,
|
|
40
|
-
|
|
41
|
+
...restProps
|
|
42
|
+
}: FileUploadProps & DataAttributes = $props()
|
|
41
43
|
|
|
44
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
42
45
|
let files = $state<UploadFile[]>([])
|
|
43
46
|
let isDragging = $state(false)
|
|
44
47
|
let inputElement = $state<HTMLInputElement | undefined>(undefined)
|
|
@@ -361,7 +364,7 @@
|
|
|
361
364
|
}
|
|
362
365
|
</script>
|
|
363
366
|
|
|
364
|
-
<div class={containerClass}>
|
|
367
|
+
<div {...dataAttributes} class={containerClass}>
|
|
365
368
|
<!-- 上传区域 -->
|
|
366
369
|
<div
|
|
367
370
|
class={dropzoneClass}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { FileUploadProps } from '../types.js';
|
|
2
|
-
|
|
3
|
+
type $$ComponentProps = FileUploadProps & DataAttributes;
|
|
4
|
+
declare const FileUpload: import("svelte").Component<$$ComponentProps, {
|
|
3
5
|
upload: () => Promise<void>;
|
|
4
6
|
clear: () => void;
|
|
5
7
|
}, "">;
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
=============================================================================
|
|
10
10
|
-->
|
|
11
11
|
<script lang='ts'>
|
|
12
|
+
import type { DataAttributes } from '../../../types.js'
|
|
12
13
|
import type { ImageUploadProps } from '../types.js'
|
|
13
14
|
import { uiM } from '../../../messages.js'
|
|
14
|
-
import { cn } from '../../../utils.js'
|
|
15
|
+
import { cn, getDataAttributes } from '../../../utils.js'
|
|
15
16
|
import BareInput from '../../primitives/BareInput.svelte'
|
|
16
17
|
import IconButton from '../../primitives/IconButton.svelte'
|
|
17
18
|
import Spinner from '../../primitives/Spinner.svelte'
|
|
@@ -33,8 +34,10 @@
|
|
|
33
34
|
class: className = '',
|
|
34
35
|
onchange,
|
|
35
36
|
onerror,
|
|
36
|
-
|
|
37
|
+
...restProps
|
|
38
|
+
}: ImageUploadProps & DataAttributes = $props()
|
|
37
39
|
|
|
40
|
+
const dataAttributes = $derived(getDataAttributes(restProps))
|
|
38
41
|
let loading = $state(false)
|
|
39
42
|
let inputElement = $state<HTMLInputElement | undefined>(undefined)
|
|
40
43
|
let previewUrl = $derived(value)
|
|
@@ -205,13 +208,13 @@
|
|
|
205
208
|
}
|
|
206
209
|
</script>
|
|
207
210
|
|
|
208
|
-
<div
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
211
|
+
<div {...dataAttributes}
|
|
212
|
+
class={containerClass}
|
|
213
|
+
style={containerStyle}
|
|
214
|
+
role='button'
|
|
215
|
+
tabindex='0'
|
|
216
|
+
onclick={handleClick}
|
|
217
|
+
onkeydown={e => e.key === 'Enter' && handleClick()}
|
|
215
218
|
>
|
|
216
219
|
<BareInput
|
|
217
220
|
type='file'
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { DataAttributes } from '../../../types.js';
|
|
1
2
|
import type { ImageUploadProps } from '../types.js';
|
|
2
|
-
|
|
3
|
+
type $$ComponentProps = ImageUploadProps & DataAttributes;
|
|
4
|
+
declare const ImageUpload: import("svelte").Component<$$ComponentProps, {}, "value">;
|
|
3
5
|
type ImageUpload = ReturnType<typeof ImageUpload>;
|
|
4
6
|
export default ImageUpload;
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* @module types
|
|
6
6
|
*/
|
|
7
7
|
import type { Snippet } from 'svelte';
|
|
8
|
-
import type { Size } from '../../types.js';
|
|
8
|
+
import type { DataAttributes, Size } from '../../types.js';
|
|
9
9
|
/**
|
|
10
10
|
* 密码输入框属性
|
|
11
11
|
*/
|
|
12
|
-
export interface PasswordInputProps {
|
|
12
|
+
export interface PasswordInputProps extends DataAttributes {
|
|
13
13
|
/** 元素 ID */
|
|
14
14
|
id?: string;
|
|
15
15
|
/** 值 */
|
|
@@ -65,7 +65,7 @@ export interface LoginFormData {
|
|
|
65
65
|
/**
|
|
66
66
|
* 登录表单属性
|
|
67
67
|
*/
|
|
68
|
-
export interface LoginFormProps {
|
|
68
|
+
export interface LoginFormProps extends DataAttributes {
|
|
69
69
|
/** 加载状态 */
|
|
70
70
|
loading?: boolean;
|
|
71
71
|
/** 禁用状态 */
|
|
@@ -117,7 +117,7 @@ export interface RegisterFormData {
|
|
|
117
117
|
/**
|
|
118
118
|
* 注册表单属性
|
|
119
119
|
*/
|
|
120
|
-
export interface RegisterFormProps {
|
|
120
|
+
export interface RegisterFormProps extends DataAttributes {
|
|
121
121
|
/** 加载状态 */
|
|
122
122
|
loading?: boolean;
|
|
123
123
|
/** 禁用状态 */
|
|
@@ -162,7 +162,7 @@ export interface ChangePasswordFormData {
|
|
|
162
162
|
/**
|
|
163
163
|
* 修改密码表单属性
|
|
164
164
|
*/
|
|
165
|
-
export interface ChangePasswordFormProps {
|
|
165
|
+
export interface ChangePasswordFormProps extends DataAttributes {
|
|
166
166
|
/** 加载状态 */
|
|
167
167
|
loading?: boolean;
|
|
168
168
|
/** 禁用状态 */
|
|
@@ -192,7 +192,7 @@ export interface ForgotPasswordFormData {
|
|
|
192
192
|
/**
|
|
193
193
|
* 找回密码表单属性
|
|
194
194
|
*/
|
|
195
|
-
export interface ForgotPasswordFormProps {
|
|
195
|
+
export interface ForgotPasswordFormProps extends DataAttributes {
|
|
196
196
|
/** 加载状态 */
|
|
197
197
|
loading?: boolean;
|
|
198
198
|
/** 禁用状态 */
|
|
@@ -231,7 +231,7 @@ export interface ResetPasswordFormData {
|
|
|
231
231
|
/**
|
|
232
232
|
* 重置密码表单属性
|
|
233
233
|
*/
|
|
234
|
-
export interface ResetPasswordFormProps {
|
|
234
|
+
export interface ResetPasswordFormProps extends DataAttributes {
|
|
235
235
|
/** 加载状态 */
|
|
236
236
|
loading?: boolean;
|
|
237
237
|
/** 禁用状态 */
|
|
@@ -287,7 +287,7 @@ export interface UserProfileSubmitData {
|
|
|
287
287
|
/**
|
|
288
288
|
* 用户个人信息属性
|
|
289
289
|
*/
|
|
290
|
-
export interface UserProfileProps {
|
|
290
|
+
export interface UserProfileProps extends DataAttributes {
|
|
291
291
|
/** 用户信息 */
|
|
292
292
|
user?: UserProfileData;
|
|
293
293
|
/** 是否可编辑 */
|
|
@@ -338,7 +338,7 @@ export interface UploadFile {
|
|
|
338
338
|
/**
|
|
339
339
|
* 文件上传属性
|
|
340
340
|
*/
|
|
341
|
-
export interface FileUploadProps {
|
|
341
|
+
export interface FileUploadProps extends DataAttributes {
|
|
342
342
|
/** 接受的文件类型 */
|
|
343
343
|
accept?: string;
|
|
344
344
|
/** 最大文件大小 (bytes) */
|
|
@@ -394,7 +394,7 @@ export interface FileItem {
|
|
|
394
394
|
/**
|
|
395
395
|
* 文件列表属性
|
|
396
396
|
*/
|
|
397
|
-
export interface FileListProps {
|
|
397
|
+
export interface FileListProps extends DataAttributes {
|
|
398
398
|
/** 文件列表 */
|
|
399
399
|
files?: FileItem[];
|
|
400
400
|
/** 加载状态 */
|
|
@@ -423,7 +423,7 @@ export interface FileListProps {
|
|
|
423
423
|
/**
|
|
424
424
|
* 图片上传属性
|
|
425
425
|
*/
|
|
426
|
-
export interface ImageUploadProps {
|
|
426
|
+
export interface ImageUploadProps extends DataAttributes {
|
|
427
427
|
/** 图片 URL */
|
|
428
428
|
value?: string;
|
|
429
429
|
/** 接受的文件类型 */
|
|
@@ -456,7 +456,7 @@ export interface ImageUploadProps {
|
|
|
456
456
|
/**
|
|
457
457
|
* 头像上传属性
|
|
458
458
|
*/
|
|
459
|
-
export interface AvatarUploadProps {
|
|
459
|
+
export interface AvatarUploadProps extends DataAttributes {
|
|
460
460
|
/** 头像 URL */
|
|
461
461
|
value?: string;
|
|
462
462
|
/** 尺寸 */
|
|
@@ -485,7 +485,7 @@ export interface AvatarUploadProps {
|
|
|
485
485
|
/**
|
|
486
486
|
* 加密输入框属性
|
|
487
487
|
*/
|
|
488
|
-
export interface EncryptedInputProps {
|
|
488
|
+
export interface EncryptedInputProps extends DataAttributes {
|
|
489
489
|
/** 原始值 */
|
|
490
490
|
value?: string;
|
|
491
491
|
/** 加密后的值 */
|
|
@@ -518,7 +518,7 @@ export interface EncryptedInputProps {
|
|
|
518
518
|
/**
|
|
519
519
|
* 哈希展示属性
|
|
520
520
|
*/
|
|
521
|
-
export interface HashDisplayProps {
|
|
521
|
+
export interface HashDisplayProps extends DataAttributes {
|
|
522
522
|
/** 哈希值 */
|
|
523
523
|
value?: string;
|
|
524
524
|
/** 算法 */
|
|
@@ -541,7 +541,7 @@ export interface HashDisplayProps {
|
|
|
541
541
|
/**
|
|
542
542
|
* Markdown 渲染器属性
|
|
543
543
|
*/
|
|
544
|
-
export interface MarkdownRendererProps {
|
|
544
|
+
export interface MarkdownRendererProps extends DataAttributes {
|
|
545
545
|
/** Markdown 源文本 */
|
|
546
546
|
content?: string;
|
|
547
547
|
/** 自定义类名 */
|
|
@@ -556,7 +556,7 @@ export interface MarkdownRendererProps {
|
|
|
556
556
|
/**
|
|
557
557
|
* 签名展示属性
|
|
558
558
|
*/
|
|
559
|
-
export interface SignatureDisplayProps {
|
|
559
|
+
export interface SignatureDisplayProps extends DataAttributes {
|
|
560
560
|
/** 签名值 */
|
|
561
561
|
signature?: string;
|
|
562
562
|
/** 公钥 */
|