@dynamicforms/vuetify-inputs 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dynamicforms-vuetify-inputs.css +1 -1
- package/dist/dynamicforms-vuetify-inputs.js +2345 -1360
- package/dist/dynamicforms-vuetify-inputs.js.map +1 -1
- package/dist/dynamicforms-vuetify-inputs.umd.cjs +1 -1
- package/dist/dynamicforms-vuetify-inputs.umd.cjs.map +1 -1
- package/dist/index.d.ts +297 -41
- package/package.json +22 -5
- package/readme.md +3 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Action as Action_2 } from '@dynamicforms/vue-forms';
|
|
2
2
|
import { ActionValue } from '@dynamicforms/vue-forms';
|
|
3
|
+
import { AllowedComponentProps } from 'vue';
|
|
3
4
|
import { App } from 'vue';
|
|
4
5
|
import { ClassTypes } from '@dynamicforms/vue-forms';
|
|
5
6
|
import { ClassValue } from '../../node_modules/vuetify/lib/composables/component';
|
|
7
|
+
import { ComponentCustomProps } from 'vue';
|
|
8
|
+
import { ComponentOptionsBase } from 'vue';
|
|
6
9
|
import { ComponentOptionsMixin } from 'vue';
|
|
7
10
|
import { ComponentProvideOptions } from 'vue';
|
|
8
11
|
import { ComputedRef } from 'vue';
|
|
@@ -11,7 +14,6 @@ import { Day } from 'date-fns';
|
|
|
11
14
|
import { default as default_2 } from '@dynamicforms/vue-forms';
|
|
12
15
|
import { DefaultInputSlot } from 'vuetify/lib/components/VField/VField';
|
|
13
16
|
import { DefineComponent } from 'vue';
|
|
14
|
-
import { Editor } from '@ckeditor/ckeditor5-core';
|
|
15
17
|
import { Era } from 'date-fns';
|
|
16
18
|
import { FirstWeekContainsDate } from 'date-fns';
|
|
17
19
|
import { FormatDistanceFn } from 'date-fns';
|
|
@@ -50,6 +52,7 @@ import { VImg } from 'vuetify/components/VImg';
|
|
|
50
52
|
import { VInput } from 'vuetify/components/VInput';
|
|
51
53
|
import { VListItem } from 'vuetify/components/VList';
|
|
52
54
|
import { VMenu } from 'vuetify/components/VMenu';
|
|
55
|
+
import { VNodeProps } from 'vue';
|
|
53
56
|
import { VNumberInput } from 'vuetify/components/VNumberInput';
|
|
54
57
|
import { VProgressLinear } from 'vuetify/components/VProgressLinear';
|
|
55
58
|
import { VRow } from 'vuetify/components/VGrid';
|
|
@@ -80,25 +83,17 @@ fetchChoices: SelectFetchChoices;
|
|
|
80
83
|
dfSelectRef: unknown;
|
|
81
84
|
}, any>;
|
|
82
85
|
|
|
83
|
-
declare const __VLS_component_2: DefineComponent<
|
|
86
|
+
declare const __VLS_component_2: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
84
87
|
blur: () => any;
|
|
85
88
|
"update:modelValue": (value: any) => any;
|
|
86
89
|
"click:clear": () => any;
|
|
87
|
-
}, string, PublicProps, Readonly<
|
|
90
|
+
}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
88
91
|
onBlur?: (() => any) | undefined;
|
|
89
92
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
90
93
|
"onClick:clear"?: (() => any) | undefined;
|
|
91
94
|
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
92
95
|
|
|
93
|
-
declare type __VLS_Props = {
|
|
94
|
-
data?: DefaultInputSlot & {
|
|
95
|
-
label?: string | MdString;
|
|
96
|
-
};
|
|
97
|
-
label: Label;
|
|
98
|
-
allowWrap?: boolean;
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
declare type __VLS_Props_2 = BaseProps & {
|
|
96
|
+
declare type __VLS_Props = BaseProps & {
|
|
102
97
|
loading?: boolean;
|
|
103
98
|
};
|
|
104
99
|
|
|
@@ -210,7 +205,14 @@ export declare class Action extends Action_2<ActionBreakpointOptions> {
|
|
|
210
205
|
static noAction(data?: Partial<IFieldConstructorParams<ActionBreakpointOptions>>): Action;
|
|
211
206
|
}
|
|
212
207
|
|
|
213
|
-
export declare type ActionBreakpointOptions = BreakpointsJSON<ActionRenderOptions>;
|
|
208
|
+
export declare type ActionBreakpointOptions = BreakpointsJSON<ActionRenderOptions, ActionBreakpointRenderOptions>;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* What one breakpoint of an action's value may state: the members that describe how the action is drawn.
|
|
212
|
+
* `name`, `defaultConfirm` and `defaultReject` are not among them - which key a modal resolves with, and which
|
|
213
|
+
* key fires the action, are properties of the action itself and do not depend on the width of the screen.
|
|
214
|
+
*/
|
|
215
|
+
export declare type ActionBreakpointRenderOptions = Omit<ActionRenderOptions, 'name' | 'defaultConfirm' | 'defaultReject'>;
|
|
214
216
|
|
|
215
217
|
/**
|
|
216
218
|
* DisplayMode enum provides an enumeration for supported ways of rendering a particular object in the DOM
|
|
@@ -290,12 +292,12 @@ export declare interface BaseProps<T = any> {
|
|
|
290
292
|
|
|
291
293
|
export declare type BreakpointNames = (typeof responsiveBreakpoints)[number];
|
|
292
294
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
295
|
+
/**
|
|
296
|
+
* A set of options and the per-breakpoint sets that restate parts of it. `B` is what a breakpoint may state,
|
|
297
|
+
* and defaults to the whole of `T`; a subclass narrows it where a member belongs to the object as a whole rather
|
|
298
|
+
* than to one screen width.
|
|
299
|
+
*/
|
|
300
|
+
export declare type BreakpointsJSON<T extends Record<string, any>, B extends Record<string, any> = T> = T & Partial<Record<BreakpointNames, B>>;
|
|
299
301
|
|
|
300
302
|
export declare const DateTimeLocaleConfig: {
|
|
301
303
|
dateTimeLocale: Ref<{
|
|
@@ -478,6 +480,8 @@ export declare namespace DfInputComponentProps {
|
|
|
478
480
|
DfDateTimeProps,
|
|
479
481
|
DfFileProps,
|
|
480
482
|
DfInputProps,
|
|
483
|
+
DfInputHintProps,
|
|
484
|
+
DfLabelProps,
|
|
481
485
|
DfRtfEditorProps,
|
|
482
486
|
DfSelectProps,
|
|
483
487
|
DfTextAreaProps
|
|
@@ -493,19 +497,239 @@ export declare namespace DfInputComponents {
|
|
|
493
497
|
DfFile,
|
|
494
498
|
DfInput,
|
|
495
499
|
DfInputHint,
|
|
500
|
+
DfLabel,
|
|
496
501
|
DfRtfEditor,
|
|
497
502
|
DfSelect,
|
|
498
503
|
DfTextArea
|
|
499
504
|
}
|
|
500
505
|
}
|
|
501
506
|
|
|
502
|
-
|
|
507
|
+
/**
|
|
508
|
+
* Every component this library draws with, keyed by the tag a layout names it by.
|
|
509
|
+
*
|
|
510
|
+
* A rendering layer that resolves a component by name out of a map - `@dynamicforms/vuetify-modal-form-kit`'s
|
|
511
|
+
* `<component-render>` is one - is handed this instead of keeping a list of its own, which would have to be
|
|
512
|
+
* extended whenever this package gains a component and would silently render nothing until it was.
|
|
513
|
+
*
|
|
514
|
+
* The keys are the kebab-case of the export names, so a tag names the same component whether it is looked up
|
|
515
|
+
* here or left to Vue's own resolver after `DynamicFormsInputs` has registered the components globally.
|
|
516
|
+
*/
|
|
517
|
+
export declare const dfInputComponentsByTag: {
|
|
518
|
+
readonly 'df-actions': DefineComponent<DfActionsProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DfActionsProps> & Readonly<{}>, {
|
|
519
|
+
buttonSize: string | number;
|
|
520
|
+
showAsGroup: "no" | "grouped" | "grouped-no-borders";
|
|
521
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
522
|
+
readonly 'df-checkbox': DefineComponent<DfCheckboxProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
523
|
+
"update:modelValue": (value: any) => any;
|
|
524
|
+
"click:clear": () => any;
|
|
525
|
+
}, string, PublicProps, Readonly<DfCheckboxProps> & Readonly<{
|
|
526
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
527
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
528
|
+
}>, {
|
|
529
|
+
enabled: boolean;
|
|
530
|
+
clearable: boolean;
|
|
531
|
+
allowNull: boolean;
|
|
532
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
533
|
+
readonly 'df-color': DefineComponent<DfColorProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
534
|
+
"update:modelValue": (value: any) => any;
|
|
535
|
+
"click:clear": () => any;
|
|
536
|
+
}, string, PublicProps, Readonly<DfColorProps> & Readonly<{
|
|
537
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
538
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
539
|
+
}>, {
|
|
540
|
+
enabled: boolean;
|
|
541
|
+
clearable: boolean;
|
|
542
|
+
allowNull: boolean;
|
|
543
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
544
|
+
readonly 'df-date-time': DefineComponent<DfDateTimeProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
545
|
+
"update:modelValue": (value: any) => any;
|
|
546
|
+
"click:clear": () => any;
|
|
547
|
+
}, string, PublicProps, Readonly<DfDateTimeProps> & Readonly<{
|
|
548
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
549
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
550
|
+
}>, {
|
|
551
|
+
enabled: boolean;
|
|
552
|
+
clearable: boolean;
|
|
553
|
+
inputType: "datetime" | "date" | "time";
|
|
554
|
+
displayFormatDate: string;
|
|
555
|
+
displayFormatTime: string;
|
|
556
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
557
|
+
readonly 'df-file': DefineComponent<DfFileProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
558
|
+
"update:modelValue": (value: any) => any;
|
|
559
|
+
"click:clear": () => any;
|
|
560
|
+
}, string, PublicProps, Readonly<DfFileProps> & Readonly<{
|
|
561
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
562
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
563
|
+
}>, {
|
|
564
|
+
enabled: boolean;
|
|
565
|
+
clearable: boolean;
|
|
566
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
567
|
+
readonly 'df-input': DefineComponent<DfInputProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
568
|
+
"update:modelValue": (value: any) => any;
|
|
569
|
+
"click:clear": () => any;
|
|
570
|
+
}, string, PublicProps, Readonly<DfInputProps> & Readonly<{
|
|
571
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
572
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
573
|
+
}>, {
|
|
574
|
+
enabled: boolean;
|
|
575
|
+
clearable: boolean;
|
|
576
|
+
inputType: "text" | "password" | "email" | "url" | "number";
|
|
577
|
+
precision: number | null;
|
|
578
|
+
step: number;
|
|
579
|
+
min: number;
|
|
580
|
+
max: number;
|
|
581
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
582
|
+
readonly 'df-input-hint': DefineComponent<DfInputHintProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DfInputHintProps> & Readonly<{}>, {
|
|
583
|
+
errors: string | ValidationError[];
|
|
584
|
+
message: string | ValidationError[];
|
|
585
|
+
errorClasses: ClassTypes;
|
|
586
|
+
messageClasses: ClassTypes;
|
|
587
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
588
|
+
readonly 'df-label': DefineComponent<DfLabelProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DfLabelProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
589
|
+
readonly 'df-rtf-editor': DefineComponent<DfRtfEditorProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
590
|
+
"update:modelValue": (value: any) => any;
|
|
591
|
+
"click:clear": () => any;
|
|
592
|
+
}, string, PublicProps, Readonly<DfRtfEditorProps> & Readonly<{
|
|
593
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
594
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
595
|
+
}>, {
|
|
596
|
+
minHeight: string;
|
|
597
|
+
enabled: boolean;
|
|
598
|
+
clearable: boolean;
|
|
599
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
600
|
+
$editor: CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
601
|
+
modelValue?: string;
|
|
602
|
+
minHeight?: string;
|
|
603
|
+
disabled?: boolean;
|
|
604
|
+
}> & Readonly<{
|
|
605
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
606
|
+
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
607
|
+
"update:modelValue": (value: string) => any;
|
|
608
|
+
}, PublicProps, {
|
|
609
|
+
minHeight: string;
|
|
610
|
+
modelValue: string;
|
|
611
|
+
disabled: boolean;
|
|
612
|
+
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
|
|
613
|
+
P: {};
|
|
614
|
+
B: {};
|
|
615
|
+
D: {};
|
|
616
|
+
C: {};
|
|
617
|
+
M: {};
|
|
618
|
+
Defaults: {};
|
|
619
|
+
}, Readonly<{
|
|
620
|
+
modelValue?: string;
|
|
621
|
+
minHeight?: string;
|
|
622
|
+
disabled?: boolean;
|
|
623
|
+
}> & Readonly<{
|
|
624
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
625
|
+
}>, {}, {}, {}, {}, {
|
|
626
|
+
minHeight: string;
|
|
627
|
+
modelValue: string;
|
|
628
|
+
disabled: boolean;
|
|
629
|
+
}> | null;
|
|
630
|
+
}, any>;
|
|
631
|
+
readonly 'df-select': {
|
|
632
|
+
new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<DfSelectProps> & Readonly<{
|
|
633
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
634
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
635
|
+
"onUpdate:modelValueDisplay"?: ((value: SelectChoice[]) => any) | undefined;
|
|
636
|
+
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
637
|
+
"update:modelValue": (value: any) => any;
|
|
638
|
+
"click:clear": () => any;
|
|
639
|
+
"update:modelValueDisplay": (value: SelectChoice[]) => any;
|
|
640
|
+
}, PublicProps, {
|
|
641
|
+
enabled: boolean;
|
|
642
|
+
clearable: boolean;
|
|
643
|
+
allowNull: boolean;
|
|
644
|
+
choices: SelectChoice[];
|
|
645
|
+
multiple: boolean;
|
|
646
|
+
allowTags: boolean;
|
|
647
|
+
fetchChoices: SelectFetchChoices;
|
|
648
|
+
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
|
|
649
|
+
dfSelectRef: unknown;
|
|
650
|
+
}, any, ComponentProvideOptions, {
|
|
651
|
+
P: {};
|
|
652
|
+
B: {};
|
|
653
|
+
D: {};
|
|
654
|
+
C: {};
|
|
655
|
+
M: {};
|
|
656
|
+
Defaults: {};
|
|
657
|
+
}, Readonly<DfSelectProps> & Readonly<{
|
|
658
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
659
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
660
|
+
"onUpdate:modelValueDisplay"?: ((value: SelectChoice[]) => any) | undefined;
|
|
661
|
+
}>, {}, {}, {}, {}, {
|
|
662
|
+
enabled: boolean;
|
|
663
|
+
clearable: boolean;
|
|
664
|
+
allowNull: boolean;
|
|
665
|
+
choices: SelectChoice[];
|
|
666
|
+
multiple: boolean;
|
|
667
|
+
allowTags: boolean;
|
|
668
|
+
fetchChoices: SelectFetchChoices;
|
|
669
|
+
}>;
|
|
670
|
+
__isFragment?: never;
|
|
671
|
+
__isTeleport?: never;
|
|
672
|
+
__isSuspense?: never;
|
|
673
|
+
} & ComponentOptionsBase<Readonly<DfSelectProps> & Readonly<{
|
|
674
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
675
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
676
|
+
"onUpdate:modelValueDisplay"?: ((value: SelectChoice[]) => any) | undefined;
|
|
677
|
+
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
678
|
+
"update:modelValue": (value: any) => any;
|
|
679
|
+
"click:clear": () => any;
|
|
680
|
+
"update:modelValueDisplay": (value: SelectChoice[]) => any;
|
|
681
|
+
}, string, {
|
|
682
|
+
enabled: boolean;
|
|
683
|
+
clearable: boolean;
|
|
684
|
+
allowNull: boolean;
|
|
685
|
+
choices: SelectChoice[];
|
|
686
|
+
multiple: boolean;
|
|
687
|
+
allowTags: boolean;
|
|
688
|
+
fetchChoices: SelectFetchChoices;
|
|
689
|
+
}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
|
|
690
|
+
$slots: Readonly<{
|
|
691
|
+
'append-inner'?: (props: any) => any;
|
|
692
|
+
'prepend-inner'?: (props: any) => any;
|
|
693
|
+
}> & {
|
|
694
|
+
'append-inner'?: (props: any) => any;
|
|
695
|
+
'prepend-inner'?: (props: any) => any;
|
|
696
|
+
};
|
|
697
|
+
});
|
|
698
|
+
readonly 'df-text-area': DefineComponent<DfTextAreaProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
699
|
+
"update:modelValue": (value: any) => any;
|
|
700
|
+
"click:clear": () => any;
|
|
701
|
+
}, string, PublicProps, Readonly<DfTextAreaProps> & Readonly<{
|
|
702
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
703
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
704
|
+
}>, {
|
|
705
|
+
enabled: boolean;
|
|
706
|
+
clearable: boolean;
|
|
707
|
+
rows: number;
|
|
708
|
+
maxRows: number;
|
|
709
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
710
|
+
};
|
|
711
|
+
|
|
712
|
+
/** The tags {@link dfInputComponentsByTag} answers for. */
|
|
713
|
+
export declare type DfInputComponentTag = keyof typeof dfInputComponentsByTag;
|
|
714
|
+
|
|
715
|
+
export declare const DfInputHint: DefineComponent<DfInputHintProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DfInputHintProps> & Readonly<{}>, {
|
|
503
716
|
errors: string | ValidationError[];
|
|
504
717
|
message: string | ValidationError[];
|
|
505
718
|
errorClasses: ClassTypes;
|
|
506
719
|
messageClasses: ClassTypes;
|
|
507
720
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
508
721
|
|
|
722
|
+
declare interface DfInputHintProps {
|
|
723
|
+
/** The errors to render. Rendered in place of {@link message} whenever there is one. */
|
|
724
|
+
errors?: string | ValidationError[];
|
|
725
|
+
/** The message to render, shown while there is no error. */
|
|
726
|
+
message?: string | ValidationError[];
|
|
727
|
+
/** Classes for the rendered errors. Defaults to `text-error`. */
|
|
728
|
+
errorClasses?: ClassTypes;
|
|
729
|
+
/** Classes for the rendered message. Defaults to no class. */
|
|
730
|
+
messageClasses?: ClassTypes;
|
|
731
|
+
}
|
|
732
|
+
|
|
509
733
|
declare interface DfInputProps extends BaseProps {
|
|
510
734
|
inputType?: 'text' | 'password' | 'email' | 'url' | 'number';
|
|
511
735
|
precision?: number | null;
|
|
@@ -514,7 +738,18 @@ declare interface DfInputProps extends BaseProps {
|
|
|
514
738
|
max?: number;
|
|
515
739
|
}
|
|
516
740
|
|
|
517
|
-
export declare const DfLabel: DefineComponent<
|
|
741
|
+
export declare const DfLabel: DefineComponent<DfLabelProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DfLabelProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
742
|
+
|
|
743
|
+
declare interface DfLabelProps {
|
|
744
|
+
/** The slot data Vuetify hands a `#label` slot. Where it is given, its `label` is what is rendered. */
|
|
745
|
+
data?: DefaultInputSlot & {
|
|
746
|
+
label?: string | MdString;
|
|
747
|
+
};
|
|
748
|
+
/** The label to render where no {@link data} is given: its text, and the icon it carries. */
|
|
749
|
+
label: Label;
|
|
750
|
+
/** Whether the label wraps over several lines. It is rendered on one line by default. */
|
|
751
|
+
allowWrap?: boolean;
|
|
752
|
+
}
|
|
518
753
|
|
|
519
754
|
export declare const DfRtfEditor: DefineComponent<DfRtfEditorProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
520
755
|
"update:modelValue": (value: any) => any;
|
|
@@ -533,17 +768,13 @@ minHeight?: string;
|
|
|
533
768
|
disabled?: boolean;
|
|
534
769
|
}> & Readonly<{
|
|
535
770
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
536
|
-
}>, {
|
|
537
|
-
onEditorReady: (editorReady: Editor) => void;
|
|
538
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
771
|
+
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
539
772
|
"update:modelValue": (value: string) => any;
|
|
540
773
|
}, PublicProps, {
|
|
541
774
|
minHeight: string;
|
|
542
775
|
modelValue: string;
|
|
543
776
|
disabled: boolean;
|
|
544
|
-
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
|
|
545
|
-
editorElement: HTMLDivElement;
|
|
546
|
-
}, HTMLDivElement, ComponentProvideOptions, {
|
|
777
|
+
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
|
|
547
778
|
P: {};
|
|
548
779
|
B: {};
|
|
549
780
|
D: {};
|
|
@@ -556,9 +787,7 @@ minHeight?: string;
|
|
|
556
787
|
disabled?: boolean;
|
|
557
788
|
}> & Readonly<{
|
|
558
789
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
559
|
-
}>, {
|
|
560
|
-
onEditorReady: (editorReady: Editor) => void;
|
|
561
|
-
}, {}, {}, {}, {
|
|
790
|
+
}>, {}, {}, {}, {}, {
|
|
562
791
|
minHeight: string;
|
|
563
792
|
modelValue: string;
|
|
564
793
|
disabled: boolean;
|
|
@@ -660,13 +889,6 @@ export declare class Label {
|
|
|
660
889
|
constructor(text: string, icon?: string | undefined, iconComponent?: string);
|
|
661
890
|
}
|
|
662
891
|
|
|
663
|
-
declare interface Props {
|
|
664
|
-
errors?: string | ValidationError[];
|
|
665
|
-
message?: string | ValidationError[];
|
|
666
|
-
errorClasses?: ClassTypes;
|
|
667
|
-
messageClasses?: ClassTypes;
|
|
668
|
-
}
|
|
669
|
-
|
|
670
892
|
export declare class ResponsiveActionRenderOptions extends ResponsiveRenderOptions<ActionRenderOptions> {
|
|
671
893
|
protected cleanBreakpoint(bp?: ActionRenderOptions, defaultIfEmpty?: boolean): ActionRenderOptions | null;
|
|
672
894
|
}
|
|
@@ -681,8 +903,7 @@ export declare abstract class ResponsiveRenderOptions<T extends Record<string, a
|
|
|
681
903
|
* Normalizes one breakpoint's options. The merge reads `null` and `undefined` as "this breakpoint says
|
|
682
904
|
* nothing about that field", so a field the breakpoint does not state has to come back as `undefined` rather
|
|
683
905
|
* than as an empty value - an empty array or string returned here reads as a breakpoint deliberately emptying
|
|
684
|
-
* what it inherited.
|
|
685
|
-
* field set is taken from it.
|
|
906
|
+
* what it inherited.
|
|
686
907
|
*/
|
|
687
908
|
protected abstract cleanBreakpoint(bp?: T, defaultIfEmpty?: boolean): T | null;
|
|
688
909
|
}
|
|
@@ -695,8 +916,6 @@ export declare interface SelectChoice {
|
|
|
695
916
|
|
|
696
917
|
export declare type SelectFetchChoices<T1 = any, T2 = any> = (queryValue?: T1, idValue?: T2) => Promise<SelectChoice[]>;
|
|
697
918
|
|
|
698
|
-
export declare function setCkEditorLanguage(language: string, translations: any): void;
|
|
699
|
-
|
|
700
919
|
declare type ShowAsGroup = 'no' | 'grouped' | 'grouped-no-borders';
|
|
701
920
|
|
|
702
921
|
export declare const translatableStrings: {
|
|
@@ -720,6 +939,43 @@ export declare const translatableStrings: {
|
|
|
720
939
|
Spoiler: string;
|
|
721
940
|
CodeDark: string;
|
|
722
941
|
CodeBright: string;
|
|
942
|
+
Undo: string;
|
|
943
|
+
Redo: string;
|
|
944
|
+
SelectAll: string;
|
|
945
|
+
Bold: string;
|
|
946
|
+
Italic: string;
|
|
947
|
+
HorizontalLine: string;
|
|
948
|
+
Blockquote: string;
|
|
949
|
+
BulletedList: string;
|
|
950
|
+
NumberedList: string;
|
|
951
|
+
Outdent: string;
|
|
952
|
+
Indent: string;
|
|
953
|
+
AlignLeft: string;
|
|
954
|
+
AlignCenter: string;
|
|
955
|
+
AlignRight: string;
|
|
956
|
+
AlignJustify: string;
|
|
957
|
+
Link: string;
|
|
958
|
+
LinkUrl: string;
|
|
959
|
+
LinkApply: string;
|
|
960
|
+
LinkRemove: string;
|
|
961
|
+
Image: string;
|
|
962
|
+
ImageUrl: string;
|
|
963
|
+
ImageUpload: string;
|
|
964
|
+
ImageInsert: string;
|
|
965
|
+
Table: string;
|
|
966
|
+
TableInsert: string;
|
|
967
|
+
TableAddRowAbove: string;
|
|
968
|
+
TableAddRowBelow: string;
|
|
969
|
+
TableDeleteRow: string;
|
|
970
|
+
TableAddColumnBefore: string;
|
|
971
|
+
TableAddColumnAfter: string;
|
|
972
|
+
TableDeleteColumn: string;
|
|
973
|
+
TableToggleHeaderRow: string;
|
|
974
|
+
TableDeleteTable: string;
|
|
975
|
+
Style: string;
|
|
976
|
+
MediaEmbed: string;
|
|
977
|
+
MediaEmbedUrl: string;
|
|
978
|
+
MediaEmbedInsert: string;
|
|
723
979
|
};
|
|
724
980
|
|
|
725
981
|
export declare function translateStrings(translationCallback: (s: string) => string): void;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamicforms/vuetify-inputs",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.10.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Vuetify input components with guaranteed visual consistency across all form fields — unified density/variant system, globally configurable, with inline mode for table cells. Built for @dynamicforms/vue-forms.",
|
|
7
7
|
"author": "Jure Erznožnik",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "vite build",
|
|
26
26
|
"test": "vitest run --coverage",
|
|
27
|
+
"test:e2e": "playwright test",
|
|
27
28
|
"lint": "eslint src --fix && vue-tsc --noEmit",
|
|
28
29
|
"lint:ci": "eslint src && vue-tsc --noEmit",
|
|
29
30
|
"docs:dev": "npm run docs:dev -w docs",
|
|
@@ -55,10 +56,20 @@
|
|
|
55
56
|
"url": "https://github.com/dynamicforms/vuetify-inputs/issues"
|
|
56
57
|
},
|
|
57
58
|
"peerDependencies": {
|
|
58
|
-
"@ckeditor/ckeditor5-vue": "^7.0.0",
|
|
59
59
|
"@dynamicforms/vue-forms": "^0.17.0",
|
|
60
60
|
"@mdi/font": "^7.4.47",
|
|
61
|
-
"
|
|
61
|
+
"@tiptap/core": "^3.30.2",
|
|
62
|
+
"@tiptap/extension-image": "^3.30.2",
|
|
63
|
+
"@tiptap/extension-link": "^3.30.2",
|
|
64
|
+
"@tiptap/extension-placeholder": "^3.30.2",
|
|
65
|
+
"@tiptap/extension-table": "^3.30.2",
|
|
66
|
+
"@tiptap/extension-table-cell": "^3.30.2",
|
|
67
|
+
"@tiptap/extension-table-header": "^3.30.2",
|
|
68
|
+
"@tiptap/extension-table-row": "^3.30.2",
|
|
69
|
+
"@tiptap/extension-text-align": "^3.30.2",
|
|
70
|
+
"@tiptap/pm": "^3.30.2",
|
|
71
|
+
"@tiptap/starter-kit": "^3.30.2",
|
|
72
|
+
"@tiptap/vue-3": "^3.30.2",
|
|
62
73
|
"date-fns": "^4.1.0",
|
|
63
74
|
"lodash-es": "^4.17.12",
|
|
64
75
|
"vitepress-plugin-crosslinks": "^1.0.0",
|
|
@@ -68,14 +79,15 @@
|
|
|
68
79
|
"vuetify": "^3.9"
|
|
69
80
|
},
|
|
70
81
|
"devDependencies": {
|
|
82
|
+
"@playwright/test": "^1.62.1",
|
|
71
83
|
"@types/lodash-es": "^4.17.12",
|
|
72
84
|
"@types/markdown-it-attrs": "^4.1.3",
|
|
73
|
-
"@types/node": "^
|
|
85
|
+
"@types/node": "^26",
|
|
74
86
|
"@vitejs/plugin-vue": "^6",
|
|
75
87
|
"@vitest/coverage-v8": "^3",
|
|
76
88
|
"@vue/test-utils": "^2.2.4",
|
|
77
89
|
"@vue/tsconfig": "^0.7.0",
|
|
78
|
-
"eslint-config-velis": "^
|
|
90
|
+
"eslint-config-velis": "^3",
|
|
79
91
|
"jsdom": "^26.0.0",
|
|
80
92
|
"markdown-it-attrs": "^4.3.1",
|
|
81
93
|
"rollup-plugin-visualizer": "^5.14.0",
|
|
@@ -85,5 +97,10 @@
|
|
|
85
97
|
"vite-plugin-eslint": "^1.8.1",
|
|
86
98
|
"vitest": "^3",
|
|
87
99
|
"vue-tsc": "^2"
|
|
100
|
+
},
|
|
101
|
+
"allowScripts": {
|
|
102
|
+
"@parcel/watcher@2.6.0": true,
|
|
103
|
+
"esbuild@0.28.2": true,
|
|
104
|
+
"unrs-resolver@1.12.2": true
|
|
88
105
|
}
|
|
89
106
|
}
|
package/readme.md
CHANGED
|
@@ -66,10 +66,9 @@ consistent appearance.
|
|
|
66
66
|
- **Selection**: static choices or an async `fetchChoices`, single or multiple, chips with icons, free values with
|
|
67
67
|
`allowTags`
|
|
68
68
|
- **Uploads**: a `FileComms` object with upload progress, delete and a periodic touch
|
|
69
|
-
- **Rich text**: a
|
|
70
|
-
- **Localisable**: `translateStrings()` replaces the library's own strings,
|
|
71
|
-
|
|
72
|
-
with
|
|
69
|
+
- **Rich text**: TipTap with a Vuetify toolbar, inside the same field frame as every other input
|
|
70
|
+
- **Localisable**: `translateStrings()` replaces the library's own strings, including every RTF editor toolbar
|
|
71
|
+
label, and `DateTimeLocaleConfig` sets the date-fns locale dates are formatted and parsed with
|
|
73
72
|
- **TypeScript**: every component's props are an exported interface, and the definitions ship with the build
|
|
74
73
|
|
|
75
74
|
## Installation
|