@wssto2/vue-core 0.4.15 → 0.4.16

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 (74) hide show
  1. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-CkvS5W6K.js → ActionRow.vue_vue_type_script_setup_true_lang-DOjn7fqy.js} +1 -1
  2. package/dist/{Activity-4q26REYj.js → Activity-CVO3sJwy.js} +4 -4
  3. package/dist/{Changes-CKIuGF8O.js → Changes-Bzvl3cEx.js} +3 -3
  4. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-B17cUOzj.js → CollectionPage.vue_vue_type_script_setup_true_lang-CD5zZ29o.js} +2 -2
  5. package/dist/DateField.vue_vue_type_script_setup_true_lang-BufoFwVQ.js +278 -0
  6. package/dist/{DeadLetters-DPGcQOz1.js → DeadLetters-DmwUtgf9.js} +2 -2
  7. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-noYI9QMk.js → FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js} +1 -1
  8. package/dist/{FormView.vue_vue_type_script_setup_true_lang-BcIbTMHN.js → FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js} +1 -1
  9. package/dist/{General-CUA9b3ML.js → General-CUEjJBD4.js} +6 -6
  10. package/dist/{NewRolePage-DBfCvDWA.js → NewRolePage-Cyn-oV6r.js} +2 -2
  11. package/dist/NumberField.vue_vue_type_script_setup_true_lang-a8kN3A7k.js +150 -0
  12. package/dist/{ProfilePage-On-eAiJ-.js → ProfilePage-I74SQBFO.js} +4 -4
  13. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-fvAf3rQm.js → RoleEditor.vue_vue_type_script_setup_true_lang-Ce6wjptT.js} +7 -7
  14. package/dist/{RolePage-B8oul55j.js → RolePage-DWQP3qQl.js} +5 -5
  15. package/dist/{RolesPage-DsXVivdj.js → RolesPage-BeEsHIQ2.js} +4 -4
  16. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BMBkEmxr.js +81 -0
  17. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-DedKLLQK.js → SelectField.vue_vue_type_script_setup_true_lang-C1Flb1hA.js} +161 -139
  18. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-CirlMdHb.js → SessionList.vue_vue_type_script_setup_true_lang-DoUo68xE.js} +2 -2
  19. package/dist/{Sessions-BTyXDEuY.js → Sessions-D8IXcb5M.js} +2 -2
  20. package/dist/{SettingsPage-DHTmMgif.js → SettingsPage-DRQP2nrH.js} +6 -6
  21. package/dist/{SignIn-DU4DE2wj.js → SignIn-CAZkovhb.js} +4 -4
  22. package/dist/{SignInPage-BA22kyOp.js → SignInPage-D-49oLY3.js} +3 -3
  23. package/dist/{SignIns-C8QAZBaL.js → SignIns-BtNfgMLc.js} +1 -1
  24. package/dist/SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js +87 -0
  25. package/dist/TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js +292 -0
  26. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-4wC3c0BM.js +91 -0
  27. package/dist/TimeField.vue_vue_type_script_setup_true_lang-pAdLPYXA.js +187 -0
  28. package/dist/{UserRecord-D1BNmYp9.js → UserRecord-BSbNuRFi.js} +5 -5
  29. package/dist/{UsersList-ltx3G23-.js → UsersList-DPHxcaDm.js} +6 -6
  30. package/dist/access/index.js +1 -1
  31. package/dist/app/application.d.ts +1 -1
  32. package/dist/collection/index.js +1 -1
  33. package/dist/{control-CX9BG2UB.js → control-B_Nwtmag.js} +96 -82
  34. package/dist/form/CardSelectField.vue.d.ts +2 -2
  35. package/dist/form/ChoiceChips.vue.d.ts +2 -2
  36. package/dist/form/ComboField.vue.d.ts +2 -2
  37. package/dist/form/DateField.vue.d.ts +9 -2
  38. package/dist/form/DateTimeField.vue.d.ts +9 -2
  39. package/dist/form/Field.vue.d.ts +1 -1
  40. package/dist/form/FileField.vue.d.ts +9 -2
  41. package/dist/form/I18nField.vue.d.ts +9 -2
  42. package/dist/form/MoneyField.vue.d.ts +9 -2
  43. package/dist/form/MonthYearField.vue.d.ts +9 -2
  44. package/dist/form/MultiSelectField.vue.d.ts +2 -2
  45. package/dist/form/NumberField.vue.d.ts +20 -2
  46. package/dist/form/PhotoField.vue.d.ts +9 -2
  47. package/dist/form/SegmentedField.vue.d.ts +2 -2
  48. package/dist/form/SelectField.vue.d.ts +2 -2
  49. package/dist/form/SwitchField.vue.d.ts +2 -2
  50. package/dist/form/TextField.vue.d.ts +9 -2
  51. package/dist/form/TextareaField.vue.d.ts +9 -2
  52. package/dist/form/TimeField.vue.d.ts +9 -2
  53. package/dist/form/field.d.ts +9 -0
  54. package/dist/form/index.d.ts +1 -1
  55. package/dist/form/index.js +1079 -881
  56. package/dist/i18n/index.d.ts +1 -0
  57. package/dist/i18n/index.js +31 -28
  58. package/dist/identity/index.js +1 -1
  59. package/dist/{index-DwdVrW6q.js → index-Bq96L43f.js} +12 -12
  60. package/dist/{index-BCw_Ki6z.js → index-CWeNiBX6.js} +2 -2
  61. package/dist/{index-Chh4z9xW.js → index-yKIOaisE.js} +7 -7
  62. package/dist/index.d.ts +1 -1
  63. package/dist/index.js +1 -1
  64. package/dist/notifications/index.js +1 -1
  65. package/dist/phone/index.js +1 -1
  66. package/dist/{status-cWCAMAmW.js → status-DzmySsWw.js} +1 -1
  67. package/package.json +1 -1
  68. package/dist/DateField.vue_vue_type_script_setup_true_lang-DehwWm78.js +0 -256
  69. package/dist/NumberField.vue_vue_type_script_setup_true_lang-Dm6FfJ2T.js +0 -126
  70. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-B2d55hrh.js +0 -59
  71. package/dist/SwitchField.vue_vue_type_script_setup_true_lang-B2Z2hy_h.js +0 -65
  72. package/dist/TextField.vue_vue_type_script_setup_true_lang-nqnGG7Zc.js +0 -270
  73. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-BgIQyYtf.js +0 -69
  74. package/dist/TimeField.vue_vue_type_script_setup_true_lang-Dr0h-V_8.js +0 -165
@@ -1,5 +1,5 @@
1
1
  import { type ControlWidth } from "../controls";
2
- import { type FieldProps } from "./field";
2
+ import { type FieldProps, type FieldSlots } from "./field";
3
3
  import type { SelectOption } from "./options";
4
4
  declare const _default: <Value extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
5
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
@@ -31,7 +31,7 @@ declare const _default: <Value extends string | number>(__VLS_props: NonNullable
31
31
  focus: () => void | undefined;
32
32
  }>): void;
33
33
  attrs: any;
34
- slots: {};
34
+ slots: FieldSlots;
35
35
  emit: ((evt: "picked", option: SelectOption<Value>) => void) & ((evt: "update:modelValue", value: Value | null) => void);
36
36
  }>) => import("vue").VNode & {
37
37
  __ctx?: Awaited<typeof __VLS_setup>;
@@ -1,6 +1,6 @@
1
1
  import { type Day, type DisabledDates } from "./date/days";
2
2
  import type { QuickPick } from "./date/quickPicks";
3
- import { type FieldProps } from "./field";
3
+ import { type FieldProps, type FieldSlots } from "./field";
4
4
  /**
5
5
  * A calendar day, without a time or a zone: `"2026-09-30"`, or `null`. Typing is the main way in and is forgiving: the
6
6
  * app's own format (`30.09.2026.`), `30.9.` (this year), `+7` and `-1` (days from today) and the words for today and
@@ -22,10 +22,11 @@ type __VLS_Props = FieldProps & {
22
22
  openOn?: Day;
23
23
  quickPicks?: readonly QuickPick[];
24
24
  };
25
+ type __VLS_Slots = FieldSlots;
25
26
  type __VLS_PublicProps = __VLS_Props & {
26
27
  modelValue?: string | null;
27
28
  };
28
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
29
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
29
30
  focus: () => void | undefined;
30
31
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
31
32
  "update:modelValue": (value: string | null) => any;
@@ -48,4 +49,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
48
49
  openOn: Day;
49
50
  quickPicks: readonly QuickPick[];
50
51
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
52
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
51
53
  export default _default;
54
+ type __VLS_WithSlots<T, S> = T & {
55
+ new (): {
56
+ $slots: S;
57
+ };
58
+ };
@@ -1,6 +1,6 @@
1
1
  import { type Day, type DisabledDates } from "./date/days";
2
2
  import type { QuickPick } from "./date/quickPicks";
3
- import { type FieldProps } from "./field";
3
+ import { type FieldProps, type FieldSlots } from "./field";
4
4
  /**
5
5
  * A calendar day and a time on the clock of the user, without a zone: `"2026-09-30T14:35"`, or `null`; turning this
6
6
  * wall-clock time into an instant (or back) is the feature's mapping. Typing is the main way in (`15.10.2026. 14:35`,
@@ -22,10 +22,11 @@ type __VLS_Props = FieldProps & {
22
22
  minuteStep?: number;
23
23
  quickPicks?: readonly QuickPick[];
24
24
  };
25
+ type __VLS_Slots = FieldSlots;
25
26
  type __VLS_PublicProps = __VLS_Props & {
26
27
  modelValue?: string | null;
27
28
  };
28
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
29
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
29
30
  focus: () => void | undefined;
30
31
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
31
32
  "update:modelValue": (value: string | null) => any;
@@ -49,4 +50,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
49
50
  quickPicks: readonly QuickPick[];
50
51
  minuteStep: number;
51
52
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
53
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
52
54
  export default _default;
55
+ type __VLS_WithSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
@@ -36,7 +36,7 @@ type __VLS_Slots = {
36
36
  }) => unknown;
37
37
  /** A custom read-only presentation (a picked record's card) when `value` is not enough. */
38
38
  readonly?: () => unknown;
39
- /** A row action after the control (a per-row Save). */
39
+ /** A row action after the control (a per-row Save), in a group's row and on a field of its own. */
40
40
  trailing?: () => unknown;
41
41
  /** At the end of the label's line while editing (the language tabs of `I18nField`). */
42
42
  labelTrailing?: () => unknown;
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  /**
3
3
  * A file to upload. The field holds the chosen `File` and checks what it can (type and size) before the form does;
4
4
  * the upload itself is the app's (the form's `send` puts the file in a multipart body, or hands it to an uploader).
@@ -17,10 +17,11 @@ type __VLS_Props = FieldProps & {
17
17
  maxSize?: number;
18
18
  };
19
19
  declare function clear(): void;
20
+ type __VLS_Slots = FieldSlots;
20
21
  type __VLS_PublicProps = __VLS_Props & {
21
22
  modelValue?: File | null;
22
23
  };
23
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
24
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
24
25
  clear: typeof clear;
25
26
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
26
27
  "update:modelValue": (value: File | null) => any;
@@ -41,4 +42,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
41
42
  accept: readonly string[];
42
43
  maxSize: number;
43
44
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
45
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
44
46
  export default _default;
47
+ type __VLS_WithSlots<T, S> = T & {
48
+ new (): {
49
+ $slots: S;
50
+ };
51
+ };
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  import { type I18nText } from "./i18nText";
3
3
  /**
4
4
  * One text in several languages: the title of an advert, a product name. A segment per language sits next to the label,
@@ -21,10 +21,11 @@ type __VLS_Props = FieldProps & {
21
21
  placeholder?: string;
22
22
  maxLength?: number;
23
23
  };
24
+ type __VLS_Slots = Pick<FieldSlots, "trailing">;
24
25
  type __VLS_PublicProps = __VLS_Props & {
25
26
  modelValue?: I18nText;
26
27
  };
27
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
28
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
28
29
  focus: () => void | undefined;
29
30
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
30
31
  "update:modelValue": (value: I18nText) => any;
@@ -49,4 +50,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
49
50
  multiline: boolean;
50
51
  maxLength: number;
51
52
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
53
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
52
54
  export default _default;
55
+ type __VLS_WithSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
@@ -1,5 +1,5 @@
1
1
  import type { ControlWidth } from "../controls";
2
- import { type FieldProps } from "./field";
2
+ import { type FieldProps, type FieldSlots } from "./field";
3
3
  /**
4
4
  * An amount of money: a `NumberField` with two decimals and the currency after the number. The currency is
5
5
  * shown as given ("EUR", "€"); the amount is a plain number (what the payload carries is the feature's mapping).
@@ -12,10 +12,11 @@ type __VLS_Props = FieldProps & {
12
12
  negative?: boolean;
13
13
  width?: Exclude<ControlWidth, "content">;
14
14
  };
15
+ type __VLS_Slots = FieldSlots;
15
16
  type __VLS_PublicProps = __VLS_Props & {
16
17
  modelValue?: number | null;
17
18
  };
18
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
19
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
19
20
  focus: () => void | undefined;
20
21
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
21
22
  "update:modelValue": (value: number | null) => any;
@@ -36,4 +37,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
36
37
  decimals: number;
37
38
  negative: boolean;
38
39
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
39
41
  export default _default;
42
+ type __VLS_WithSlots<T, S> = T & {
43
+ new (): {
44
+ $slots: S;
45
+ };
46
+ };
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  /**
3
3
  * A month and a year shown as one date button, kept as two numbers (`month` 1 to 12, `year`), the way a record stores a
4
4
  * first registration. The button opens a popover with the year (arrows step it; clicking it opens a grid of twelve years,
@@ -12,11 +12,12 @@ type __VLS_Props = FieldProps & {
12
12
  minYear?: number;
13
13
  maxYear?: number;
14
14
  };
15
+ type __VLS_Slots = FieldSlots;
15
16
  type __VLS_PublicProps = __VLS_Props & {
16
17
  "month"?: number | null;
17
18
  "year"?: number | null;
18
19
  };
19
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
21
  "update:month": (value: number | null) => any;
21
22
  "update:year": (value: number | null) => any;
22
23
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
@@ -36,4 +37,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {},
36
37
  minYear: number;
37
38
  maxYear: number;
38
39
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
39
41
  export default _default;
42
+ type __VLS_WithSlots<T, S> = T & {
43
+ new (): {
44
+ $slots: S;
45
+ };
46
+ };
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  import type { SelectOption } from "./options";
3
3
  import { type OptionsSource } from "./useOptions";
4
4
  declare const _default: <Value extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -15,7 +15,7 @@ declare const _default: <Value extends string | number>(__VLS_props: NonNullable
15
15
  }) & Partial<{}>> & import("vue").PublicProps;
16
16
  expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
17
17
  attrs: any;
18
- slots: {};
18
+ slots: FieldSlots;
19
19
  emit: (evt: "update:modelValue", value: Value[]) => void;
20
20
  }>) => import("vue").VNode & {
21
21
  __ctx?: Awaited<typeof __VLS_setup>;
@@ -1,5 +1,5 @@
1
1
  import { type ControlWidth } from "../controls";
2
- import { type FieldProps } from "./field";
2
+ import { type FieldProps, type FieldSlots } from "./field";
3
3
  /**
4
4
  * A number. Empty is `null`; the text is read as the user's locale writes numbers (and forgives the
5
5
  * other decimal mark), rounded to `decimals`, shown with grouping when the field is not being edited.
@@ -7,6 +7,10 @@ import { type FieldProps } from "./field";
7
7
  * <NumberField v-bind="form.bind('quantity')" :label="t('quantity')" suffix="pcs" />
8
8
  * <NumberField v-bind="form.bind('weight')" :decimals="2" suffix="kg" />
9
9
  *
10
+ * `decimals` is the most fraction digits the field takes and keeps; `minDecimals` is how many are always shown (default: `decimals`, so an
11
+ * amount reads `1.50`). A coordinate is `:decimals="7" :min-decimals="0" mono` and reads `43.566139`, not `43.5661390`. `mono` sets the
12
+ * number in the monospaced face of `TextField mono`, when it is read character by character.
13
+ *
10
14
  * `:grouping="false"` writes no thousands separator, shown or typed (a year 2024, a coordinate 45.815123), and then a "."
11
15
  * is always a decimal mark, never a group mark.
12
16
  *
@@ -15,23 +19,29 @@ import { type FieldProps } from "./field";
15
19
  * Limits (`min`, `max`) are the validator's job; the field only keeps what cannot be a number out.
16
20
  */
17
21
  type __VLS_Props = FieldProps & {
22
+ /** The most fraction digits the field takes and keeps. */
18
23
  decimals?: number;
24
+ /** The fraction digits always shown, at most `decimals`: `1.50` for `decimals: 2`. Default: `decimals`; `0` shows only the digits the number has. */
25
+ minDecimals?: number;
19
26
  /** Allows a leading minus sign. */
20
27
  negative?: boolean;
21
28
  /** Separates thousands ("1.234.567"); off for years, coordinates and codes. */
22
29
  grouping?: boolean;
23
30
  /** The most digits the field takes, fraction digits included (the sign, separators and decimal mark are not counted): a postal code is `:max-digits="5"`. Further digits are not accepted, as `maxlength` does for text; a pasted longer number keeps its first digits. */
24
31
  maxDigits?: number;
32
+ /** The monospaced face of `TextField mono` (coordinates, codes). */
33
+ mono?: boolean;
25
34
  placeholder?: string;
26
35
  prefix?: string;
27
36
  suffix?: string;
28
37
  /** sm 10rem (the default for numbers) · md · lg · full. */
29
38
  width?: Exclude<ControlWidth, "content">;
30
39
  };
40
+ type __VLS_Slots = FieldSlots;
31
41
  type __VLS_PublicProps = __VLS_Props & {
32
42
  modelValue?: number | null;
33
43
  };
34
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
44
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
35
45
  focus: () => void | undefined;
36
46
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
47
  "update:modelValue": (value: number | null) => any;
@@ -51,10 +61,18 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
51
61
  hint: string;
52
62
  editable: boolean;
53
63
  lockedReason: string;
64
+ mono: boolean;
54
65
  suffix: string;
55
66
  decimals: number;
67
+ minDecimals: number;
56
68
  negative: boolean;
57
69
  grouping: boolean;
58
70
  maxDigits: number;
59
71
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
72
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
60
73
  export default _default;
74
+ type __VLS_WithSlots<T, S> = T & {
75
+ new (): {
76
+ $slots: S;
77
+ };
78
+ };
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  /**
3
3
  * One picture. The value is the chosen `File`, or a `string` for a picture the record already has (its URL); `null` is none.
4
4
  * The preview is made here and released when it is replaced or the field goes away; tapping it opens the picture in the `PhotoViewer`
@@ -10,10 +10,11 @@ type __VLS_Props = FieldProps & {
10
10
  accept?: readonly string[];
11
11
  maxSize?: number;
12
12
  };
13
+ type __VLS_Slots = Pick<FieldSlots, "trailing" | "labelTrailing">;
13
14
  type __VLS_PublicProps = __VLS_Props & {
14
15
  modelValue?: File | string | null;
15
16
  };
16
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
18
  "update:modelValue": (value: string | File | null) => any;
18
19
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
20
  "onUpdate:modelValue"?: ((value: string | File | null) => any) | undefined;
@@ -31,4 +32,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {},
31
32
  accept: readonly string[];
32
33
  maxSize: number;
33
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
34
36
  export default _default;
37
+ type __VLS_WithSlots<T, S> = T & {
38
+ new (): {
39
+ $slots: S;
40
+ };
41
+ };
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  import type { SelectOption } from "./options";
3
3
  declare const _default: <Value extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
4
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
@@ -13,7 +13,7 @@ declare const _default: <Value extends string | number>(__VLS_props: NonNullable
13
13
  }) & Partial<{}>> & import("vue").PublicProps;
14
14
  expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
15
15
  attrs: any;
16
- slots: {};
16
+ slots: FieldSlots;
17
17
  emit: (evt: "update:modelValue", value: Value) => void;
18
18
  }>) => import("vue").VNode & {
19
19
  __ctx?: Awaited<typeof __VLS_setup>;
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  import type { SelectOption } from "./options";
3
3
  import { type OptionsSource } from "./useOptions";
4
4
  declare const _default: <Value extends string | number, Clearable extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -16,7 +16,7 @@ declare const _default: <Value extends string | number, Clearable extends boolea
16
16
  }) & Partial<{}>> & import("vue").PublicProps;
17
17
  expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
18
18
  attrs: any;
19
- slots: {};
19
+ slots: FieldSlots;
20
20
  emit: (evt: "update:modelValue", value: Clearable extends true ? Value | null : Value) => void;
21
21
  }>) => import("vue").VNode & {
22
22
  __ctx?: Awaited<typeof __VLS_setup>;
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  /**
3
3
  * An on/off setting, iOS style: the label with a switch at the row's end. The value is a boolean: a column that
4
4
  * holds 0 and 1, or "0" and "1", is mapped where the record is (`toValues`, the payload), so the switch never has
@@ -11,7 +11,7 @@ import { type FieldProps } from "./field";
11
11
  type __VLS_Props = FieldProps & {
12
12
  size?: "sm" | "md" | "lg";
13
13
  };
14
- type __VLS_Slots = {
14
+ type __VLS_Slots = FieldSlots & {
15
15
  before?: () => unknown;
16
16
  };
17
17
  type __VLS_PublicProps = __VLS_Props & {
@@ -1,5 +1,5 @@
1
1
  import { type ControlWidth } from "../controls";
2
- import { type FieldProps } from "./field";
2
+ import { type FieldProps, type FieldSlots } from "./field";
3
3
  import { type TextSuggestion } from "./suggestions";
4
4
  /**
5
5
  * A line of text: a name, an e-mail address, a code. The value is always a string ("" is empty); a nullable
@@ -40,10 +40,11 @@ type __VLS_Props = FieldProps & {
40
40
  /** The id the last picks are kept under (see `recentChoicesKey`); setting it shows them under "Recent" before typing. */
41
41
  recents?: string;
42
42
  };
43
+ type __VLS_Slots = FieldSlots;
43
44
  type __VLS_PublicProps = __VLS_Props & {
44
45
  modelValue?: string;
45
46
  };
46
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
47
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
47
48
  focus: () => void | undefined;
48
49
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
49
50
  "update:modelValue": (value: string) => any;
@@ -84,4 +85,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
84
85
  suggestionsDebounce: number;
85
86
  suggestionsLimit: number;
86
87
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
88
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
87
89
  export default _default;
90
+ type __VLS_WithSlots<T, S> = T & {
91
+ new (): {
92
+ $slots: S;
93
+ };
94
+ };
@@ -1,4 +1,4 @@
1
- import { type FieldProps } from "./field";
1
+ import { type FieldProps, type FieldSlots } from "./field";
2
2
  /**
3
3
  * Longer text. On wide screens a labelled textarea is an entry row like the others (the label in the label
4
4
  * column, top-aligned, with "n / max" under it when there is a `maxLength`); on phones, and when `stacked`,
@@ -14,10 +14,11 @@ type __VLS_Props = FieldProps & {
14
14
  /** The label above the field even on wide screens: for a group too narrow for a label column. */
15
15
  stacked?: boolean;
16
16
  };
17
+ type __VLS_Slots = FieldSlots;
17
18
  type __VLS_PublicProps = __VLS_Props & {
18
19
  modelValue?: string;
19
20
  };
20
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
21
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
21
22
  focus: () => void | undefined;
22
23
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
24
  "update:modelValue": (value: string) => any;
@@ -40,4 +41,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
40
41
  maxLength: number;
41
42
  autocomplete: string;
42
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
43
45
  export default _default;
46
+ type __VLS_WithSlots<T, S> = T & {
47
+ new (): {
48
+ $slots: S;
49
+ };
50
+ };
@@ -1,5 +1,5 @@
1
1
  import type { QuickTime } from "./date/quickPicks";
2
- import { type FieldProps } from "./field";
2
+ import { type FieldProps, type FieldSlots } from "./field";
3
3
  /**
4
4
  * A time of day on the clock of the user, without a date or a zone: `"14:35"`, or `null`. Typing is forgiving (`1435`,
5
5
  * `14.35`, `14:35`, `9`, the word for now); the popover (a drum sheet on a phone) has an hour list 00 to 23 and a minute
@@ -15,10 +15,11 @@ type __VLS_Props = FieldProps & {
15
15
  /** Shortcuts: `"now"`, a time such as `"08:00"`, or `{ label, time }`. */
16
16
  quickTimes?: readonly QuickTime[];
17
17
  };
18
+ type __VLS_Slots = FieldSlots;
18
19
  type __VLS_PublicProps = __VLS_Props & {
19
20
  modelValue?: string | null;
20
21
  };
21
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
22
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
22
23
  focus: () => void | undefined;
23
24
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
25
  "update:modelValue": (value: string | null) => any;
@@ -38,4 +39,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
38
39
  minuteStep: number;
39
40
  quickTimes: readonly QuickTime[];
40
41
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
41
43
  export default _default;
44
+ type __VLS_WithSlots<T, S> = T & {
45
+ new (): {
46
+ $slots: S;
47
+ };
48
+ };
@@ -34,6 +34,15 @@ export declare const fieldDefaults: {
34
34
  presentation: "control";
35
35
  name: undefined;
36
36
  };
37
+ /** The slots every field passes through to its `Field` row (see `Field`). */
38
+ export interface FieldSlots {
39
+ /** A custom read-only presentation (a picked record's card) when the value is not enough. */
40
+ readonly?: () => unknown;
41
+ /** A row action after the control (a per-row Save). */
42
+ trailing?: () => unknown;
43
+ /** At the end of the label's line while editing. */
44
+ labelTrailing?: () => unknown;
45
+ }
37
46
  /** How a row lays out: a label column with a control, a label with a trailing control, a label over a full-width control, or a value. */
38
47
  export type FormRowLayout = "entry" | "setting" | "stacked" | "value";
39
48
  /** The state a `FormGroup` shares with the rows in it. */
@@ -20,7 +20,7 @@ export { default as DateField } from "./DateField.vue";
20
20
  export { default as DateTimeField } from "./DateTimeField.vue";
21
21
  export { default as Field } from "./Field.vue";
22
22
  export { fieldDefaults, fieldProps, formEditableKey, useFieldMode } from "./field";
23
- export type { FieldProps, FormRowLayout } from "./field";
23
+ export type { FieldProps, FieldSlots, FormRowLayout } from "./field";
24
24
  export { default as FileField } from "./FileField.vue";
25
25
  export { checkFile, formatBytes } from "./file";
26
26
  export type { FileProblem } from "./file";