@a-vision-software/vue-input-components 1.1.30 → 1.1.32

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.
@@ -0,0 +1,27 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
2
+ icon?: string | undefined;
3
+ uploadUrl?: string | undefined;
4
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ "upload-complete": (files: File[]) => void;
6
+ "upload-error": (error: string) => void;
7
+ "files-selected": (files: File[]) => void;
8
+ "start-upload": (files: File[]) => void;
9
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
10
+ icon?: string | undefined;
11
+ uploadUrl?: string | undefined;
12
+ }>>> & Readonly<{
13
+ "onUpload-complete"?: ((files: File[]) => any) | undefined;
14
+ "onUpload-error"?: ((error: string) => any) | undefined;
15
+ "onFiles-selected"?: ((files: File[]) => any) | undefined;
16
+ "onStart-upload"?: ((files: File[]) => any) | undefined;
17
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
18
+ export default _default;
19
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
20
+ type __VLS_TypePropsToRuntimeProps<T> = {
21
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
22
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
23
+ } : {
24
+ type: import('vue').PropType<T[K]>;
25
+ required: true;
26
+ };
27
+ };
@@ -0,0 +1,80 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ modelValue: {
3
+ type: StringConstructor;
4
+ required: true;
5
+ };
6
+ label: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ placeholder: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
14
+ error: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ disabled: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ required: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ maxlength: {
27
+ type: NumberConstructor;
28
+ default: undefined;
29
+ };
30
+ rows: {
31
+ type: NumberConstructor;
32
+ default: number;
33
+ };
34
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
35
+ "update:modelValue": (...args: any[]) => void;
36
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
37
+ modelValue: {
38
+ type: StringConstructor;
39
+ required: true;
40
+ };
41
+ label: {
42
+ type: StringConstructor;
43
+ default: string;
44
+ };
45
+ placeholder: {
46
+ type: StringConstructor;
47
+ default: string;
48
+ };
49
+ error: {
50
+ type: StringConstructor;
51
+ default: string;
52
+ };
53
+ disabled: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
57
+ required: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
61
+ maxlength: {
62
+ type: NumberConstructor;
63
+ default: undefined;
64
+ };
65
+ rows: {
66
+ type: NumberConstructor;
67
+ default: number;
68
+ };
69
+ }>> & Readonly<{
70
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
71
+ }>, {
72
+ error: string;
73
+ disabled: boolean;
74
+ label: string;
75
+ placeholder: string;
76
+ required: boolean;
77
+ maxlength: number;
78
+ rows: number;
79
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
80
+ export default _default;
@@ -0,0 +1,57 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
2
+ modelValue: string;
3
+ label?: string | undefined;
4
+ type?: string | undefined;
5
+ icon?: string | undefined;
6
+ placeholder?: string | undefined;
7
+ required?: boolean | undefined;
8
+ disabled?: boolean | undefined;
9
+ error?: string | undefined;
10
+ success?: string | undefined;
11
+ labelPosition?: "top" | "left" | undefined;
12
+ labelAlign?: "left" | "right" | "center" | undefined;
13
+ totalWidth?: string | undefined;
14
+ inputWidth?: string | undefined;
15
+ labelWidth?: string | undefined;
16
+ autosave?: ((value: string) => Promise<void>) | undefined;
17
+ isTextarea?: boolean | undefined;
18
+ maxHeight?: string | undefined;
19
+ height?: string | undefined;
20
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ "update:modelValue": (value: string) => void;
22
+ changed: () => void;
23
+ saved: () => void;
24
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
25
+ modelValue: string;
26
+ label?: string | undefined;
27
+ type?: string | undefined;
28
+ icon?: string | undefined;
29
+ placeholder?: string | undefined;
30
+ required?: boolean | undefined;
31
+ disabled?: boolean | undefined;
32
+ error?: string | undefined;
33
+ success?: string | undefined;
34
+ labelPosition?: "top" | "left" | undefined;
35
+ labelAlign?: "left" | "right" | "center" | undefined;
36
+ totalWidth?: string | undefined;
37
+ inputWidth?: string | undefined;
38
+ labelWidth?: string | undefined;
39
+ autosave?: ((value: string) => Promise<void>) | undefined;
40
+ isTextarea?: boolean | undefined;
41
+ maxHeight?: string | undefined;
42
+ height?: string | undefined;
43
+ }>>> & Readonly<{
44
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
45
+ onChanged?: (() => any) | undefined;
46
+ onSaved?: (() => any) | undefined;
47
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
48
+ export default _default;
49
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
50
+ type __VLS_TypePropsToRuntimeProps<T> = {
51
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
52
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
53
+ } : {
54
+ type: import('vue').PropType<T[K]>;
55
+ required: true;
56
+ };
57
+ };
@@ -0,0 +1,6 @@
1
+ import { default as TextInput } from './components/TextInput';
2
+ import { default as TextAreaInput } from './components/TextAreaInput';
3
+ import { default as FileUpload } from './components/FileUpload';
4
+
5
+ export { TextInput, TextAreaInput, FileUpload };
6
+ export * from './types';
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,2 @@
1
+ declare const router: import('vue-router').Router;
2
+ export default router;
@@ -0,0 +1,44 @@
1
+ import { Component } from 'vue';
2
+
3
+ export interface TextInputProps {
4
+ modelValue: string;
5
+ label?: string;
6
+ placeholder?: string;
7
+ error?: string;
8
+ disabled?: boolean;
9
+ required?: boolean;
10
+ maxlength?: number;
11
+ }
12
+ export interface TextAreaInputProps {
13
+ modelValue: string;
14
+ label?: string;
15
+ placeholder?: string;
16
+ error?: string;
17
+ disabled?: boolean;
18
+ required?: boolean;
19
+ maxlength?: number;
20
+ rows?: number;
21
+ }
22
+ export interface FileUploadProps {
23
+ modelValue: File[];
24
+ label?: string;
25
+ placeholder?: string;
26
+ error?: string;
27
+ disabled?: boolean;
28
+ required?: boolean;
29
+ multiple?: boolean;
30
+ accept?: string;
31
+ maxSize?: number;
32
+ uploadUrl?: string;
33
+ }
34
+ export interface FileUploadEmits {
35
+ (e: 'update:modelValue', files: File[]): void;
36
+ (e: 'files-selected', files: File[]): void;
37
+ (e: 'start-upload', files: File[]): void;
38
+ (e: 'upload-progress', progress: number): void;
39
+ (e: 'upload-success', response: any): void;
40
+ (e: 'upload-error', error: Error): void;
41
+ }
42
+ export type TextInputComponent = Component<TextInputProps>;
43
+ export type TextAreaInputComponent = Component<TextAreaInputProps>;
44
+ export type FileUploadComponent = Component<FileUploadProps>;
@@ -1 +1 @@
1
- .text-input[data-v-cc2497d0]{display:grid;gap:.5rem;width:100%;margin-top:.7rem}.text-input.label-top[data-v-cc2497d0]{grid-template-rows:auto 1fr}.text-input.label-left[data-v-cc2497d0]{grid-template-columns:30% 1fr;align-items:start;gap:1rem}.text-input.label-left .label[data-v-cc2497d0]{padding-top:.75rem;width:100%}.label[data-v-cc2497d0]{font-weight:500;color:var(--text-color);text-align:left}.label-align-left .label[data-v-cc2497d0]{text-align:left}.label-align-right .label[data-v-cc2497d0]{text-align:right}.label-align-center .label[data-v-cc2497d0]{text-align:center}.required[data-v-cc2497d0]{color:var(--danger-color);margin-left:.25rem}.input-wrapper[data-v-cc2497d0]{position:relative;display:grid;grid-template-columns:1fr;border:1px solid var(--border-color);border-radius:.5rem;transition:all .2s ease;width:100%;min-height:2rem;background:var(--input-bg-color)}.input-wrapper.has-icon[data-v-cc2497d0]{grid-template-columns:auto 1fr}.input-wrapper[data-v-cc2497d0]:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow-color)}.input-wrapper.has-error[data-v-cc2497d0]{border-color:var(--danger-color);border-bottom-left-radius:0;border-bottom-right-radius:0}.icon-wrapper[data-v-cc2497d0]{display:grid;place-items:start;padding:1rem;border-right:1px solid var(--border-color);cursor:pointer;overflow:hidden}.icon-wrapper[data-v-cc2497d0]:hover{background-color:var(--input-bg-hover)}.icon[data-v-cc2497d0]{color:var(--text-muted);font-size:1rem}.input[data-v-cc2497d0]{padding:.75rem 1rem;border:none;outline:none;font-size:1rem;color:var(--text-color);background:transparent;width:100%;line-height:var(--line-height)}.input[data-v-cc2497d0]::placeholder{color:var(--text-muted)}.input[data-v-cc2497d0]:disabled{background-color:var(--input-bg-disabled);cursor:not-allowed}.message[data-v-cc2497d0]{position:absolute;bottom:-1.5rem;left:0;font-size:.75rem;white-space:nowrap}.error-message[data-v-cc2497d0]{position:absolute;bottom:0;left:0;right:0;padding:.25rem .75rem;background-color:var(--danger-color);color:#fff;font-size:.75rem;border-radius:0 0 .5rem .5rem;transform:translateY(100%);transition:transform .2s ease;line-height:var(--line-height);z-index:1}.success-message[data-v-cc2497d0]{position:absolute;bottom:-1.5rem;left:0;color:var(--success-color);font-size:.75rem;line-height:var(--line-height)}.status-indicator[data-v-cc2497d0]{position:absolute;top:-.1rem;right:.5rem;font-size:.75rem;color:var(--text-muted);line-height:0px;background-color:var(--input-bg-color);padding:0 .25rem}.saved-indicator[data-v-cc2497d0]{color:var(--success-color)}.changed-indicator[data-v-cc2497d0]{color:var(--warning-color)}.fade-enter-active[data-v-cc2497d0],.fade-leave-active[data-v-cc2497d0]{transition:opacity .2s ease}.fade-enter-from[data-v-cc2497d0],.fade-leave-to[data-v-cc2497d0]{opacity:0}textarea[data-v-cc2497d0]{min-height:var(--textarea-height, 5.5rem);max-height:var(--max-textarea-height, 14rem);overflow-y:auto;resize:none}.file-upload[data-v-75b2aeea]{width:100%;max-width:600px;margin:0 auto}.upload-area[data-v-75b2aeea]{border:2px dashed var(--upload-border-color);border-radius:.75rem;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:var(--upload-bg-color)}.upload-area.is-dragging[data-v-75b2aeea]{border-color:var(--upload-dragging-border-color);background-color:var(--upload-dragging-bg-color)}.upload-area.has-files[data-v-75b2aeea]{border-color:var(--upload-has-files-border-color);background-color:var(--upload-has-files-bg-color)}.file-input[data-v-75b2aeea]{display:none}.upload-content[data-v-75b2aeea]{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-content[data-v-75b2aeea] svg{font-size:2rem;color:var(--upload-icon-color)}.selected-files[data-v-75b2aeea]{width:100%;text-align:left;max-height:200px;overflow-y:auto;font-size:.75rem;color:var(--upload-text-color)}.file-info[data-v-75b2aeea]{display:flex;justify-content:space-between;align-items:center;padding:.125rem 0;border-radius:.25rem;gap:.5rem;font-size:.75rem}.file-name[data-v-75b2aeea]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.file-size[data-v-75b2aeea]{font-size:.7rem;flex-shrink:0}.error-message[data-v-75b2aeea]{color:var(--error-text-color);margin-top:1rem;font-size:.875rem}.progress-bar[data-v-75b2aeea]{height:.5rem;background-color:var(--progress-bg-color);border-radius:.25rem;margin-top:1rem;overflow:hidden}.progress[data-v-75b2aeea]{height:100%;background-color:var(--progress-color);transition:width .3s ease}.status-message[data-v-75b2aeea]{margin-top:1rem;padding:.5rem;border-radius:.25rem;font-size:.875rem}.status-message.success[data-v-75b2aeea]{background-color:var(--success-bg-color);color:var(--success-text-color)}.status-message.error[data-v-75b2aeea]{background-color:var(--error-bg-color);color:var(--error-text-color)}.upload-button[data-v-75b2aeea]{margin-top:1rem;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:background-color .3s ease}.upload-button[data-v-75b2aeea]:hover{background-color:var(--primary-color-light)}
1
+ .text-input[data-v-cc2497d0]{display:grid;gap:.5rem;width:100%;margin-top:.7rem}.text-input.label-top[data-v-cc2497d0]{grid-template-rows:auto 1fr}.text-input.label-left[data-v-cc2497d0]{grid-template-columns:30% 1fr;align-items:start;gap:1rem}.text-input.label-left .label[data-v-cc2497d0]{padding-top:.75rem;width:100%}.label[data-v-cc2497d0]{font-weight:500;color:var(--text-color);text-align:left}.label-align-left .label[data-v-cc2497d0]{text-align:left}.label-align-right .label[data-v-cc2497d0]{text-align:right}.label-align-center .label[data-v-cc2497d0]{text-align:center}.required[data-v-cc2497d0]{color:var(--danger-color);margin-left:.25rem}.input-wrapper[data-v-cc2497d0]{position:relative;display:grid;grid-template-columns:1fr;border:1px solid var(--border-color);border-radius:.5rem;transition:all .2s ease;width:100%;min-height:2rem;background:var(--input-bg-color)}.input-wrapper.has-icon[data-v-cc2497d0]{grid-template-columns:auto 1fr}.input-wrapper[data-v-cc2497d0]:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow-color)}.input-wrapper.has-error[data-v-cc2497d0]{border-color:var(--danger-color);border-bottom-left-radius:0;border-bottom-right-radius:0}.icon-wrapper[data-v-cc2497d0]{display:grid;place-items:start;padding:1rem;border-right:1px solid var(--border-color);cursor:pointer;overflow:hidden}.icon-wrapper[data-v-cc2497d0]:hover{background-color:var(--input-bg-hover)}.icon[data-v-cc2497d0]{color:var(--text-muted);font-size:1rem}.input[data-v-cc2497d0]{padding:.75rem 1rem;border:none;outline:none;font-size:1rem;color:var(--text-color);background:transparent;width:100%;line-height:var(--line-height)}.input[data-v-cc2497d0]::placeholder{color:var(--text-muted)}.input[data-v-cc2497d0]:disabled{background-color:var(--input-bg-disabled);cursor:not-allowed}.message[data-v-cc2497d0]{position:absolute;bottom:-1.5rem;left:0;font-size:.75rem;white-space:nowrap}.error-message[data-v-cc2497d0]{position:absolute;bottom:0;left:0;right:0;padding:.25rem .75rem;background-color:var(--danger-color);color:#fff;font-size:.75rem;border-radius:0 0 .5rem .5rem;transform:translateY(100%);transition:transform .2s ease;line-height:var(--line-height);z-index:1}.success-message[data-v-cc2497d0]{position:absolute;bottom:-1.5rem;left:0;color:var(--success-color);font-size:.75rem;line-height:var(--line-height)}.status-indicator[data-v-cc2497d0]{position:absolute;top:-.1rem;right:.5rem;font-size:.75rem;color:var(--text-muted);line-height:0px;background-color:var(--input-bg-color);padding:0 .25rem}.saved-indicator[data-v-cc2497d0]{color:var(--success-color)}.changed-indicator[data-v-cc2497d0]{color:var(--warning-color)}.fade-enter-active[data-v-cc2497d0],.fade-leave-active[data-v-cc2497d0]{transition:opacity .2s ease}.fade-enter-from[data-v-cc2497d0],.fade-leave-to[data-v-cc2497d0]{opacity:0}textarea[data-v-cc2497d0]{min-height:var(--textarea-height, 5.5rem);max-height:var(--max-textarea-height, 14rem);overflow-y:auto;resize:none}.text-area-input[data-v-2e843729]{display:flex;flex-direction:column;gap:.5rem;width:100%}label[data-v-2e843729]{font-size:.875rem;font-weight:500;color:var(--text-color)}label.required[data-v-2e843729]:after{content:"*";color:var(--error-color);margin-left:.25rem}textarea[data-v-2e843729]{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;line-height:1.5;color:var(--text-color);background-color:var(--bg-color);transition:border-color .2s ease-in-out;resize:vertical;min-height:2.5rem}textarea[data-v-2e843729]:focus{outline:none;border-color:var(--primary-color)}textarea[data-v-2e843729]:disabled{background-color:var(--disabled-bg-color);cursor:not-allowed}textarea.error[data-v-2e843729]{border-color:var(--error-color)}.error-message[data-v-2e843729]{font-size:.75rem;color:var(--error-color)}.file-upload[data-v-75b2aeea]{width:100%;max-width:600px;margin:0 auto}.upload-area[data-v-75b2aeea]{border:2px dashed var(--upload-border-color);border-radius:.75rem;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:var(--upload-bg-color)}.upload-area.is-dragging[data-v-75b2aeea]{border-color:var(--upload-dragging-border-color);background-color:var(--upload-dragging-bg-color)}.upload-area.has-files[data-v-75b2aeea]{border-color:var(--upload-has-files-border-color);background-color:var(--upload-has-files-bg-color)}.file-input[data-v-75b2aeea]{display:none}.upload-content[data-v-75b2aeea]{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-content[data-v-75b2aeea] svg{font-size:2rem;color:var(--upload-icon-color)}.selected-files[data-v-75b2aeea]{width:100%;text-align:left;max-height:200px;overflow-y:auto;font-size:.75rem;color:var(--upload-text-color)}.file-info[data-v-75b2aeea]{display:flex;justify-content:space-between;align-items:center;padding:.125rem 0;border-radius:.25rem;gap:.5rem;font-size:.75rem}.file-name[data-v-75b2aeea]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.file-size[data-v-75b2aeea]{font-size:.7rem;flex-shrink:0}.error-message[data-v-75b2aeea]{color:var(--error-text-color);margin-top:1rem;font-size:.875rem}.progress-bar[data-v-75b2aeea]{height:.5rem;background-color:var(--progress-bg-color);border-radius:.25rem;margin-top:1rem;overflow:hidden}.progress[data-v-75b2aeea]{height:100%;background-color:var(--progress-color);transition:width .3s ease}.status-message[data-v-75b2aeea]{margin-top:1rem;padding:.5rem;border-radius:.25rem;font-size:.875rem}.status-message.success[data-v-75b2aeea]{background-color:var(--success-bg-color);color:var(--success-text-color)}.status-message.error[data-v-75b2aeea]{background-color:var(--error-bg-color);color:var(--error-text-color)}.upload-button[data-v-75b2aeea]{margin-top:1rem;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:background-color .3s ease}.upload-button[data-v-75b2aeea]:hover{background-color:var(--primary-color-light)}