@webamoki/web-svelte 0.8.0 → 1.0.0
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 +83 -3
- package/dist/components/form/Button.svelte +24 -23
- package/dist/components/form/Button.svelte.d.ts +2 -2
- package/dist/components/form/Errors.svelte +13 -13
- package/dist/components/form/FieldWrapper.svelte +57 -55
- package/dist/components/form/FieldWrapper.svelte.d.ts +4 -4
- package/dist/components/form/Form.svelte +18 -14
- package/dist/components/form/Form.svelte.d.ts +31 -22
- package/dist/components/form/IconInputWrapper.svelte +30 -29
- package/dist/components/form/IconInputWrapper.svelte.d.ts +7 -7
- package/dist/components/form/fields/ChoiceField.svelte +45 -43
- package/dist/components/form/fields/ChoiceField.svelte.d.ts +28 -23
- package/dist/components/form/fields/ChoiceMultiField.svelte +44 -42
- package/dist/components/form/fields/ChoiceMultiField.svelte.d.ts +28 -23
- package/dist/components/form/fields/DateField.svelte +42 -40
- package/dist/components/form/fields/DateField.svelte.d.ts +29 -22
- package/dist/components/form/fields/HexColorField.svelte +21 -19
- package/dist/components/form/fields/HexColorField.svelte.d.ts +24 -19
- package/dist/components/form/fields/MessageField.svelte +39 -60
- package/dist/components/form/fields/MessageField.svelte.d.ts +33 -24
- package/dist/components/form/fields/NumberField.svelte +38 -36
- package/dist/components/form/fields/NumberField.svelte.d.ts +32 -23
- package/dist/components/form/fields/PasswordField.svelte +45 -39
- package/dist/components/form/fields/PasswordField.svelte.d.ts +28 -21
- package/dist/components/form/fields/SelectField.svelte +84 -79
- package/dist/components/form/fields/SelectField.svelte.d.ts +39 -26
- package/dist/components/form/fields/SelectMultiField.svelte +90 -85
- package/dist/components/form/fields/SelectMultiField.svelte.d.ts +38 -25
- package/dist/components/form/fields/TextField.svelte +31 -29
- package/dist/components/form/fields/TextField.svelte.d.ts +32 -23
- package/dist/components/form/fields/TextFieldNullable.svelte +49 -47
- package/dist/components/form/fields/TextFieldNullable.svelte.d.ts +32 -23
- package/dist/components/form/fields/TimeField.svelte +66 -64
- package/dist/components/form/fields/TimeField.svelte.d.ts +33 -24
- package/dist/components/form/fields/WeekdayChoiceField.svelte +37 -35
- package/dist/components/form/fields/WeekdayChoiceField.svelte.d.ts +27 -22
- package/dist/components/form/fields/WeekdayChoiceMultiField.svelte +37 -35
- package/dist/components/form/fields/WeekdayChoiceMultiField.svelte.d.ts +27 -22
- package/dist/components/showcase/CodeBlock.svelte +41 -41
- package/dist/components/showcase/Container.svelte +7 -7
- package/dist/components/showcase/Preview.svelte +4 -4
- package/dist/components/showcase/Sidebar.svelte +4 -4
- package/dist/components/showcase/SidebarLink.svelte +3 -3
- package/dist/components/ui/choice/Choice.svelte +25 -25
- package/dist/components/ui/choice/Choice.svelte.d.ts +7 -7
- package/dist/components/ui/choice/ChoiceInternal.svelte +73 -72
- package/dist/components/ui/choice/ChoiceInternal.svelte.d.ts +9 -9
- package/dist/components/ui/choice/ChoiceMulti.svelte +59 -56
- package/dist/components/ui/choice/ChoiceMulti.svelte.d.ts +7 -7
- package/dist/components/ui/choice/WeekdayChoice.svelte +22 -21
- package/dist/components/ui/choice/WeekdayChoice.svelte.d.ts +6 -6
- package/dist/components/ui/choice/WeekdayChoiceMulti.svelte +24 -22
- package/dist/components/ui/choice/WeekdayChoiceMulti.svelte.d.ts +6 -6
- package/dist/components/ui/context-menu/ContextMenu.svelte +51 -50
- package/dist/components/ui/context-menu/ContextMenu.svelte.d.ts +1 -1
- package/dist/components/ui/context-menu/ContextMenuContent.svelte +92 -91
- package/dist/components/ui/context-menu/ContextMenuItem.svelte +26 -25
- package/dist/components/ui/context-menu/ContextMenuItem.svelte.d.ts +1 -1
- package/dist/components/ui/context-menu/ContextMenuTrigger.svelte +16 -15
- package/dist/components/ui/context-menu/context-menu-state.svelte.d.ts +3 -3
- package/dist/components/ui/context-menu/context-menu-state.svelte.js +15 -15
- package/dist/components/ui/drag-drop/Draggable.svelte +73 -72
- package/dist/components/ui/drag-drop/Draggable.svelte.d.ts +2 -2
- package/dist/components/ui/drag-drop/Dropzone.svelte +56 -54
- package/dist/components/ui/drag-drop/Dropzone.svelte.d.ts +3 -3
- package/dist/components/ui/drag-drop/drag-manager.d.ts +2 -2
- package/dist/components/ui/drag-drop/drag-manager.js +9 -9
- package/dist/components/ui/index.d.ts +2 -2
- package/dist/components/ui/index.js +5 -5
- package/dist/components/ui/search/SearchBar.svelte +18 -18
- package/dist/components/ui/search/SearchBar.svelte.d.ts +2 -2
- package/dist/highlight.js +2 -2
- package/dist/server/form-handler.d.ts +12 -12
- package/dist/server/form-handler.js +17 -17
- package/dist/server/form-processor.d.ts +1 -1
- package/dist/server/form-processor.js +0 -1
- package/dist/shadcn/components/ui/button/button.svelte +72 -71
- package/dist/shadcn/components/ui/button/button.svelte.d.ts +23 -23
- package/dist/shadcn/components/ui/button/index.d.ts +1 -1
- package/dist/shadcn/components/ui/button/index.js +2 -2
- package/dist/shadcn/components/ui/input/index.d.ts +1 -1
- package/dist/shadcn/components/ui/input/index.js +2 -2
- package/dist/shadcn/components/ui/input/input.svelte +35 -32
- package/dist/shadcn/components/ui/input/input.svelte.d.ts +2 -2
- package/dist/shadcn/components/ui/select/index.d.ts +6 -6
- package/dist/shadcn/components/ui/select/index.js +7 -7
- package/dist/shadcn/components/ui/select/select-content.svelte +35 -34
- package/dist/shadcn/components/ui/select/select-content.svelte.d.ts +1 -1
- package/dist/shadcn/components/ui/select/select-group-heading.svelte +15 -14
- package/dist/shadcn/components/ui/select/select-group.svelte +2 -2
- package/dist/shadcn/components/ui/select/select-item.svelte +31 -31
- package/dist/shadcn/components/ui/select/select-label.svelte +14 -13
- package/dist/shadcn/components/ui/select/select-label.svelte.d.ts +1 -1
- package/dist/shadcn/components/ui/select/select-scroll-down-button.svelte +13 -13
- package/dist/shadcn/components/ui/select/select-scroll-up-button.svelte +13 -13
- package/dist/shadcn/components/ui/select/select-separator.svelte +13 -12
- package/dist/shadcn/components/ui/select/select-trigger.svelte +26 -26
- package/dist/shadcn/components/ui/select/select-trigger.svelte.d.ts +2 -2
- package/dist/shadcn/components/ui/separator/separator.svelte +14 -14
- package/dist/shadcn/components/ui/textarea/textarea.svelte +22 -21
- package/dist/shadcn/components/ui/textarea/textarea.svelte.d.ts +1 -1
- package/dist/shadcn/utils.d.ts +4 -4
- package/dist/utils/datetime/index.d.ts +66 -66
- package/dist/utils/datetime/index.js +124 -124
- package/dist/utils/email/README.md +60 -60
- package/dist/utils/email/aws-signer.d.ts +1 -1
- package/dist/utils/email/aws-signer.js +39 -39
- package/dist/utils/email/ses.d.ts +8 -8
- package/dist/utils/email/ses.js +9 -9
- package/dist/utils/form/index.d.ts +11 -11
- package/dist/utils/form/index.js +23 -24
- package/dist/utils/form/virtual-form.d.ts +5 -5
- package/dist/utils/form/virtual-form.js +58 -58
- package/dist/utils/search.d.ts +1 -1
- package/dist/utils/search.js +22 -22
- package/dist/utils/types/arktype.d.ts +2 -2
- package/dist/utils/types/arktype.js +3 -3
- package/dist/utils/types/db.d.ts +2 -1
- package/dist/utils/types/db.js +7 -7
- package/package.json +46 -31
|
@@ -1,35 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export default MessageField;
|
|
2
|
+
type MessageField<T extends Record<string, unknown>, U extends FormPath<T>, M> = SvelteComponent<Props, {}, {}> & {
|
|
3
|
+
$$bindings?: "value" | undefined;
|
|
4
|
+
} & {};
|
|
5
|
+
declare const MessageField: $$IsomorphicComponent;
|
|
6
|
+
import { FormPath } from 'sveltekit-superforms';
|
|
7
|
+
type Props = FieldWrapperProps<T, U, M> & {
|
|
8
|
+
class?: string | undefined;
|
|
9
|
+
defaultHeight?: number | undefined;
|
|
10
|
+
icon?: Component<any, any, string> | undefined;
|
|
11
|
+
placeholder?: string | undefined;
|
|
12
|
+
resize?: boolean | undefined;
|
|
13
|
+
value?: string | undefined;
|
|
14
|
+
};
|
|
15
|
+
interface $$IsomorphicComponent {
|
|
16
|
+
new <T extends Record<string, unknown>, U extends FormPath<T>, M>(options: import("svelte").ComponentConstructorOptions<ReturnType<__sveltets_Render<T, U, M>["props"]>>): import("svelte").SvelteComponent<ReturnType<__sveltets_Render<T, U, M>["props"]>, ReturnType<__sveltets_Render<T, U, M>["events"]>, ReturnType<__sveltets_Render<T, U, M>["slots"]>> & {
|
|
17
|
+
$$bindings?: ReturnType<__sveltets_Render<T, U, M>["bindings"]>;
|
|
18
|
+
} & ReturnType<__sveltets_Render<T, U, M>["exports"]>;
|
|
19
|
+
<T extends Record<string, unknown>, U extends FormPath<T>, M>(internal: unknown, props: ReturnType<__sveltets_Render<T, U, M>["props"]> & {}): ReturnType<__sveltets_Render<T, U, M>["exports"]>;
|
|
20
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>["bindings"]>;
|
|
21
|
+
}
|
|
22
|
+
declare class __sveltets_Render<T extends Record<string, unknown>, U extends FormPath<T>, M> {
|
|
23
|
+
props(): ReturnType<typeof $$render<T, U, M>>["props"];
|
|
24
|
+
events(): ReturnType<typeof $$render<T, U, M>>["events"];
|
|
25
|
+
slots(): ReturnType<typeof $$render<T, U, M>>["slots"];
|
|
26
|
+
bindings(): "value";
|
|
27
|
+
exports(): {};
|
|
28
|
+
}
|
|
4
29
|
declare function $$render<T extends Record<string, unknown>, U extends FormPath<T>, M>(): {
|
|
5
30
|
props: FieldWrapperProps<T, U, M> & {
|
|
6
|
-
value?: string;
|
|
7
31
|
class?: string;
|
|
8
|
-
placeholder?: string;
|
|
9
32
|
defaultHeight?: number;
|
|
10
|
-
showLock?: boolean;
|
|
11
|
-
defaultLocked?: boolean;
|
|
12
33
|
icon?: Component;
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
resize?: boolean;
|
|
36
|
+
value?: string;
|
|
13
37
|
};
|
|
14
38
|
exports: {};
|
|
15
39
|
bindings: "value";
|
|
16
40
|
slots: {};
|
|
17
41
|
events: {};
|
|
18
42
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
events(): ReturnType<typeof $$render<T, U, M>>['events'];
|
|
22
|
-
slots(): ReturnType<typeof $$render<T, U, M>>['slots'];
|
|
23
|
-
bindings(): "value";
|
|
24
|
-
exports(): {};
|
|
25
|
-
}
|
|
26
|
-
interface $$IsomorphicComponent {
|
|
27
|
-
new <T extends Record<string, unknown>, U extends FormPath<T>, M>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, U, M>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, U, M>['props']>, ReturnType<__sveltets_Render<T, U, M>['events']>, ReturnType<__sveltets_Render<T, U, M>['slots']>> & {
|
|
28
|
-
$$bindings?: ReturnType<__sveltets_Render<T, U, M>['bindings']>;
|
|
29
|
-
} & ReturnType<__sveltets_Render<T, U, M>['exports']>;
|
|
30
|
-
<T extends Record<string, unknown>, U extends FormPath<T>, M>(internal: unknown, props: ReturnType<__sveltets_Render<T, U, M>['props']> & {}): ReturnType<__sveltets_Render<T, U, M>['exports']>;
|
|
31
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
|
|
32
|
-
}
|
|
33
|
-
declare const MessageField: $$IsomorphicComponent;
|
|
34
|
-
type MessageField<T extends Record<string, unknown>, U extends FormPath<T>, M> = InstanceType<typeof MessageField<T, U, M>>;
|
|
35
|
-
export default MessageField;
|
|
43
|
+
import { FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
44
|
+
import { Component } from 'svelte';
|
|
@@ -1,41 +1,43 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { cn } from '../../../shadcn/utils.js';
|
|
5
|
-
import type { Component } from 'svelte';
|
|
6
|
-
import type { FormPath } from 'sveltekit-superforms';
|
|
7
|
-
import FieldWrapper, { type FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
1
|
+
<script generics="V,T extends Record<string, unknown>, U extends FormPath<T>, M" lang="ts">
|
|
2
|
+
import type { Component } from 'svelte';
|
|
3
|
+
import type { FormPath } from 'sveltekit-superforms';
|
|
8
4
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
5
|
+
import IconInputWrapper from '../IconInputWrapper.svelte';
|
|
6
|
+
import { Input } from '../../../shadcn/components/ui/input/index.js';
|
|
7
|
+
import { cn } from '../../../shadcn/utils.js';
|
|
8
|
+
|
|
9
|
+
import FieldWrapper, { type FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
10
|
+
|
|
11
|
+
interface Props extends FieldWrapperProps<T, U, M> {
|
|
12
|
+
class?: string;
|
|
13
|
+
icon?: Component;
|
|
14
|
+
placeholder?: string;
|
|
15
|
+
step?: HTMLInputElement['step'];
|
|
16
|
+
value?: V;
|
|
17
|
+
}
|
|
18
|
+
let {
|
|
19
|
+
class: className,
|
|
20
|
+
icon,
|
|
21
|
+
placeholder,
|
|
22
|
+
step,
|
|
23
|
+
value = $bindable(),
|
|
24
|
+
...fieldProps
|
|
25
|
+
}: Props = $props();
|
|
24
26
|
</script>
|
|
25
27
|
|
|
26
28
|
<FieldWrapper {...fieldProps}>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
{#snippet formElem(props)}
|
|
30
|
+
<IconInputWrapper {icon}>
|
|
31
|
+
{#snippet children({ class: iconClass })}
|
|
32
|
+
<Input
|
|
33
|
+
class={cn(iconClass, className)}
|
|
34
|
+
{placeholder}
|
|
35
|
+
{step}
|
|
36
|
+
type="number"
|
|
37
|
+
bind:value
|
|
38
|
+
{...props}
|
|
39
|
+
/>
|
|
40
|
+
{/snippet}
|
|
41
|
+
</IconInputWrapper>
|
|
42
|
+
{/snippet}
|
|
41
43
|
</FieldWrapper>
|
|
@@ -1,33 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export default NumberField;
|
|
2
|
+
type NumberField<V, T extends Record<string, unknown>, U extends FormPath<T>, M> = SvelteComponent<Props, {}, {}> & {
|
|
3
|
+
$$bindings?: "value" | undefined;
|
|
4
|
+
} & {};
|
|
5
|
+
declare const NumberField: $$IsomorphicComponent;
|
|
6
|
+
import { FormPath } from 'sveltekit-superforms';
|
|
7
|
+
type Props = FieldWrapperProps<T, U, M> & {
|
|
8
|
+
class?: string | undefined;
|
|
9
|
+
icon?: Component<any, any, string> | undefined;
|
|
10
|
+
placeholder?: string | undefined;
|
|
11
|
+
step?: string | undefined;
|
|
12
|
+
value?: V | undefined;
|
|
13
|
+
};
|
|
14
|
+
interface $$IsomorphicComponent {
|
|
15
|
+
new <V, T extends Record<string, unknown>, U extends FormPath<T>, M>(options: import("svelte").ComponentConstructorOptions<ReturnType<__sveltets_Render<V, T, U, M>["props"]>>): import("svelte").SvelteComponent<ReturnType<__sveltets_Render<V, T, U, M>["props"]>, ReturnType<__sveltets_Render<V, T, U, M>["events"]>, ReturnType<__sveltets_Render<V, T, U, M>["slots"]>> & {
|
|
16
|
+
$$bindings?: ReturnType<__sveltets_Render<V, T, U, M>["bindings"]>;
|
|
17
|
+
} & ReturnType<__sveltets_Render<V, T, U, M>["exports"]>;
|
|
18
|
+
<V, T extends Record<string, unknown>, U extends FormPath<T>, M>(internal: unknown, props: ReturnType<__sveltets_Render<V, T, U, M>["props"]> & {}): ReturnType<__sveltets_Render<V, T, U, M>["exports"]>;
|
|
19
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any, any>["bindings"]>;
|
|
20
|
+
}
|
|
21
|
+
declare class __sveltets_Render<V, T extends Record<string, unknown>, U extends FormPath<T>, M> {
|
|
22
|
+
props(): ReturnType<typeof $$render<V, T, U, M>>["props"];
|
|
23
|
+
events(): ReturnType<typeof $$render<V, T, U, M>>["events"];
|
|
24
|
+
slots(): ReturnType<typeof $$render<V, T, U, M>>["slots"];
|
|
25
|
+
bindings(): "value";
|
|
26
|
+
exports(): {};
|
|
27
|
+
}
|
|
4
28
|
declare function $$render<V, T extends Record<string, unknown>, U extends FormPath<T>, M>(): {
|
|
5
29
|
props: FieldWrapperProps<T, U, M> & {
|
|
6
|
-
value?: V;
|
|
7
30
|
class?: string;
|
|
8
|
-
step?: HTMLInputElement["step"];
|
|
9
|
-
placeholder?: string;
|
|
10
31
|
icon?: Component;
|
|
32
|
+
placeholder?: string;
|
|
33
|
+
step?: HTMLInputElement["step"];
|
|
34
|
+
value?: V;
|
|
11
35
|
};
|
|
12
36
|
exports: {};
|
|
13
37
|
bindings: "value";
|
|
14
38
|
slots: {};
|
|
15
39
|
events: {};
|
|
16
40
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
events(): ReturnType<typeof $$render<V, T, U, M>>['events'];
|
|
20
|
-
slots(): ReturnType<typeof $$render<V, T, U, M>>['slots'];
|
|
21
|
-
bindings(): "value";
|
|
22
|
-
exports(): {};
|
|
23
|
-
}
|
|
24
|
-
interface $$IsomorphicComponent {
|
|
25
|
-
new <V, T extends Record<string, unknown>, U extends FormPath<T>, M>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<V, T, U, M>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<V, T, U, M>['props']>, ReturnType<__sveltets_Render<V, T, U, M>['events']>, ReturnType<__sveltets_Render<V, T, U, M>['slots']>> & {
|
|
26
|
-
$$bindings?: ReturnType<__sveltets_Render<V, T, U, M>['bindings']>;
|
|
27
|
-
} & ReturnType<__sveltets_Render<V, T, U, M>['exports']>;
|
|
28
|
-
<V, T extends Record<string, unknown>, U extends FormPath<T>, M>(internal: unknown, props: ReturnType<__sveltets_Render<V, T, U, M>['props']> & {}): ReturnType<__sveltets_Render<V, T, U, M>['exports']>;
|
|
29
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any, any>['bindings']>;
|
|
30
|
-
}
|
|
31
|
-
declare const NumberField: $$IsomorphicComponent;
|
|
32
|
-
type NumberField<V, T extends Record<string, unknown>, U extends FormPath<T>, M> = InstanceType<typeof NumberField<V, T, U, M>>;
|
|
33
|
-
export default NumberField;
|
|
41
|
+
import { FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
42
|
+
import { Component } from 'svelte';
|
|
@@ -1,46 +1,52 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { cn } from '../../../shadcn/utils.js';
|
|
5
|
-
import { Eye, EyeOff } from '@lucide/svelte';
|
|
6
|
-
import type { Component } from 'svelte';
|
|
7
|
-
import type { FormPath } from 'sveltekit-superforms';
|
|
8
|
-
import FieldWrapper, { type FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
1
|
+
<script generics="T extends Record<string, unknown>, U extends FormPath<T>, M" lang="ts">
|
|
2
|
+
import type { Component } from 'svelte';
|
|
3
|
+
import type { FormPath } from 'sveltekit-superforms';
|
|
9
4
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
let { value = $bindable(), class: className, icon, ...fieldProps }: Props = $props();
|
|
5
|
+
import IconInputWrapper from '../IconInputWrapper.svelte';
|
|
6
|
+
import { Input } from '../../../shadcn/components/ui/input/index.js';
|
|
7
|
+
import { cn } from '../../../shadcn/utils.js';
|
|
8
|
+
import { Eye, EyeOff } from '@lucide/svelte';
|
|
16
9
|
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
import FieldWrapper, { type FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
11
|
+
|
|
12
|
+
interface Props extends FieldWrapperProps<T, U, M> {
|
|
13
|
+
class?: string;
|
|
14
|
+
icon?: Component;
|
|
15
|
+
value?: string;
|
|
16
|
+
}
|
|
17
|
+
let { class: className, icon, value = $bindable(), ...fieldProps }: Props = $props();
|
|
18
|
+
|
|
19
|
+
let show = $state(false);
|
|
20
|
+
let inputType = $derived(show ? 'text' : 'password');
|
|
19
21
|
</script>
|
|
20
22
|
|
|
21
23
|
<FieldWrapper {...fieldProps}>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
{#snippet formElem(props)}
|
|
25
|
+
<div class="flex h-fit w-full items-center gap-2">
|
|
26
|
+
<!-- Input itself with optional left icon -->
|
|
27
|
+
<IconInputWrapper flex {icon}>
|
|
28
|
+
{#snippet children({ class: iconClass })}
|
|
29
|
+
<Input class={cn(iconClass, className)} type={inputType} bind:value {...props} />
|
|
30
|
+
{/snippet}
|
|
31
|
+
</IconInputWrapper>
|
|
30
32
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
33
|
+
<!-- Show/hide button outside input -->
|
|
34
|
+
<button
|
|
35
|
+
class={cn(
|
|
36
|
+
'aspect-square h-full items-center justify-center p-3',
|
|
37
|
+
'rounded-lg border border-gray-300 text-gray-500 hover:bg-gray-50 focus:border-transparent',
|
|
38
|
+
'cursor-pointer transition-all focus:ring-2 focus:ring-primary focus:outline-none'
|
|
39
|
+
)}
|
|
40
|
+
aria-label={show ? 'Hide password' : 'Show password'}
|
|
41
|
+
onclick={() => (show = !show)}
|
|
42
|
+
type="button"
|
|
43
|
+
>
|
|
44
|
+
{#if show}
|
|
45
|
+
<EyeOff class="size-6" />
|
|
46
|
+
{:else}
|
|
47
|
+
<Eye class="size-6" />
|
|
48
|
+
{/if}
|
|
49
|
+
</button>
|
|
50
|
+
</div>
|
|
51
|
+
{/snippet}
|
|
46
52
|
</FieldWrapper>
|
|
@@ -1,31 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export default PasswordField;
|
|
2
|
+
type PasswordField<T extends Record<string, unknown>, U extends FormPath<T>, M> = SvelteComponent<Props, {}, {}> & {
|
|
3
|
+
$$bindings?: "value" | undefined;
|
|
4
|
+
} & {};
|
|
5
|
+
declare const PasswordField: $$IsomorphicComponent;
|
|
6
|
+
import { FormPath } from 'sveltekit-superforms';
|
|
7
|
+
type Props = FieldWrapperProps<T, U, M> & {
|
|
8
|
+
class?: string | undefined;
|
|
9
|
+
icon?: Component<any, any, string> | undefined;
|
|
10
|
+
value?: string | undefined;
|
|
11
|
+
};
|
|
12
|
+
interface $$IsomorphicComponent {
|
|
13
|
+
new <T extends Record<string, unknown>, U extends FormPath<T>, M>(options: import("svelte").ComponentConstructorOptions<ReturnType<__sveltets_Render<T, U, M>["props"]>>): import("svelte").SvelteComponent<ReturnType<__sveltets_Render<T, U, M>["props"]>, ReturnType<__sveltets_Render<T, U, M>["events"]>, ReturnType<__sveltets_Render<T, U, M>["slots"]>> & {
|
|
14
|
+
$$bindings?: ReturnType<__sveltets_Render<T, U, M>["bindings"]>;
|
|
15
|
+
} & ReturnType<__sveltets_Render<T, U, M>["exports"]>;
|
|
16
|
+
<T extends Record<string, unknown>, U extends FormPath<T>, M>(internal: unknown, props: ReturnType<__sveltets_Render<T, U, M>["props"]> & {}): ReturnType<__sveltets_Render<T, U, M>["exports"]>;
|
|
17
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>["bindings"]>;
|
|
18
|
+
}
|
|
19
|
+
declare class __sveltets_Render<T extends Record<string, unknown>, U extends FormPath<T>, M> {
|
|
20
|
+
props(): ReturnType<typeof $$render<T, U, M>>["props"];
|
|
21
|
+
events(): ReturnType<typeof $$render<T, U, M>>["events"];
|
|
22
|
+
slots(): ReturnType<typeof $$render<T, U, M>>["slots"];
|
|
23
|
+
bindings(): "value";
|
|
24
|
+
exports(): {};
|
|
25
|
+
}
|
|
4
26
|
declare function $$render<T extends Record<string, unknown>, U extends FormPath<T>, M>(): {
|
|
5
27
|
props: FieldWrapperProps<T, U, M> & {
|
|
6
|
-
value?: string;
|
|
7
28
|
class?: string;
|
|
8
29
|
icon?: Component;
|
|
30
|
+
value?: string;
|
|
9
31
|
};
|
|
10
32
|
exports: {};
|
|
11
33
|
bindings: "value";
|
|
12
34
|
slots: {};
|
|
13
35
|
events: {};
|
|
14
36
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
events(): ReturnType<typeof $$render<T, U, M>>['events'];
|
|
18
|
-
slots(): ReturnType<typeof $$render<T, U, M>>['slots'];
|
|
19
|
-
bindings(): "value";
|
|
20
|
-
exports(): {};
|
|
21
|
-
}
|
|
22
|
-
interface $$IsomorphicComponent {
|
|
23
|
-
new <T extends Record<string, unknown>, U extends FormPath<T>, M>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, U, M>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, U, M>['props']>, ReturnType<__sveltets_Render<T, U, M>['events']>, ReturnType<__sveltets_Render<T, U, M>['slots']>> & {
|
|
24
|
-
$$bindings?: ReturnType<__sveltets_Render<T, U, M>['bindings']>;
|
|
25
|
-
} & ReturnType<__sveltets_Render<T, U, M>['exports']>;
|
|
26
|
-
<T extends Record<string, unknown>, U extends FormPath<T>, M>(internal: unknown, props: ReturnType<__sveltets_Render<T, U, M>['props']> & {}): ReturnType<__sveltets_Render<T, U, M>['exports']>;
|
|
27
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
|
|
28
|
-
}
|
|
29
|
-
declare const PasswordField: $$IsomorphicComponent;
|
|
30
|
-
type PasswordField<T extends Record<string, unknown>, U extends FormPath<T>, M> = InstanceType<typeof PasswordField<T, U, M>>;
|
|
31
|
-
export default PasswordField;
|
|
37
|
+
import { FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
38
|
+
import { Component } from 'svelte';
|
|
@@ -1,89 +1,94 @@
|
|
|
1
1
|
<script
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
generics="I,V, K extends number | string,T extends Record<string, unknown>, U extends FormPath<T>, M"
|
|
3
|
+
lang="ts"
|
|
4
4
|
>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Select,
|
|
8
|
-
SelectContent,
|
|
9
|
-
SelectGroup,
|
|
10
|
-
SelectItem,
|
|
11
|
-
SelectLabel,
|
|
12
|
-
SelectTrigger
|
|
13
|
-
} from '../../../shadcn/components/ui/select/index.js';
|
|
14
|
-
import { cn } from '../../../shadcn/utils.js';
|
|
15
|
-
import type { Component } from 'svelte';
|
|
16
|
-
import type { FormPath } from 'sveltekit-superforms';
|
|
17
|
-
import FieldWrapper, { type FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
5
|
+
import type { Component } from 'svelte';
|
|
6
|
+
import type { FormPath } from 'sveltekit-superforms';
|
|
18
7
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
let {
|
|
31
|
-
value = $bindable(undefined),
|
|
32
|
-
class: className,
|
|
33
|
-
getKey: _getKey,
|
|
34
|
-
getLabel,
|
|
35
|
-
getValue,
|
|
36
|
-
onchange,
|
|
37
|
-
placeholder,
|
|
38
|
-
items,
|
|
39
|
-
icon,
|
|
40
|
-
...fieldProps
|
|
41
|
-
}: Props = $props();
|
|
42
|
-
let valueToItem: Map<V, I> = new Map(items.map((item) => [getValue(item), item] as const));
|
|
43
|
-
let keyToItem: Map<string, I> = new Map(items.map((item) => [getKey(item), item] as const));
|
|
8
|
+
import IconInputWrapper from '../IconInputWrapper.svelte';
|
|
9
|
+
import {
|
|
10
|
+
Select,
|
|
11
|
+
SelectContent,
|
|
12
|
+
SelectGroup,
|
|
13
|
+
SelectItem,
|
|
14
|
+
SelectLabel,
|
|
15
|
+
SelectTrigger
|
|
16
|
+
} from '../../../shadcn/components/ui/select/index.js';
|
|
17
|
+
import { cn } from '../../../shadcn/utils.js';
|
|
44
18
|
|
|
45
|
-
|
|
46
|
-
function getKey(item: I) {
|
|
47
|
-
const key = _getKey(item);
|
|
48
|
-
return key.toString();
|
|
49
|
-
}
|
|
19
|
+
import FieldWrapper, { type FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
50
20
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
21
|
+
interface Props extends FieldWrapperProps<T, U, M> {
|
|
22
|
+
class?: string;
|
|
23
|
+
getKey: (item: I) => K;
|
|
24
|
+
getLabel: (item: I) => string;
|
|
25
|
+
getValue: (item: I) => V;
|
|
26
|
+
icon?: Component;
|
|
27
|
+
items: readonly I[];
|
|
28
|
+
onchange?: (value: undefined | V) => void;
|
|
29
|
+
placeholder: string;
|
|
30
|
+
value?: V;
|
|
31
|
+
}
|
|
32
|
+
let {
|
|
33
|
+
class: className,
|
|
34
|
+
getKey: _getKey,
|
|
35
|
+
getLabel,
|
|
36
|
+
getValue,
|
|
37
|
+
icon,
|
|
38
|
+
items,
|
|
39
|
+
onchange,
|
|
40
|
+
placeholder,
|
|
41
|
+
value = $bindable(undefined),
|
|
42
|
+
...fieldProps
|
|
43
|
+
}: Props = $props();
|
|
44
|
+
// Items property shouldn't be updated, ignore warning
|
|
45
|
+
// svelte-ignore state_referenced_locally
|
|
46
|
+
let valueToItem: Map<V, I> = new Map(items.map((item) => [getValue(item), item] as const));
|
|
47
|
+
// svelte-ignore state_referenced_locally
|
|
48
|
+
let keyToItem: Map<string, I> = new Map(items.map((item) => [getKey(item), item] as const));
|
|
57
49
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
50
|
+
// Enforce string key function
|
|
51
|
+
function getKey(item: I) {
|
|
52
|
+
const key = _getKey(item);
|
|
53
|
+
return key.toString();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function getKeyFromValue(): string {
|
|
57
|
+
if (value === undefined) return '';
|
|
58
|
+
const item = valueToItem.get(value);
|
|
59
|
+
if (item === undefined) return '';
|
|
60
|
+
return getKey(item);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function setValueFromKey(key: string) {
|
|
64
|
+
const item = keyToItem.get(key);
|
|
65
|
+
if (item === undefined) return;
|
|
66
|
+
const newValue = getValue(item);
|
|
67
|
+
value = newValue;
|
|
68
|
+
onchange?.(newValue);
|
|
69
|
+
}
|
|
65
70
|
</script>
|
|
66
71
|
|
|
67
72
|
<FieldWrapper {...fieldProps}>
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
73
|
+
{#snippet formElem(props)}
|
|
74
|
+
<Select type="single" {...props} bind:value={getKeyFromValue, setValueFromKey}>
|
|
75
|
+
<IconInputWrapper {icon}>
|
|
76
|
+
{#snippet children({ class: iconClass })}
|
|
77
|
+
<SelectTrigger class={cn('w-full cursor-pointer truncate', iconClass, className)}>
|
|
78
|
+
<span class="block truncate">
|
|
79
|
+
{value ? getLabel(valueToItem.get(value)!) : placeholder}
|
|
80
|
+
</span>
|
|
81
|
+
</SelectTrigger>
|
|
82
|
+
{/snippet}
|
|
83
|
+
</IconInputWrapper>
|
|
84
|
+
<SelectContent>
|
|
85
|
+
<SelectGroup>
|
|
86
|
+
<SelectLabel>{fieldProps.label}</SelectLabel>
|
|
87
|
+
{#each items as item (getKey(item))}
|
|
88
|
+
<SelectItem class="cursor-pointer" label={getLabel(item)} value={getKey(item)} />
|
|
89
|
+
{/each}
|
|
90
|
+
</SelectGroup>
|
|
91
|
+
</SelectContent>
|
|
92
|
+
</Select>
|
|
93
|
+
{/snippet}
|
|
89
94
|
</FieldWrapper>
|
|
@@ -1,37 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export default SelectField;
|
|
2
|
+
type SelectField<I, V, K extends number | string, T extends Record<string, unknown>, U extends FormPath<T>, M> = SvelteComponent<Props, {}, {}> & {
|
|
3
|
+
$$bindings?: "value" | undefined;
|
|
4
|
+
} & {};
|
|
5
|
+
declare const SelectField: $$IsomorphicComponent;
|
|
6
|
+
import { FormPath } from 'sveltekit-superforms';
|
|
7
|
+
type Props = FieldWrapperProps<T, U, M> & {
|
|
8
|
+
class?: string | undefined;
|
|
9
|
+
getKey: (item: I) => K;
|
|
10
|
+
getLabel: (item: I) => string;
|
|
11
|
+
getValue: (item: I) => V;
|
|
12
|
+
icon?: Component<any, any, string> | undefined;
|
|
13
|
+
items: readonly I[];
|
|
14
|
+
onchange?: ((value: V | undefined) => void) | undefined;
|
|
15
|
+
placeholder: string;
|
|
16
|
+
value?: V | undefined;
|
|
17
|
+
};
|
|
18
|
+
interface $$IsomorphicComponent {
|
|
19
|
+
new <I, V, K extends number | string, T extends Record<string, unknown>, U extends FormPath<T>, M>(options: import("svelte").ComponentConstructorOptions<ReturnType<__sveltets_Render<I, V, K, T, U, M>["props"]>>): import("svelte").SvelteComponent<ReturnType<__sveltets_Render<I, V, K, T, U, M>["props"]>, ReturnType<__sveltets_Render<I, V, K, T, U, M>["events"]>, ReturnType<__sveltets_Render<I, V, K, T, U, M>["slots"]>> & {
|
|
20
|
+
$$bindings?: ReturnType<__sveltets_Render<I, V, K, T, U, M>["bindings"]>;
|
|
21
|
+
} & ReturnType<__sveltets_Render<I, V, K, T, U, M>["exports"]>;
|
|
22
|
+
<I, V, K extends number | string, T extends Record<string, unknown>, U extends FormPath<T>, M>(internal: unknown, props: ReturnType<__sveltets_Render<I, V, K, T, U, M>["props"]> & {}): ReturnType<__sveltets_Render<I, V, K, T, U, M>["exports"]>;
|
|
23
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any, any, any, any>["bindings"]>;
|
|
24
|
+
}
|
|
25
|
+
declare class __sveltets_Render<I, V, K extends number | string, T extends Record<string, unknown>, U extends FormPath<T>, M> {
|
|
26
|
+
props(): ReturnType<typeof $$render<I, V, K, T, U, M>>["props"];
|
|
27
|
+
events(): ReturnType<typeof $$render<I, V, K, T, U, M>>["events"];
|
|
28
|
+
slots(): ReturnType<typeof $$render<I, V, K, T, U, M>>["slots"];
|
|
29
|
+
bindings(): "value";
|
|
30
|
+
exports(): {};
|
|
31
|
+
}
|
|
32
|
+
declare function $$render<I, V, K extends number | string, T extends Record<string, unknown>, U extends FormPath<T>, M>(): {
|
|
5
33
|
props: FieldWrapperProps<T, U, M> & {
|
|
6
|
-
|
|
7
|
-
items: readonly I[];
|
|
34
|
+
class?: string;
|
|
8
35
|
getKey: (item: I) => K;
|
|
9
36
|
getLabel: (item: I) => string;
|
|
10
37
|
getValue: (item: I) => V;
|
|
11
|
-
onchange?: (value: V | undefined) => void;
|
|
12
|
-
class?: string;
|
|
13
|
-
placeholder: string;
|
|
14
38
|
icon?: Component;
|
|
39
|
+
items: readonly I[];
|
|
40
|
+
onchange?: (value: undefined | V) => void;
|
|
41
|
+
placeholder: string;
|
|
42
|
+
value?: V;
|
|
15
43
|
};
|
|
16
44
|
exports: {};
|
|
17
45
|
bindings: "value";
|
|
18
46
|
slots: {};
|
|
19
47
|
events: {};
|
|
20
48
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
events(): ReturnType<typeof $$render<I, V, K, T, U, M>>['events'];
|
|
24
|
-
slots(): ReturnType<typeof $$render<I, V, K, T, U, M>>['slots'];
|
|
25
|
-
bindings(): "value";
|
|
26
|
-
exports(): {};
|
|
27
|
-
}
|
|
28
|
-
interface $$IsomorphicComponent {
|
|
29
|
-
new <I, V, K extends string | number, T extends Record<string, unknown>, U extends FormPath<T>, M>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<I, V, K, T, U, M>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<I, V, K, T, U, M>['props']>, ReturnType<__sveltets_Render<I, V, K, T, U, M>['events']>, ReturnType<__sveltets_Render<I, V, K, T, U, M>['slots']>> & {
|
|
30
|
-
$$bindings?: ReturnType<__sveltets_Render<I, V, K, T, U, M>['bindings']>;
|
|
31
|
-
} & ReturnType<__sveltets_Render<I, V, K, T, U, M>['exports']>;
|
|
32
|
-
<I, V, K extends string | number, T extends Record<string, unknown>, U extends FormPath<T>, M>(internal: unknown, props: ReturnType<__sveltets_Render<I, V, K, T, U, M>['props']> & {}): ReturnType<__sveltets_Render<I, V, K, T, U, M>['exports']>;
|
|
33
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any, any, any, any>['bindings']>;
|
|
34
|
-
}
|
|
35
|
-
declare const SelectField: $$IsomorphicComponent;
|
|
36
|
-
type SelectField<I, V, K extends string | number, T extends Record<string, unknown>, U extends FormPath<T>, M> = InstanceType<typeof SelectField<I, V, K, T, U, M>>;
|
|
37
|
-
export default SelectField;
|
|
49
|
+
import { FieldWrapperProps } from '../FieldWrapper.svelte';
|
|
50
|
+
import { Component } from 'svelte';
|