@dynamicforms/vuetify-inputs 0.9.2 → 0.10.1
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 +2544 -1416
- 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 +81 -26
- package/package.json +22 -5
- package/readme.md +3 -4
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,6 @@ import { Day } from 'date-fns';
|
|
|
14
14
|
import { default as default_2 } from '@dynamicforms/vue-forms';
|
|
15
15
|
import { DefaultInputSlot } from 'vuetify/lib/components/VField/VField';
|
|
16
16
|
import { DefineComponent } from 'vue';
|
|
17
|
-
import { Editor } from '@ckeditor/ckeditor5-core';
|
|
18
17
|
import { Era } from 'date-fns';
|
|
19
18
|
import { FirstWeekContainsDate } from 'date-fns';
|
|
20
19
|
import { FormatDistanceFn } from 'date-fns';
|
|
@@ -300,11 +299,6 @@ export declare type BreakpointNames = (typeof responsiveBreakpoints)[number];
|
|
|
300
299
|
*/
|
|
301
300
|
export declare type BreakpointsJSON<T extends Record<string, any>, B extends Record<string, any> = T> = T & Partial<Record<BreakpointNames, B>>;
|
|
302
301
|
|
|
303
|
-
export declare const ckEditorLanguage: {
|
|
304
|
-
language: string;
|
|
305
|
-
translations: undefined;
|
|
306
|
-
};
|
|
307
|
-
|
|
308
302
|
export declare const DateTimeLocaleConfig: {
|
|
309
303
|
dateTimeLocale: Ref<{
|
|
310
304
|
code: string;
|
|
@@ -462,6 +456,28 @@ declare interface DfFileProps extends BaseProps {
|
|
|
462
456
|
comms: FileComms;
|
|
463
457
|
}
|
|
464
458
|
|
|
459
|
+
export declare const DfImage: DefineComponent<DfImageProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
460
|
+
"update:modelValue": (value: any) => any;
|
|
461
|
+
"click:clear": () => any;
|
|
462
|
+
}, string, PublicProps, Readonly<DfImageProps> & Readonly<{
|
|
463
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
464
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
465
|
+
}>, {
|
|
466
|
+
enabled: boolean;
|
|
467
|
+
clearable: boolean;
|
|
468
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
469
|
+
fileInputRef: HTMLInputElement;
|
|
470
|
+
}, any>;
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* `comms.upload` must resolve to a value directly usable as an `<img>` src (typically the URL your backend
|
|
474
|
+
* serves the image from): the component has no separate lookup for turning an identifier into a display URL,
|
|
475
|
+
* so it renders `modelValue` itself as the preview once a file has been uploaded.
|
|
476
|
+
*/
|
|
477
|
+
declare interface DfImageProps extends BaseProps {
|
|
478
|
+
comms: FileComms;
|
|
479
|
+
}
|
|
480
|
+
|
|
465
481
|
export declare const DfInput: DefineComponent<DfInputProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
466
482
|
"update:modelValue": (value: any) => any;
|
|
467
483
|
"click:clear": () => any;
|
|
@@ -485,6 +501,7 @@ export declare namespace DfInputComponentProps {
|
|
|
485
501
|
DfColorProps,
|
|
486
502
|
DfDateTimeProps,
|
|
487
503
|
DfFileProps,
|
|
504
|
+
DfImageProps,
|
|
488
505
|
DfInputProps,
|
|
489
506
|
DfInputHintProps,
|
|
490
507
|
DfLabelProps,
|
|
@@ -501,6 +518,7 @@ export declare namespace DfInputComponents {
|
|
|
501
518
|
DfColor,
|
|
502
519
|
DfDateTime,
|
|
503
520
|
DfFile,
|
|
521
|
+
DfImage,
|
|
504
522
|
DfInput,
|
|
505
523
|
DfInputHint,
|
|
506
524
|
DfLabel,
|
|
@@ -570,6 +588,18 @@ export declare const dfInputComponentsByTag: {
|
|
|
570
588
|
enabled: boolean;
|
|
571
589
|
clearable: boolean;
|
|
572
590
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
591
|
+
readonly 'df-image': DefineComponent<DfImageProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
592
|
+
"update:modelValue": (value: any) => any;
|
|
593
|
+
"click:clear": () => any;
|
|
594
|
+
}, string, PublicProps, Readonly<DfImageProps> & Readonly<{
|
|
595
|
+
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
596
|
+
"onClick:clear"?: (() => any) | undefined;
|
|
597
|
+
}>, {
|
|
598
|
+
enabled: boolean;
|
|
599
|
+
clearable: boolean;
|
|
600
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
601
|
+
fileInputRef: HTMLInputElement;
|
|
602
|
+
}, any>;
|
|
573
603
|
readonly 'df-input': DefineComponent<DfInputProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
574
604
|
"update:modelValue": (value: any) => any;
|
|
575
605
|
"click:clear": () => any;
|
|
@@ -609,17 +639,13 @@ export declare const dfInputComponentsByTag: {
|
|
|
609
639
|
disabled?: boolean;
|
|
610
640
|
}> & Readonly<{
|
|
611
641
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
612
|
-
}>, {
|
|
613
|
-
onEditorReady: (editorReady: Editor) => void;
|
|
614
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
642
|
+
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
615
643
|
"update:modelValue": (value: string) => any;
|
|
616
644
|
}, PublicProps, {
|
|
617
645
|
minHeight: string;
|
|
618
646
|
modelValue: string;
|
|
619
647
|
disabled: boolean;
|
|
620
|
-
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
|
|
621
|
-
editorElement: HTMLDivElement;
|
|
622
|
-
}, HTMLDivElement, ComponentProvideOptions, {
|
|
648
|
+
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
|
|
623
649
|
P: {};
|
|
624
650
|
B: {};
|
|
625
651
|
D: {};
|
|
@@ -632,9 +658,7 @@ export declare const dfInputComponentsByTag: {
|
|
|
632
658
|
disabled?: boolean;
|
|
633
659
|
}> & Readonly<{
|
|
634
660
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
635
|
-
}>, {
|
|
636
|
-
onEditorReady: (editorReady: Editor) => void;
|
|
637
|
-
}, {}, {}, {}, {
|
|
661
|
+
}>, {}, {}, {}, {}, {
|
|
638
662
|
minHeight: string;
|
|
639
663
|
modelValue: string;
|
|
640
664
|
disabled: boolean;
|
|
@@ -780,17 +804,13 @@ minHeight?: string;
|
|
|
780
804
|
disabled?: boolean;
|
|
781
805
|
}> & Readonly<{
|
|
782
806
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
783
|
-
}>, {
|
|
784
|
-
onEditorReady: (editorReady: Editor) => void;
|
|
785
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
807
|
+
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
786
808
|
"update:modelValue": (value: string) => any;
|
|
787
809
|
}, PublicProps, {
|
|
788
810
|
minHeight: string;
|
|
789
811
|
modelValue: string;
|
|
790
812
|
disabled: boolean;
|
|
791
|
-
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
|
|
792
|
-
editorElement: HTMLDivElement;
|
|
793
|
-
}, HTMLDivElement, ComponentProvideOptions, {
|
|
813
|
+
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLDivElement, ComponentProvideOptions, {
|
|
794
814
|
P: {};
|
|
795
815
|
B: {};
|
|
796
816
|
D: {};
|
|
@@ -803,9 +823,7 @@ minHeight?: string;
|
|
|
803
823
|
disabled?: boolean;
|
|
804
824
|
}> & Readonly<{
|
|
805
825
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
806
|
-
}>, {
|
|
807
|
-
onEditorReady: (editorReady: Editor) => void;
|
|
808
|
-
}, {}, {}, {}, {
|
|
826
|
+
}>, {}, {}, {}, {}, {
|
|
809
827
|
minHeight: string;
|
|
810
828
|
modelValue: string;
|
|
811
829
|
disabled: boolean;
|
|
@@ -934,8 +952,6 @@ export declare interface SelectChoice {
|
|
|
934
952
|
|
|
935
953
|
export declare type SelectFetchChoices<T1 = any, T2 = any> = (queryValue?: T1, idValue?: T2) => Promise<SelectChoice[]>;
|
|
936
954
|
|
|
937
|
-
export declare function setCkEditorLanguage(language: string, translations: any): void;
|
|
938
|
-
|
|
939
955
|
declare type ShowAsGroup = 'no' | 'grouped' | 'grouped-no-borders';
|
|
940
956
|
|
|
941
957
|
export declare const translatableStrings: {
|
|
@@ -959,6 +975,45 @@ export declare const translatableStrings: {
|
|
|
959
975
|
Spoiler: string;
|
|
960
976
|
CodeDark: string;
|
|
961
977
|
CodeBright: string;
|
|
978
|
+
Undo: string;
|
|
979
|
+
Redo: string;
|
|
980
|
+
SelectAll: string;
|
|
981
|
+
Bold: string;
|
|
982
|
+
Italic: string;
|
|
983
|
+
HorizontalLine: string;
|
|
984
|
+
Blockquote: string;
|
|
985
|
+
BulletedList: string;
|
|
986
|
+
NumberedList: string;
|
|
987
|
+
Outdent: string;
|
|
988
|
+
Indent: string;
|
|
989
|
+
AlignLeft: string;
|
|
990
|
+
AlignCenter: string;
|
|
991
|
+
AlignRight: string;
|
|
992
|
+
AlignJustify: string;
|
|
993
|
+
Link: string;
|
|
994
|
+
LinkUrl: string;
|
|
995
|
+
LinkApply: string;
|
|
996
|
+
LinkRemove: string;
|
|
997
|
+
Image: string;
|
|
998
|
+
ImageUrl: string;
|
|
999
|
+
ImageUpload: string;
|
|
1000
|
+
ImageInsert: string;
|
|
1001
|
+
ImageDropHint: string;
|
|
1002
|
+
ImageReplace: string;
|
|
1003
|
+
Table: string;
|
|
1004
|
+
TableInsert: string;
|
|
1005
|
+
TableAddRowAbove: string;
|
|
1006
|
+
TableAddRowBelow: string;
|
|
1007
|
+
TableDeleteRow: string;
|
|
1008
|
+
TableAddColumnBefore: string;
|
|
1009
|
+
TableAddColumnAfter: string;
|
|
1010
|
+
TableDeleteColumn: string;
|
|
1011
|
+
TableToggleHeaderRow: string;
|
|
1012
|
+
TableDeleteTable: string;
|
|
1013
|
+
Style: string;
|
|
1014
|
+
MediaEmbed: string;
|
|
1015
|
+
MediaEmbedUrl: string;
|
|
1016
|
+
MediaEmbedInsert: string;
|
|
962
1017
|
};
|
|
963
1018
|
|
|
964
1019
|
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.1",
|
|
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
|