@coffer-org/sdk 1.1.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 (61) hide show
  1. package/dist/color-names.d.ts +7 -0
  2. package/dist/color-names.d.ts.map +1 -0
  3. package/dist/color-names.js +463 -0
  4. package/dist/color-names.js.map +1 -0
  5. package/dist/condition.d.ts +38 -0
  6. package/dist/condition.d.ts.map +1 -0
  7. package/dist/condition.js +109 -0
  8. package/dist/condition.js.map +1 -0
  9. package/dist/countries.d.ts +8 -0
  10. package/dist/countries.d.ts.map +1 -0
  11. package/dist/countries.js +197 -0
  12. package/dist/countries.js.map +1 -0
  13. package/dist/currencies.d.ts +14 -0
  14. package/dist/currencies.d.ts.map +1 -0
  15. package/dist/currencies.js +39 -0
  16. package/dist/currencies.js.map +1 -0
  17. package/dist/extend.d.ts +46 -0
  18. package/dist/extend.d.ts.map +1 -0
  19. package/dist/extend.js +35 -0
  20. package/dist/extend.js.map +1 -0
  21. package/dist/field-helpers.d.ts +9 -0
  22. package/dist/field-helpers.d.ts.map +1 -0
  23. package/dist/field-helpers.js +30 -0
  24. package/dist/field-helpers.js.map +1 -0
  25. package/dist/field-presets.d.ts +278 -0
  26. package/dist/field-presets.d.ts.map +1 -0
  27. package/dist/field-presets.js +303 -0
  28. package/dist/field-presets.js.map +1 -0
  29. package/dist/fields.d.ts +817 -0
  30. package/dist/fields.d.ts.map +1 -0
  31. package/dist/fields.js +911 -0
  32. package/dist/fields.js.map +1 -0
  33. package/dist/index.d.ts +16 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +16 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/module.d.ts +164 -0
  38. package/dist/module.d.ts.map +1 -0
  39. package/dist/module.js +244 -0
  40. package/dist/module.js.map +1 -0
  41. package/dist/package.d.ts +30 -0
  42. package/dist/package.d.ts.map +1 -0
  43. package/dist/package.js +31 -0
  44. package/dist/package.js.map +1 -0
  45. package/dist/plugin.d.ts +77 -0
  46. package/dist/plugin.d.ts.map +1 -0
  47. package/dist/plugin.js +57 -0
  48. package/dist/plugin.js.map +1 -0
  49. package/dist/settings.d.ts +9 -0
  50. package/dist/settings.d.ts.map +1 -0
  51. package/dist/settings.js +4 -0
  52. package/dist/settings.js.map +1 -0
  53. package/dist/units.d.ts +24 -0
  54. package/dist/units.d.ts.map +1 -0
  55. package/dist/units.js +125 -0
  56. package/dist/units.js.map +1 -0
  57. package/dist/vault.d.ts +18 -0
  58. package/dist/vault.d.ts.map +1 -0
  59. package/dist/vault.js +4 -0
  60. package/dist/vault.js.map +1 -0
  61. package/package.json +27 -0
@@ -0,0 +1,278 @@
1
+ import { type FieldMeta, type FieldItem, type StaticEl, type FieldCoreOpts, type FieldConfig, type RealOpts, type IntOpts } from './fields.js';
2
+ /** Базові opts для текстових пресетів (pattern/validation задає сам пресет). */
3
+ export interface TextPresetOpts extends FieldCoreOpts {
4
+ label?: string;
5
+ required?: boolean;
6
+ multiple?: boolean;
7
+ }
8
+ /** Email — kind 'email', email-валідація, inputType 'email'. */
9
+ export declare function email(o: TextPresetOpts & {
10
+ key: string;
11
+ }): FieldItem;
12
+ export declare function email(o: TextPresetOpts & {
13
+ value: unknown;
14
+ key?: undefined;
15
+ }): StaticEl;
16
+ export declare function email(o: TextPresetOpts & {
17
+ key?: undefined;
18
+ value?: undefined;
19
+ }): FieldMeta;
20
+ /** URL — kind 'url', url-валідація, inputType 'url'. */
21
+ export declare function url(o: TextPresetOpts & {
22
+ key: string;
23
+ }): FieldItem;
24
+ export declare function url(o: TextPresetOpts & {
25
+ value: unknown;
26
+ key?: undefined;
27
+ }): StaticEl;
28
+ export declare function url(o: TextPresetOpts & {
29
+ key?: undefined;
30
+ value?: undefined;
31
+ }): FieldMeta;
32
+ /** Телефон — kind 'tel', inputType 'tel'. Без строгої схеми (формати різні). */
33
+ export declare function tel(o: TextPresetOpts & {
34
+ key: string;
35
+ }): FieldItem;
36
+ export declare function tel(o: TextPresetOpts & {
37
+ value: unknown;
38
+ key?: undefined;
39
+ }): StaticEl;
40
+ export declare function tel(o: TextPresetOpts & {
41
+ key?: undefined;
42
+ value?: undefined;
43
+ }): FieldMeta;
44
+ /** Пароль — kind 'password', inputType 'password'. Без строгої схеми. */
45
+ export declare function password(o: TextPresetOpts & {
46
+ key: string;
47
+ }): FieldItem;
48
+ export declare function password(o: TextPresetOpts & {
49
+ value: unknown;
50
+ key?: undefined;
51
+ }): StaticEl;
52
+ export declare function password(o: TextPresetOpts & {
53
+ key?: undefined;
54
+ value?: undefined;
55
+ }): FieldMeta;
56
+ /** Slug — kind 'slug', `^[a-z0-9-]+$`. */
57
+ export declare function slug(o: TextPresetOpts & {
58
+ key: string;
59
+ }): FieldItem;
60
+ export declare function slug(o: TextPresetOpts & {
61
+ value: unknown;
62
+ key?: undefined;
63
+ }): StaticEl;
64
+ export declare function slug(o: TextPresetOpts & {
65
+ key?: undefined;
66
+ value?: undefined;
67
+ }): FieldMeta;
68
+ /** Hex-колір — kind 'color', `#rrggbb` + swatch-widget. */
69
+ export declare function color(o: TextPresetOpts & {
70
+ key: string;
71
+ }): FieldItem;
72
+ export declare function color(o: TextPresetOpts & {
73
+ value: unknown;
74
+ key?: undefined;
75
+ }): StaticEl;
76
+ export declare function color(o: TextPresetOpts & {
77
+ key?: undefined;
78
+ value?: undefined;
79
+ }): FieldMeta;
80
+ /** Назва кольору CSS — kind 'colorname'. */
81
+ export declare function colorname(o: TextPresetOpts & {
82
+ key: string;
83
+ }): FieldItem;
84
+ export declare function colorname(o: TextPresetOpts & {
85
+ value: unknown;
86
+ key?: undefined;
87
+ }): StaticEl;
88
+ export declare function colorname(o: TextPresetOpts & {
89
+ key?: undefined;
90
+ value?: undefined;
91
+ }): FieldMeta;
92
+ /** Заголовок модуля — kind 'title'. Heading-рендер. */
93
+ export declare function title(o: TextPresetOpts & {
94
+ key: string;
95
+ }): FieldItem;
96
+ export declare function title(o: TextPresetOpts & {
97
+ value: unknown;
98
+ key?: undefined;
99
+ }): StaticEl;
100
+ export declare function title(o: TextPresetOpts & {
101
+ key?: undefined;
102
+ value?: undefined;
103
+ }): FieldMeta;
104
+ /** IMEI — kind 'imei', 15-digit pattern. */
105
+ export declare function imei(o: TextPresetOpts & {
106
+ key: string;
107
+ }): FieldItem;
108
+ export declare function imei(o: TextPresetOpts & {
109
+ value: unknown;
110
+ key?: undefined;
111
+ }): StaticEl;
112
+ export declare function imei(o: TextPresetOpts & {
113
+ key?: undefined;
114
+ value?: undefined;
115
+ }): FieldMeta;
116
+ /** MAC-адреса — kind 'mac', XX:XX:XX:XX:XX:XX (роздільник `:` або `-`). */
117
+ export declare function mac(o: TextPresetOpts & {
118
+ key: string;
119
+ }): FieldItem;
120
+ export declare function mac(o: TextPresetOpts & {
121
+ value: unknown;
122
+ key?: undefined;
123
+ }): StaticEl;
124
+ export declare function mac(o: TextPresetOpts & {
125
+ key?: undefined;
126
+ value?: undefined;
127
+ }): FieldMeta;
128
+ /** IBAN — kind 'iban', 2 літери + 2 цифри + 11–30 буквоцифр. */
129
+ export declare function iban(o: TextPresetOpts & {
130
+ key: string;
131
+ }): FieldItem;
132
+ export declare function iban(o: TextPresetOpts & {
133
+ value: unknown;
134
+ key?: undefined;
135
+ }): StaticEl;
136
+ export declare function iban(o: TextPresetOpts & {
137
+ key?: undefined;
138
+ value?: undefined;
139
+ }): FieldMeta;
140
+ export interface TagsOpts extends FieldCoreOpts {
141
+ label?: string;
142
+ required?: boolean;
143
+ /**
144
+ * Підказки автодоповнення або іменоване джерело.
145
+ * string → іменований список (UI тільки); array → inline підказки.
146
+ * Не валідуються — тільки UI.
147
+ */
148
+ options?: string | string[];
149
+ }
150
+ /** Теги — масив непорожніх рядків + chip-widget. */
151
+ export declare function tags(o: TagsOpts & {
152
+ key: string;
153
+ }): FieldItem;
154
+ export declare function tags(o: TagsOpts & {
155
+ value: unknown;
156
+ key?: undefined;
157
+ }): StaticEl;
158
+ export declare function tags(o: TagsOpts & {
159
+ key?: undefined;
160
+ value?: undefined;
161
+ }): FieldMeta;
162
+ type MarkdownOpts = {
163
+ label?: string;
164
+ required?: boolean;
165
+ } & FieldCoreOpts;
166
+ /** Markdown — text() + markdown-редактор. */
167
+ export declare function markdown(o: MarkdownOpts & {
168
+ key: string;
169
+ }): FieldItem;
170
+ export declare function markdown(o: MarkdownOpts & {
171
+ value: unknown;
172
+ key?: undefined;
173
+ }): StaticEl;
174
+ export declare function markdown(o: MarkdownOpts & {
175
+ key?: undefined;
176
+ value?: undefined;
177
+ }): FieldMeta;
178
+ type CodeOpts = {
179
+ label?: string;
180
+ required?: boolean;
181
+ } & FieldCoreOpts;
182
+ /**
183
+ * Сніпет коду — text() + моноширинний редактор коду.
184
+ * `config.language` — підказка підсвітки (json/yaml/bash/ini…), зберігається у hints.
185
+ */
186
+ export declare function snippet(o: CodeOpts & {
187
+ key: string;
188
+ }): FieldItem;
189
+ export declare function snippet(o: CodeOpts & {
190
+ value: unknown;
191
+ key?: undefined;
192
+ }): StaticEl;
193
+ export declare function snippet(o: CodeOpts & {
194
+ key?: undefined;
195
+ value?: undefined;
196
+ }): FieldMeta;
197
+ export interface RatingOpts extends FieldCoreOpts {
198
+ label?: string;
199
+ required?: boolean;
200
+ max?: number;
201
+ multiple?: boolean;
202
+ }
203
+ /** Оцінка 1..N — integer + star-widget. */
204
+ export declare function rating(o: RatingOpts & {
205
+ key: string;
206
+ }): FieldItem;
207
+ export declare function rating(o: RatingOpts & {
208
+ value: unknown;
209
+ key?: undefined;
210
+ }): StaticEl;
211
+ export declare function rating(o: RatingOpts & {
212
+ key?: undefined;
213
+ value?: undefined;
214
+ }): FieldMeta;
215
+ export interface DurationOpts extends FieldCoreOpts {
216
+ label?: string;
217
+ required?: boolean;
218
+ /** Maximum value in seconds. Default: 604800 (1 week). */
219
+ max?: number;
220
+ /** Step in seconds. Default: 60. */
221
+ step?: number;
222
+ multiple?: boolean;
223
+ }
224
+ /** Тривалість у секундах — integer + duration-widget («2д 3год 30хв 15с»). */
225
+ export declare function duration(o: DurationOpts & {
226
+ key: string;
227
+ }): FieldItem;
228
+ export declare function duration(o: DurationOpts & {
229
+ value: unknown;
230
+ key?: undefined;
231
+ }): StaticEl;
232
+ export declare function duration(o: DurationOpts & {
233
+ key?: undefined;
234
+ value?: undefined;
235
+ }): FieldMeta;
236
+ /** Відсоток 0..100 — real({config:{min:0,max:100}}). */
237
+ export declare function percent(o: Omit<RealOpts, 'config'> & {
238
+ config?: FieldConfig;
239
+ }): FieldMeta;
240
+ /** Рік — int({config:{min:1900,max:2100}}); межі перекриваються через config.min/max. */
241
+ export declare function year(o: Omit<IntOpts, 'config'> & {
242
+ config?: FieldConfig;
243
+ }): FieldMeta;
244
+ /** Країна — пресет над select({options:'countries'}) з прапорами. */
245
+ export declare function country(o: TextPresetOpts & {
246
+ key: string;
247
+ }): FieldItem;
248
+ export declare function country(o: TextPresetOpts & {
249
+ value: unknown;
250
+ key?: undefined;
251
+ }): StaticEl;
252
+ export declare function country(o: TextPresetOpts & {
253
+ key?: undefined;
254
+ value?: undefined;
255
+ }): FieldMeta;
256
+ export declare const presets: {
257
+ email: typeof email;
258
+ url: typeof url;
259
+ tel: typeof tel;
260
+ slug: typeof slug;
261
+ color: typeof color;
262
+ colorname: typeof colorname;
263
+ title: typeof title;
264
+ password: typeof password;
265
+ tags: typeof tags;
266
+ imei: typeof imei;
267
+ mac: typeof mac;
268
+ iban: typeof iban;
269
+ markdown: typeof markdown;
270
+ snippet: typeof snippet;
271
+ rating: typeof rating;
272
+ duration: typeof duration;
273
+ percent: typeof percent;
274
+ year: typeof year;
275
+ country: typeof country;
276
+ };
277
+ export {};
278
+ //# sourceMappingURL=field-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-presets.d.ts","sourceRoot":"","sources":["../src/field-presets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,303 @@
1
+ /**
2
+ * Пресети полів — тонкі обгортки над базовими примітивами з fields.ts.
3
+ *
4
+ * Кожен пресет = один kind (один віджет). Пресети не приймають `format` —
5
+ * вони самі є семантичними типами. min/max/step — через `config`.
6
+ *
7
+ * Пресети додаються до `f` через `composeF`, який гарантує, що жоден пресет
8
+ * не перебиває примітив.
9
+ *
10
+ * Циклічний імпорт з fields.ts безпечний: фабрики/хелпери — hoisted-декларації,
11
+ * а пресети викликають їх лише в тілі своїх функцій.
12
+ */
13
+ import { z } from 'zod';
14
+ import { real, int, text, select, vmsg, typeErr, jsonRefined, optionalize, applyMultiple, wrapKey, } from './fields.js';
15
+ export function email(o) {
16
+ const required = o.required ?? false;
17
+ let s = z.string().email({ message: vmsg('email') });
18
+ if (required)
19
+ s = s.min(1, { message: vmsg('min_length', { min: 1 }) });
20
+ const base = {
21
+ kind: 'email',
22
+ label: o.label ?? '',
23
+ required,
24
+ prim: 'text',
25
+ column: 'text',
26
+ hints: { format: 'email', inputType: 'email' },
27
+ zod: optionalize(s, required),
28
+ };
29
+ const meta = applyMultiple(base, o.multiple ?? false);
30
+ return wrapKey(o, meta);
31
+ }
32
+ export function url(o) {
33
+ const required = o.required ?? false;
34
+ let s = z.string().url({ message: vmsg('url') });
35
+ if (required)
36
+ s = s.min(1, { message: vmsg('min_length', { min: 1 }) });
37
+ const base = {
38
+ kind: 'url',
39
+ label: o.label ?? '',
40
+ required,
41
+ prim: 'text',
42
+ column: 'text',
43
+ hints: { format: 'url', inputType: 'url' },
44
+ zod: optionalize(s, required),
45
+ };
46
+ const meta = applyMultiple(base, o.multiple ?? false);
47
+ return wrapKey(o, meta);
48
+ }
49
+ export function tel(o) {
50
+ const required = o.required ?? false;
51
+ const s = required ? z.string().min(1, { message: vmsg('min_length', { min: 1 }) }) : z.string();
52
+ const base = {
53
+ kind: 'tel',
54
+ label: o.label ?? '',
55
+ required,
56
+ prim: 'text',
57
+ column: 'text',
58
+ hints: { format: 'tel', inputType: 'tel' },
59
+ zod: optionalize(s, required),
60
+ };
61
+ const meta = applyMultiple(base, o.multiple ?? false);
62
+ return wrapKey(o, meta);
63
+ }
64
+ export function password(o) {
65
+ const required = o.required ?? false;
66
+ const s = required ? z.string().min(1, { message: vmsg('min_length', { min: 1 }) }) : z.string();
67
+ const base = {
68
+ kind: 'password',
69
+ label: o.label ?? '',
70
+ required,
71
+ prim: 'text',
72
+ column: 'text',
73
+ hints: { format: 'password', inputType: 'password' },
74
+ zod: optionalize(s, required),
75
+ };
76
+ const meta = applyMultiple(base, o.multiple ?? false);
77
+ return wrapKey(o, meta);
78
+ }
79
+ const SLUG_RE = /^[a-z0-9-]+$/;
80
+ export function slug(o) {
81
+ const required = o.required ?? false;
82
+ const s = z.string().regex(SLUG_RE, { message: vmsg('pattern', { messageKey: 'core.presets.slug' }) });
83
+ const base = {
84
+ kind: 'slug',
85
+ label: o.label ?? '',
86
+ required,
87
+ prim: 'text',
88
+ column: 'text',
89
+ hints: {},
90
+ zod: optionalize(s, required),
91
+ };
92
+ const meta = applyMultiple(base, o.multiple ?? false);
93
+ return wrapKey(o, meta);
94
+ }
95
+ const COLOR_RE = /^#[0-9a-fA-F]{6}$/;
96
+ export function color(o) {
97
+ const required = o.required ?? false;
98
+ const s = z.string().regex(COLOR_RE, { message: vmsg('color_format') });
99
+ const base = {
100
+ kind: 'color',
101
+ label: o.label ?? '',
102
+ required,
103
+ prim: 'text',
104
+ column: 'text',
105
+ hints: {},
106
+ zod: optionalize(s, required),
107
+ };
108
+ const meta = applyMultiple(base, o.multiple ?? false);
109
+ return wrapKey(o, meta);
110
+ }
111
+ export function colorname(o) {
112
+ const required = o.required ?? false;
113
+ const s = required ? z.string().min(1, { message: vmsg('min_length', { min: 1 }) }) : z.string();
114
+ const base = {
115
+ kind: 'colorname',
116
+ label: o.label ?? '',
117
+ required,
118
+ prim: 'text',
119
+ column: 'text',
120
+ hints: {},
121
+ zod: optionalize(s, required),
122
+ };
123
+ const meta = applyMultiple(base, o.multiple ?? false);
124
+ return wrapKey(o, meta);
125
+ }
126
+ export function title(o) {
127
+ const required = o.required ?? false;
128
+ const s = required ? z.string().min(1, { message: vmsg('min_length', { min: 1 }) }) : z.string();
129
+ const base = {
130
+ kind: 'title',
131
+ label: o.label ?? '',
132
+ required,
133
+ prim: 'text',
134
+ column: 'text',
135
+ hints: {},
136
+ zod: optionalize(s, required),
137
+ };
138
+ const meta = applyMultiple(base, o.multiple ?? false);
139
+ return wrapKey(o, meta);
140
+ }
141
+ // string-родина: pattern-обгортки (kind-семантика + regex)
142
+ const IMEI_RE = /^\d{15}$/;
143
+ const MAC_RE = /^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/;
144
+ const IBAN_RE = /^[A-Za-z]{2}\d{2}[A-Za-z0-9]{11,30}$/;
145
+ export function imei(o) {
146
+ const required = o.required ?? false;
147
+ const s = z.string().regex(IMEI_RE, { message: vmsg('pattern', { messageKey: 'core.presets.imei' }) });
148
+ const base = {
149
+ kind: 'imei',
150
+ label: o.label ?? '',
151
+ required,
152
+ prim: 'text',
153
+ column: 'text',
154
+ hints: {},
155
+ zod: optionalize(s, required),
156
+ };
157
+ const meta = applyMultiple(base, o.multiple ?? false);
158
+ return wrapKey(o, meta);
159
+ }
160
+ export function mac(o) {
161
+ const required = o.required ?? false;
162
+ const s = z.string().regex(MAC_RE, { message: vmsg('pattern', { messageKey: 'core.presets.mac' }) });
163
+ const base = {
164
+ kind: 'mac',
165
+ label: o.label ?? '',
166
+ required,
167
+ prim: 'text',
168
+ column: 'text',
169
+ hints: {},
170
+ zod: optionalize(s, required),
171
+ };
172
+ const meta = applyMultiple(base, o.multiple ?? false);
173
+ return wrapKey(o, meta);
174
+ }
175
+ export function iban(o) {
176
+ const required = o.required ?? false;
177
+ const s = z.string().regex(IBAN_RE, { message: vmsg('pattern', { messageKey: 'core.presets.iban' }) });
178
+ const base = {
179
+ kind: 'iban',
180
+ label: o.label ?? '',
181
+ required,
182
+ prim: 'text',
183
+ column: 'text',
184
+ hints: {},
185
+ zod: optionalize(s, required),
186
+ };
187
+ const meta = applyMultiple(base, o.multiple ?? false);
188
+ return wrapKey(o, meta);
189
+ }
190
+ export function tags(o) {
191
+ const required = o.required ?? false;
192
+ const s = jsonRefined(z.array(z.string().min(1)), 'tags_list');
193
+ const suggestions = Array.isArray(o.options) ? o.options : [];
194
+ const source = typeof o.options === 'string' ? o.options : null;
195
+ const base = {
196
+ kind: 'tags',
197
+ label: o.label ?? '',
198
+ required,
199
+ prim: 'text',
200
+ column: 'text',
201
+ hints: { suggestions, ...(source ? { source } : {}) },
202
+ zod: optionalize(s, required),
203
+ };
204
+ return wrapKey(o, base);
205
+ }
206
+ export function markdown(o) {
207
+ const meta = {
208
+ ...text({ label: o.label, required: o.required, config: o.config }),
209
+ prim: 'text',
210
+ kind: 'markdown',
211
+ };
212
+ return wrapKey(o, meta);
213
+ }
214
+ export function snippet(o) {
215
+ const language = o.config?.language;
216
+ const base = text({ label: o.label, required: o.required, config: o.config });
217
+ const meta = {
218
+ ...base,
219
+ prim: 'text',
220
+ kind: 'snippet',
221
+ hints: { ...base.hints, ...(language ? { language } : {}) },
222
+ };
223
+ return wrapKey(o, meta);
224
+ }
225
+ export function rating(o) {
226
+ const required = o.required ?? false;
227
+ const max = o.max ?? 5;
228
+ const s = z.coerce
229
+ .number(typeErr())
230
+ .int({ message: vmsg('int') })
231
+ .min(1, { message: vmsg('min', { min: 1 }) })
232
+ .max(max, { message: vmsg('max', { max }) });
233
+ const base = {
234
+ kind: 'rating',
235
+ label: o.label ?? '',
236
+ required,
237
+ prim: 'number',
238
+ column: 'integer',
239
+ hints: { max },
240
+ zod: optionalize(s, required),
241
+ };
242
+ const meta = applyMultiple(base, o.multiple ?? false);
243
+ return wrapKey(o, meta);
244
+ }
245
+ export function duration(o) {
246
+ const required = o.required ?? false;
247
+ const max = o.max ?? 604800; // 1 week in seconds
248
+ const step = o.step ?? 60; // 1 minute in seconds
249
+ const s = z.coerce
250
+ .number(typeErr())
251
+ .int({ message: vmsg('int') })
252
+ .min(0, { message: vmsg('min', { min: 0 }) })
253
+ .max(max, { message: vmsg('max', { max }) });
254
+ const base = {
255
+ kind: 'duration',
256
+ label: o.label ?? '',
257
+ required,
258
+ prim: 'number',
259
+ column: 'integer',
260
+ hints: { step, max },
261
+ zod: optionalize(s, required),
262
+ };
263
+ const meta = applyMultiple(base, o.multiple ?? false);
264
+ return wrapKey(o, meta);
265
+ }
266
+ // Internal impl-signatures to bypass overload strict key/value checking
267
+ const _real = real;
268
+ const _int = int;
269
+ /** Відсоток 0..100 — real({config:{min:0,max:100}}). */
270
+ export function percent(o) {
271
+ return _real({ ...o, config: { ...o.config, min: 0, max: 100 } });
272
+ }
273
+ /** Рік — int({config:{min:1900,max:2100}}); межі перекриваються через config.min/max. */
274
+ export function year(o) {
275
+ const cfg = o.config ?? {};
276
+ return _int({ ...o, config: { ...cfg, min: cfg.min ?? 1900, max: cfg.max ?? 2100 } });
277
+ }
278
+ export function country(o) {
279
+ return select({ ...o, options: 'countries' });
280
+ }
281
+ // ─── Реєстр пресетів (мерджиться в `f` через composeF) ──────────────────────
282
+ export const presets = {
283
+ email,
284
+ url,
285
+ tel,
286
+ slug,
287
+ color,
288
+ colorname,
289
+ title,
290
+ password,
291
+ tags,
292
+ imei,
293
+ mac,
294
+ iban,
295
+ markdown,
296
+ snippet,
297
+ rating,
298
+ duration,
299
+ percent,
300
+ year,
301
+ country,
302
+ };
303
+ //# sourceMappingURL=field-presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-presets.js","sourceRoot":"","sources":["../src/field-presets.ts"],"names":[],"mappings":"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"}