@webamoki/web-svelte 0.5.12 → 0.5.13

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.
@@ -0,0 +1,39 @@
1
+ <script lang="ts" generics="T extends Record<string, unknown>, U extends FormPath<T>, M">
2
+ import type { FormPath } from 'sveltekit-superforms';
3
+ import FieldWrapper, { type FieldWrapperProps } from '../FieldWrapper.svelte';
4
+ import { Input } from '../../../shadcn/components/ui/input/index.js';
5
+ import { CalendarDate } from '@internationalized/date';
6
+
7
+ interface Props extends FieldWrapperProps<T, U, M> {
8
+ value?: CalendarDate;
9
+ class?: string;
10
+ }
11
+ let { value = $bindable(), class: className, ...fieldProps }: Props = $props();
12
+
13
+ // Getter: format CalendarDate → string (YYYY-MM-DD)
14
+ function get(): string {
15
+ if (!value) return '';
16
+ const yyyy = String(value.year).padStart(4, '0');
17
+ const mm = String(value.month).padStart(2, '0');
18
+ const dd = String(value.day).padStart(2, '0');
19
+ return `${yyyy}-${mm}-${dd}`;
20
+ }
21
+
22
+ // Setter: parse string → CalendarDate
23
+ function set(raw: string) {
24
+ if (!raw) {
25
+ value = undefined;
26
+ return;
27
+ }
28
+ const [yyyy, mm, dd] = raw.split('-').map(Number);
29
+ if (yyyy && mm && dd) {
30
+ value = new CalendarDate(yyyy, mm, dd);
31
+ }
32
+ }
33
+ </script>
34
+
35
+ <FieldWrapper {...fieldProps}>
36
+ {#snippet formElem(props)}
37
+ <Input type="date" bind:value={get, set} class={className} {...props} />
38
+ {/snippet}
39
+ </FieldWrapper>
@@ -0,0 +1,30 @@
1
+ import type { FormPath } from 'sveltekit-superforms';
2
+ import { type FieldWrapperProps } from '../FieldWrapper.svelte';
3
+ import { CalendarDate } from '@internationalized/date';
4
+ declare function $$render<T extends Record<string, unknown>, U extends FormPath<T>, M>(): {
5
+ props: FieldWrapperProps<T, U, M> & {
6
+ value?: CalendarDate;
7
+ class?: string;
8
+ };
9
+ exports: {};
10
+ bindings: "value";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends Record<string, unknown>, U extends FormPath<T>, M> {
15
+ props(): ReturnType<typeof $$render<T, U, M>>['props'];
16
+ events(): ReturnType<typeof $$render<T, U, M>>['events'];
17
+ slots(): ReturnType<typeof $$render<T, U, M>>['slots'];
18
+ bindings(): "value";
19
+ exports(): {};
20
+ }
21
+ interface $$IsomorphicComponent {
22
+ 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']>> & {
23
+ $$bindings?: ReturnType<__sveltets_Render<T, U, M>['bindings']>;
24
+ } & ReturnType<__sveltets_Render<T, U, M>['exports']>;
25
+ <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']>;
26
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
27
+ }
28
+ declare const DateField: $$IsomorphicComponent;
29
+ type DateField<T extends Record<string, unknown>, U extends FormPath<T>, M> = InstanceType<typeof DateField<T, U, M>>;
30
+ export default DateField;
@@ -3,6 +3,7 @@ import Button from './Button.svelte';
3
3
  import TextField from './fields/TextField.svelte';
4
4
  import TextFieldNullable from './fields/TextFieldNullable.svelte';
5
5
  import TimeField from './fields/TimeField.svelte';
6
+ import DateField from './fields/DateField.svelte';
6
7
  import NumberField from './fields/NumberField.svelte';
7
8
  import SelectField from './fields/SelectField.svelte';
8
9
  import PasswordField from './fields/PasswordField.svelte';
@@ -11,4 +12,4 @@ import ChoiceField from './fields/ChoiceField.svelte';
11
12
  import ChoiceMultiField from './fields/ChoiceMultiField.svelte';
12
13
  import WeekdayChoiceField from './fields/WeekdayChoiceField.svelte';
13
14
  import WeekdayChoiceMultiField from './fields/WeekdayChoiceMultiField.svelte';
14
- export { Form, Button, TextField, TextFieldNullable, TimeField, NumberField, SelectField, PasswordField, HexColorField, ChoiceField, ChoiceMultiField, WeekdayChoiceField, WeekdayChoiceMultiField };
15
+ export { Form, Button, TextField, TextFieldNullable, TimeField, DateField, NumberField, SelectField, PasswordField, HexColorField, ChoiceField, ChoiceMultiField, WeekdayChoiceField, WeekdayChoiceMultiField };
@@ -3,6 +3,7 @@ import Button from './Button.svelte';
3
3
  import TextField from './fields/TextField.svelte';
4
4
  import TextFieldNullable from './fields/TextFieldNullable.svelte';
5
5
  import TimeField from './fields/TimeField.svelte';
6
+ import DateField from './fields/DateField.svelte';
6
7
  import NumberField from './fields/NumberField.svelte';
7
8
  import SelectField from './fields/SelectField.svelte';
8
9
  import PasswordField from './fields/PasswordField.svelte';
@@ -11,4 +12,4 @@ import ChoiceField from './fields/ChoiceField.svelte';
11
12
  import ChoiceMultiField from './fields/ChoiceMultiField.svelte';
12
13
  import WeekdayChoiceField from './fields/WeekdayChoiceField.svelte';
13
14
  import WeekdayChoiceMultiField from './fields/WeekdayChoiceMultiField.svelte';
14
- export { Form, Button, TextField, TextFieldNullable, TimeField, NumberField, SelectField, PasswordField, HexColorField, ChoiceField, ChoiceMultiField, WeekdayChoiceField, WeekdayChoiceMultiField };
15
+ export { Form, Button, TextField, TextFieldNullable, TimeField, DateField, NumberField, SelectField, PasswordField, HexColorField, ChoiceField, ChoiceMultiField, WeekdayChoiceField, WeekdayChoiceMultiField };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.5.12",
6
+ "version": "0.5.13",
7
7
  "license": "MIT",
8
8
  "files": [
9
9
  "dist",