@sectile/vue 0.3.0 → 0.5.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/dist/accordion.d.ts.map +1 -1
- package/dist/accordion.js +9 -3
- package/dist/accordion.js.map +1 -1
- package/dist/calendar.d.ts +384 -117
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +42 -101
- package/dist/calendar.js.map +1 -1
- package/dist/carousel.d.ts.map +1 -1
- package/dist/carousel.js +13 -2
- package/dist/carousel.js.map +1 -1
- package/dist/cascade-select.d.ts.map +1 -1
- package/dist/cascade-select.js +19 -5
- package/dist/cascade-select.js.map +1 -1
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +2 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/combobox.d.ts.map +1 -1
- package/dist/combobox.js +17 -2
- package/dist/combobox.js.map +1 -1
- package/dist/date-field.d.ts +1 -1
- package/dist/date-field.d.ts.map +1 -1
- package/dist/date-picker.d.ts +7 -7
- package/dist/date-range-field.d.ts.map +1 -1
- package/dist/date-range-field.js +2 -1
- package/dist/date-range-field.js.map +1 -1
- package/dist/date-range-picker.d.ts +7 -7
- package/dist/date-time-field.d.ts +1 -1
- package/dist/date-time-field.d.ts.map +1 -1
- package/dist/date-time-picker.d.ts +7 -7
- package/dist/date-time-range-picker.d.ts +7 -7
- package/dist/disclosure.d.ts.map +1 -1
- package/dist/disclosure.js +2 -1
- package/dist/disclosure.js.map +1 -1
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +2 -1
- package/dist/editable.js.map +1 -1
- package/dist/feed.d.ts +2 -2
- package/dist/feed.d.ts.map +1 -1
- package/dist/feed.js +12 -3
- package/dist/feed.js.map +1 -1
- package/dist/form.d.ts +94 -15
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +133 -29
- package/dist/form.js.map +1 -1
- package/dist/grid.d.ts +6 -6
- package/dist/grid.d.ts.map +1 -1
- package/dist/grid.js +32 -8
- package/dist/grid.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/collection.d.ts +21 -0
- package/dist/internal/collection.d.ts.map +1 -0
- package/dist/internal/collection.js +31 -0
- package/dist/internal/collection.js.map +1 -0
- package/dist/internal/controlled-state.d.ts +2 -0
- package/dist/internal/controlled-state.d.ts.map +1 -0
- package/dist/internal/controlled-state.js +13 -0
- package/dist/internal/controlled-state.js.map +1 -0
- package/dist/internal/date-picker.d.ts +18 -18
- package/dist/internal/date-picker.d.ts.map +1 -1
- package/dist/internal/date-picker.js +51 -37
- package/dist/internal/date-picker.js.map +1 -1
- package/dist/internal/form-control.d.ts +1 -40
- package/dist/internal/form-control.d.ts.map +1 -1
- package/dist/internal/form-control.js +1 -51
- package/dist/internal/form-control.js.map +1 -1
- package/dist/internal/native-field.d.ts.map +1 -1
- package/dist/internal/native-field.js +2 -1
- package/dist/internal/native-field.js.map +1 -1
- package/dist/internal/popup.d.ts +3 -0
- package/dist/internal/popup.d.ts.map +1 -1
- package/dist/internal/popup.js +105 -37
- package/dist/internal/popup.js.map +1 -1
- package/dist/listbox.d.ts +2 -2
- package/dist/listbox.d.ts.map +1 -1
- package/dist/listbox.js +22 -19
- package/dist/listbox.js.map +1 -1
- package/dist/menu.d.ts.map +1 -1
- package/dist/menu.js +6 -2
- package/dist/menu.js.map +1 -1
- package/dist/month-picker.d.ts +7 -7
- package/dist/month-range-picker.d.ts +7 -7
- package/dist/multi-thumb-slider.d.ts.map +1 -1
- package/dist/multi-thumb-slider.js +2 -1
- package/dist/multi-thumb-slider.js.map +1 -1
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +26 -7
- package/dist/pagination.js.map +1 -1
- package/dist/pin-input.d.ts.map +1 -1
- package/dist/pin-input.js +2 -1
- package/dist/pin-input.js.map +1 -1
- package/dist/popover.js +1 -1
- package/dist/popover.js.map +1 -1
- package/dist/primitive.d.ts +3 -0
- package/dist/primitive.d.ts.map +1 -1
- package/dist/primitive.js +144 -8
- package/dist/primitive.js.map +1 -1
- package/dist/radio-group.d.ts.map +1 -1
- package/dist/radio-group.js +11 -5
- package/dist/radio-group.js.map +1 -1
- package/dist/range-calendar.d.ts +5 -5
- package/dist/rating.d.ts.map +1 -1
- package/dist/rating.js +2 -1
- package/dist/rating.js.map +1 -1
- package/dist/select.d.ts +22 -2
- package/dist/select.d.ts.map +1 -1
- package/dist/select.js +84 -20
- package/dist/select.js.map +1 -1
- package/dist/slider.d.ts.map +1 -1
- package/dist/slider.js +2 -1
- package/dist/slider.js.map +1 -1
- package/dist/switch.d.ts.map +1 -1
- package/dist/switch.js +2 -1
- package/dist/switch.js.map +1 -1
- package/dist/tabs.d.ts.map +1 -1
- package/dist/tabs.js +11 -5
- package/dist/tabs.js.map +1 -1
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +4 -4
- package/dist/text.js.map +1 -1
- package/dist/time-field.d.ts +1 -1
- package/dist/time-field.d.ts.map +1 -1
- package/dist/time-range-field.d.ts.map +1 -1
- package/dist/time-range-field.js +2 -1
- package/dist/time-range-field.js.map +1 -1
- package/dist/toast.d.ts +10 -0
- package/dist/toast.d.ts.map +1 -1
- package/dist/toast.js +10 -3
- package/dist/toast.js.map +1 -1
- package/dist/toggle-button.d.ts.map +1 -1
- package/dist/toggle-button.js +2 -1
- package/dist/toggle-button.js.map +1 -1
- package/dist/toggle-group.d.ts.map +1 -1
- package/dist/toggle-group.js +10 -5
- package/dist/toggle-group.js.map +1 -1
- package/dist/toolbar.d.ts.map +1 -1
- package/dist/toolbar.js +9 -2
- package/dist/toolbar.js.map +1 -1
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.d.ts.map +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/tooltip.js.map +1 -1
- package/dist/tree-grid.d.ts.map +1 -1
- package/dist/tree-grid.js +36 -5
- package/dist/tree-grid.js.map +1 -1
- package/dist/tree-view.d.ts.map +1 -1
- package/dist/tree-view.js +26 -4
- package/dist/tree-view.js.map +1 -1
- package/dist/year-picker.d.ts +5 -5
- package/dist/year-range-picker.d.ts +5 -5
- package/package.json +9 -3
package/dist/feed.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { computed, defineComponent, h, inject, mergeProps, onBeforeUnmount, onMounted, provide, shallowRef, watch, } from 'vue';
|
|
2
2
|
import { createFeed } from '@sectile/dom/feed';
|
|
3
3
|
import { Primitive } from './primitive.js';
|
|
4
|
+
import { reconcileCollectionState } from './internal/collection.js';
|
|
4
5
|
const key = Symbol('SectileFeedRoot');
|
|
5
6
|
export const FeedRoot = defineComponent({
|
|
6
7
|
name: 'SectileFeedRoot', inheritAttrs: false,
|
|
@@ -10,7 +11,7 @@ export const FeedRoot = defineComponent({
|
|
|
10
11
|
label: { type: String, default: undefined }, setSize: { type: Number, default: undefined }, getPosition: { type: Function, default: undefined },
|
|
11
12
|
as: { type: [String, Object, Function], default: 'div' }, asChild: { type: Boolean, default: false },
|
|
12
13
|
},
|
|
13
|
-
emits: { highlight: (_value) => true,
|
|
14
|
+
emits: { highlight: (_value) => true, requestWindow: (_direction, _anchor, _revision, _requestGeneration) => true },
|
|
14
15
|
slots: Object,
|
|
15
16
|
setup(props, { attrs, emit, slots }) {
|
|
16
17
|
const element = shallowRef();
|
|
@@ -32,11 +33,15 @@ export const FeedRoot = defineComponent({
|
|
|
32
33
|
connection.value?.disconnect();
|
|
33
34
|
if (element.value === undefined)
|
|
34
35
|
return;
|
|
36
|
+
const reconciled = reconcileCollectionState(props.items, [], highlighted.value, [], 'single');
|
|
37
|
+
if (highlighted.value !== reconciled.current)
|
|
38
|
+
emit('highlight', reconciled.current);
|
|
39
|
+
highlighted.value = reconciled.current;
|
|
35
40
|
connection.value = createFeed({
|
|
36
41
|
root: element.value, items: props.items, revision: props.revision, defaultHighlightedValue: highlighted.value,
|
|
37
42
|
disabled: props.disabled, ...(props.label === undefined ? {} : { label: props.label }), ...(props.setSize === undefined ? {} : { setSize: props.setSize }),
|
|
38
43
|
...(props.getPosition === undefined ? {} : { getPosition: props.getPosition }), onHighlightedValueChange: (value) => { highlighted.value = value; emit('highlight', value); },
|
|
39
|
-
onRequestWindow: (direction, anchor, revision, requestGeneration) => { pending.value = direction; currentRequestGeneration.value = requestGeneration; emit('
|
|
44
|
+
onRequestWindow: (direction, anchor, revision, requestGeneration) => { pending.value = direction; currentRequestGeneration.value = requestGeneration; emit('requestWindow', direction, anchor, revision, requestGeneration); }, onUpdate: refresh,
|
|
40
45
|
});
|
|
41
46
|
refreshParts();
|
|
42
47
|
refresh();
|
|
@@ -52,7 +57,11 @@ export const FeedRoot = defineComponent({
|
|
|
52
57
|
connect();
|
|
53
58
|
return;
|
|
54
59
|
}
|
|
55
|
-
const
|
|
60
|
+
const reconciled = reconcileCollectionState(props.items, [], highlighted.value, [], 'single');
|
|
61
|
+
if (highlighted.value !== reconciled.current)
|
|
62
|
+
emit('highlight', reconciled.current);
|
|
63
|
+
highlighted.value = reconciled.current;
|
|
64
|
+
const result = connection.value.syncWindow({ items: props.items, revision: props.revision, ...(props.requestGeneration === undefined ? {} : { requestGeneration: props.requestGeneration }), highlightedValue: reconciled.current });
|
|
56
65
|
if (!result.ok)
|
|
57
66
|
throw new TypeError(result.error.message);
|
|
58
67
|
refresh();
|
package/dist/feed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EACrF,UAAU,EAAE,KAAK,GAClB,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,UAAU,EAA2C,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../src/feed.ts"],"names":[],"mappings":"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"}
|
package/dist/form.d.ts
CHANGED
|
@@ -8,39 +8,46 @@ export type FormValues<Shape extends object = Record<string, unknown>> = DOMForm
|
|
|
8
8
|
export type FormSchema<Input extends object = Record<string, unknown>, Output extends object = Input> = DOMFormSchema<FormValues<Input>, FormValues<Output>>;
|
|
9
9
|
export type FormSchemaInput<Schema extends FormSchema> = Schema extends DOMFormSchema<infer Input extends object, object> ? Input : never;
|
|
10
10
|
export type FormSchemaOutput<Schema extends FormSchema> = Schema extends DOMFormSchema<object, infer Output extends object> ? Output : never;
|
|
11
|
-
export type FormSubmitEvent<
|
|
11
|
+
export type FormSubmitEvent<Values extends object = Record<string, unknown>> = Omit<DOMFormSubmitPayload<string, FormValues<Values>>, 'event'> & {
|
|
12
12
|
readonly nativeEvent: SubmitEvent;
|
|
13
13
|
readonly defaultPrevented: boolean;
|
|
14
14
|
preventDefault(): void;
|
|
15
15
|
stopPropagation(): void;
|
|
16
16
|
stopImmediatePropagation(): void;
|
|
17
17
|
};
|
|
18
|
-
export
|
|
18
|
+
export interface FormIssueInput {
|
|
19
|
+
readonly id?: string;
|
|
20
|
+
readonly message: string;
|
|
21
|
+
readonly path?: FormFieldPath;
|
|
22
|
+
}
|
|
23
|
+
export type FormSubmitIssue = FormIssueInput;
|
|
19
24
|
export type FormSubmitResult = void | {
|
|
20
25
|
readonly ok: true;
|
|
21
26
|
} | {
|
|
22
27
|
readonly ok: false;
|
|
23
28
|
readonly issues?: readonly FormSubmitIssue[];
|
|
24
29
|
};
|
|
25
|
-
export type FormSubmitHandler<
|
|
30
|
+
export type FormSubmitHandler<Values extends object = Record<string, unknown>> = (event: FormSubmitEvent<Values>) => FormSubmitResult | PromiseLike<FormSubmitResult>;
|
|
31
|
+
export type FormSubmitErrorMapper = (reason: unknown) => FormSubmitIssue | readonly FormSubmitIssue[] | undefined;
|
|
26
32
|
export type FormResetHandler = () => void;
|
|
27
33
|
export type FormStateChangeHandler = (state: FormState) => void;
|
|
28
34
|
export type FormValidateContext = DOMFormValidateContext<string>;
|
|
29
35
|
export type FormValidationIssue = DOMFormValidationIssue;
|
|
30
36
|
export type FormValidationResult = DOMFormValidationResult;
|
|
31
|
-
export type FormValidateHandler<
|
|
37
|
+
export type FormValidateHandler<Values extends object = Record<string, unknown>> = DOMFormValidateHandler<string, FormValues<Values>>;
|
|
32
38
|
export type FormSubmitStartedAction = () => number | null;
|
|
33
39
|
export type FormSubmitSucceededAction = (generation: number) => boolean;
|
|
34
40
|
export type FormSubmitFailedAction = (generation: number, issues?: readonly FormIssue[]) => boolean;
|
|
35
41
|
export type FormReplaceIssuesAction = (source: FormIssueSource, issues: readonly FormIssue[]) => boolean;
|
|
36
42
|
export type FormResetAction = () => void;
|
|
37
|
-
export interface FormRootProps<
|
|
38
|
-
readonly issues?: readonly
|
|
39
|
-
readonly schema?:
|
|
40
|
-
readonly validate?: FormValidateHandler<
|
|
43
|
+
export interface FormRootProps<Input extends object = Record<string, unknown>, Output extends object = Input> {
|
|
44
|
+
readonly issues?: readonly FormIssueInput[];
|
|
45
|
+
readonly schema?: FormSchema<Input, Output>;
|
|
46
|
+
readonly validate?: FormValidateHandler<Input>;
|
|
41
47
|
readonly validateOn?: readonly FormInteractionValidationTrigger[];
|
|
42
48
|
readonly revalidateOn?: readonly FormInteractionValidationTrigger[];
|
|
43
|
-
readonly onSubmit?: FormSubmitHandler<
|
|
49
|
+
readonly onSubmit?: FormSubmitHandler<Output>;
|
|
50
|
+
readonly mapSubmitError?: FormSubmitErrorMapper;
|
|
44
51
|
}
|
|
45
52
|
export interface FormRootSlotProps {
|
|
46
53
|
readonly state: FormState;
|
|
@@ -59,21 +66,26 @@ export interface FormRootSlotProps {
|
|
|
59
66
|
readonly replaceIssues: FormReplaceIssuesAction;
|
|
60
67
|
readonly reset: FormResetAction;
|
|
61
68
|
}
|
|
62
|
-
export type FormRootPublicProps<
|
|
69
|
+
export type FormRootPublicProps<Input extends object = Record<string, unknown>, Output extends object = Input> = FormRootProps<Input, Output> & VNodeProps & AllowedComponentProps & ComponentCustomProps & {
|
|
63
70
|
readonly onReset?: () => unknown;
|
|
64
|
-
readonly
|
|
71
|
+
readonly onStateChange?: (state: FormState) => unknown;
|
|
65
72
|
};
|
|
66
73
|
export interface FormRootComponent {
|
|
67
|
-
new <
|
|
68
|
-
$props: FormRootPublicProps<
|
|
74
|
+
new <Input extends object = Record<string, unknown>, Output extends object = Input>(props: FormRootPublicProps<Input, Output>): {
|
|
75
|
+
$props: FormRootPublicProps<Input, Output>;
|
|
69
76
|
$slots: {
|
|
70
77
|
default?: (props: FormRootSlotProps) => VNodeChild;
|
|
71
78
|
};
|
|
72
79
|
};
|
|
73
80
|
}
|
|
74
|
-
|
|
81
|
+
type FormFieldLeaf = string | number | boolean | bigint | symbol | null | undefined | Date | Blob | File;
|
|
82
|
+
type FormFieldPathSegments<Value, Depth extends readonly unknown[] = []> = Depth['length'] extends 8 ? never : NonNullable<Value> extends FormFieldLeaf ? never : NonNullable<Value> extends readonly (infer Item)[] ? readonly [number] | readonly [number, ...FormFieldPathSegments<Item, readonly [...Depth, unknown]>] : NonNullable<Value> extends object ? {
|
|
83
|
+
[Key in keyof NonNullable<Value> & string]: readonly [Key] | readonly [Key, ...FormFieldPathSegments<NonNullable<Value>[Key], readonly [...Depth, unknown]>];
|
|
84
|
+
}[keyof NonNullable<Value> & string] : never;
|
|
85
|
+
export type FormFieldPathOf<Values extends object> = string extends keyof Values ? FormFieldPath : (keyof Values & string) | FormFieldPathSegments<Values>;
|
|
86
|
+
export interface FormFieldProps<Values extends object = Record<string, unknown>> {
|
|
75
87
|
readonly id?: string;
|
|
76
|
-
readonly name?:
|
|
88
|
+
readonly name?: FormFieldPathOf<Values>;
|
|
77
89
|
readonly form?: string;
|
|
78
90
|
readonly required?: boolean;
|
|
79
91
|
readonly disabled?: boolean;
|
|
@@ -81,6 +93,23 @@ export interface FormFieldProps {
|
|
|
81
93
|
readonly as?: PrimitiveAs;
|
|
82
94
|
readonly asChild?: boolean;
|
|
83
95
|
}
|
|
96
|
+
export type FormFieldPublicProps<Values extends object = Record<string, unknown>> = FormFieldProps<Values> & VNodeProps & AllowedComponentProps & ComponentCustomProps;
|
|
97
|
+
export interface TypedFormRootComponent<Input extends object, Output extends object = Input> {
|
|
98
|
+
new (props: FormRootPublicProps<Input, Output>): {
|
|
99
|
+
$props: FormRootPublicProps<Input, Output>;
|
|
100
|
+
$slots: {
|
|
101
|
+
default?: (props: FormRootSlotProps) => VNodeChild;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export interface TypedFormFieldComponent<Values extends object> {
|
|
106
|
+
new (props: FormFieldPublicProps<Values>): {
|
|
107
|
+
$props: FormFieldPublicProps<Values>;
|
|
108
|
+
$slots: {
|
|
109
|
+
default?: (props: FormFieldSlotProps) => VNodeChild;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
}
|
|
84
113
|
export interface FormFieldSlotProps {
|
|
85
114
|
readonly id: string;
|
|
86
115
|
readonly controlId: string;
|
|
@@ -352,5 +381,55 @@ export declare const FormSubmit: import("vue").DefineComponent<import("vue").Ext
|
|
|
352
381
|
as: PrimitiveAs;
|
|
353
382
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
354
383
|
export declare function useFormControl(registration: FormControlRegistration): FormControlParticipation;
|
|
384
|
+
export declare const nativeInputControlCapabilities: Readonly<{
|
|
385
|
+
id: true;
|
|
386
|
+
describedBy: true;
|
|
387
|
+
invalid: true;
|
|
388
|
+
required: true;
|
|
389
|
+
disabled: true;
|
|
390
|
+
readonly: true;
|
|
391
|
+
}>;
|
|
392
|
+
export declare const compositeControlCapabilities: Readonly<{
|
|
393
|
+
id: true;
|
|
394
|
+
describedBy: true;
|
|
395
|
+
invalid: true;
|
|
396
|
+
labelledBy: true;
|
|
397
|
+
}>;
|
|
398
|
+
export declare const hiddenInputSubmissionCapabilities: Readonly<{
|
|
399
|
+
name: true;
|
|
400
|
+
form: true;
|
|
401
|
+
required: true;
|
|
402
|
+
disabled: true;
|
|
403
|
+
}>;
|
|
404
|
+
export declare const hiddenSelectSubmissionCapabilities: Readonly<{
|
|
405
|
+
name: true;
|
|
406
|
+
form: true;
|
|
407
|
+
required: true;
|
|
408
|
+
disabled: true;
|
|
409
|
+
}>;
|
|
410
|
+
export declare const hiddenValueSubmissionCapabilities: Readonly<{
|
|
411
|
+
name: true;
|
|
412
|
+
form: true;
|
|
413
|
+
disabled: true;
|
|
414
|
+
}>;
|
|
415
|
+
export declare function useNativeInputFormControl(element: Ref<HTMLInputElement | HTMLTextAreaElement | null | undefined>): FormControlParticipation;
|
|
416
|
+
export declare function useCompositeFormControl(options: {
|
|
417
|
+
readonly root: FormElementSource;
|
|
418
|
+
readonly focusTarget?: FormElementSource;
|
|
419
|
+
readonly submissions?: FormSubmissionSource;
|
|
420
|
+
readonly labelMode?: FormLabelMode;
|
|
421
|
+
}): FormControlParticipation;
|
|
355
422
|
export declare function provideFormControlOwner(): void;
|
|
423
|
+
export interface TypedFormComponents<Input extends object, Output extends object = Input> {
|
|
424
|
+
readonly Root: TypedFormRootComponent<Input, Output>;
|
|
425
|
+
readonly Field: TypedFormFieldComponent<Input>;
|
|
426
|
+
readonly Label: typeof FormLabel;
|
|
427
|
+
readonly Description: typeof FormDescription;
|
|
428
|
+
readonly Message: typeof FormMessage;
|
|
429
|
+
readonly Summary: typeof FormSummary;
|
|
430
|
+
readonly Reset: typeof FormReset;
|
|
431
|
+
readonly Submit: typeof FormSubmit;
|
|
432
|
+
}
|
|
433
|
+
export declare function createTypedForm<Input extends object, Output extends object = Input>(): TypedFormComponents<Input, Output>;
|
|
434
|
+
export {};
|
|
356
435
|
//# sourceMappingURL=form.d.ts.map
|
package/dist/form.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
|
package/dist/form.js
CHANGED
|
@@ -40,10 +40,11 @@ const FormRootImpl = defineComponent({
|
|
|
40
40
|
default: () => ['input'],
|
|
41
41
|
},
|
|
42
42
|
onSubmit: { type: Function, default: undefined },
|
|
43
|
+
mapSubmitError: { type: Function, default: undefined },
|
|
43
44
|
},
|
|
44
45
|
emits: {
|
|
45
46
|
reset: () => true,
|
|
46
|
-
|
|
47
|
+
stateChange: (_state) => true,
|
|
47
48
|
},
|
|
48
49
|
slots: Object,
|
|
49
50
|
setup(props, { attrs, emit, expose, slots }) {
|
|
@@ -52,6 +53,7 @@ const FormRootImpl = defineComponent({
|
|
|
52
53
|
const state = shallowRef(emptyState);
|
|
53
54
|
const connection = shallowRef(null);
|
|
54
55
|
const participants = new Map();
|
|
56
|
+
let syncConfiguredIssues = () => { };
|
|
55
57
|
const sync = () => {
|
|
56
58
|
if (connection.value !== null)
|
|
57
59
|
state.value = connection.value.getSnapshot().state;
|
|
@@ -63,19 +65,21 @@ const FormRootImpl = defineComponent({
|
|
|
63
65
|
participants.set(participant.id, registered);
|
|
64
66
|
if (connection.value !== null)
|
|
65
67
|
registered.unregister = connection.value.registerParticipant(participant);
|
|
68
|
+
void nextTick(() => syncConfiguredIssues());
|
|
66
69
|
return () => {
|
|
67
70
|
if (participants.get(participant.id) !== registered)
|
|
68
71
|
return;
|
|
69
72
|
registered.unregister?.();
|
|
70
73
|
participants.delete(participant.id);
|
|
71
74
|
sync();
|
|
75
|
+
void nextTick(syncConfiguredIssues);
|
|
72
76
|
};
|
|
73
77
|
};
|
|
74
78
|
const settleSubmission = (target, generation, result) => {
|
|
75
79
|
if (connection.value !== target)
|
|
76
80
|
return;
|
|
77
81
|
if (typeof result === 'object' && result !== null && result.ok === false) {
|
|
78
|
-
target.submitFailed(generation,
|
|
82
|
+
target.submitFailed(generation, resolveIssueInputs(target, 'server', result.issues ?? [submissionErrorIssue()]));
|
|
79
83
|
return;
|
|
80
84
|
}
|
|
81
85
|
target.submitSucceeded(generation);
|
|
@@ -83,7 +87,7 @@ const FormRootImpl = defineComponent({
|
|
|
83
87
|
const rejectSubmission = (target, generation, reason) => {
|
|
84
88
|
if (connection.value !== target)
|
|
85
89
|
return;
|
|
86
|
-
target.submitFailed(generation,
|
|
90
|
+
target.submitFailed(generation, resolveIssueInputs(target, 'server', mapSubmissionError(props.mapSubmitError, reason)));
|
|
87
91
|
};
|
|
88
92
|
const submit = (payload) => {
|
|
89
93
|
const handler = props.onSubmit;
|
|
@@ -113,38 +117,51 @@ const FormRootImpl = defineComponent({
|
|
|
113
117
|
}
|
|
114
118
|
settleSubmission(target, generation, result);
|
|
115
119
|
};
|
|
120
|
+
const configuration = () => ({
|
|
121
|
+
...(summary.value === null ? {} : { summary: summary.value }),
|
|
122
|
+
...(props.schema === undefined ? {} : { schema: props.schema }),
|
|
123
|
+
...(props.validate === undefined ? {} : { validate: props.validate }),
|
|
124
|
+
validateOn: props.validateOn,
|
|
125
|
+
revalidateOn: props.revalidateOn,
|
|
126
|
+
onSubmit: submit,
|
|
127
|
+
onReset: () => emit('reset'),
|
|
128
|
+
onStateChange: (next) => {
|
|
129
|
+
state.value = next;
|
|
130
|
+
emit('stateChange', next);
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
syncConfiguredIssues = () => {
|
|
134
|
+
const target = connection.value;
|
|
135
|
+
if (target === null)
|
|
136
|
+
return;
|
|
137
|
+
target.replaceIssues('form', resolveIssueInputs(target, 'form', props.issues));
|
|
138
|
+
};
|
|
116
139
|
const mount = () => {
|
|
117
140
|
if (root.value === null)
|
|
118
141
|
return;
|
|
119
142
|
connection.value?.destroy();
|
|
120
143
|
connection.value = createForm({
|
|
121
144
|
form: root.value,
|
|
122
|
-
...(
|
|
123
|
-
issues: props.issues,
|
|
124
|
-
...(props.schema === undefined ? {} : { schema: props.schema }),
|
|
125
|
-
...(props.validate === undefined ? {} : { validate: props.validate }),
|
|
126
|
-
validateOn: props.validateOn,
|
|
127
|
-
revalidateOn: props.revalidateOn,
|
|
128
|
-
onSubmit: submit,
|
|
129
|
-
onReset: () => emit('reset'),
|
|
130
|
-
onStateChange: (next) => {
|
|
131
|
-
state.value = next;
|
|
132
|
-
emit('state-change', next);
|
|
133
|
-
},
|
|
145
|
+
...configuration(),
|
|
134
146
|
});
|
|
135
147
|
for (const registered of participants.values()) {
|
|
136
148
|
registered.unregister = connection.value.registerParticipant(registered.participant);
|
|
137
149
|
}
|
|
150
|
+
syncConfiguredIssues();
|
|
138
151
|
sync();
|
|
139
152
|
};
|
|
140
153
|
onMounted(() => { void nextTick(mount); });
|
|
141
154
|
onBeforeUnmount(() => connection.value?.destroy());
|
|
142
155
|
watch([
|
|
156
|
+
summary,
|
|
143
157
|
() => props.schema,
|
|
144
158
|
() => props.validate,
|
|
145
|
-
() => props.validateOn,
|
|
146
|
-
() => props.revalidateOn,
|
|
147
|
-
], () => {
|
|
159
|
+
() => [...props.validateOn],
|
|
160
|
+
() => [...props.revalidateOn],
|
|
161
|
+
], () => {
|
|
162
|
+
void nextTick(() => connection.value?.reconfigure(configuration()));
|
|
163
|
+
});
|
|
164
|
+
watch(() => props.issues, () => { void nextTick(syncConfiguredIssues); }, { deep: true });
|
|
148
165
|
const actions = {
|
|
149
166
|
submitStarted: () => connection.value?.submitStarted() ?? null,
|
|
150
167
|
submitSucceeded: (generation) => connection.value?.submitSucceeded(generation) ?? false,
|
|
@@ -196,19 +213,41 @@ function isPromiseLike(value) {
|
|
|
196
213
|
&& 'then' in value
|
|
197
214
|
&& typeof value.then === 'function';
|
|
198
215
|
}
|
|
199
|
-
function
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
216
|
+
function resolveIssueInputs(target, source, input) {
|
|
217
|
+
const fields = target.getSnapshot().state.fields;
|
|
218
|
+
return Object.freeze(input.map((issue, index) => {
|
|
219
|
+
const name = issue.path === undefined ? undefined : encodeFormFieldPath(issue.path);
|
|
220
|
+
const owner = name === undefined
|
|
221
|
+
? undefined
|
|
222
|
+
: fields.find((field) => field.name === name);
|
|
223
|
+
return Object.freeze({
|
|
224
|
+
id: issue.id ?? `form-${source}-issue-${index + 1}`,
|
|
225
|
+
message: issue.message,
|
|
226
|
+
source,
|
|
227
|
+
...(owner === undefined ? {} : { fieldId: owner.id }),
|
|
228
|
+
});
|
|
229
|
+
}));
|
|
230
|
+
}
|
|
231
|
+
function mapSubmissionError(mapper, reason) {
|
|
232
|
+
if (mapper !== undefined) {
|
|
233
|
+
try {
|
|
234
|
+
const mapped = mapper(reason);
|
|
235
|
+
if (mapped !== undefined) {
|
|
236
|
+
const issues = Array.isArray(mapped) ? mapped : [mapped];
|
|
237
|
+
if (issues.length > 0)
|
|
238
|
+
return Object.freeze([...issues]);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
// Mapping failures are intentionally replaced by the safe fallback below.
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return Object.freeze([submissionErrorIssue()]);
|
|
203
246
|
}
|
|
204
|
-
function submissionErrorIssue(
|
|
205
|
-
const message = reason instanceof Error
|
|
206
|
-
? reason.message.trim()
|
|
207
|
-
: typeof reason === 'string' ? reason.trim() : '';
|
|
247
|
+
function submissionErrorIssue() {
|
|
208
248
|
return Object.freeze({
|
|
209
249
|
id: 'form-submit-error',
|
|
210
|
-
message:
|
|
211
|
-
source: 'server',
|
|
250
|
+
message: 'Form submission failed.',
|
|
212
251
|
});
|
|
213
252
|
}
|
|
214
253
|
export const FormField = defineComponent({
|
|
@@ -235,6 +274,7 @@ export const FormField = defineComponent({
|
|
|
235
274
|
const appliedAttributes = new Map();
|
|
236
275
|
let observer;
|
|
237
276
|
let unregister;
|
|
277
|
+
let warnedMultipleControls = false;
|
|
238
278
|
const activeControl = computed(() => (controls.value.find((registration) => resolveElement(registration.element) !== null)
|
|
239
279
|
?? fallback.value));
|
|
240
280
|
const labelMode = computed(() => activeControl.value?.labelMode ?? 'for');
|
|
@@ -371,7 +411,14 @@ export const FormField = defineComponent({
|
|
|
371
411
|
const registerControl = (registration) => {
|
|
372
412
|
controls.value = [...controls.value, registration];
|
|
373
413
|
fallback.value = null;
|
|
374
|
-
void nextTick(
|
|
414
|
+
void nextTick(() => {
|
|
415
|
+
const activeRegistrations = controls.value.filter((candidate) => resolveElement(candidate.element) !== null);
|
|
416
|
+
if (!warnedMultipleControls && activeRegistrations.length > 1) {
|
|
417
|
+
warnedMultipleControls = true;
|
|
418
|
+
console.warn('[Sectile] FormField received multiple active control registrations. Register one composite control with explicit semantic, focus, and submission targets.');
|
|
419
|
+
}
|
|
420
|
+
applyControlAttributes();
|
|
421
|
+
});
|
|
375
422
|
return () => {
|
|
376
423
|
controls.value = controls.value.filter((candidate) => candidate !== registration);
|
|
377
424
|
discoverNativeFallback();
|
|
@@ -610,9 +657,66 @@ export function useFormControl(registration) {
|
|
|
610
657
|
}
|
|
611
658
|
return Object.freeze({ participating: field !== null && !owned, controlProps });
|
|
612
659
|
}
|
|
660
|
+
export const nativeInputControlCapabilities = Object.freeze({
|
|
661
|
+
id: true,
|
|
662
|
+
describedBy: true,
|
|
663
|
+
invalid: true,
|
|
664
|
+
required: true,
|
|
665
|
+
disabled: true,
|
|
666
|
+
readonly: true,
|
|
667
|
+
});
|
|
668
|
+
export const compositeControlCapabilities = Object.freeze({
|
|
669
|
+
id: true,
|
|
670
|
+
describedBy: true,
|
|
671
|
+
invalid: true,
|
|
672
|
+
labelledBy: true,
|
|
673
|
+
});
|
|
674
|
+
export const hiddenInputSubmissionCapabilities = Object.freeze({
|
|
675
|
+
name: true,
|
|
676
|
+
form: true,
|
|
677
|
+
required: true,
|
|
678
|
+
disabled: true,
|
|
679
|
+
});
|
|
680
|
+
export const hiddenSelectSubmissionCapabilities = hiddenInputSubmissionCapabilities;
|
|
681
|
+
export const hiddenValueSubmissionCapabilities = Object.freeze({
|
|
682
|
+
name: true,
|
|
683
|
+
form: true,
|
|
684
|
+
disabled: true,
|
|
685
|
+
});
|
|
686
|
+
export function useNativeInputFormControl(element) {
|
|
687
|
+
return useFormControl({
|
|
688
|
+
element: element,
|
|
689
|
+
semanticControl: element,
|
|
690
|
+
focusTarget: element,
|
|
691
|
+
labelMode: 'for',
|
|
692
|
+
capabilities: nativeInputControlCapabilities,
|
|
693
|
+
});
|
|
694
|
+
}
|
|
695
|
+
export function useCompositeFormControl(options) {
|
|
696
|
+
return useFormControl({
|
|
697
|
+
element: options.root,
|
|
698
|
+
semanticControl: options.root,
|
|
699
|
+
focusTarget: options.focusTarget ?? options.root,
|
|
700
|
+
labelMode: options.labelMode ?? 'labelledby',
|
|
701
|
+
capabilities: compositeControlCapabilities,
|
|
702
|
+
...(options.submissions === undefined ? {} : { submissions: options.submissions }),
|
|
703
|
+
});
|
|
704
|
+
}
|
|
613
705
|
export function provideFormControlOwner() {
|
|
614
706
|
provide(formControlOwnerKey, true);
|
|
615
707
|
}
|
|
708
|
+
export function createTypedForm() {
|
|
709
|
+
return Object.freeze({
|
|
710
|
+
Root: FormRoot,
|
|
711
|
+
Field: FormField,
|
|
712
|
+
Label: FormLabel,
|
|
713
|
+
Description: FormDescription,
|
|
714
|
+
Message: FormMessage,
|
|
715
|
+
Summary: FormSummary,
|
|
716
|
+
Reset: FormReset,
|
|
717
|
+
Submit: FormSubmit,
|
|
718
|
+
});
|
|
719
|
+
}
|
|
616
720
|
function useFormContext(part) {
|
|
617
721
|
const context = inject(formContextKey, null);
|
|
618
722
|
if (context === null)
|