sprintify-ui 0.0.10 → 0.0.12
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/sprintify-ui.es.js +5174 -6624
- package/dist/style.css +1 -1
- package/dist/tailwindcss/index.js +23 -0
- package/dist/types/src/components/BaseAutocomplete.vue.d.ts +0 -1
- package/dist/types/src/components/BaseAutocompleteFetch.vue.d.ts +0 -1
- package/dist/types/src/components/BaseBelongsTo.vue.d.ts +13 -3
- package/dist/types/src/components/BaseCharacterCounter.vue.d.ts +143 -0
- package/dist/types/src/components/BaseDataTable.vue.d.ts +95 -64
- package/dist/types/src/components/BaseDialog.vue.d.ts +8 -8
- package/dist/types/src/components/BaseFilePicker.vue.d.ts +3 -3
- package/dist/types/src/components/BaseInput.vue.d.ts +39 -5
- package/dist/types/src/components/BaseLoadingCover.vue.d.ts +84 -12
- package/dist/types/src/components/BaseMenuItem.vue.d.ts +4 -4
- package/dist/types/src/components/BaseModalCenter.vue.d.ts +8 -8
- package/dist/types/src/components/BaseModalSide.vue.d.ts +8 -8
- package/dist/types/src/components/BaseNavbarItemContent.vue.d.ts +4 -4
- package/dist/types/src/components/BasePagination.vue.d.ts +105 -13
- package/dist/types/src/components/BasePaginationSimple.vue.d.ts +2 -2
- package/dist/types/src/components/BaseSelect.vue.d.ts +130 -26
- package/dist/types/src/components/BaseSwitch.vue.d.ts +15 -8
- package/dist/types/src/components/BaseTabItem.vue.d.ts +26 -4
- package/dist/types/src/components/BaseTableColumn.vue.d.ts +4 -4
- package/dist/types/src/components/BaseTextareaAutoresize.vue.d.ts +175 -21
- package/dist/types/src/components/index.d.ts +24 -1
- package/dist/types/src/index.d.ts +4 -0
- package/dist/types/src/svg/BaseEmptyState.vue.d.ts +2 -0
- package/dist/types/src/{components/BaseSpinner.vue.d.ts → svg/BaseSpinnerLarge.vue.d.ts} +0 -0
- package/dist/types/src/svg/BaseSpinnerSmall.vue.d.ts +44 -0
- package/dist/types/src/types/types.d.ts +1 -1
- package/package.json +4 -2
- package/src/components/BaseAutocomplete.stories.js +7 -4
- package/src/components/BaseAutocomplete.vue +44 -15
- package/src/components/BaseAutocompleteFetch.stories.js +6 -3
- package/src/components/BaseAutocompleteFetch.vue +8 -3
- package/src/components/BaseBelongsTo.stories.js +9 -4
- package/src/components/BaseBelongsTo.vue +1 -0
- package/src/components/BaseCard.vue +1 -1
- package/src/components/BaseCharacterCounter.stories.js +30 -0
- package/src/components/BaseCharacterCounter.vue +60 -0
- package/src/components/BaseDataIterator.stories.js +102 -3
- package/src/components/BaseDataIterator.vue +75 -49
- package/src/components/BaseDataTable.stories.js +149 -2
- package/src/components/BaseDataTable.vue +34 -28
- package/src/components/BaseDataTableToggleColumns.vue +1 -1
- package/src/components/BaseDateSelect.vue +6 -2
- package/src/components/BaseDescriptionListItem.vue +40 -4
- package/src/components/BaseDialog.stories.js +51 -0
- package/src/components/BaseDialog.vue +13 -7
- package/src/components/BaseFilePicker.stories.js +51 -0
- package/src/components/BaseFilePicker.vue +6 -6
- package/src/components/BaseFileUploader.stories.js +80 -0
- package/src/components/BaseFileUploader.vue +16 -3
- package/src/components/BaseInput.stories.js +46 -0
- package/src/components/BaseInput.vue +10 -2
- package/src/components/BaseInputLabel.stories.js +31 -0
- package/src/components/BaseInputLabel.vue +1 -1
- package/src/components/BaseLoadingCover.stories.js +55 -0
- package/src/components/BaseLoadingCover.vue +27 -17
- package/src/components/BaseMenu.stories.js +125 -0
- package/src/components/BaseModalCenter.stories.js +61 -0
- package/src/components/BaseModalCenter.vue +2 -2
- package/src/components/BaseModalSide.stories.js +55 -0
- package/src/components/BaseModalSide.vue +2 -2
- package/src/components/BaseNavbar.stories.js +150 -0
- package/src/components/BaseNavbar.vue +3 -0
- package/src/components/BaseNavbarItem.vue +1 -0
- package/src/components/BaseNavbarItemContent.vue +3 -0
- package/src/components/BasePagination.stories.js +32 -0
- package/src/components/BasePagination.vue +126 -40
- package/src/components/BasePaginationSimple.vue +3 -3
- package/src/components/BasePanel.stories.js +56 -0
- package/src/components/BasePassword.stories.js +36 -0
- package/src/components/BasePassword.vue +11 -5
- package/src/components/BaseProcessRing.stories.js +27 -0
- package/src/components/BaseReadMore.stories.js +30 -0
- package/src/components/BaseReadMore.vue +1 -1
- package/src/components/BaseSelect.stories.js +67 -0
- package/src/components/BaseSelect.vue +144 -44
- package/src/components/BaseSideNavigation.stories.js +55 -0
- package/src/components/BaseSideNavigation.vue +7 -2
- package/src/components/BaseSideNavigationItem.vue +11 -3
- package/src/components/BaseSkeleton.stories.js +36 -0
- package/src/components/BaseSwitch.stories.js +101 -0
- package/src/components/BaseSwitch.vue +90 -12
- package/src/components/BaseSystemAlert.stories.js +63 -0
- package/src/components/BaseTabItem.vue +19 -6
- package/src/components/BaseTable.vue +42 -29
- package/src/components/BaseTableColumn.vue +2 -2
- package/src/components/BaseTabs.stories.js +54 -0
- package/src/components/BaseTabs.vue +3 -3
- package/src/components/BaseTextarea.stories.js +35 -0
- package/src/components/BaseTextarea.vue +1 -1
- package/src/components/BaseTextareaAutoresize.stories.js +49 -0
- package/src/components/BaseTextareaAutoresize.vue +83 -87
- package/src/components/index.ts +46 -0
- package/src/lang/en.json +1 -0
- package/src/lang/fr.json +1 -0
- package/src/svg/BaseEmptyState.vue +34 -0
- package/src/{components/BaseSpinner.vue → svg/BaseSpinnerLarge.vue} +0 -0
- package/src/svg/BaseSpinnerSmall.vue +9 -0
- package/src/types/types.ts +1 -1
- package/dist/types/src/components/BaseWordCount.vue.d.ts +0 -31
- package/src/components/BaseWordCount.vue +0 -36
|
@@ -1,4 +1,160 @@
|
|
|
1
|
-
declare const _default:
|
|
1
|
+
declare const _default: {
|
|
2
|
+
new (...args: any[]): {
|
|
3
|
+
$: import("vue").ComponentInternalInstance;
|
|
4
|
+
$data: {};
|
|
5
|
+
$props: Partial<{
|
|
6
|
+
modelValue: string;
|
|
7
|
+
placeholder: string;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
maxHeight: number;
|
|
10
|
+
submitOnEnter: boolean;
|
|
11
|
+
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
|
|
12
|
+
modelValue: {
|
|
13
|
+
default: string;
|
|
14
|
+
type: StringConstructor;
|
|
15
|
+
};
|
|
16
|
+
placeholder: {
|
|
17
|
+
default: string;
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
};
|
|
20
|
+
name: {
|
|
21
|
+
required: true;
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
};
|
|
24
|
+
maxHeight: {
|
|
25
|
+
default: number;
|
|
26
|
+
type: NumberConstructor;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Setting this to true will trigger the 'submit' event while pressing Enter.
|
|
30
|
+
* Users will be able to add a line break while pressing Shift + Enter.
|
|
31
|
+
*/
|
|
32
|
+
submitOnEnter: {
|
|
33
|
+
default: boolean;
|
|
34
|
+
type: BooleanConstructor;
|
|
35
|
+
};
|
|
36
|
+
disabled: {
|
|
37
|
+
default: boolean;
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
};
|
|
40
|
+
}>> & {
|
|
41
|
+
onFocus?: ((...args: any[]) => any) | undefined;
|
|
42
|
+
onInput?: ((...args: any[]) => any) | undefined;
|
|
43
|
+
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
44
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
45
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "modelValue" | "placeholder" | "disabled" | "maxHeight" | "submitOnEnter">;
|
|
46
|
+
$attrs: {
|
|
47
|
+
[x: string]: unknown;
|
|
48
|
+
};
|
|
49
|
+
$refs: {
|
|
50
|
+
[x: string]: unknown;
|
|
51
|
+
};
|
|
52
|
+
$slots: Readonly<{
|
|
53
|
+
[name: string]: import("vue").Slot | undefined;
|
|
54
|
+
}>;
|
|
55
|
+
$root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
|
56
|
+
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
|
57
|
+
$emit: (event: "input" | "submit" | "update:modelValue" | "focus", ...args: any[]) => void;
|
|
58
|
+
$el: any;
|
|
59
|
+
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
60
|
+
modelValue: {
|
|
61
|
+
default: string;
|
|
62
|
+
type: StringConstructor;
|
|
63
|
+
};
|
|
64
|
+
placeholder: {
|
|
65
|
+
default: string;
|
|
66
|
+
type: StringConstructor;
|
|
67
|
+
};
|
|
68
|
+
name: {
|
|
69
|
+
required: true;
|
|
70
|
+
type: StringConstructor;
|
|
71
|
+
};
|
|
72
|
+
maxHeight: {
|
|
73
|
+
default: number;
|
|
74
|
+
type: NumberConstructor;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Setting this to true will trigger the 'submit' event while pressing Enter.
|
|
78
|
+
* Users will be able to add a line break while pressing Shift + Enter.
|
|
79
|
+
*/
|
|
80
|
+
submitOnEnter: {
|
|
81
|
+
default: boolean;
|
|
82
|
+
type: BooleanConstructor;
|
|
83
|
+
};
|
|
84
|
+
disabled: {
|
|
85
|
+
default: boolean;
|
|
86
|
+
type: BooleanConstructor;
|
|
87
|
+
};
|
|
88
|
+
}>> & {
|
|
89
|
+
onFocus?: ((...args: any[]) => any) | undefined;
|
|
90
|
+
onInput?: ((...args: any[]) => any) | undefined;
|
|
91
|
+
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
92
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
93
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "submit" | "update:modelValue" | "focus")[], string, {
|
|
94
|
+
modelValue: string;
|
|
95
|
+
placeholder: string;
|
|
96
|
+
disabled: boolean;
|
|
97
|
+
maxHeight: number;
|
|
98
|
+
submitOnEnter: boolean;
|
|
99
|
+
}, {}, string> & {
|
|
100
|
+
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
101
|
+
created?: ((() => void) | (() => void)[]) | undefined;
|
|
102
|
+
beforeMount?: ((() => void) | (() => void)[]) | undefined;
|
|
103
|
+
mounted?: ((() => void) | (() => void)[]) | undefined;
|
|
104
|
+
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
|
|
105
|
+
updated?: ((() => void) | (() => void)[]) | undefined;
|
|
106
|
+
activated?: ((() => void) | (() => void)[]) | undefined;
|
|
107
|
+
deactivated?: ((() => void) | (() => void)[]) | undefined;
|
|
108
|
+
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
|
|
109
|
+
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
|
|
110
|
+
destroyed?: ((() => void) | (() => void)[]) | undefined;
|
|
111
|
+
unmounted?: ((() => void) | (() => void)[]) | undefined;
|
|
112
|
+
renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
|
|
113
|
+
renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
|
|
114
|
+
errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
|
|
115
|
+
};
|
|
116
|
+
$forceUpdate: () => void;
|
|
117
|
+
$nextTick: typeof import("vue").nextTick;
|
|
118
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
|
|
119
|
+
} & Readonly<import("vue").ExtractPropTypes<{
|
|
120
|
+
modelValue: {
|
|
121
|
+
default: string;
|
|
122
|
+
type: StringConstructor;
|
|
123
|
+
};
|
|
124
|
+
placeholder: {
|
|
125
|
+
default: string;
|
|
126
|
+
type: StringConstructor;
|
|
127
|
+
};
|
|
128
|
+
name: {
|
|
129
|
+
required: true;
|
|
130
|
+
type: StringConstructor;
|
|
131
|
+
};
|
|
132
|
+
maxHeight: {
|
|
133
|
+
default: number;
|
|
134
|
+
type: NumberConstructor;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Setting this to true will trigger the 'submit' event while pressing Enter.
|
|
138
|
+
* Users will be able to add a line break while pressing Shift + Enter.
|
|
139
|
+
*/
|
|
140
|
+
submitOnEnter: {
|
|
141
|
+
default: boolean;
|
|
142
|
+
type: BooleanConstructor;
|
|
143
|
+
};
|
|
144
|
+
disabled: {
|
|
145
|
+
default: boolean;
|
|
146
|
+
type: BooleanConstructor;
|
|
147
|
+
};
|
|
148
|
+
}>> & {
|
|
149
|
+
onFocus?: ((...args: any[]) => any) | undefined;
|
|
150
|
+
onInput?: ((...args: any[]) => any) | undefined;
|
|
151
|
+
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
152
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
153
|
+
} & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
|
|
154
|
+
__isFragment?: undefined;
|
|
155
|
+
__isTeleport?: undefined;
|
|
156
|
+
__isSuspense?: undefined;
|
|
157
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
2
158
|
modelValue: {
|
|
3
159
|
default: string;
|
|
4
160
|
type: StringConstructor;
|
|
@@ -11,34 +167,32 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
11
167
|
required: true;
|
|
12
168
|
type: StringConstructor;
|
|
13
169
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
onInput(e: any): void;
|
|
18
|
-
updateReplicatedValue(value: string): void;
|
|
19
|
-
onKeyDown(event: any): void;
|
|
20
|
-
onKeyUp(event: any): void;
|
|
21
|
-
onFocus(event: any): void;
|
|
22
|
-
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "submit" | "update:modelValue" | "focus")[], "input" | "submit" | "update:modelValue" | "focus", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
23
|
-
modelValue: {
|
|
24
|
-
default: string;
|
|
25
|
-
type: StringConstructor;
|
|
170
|
+
maxHeight: {
|
|
171
|
+
default: number;
|
|
172
|
+
type: NumberConstructor;
|
|
26
173
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
174
|
+
/**
|
|
175
|
+
* Setting this to true will trigger the 'submit' event while pressing Enter.
|
|
176
|
+
* Users will be able to add a line break while pressing Shift + Enter.
|
|
177
|
+
*/
|
|
178
|
+
submitOnEnter: {
|
|
179
|
+
default: boolean;
|
|
180
|
+
type: BooleanConstructor;
|
|
30
181
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
type:
|
|
182
|
+
disabled: {
|
|
183
|
+
default: boolean;
|
|
184
|
+
type: BooleanConstructor;
|
|
34
185
|
};
|
|
35
186
|
}>> & {
|
|
36
187
|
onFocus?: ((...args: any[]) => any) | undefined;
|
|
37
188
|
onInput?: ((...args: any[]) => any) | undefined;
|
|
38
189
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
39
190
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
40
|
-
}, {
|
|
191
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "submit" | "update:modelValue" | "focus")[], "input" | "submit" | "update:modelValue" | "focus", {
|
|
41
192
|
modelValue: string;
|
|
42
193
|
placeholder: string;
|
|
43
|
-
|
|
194
|
+
disabled: boolean;
|
|
195
|
+
maxHeight: number;
|
|
196
|
+
submitOnEnter: boolean;
|
|
197
|
+
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
|
|
44
198
|
export default _default;
|
|
@@ -25,9 +25,32 @@ import BaseDialog from './BaseDialog.vue';
|
|
|
25
25
|
import BaseFilePicker from './BaseFilePicker.vue';
|
|
26
26
|
import BaseFileUploader from './BaseFileUploader.vue';
|
|
27
27
|
import { Icon as BaseIcon } from '@iconify/vue';
|
|
28
|
+
import BaseInput from './BaseInput.vue';
|
|
29
|
+
import BaseInputLabel from './BaseInputLabel.vue';
|
|
28
30
|
import BaseLoadingCover from './BaseLoadingCover.vue';
|
|
29
31
|
import BaseMenu from './BaseMenu.vue';
|
|
30
32
|
import BaseMenuItem from './BaseMenuItem.vue';
|
|
33
|
+
import BaseModalCenter from './BaseModalCenter.vue';
|
|
34
|
+
import BaseModalSide from './BaseModalSide.vue';
|
|
35
|
+
import BaseNavbar from './BaseNavbar.vue';
|
|
36
|
+
import BaseNavbarItem from './BaseNavbarItem.vue';
|
|
37
|
+
import BaseNavbarItemContent from './BaseNavbarItemContent.vue';
|
|
38
|
+
import BasePagination from './BasePagination.vue';
|
|
39
|
+
import BasePanel from './BasePanel.vue';
|
|
40
|
+
import BasePassword from './BasePassword.vue';
|
|
41
|
+
import BaseProcessRing from './BaseProcessRing.vue';
|
|
42
|
+
import BaseReadMore from './BaseReadMore.vue';
|
|
43
|
+
import BaseSelect from './BaseSelect.vue';
|
|
44
|
+
import BaseSideNavigation from './BaseSideNavigation.vue';
|
|
45
|
+
import BaseSideNavigationItem from './BaseSideNavigationItem.vue';
|
|
46
|
+
import BaseSkeleton from './BaseSkeleton.vue';
|
|
47
|
+
import BaseSwitch from './BaseSwitch.vue';
|
|
48
|
+
import BaseSystemAlert from './BaseSystemAlert.vue';
|
|
49
|
+
import BaseTextarea from './BaseTextarea.vue';
|
|
50
|
+
import BaseTextareaAutoresize from './BaseTextareaAutoresize.vue';
|
|
51
|
+
import BaseCharacterCounter from './BaseCharacterCounter.vue';
|
|
52
|
+
import BaseTabs from './BaseTabs.vue';
|
|
53
|
+
import BaseTabItem from './BaseTabItem.vue';
|
|
31
54
|
import BaseTable from './BaseTable.vue';
|
|
32
55
|
import BaseTableColumn from './BaseTableColumn.vue';
|
|
33
|
-
export { BaseAlert, BaseApp, BaseAppDialogs, BaseAppNotifications, BaseAutocomplete, BaseAutocompleteFetch, BaseAvatar, BaseBadge, BaseBelongsTo, BaseBoolean, BaseBreadcrumbs, BaseButton, BaseCard, BaseCardRow, BaseClipboard, BaseContainer, BaseCounter, BaseDataIterator, BaseDataTable, BaseDatePicker, BaseDateSelect, BaseDescriptionList, BaseDescriptionListItem, BaseDialog, BaseFilePicker, BaseFileUploader, BaseIcon, BaseLoadingCover, BaseMenu, BaseMenuItem, BaseTable, BaseTableColumn, };
|
|
56
|
+
export { BaseAlert, BaseApp, BaseAppDialogs, BaseAppNotifications, BaseAutocomplete, BaseAutocompleteFetch, BaseAvatar, BaseBadge, BaseBelongsTo, BaseBoolean, BaseBreadcrumbs, BaseButton, BaseCard, BaseCardRow, BaseClipboard, BaseContainer, BaseCounter, BaseDataIterator, BaseDataTable, BaseDatePicker, BaseDateSelect, BaseDescriptionList, BaseDescriptionListItem, BaseDialog, BaseFilePicker, BaseFileUploader, BaseIcon, BaseInput, BaseInputLabel, BaseLoadingCover, BaseMenu, BaseMenuItem, BaseModalCenter, BaseModalSide, BaseNavbar, BaseNavbarItem, BaseNavbarItemContent, BasePagination, BasePanel, BasePassword, BaseProcessRing, BaseReadMore, BaseSelect, BaseSideNavigation, BaseSideNavigationItem, BaseSkeleton, BaseSwitch, BaseSystemAlert, BaseTextarea, BaseTextareaAutoresize, BaseCharacterCounter, BaseTabs, BaseTabItem, BaseTable, BaseTableColumn, };
|
|
@@ -30,6 +30,7 @@ declare const messages: {
|
|
|
30
30
|
month: string;
|
|
31
31
|
next: string;
|
|
32
32
|
next_month: string;
|
|
33
|
+
none: string;
|
|
33
34
|
nothing_found: string;
|
|
34
35
|
or: string;
|
|
35
36
|
pagination_detail: string;
|
|
@@ -87,6 +88,7 @@ declare const messages: {
|
|
|
87
88
|
month: string;
|
|
88
89
|
next: string;
|
|
89
90
|
next_month: string;
|
|
91
|
+
none: string;
|
|
90
92
|
nothing_found: string;
|
|
91
93
|
or: string;
|
|
92
94
|
pagination_detail: string;
|
|
@@ -155,6 +157,7 @@ declare const config: {
|
|
|
155
157
|
month: string;
|
|
156
158
|
next: string;
|
|
157
159
|
next_month: string;
|
|
160
|
+
none: string;
|
|
158
161
|
nothing_found: string;
|
|
159
162
|
or: string;
|
|
160
163
|
pagination_detail: string;
|
|
@@ -212,6 +215,7 @@ declare const config: {
|
|
|
212
215
|
month: string;
|
|
213
216
|
next: string;
|
|
214
217
|
next_month: string;
|
|
218
|
+
none: string;
|
|
215
219
|
nothing_found: string;
|
|
216
220
|
or: string;
|
|
217
221
|
pagination_detail: string;
|
|
File without changes
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
new (...args: any[]): {
|
|
3
|
+
$: import("vue").ComponentInternalInstance;
|
|
4
|
+
$data: {};
|
|
5
|
+
$props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<{}>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>;
|
|
6
|
+
$attrs: {
|
|
7
|
+
[x: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
$refs: {
|
|
10
|
+
[x: string]: unknown;
|
|
11
|
+
};
|
|
12
|
+
$slots: Readonly<{
|
|
13
|
+
[name: string]: import("vue").Slot | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
$root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
|
16
|
+
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
|
17
|
+
$emit: (event: string, ...args: any[]) => void;
|
|
18
|
+
$el: any;
|
|
19
|
+
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string> & {
|
|
20
|
+
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
21
|
+
created?: ((() => void) | (() => void)[]) | undefined;
|
|
22
|
+
beforeMount?: ((() => void) | (() => void)[]) | undefined;
|
|
23
|
+
mounted?: ((() => void) | (() => void)[]) | undefined;
|
|
24
|
+
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
|
|
25
|
+
updated?: ((() => void) | (() => void)[]) | undefined;
|
|
26
|
+
activated?: ((() => void) | (() => void)[]) | undefined;
|
|
27
|
+
deactivated?: ((() => void) | (() => void)[]) | undefined;
|
|
28
|
+
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
|
|
29
|
+
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
|
|
30
|
+
destroyed?: ((() => void) | (() => void)[]) | undefined;
|
|
31
|
+
unmounted?: ((() => void) | (() => void)[]) | undefined;
|
|
32
|
+
renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
|
|
33
|
+
renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
|
|
34
|
+
errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
|
|
35
|
+
};
|
|
36
|
+
$forceUpdate: () => void;
|
|
37
|
+
$nextTick: typeof import("vue").nextTick;
|
|
38
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
|
|
39
|
+
} & Readonly<import("vue").ExtractPropTypes<{}>> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
|
|
40
|
+
__isFragment?: undefined;
|
|
41
|
+
__isTeleport?: undefined;
|
|
42
|
+
__isSuspense?: undefined;
|
|
43
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
|
|
44
|
+
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sprintify-ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "rimraf dist && vue-tsc && vite build",
|
|
6
6
|
"docs:dev": "vitepress dev docs",
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"tailwindcss": "^3.0.0",
|
|
24
24
|
"vue": "^3.0.0",
|
|
25
25
|
"vue-i18n": "^9.0.0",
|
|
26
|
-
"vue-router": "^4.0.0"
|
|
26
|
+
"vue-router": "^4.0.0",
|
|
27
|
+
"pikaday": "^1.8.2"
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
30
|
"@headlessui/vue": "^1.7.4"
|
|
@@ -72,6 +73,7 @@
|
|
|
72
73
|
"prettier-plugin-tailwindcss": "^0.1.13",
|
|
73
74
|
"qs": "^6.11.0",
|
|
74
75
|
"rimraf": "^3.0.2",
|
|
76
|
+
"rollup-plugin-analyzer": "^4.0.0",
|
|
75
77
|
"scroll-lock": "^2.1.5",
|
|
76
78
|
"tailwindcss": "^3.2.4",
|
|
77
79
|
"typescript": "^4.4.4",
|
|
@@ -87,16 +87,19 @@ export const SlotFooter = (args) => {
|
|
|
87
87
|
components: { BaseAutocomplete },
|
|
88
88
|
setup() {
|
|
89
89
|
const value = ref(null);
|
|
90
|
-
|
|
90
|
+
function onClick() {
|
|
91
|
+
alert(1);
|
|
92
|
+
}
|
|
93
|
+
return { args, value, onClick };
|
|
91
94
|
},
|
|
92
95
|
template: `
|
|
93
96
|
<BaseAutocomplete
|
|
94
97
|
v-model="value"
|
|
95
|
-
v-bind="args"
|
|
98
|
+
v-bind="args"
|
|
96
99
|
>
|
|
97
100
|
<template #footer>
|
|
98
|
-
<div class="text-center p-
|
|
99
|
-
<button class="btn btn-sm w-full btn-slate-200-outline">This is the footer 💯</button>
|
|
101
|
+
<div class="text-center p-2 border-t">
|
|
102
|
+
<button @click=onClick class="btn btn-sm w-full btn-slate-200-outline">This is the footer 💯</button>
|
|
100
103
|
</div>
|
|
101
104
|
</template>
|
|
102
105
|
</BaseAutocomplete>
|
|
@@ -50,7 +50,10 @@
|
|
|
50
50
|
v-show="showDropdown"
|
|
51
51
|
class="absolute top-1 z-[1] min-h-[110px] w-full overflow-hidden rounded border border-slate-300 bg-white shadow-md"
|
|
52
52
|
>
|
|
53
|
-
<div
|
|
53
|
+
<div
|
|
54
|
+
ref="dropdown"
|
|
55
|
+
class="max-h-[214px] min-h-[75px] w-full overflow-y-auto"
|
|
56
|
+
>
|
|
54
57
|
<slot v-if="filteredNormalizedOptions.length == 0" name="empty">
|
|
55
58
|
<div
|
|
56
59
|
class="flex items-center justify-center px-5 py-10 text-center text-slate-600"
|
|
@@ -59,7 +62,7 @@
|
|
|
59
62
|
</div>
|
|
60
63
|
</slot>
|
|
61
64
|
|
|
62
|
-
<ul v-else>
|
|
65
|
+
<ul v-else class="p-1">
|
|
63
66
|
<li
|
|
64
67
|
v-for="option in filteredNormalizedOptions"
|
|
65
68
|
:key="option.value"
|
|
@@ -70,7 +73,7 @@
|
|
|
70
73
|
type="button"
|
|
71
74
|
tabindex="-1"
|
|
72
75
|
@click="onSelect(option)"
|
|
73
|
-
@mousedown="dontLooseFocus"
|
|
76
|
+
@mousedown.prevent="dontLooseFocus"
|
|
74
77
|
>
|
|
75
78
|
<slot
|
|
76
79
|
name="option"
|
|
@@ -91,12 +94,12 @@
|
|
|
91
94
|
</button>
|
|
92
95
|
</li>
|
|
93
96
|
</ul>
|
|
97
|
+
</div>
|
|
94
98
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
:
|
|
98
|
-
|
|
99
|
-
/>
|
|
99
|
+
<div ref="footer">
|
|
100
|
+
<div v-if="$slots.footer" class="bg-white">
|
|
101
|
+
<slot :options="filteredNormalizedOptions" name="footer" />
|
|
102
|
+
</div>
|
|
100
103
|
</div>
|
|
101
104
|
|
|
102
105
|
<Transition>
|
|
@@ -131,7 +134,7 @@ import {
|
|
|
131
134
|
Selection,
|
|
132
135
|
NormalizedSelection,
|
|
133
136
|
} from '@/types/types';
|
|
134
|
-
import { useInfiniteScroll } from '@vueuse/core';
|
|
137
|
+
import { useInfiniteScroll, useMutationObserver } from '@vueuse/core';
|
|
135
138
|
import BaseSkeleton from './BaseSkeleton.vue';
|
|
136
139
|
|
|
137
140
|
const props = defineProps({
|
|
@@ -198,7 +201,7 @@ onMounted(() => {
|
|
|
198
201
|
() => {
|
|
199
202
|
emit('scrollBottom');
|
|
200
203
|
},
|
|
201
|
-
{ distance:
|
|
204
|
+
{ distance: 60 }
|
|
202
205
|
);
|
|
203
206
|
});
|
|
204
207
|
|
|
@@ -255,12 +258,18 @@ const filteredNormalizedOptions = computed((): NormalizedOption[] => {
|
|
|
255
258
|
});
|
|
256
259
|
});
|
|
257
260
|
|
|
258
|
-
|
|
259
|
-
|
|
261
|
+
function preventUnfocus(elements: HTMLElement[]) {
|
|
262
|
+
elements.forEach((e) => {
|
|
263
|
+
e.removeEventListener('mousedown', dontLooseFocus);
|
|
264
|
+
});
|
|
265
|
+
elements.forEach((e) => {
|
|
266
|
+
e.addEventListener('mousedown', dontLooseFocus);
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
const dontLooseFocus = (event: Event) => {
|
|
260
271
|
inputElement.value?.focus();
|
|
261
|
-
|
|
262
|
-
next();
|
|
263
|
-
}
|
|
272
|
+
event.preventDefault();
|
|
264
273
|
};
|
|
265
274
|
|
|
266
275
|
const onTextFocus = () => {
|
|
@@ -373,4 +382,24 @@ const setKeywords = (input: string) => {
|
|
|
373
382
|
keywords.value = input;
|
|
374
383
|
emit('typing', input);
|
|
375
384
|
};
|
|
385
|
+
|
|
386
|
+
const footer = ref(null) as Ref<HTMLDivElement | null>;
|
|
387
|
+
|
|
388
|
+
function preventUnfocusOnFooter() {
|
|
389
|
+
const elements = (footer.value?.querySelectorAll('button, a') ??
|
|
390
|
+
[]) as HTMLElement[];
|
|
391
|
+
preventUnfocus(elements);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
onMounted(() => {
|
|
395
|
+
preventUnfocusOnFooter();
|
|
396
|
+
});
|
|
397
|
+
|
|
398
|
+
useMutationObserver(
|
|
399
|
+
footer,
|
|
400
|
+
() => {
|
|
401
|
+
preventUnfocusOnFooter();
|
|
402
|
+
},
|
|
403
|
+
{ attributes: false, childList: true }
|
|
404
|
+
);
|
|
376
405
|
</script>
|
|
@@ -79,7 +79,10 @@ export const SlotFooter = (args) => {
|
|
|
79
79
|
components: { BaseAutocompleteFetch },
|
|
80
80
|
setup() {
|
|
81
81
|
const value = ref(null);
|
|
82
|
-
|
|
82
|
+
function onClick() {
|
|
83
|
+
alert(1);
|
|
84
|
+
}
|
|
85
|
+
return { args, value, onClick };
|
|
83
86
|
},
|
|
84
87
|
template: `
|
|
85
88
|
<BaseAutocompleteFetch
|
|
@@ -87,8 +90,8 @@ export const SlotFooter = (args) => {
|
|
|
87
90
|
v-bind="args"
|
|
88
91
|
>
|
|
89
92
|
<template #footer>
|
|
90
|
-
<div class="text-center p-
|
|
91
|
-
<button class="btn btn-sm w-full btn-slate-200-outline">This is the footer 💯</button>
|
|
93
|
+
<div class="text-center p-2 border-t">
|
|
94
|
+
<button @click=onClick class="btn btn-sm w-full btn-slate-200-outline">This is the footer 💯</button>
|
|
92
95
|
</div>
|
|
93
96
|
</template>
|
|
94
97
|
</BaseAutocompleteFetch>
|
|
@@ -22,12 +22,17 @@
|
|
|
22
22
|
|
|
23
23
|
<template #footer="footerProps">
|
|
24
24
|
<slot name="footer" v-bind="footerProps" :keywords="keywords">
|
|
25
|
-
<div
|
|
25
|
+
<div
|
|
26
|
+
v-if="createNewUrl"
|
|
27
|
+
class="p-2"
|
|
28
|
+
:class="{
|
|
29
|
+
'border-t border-slate-300': footerProps.options.length > 0,
|
|
30
|
+
}"
|
|
31
|
+
>
|
|
26
32
|
<router-link
|
|
27
33
|
:to="createNewUrl"
|
|
28
34
|
target="_blank"
|
|
29
|
-
class="btn flex items-center justify-center
|
|
30
|
-
@mousedown="footerProps.dontLooseFocus"
|
|
35
|
+
class="btn btn-slate-200-outline flex items-center justify-center"
|
|
31
36
|
>
|
|
32
37
|
<BaseIcon
|
|
33
38
|
icon="heroicons-solid:plus"
|
|
@@ -40,10 +40,12 @@ export const Disabled = (args) => {
|
|
|
40
40
|
return {
|
|
41
41
|
components: { BaseBelongsTo },
|
|
42
42
|
setup() {
|
|
43
|
-
|
|
43
|
+
const value = ref(null);
|
|
44
|
+
return { args, value };
|
|
44
45
|
},
|
|
45
46
|
template: `<BaseBelongsTo
|
|
46
47
|
v-bind="args"
|
|
48
|
+
v-model="value"
|
|
47
49
|
:current-model="{title: 'Dark Vader', id: 1}"
|
|
48
50
|
:disabled="true"
|
|
49
51
|
></BaseBelongsTo>`,
|
|
@@ -88,7 +90,10 @@ export const SlotFooter = (args) => {
|
|
|
88
90
|
components: { BaseBelongsTo },
|
|
89
91
|
setup() {
|
|
90
92
|
const value = ref(null);
|
|
91
|
-
|
|
93
|
+
function onClick() {
|
|
94
|
+
alert(1);
|
|
95
|
+
}
|
|
96
|
+
return { args, value, onClick };
|
|
92
97
|
},
|
|
93
98
|
template: `
|
|
94
99
|
<BaseBelongsTo
|
|
@@ -96,8 +101,8 @@ export const SlotFooter = (args) => {
|
|
|
96
101
|
v-bind="args"
|
|
97
102
|
>
|
|
98
103
|
<template #footer>
|
|
99
|
-
<div class="text-center p-
|
|
100
|
-
<button class="btn btn-sm w-full btn-slate-200-outline">This is the footer 💯</button>
|
|
104
|
+
<div class="text-center p-2 border-t">
|
|
105
|
+
<button @click=onClick class="btn btn-sm w-full btn-slate-200-outline">This is the footer 💯</button>
|
|
101
106
|
</div>
|
|
102
107
|
</template>
|
|
103
108
|
</BaseBelongsTo>
|
|
@@ -29,6 +29,7 @@ import { PropType } from 'vue';
|
|
|
29
29
|
import { RouteLocationRaw } from 'vue-router';
|
|
30
30
|
import { AxiosResponse } from 'axios';
|
|
31
31
|
import { config } from '@/index';
|
|
32
|
+
import BaseAutocompleteFetch from './BaseAutocompleteFetch.vue';
|
|
32
33
|
|
|
33
34
|
const props = defineProps({
|
|
34
35
|
modelValue: {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import BaseCharacterCounter from './BaseCharacterCounter.vue';
|
|
2
|
+
import BaseInput from './BaseInput.vue';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Components/BaseCharacterCounter',
|
|
6
|
+
component: BaseCharacterCounter,
|
|
7
|
+
args: {
|
|
8
|
+
text: 'Test',
|
|
9
|
+
max: 100,
|
|
10
|
+
min: 10,
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const Template = (args) => ({
|
|
15
|
+
components: {
|
|
16
|
+
BaseCharacterCounter,
|
|
17
|
+
BaseInput,
|
|
18
|
+
},
|
|
19
|
+
setup() {
|
|
20
|
+
const text = ref('bla bla');
|
|
21
|
+
return { args, text };
|
|
22
|
+
},
|
|
23
|
+
template: `
|
|
24
|
+
<BaseInput v-model="text" name="test" class="w-full mb-1"></BaseInput>
|
|
25
|
+
<BaseCharacterCounter v-bind="args" :text="text" class="text-xs text-slate-500"></BaseCharacterCounter>
|
|
26
|
+
`,
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export const Demo = Template.bind({});
|
|
30
|
+
Demo.args = {};
|