@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.
Files changed (153) hide show
  1. package/dist/accordion.d.ts.map +1 -1
  2. package/dist/accordion.js +9 -3
  3. package/dist/accordion.js.map +1 -1
  4. package/dist/calendar.d.ts +384 -117
  5. package/dist/calendar.d.ts.map +1 -1
  6. package/dist/calendar.js +42 -101
  7. package/dist/calendar.js.map +1 -1
  8. package/dist/carousel.d.ts.map +1 -1
  9. package/dist/carousel.js +13 -2
  10. package/dist/carousel.js.map +1 -1
  11. package/dist/cascade-select.d.ts.map +1 -1
  12. package/dist/cascade-select.js +19 -5
  13. package/dist/cascade-select.js.map +1 -1
  14. package/dist/checkbox.d.ts.map +1 -1
  15. package/dist/checkbox.js +2 -1
  16. package/dist/checkbox.js.map +1 -1
  17. package/dist/combobox.d.ts.map +1 -1
  18. package/dist/combobox.js +17 -2
  19. package/dist/combobox.js.map +1 -1
  20. package/dist/date-field.d.ts +1 -1
  21. package/dist/date-field.d.ts.map +1 -1
  22. package/dist/date-picker.d.ts +7 -7
  23. package/dist/date-range-field.d.ts.map +1 -1
  24. package/dist/date-range-field.js +2 -1
  25. package/dist/date-range-field.js.map +1 -1
  26. package/dist/date-range-picker.d.ts +7 -7
  27. package/dist/date-time-field.d.ts +1 -1
  28. package/dist/date-time-field.d.ts.map +1 -1
  29. package/dist/date-time-picker.d.ts +7 -7
  30. package/dist/date-time-range-picker.d.ts +7 -7
  31. package/dist/disclosure.d.ts.map +1 -1
  32. package/dist/disclosure.js +2 -1
  33. package/dist/disclosure.js.map +1 -1
  34. package/dist/editable.d.ts.map +1 -1
  35. package/dist/editable.js +2 -1
  36. package/dist/editable.js.map +1 -1
  37. package/dist/feed.d.ts +2 -2
  38. package/dist/feed.d.ts.map +1 -1
  39. package/dist/feed.js +12 -3
  40. package/dist/feed.js.map +1 -1
  41. package/dist/form.d.ts +94 -15
  42. package/dist/form.d.ts.map +1 -1
  43. package/dist/form.js +133 -29
  44. package/dist/form.js.map +1 -1
  45. package/dist/grid.d.ts +6 -6
  46. package/dist/grid.d.ts.map +1 -1
  47. package/dist/grid.js +32 -8
  48. package/dist/grid.js.map +1 -1
  49. package/dist/index.d.ts +4 -4
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -2
  52. package/dist/index.js.map +1 -1
  53. package/dist/internal/collection.d.ts +21 -0
  54. package/dist/internal/collection.d.ts.map +1 -0
  55. package/dist/internal/collection.js +31 -0
  56. package/dist/internal/collection.js.map +1 -0
  57. package/dist/internal/controlled-state.d.ts +2 -0
  58. package/dist/internal/controlled-state.d.ts.map +1 -0
  59. package/dist/internal/controlled-state.js +13 -0
  60. package/dist/internal/controlled-state.js.map +1 -0
  61. package/dist/internal/date-picker.d.ts +18 -18
  62. package/dist/internal/date-picker.d.ts.map +1 -1
  63. package/dist/internal/date-picker.js +51 -37
  64. package/dist/internal/date-picker.js.map +1 -1
  65. package/dist/internal/form-control.d.ts +1 -40
  66. package/dist/internal/form-control.d.ts.map +1 -1
  67. package/dist/internal/form-control.js +1 -51
  68. package/dist/internal/form-control.js.map +1 -1
  69. package/dist/internal/native-field.d.ts.map +1 -1
  70. package/dist/internal/native-field.js +2 -1
  71. package/dist/internal/native-field.js.map +1 -1
  72. package/dist/internal/popup.d.ts +3 -0
  73. package/dist/internal/popup.d.ts.map +1 -1
  74. package/dist/internal/popup.js +105 -37
  75. package/dist/internal/popup.js.map +1 -1
  76. package/dist/listbox.d.ts +2 -2
  77. package/dist/listbox.d.ts.map +1 -1
  78. package/dist/listbox.js +22 -19
  79. package/dist/listbox.js.map +1 -1
  80. package/dist/menu.d.ts.map +1 -1
  81. package/dist/menu.js +6 -2
  82. package/dist/menu.js.map +1 -1
  83. package/dist/month-picker.d.ts +7 -7
  84. package/dist/month-range-picker.d.ts +7 -7
  85. package/dist/multi-thumb-slider.d.ts.map +1 -1
  86. package/dist/multi-thumb-slider.js +2 -1
  87. package/dist/multi-thumb-slider.js.map +1 -1
  88. package/dist/pagination.d.ts.map +1 -1
  89. package/dist/pagination.js +26 -7
  90. package/dist/pagination.js.map +1 -1
  91. package/dist/pin-input.d.ts.map +1 -1
  92. package/dist/pin-input.js +2 -1
  93. package/dist/pin-input.js.map +1 -1
  94. package/dist/popover.js +1 -1
  95. package/dist/popover.js.map +1 -1
  96. package/dist/primitive.d.ts +3 -0
  97. package/dist/primitive.d.ts.map +1 -1
  98. package/dist/primitive.js +144 -8
  99. package/dist/primitive.js.map +1 -1
  100. package/dist/radio-group.d.ts.map +1 -1
  101. package/dist/radio-group.js +11 -5
  102. package/dist/radio-group.js.map +1 -1
  103. package/dist/range-calendar.d.ts +5 -5
  104. package/dist/rating.d.ts.map +1 -1
  105. package/dist/rating.js +2 -1
  106. package/dist/rating.js.map +1 -1
  107. package/dist/select.d.ts +22 -2
  108. package/dist/select.d.ts.map +1 -1
  109. package/dist/select.js +84 -20
  110. package/dist/select.js.map +1 -1
  111. package/dist/slider.d.ts.map +1 -1
  112. package/dist/slider.js +2 -1
  113. package/dist/slider.js.map +1 -1
  114. package/dist/switch.d.ts.map +1 -1
  115. package/dist/switch.js +2 -1
  116. package/dist/switch.js.map +1 -1
  117. package/dist/tabs.d.ts.map +1 -1
  118. package/dist/tabs.js +11 -5
  119. package/dist/tabs.js.map +1 -1
  120. package/dist/text.d.ts.map +1 -1
  121. package/dist/text.js +4 -4
  122. package/dist/text.js.map +1 -1
  123. package/dist/time-field.d.ts +1 -1
  124. package/dist/time-field.d.ts.map +1 -1
  125. package/dist/time-range-field.d.ts.map +1 -1
  126. package/dist/time-range-field.js +2 -1
  127. package/dist/time-range-field.js.map +1 -1
  128. package/dist/toast.d.ts +10 -0
  129. package/dist/toast.d.ts.map +1 -1
  130. package/dist/toast.js +10 -3
  131. package/dist/toast.js.map +1 -1
  132. package/dist/toggle-button.d.ts.map +1 -1
  133. package/dist/toggle-button.js +2 -1
  134. package/dist/toggle-button.js.map +1 -1
  135. package/dist/toggle-group.d.ts.map +1 -1
  136. package/dist/toggle-group.js +10 -5
  137. package/dist/toggle-group.js.map +1 -1
  138. package/dist/toolbar.d.ts.map +1 -1
  139. package/dist/toolbar.js +9 -2
  140. package/dist/toolbar.js.map +1 -1
  141. package/dist/tooltip.d.ts +1 -1
  142. package/dist/tooltip.d.ts.map +1 -1
  143. package/dist/tooltip.js +1 -1
  144. package/dist/tooltip.js.map +1 -1
  145. package/dist/tree-grid.d.ts.map +1 -1
  146. package/dist/tree-grid.js +36 -5
  147. package/dist/tree-grid.js.map +1 -1
  148. package/dist/tree-view.d.ts.map +1 -1
  149. package/dist/tree-view.js +26 -4
  150. package/dist/tree-view.js.map +1 -1
  151. package/dist/year-picker.d.ts +5 -5
  152. package/dist/year-range-picker.d.ts +5 -5
  153. 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, 'request-window': (_direction, _anchor, _revision, _requestGeneration) => 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('request-window', direction, anchor, revision, requestGeneration); }, onUpdate: refresh,
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 result = connection.value.syncWindow({ items: props.items, revision: props.revision, ...(props.requestGeneration === undefined ? {} : { requestGeneration: props.requestGeneration }), highlightedValue: highlighted.value });
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":"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"}
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<Schema extends FormSchema = FormSchema> = Omit<DOMFormSubmitPayload<string, FormSchemaOutput<Schema>>, 'event'> & {
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 type FormSubmitIssue = Omit<FormIssue, 'source'>;
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<Schema extends FormSchema = FormSchema> = (event: FormSubmitEvent<Schema>) => FormSubmitResult | PromiseLike<FormSubmitResult>;
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<Schema extends FormSchema = FormSchema> = DOMFormValidateHandler<string, FormSchemaInput<Schema>>;
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<Schema extends FormSchema = FormSchema> {
38
- readonly issues?: readonly FormIssue[];
39
- readonly schema?: Schema;
40
- readonly validate?: FormValidateHandler<Schema>;
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<Schema>;
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<Schema extends FormSchema = FormSchema> = FormRootProps<Schema> & VNodeProps & AllowedComponentProps & ComponentCustomProps & {
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 'onState-change'?: (state: FormState) => unknown;
71
+ readonly onStateChange?: (state: FormState) => unknown;
65
72
  };
66
73
  export interface FormRootComponent {
67
- new <Schema extends FormSchema = FormSchema>(props: FormRootPublicProps<Schema>): {
68
- $props: FormRootPublicProps<Schema>;
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
- export interface FormFieldProps {
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?: FormFieldPath;
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
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,GAAG,EAER,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,KAAK,CAAC;AACb,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACrC,KAAK,WAAW,EAEhB,KAAK,gBAAgB,EACrB,KAAK,UAAU,IAAI,aAAa,EAChC,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,IAAI,oBAAoB,EAC9C,KAAK,mBAAmB,IAAI,sBAAsB,EAClD,KAAK,mBAAmB,IAAI,sBAAsB,EAClD,KAAK,mBAAmB,IAAI,sBAAsB,EAClD,KAAK,oBAAoB,IAAI,uBAAuB,EACpD,KAAK,UAAU,IAAI,aAAa,EACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7D,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3E,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,MAAM,MAAM,UAAU,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9F,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,MAAM,SAAS,MAAM,GAAG,KAAK,IAC3B,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,UAAU,IACnD,MAAM,SAAS,aAAa,CAAC,MAAM,KAAK,SAAS,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AACnF,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,UAAU,IACpD,MAAM,SAAS,aAAa,CAAC,MAAM,EAAE,MAAM,MAAM,SAAS,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AACrF,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IAAI,IAAI,CACxE,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EACtD,OAAO,CACR,GAAG;IACF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,cAAc,IAAI,IAAI,CAAC;IACvB,eAAe,IAAI,IAAI,CAAC;IACxB,wBAAwB,IAAI,IAAI,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACxD,MAAM,MAAM,gBAAgB,GACxB,IAAI,GACJ;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,CAAC;AACzE,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IAClE,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACvF,MAAM,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAC1C,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAChE,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC3D,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IACpE,sBAAsB,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D,MAAM,MAAM,uBAAuB,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAC1D,MAAM,MAAM,yBAAyB,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CACnC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,KAC1B,OAAO,CAAC;AACb,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,SAAS,SAAS,EAAE,KACzB,OAAO,CAAC;AACb,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACzD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC;IACpD,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC;AAED,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IACpE,aAAa,CAAC,MAAM,CAAC,GACnB,UAAU,GACV,qBAAqB,GACrB,oBAAoB,GACpB;IACA,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAC3D,CAAC;AAEJ,MAAM,WAAW,iBAAiB;IAChC,KAAK,MAAM,SAAS,UAAU,GAAG,UAAU,EAAE,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG;QAChF,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,EAAE;YACN,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,UAAU,CAAC;SACpD,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC5D,MAAM,MAAM,qBAAqB,GAC7B,IAAI,GACJ,MAAM,GACN,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,CAAC,WAAW,SAAS,WAAW,GAAG,WAAW,IACvE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GACvB,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;AAE/B,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACtD;AAED,MAAM,MAAM,oBAAoB,GAC5B,SAAS,0BAA0B,EAAE,GACrC,CAAC,MAAM,SAAS,0BAA0B,EAAE,CAAC,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AA4MD,eAAO,MAAM,QAAQ,EAA8B,iBAAiB,CAAC;AAyCrE,eAAO,MAAM,SAAS;;QA3Md,IAAI,EAAgC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;;;QAC7D,IAAI;QAAW,OAAO;;;QA8MzB,IAAI;QAAU,OAAO;;;QACnB,IAAI,EAAqB,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO;;;QACzD,IAAI;QAAU,OAAO;;;QACjB,IAAI;QAAW,OAAO;;;QACtB,IAAI;QAAW,OAAO;;;QACtB,IAAI;QAAW,OAAO;;UA+NvB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA5Ne,CAAC,KAAK,EAAE,kBAAkB,KAAK,UAAU;yEAwO/E,CAAC;AAEH,eAAO,MAAM,SAAS;;QAGZ,IAAI,EAAgC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;;;QAC7D,IAAI;QAAW,OAAO;;UAItB,UAAU;;;;;;;;;;;;4EAWvB,CAAC;AAEH,eAAO,MAAM,eAAe;;QArdf,IAAI;QAAW,OAAO;;;cADS,QAAQ,CAAC,WAAW,CAAC;;;UA2dlD,UAAU;;;;;;;;;;;;4EAIvB,CAAC;AAEH,eAAO,MAAM,WAAW;;QAheX,IAAI;QAAW,OAAO;;;cADS,QAAQ,CAAC,WAAW,CAAC;;;UAuelD,UAAU;;;;;;;;;;;;;aAHe,CAAC,KAAK,EAAE,kBAAkB,KAAK,UAAU;yEAiB/E,CAAC;AAEH,eAAO,MAAM,WAAW;;QAvfhB,IAAI,EAAgC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;;;QAC7D,IAAI;QAAW,OAAO;;UA6fpB,UAAU;;;;;;;;;;;;;aAJe,CAAC,KAAK,EAAE,iBAAiB,KAAK,UAAU;yEAgB9E,CAAC;AAEH,eAAO,MAAM,SAAS;;QA3gBT,IAAI;QAAW,OAAO;;;cADS,QAAQ,CAAC,WAAW,CAAC;;;UAkhBlD,UAAU;;;;;;;;;;;;4EAUvB,CAAC;AAEH,eAAO,MAAM,UAAU;;QA7hBV,IAAI;QAAW,OAAO;;;cADS,QAAQ,CAAC,WAAW,CAAC;;;UAoiBlD,UAAU;;;;;;;;;;;;4EAUvB,CAAC;AAqCH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,uBAAuB,GACpC,wBAAwB,CAoB1B;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
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
- 'state-change': (_state) => true,
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, toServerIssues(result.issues));
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, [submissionErrorIssue(reason)]);
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
- ...(summary.value === null ? {} : { summary: summary.value }),
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
- ], () => { void nextTick(mount); });
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 toServerIssues(input) {
200
- if (input === undefined || input.length === 0)
201
- return [submissionErrorIssue()];
202
- return Object.freeze(input.map((issue) => Object.freeze({ ...issue, source: 'server' })));
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(reason) {
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: message || 'Form submission failed.',
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(applyControlAttributes);
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)