@formkit/pro 0.113.0 → 0.114.0-3277316

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,7 +1,16 @@
1
+ import type { AllReals } from '@formkit/inputs';
1
2
  import { FormKitExtendableSchemaRoot } from '@formkit/core';
3
+ import type { FormKitFrameworkContext } from '@formkit/core';
4
+ import type { FormKitInputs } from '@formkit/inputs';
5
+ import type { FormKitMessage } from '@formkit/core';
6
+ import type { FormKitNode } from '@formkit/core';
7
+ import type { FormKitOptionsItem } from '@formkit/inputs';
8
+ import type { FormKitOptionsProp } from '@formkit/inputs';
9
+ import type { FormKitOptionsValue } from '@formkit/inputs';
2
10
  import { FormKitPlugin } from '@formkit/core';
3
11
  import { FormKitSchemaExtendableSection } from '@formkit/inputs';
4
12
  import { FormKitSchemaNode } from '@formkit/core';
13
+ import type { FormKitSlotData } from '@formkit/inputs';
5
14
  import { FormKitTypeDefinition } from '@formkit/core';
6
15
 
7
16
  /**
@@ -20,6 +29,129 @@ export declare function $if(condition: string, then: FormKitProExtendableSection
20
29
  */
21
30
  export declare const autocomplete: FormKitProInput;
22
31
 
32
+ /**
33
+ * Data available to autocomplete slots.
34
+ *
35
+ * @public
36
+ */
37
+ export declare interface AutocompleteSlotData {
38
+ options: FormKitOptionsItem[];
39
+ debounce?: number | string;
40
+ multiple?: Bool;
41
+ selectionAppearance?: 'option' | 'text-input' | 'text';
42
+ openOnClick?: Bool;
43
+ filter?: (option: FormKitOptionsItem, search?: string) => boolean;
44
+ optionLoader?: OptionLoader;
45
+ emptyMessage?: string;
46
+ closeOnSelect?: Bool;
47
+ activeDescendant?: string;
48
+ activeValue?: unknown;
49
+ dropdownWrapperStyles: Record<string, boolean>;
50
+ expanded: boolean;
51
+ forceExpanded: undefined | true;
52
+ hasNextPage: (data?: any) => void;
53
+ isLoadingOption?: boolean;
54
+ listboxStyles: Record<string, boolean>;
55
+ loadMoreOption: FormKitOptionsItem;
56
+ loadOnCreated: undefined | true;
57
+ loadOnScroll: undefined | true;
58
+ max?: number | string;
59
+ option: FormKitOptionsItem;
60
+ optionsLoader?: FormKitOptionsLoader;
61
+ page: number;
62
+ placeholder?: string;
63
+ selections: FormKitOptionsItem[];
64
+ showEmptyMessage?: boolean;
65
+ handlers: FormKitFrameworkContext['handlers'] & {
66
+ selectOption: (option: FormKitOptionsItem) => void;
67
+ loadMoreSelected: () => void;
68
+ selectTag: (option: FormKitOptionsItem) => void;
69
+ toggleListbox: () => void;
70
+ removeSelection: (option: FormKitOptionsItem) => void;
71
+ touchmove: (e: TouchEvent) => void;
72
+ touchend: (e: TouchEvent) => void;
73
+ click: (e: MouseEvent) => void;
74
+ keydown: (e: KeyboardEvent) => void;
75
+ focus: (e: FocusEvent) => void;
76
+ loadMore: () => void;
77
+ };
78
+ fns: FormKitFrameworkContext['fns'] & {
79
+ isSelected: (option: FormKitOptionsItem) => boolean;
80
+ isActive: (option: FormKitOptionsItem) => boolean;
81
+ };
82
+ ui: FormKitFrameworkContext['ui'] & {
83
+ isLoading: FormKitMessage;
84
+ loadMore: FormKitMessage;
85
+ };
86
+ }
87
+
88
+ declare interface BasePart<T extends string = string> {
89
+ /**
90
+ * A textual representation to use as a placeholder.
91
+ */
92
+ placeholder: string;
93
+ /**
94
+ * A token that represents this pattern
95
+ */
96
+ token: T;
97
+ /**
98
+ * In select mode, which direction should types values flow?
99
+ */
100
+ selectDirection?: 'left' | 'right';
101
+ /**
102
+ * An optional character to fill the selection with when in select mode.
103
+ * This is different than the placeholder character in that this character is
104
+ * only used when the section has a value but that value is not "complete".
105
+ * This character should be a single character, and valid for the given part.
106
+ * For example, numbers may use a "0" as the selectFill since it leads to a
107
+ * valid number with leading zeros. ### would be 001 when a user types "1".
108
+ */
109
+ selectFill?: string;
110
+ }
111
+
112
+ declare type Bool = 'true' | 'false' | true | false | '';
113
+
114
+ /**
115
+ * A calendar is an array of months, where each month is an array of weeks,
116
+ * where each week is an array of days.
117
+ *
118
+ * @public
119
+ */
120
+ export declare type Calendar = Array<CalendarMonth>;
121
+
122
+ /**
123
+ * A calendar month is an array of weeks, where each week is an array of days.
124
+ *
125
+ * @public
126
+ */
127
+ export declare type CalendarMonth = Array<CalendarWeek>;
128
+
129
+ /**
130
+ * A calendar week is an array of 7 days (tuple of 7) where each day is a date.
131
+ *
132
+ * @public
133
+ */
134
+ export declare type CalendarWeek = [
135
+ monday: Date,
136
+ tuesday: Date,
137
+ wednesday: Date,
138
+ thursday: Date,
139
+ friday: Date,
140
+ saturday: Date,
141
+ sunday: Date
142
+ ];
143
+
144
+ declare interface CharPart {
145
+ /**
146
+ * Defined the part as a fixed length value
147
+ */
148
+ type: 'char';
149
+ /**
150
+ * Regular expression that defines what characters can be applied.
151
+ */
152
+ pattern: RegExp;
153
+ }
154
+
23
155
  /**
24
156
  * Creates a set of commonly used sections.
25
157
  * @param createSection - Creates commonly used sections.
@@ -56,23 +188,321 @@ export declare function createProPlugin(apiKey: string, inputs?: Record<string,
56
188
  */
57
189
  export declare function createSectionFactory(inputCode: string): SectionFactory;
58
190
 
191
+ /**
192
+ * Possible options for a format style.
193
+ */
194
+ declare type DateFormatStyle = 'full' | 'long' | 'medium' | 'short';
195
+
59
196
  /**
60
197
  * Input definition for a datepicker input.
61
198
  * @public
62
199
  */
63
200
  export declare const datepicker: FormKitProInput;
64
201
 
202
+ /**
203
+ * Slot information that pertains specifically to the datepicker input.
204
+ *
205
+ * @public
206
+ */
207
+ export declare type DatePickerSlotData = {
208
+ panel: Panels;
209
+ calendar: Calendar;
210
+ inputText: string;
211
+ renderedDate: Date;
212
+ expanded: boolean;
213
+ showPagination: boolean;
214
+ localTime: string;
215
+ visibilityStyles: Record<string, boolean>;
216
+ fns: FormKitFrameworkContext['fns'] & {
217
+ format: (date: Date | string, format: string) => string;
218
+ sameDay: (date: Date) => boolean;
219
+ sameMonth: (month: Date) => boolean;
220
+ notInMonth: (month: Date, day: Date) => boolean;
221
+ isDisabled: (node: FormKitNode, date?: Date) => boolean;
222
+ isDisabledMonth: (month: Date) => boolean;
223
+ isSelected: (date: Date) => boolean;
224
+ };
225
+ handlers: FormKitFrameworkContext['handlers'] & {
226
+ next: () => void;
227
+ prev: () => void;
228
+ open: () => void;
229
+ _blurOut: () => void;
230
+ jumpTo: (date: Date) => void;
231
+ localTime: (e: InputEvent) => void;
232
+ setDate: (date: Date) => () => void;
233
+ keydown: (e: KeyboardEvent) => void;
234
+ mouseEnter: (date: Date) => void;
235
+ mouseLeave: () => void;
236
+ };
237
+ ui: FormKitFrameworkContext['ui'] & {
238
+ changeDate: FormKitMessage;
239
+ chooseDate: FormKitMessage;
240
+ };
241
+ dayButtonFormat: string;
242
+ monthButtonFormat: string;
243
+ yearFormat: string;
244
+ };
245
+
65
246
  /**
66
247
  * Input definition for a dropdown input.
67
248
  * @public
68
249
  */
69
250
  export declare const dropdown: FormKitProInput;
70
251
 
252
+ /**
253
+ * Slot data for dropdown types.
254
+ *
255
+ * @public
256
+ */
257
+ export declare interface DropdownSlotData {
258
+ options: FormKitOptionsItem[];
259
+ option?: FormKitOptionsItem;
260
+ debounce?: number | string;
261
+ multiple?: Bool;
262
+ selectionAppearance?: 'truncate' | 'tags';
263
+ openOnClick?: Bool;
264
+ filter?: (option: FormKitOptionsItem, search: string) => boolean;
265
+ optionLoader?: OptionLoader;
266
+ emptyMessage?: string;
267
+ max?: number | string;
268
+ closeOnSelect?: Bool;
269
+ activeDescendant?: string;
270
+ activeValue?: unknown;
271
+ dropdownWrapperStyles: Record<string, boolean>;
272
+ expanded: boolean;
273
+ fns: FormKitFrameworkContext['fns'] & {};
274
+ handlers: FormKitFrameworkContext['handlers'] & {};
275
+ ui: FormKitFrameworkContext['ui'] & {
276
+ isLoading: FormKitMessage;
277
+ loadMore: FormKitMessage;
278
+ };
279
+ }
280
+
281
+ declare interface EnumPart {
282
+ /**
283
+ * Defines the part as an enumerated list of options.
284
+ */
285
+ type: 'enum';
286
+ /**
287
+ * The values allowed by an enum part.
288
+ */
289
+ values: string[];
290
+ }
291
+
71
292
  /**
72
293
  * A schema section that is compatible with FormKitPro’s schema composition.
73
294
  */
74
295
  declare type ExtendableSchema<IsRoot> = IsRoot extends true ? FormKitExtendableSchemaRoot : FormKitSchemaExtendableSection;
75
296
 
297
+ /**
298
+ * Possible objects for the dateStyle and timeStyle.
299
+ */
300
+ export declare type FormatStyleObj = {
301
+ date: DateFormatStyle;
302
+ time: TimeFormatStyle;
303
+ } | {
304
+ date: DateFormatStyle;
305
+ } | {
306
+ time: TimeFormatStyle;
307
+ };
308
+
309
+ export declare interface FormKitAutocompleteSlots<Props extends FormKitInputs<Props>> {
310
+ outer: FormKitSlotData<Props, AutocompleteSlotData>;
311
+ wrapper: FormKitSlotData<Props, AutocompleteSlotData>;
312
+ label: FormKitSlotData<Props, AutocompleteSlotData>;
313
+ inner: FormKitSlotData<Props, AutocompleteSlotData>;
314
+ prefixIcon: FormKitSlotData<Props, AutocompleteSlotData>;
315
+ prefix: FormKitSlotData<Props, AutocompleteSlotData>;
316
+ input: FormKitSlotData<Props, AutocompleteSlotData>;
317
+ selections: FormKitSlotData<Props, AutocompleteSlotData>;
318
+ selection: FormKitSlotData<Props, AutocompleteSlotData>;
319
+ listboxButton: FormKitSlotData<Props, AutocompleteSlotData>;
320
+ dropdownWrapper: FormKitSlotData<Props, AutocompleteSlotData>;
321
+ listbox: FormKitSlotData<Props, AutocompleteSlotData>;
322
+ listitem: FormKitSlotData<Props, AutocompleteSlotData>;
323
+ loadMore: FormKitSlotData<Props, AutocompleteSlotData>;
324
+ emptyMessageInner: FormKitSlotData<Props, AutocompleteSlotData>;
325
+ selectedIcon: FormKitSlotData<Props, AutocompleteSlotData & {
326
+ option: FormKitOptionsItem<OptionsProValue<Props['options']>>;
327
+ index: number;
328
+ }>;
329
+ option: FormKitSlotData<Props, AutocompleteSlotData & {
330
+ option: FormKitOptionsItem<OptionsProValue<Props['options']>>;
331
+ index: number;
332
+ }>;
333
+ optionLoading: FormKitSlotData<Props, AutocompleteSlotData & {
334
+ option: FormKitOptionsItem<OptionsProValue<Props['options']>>;
335
+ index: number;
336
+ }>;
337
+ removeSelection: FormKitSlotData<Props, AutocompleteSlotData & {
338
+ option: FormKitOptionsItem<OptionsProValue<Props['options']>>;
339
+ index: number;
340
+ }>;
341
+ suffix: FormKitSlotData<Props, AutocompleteSlotData>;
342
+ suffixIcon: FormKitSlotData<Props, AutocompleteSlotData>;
343
+ help: FormKitSlotData<Props, AutocompleteSlotData>;
344
+ messages: FormKitSlotData<Props, AutocompleteSlotData>;
345
+ message: FormKitSlotData<Props, AutocompleteSlotData>;
346
+ }
347
+
348
+ /**
349
+ * Slot information that pertains specifically to the datepicker input.
350
+ *
351
+ * @public
352
+ */
353
+ export declare interface FormKitDatePickerSlots<Props extends FormKitInputs<Props>> {
354
+ calendar: FormKitSlotData<Props, DatePickerSlotData & {
355
+ month: CalendarMonth;
356
+ }>;
357
+ calendarHeader: FormKitSlotData<Props, DatePickerSlotData & {
358
+ month: CalendarMonth;
359
+ }>;
360
+ calendarWeeks: FormKitSlotData<Props, DatePickerSlotData & {
361
+ month: CalendarMonth;
362
+ }>;
363
+ day: FormKitSlotData<Props, DatePickerSlotData & {
364
+ month: CalendarMonth;
365
+ week: CalendarWeek;
366
+ day: Date;
367
+ }>;
368
+ dayButton: FormKitSlotData<Props, DatePickerSlotData & {
369
+ day: Date;
370
+ }>;
371
+ dayCell: FormKitSlotData<Props, DatePickerSlotData & {
372
+ day: Date;
373
+ week: CalendarWeek;
374
+ month: CalendarMonth;
375
+ }>;
376
+ daysHeader: FormKitSlotData<Props, DatePickerSlotData>;
377
+ help: FormKitSlotData<Props, DatePickerSlotData>;
378
+ prefixIcon: FormKitSlotData<Props, DatePickerSlotData>;
379
+ suffixIcon: FormKitSlotData<Props, DatePickerSlotData>;
380
+ inner: FormKitSlotData<Props, DatePickerSlotData>;
381
+ input: FormKitSlotData<Props, DatePickerSlotData>;
382
+ label: FormKitSlotData<Props, DatePickerSlotData>;
383
+ message: FormKitSlotData<Props, DatePickerSlotData & {
384
+ message: FormKitMessage;
385
+ }>;
386
+ messages: FormKitSlotData<Props, DatePickerSlotData>;
387
+ month: FormKitSlotData<Props, DatePickerSlotData & {
388
+ month: Date;
389
+ months: Array<Date>;
390
+ }>;
391
+ monthButton: FormKitSlotData<Props, DatePickerSlotData>;
392
+ months: FormKitSlotData<Props, DatePickerSlotData>;
393
+ monthsHeader: FormKitSlotData<Props, DatePickerSlotData>;
394
+ next: FormKitSlotData<Props, DatePickerSlotData>;
395
+ nextLabel: FormKitSlotData<Props, DatePickerSlotData>;
396
+ openButton: FormKitSlotData<Props, DatePickerSlotData>;
397
+ outer: FormKitSlotData<Props, DatePickerSlotData>;
398
+ panel: FormKitSlotData<Props, DatePickerSlotData>;
399
+ panelHeader: FormKitSlotData<Props, DatePickerSlotData>;
400
+ panelWrapper: FormKitSlotData<Props, DatePickerSlotData>;
401
+ prefix: FormKitSlotData<Props, DatePickerSlotData>;
402
+ prev: FormKitSlotData<Props, DatePickerSlotData>;
403
+ prevLabel: FormKitSlotData<Props, DatePickerSlotData>;
404
+ suffix: FormKitSlotData<Props, DatePickerSlotData>;
405
+ time: FormKitSlotData<Props, DatePickerSlotData>;
406
+ timeHeader: FormKitSlotData<Props, DatePickerSlotData>;
407
+ timeInput: FormKitSlotData<Props, DatePickerSlotData>;
408
+ week: FormKitSlotData<Props, DatePickerSlotData & {
409
+ month: CalendarMonth;
410
+ }>;
411
+ weekDay: FormKitSlotData<Props, DatePickerSlotData & {
412
+ month: CalendarMonth;
413
+ }>;
414
+ weekDays: FormKitSlotData<Props, DatePickerSlotData & {
415
+ month: CalendarMonth;
416
+ }>;
417
+ wrapper: FormKitSlotData<Props, DatePickerSlotData>;
418
+ year: FormKitSlotData<Props, DatePickerSlotData & {
419
+ years: Array<Date>;
420
+ }>;
421
+ yearButton: FormKitSlotData<Props, DatePickerSlotData & {
422
+ years: Array<Date>;
423
+ year: Date;
424
+ }>;
425
+ years: FormKitSlotData<Props, DatePickerSlotData & {
426
+ years: Array<Date>;
427
+ }>;
428
+ yearsHeader: FormKitSlotData<Props, DatePickerSlotData>;
429
+ }
430
+
431
+ export declare interface FormKitDropdownSlots<Props extends FormKitInputs<Props>> {
432
+ outer: FormKitSlotData<Props, DropdownSlotData>;
433
+ wrapper: FormKitSlotData<Props, DropdownSlotData>;
434
+ inner: FormKitSlotData<Props, DropdownSlotData>;
435
+ label: FormKitSlotData<Props, DropdownSlotData>;
436
+ prefix: FormKitSlotData<Props, DropdownSlotData>;
437
+ prefixIcon: FormKitSlotData<Props, DropdownSlotData>;
438
+ selector: FormKitSlotData<Props, DropdownSlotData>;
439
+ selection: FormKitSlotData<Props, DropdownSlotData>;
440
+ suffix: FormKitSlotData<Props, DropdownSlotData>;
441
+ suffixIcon: FormKitSlotData<Props, DropdownSlotData>;
442
+ help: FormKitSlotData<Props, DropdownSlotData>;
443
+ messages: FormKitSlotData<Props, DropdownSlotData>;
444
+ message: FormKitSlotData<Props, DropdownSlotData & {
445
+ message: FormKitMessage;
446
+ }>;
447
+ listboxButton: FormKitSlotData<Props, TaglistSlotData>;
448
+ dropdownWrapper: FormKitSlotData<Props, TaglistSlotData>;
449
+ listbox: FormKitSlotData<Props, TaglistSlotData>;
450
+ listitem: FormKitSlotData<Props, TaglistSlotData>;
451
+ loadMore: FormKitSlotData<Props, TaglistSlotData>;
452
+ emptyMessageInner: FormKitSlotData<Props, TaglistSlotData>;
453
+ selectedIcon: FormKitSlotData<Props, TaglistSlotData & {
454
+ option: FormKitOptionsItem;
455
+ index: number;
456
+ }>;
457
+ option: FormKitSlotData<Props, TaglistSlotData & {
458
+ option: FormKitOptionsItem;
459
+ index: number;
460
+ }>;
461
+ optionLoading: FormKitSlotData<Props, TaglistSlotData & {
462
+ option: FormKitOptionsItem;
463
+ index: number;
464
+ }>;
465
+ removeSelection: FormKitSlotData<Props, TaglistSlotData & {
466
+ option: FormKitOptionsItem;
467
+ index: number;
468
+ }>;
469
+ placeholder: FormKitSlotData<Props, DropdownSlotData>;
470
+ tag: FormKitSlotData<Props, TaglistSlotData & {
471
+ option: FormKitOptionsItem;
472
+ index: number;
473
+ }>;
474
+ }
475
+
476
+ /**
477
+ * The option loader function type.
478
+ *
479
+ * @public
480
+ */
481
+ export declare interface FormKitOptionsLoader {
482
+ (context: FormKitFrameworkContext<any>): Promise<FormKitOptionsProp> | FormKitOptionsProp;
483
+ (...args: any[]): Promise<FormKitOptionsProp> | FormKitOptionsProp;
484
+ }
485
+
486
+ export declare type FormKitOverlaySlots<Props extends FormKitInputs<Props>> = Props['overlay'] extends Yes ? {
487
+ overlay: FormKitSlotData<Props, DatePickerSlotData>;
488
+ overlayChar: FormKitSlotData<Props, DatePickerSlotData & {
489
+ part: Meta;
490
+ }>;
491
+ overlayEnum: FormKitSlotData<Props, DatePickerSlotData & {
492
+ part: Meta;
493
+ }>;
494
+ overlayInner: FormKitSlotData<Props, DatePickerSlotData>;
495
+ overlayLiteral: FormKitSlotData<Props, DatePickerSlotData & {
496
+ part: Meta;
497
+ }>;
498
+ overlayParts: FormKitSlotData<Props, DatePickerSlotData & {
499
+ part: Meta;
500
+ }>;
501
+ overlayPlaceholder: FormKitSlotData<Props, DatePickerSlotData & {
502
+ part: Meta;
503
+ }>;
504
+ } : {};
505
+
76
506
  /**
77
507
  * An extendable schema section that is compatible with FormKitPro’s schema
78
508
  * composition.
@@ -89,6 +519,14 @@ export declare type FormKitProInput = Omit<FormKitTypeDefinition, 'schema'> & {
89
519
  schema: FormKitProSchema;
90
520
  };
91
521
 
522
+ /**
523
+ * The options prop for option-based inputs in pro like `autocomplete` and
524
+ * `dropdown`.
525
+ *
526
+ * @public
527
+ */
528
+ export declare type FormKitProOptionsProp = FormKitOptionsProp | FormKitOptionsLoader;
529
+
92
530
  /**
93
531
  * The type definition of a FormKit pro schema.
94
532
  * @public
@@ -104,6 +542,243 @@ declare interface FormKitProSection<IsRoot extends boolean = false> {
104
542
  (...children: Array<string | FormKitProExtendableSection>): FormKitProExtendableSection<IsRoot>;
105
543
  }
106
544
 
545
+ export declare interface FormKitRatingSlots<Props extends FormKitInputs<Props>> {
546
+ itemsWrapper: FormKitSlotData<Props, RatingSlotData>;
547
+ onItem: FormKitSlotData<Props, RatingSlotData & {
548
+ item: number;
549
+ }>;
550
+ offItem: FormKitSlotData<Props, RatingSlotData & {
551
+ item: number;
552
+ }>;
553
+ default: FormKitSlotData<Props, RatingSlotData & {
554
+ item: number;
555
+ }>;
556
+ ratingIcon: FormKitSlotData<Props, RatingSlotData & {
557
+ item: number;
558
+ }>;
559
+ }
560
+
561
+ /**
562
+ * Slot information that pertains specifically to the datepicker input.
563
+ *
564
+ * @public
565
+ */
566
+ export declare interface FormKitRepeaterSlots<Props extends FormKitInputs<Props>> {
567
+ outer: FormKitSlotData<Props, RepeaterSlotData>;
568
+ fieldset: FormKitSlotData<Props, RepeaterSlotData>;
569
+ legend: FormKitSlotData<Props, RepeaterSlotData>;
570
+ help: FormKitSlotData<Props, RepeaterSlotData>;
571
+ prefix: FormKitSlotData<Props, RepeaterSlotData>;
572
+ default: FormKitSlotData<Props, RepeaterSlotData>;
573
+ items: FormKitSlotData<Props, RepeaterSlotData>;
574
+ item: FormKitSlotData<Props, RepeaterSlotData>;
575
+ content: FormKitSlotData<Props, RepeaterSlotData & {
576
+ item: symbol;
577
+ index: number;
578
+ }>;
579
+ group: FormKitSlotData<Props, RepeaterSlotData & {
580
+ item: symbol;
581
+ index: number;
582
+ }>;
583
+ controls: FormKitSlotData<Props, RepeaterSlotData & {
584
+ item: symbol;
585
+ index: number;
586
+ }>;
587
+ up: FormKitSlotData<Props, RepeaterSlotData & {
588
+ item: symbol;
589
+ index: number;
590
+ }>;
591
+ upControl: FormKitSlotData<Props, RepeaterSlotData & {
592
+ item: symbol;
593
+ index: number;
594
+ }>;
595
+ controlLabel: FormKitSlotData<Props, RepeaterSlotData & {
596
+ item: symbol;
597
+ index: number;
598
+ }>;
599
+ moveUpIcon: FormKitSlotData<Props, RepeaterSlotData & {
600
+ item: symbol;
601
+ index: number;
602
+ }>;
603
+ remove: FormKitSlotData<Props, RepeaterSlotData & {
604
+ item: symbol;
605
+ index: number;
606
+ }>;
607
+ removeControl: FormKitSlotData<Props, RepeaterSlotData & {
608
+ item: symbol;
609
+ index: number;
610
+ }>;
611
+ removeIcon: FormKitSlotData<Props, RepeaterSlotData & {
612
+ item: symbol;
613
+ index: number;
614
+ }>;
615
+ insert: FormKitSlotData<Props, RepeaterSlotData & {
616
+ item: symbol;
617
+ index: number;
618
+ }>;
619
+ insertControl: FormKitSlotData<Props, RepeaterSlotData & {
620
+ item: symbol;
621
+ index: number;
622
+ }>;
623
+ addIcon: FormKitSlotData<Props, RepeaterSlotData & {
624
+ item: symbol;
625
+ index: number;
626
+ }>;
627
+ down: FormKitSlotData<Props, RepeaterSlotData & {
628
+ item: symbol;
629
+ index: number;
630
+ }>;
631
+ downControl: FormKitSlotData<Props, RepeaterSlotData & {
632
+ item: symbol;
633
+ index: number;
634
+ }>;
635
+ moveDownIcon: FormKitSlotData<Props, RepeaterSlotData & {
636
+ item: symbol;
637
+ index: number;
638
+ }>;
639
+ suffix: FormKitSlotData<Props, RepeaterSlotData>;
640
+ addButton: FormKitSlotData<Props, RepeaterSlotData>;
641
+ message: FormKitSlotData<Props, RepeaterSlotData & {
642
+ message: FormKitMessage;
643
+ }>;
644
+ messages: FormKitSlotData<Props, RepeaterSlotData>;
645
+ }
646
+
647
+ /**
648
+ * Slots available to the slider.
649
+ *
650
+ * @public
651
+ */
652
+ export declare interface FormKitSliderSlots<Props extends FormKitInputs<Props>> {
653
+ outer: FormKitSlotData<Props, SliderSlotData>;
654
+ wrapper: FormKitSlotData<Props, SliderSlotData>;
655
+ label: FormKitSlotData<Props, SliderSlotData>;
656
+ help: FormKitSlotData<Props, SliderSlotData>;
657
+ sliderInner: FormKitSlotData<Props, SliderSlotData>;
658
+ iconPrefix: FormKitSlotData<Props, SliderSlotData>;
659
+ prefix: FormKitSlotData<Props, SliderSlotData>;
660
+ track: FormKitSlotData<Props, SliderSlotData>;
661
+ trackWrapper: FormKitSlotData<Props, SliderSlotData>;
662
+ trackInner: FormKitSlotData<Props, SliderSlotData>;
663
+ fill: FormKitSlotData<Props, SliderSlotData>;
664
+ marks: FormKitSlotData<Props, SliderSlotData>;
665
+ mark: FormKitSlotData<Props, SliderSlotData>;
666
+ markLabel: FormKitSlotData<Props, SliderSlotData & {
667
+ index: number;
668
+ step: {
669
+ at: number;
670
+ label?: string;
671
+ };
672
+ }>;
673
+ handles: FormKitSlotData<Props, SliderSlotData>;
674
+ handleMin: FormKitSlotData<Props, SliderSlotData>;
675
+ handleMax: FormKitSlotData<Props, SliderSlotData>;
676
+ tooltipMin: FormKitSlotData<Props, SliderSlotData>;
677
+ tooltipMax: FormKitSlotData<Props, SliderSlotData>;
678
+ suffix: FormKitSlotData<Props, SliderSlotData>;
679
+ suffixIcon: FormKitSlotData<Props, SliderSlotData>;
680
+ minValue: FormKitSlotData<Props, SliderSlotData>;
681
+ maxValue: FormKitSlotData<Props, SliderSlotData>;
682
+ linkedValues: FormKitSlotData<Props, SliderSlotData>;
683
+ message: FormKitSlotData<Props, SliderSlotData & {
684
+ message: FormKitMessage;
685
+ }>;
686
+ messages: FormKitSlotData<Props, SliderSlotData>;
687
+ }
688
+
689
+ export declare interface FormKitTaglistSlots<Props extends FormKitInputs<Props>> {
690
+ outer: FormKitSlotData<Props, TaglistSlotData>;
691
+ wrapper: FormKitSlotData<Props, TaglistSlotData>;
692
+ inner: FormKitSlotData<Props, TaglistSlotData>;
693
+ label: FormKitSlotData<Props, TaglistSlotData>;
694
+ prefix: FormKitSlotData<Props, TaglistSlotData>;
695
+ prefixIcon: FormKitSlotData<Props, TaglistSlotData>;
696
+ tag: FormKitSlotData<Props, TaglistSlotData & {
697
+ option: FormKitOptionsItem;
698
+ index: number;
699
+ }>;
700
+ tagWrapper: FormKitSlotData<Props, TaglistSlotData>;
701
+ tagLoading: FormKitSlotData<Props, TaglistSlotData & {
702
+ option: FormKitOptionsItem;
703
+ index: number;
704
+ }>;
705
+ suffix: FormKitSlotData<Props, TaglistSlotData>;
706
+ suffixIcon: FormKitSlotData<Props, TaglistSlotData>;
707
+ help: FormKitSlotData<Props, TaglistSlotData>;
708
+ messages: FormKitSlotData<Props, TaglistSlotData>;
709
+ message: FormKitSlotData<Props, TaglistSlotData & {
710
+ message: FormKitMessage;
711
+ }>;
712
+ listboxButton: FormKitSlotData<Props, TaglistSlotData>;
713
+ dropdownWrapper: FormKitSlotData<Props, TaglistSlotData>;
714
+ listbox: FormKitSlotData<Props, TaglistSlotData>;
715
+ listitem: FormKitSlotData<Props, TaglistSlotData>;
716
+ loadMore: FormKitSlotData<Props, TaglistSlotData>;
717
+ emptyMessageInner: FormKitSlotData<Props, TaglistSlotData>;
718
+ selectedIcon: FormKitSlotData<Props, TaglistSlotData & {
719
+ option: FormKitOptionsItem;
720
+ index: number;
721
+ }>;
722
+ option: FormKitSlotData<Props, TaglistSlotData & {
723
+ option: FormKitOptionsItem;
724
+ index: number;
725
+ }>;
726
+ optionLoading: FormKitSlotData<Props, TaglistSlotData & {
727
+ option: FormKitOptionsItem;
728
+ index: number;
729
+ }>;
730
+ removeSelection: FormKitSlotData<Props, TaglistSlotData & {
731
+ option: FormKitOptionsItem;
732
+ index: number;
733
+ }>;
734
+ input: FormKitSlotData<Props, TaglistSlotData>;
735
+ tags: FormKitSlotData<Props, TaglistSlotData>;
736
+ tagLabel: FormKitSlotData<Props, TaglistSlotData & {
737
+ option: FormKitOptionsItem;
738
+ index: number;
739
+ }>;
740
+ }
741
+
742
+ /**
743
+ * Toggle slots.
744
+ *
745
+ * @public
746
+ */
747
+ export declare interface FormKitToggleSlots<Props extends FormKitInputs<Props>> {
748
+ outer: FormKitSlotData<Props, ToggleSlotData<Props>>;
749
+ wrapper: FormKitSlotData<Props, ToggleSlotData<Props>>;
750
+ altLabel: FormKitSlotData<Props, ToggleSlotData<Props>>;
751
+ inner: FormKitSlotData<Props, ToggleSlotData<Props>>;
752
+ prefix: FormKitSlotData<Props, ToggleSlotData<Props>>;
753
+ input: FormKitSlotData<Props, ToggleSlotData<Props>>;
754
+ track: FormKitSlotData<Props, ToggleSlotData<Props>>;
755
+ innerLabel: FormKitSlotData<Props, ToggleSlotData<Props>>;
756
+ thumbWrapper: FormKitSlotData<Props, ToggleSlotData<Props>>;
757
+ suffix: FormKitSlotData<Props, ToggleSlotData<Props>>;
758
+ valueLabel: FormKitSlotData<Props, ToggleSlotData<Props>>;
759
+ label: FormKitSlotData<Props, ToggleSlotData<Props>>;
760
+ help: FormKitSlotData<Props, ToggleSlotData<Props>>;
761
+ messages: FormKitSlotData<Props, ToggleSlotData<Props>>;
762
+ message: FormKitSlotData<Props, ToggleSlotData<Props> & {
763
+ message: FormKitMessage;
764
+ }>;
765
+ }
766
+
767
+ /**
768
+ * Behavioral group options.
769
+ */
770
+ declare interface GroupOptions {
771
+ repeat?: boolean;
772
+ optional?: boolean;
773
+ placeholder?: string;
774
+ nextPart?: MaskPart;
775
+ }
776
+
777
+ declare type GroupPart = {
778
+ type: 'group';
779
+ parts: MaskPart[];
780
+ } & GroupOptions;
781
+
107
782
  declare namespace inputs {
108
783
  export {
109
784
  dropdown,
@@ -120,24 +795,110 @@ declare namespace inputs {
120
795
  }
121
796
  export { inputs }
122
797
 
798
+ declare interface LiteralPart<T extends string = string> {
799
+ /**
800
+ * Defines a literal (immutable) string.
801
+ */
802
+ type: 'literal';
803
+ /**
804
+ * The value of the immutable string.
805
+ */
806
+ value: T;
807
+ }
808
+
123
809
  /**
124
810
  * Input definition for a mask input.
125
811
  * @public
126
812
  */
127
813
  export declare const mask: FormKitProInput;
128
814
 
815
+ /**
816
+ * Defines a specific part of a mask pattern.
817
+ */
818
+ declare type MaskPart<T extends string = string> = ((BasePart<T> & CharPart) | (BasePart<T> & EnumPart)) | LiteralPart<T> | GroupPart;
819
+
820
+ declare interface Meta {
821
+ value: string;
822
+ type: 'placeholder' | 'literal' | 'char' | 'enum';
823
+ }
824
+
825
+ export declare interface OptionLoader {
826
+ (value: any, cachedItem: FormKitOptionsItem<any>): FormKitOptionsItem<any> | string | void | Promise<FormKitOptionsItem<any> | string | void>;
827
+ }
828
+
829
+ /**
830
+ * Gets the allowed value type from the `options` prop.
831
+ *
832
+ * @public
833
+ */
834
+ export declare type OptionsProValue<Options> = Options extends FormKitProOptionsProp ? Options extends (...args: any[]) => any ? ReturnType<Options> extends FormKitOptionsProp ? FormKitOptionsValue<ReturnType<Options>> : ReturnType<Options> extends Promise<infer T> ? T extends FormKitOptionsProp ? FormKitOptionsValue<T> : unknown : unknown : Options extends FormKitOptionsProp ? FormKitOptionsValue<Options> : unknown : unknown;
835
+
836
+ /**
837
+ * The available popover panels for the datepicker.
838
+ *
839
+ * @public
840
+ */
841
+ export declare type Panels = 'year' | 'month' | 'day' | 'time';
842
+
843
+ /**
844
+ * A map of the parts used
845
+ */
846
+ export declare type PartMap<T = MaskPart> = {
847
+ [index: string]: T;
848
+ };
849
+
129
850
  /**
130
851
  * Input definition for a rating input.
131
852
  * @public
132
853
  */
133
854
  export declare const rating: FormKitProInput;
134
855
 
856
+ /**
857
+ * Slot data for ratings
858
+ *
859
+ * @public
860
+ */
861
+ declare interface RatingSlotData {
862
+ min: number;
863
+ max: number;
864
+ offWidth: number;
865
+ onWidth: number;
866
+ onColor: number;
867
+ offColor: number;
868
+ handlers: FormKitFrameworkContext['handlers'] & {
869
+ ratingHoverOver: () => void;
870
+ ratingHoverOut: () => void;
871
+ handleClick: () => void;
872
+ };
873
+ }
874
+
135
875
  /**
136
876
  * Input definition for a repeater input.
137
877
  * @public
138
878
  */
139
879
  export declare const repeater: FormKitProInput;
140
880
 
881
+ declare interface RepeaterSlotData {
882
+ items: Array<symbol>;
883
+ removeControl: boolean;
884
+ insertControl: boolean;
885
+ upControl: boolean;
886
+ downControl: boolean;
887
+ addLabel?: string;
888
+ fns: FormKitFrameworkContext['fns'] & {
889
+ createShift: (index: number, delta: 1 | -1) => () => void;
890
+ createInsert: (index: number) => () => void;
891
+ createAppend: () => () => void;
892
+ createRemove: (index: number) => () => void;
893
+ };
894
+ ui: FormKitFrameworkContext['ui'] & {
895
+ moveUp: FormKitMessage;
896
+ moveDown: FormKitMessage;
897
+ add: FormKitMessage;
898
+ remove: FormKitMessage;
899
+ };
900
+ }
901
+
141
902
  /**
142
903
  * A factory that creates createSection functions that are curried with the
143
904
  * input code.
@@ -150,37 +911,237 @@ declare type SectionFactory = <IsRoot extends boolean = false>(sectionName: stri
150
911
  */
151
912
  export declare const slider: FormKitProInput;
152
913
 
914
+ /**
915
+ * Conditional slots available to the slider when using a chart.
916
+ *
917
+ * @public
918
+ */
919
+ export declare interface SliderChartSlots<Props extends FormKitInputs<Props>> {
920
+ chart: FormKitSlotData<Props, SliderSlotData>;
921
+ chartBar: FormKitSlotData<Props, SliderSlotData>;
922
+ }
923
+
924
+ /**
925
+ * Slot data for sliders.
926
+ *
927
+ * @public
928
+ */
929
+ export declare interface SliderSlotData {
930
+ chart?: Array<{
931
+ value: number;
932
+ at: number;
933
+ }>;
934
+ inputAttrs?: Record<string, any>;
935
+ marks?: Bool | Array<{
936
+ at?: number;
937
+ label?: string;
938
+ }>;
939
+ markLabel?: Bool;
940
+ max: number | string;
941
+ maxInputAttrs?: Record<string, any>;
942
+ min: number;
943
+ minInputAttrs?: Record<string, any>;
944
+ prefix?: string;
945
+ showInput?: Bool;
946
+ snapToMarks?: Bool;
947
+ suffix?: string;
948
+ tooltip?: Bool;
949
+ isMulti: boolean;
950
+ fillStyles: Record<string, boolean>;
951
+ lastHandleInteraction?: 'min' | 'max';
952
+ handlers: FormKitFrameworkContext['handlers'] & {
953
+ clickTrack: (e: MouseEvent) => void;
954
+ focus: (e: FocusEvent) => void;
955
+ clickHandle: (e: MouseEvent) => void;
956
+ startDrag: (e: Event) => void;
957
+ keydown: (e: KeyboardEvent) => void;
958
+ maxNode: (node: FormKitNode) => void;
959
+ minNode: (node: FormKitNode) => void;
960
+ inputBlur: () => void;
961
+ };
962
+ }
963
+
153
964
  /**
154
965
  * Input definition for a taglist input.
155
966
  * @public
156
967
  */
157
968
  export declare const taglist: FormKitProInput;
158
969
 
970
+ export declare interface TaglistSlotData {
971
+ options: FormKitOptionsItem[];
972
+ debounce?: number | string;
973
+ openOnClick?: Bool;
974
+ filter?: (option: FormKitOptionsItem, search: string) => boolean;
975
+ optionLoader?: OptionLoader;
976
+ emptyMessage?: string;
977
+ max?: number | string;
978
+ closeOnSelect?: Bool;
979
+ activeDescendant?: string;
980
+ activeValue?: unknown;
981
+ dropdownWrapperStyles: Record<string, boolean>;
982
+ expanded: boolean;
983
+ page: number;
984
+ search: string;
985
+ hasNextPage: (data?: any) => void;
986
+ fns: FormKitFrameworkContext['fns'] & {};
987
+ handlers: FormKitFrameworkContext['handlers'] & {
988
+ removeSelection: (option: FormKitOptionsItem) => void;
989
+ };
990
+ ui: FormKitFrameworkContext['ui'] & {
991
+ isLoading: FormKitMessage;
992
+ loadMore: FormKitMessage;
993
+ };
994
+ }
995
+
996
+ declare type TimeFormatStyle = 'long' | 'medium' | 'short';
997
+
159
998
  /**
160
999
  * Input definition for a toggle input.
161
1000
  * @public
162
1001
  */
163
1002
  export declare const toggle: FormKitProInput;
164
1003
 
1004
+ /**
1005
+ * Slot data for toggles
1006
+ */
1007
+ export declare interface ToggleSlotData<Props extends FormKitInputs<Props>> {
1008
+ onValue: Props['onValue'] extends AllReals ? Props['onValue'] : true;
1009
+ offValue: Props['offValue'] extends AllReals ? Props['offValue'] : true;
1010
+ altLabelPosition?: Bool;
1011
+ offValueLabel?: string;
1012
+ onValueLabel?: string;
1013
+ valueLabelDisplay?: 'on' | 'off' | 'inner' | 'hidden';
1014
+ valueLabelColorOff?: string;
1015
+ valueLabelColorOn?: string;
1016
+ thumbIcon?: string;
1017
+ thumbColorOn?: string;
1018
+ iconColorOff?: string;
1019
+ iconColorOn?: string;
1020
+ trackColorOff?: string;
1021
+ trackColorOn?: string;
1022
+ handlers: FormKitFrameworkContext['handlers'] & {
1023
+ toggles: (e: InputEvent) => void;
1024
+ };
1025
+ }
1026
+
165
1027
  /**
166
1028
  * Input definition for a transferlist input.
167
1029
  * @public
168
1030
  */
169
1031
  export declare const transferlist: FormKitProInput;
170
1032
 
171
-
172
- /**
173
- * @public
174
- */
175
- declare module '@formkit/inputs' {
176
- export interface FormKitOptionsPropExtensions {
177
- asLoaderFunction: FormKitOptionsLoader | Promise<FormKitOptionsLoader>
178
- }
179
- }
180
-
181
- /**
182
- * @public
183
- */
1033
+ /**
1034
+ * Data available to transfer lists.
1035
+ *
1036
+ * @public
1037
+ */
1038
+ export declare interface TransferlistSlotData {
1039
+ options: FormKitOptionsItem[];
1040
+ debounce?: string | number;
1041
+ filter?: (option: FormKitOptionsItem, search?: string) => boolean;
1042
+ optionLoader?: OptionLoader;
1043
+ sourceEmptyMessage?: string;
1044
+ targetEmptyMessage?: string;
1045
+ max?: string | number;
1046
+ clearOnSelect?: Bool;
1047
+ searchable?: Bool;
1048
+ sourceLabel?: string;
1049
+ targetLabel?: string;
1050
+ transferOnSelect?: boolean;
1051
+ placeholder?: string;
1052
+ selections: FormKitOptionsItem[];
1053
+ activeValue?: unknown;
1054
+ activeDescendant?: string;
1055
+ sourceSelected?: boolean;
1056
+ targetOptions?: FormKitOptionsItem[];
1057
+ sourceOptions?: FormKitOptionsItem[];
1058
+ inputText: string;
1059
+ hasNextPage?: (dataForNextPage?: unknown) => void;
1060
+ page: number;
1061
+ targetLoading?: boolean;
1062
+ disabled?: boolean;
1063
+ showSourceEmptyMessage: boolean;
1064
+ showTargetEmptyMessage: boolean;
1065
+ fns: FormKitFrameworkContext['fns'] & {
1066
+ isSelected: (option: FormKitOptionsItem) => boolean;
1067
+ isActive: (option: FormKitOptionsItem) => boolean;
1068
+ optionValue: (option: FormKitOptionsItem) => unknown;
1069
+ getOptionCount: (targetOptions: boolean) => number;
1070
+ };
1071
+ handlers: FormKitFrameworkContext['handlers'] & {
1072
+ clearSearch: () => void;
1073
+ selectOption: (option: FormKitOptionsItem, isSource: boolean) => void;
1074
+ transferForward: () => void;
1075
+ transferForwardAll: () => void;
1076
+ transferBackward: () => void;
1077
+ transferBackwardAll: () => void;
1078
+ onSearch: (e: InputEvent) => void;
1079
+ handleSourceSearchKeyDown: (e: KeyboardEvent) => void;
1080
+ sourceKeyDown: (e: KeyboardEvent) => void;
1081
+ targetKeyDown: (e: KeyboardEvent) => void;
1082
+ sourceFocused: () => void;
1083
+ targetFocused: () => void;
1084
+ onMouseEnter: () => void;
1085
+ onMouseLeave: () => void;
1086
+ };
1087
+ }
1088
+
1089
+ export declare interface TransferlistSlots<Props extends FormKitInputs<Props>> {
1090
+ outer: FormKitSlotData<Props, TransferlistSlotData>;
1091
+ fieldset: FormKitSlotData<Props, TransferlistSlotData>;
1092
+ legend: FormKitSlotData<Props, TransferlistSlotData>;
1093
+ help: FormKitSlotData<Props, TransferlistSlotData>;
1094
+ wrapper: FormKitSlotData<Props, TransferlistSlotData>;
1095
+ source: FormKitSlotData<Props, TransferlistSlotData>;
1096
+ sourceHeader: FormKitSlotData<Props, TransferlistSlotData>;
1097
+ sourceHeaderLabel: FormKitSlotData<Props, TransferlistSlotData>;
1098
+ sourceHeaderItemCount: FormKitSlotData<Props, TransferlistSlotData>;
1099
+ sourceControls: FormKitSlotData<Props, TransferlistSlotData>;
1100
+ sourceSearch: FormKitSlotData<Props, TransferlistSlotData>;
1101
+ sourceSearchInput: FormKitSlotData<Props, TransferlistSlotData>;
1102
+ sourceSearchClear: FormKitSlotData<Props, TransferlistSlotData>;
1103
+ closeIcon: FormKitSlotData<Props, TransferlistSlotData>;
1104
+ sourceListItems: FormKitSlotData<Props, TransferlistSlotData>;
1105
+ sourceEmptyMessage: FormKitSlotData<Props, TransferlistSlotData>;
1106
+ emptyMessageInner: FormKitSlotData<Props, TransferlistSlotData>;
1107
+ sourceListItem: FormKitSlotData<Props, TransferlistSlotData>;
1108
+ selectedIcon: FormKitSlotData<Props, TransferlistSlotData>;
1109
+ sourceOption: FormKitSlotData<Props, TransferlistSlotData & {
1110
+ option: FormKitOptionsItem;
1111
+ }>;
1112
+ sourceLoadMore: FormKitSlotData<Props, TransferlistSlotData>;
1113
+ loadMoreInner: FormKitSlotData<Props, TransferlistSlotData>;
1114
+ loaderIcon: FormKitSlotData<Props, TransferlistSlotData>;
1115
+ transferControls: FormKitSlotData<Props, TransferlistSlotData>;
1116
+ transferButtonForward: FormKitSlotData<Props, TransferlistSlotData>;
1117
+ transferButtonForwardAll: FormKitSlotData<Props, TransferlistSlotData>;
1118
+ transferButtonBackward: FormKitSlotData<Props, TransferlistSlotData>;
1119
+ transferButtonBackwardAll: FormKitSlotData<Props, TransferlistSlotData>;
1120
+ controlLabel: FormKitSlotData<Props, TransferlistSlotData>;
1121
+ fastForwardIcon: FormKitSlotData<Props, TransferlistSlotData>;
1122
+ moveRightIcon: FormKitSlotData<Props, TransferlistSlotData>;
1123
+ moveLeftIcon: FormKitSlotData<Props, TransferlistSlotData>;
1124
+ rewindIcon: FormKitSlotData<Props, TransferlistSlotData>;
1125
+ target: FormKitSlotData<Props, TransferlistSlotData>;
1126
+ targetHeader: FormKitSlotData<Props, TransferlistSlotData>;
1127
+ targetHeaderLabel: FormKitSlotData<Props, TransferlistSlotData>;
1128
+ targetHeaderItemCount: FormKitSlotData<Props, TransferlistSlotData>;
1129
+ targetListItems: FormKitSlotData<Props, TransferlistSlotData>;
1130
+ targetEmptyMessage: FormKitSlotData<Props, TransferlistSlotData>;
1131
+ targetListItem: FormKitSlotData<Props, TransferlistSlotData>;
1132
+ targetOption: FormKitSlotData<Props, TransferlistSlotData & {
1133
+ option: FormKitOptionsItem;
1134
+ }>;
1135
+ targetLoadMore: FormKitSlotData<Props, TransferlistSlotData>;
1136
+ messages: FormKitSlotData<Props, ToggleSlotData<Props>>;
1137
+ message: FormKitSlotData<Props, ToggleSlotData<Props> & {
1138
+ message: FormKitMessage;
1139
+ }>;
1140
+ }
1141
+
1142
+ declare type Yes = 'true' | true | '';
1143
+
1144
+ /* <declare> */
184
1145
  declare module '@formkit/core' {
185
1146
  export interface FormKitFrameworkContext {
186
1147
  hasNextPage: (dataForNextPage?: unknown) => void
@@ -188,6 +1149,235 @@ declare module '@formkit/core' {
188
1149
  search: string
189
1150
  }
190
1151
  }
1152
+ /* </declare> */
1153
+ /* <declare> */
1154
+
1155
+ export interface OptionLoader {
1156
+ (value: any, cachedItem: FormKitOptionsItem<any>):
1157
+ | FormKitOptionsItem<any>
1158
+ | string
1159
+ | void
1160
+ | Promise<FormKitOptionsItem<any> | string | void>
1161
+ }
1162
+
1163
+ declare module '@formkit/inputs' {
1164
+ interface FormKitConditionalProps {
1165
+ overlay?: undefined
1166
+ chart?: undefined
1167
+ }
1168
+
1169
+ /**
1170
+ * General input events available to all FormKit inputs.
1171
+ * @public
1172
+ */
1173
+ interface FormKitBaseEvents<Props extends FormKitInputs<Props>> {
1174
+ (event: 'input', value: PropType<Props, 'value'>, node: FormKitNode): any
1175
+ (event: 'inputRaw', value: PropType<Props, 'value'>, node: FormKitNode): any
1176
+ (
1177
+ event: 'input-raw',
1178
+ value: PropType<Props, 'value'>,
1179
+ node: FormKitNode
1180
+ ): any
1181
+ (event: 'update:modelValue', value: PropType<Props, 'value'>): any
1182
+ (event: 'update:model-value', value: PropType<Props, 'value'>): any
1183
+ (event: 'node', node: FormKitNode): any
1184
+ }
1185
+
1186
+ interface FormKitInputProps<Props extends FormKitInputs<Props>> {
1187
+ autocomplete: {
1188
+ type: 'autocomplete'
1189
+ value?: Props['multiple'] extends Yes ? any[] : any
1190
+ debounce?: number | string
1191
+ multiple?: Bool
1192
+ options: FormKitProOptionsProp
1193
+ selectionAppearance?: 'option' | 'text-input'
1194
+ openOnClick?: Bool
1195
+ filter?: (option: FormKitOptionsItem, search: string) => boolean
1196
+ optionLoader?: OptionLoader
1197
+ emptyMessage?: string
1198
+ max?: Props['multiple'] extends Yes ? number | string : undefined
1199
+ closeOnSelect?: Bool
1200
+ alwaysLoadOnOpen?: Bool
1201
+ loadOnCreated?: Bool
1202
+ clearSearchOnOpen?: Bool
1203
+ // TODO: audit these props.
1204
+ }
1205
+
1206
+ datepicker: {
1207
+ type: 'datepicker'
1208
+ value?: string | Date
1209
+ dateFormat?: string
1210
+ disabledDays?: (node: FormKitNode, date: Date) => boolean
1211
+ format?: string | FormatStyleObj
1212
+ maxDate?: Date | string
1213
+ maxScan?: number
1214
+ minDate?: Date | string
1215
+ monthButtonFormat?: 'M' | 'MM' | 'MMM' | 'MMMM'
1216
+ monthFormat?: 'M' | 'MM' | 'MMM' | 'MMMM'
1217
+ overlay?: Bool
1218
+ pickerOnly?: Bool
1219
+ showMonths?: number
1220
+ sequence?: Array<Panels>
1221
+ valueFormat?: string
1222
+ valueLocale?: string
1223
+ weekStart?: 0 | 1 | 2 | 3 | 4 | 5 | 6
1224
+ weekDayFormat?: 'dddd' | 'ddd' | 'dd'
1225
+ yearFormat?: 'YY' | 'YYYY'
1226
+ prefixIcon?: string
1227
+ suffixIcon?: string
1228
+ }
1229
+
1230
+ dropdown: {
1231
+ type: 'dropdown'
1232
+ value?: Props['multiple'] extends Yes ? any[] : any
1233
+ debounce?: number | string
1234
+ multiple?: Bool
1235
+ options?: FormKitProOptionsProp
1236
+ selectionAppearance?: 'truncate' | 'tags'
1237
+ openOnClick?: Bool
1238
+ filter?: (option: FormKitOptionsItem, search: string) => boolean
1239
+ optionLoader?: OptionLoader
1240
+ emptyMessage?: string
1241
+ max?: Props['multiple'] extends Yes ? number | string : undefined
1242
+ closeOnSelect?: Bool
1243
+ alwaysLoadOnOpen?: Bool
1244
+ loadOnCreated?: Bool
1245
+ clearSearchOnOpen?: Bool
1246
+ // TODO: audit these props.
1247
+ }
1248
+
1249
+ rating: {
1250
+ value?: number | string
1251
+ type: 'rating'
1252
+ min?: string | number
1253
+ max?: string | number
1254
+ step?: string | number
1255
+ hoverHighlight?: Bool
1256
+ offColor?: string
1257
+ onColor?: string
1258
+ }
1259
+
1260
+ repeater: {
1261
+ type: 'repeater'
1262
+ value?: Array<Record<string, any>>
1263
+ addLabel?: string
1264
+ addAttrs?: Record<string, any>
1265
+ addButton?: Bool
1266
+ upControl?: Bool
1267
+ downControl?: Bool
1268
+ insertControl?: Bool
1269
+ removeControl?: Bool
1270
+ min?: number | string
1271
+ max?: number | string | null
1272
+ }
1273
+
1274
+ mask: {
1275
+ type: 'mask'
1276
+ mask: string
1277
+ value?: string
1278
+ allowIncomplete?: Bool
1279
+ mode?: 'shift' | 'replace' | 'select'
1280
+ overlay?: Bool
1281
+ prefix?: string
1282
+ showMask?: Bool
1283
+ suffix?: string
1284
+ tokens?: PartMap
1285
+ unmaskValue?: Bool
1286
+ }
1287
+
1288
+ slider: {
1289
+ type: 'slider'
1290
+ value?: string | string[] | number | number[]
1291
+ chart?: Array<{ value: number; at: number }>
1292
+ inputAttrs?: Record<string, any>
1293
+ marks?: Bool | Array<{ at?: number; label?: string }>
1294
+ markLabel?: Bool
1295
+ max?: number | string
1296
+ maxInputAttrs?: Record<string, any>
1297
+ min?: string | number
1298
+ minInputAttrs?: Record<string, any>
1299
+ prefix?: string
1300
+ showInput?: Bool
1301
+ snapToMarks?: Bool
1302
+ step?: number | string
1303
+ suffix?: string
1304
+ tooltip?: Bool
1305
+ tooltipFormat?: (value: number, handle: string) => string | undefined
1306
+ }
1307
+
1308
+ taglist: {
1309
+ type: 'taglist'
1310
+ value?: any[]
1311
+ debounce?: number | string
1312
+ options?: FormKitProOptionsProp
1313
+ selectionAppearance?: 'truncate' | 'tags'
1314
+ openOnClick?: Bool
1315
+ filter?: (option: FormKitOptionsItem, search: string) => boolean
1316
+ optionLoader?: OptionLoader
1317
+ emptyMessage?: string
1318
+ max?: number | string
1319
+ closeOnSelect?: Bool
1320
+ alwaysLoadOnOpen?: Bool
1321
+ loadOnCreated?: Bool
1322
+ clearSearchOnOpen?: Bool
1323
+ }
1324
+
1325
+ toggle: {
1326
+ type: 'toggle'
1327
+ onValue?: any
1328
+ offValue?: any
1329
+ value?:
1330
+ | (Props['onValue'] extends AllReals ? Props['onValue'] : true)
1331
+ | (Props['offValue'] extends AllReals ? Props['offValue'] : false)
1332
+ altLabelPosition?: Bool
1333
+ offValueLabel?: string
1334
+ onValueLabel?: string
1335
+ valueLabelDisplay?: 'on' | 'off' | 'inner' | 'hidden'
1336
+ valueLabelColorOff?: string
1337
+ valueLabelColorOn?: string
1338
+ thumbIcon?: string
1339
+ thumbColorOn?: string
1340
+ iconColorOff?: string
1341
+ iconColorOn?: string
1342
+ trackColorOff?: string
1343
+ trackColorOn?: string
1344
+ }
1345
+
1346
+ transferlist: {
1347
+ type: 'transferlist'
1348
+ value?: OptionsProValue<Props['options']>[]
1349
+ options: FormKitProOptionsProp
1350
+ debounce?: number | string
1351
+ filter?: (option: FormKitOptionsItem, search: string) => boolean
1352
+ optionLoader?: OptionLoader
1353
+ sourceEmptyMessage?: string
1354
+ targetEmptyMessage?: string
1355
+ max?: string | number
1356
+ clearOnSelect?: Bool
1357
+ searchable?: Bool
1358
+ sourceLabel?: string
1359
+ targetLabel?: string
1360
+ transferOnSelect?: Bool
1361
+ }
1362
+ }
1363
+
1364
+ interface FormKitInputSlots<Props extends FormKitInputs<Props>> {
1365
+ autocomplete: FormKitAutocompleteSlots<Props>
1366
+ datepicker: FormKitDatePickerSlots<Props> & FormKitOverlaySlots<Props>
1367
+ dropdown: FormKitDropdownSlots<Props>
1368
+ mask: FormKitBaseSlots<Props> & FormKitOverlaySlots<Props>
1369
+ rating: FormKitBaseSlots<Props> & FormKitRatingSlots<Props>
1370
+ repeater: FormKitRepeaterSlots<Props>
1371
+ slider: FormKitSliderSlots<Props> &
1372
+ (Props['chart'] extends Array<{ at: number; value: number }>
1373
+ ? SliderChartSlots<Props>
1374
+ : {})
1375
+ taglist: FormKitTaglistSlots<Props>
1376
+ toggle: FormKitToggleSlots<Props>
1377
+ transferlist: TransferlistSlots<Props>
1378
+ }
1379
+ }
1380
+ /* </declare> */
191
1381
 
192
1382
  export { }
193
1383