svelte-ag 1.1.13 → 1.1.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"form.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/api/form.svelte.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/api/form.svelte.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,6 @@ export function createFormFunction(schemas, request) {
17
17
  const schema = schemas[path]?.[method];
18
18
  if (schema === undefined)
19
19
  throw new Error('Invalid schema for form');
20
- // if (typeof schema === 'function') {
21
- // schema = schema();
22
- // }
23
20
  const defaultFormData = defaults(defaultValue, valibot(schema));
24
21
  const boundFormData = bind && schema.async === false
25
22
  ? safeParse(schema, bind.get(defaultFormData)).output
@@ -32,6 +29,7 @@ export function createFormFunction(schemas, request) {
32
29
  validators: valibot(schema),
33
30
  async onSubmit({ submitter }) {
34
31
  // If a submit button has a name/value, include it in JSON forms (common for "intent" buttons).
32
+ // eg. save with email vs save
35
33
  if (submitter &&
36
34
  'name' in submitter &&
37
35
  typeof submitter.name === 'string' &&
@@ -1,18 +1,65 @@
1
+ <!--
2
+ @component FormFieldFull
3
+ Renders all elements of a form field. If a simple Input element is all you don't
4
+ need to provide a child
5
+
6
+ ```svelte
7
+ <ContactField
8
+ class="z-5 w-full self-start"
9
+ {form}
10
+ name="fields.name"
11
+ inputProps={{ type: 'text', placeholder: 'Enter your name' }}
12
+ label="Name"
13
+ />
14
+ ```
15
+
16
+ For custom input elements like TextArea you will need to pass a child. Everything
17
+ else is the same just bind the value prop as so:
18
+
19
+ ```svelte
20
+ <ContactField
21
+ class="z-5 w-full self-start"
22
+ {form}
23
+ name="fields.name"
24
+ inputProps={{ type: 'text', placeholder: 'Enter your name' }}
25
+ label="Name"
26
+ >
27
+ {#snippet child({ props, value })}
28
+ <Textarea {...props} bind:value={value.get, value.set} class="z-5 w-full" />
29
+ {/snippet}
30
+ </ContactField>
31
+
32
+ ```
33
+
34
+ -->
35
+
1
36
  <script module lang="ts">
2
37
  export type FormFullFieldProps<T extends Record<string, unknown>, U extends FormPath<T>> = FormFieldProps<T, U> & {
3
38
  label: string;
4
39
  description?: string;
5
40
  inputProps?: HTMLInputAttributes;
41
+ /**
42
+ * Pass this snippet to customise the input for the field.
43
+ * You are responsible for binding to the value eg
44
+ * <Textarea {...props} bind:value={value.get, value.set} class="z-5 w-full"
45
+ */
46
+ child?: Snippet<
47
+ [
48
+ Parameters<NonNullable<ComponentProps<typeof FormControl>['children']>>[0] & {
49
+ value: { get: () => any; set: (v: any) => void };
50
+ }
51
+ ]
52
+ >;
6
53
  } & WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>>;
7
54
  </script>
8
55
 
9
56
  <script lang="ts" generics="T extends Record<string, unknown>, U extends FormPath<T>">
10
- import Field, { type FormFieldProps } from './form-field.svelte';
11
- import Label from './form-label.svelte';
57
+ import FormField, { type FormFieldProps } from './form-field.svelte';
58
+ import FormLabel from './form-label.svelte';
12
59
  import Description from './form-description.svelte';
13
60
  import FieldErrors from './form-field-errors.svelte';
14
61
  import { Input } from '$shadcn/input/index.js';
15
- import * as Form from 'formsnap';
62
+ import { Control as FormControl } from 'formsnap';
16
63
  import { type FormPath } from 'sveltekit-superforms';
17
64
  import { get, set } from 'radash';
18
65
  import { type WithElementRef, type WithoutChildren } from 'svelte-toolbelt';
@@ -20,6 +67,8 @@
20
67
  import type { HTMLAttributes, HTMLInputAttributes } from 'svelte/elements';
21
68
  import { mergeProps } from 'svelte-toolbelt';
22
69
  import { getFormContext } from './form.svelte';
70
+ import type { ComponentProps, Snippet } from 'svelte';
71
+ import { Checkbox } from '$shadcn/checkbox/index.js';
23
72
 
24
73
  let {
25
74
  ref = $bindable(null),
@@ -29,23 +78,40 @@
29
78
  label,
30
79
  description = '',
31
80
  inputProps,
81
+ child,
32
82
  ...restProps
33
83
  }: FormFullFieldProps<T, U> = $props();
34
84
 
35
85
  const formData = $derived(form.form);
36
86
  </script>
37
87
 
38
- <Field {form} {name} class={cn(className)} {...restProps}>
39
- <Form.Control>
88
+ <FormField {form} {name} class={cn(className)} {...restProps}>
89
+ <FormControl>
40
90
  {#snippet children({ props })}
41
- {@const inProps = mergeProps({ ...inputProps, ...props }) as typeof props}
42
- <Label>{label}</Label>
91
+ {@const inProps = mergeProps({
92
+ class: cn(),
93
+ ...inputProps,
94
+ ...props
95
+ }) as typeof props}
96
+ <FormLabel>{label}</FormLabel>
43
97
 
44
- <!-- get and set because we need to dynamically index $formData -->
45
- <Input {...inProps} bind:value={() => get($formData, name), (v) => ($formData = set($formData, name, v))} />
98
+ <!-- radash.get and radash.set because we need to dynamically index $formData -->
99
+ {#if child}
100
+ {@render child({
101
+ props: inProps,
102
+ value: { get: () => get($formData, name), set: (v) => ($formData = set($formData, name, v)) }
103
+ })}
104
+ {:else if inputProps?.type === 'checkbox'}
105
+ <Checkbox
106
+ {...inProps}
107
+ bind:checked={() => get($formData, name), (v) => ($formData = set($formData, name, v))}
108
+ />
109
+ {:else}
110
+ <Input {...inProps} bind:value={() => get($formData, name), (v) => ($formData = set($formData, name, v))} />
111
+ {/if}
46
112
  {/snippet}
47
- </Form.Control>
113
+ </FormControl>
48
114
 
49
115
  <Description>{description}</Description>
50
116
  <FieldErrors />
51
- </Field>
117
+ </FormField>
@@ -2,11 +2,26 @@ export type FormFullFieldProps<T extends Record<string, unknown>, U extends Form
2
2
  label: string;
3
3
  description?: string;
4
4
  inputProps?: HTMLInputAttributes;
5
+ /**
6
+ * Pass this snippet to customise the input for the field.
7
+ * You are responsible for binding to the value eg
8
+ * <Textarea {...props} bind:value={value.get, value.set} class="z-5 w-full"
9
+ */
10
+ child?: Snippet<[
11
+ Parameters<NonNullable<ComponentProps<typeof FormControl>['children']>>[0] & {
12
+ value: {
13
+ get: () => any;
14
+ set: (v: any) => void;
15
+ };
16
+ }
17
+ ]>;
5
18
  } & WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>>;
6
19
  import { type FormFieldProps } from './form-field.svelte';
20
+ import { Control as FormControl } from 'formsnap';
7
21
  import { type FormPath } from 'sveltekit-superforms';
8
22
  import { type WithElementRef, type WithoutChildren } from 'svelte-toolbelt';
9
23
  import type { HTMLAttributes, HTMLInputAttributes } from 'svelte/elements';
24
+ import type { ComponentProps, Snippet } from 'svelte';
10
25
  declare function $$render<T extends Record<string, unknown>, U extends FormPath<T>>(): {
11
26
  props: FormFullFieldProps<T, U>;
12
27
  exports: {};
@@ -28,6 +43,39 @@ interface $$IsomorphicComponent {
28
43
  <T extends Record<string, unknown>, U extends FormPath<T>>(internal: unknown, props: ReturnType<__sveltets_Render<T, U>['props']> & {}): ReturnType<__sveltets_Render<T, U>['exports']>;
29
44
  z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
30
45
  }
46
+ /**
47
+ * FormFieldFull
48
+ * Renders all elements of a form field. If a simple Input element is all you don't
49
+ * need to provide a child
50
+ *
51
+ * ```svelte
52
+ * <ContactField
53
+ * class="z-5 w-full self-start"
54
+ * {form}
55
+ * name="fields.name"
56
+ * inputProps={{ type: 'text', placeholder: 'Enter your name' }}
57
+ * label="Name"
58
+ * />
59
+ * ```
60
+ *
61
+ * For custom input elements like TextArea you will need to pass a child. Everything
62
+ * else is the same just bind the value prop as so:
63
+ *
64
+ * ```svelte
65
+ * <ContactField
66
+ * class="z-5 w-full self-start"
67
+ * {form}
68
+ * name="fields.name"
69
+ * inputProps={{ type: 'text', placeholder: 'Enter your name' }}
70
+ * label="Name"
71
+ * >
72
+ * {#snippet child({ props, value })}
73
+ * <Textarea {...props} bind:value={value.get, value.set} class="z-5 w-full" />
74
+ * {/snippet}
75
+ * </ContactField>
76
+ *
77
+ * ```
78
+ */
31
79
  declare const FormFieldFull: $$IsomorphicComponent;
32
80
  type FormFieldFull<T extends Record<string, unknown>, U extends FormPath<T>> = InstanceType<typeof FormFieldFull<T, U>>;
33
81
  export default FormFieldFull;
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-full.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/form/form-field-full.svelte.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-field-full.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/form/form-field-full.svelte.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import * as _$svelte from "svelte";
2
+ import { ComponentProps, Snippet } from "svelte";
2
3
  import { WithElementRef, WithoutChild } from "bits-ui";
3
4
  import { HTMLAttributes, HTMLFormAttributes, HTMLInputAttributes } from "svelte/elements";
4
5
  import { FormPath, FormPathLeaves, SuperForm } from "sveltekit-superforms";
5
6
  import * as FormPrimitive from "formsnap";
6
- import { Control } from "formsnap";
7
+ import { Control, Control as Control$1 } from "formsnap";
7
8
  import { WithChild, WithElementRef as WithElementRef$1, WithoutChild as WithoutChild$1, WithoutChildren } from "svelte-toolbelt";
8
9
  import { Props } from "$shadcn/button/index.js";
9
10
 
@@ -65,6 +66,17 @@ type FormFullFieldProps<T extends Record<string, unknown>, U extends FormPath<T>
65
66
  label: string;
66
67
  description?: string;
67
68
  inputProps?: HTMLInputAttributes;
69
+ /**
70
+ * Pass this snippet to customise the input for the field.
71
+ * You are responsible for binding to the value eg
72
+ * <Textarea {...props} bind:value={value.get, value.set} class="z-5 w-full"
73
+ */
74
+ child?: Snippet<[Parameters<NonNullable<ComponentProps<typeof Control$1>['children']>>[0] & {
75
+ value: {
76
+ get: () => any;
77
+ set: (v: any) => void;
78
+ };
79
+ }]>;
68
80
  } & WithoutChildren<WithElementRef$1<HTMLAttributes<HTMLDivElement>>>;
69
81
  declare function $$render$3<T extends Record<string, unknown>, U extends FormPath<T>>(): {
70
82
  props: FormFullFieldProps<T, U>;
@@ -87,6 +99,39 @@ interface $$IsomorphicComponent$3 {
87
99
  <T extends Record<string, unknown>, U extends FormPath<T>>(internal: unknown, props: ReturnType<__sveltets_Render$3<T, U>['props']> & {}): ReturnType<__sveltets_Render$3<T, U>['exports']>;
88
100
  z_$$bindings?: ReturnType<__sveltets_Render$3<any, any>['bindings']>;
89
101
  }
102
+ /**
103
+ * FormFieldFull
104
+ * Renders all elements of a form field. If a simple Input element is all you don't
105
+ * need to provide a child
106
+ *
107
+ * ```svelte
108
+ * <ContactField
109
+ * class="z-5 w-full self-start"
110
+ * {form}
111
+ * name="fields.name"
112
+ * inputProps={{ type: 'text', placeholder: 'Enter your name' }}
113
+ * label="Name"
114
+ * />
115
+ * ```
116
+ *
117
+ * For custom input elements like TextArea you will need to pass a child. Everything
118
+ * else is the same just bind the value prop as so:
119
+ *
120
+ * ```svelte
121
+ * <ContactField
122
+ * class="z-5 w-full self-start"
123
+ * {form}
124
+ * name="fields.name"
125
+ * inputProps={{ type: 'text', placeholder: 'Enter your name' }}
126
+ * label="Name"
127
+ * >
128
+ * {#snippet child({ props, value })}
129
+ * <Textarea {...props} bind:value={value.get, value.set} class="z-5 w-full" />
130
+ * {/snippet}
131
+ * </ContactField>
132
+ *
133
+ * ```
134
+ */
90
135
  declare const FormFieldFull: $$IsomorphicComponent$3;
91
136
  type FormFieldFull<T extends Record<string, unknown>, U extends FormPath<T>> = InstanceType<typeof FormFieldFull<T, U>>;
92
137
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["FormContext","T","U","Record","SuperForm","setFormContext","form","getFormContext","FormRootProps","HTMLFormAttributes","WithElementRef","Form","_$svelte","Component","ReturnType","default","FormPrimitive","FormDescription","DescriptionProps","Omit","_$svelte","Component","ReturnType","default","FormPrimitive","FormLabel","LabelProps","Omit","_$svelte","Component","ReturnType","default","FormPrimitive","WithoutChild","$$ComponentProps","FieldErrorsProps","errorClasses","FormFieldErrors","_$svelte","Component","ReturnType","default","FormFieldProps","T","U","Record","FormPath","FormPrimitive","FieldProps","Omit","HTMLDivElement","HTMLAttributes","WithElementRef","WithoutChildren","form","$$render","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormField","InstanceType","default","FormFullFieldProps","T","U","Record","FormPath","FormFieldProps","HTMLInputAttributes","HTMLDivElement","HTMLAttributes","WithElementRef","WithoutChildren","label","description","inputProps","$$render","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormFieldFull","InstanceType","default","FormPrimitive","FormPath","WithoutChild","$$render","T","U","Record","FieldsetProps","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormFieldset","InstanceType","default","FormPrimitive","FormLegend","LegendProps","Omit","_$svelte","Component","ReturnType","default","FormPrimitive","FormPathLeaves","HTMLAttributes","WithElementRef","$$render","T","U","Record","HTMLDivElement","Omit","ElementFieldProps","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormElementField","InstanceType","default","FormFieldProps","FormPath","Props","ButtonProps","FormButtonProps","T","U","Record","Omit","form","name","$$render","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormButton","InstanceType","default","WithRefProps","getDataOpenClosed","condition","getDataChecked","getAriaDisabled","getAriaReadonly","getAriaExpanded","getDataDisabled","getAriaRequired","getAriaSelected","getAriaChecked","checked","indeterminate","getAriaOrientation","orientation","getAriaHidden","getAriaInvalid","getDataOrientation","getDataInvalid","getDataRequired","getDataReadonly","getDataSelected","getDataUnavailable","getHidden","getDisabled","getAriaPressed","getRequired","HTMLFormAttributes","HTMLAttributes","BitsPrimitive","T","Omit","id","BitsPrimitiveFormAttributes","HTMLDivAttributes","HTMLDivElement","Test","test","WithChild","HTMLDivAttributes","FormMessage","Omit","_$svelte","Component","message","ReturnType","default"],"sources":["../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-description.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-label.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-field-errors.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-field.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-field-full.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-fieldset.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-legend.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-element-field.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-button.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/utils/bits.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-message.svelte.d.ts"],"mappings":";;;;;;;;;;KAAYA,WAAAA,WAAsBG,MAAAA,wBAA8BC,SAAAA,CAAUH,CAAAA,EAAGC,CAAAA;AAAAA,iBACrDG,cAAAA,WAAyBF,MAAAA,qBAAAA,CAA4BG,IAAAA,EAAMN,WAAAA,CAAYC,CAAAA,EAAGC,CAAAA;AAAAA,iBAC1EK,cAAAA,WAAyBJ,MAAAA,qBAAAA,CAAAA,GAA+BH,WAAAA,CAAYC,CAAAA,EAAGC,CAAAA;AAAAA,KACnFM,aAAAA,GAAgBE,cAAAA,CAAeD,kBAAAA;EACvCH,IAAAA,EAAMF,SAAAA;AAAAA;AAAAA,cAKIO,IAAAA,EAA8CC,QAAAA,CAAvBC,SAAAA,CAAUL,aAAAA;AAAAA,KAC1CG,IAAAA,GAAOG,UAAAA,QAAkBH,IAAAA;;;cCThBM,eAAAA,EAAgDG,QAAAA,CAAdC,SAAAA,CAAUF,IAAAA,CAAKH,aAAAA,CAAcE,gBAAAA;AAAAA,KACxED,eAAAA,GAAkBK,UAAAA,QAAkBL,eAAAA;;;cCD3BQ,SAAAA,EAA0CG,QAAAA,CAAdC,SAAAA,CAAUF,IAAAA,CAAKH,aAAAA,CAAcE,UAAAA;AAAAA,KAClED,SAAAA,GAAYK,UAAAA,QAAkBL,SAAAA;;;KCA9BS,gBAAAA,GAAmBD,cAAAA,CAAaD,aAAAA,CAAcG,gBAAAA;EAC/CC,YAAAA;AAAAA;AAAAA,cAEUC,eAAAA,EAA4DC,QAAAA,CAA1BC,SAAAA,CAAUL,gBAAAA;AAAAA,KACrDG,eAAAA,GAAkBG,UAAAA,QAAkBH,eAAAA;;;KCN7BK,cAAAA,WAAyBG,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,KAAMM,IAAAA,CAAKF,aAAAA,CAAcC,UAAAA,CAAWL,CAAAA,EAAGC,CAAAA;EACpHU,IAAAA,GAAOP,aAAAA,CAAcC,UAAAA,CAAWL,CAAAA,EAAGC,CAAAA;AAAAA,IACnCS,eAAAA,CAAgBD,gBAAAA,CAAeD,cAAAA,CAAeD,cAAAA;AAAAA,iBAKjCK,UAAAA,WAAmBV,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,EAAAA,CAAAA;EAC5Ea,KAAAA,EAAOd,cAAAA,CAAeC,CAAAA,EAAGC,CAAAA;EACzBa,OAAAA;EACAC,QAAAA;EACAC,KAAAA;EACAC,MAAAA;AAAAA;AAAAA,cAEUC,mBAAAA,WAA4BhB,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA;EAClFa,KAAAA,CAAAA,GAASM,UAAAA,QAAkBP,UAAAA,CAASZ,CAAAA,EAAGC,CAAAA;EACvCgB,MAAAA,CAAAA,GAAUE,UAAAA,QAAkBP,UAAAA,CAASZ,CAAAA,EAAGC,CAAAA;EACxCe,KAAAA,CAAAA,GAASG,UAAAA,QAAkBP,UAAAA,CAASZ,CAAAA,EAAGC,CAAAA;EACvCc,QAAAA,CAAAA;EACAD,OAAAA,CAAAA;AAAAA;AAAAA,UAEMM,uBAAAA;EAAAA,eACSlB,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,GAAIwB,OAAAA,EAAgEH,QAAAA,CAAtCC,2BAAAA,CAA4BH,UAAAA,CAAWD,mBAAAA,CAAkBlB,CAAAA,EAAGC,CAAAA,eAAwJoB,QAAAA,CAAvHE,eAAAA,CAAgBJ,UAAAA,CAAWD,mBAAAA,CAAkBlB,CAAAA,EAAGC,CAAAA,aAAckB,UAAAA,CAAWD,mBAAAA,CAAkBlB,CAAAA,EAAGC,CAAAA,cAAekB,UAAAA,CAAWD,mBAAAA,CAAkBlB,CAAAA,EAAGC,CAAAA;IAC/TwB,UAAAA,GAAaN,UAAAA,CAAWD,mBAAAA,CAAkBlB,CAAAA,EAAGC,CAAAA;EAAAA,IAC7CkB,UAAAA,CAAWD,mBAAAA,CAAkBlB,CAAAA,EAAGC,CAAAA;EAAAA,WACzBC,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,GAAI0B,QAAAA,WAAmBb,KAAAA,EAAOM,UAAAA,CAAWD,mBAAAA,CAAkBlB,CAAAA,EAAGC,CAAAA,mBAAoBkB,UAAAA,CAAWD,mBAAAA,CAAkBlB,CAAAA,EAAGC,CAAAA;EACzK0B,YAAAA,GAAeR,UAAAA,CAAWD,mBAAAA;AAAAA;AAAAA,cAEhBU,SAAAA,EAAWR,uBAAAA;AAAAA,KACpBQ,SAAAA,WAAoB1B,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,KAAM6B,YAAAA,QAAoBD,SAAAA,CAAU5B,CAAAA,EAAGC,CAAAA;;;KC7BhG8B,kBAAAA,WAA6BG,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,KAAMI,cAAAA,CAAeJ,CAAAA,EAAGC,CAAAA;EACzGS,KAAAA;EACAC,WAAAA;EACAC,UAAAA,GAAaP,mBAAAA;AAAAA,IACbI,eAAAA,CAAgBD,gBAAAA,CAAeD,cAAAA,CAAeD,cAAAA;AAAAA,iBAKjCO,UAAAA,WAAmBX,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,EAAAA,CAAAA;EAC5Ec,KAAAA,EAAOf,kBAAAA,CAAmBC,CAAAA,EAAGC,CAAAA;EAC7Bc,OAAAA;EACAC,QAAAA;EACAC,KAAAA;EACAC,MAAAA;AAAAA;AAAAA,cAEUC,mBAAAA,WAA4BjB,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA;EAClFc,KAAAA,CAAAA,GAASM,UAAAA,QAAkBP,UAAAA,CAASb,CAAAA,EAAGC,CAAAA;EACvCiB,MAAAA,CAAAA,GAAUE,UAAAA,QAAkBP,UAAAA,CAASb,CAAAA,EAAGC,CAAAA;EACxCgB,KAAAA,CAAAA,GAASG,UAAAA,QAAkBP,UAAAA,CAASb,CAAAA,EAAGC,CAAAA;EACvCe,QAAAA,CAAAA;EACAD,OAAAA,CAAAA;AAAAA;AAAAA,UAEMM,uBAAAA;EAAAA,eACSnB,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,GAAIyB,OAAAA,EAAgEH,QAAAA,CAAtCC,2BAAAA,CAA4BH,UAAAA,CAAWD,mBAAAA,CAAkBnB,CAAAA,EAAGC,CAAAA,eAAwJqB,QAAAA,CAAvHE,eAAAA,CAAgBJ,UAAAA,CAAWD,mBAAAA,CAAkBnB,CAAAA,EAAGC,CAAAA,aAAcmB,UAAAA,CAAWD,mBAAAA,CAAkBnB,CAAAA,EAAGC,CAAAA,cAAemB,UAAAA,CAAWD,mBAAAA,CAAkBnB,CAAAA,EAAGC,CAAAA;IAC/TyB,UAAAA,GAAaN,UAAAA,CAAWD,mBAAAA,CAAkBnB,CAAAA,EAAGC,CAAAA;EAAAA,IAC7CmB,UAAAA,CAAWD,mBAAAA,CAAkBnB,CAAAA,EAAGC,CAAAA;EAAAA,WACzBC,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,GAAI2B,QAAAA,WAAmBb,KAAAA,EAAOM,UAAAA,CAAWD,mBAAAA,CAAkBnB,CAAAA,EAAGC,CAAAA,mBAAoBmB,UAAAA,CAAWD,mBAAAA,CAAkBnB,CAAAA,EAAGC,CAAAA;EACzK2B,YAAAA,GAAeR,UAAAA,CAAWD,mBAAAA;AAAAA;AAAAA,cAEhBU,aAAAA,EAAeR,uBAAAA;AAAAA,KACxBQ,aAAAA,WAAwB3B,MAAAA,6BAAmCC,QAAAA,CAASH,CAAAA,KAAM8B,YAAAA,QAAoBD,aAAAA,CAAc7B,CAAAA,EAAGC,CAAAA;;;iBC5BnGkC,UAAAA,WAAmBG,MAAAA,6BAAmCL,QAAAA,CAASG,CAAAA,EAAAA,CAAAA;EAC5EI,KAAAA,EAAON,YAAAA,CAAaF,aAAAA,CAAcO,aAAAA,CAAcH,CAAAA,EAAGC,CAAAA;EACnDI,OAAAA;EACAC,QAAAA;EACAC,KAAAA;EACAC,MAAAA;AAAAA;AAAAA,cAEUC,mBAAAA,WAA4BP,MAAAA,6BAAmCL,QAAAA,CAASG,CAAAA;EAClFI,KAAAA,CAAAA,GAASM,UAAAA,QAAkBX,UAAAA,CAASC,CAAAA,EAAGC,CAAAA;EACvCO,MAAAA,CAAAA,GAAUE,UAAAA,QAAkBX,UAAAA,CAASC,CAAAA,EAAGC,CAAAA;EACxCM,KAAAA,CAAAA,GAASG,UAAAA,QAAkBX,UAAAA,CAASC,CAAAA,EAAGC,CAAAA;EACvCK,QAAAA,CAAAA;EACAD,OAAAA,CAAAA;AAAAA;AAAAA,UAEMM,uBAAAA;EAAAA,eACST,MAAAA,6BAAmCL,QAAAA,CAASG,CAAAA,GAAIe,OAAAA,EAAgEH,QAAAA,CAAtCC,2BAAAA,CAA4BH,UAAAA,CAAWD,mBAAAA,CAAkBT,CAAAA,EAAGC,CAAAA,eAAwJW,QAAAA,CAAvHE,eAAAA,CAAgBJ,UAAAA,CAAWD,mBAAAA,CAAkBT,CAAAA,EAAGC,CAAAA,aAAcS,UAAAA,CAAWD,mBAAAA,CAAkBT,CAAAA,EAAGC,CAAAA,cAAeS,UAAAA,CAAWD,mBAAAA,CAAkBT,CAAAA,EAAGC,CAAAA;IAC/Te,UAAAA,GAAaN,UAAAA,CAAWD,mBAAAA,CAAkBT,CAAAA,EAAGC,CAAAA;EAAAA,IAC7CS,UAAAA,CAAWD,mBAAAA,CAAkBT,CAAAA,EAAGC,CAAAA;EAAAA,WACzBC,MAAAA,6BAAmCL,QAAAA,CAASG,CAAAA,GAAIiB,QAAAA,WAAmBb,KAAAA,EAAOM,UAAAA,CAAWD,mBAAAA,CAAkBT,CAAAA,EAAGC,CAAAA,mBAAoBS,UAAAA,CAAWD,mBAAAA,CAAkBT,CAAAA,EAAGC,CAAAA;EACzKiB,YAAAA,GAAeR,UAAAA,CAAWD,mBAAAA;AAAAA;AAAAA,cAEhBU,YAAAA,EAAcR,uBAAAA;AAAAA,KACvBQ,YAAAA,WAAuBjB,MAAAA,6BAAmCL,QAAAA,CAASG,CAAAA,KAAMoB,YAAAA,QAAoBD,YAAAA,CAAanB,CAAAA,EAAGC,CAAAA;;;cCxBpGsB,UAAAA,EAA2CG,QAAAA,CAAdC,SAAAA,CAAUF,IAAAA,CAAKH,aAAAA,CAAcE,WAAAA;AAAAA,KACnED,UAAAA,GAAaK,UAAAA,QAAkBL,UAAAA;;;iBCEnBW,UAAAA,WAAmBG,MAAAA,6BAAmCN,cAAAA,CAAeI,CAAAA,EAAAA,CAAAA;EAClFM,KAAAA,EAAOF,IAAAA,CAAKN,cAAAA,CAAeD,cAAAA,CAAeM,cAAAA,kBAAgCR,aAAAA,CAAcU,iBAAAA,CAAkBL,CAAAA,EAAGC,CAAAA;EAC7GM,OAAAA;EACAC,QAAAA;EACAC,KAAAA;EACAC,MAAAA;AAAAA;AAAAA,cAEUC,mBAAAA,WAA4BT,MAAAA,6BAAmCN,cAAAA,CAAeI,CAAAA;EACxFM,KAAAA,CAAAA,GAASM,UAAAA,QAAkBb,UAAAA,CAASC,CAAAA,EAAGC,CAAAA;EACvCS,MAAAA,CAAAA,GAAUE,UAAAA,QAAkBb,UAAAA,CAASC,CAAAA,EAAGC,CAAAA;EACxCQ,KAAAA,CAAAA,GAASG,UAAAA,QAAkBb,UAAAA,CAASC,CAAAA,EAAGC,CAAAA;EACvCO,QAAAA,CAAAA;EACAD,OAAAA,CAAAA;AAAAA;AAAAA,UAEMM,uBAAAA;EAAAA,eACSX,MAAAA,6BAAmCN,cAAAA,CAAeI,CAAAA,GAAIiB,OAAAA,EAAgEH,QAAAA,CAAtCC,2BAAAA,CAA4BH,UAAAA,CAAWD,mBAAAA,CAAkBX,CAAAA,EAAGC,CAAAA,eAAwJa,QAAAA,CAAvHE,eAAAA,CAAgBJ,UAAAA,CAAWD,mBAAAA,CAAkBX,CAAAA,EAAGC,CAAAA,aAAcW,UAAAA,CAAWD,mBAAAA,CAAkBX,CAAAA,EAAGC,CAAAA,cAAeW,UAAAA,CAAWD,mBAAAA,CAAkBX,CAAAA,EAAGC,CAAAA;IACrUiB,UAAAA,GAAaN,UAAAA,CAAWD,mBAAAA,CAAkBX,CAAAA,EAAGC,CAAAA;EAAAA,IAC7CW,UAAAA,CAAWD,mBAAAA,CAAkBX,CAAAA,EAAGC,CAAAA;EAAAA,WACzBC,MAAAA,6BAAmCN,cAAAA,CAAeI,CAAAA,GAAImB,QAAAA,WAAmBb,KAAAA,EAAOM,UAAAA,CAAWD,mBAAAA,CAAkBX,CAAAA,EAAGC,CAAAA,mBAAoBW,UAAAA,CAAWD,mBAAAA,CAAkBX,CAAAA,EAAGC,CAAAA;EAC/KmB,YAAAA,GAAeR,UAAAA,CAAWD,mBAAAA;AAAAA;AAAAA,cAEhBU,gBAAAA,EAAkBR,uBAAAA;AAAAA,KAC3BQ,gBAAAA,WAA2BnB,MAAAA,6BAAmCN,cAAAA,CAAeI,CAAAA,KAAMsB,YAAAA,QAAoBD,gBAAAA,CAAiBrB,CAAAA,EAAGC,CAAAA;;;KCvBpH2B,eAAAA,WAA0BG,MAAAA,kCAAwCN,QAAAA,CAASI,CAAAA,WAAYG,IAAAA,CAAKL,KAAAA;EACpGM,IAAAA,GAAOT,cAAAA,CAAeK,CAAAA,EAAGC,CAAAA;EACzBI,IAAAA,GAAOJ,CAAAA;AAAAA;AAAAA,iBAEMK,QAAAA,WAAmBJ,MAAAA,6BAAmCN,QAAAA,CAASI,CAAAA,EAAAA,CAAAA;EAC5EO,KAAAA,EAAOR,eAAAA,CAAgBC,CAAAA,EAAGC,CAAAA;EAC1BO,OAAAA;EACAC,QAAAA;EACAC,KAAAA;EACAC,MAAAA;AAAAA;AAAAA,cAEUC,iBAAAA,WAA4BV,MAAAA,6BAAmCN,QAAAA,CAASI,CAAAA;EAClFO,KAAAA,CAAAA,GAASM,UAAAA,QAAkBP,QAAAA,CAASN,CAAAA,EAAGC,CAAAA;EACvCU,MAAAA,CAAAA,GAAUE,UAAAA,QAAkBP,QAAAA,CAASN,CAAAA,EAAGC,CAAAA;EACxCS,KAAAA,CAAAA,GAASG,UAAAA,QAAkBP,QAAAA,CAASN,CAAAA,EAAGC,CAAAA;EACvCQ,QAAAA,CAAAA;EACAD,OAAAA,CAAAA;AAAAA;AAAAA,UAEMM,qBAAAA;EAAAA,eACSZ,MAAAA,6BAAmCN,QAAAA,CAASI,CAAAA,GAAIkB,OAAAA,EAAgEH,QAAAA,CAAtCC,2BAAAA,CAA4BH,UAAAA,CAAWD,iBAAAA,CAAkBZ,CAAAA,EAAGC,CAAAA,eAAwJc,QAAAA,CAAvHE,eAAAA,CAAgBJ,UAAAA,CAAWD,iBAAAA,CAAkBZ,CAAAA,EAAGC,CAAAA,aAAcY,UAAAA,CAAWD,iBAAAA,CAAkBZ,CAAAA,EAAGC,CAAAA,cAAeY,UAAAA,CAAWD,iBAAAA,CAAkBZ,CAAAA,EAAGC,CAAAA;IAC/TkB,UAAAA,GAAaN,UAAAA,CAAWD,iBAAAA,CAAkBZ,CAAAA,EAAGC,CAAAA;EAAAA,IAC7CY,UAAAA,CAAWD,iBAAAA,CAAkBZ,CAAAA,EAAGC,CAAAA;EAAAA,WACzBC,MAAAA,6BAAmCN,QAAAA,CAASI,CAAAA,GAAIoB,QAAAA,WAAmBb,KAAAA,EAAOM,UAAAA,CAAWD,iBAAAA,CAAkBZ,CAAAA,EAAGC,CAAAA,mBAAoBY,UAAAA,CAAWD,iBAAAA,CAAkBZ,CAAAA,EAAGC,CAAAA;EACzKoB,YAAAA,GAAeR,UAAAA,CAAWD,iBAAAA;AAAAA;AAAAA,cAEhBU,UAAAA,EAAYR,qBAAAA;AAAAA,KACrBQ,UAAAA,WAAqBpB,MAAAA,6BAAmCN,QAAAA,CAASI,CAAAA,KAAMuB,YAAAA,QAAoBD,UAAAA,CAAWtB,CAAAA,EAAGC,CAAAA;;;KCAlG0D,iBAAAA,GAAoBN,cAAAA,CAAeO,cAAAA;;;cC3BjCK,WAAAA,EAA4CE,QAAAA,CAAdC,SAAAA,CAAUF,IAAAA,CAAKH,SAAAA,CAAUG,IAAAA,CAAKF,iBAAAA;EACtEK,OAAAA;AAAAA;AAAAA,KAECJ,WAAAA,GAAcK,UAAAA,QAAkBL,WAAAA"}
1
+ {"version":3,"file":"index.d.ts","names":["FormContext","T","U","Record","SuperForm","setFormContext","form","getFormContext","FormRootProps","HTMLFormAttributes","WithElementRef","Form","_$svelte","Component","ReturnType","default","FormPrimitive","FormDescription","DescriptionProps","Omit","_$svelte","Component","ReturnType","default","FormPrimitive","FormLabel","LabelProps","Omit","_$svelte","Component","ReturnType","default","FormPrimitive","WithoutChild","$$ComponentProps","FieldErrorsProps","errorClasses","FormFieldErrors","_$svelte","Component","ReturnType","default","FormFieldProps","T","U","Record","FormPath","FormPrimitive","FieldProps","Omit","HTMLDivElement","HTMLAttributes","WithElementRef","WithoutChildren","form","$$render","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormField","InstanceType","default","FormFullFieldProps","T","U","Record","FormPath","FormFieldProps","HTMLInputAttributes","FormControl","ComponentProps","NonNullable","Parameters","Snippet","HTMLDivElement","HTMLAttributes","WithElementRef","WithoutChildren","label","description","inputProps","child","value","get","set","v","Control","$$render","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormFieldFull","InstanceType","default","FormPrimitive","FormPath","WithoutChild","$$render","T","U","Record","FieldsetProps","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormFieldset","InstanceType","default","FormPrimitive","FormLegend","LegendProps","Omit","_$svelte","Component","ReturnType","default","FormPrimitive","FormPathLeaves","HTMLAttributes","WithElementRef","$$render","T","U","Record","HTMLDivElement","Omit","ElementFieldProps","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormElementField","InstanceType","default","FormFieldProps","FormPath","Props","ButtonProps","FormButtonProps","T","U","Record","Omit","form","name","$$render","props","exports","bindings","slots","events","__sveltets_Render","ReturnType","$$IsomorphicComponent","_$svelte","ComponentConstructorOptions","SvelteComponent","options","$$bindings","internal","z_$$bindings","FormButton","InstanceType","default","WithRefProps","getDataOpenClosed","condition","getDataChecked","getAriaDisabled","getAriaReadonly","getAriaExpanded","getDataDisabled","getAriaRequired","getAriaSelected","getAriaChecked","checked","indeterminate","getAriaOrientation","orientation","getAriaHidden","getAriaInvalid","getDataOrientation","getDataInvalid","getDataRequired","getDataReadonly","getDataSelected","getDataUnavailable","getHidden","getDisabled","getAriaPressed","getRequired","HTMLFormAttributes","HTMLAttributes","BitsPrimitive","T","Omit","id","BitsPrimitiveFormAttributes","HTMLDivAttributes","HTMLDivElement","Test","test","WithChild","HTMLDivAttributes","FormMessage","Omit","_$svelte","Component","message","ReturnType","default"],"sources":["../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-description.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-label.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-field-errors.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-field.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-field-full.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-fieldset.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-legend.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-element-field.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-button.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/utils/bits.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/form/form-message.svelte.d.ts"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-ag",
3
- "version": "1.1.13",
3
+ "version": "1.1.14",
4
4
  "description": "Useful svelte components",
5
5
  "bugs": "https://github.com/ageorgeh/svelte-ag/issues",
6
6
  "repository": {
@@ -68,7 +68,7 @@
68
68
  "@iconify/tailwind4": "^1.2.3",
69
69
  "@iconify/types": "^2.0.0",
70
70
  "@internationalized/date": "^3.12.1",
71
- "@lucide/svelte": "^1.8.0",
71
+ "@lucide/svelte": "^1.14.0",
72
72
  "@playwright/test": "1.59.1",
73
73
  "@rollup/plugin-typescript": "^12.3.0",
74
74
  "@sveltejs/kit": "^2.57.1",
@@ -29,10 +29,10 @@ export type ValidInput<E extends ApiEndpoints, P extends E['path'], M extends E[
29
29
  * - Maps API errors to `sveltekit-superforms` field errors / messages.
30
30
  * - Optionally two-way binds external state through the `bind` adapter.
31
31
  */
32
- export type ApiRequestForm<API extends ApiEndpoints> = <
33
- Path extends API['path'],
34
- Method extends Extract<API, { path: Path }>['method']
35
- >(a: {
32
+ export type ApiRequestForm<
33
+ API extends ApiEndpoints
34
+ // Schemas extends Partial<Record<API['path'], Partial<Record<string, ApiSchema>>>>
35
+ > = <Path extends API['path'], Method extends Extract<API, { path: Path }>['method']>(a: {
36
36
  /** API path key used to select a schema and to call `request(path, method, data)` */
37
37
  path: Path;
38
38
 
@@ -102,6 +102,12 @@ export type ApiRequestForm<API extends ApiEndpoints> = <
102
102
  * If you pass `onSubmit` / `onUpdate` here it will override the defaults in this helper.
103
103
  */
104
104
  formProps?: Parameters<typeof superForm<ValidInput<API, Path, Method>>>[1];
105
+
106
+ // /**
107
+ // * Schema override to be used in place of the schemas from the creation of
108
+ // * the form function
109
+ // */
110
+ // schema?: NonNullable<Schemas[Path]>[Method];
105
111
  }) => SuperForm<ValidInput<API, Path, Method>>;
106
112
 
107
113
  /**
@@ -120,10 +126,6 @@ export function createFormFunction<API extends ApiEndpoints>(
120
126
  const schema = schemas[path]?.[method];
121
127
  if (schema === undefined) throw new Error('Invalid schema for form');
122
128
 
123
- // if (typeof schema === 'function') {
124
- // schema = schema();
125
- // }
126
-
127
129
  const defaultFormData = defaults(defaultValue, valibot(schema));
128
130
  const boundFormData =
129
131
  bind && schema.async === false
@@ -138,6 +140,7 @@ export function createFormFunction<API extends ApiEndpoints>(
138
140
  validators: valibot(schema),
139
141
  async onSubmit({ submitter }) {
140
142
  // If a submit button has a name/value, include it in JSON forms (common for "intent" buttons).
143
+ // eg. save with email vs save
141
144
  if (
142
145
  submitter &&
143
146
  'name' in submitter &&
@@ -1,18 +1,65 @@
1
+ <!--
2
+ @component FormFieldFull
3
+ Renders all elements of a form field. If a simple Input element is all you don't
4
+ need to provide a child
5
+
6
+ ```svelte
7
+ <ContactField
8
+ class="z-5 w-full self-start"
9
+ {form}
10
+ name="fields.name"
11
+ inputProps={{ type: 'text', placeholder: 'Enter your name' }}
12
+ label="Name"
13
+ />
14
+ ```
15
+
16
+ For custom input elements like TextArea you will need to pass a child. Everything
17
+ else is the same just bind the value prop as so:
18
+
19
+ ```svelte
20
+ <ContactField
21
+ class="z-5 w-full self-start"
22
+ {form}
23
+ name="fields.name"
24
+ inputProps={{ type: 'text', placeholder: 'Enter your name' }}
25
+ label="Name"
26
+ >
27
+ {#snippet child({ props, value })}
28
+ <Textarea {...props} bind:value={value.get, value.set} class="z-5 w-full" />
29
+ {/snippet}
30
+ </ContactField>
31
+
32
+ ```
33
+
34
+ -->
35
+
1
36
  <script module lang="ts">
2
37
  export type FormFullFieldProps<T extends Record<string, unknown>, U extends FormPath<T>> = FormFieldProps<T, U> & {
3
38
  label: string;
4
39
  description?: string;
5
40
  inputProps?: HTMLInputAttributes;
41
+ /**
42
+ * Pass this snippet to customise the input for the field.
43
+ * You are responsible for binding to the value eg
44
+ * <Textarea {...props} bind:value={value.get, value.set} class="z-5 w-full"
45
+ */
46
+ child?: Snippet<
47
+ [
48
+ Parameters<NonNullable<ComponentProps<typeof FormControl>['children']>>[0] & {
49
+ value: { get: () => any; set: (v: any) => void };
50
+ }
51
+ ]
52
+ >;
6
53
  } & WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>>;
7
54
  </script>
8
55
 
9
56
  <script lang="ts" generics="T extends Record<string, unknown>, U extends FormPath<T>">
10
- import Field, { type FormFieldProps } from './form-field.svelte';
11
- import Label from './form-label.svelte';
57
+ import FormField, { type FormFieldProps } from './form-field.svelte';
58
+ import FormLabel from './form-label.svelte';
12
59
  import Description from './form-description.svelte';
13
60
  import FieldErrors from './form-field-errors.svelte';
14
61
  import { Input } from '$shadcn/input/index.js';
15
- import * as Form from 'formsnap';
62
+ import { Control as FormControl } from 'formsnap';
16
63
  import { type FormPath } from 'sveltekit-superforms';
17
64
  import { get, set } from 'radash';
18
65
  import { type WithElementRef, type WithoutChildren } from 'svelte-toolbelt';
@@ -20,6 +67,8 @@
20
67
  import type { HTMLAttributes, HTMLInputAttributes } from 'svelte/elements';
21
68
  import { mergeProps } from 'svelte-toolbelt';
22
69
  import { getFormContext } from './form.svelte';
70
+ import type { ComponentProps, Snippet } from 'svelte';
71
+ import { Checkbox } from '$shadcn/checkbox/index.js';
23
72
 
24
73
  let {
25
74
  ref = $bindable(null),
@@ -29,23 +78,40 @@
29
78
  label,
30
79
  description = '',
31
80
  inputProps,
81
+ child,
32
82
  ...restProps
33
83
  }: FormFullFieldProps<T, U> = $props();
34
84
 
35
85
  const formData = $derived(form.form);
36
86
  </script>
37
87
 
38
- <Field {form} {name} class={cn(className)} {...restProps}>
39
- <Form.Control>
88
+ <FormField {form} {name} class={cn(className)} {...restProps}>
89
+ <FormControl>
40
90
  {#snippet children({ props })}
41
- {@const inProps = mergeProps({ ...inputProps, ...props }) as typeof props}
42
- <Label>{label}</Label>
91
+ {@const inProps = mergeProps({
92
+ class: cn(),
93
+ ...inputProps,
94
+ ...props
95
+ }) as typeof props}
96
+ <FormLabel>{label}</FormLabel>
43
97
 
44
- <!-- get and set because we need to dynamically index $formData -->
45
- <Input {...inProps} bind:value={() => get($formData, name), (v) => ($formData = set($formData, name, v))} />
98
+ <!-- radash.get and radash.set because we need to dynamically index $formData -->
99
+ {#if child}
100
+ {@render child({
101
+ props: inProps,
102
+ value: { get: () => get($formData, name), set: (v) => ($formData = set($formData, name, v)) }
103
+ })}
104
+ {:else if inputProps?.type === 'checkbox'}
105
+ <Checkbox
106
+ {...inProps}
107
+ bind:checked={() => get($formData, name), (v) => ($formData = set($formData, name, v))}
108
+ />
109
+ {:else}
110
+ <Input {...inProps} bind:value={() => get($formData, name), (v) => ($formData = set($formData, name, v))} />
111
+ {/if}
46
112
  {/snippet}
47
- </Form.Control>
113
+ </FormControl>
48
114
 
49
115
  <Description>{description}</Description>
50
116
  <FieldErrors />
51
- </Field>
117
+ </FormField>