@vuetify/nightly 4.0.0-dev-20230421.0 → 4.0.0-dev-20230426.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/CHANGELOG.md +3 -2
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +56 -4
- package/dist/json/importMap-labs.json +4 -0
- package/dist/json/importMap.json +40 -40
- package/dist/json/tags.json +18 -0
- package/dist/json/web-types.json +237 -10
- package/dist/vuetify-labs.css +1500 -1475
- package/dist/vuetify-labs.d.ts +343 -0
- package/dist/vuetify-labs.esm.js +221 -10
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +221 -10
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +9 -9
- package/dist/vuetify.d.ts +10 -10
- package/dist/vuetify.esm.js +15 -10
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +15 -10
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +719 -719
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VSlider/slider.mjs +2 -5
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs +2 -2
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +10 -10
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.css +26 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +215 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.sass +25 -0
- package/lib/labs/VInfiniteScroll/_variables.scss +3 -0
- package/lib/labs/VInfiniteScroll/index.d.ts +349 -0
- package/lib/labs/VInfiniteScroll/index.mjs +2 -0
- package/lib/labs/VInfiniteScroll/index.mjs.map +1 -0
- package/lib/labs/components.d.ts +343 -2
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/af.mjs +5 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +5 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +5 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +5 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +5 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +5 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +5 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +5 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +5 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +5 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +5 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +5 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +5 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +5 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +5 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +5 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +5 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +5 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +5 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.ts +168 -0
- package/lib/locale/it.mjs +5 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +5 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs +5 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +5 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +5 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +5 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +5 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +5 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +5 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +5 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +5 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +5 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +5 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +5 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +5 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +5 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +5 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +5 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +5 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +5 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +5 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +5 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.d.ts
CHANGED
@@ -66019,6 +66019,347 @@ declare const VDataTableFooter: {
|
|
66019
66019
|
showCurrentPage: BooleanConstructor;
|
66020
66020
|
}>>;
|
66021
66021
|
|
66022
|
+
type InfiniteScrollSide = 'start' | 'end' | 'both';
|
66023
|
+
type InfiniteScrollStatus = 'ok' | 'empty' | 'loading' | 'error';
|
66024
|
+
type InfiniteScrollSlot = {
|
66025
|
+
side: InfiniteScrollSide;
|
66026
|
+
props: {
|
66027
|
+
onClick: () => (side: InfiniteScrollSide) => void;
|
66028
|
+
color: string | undefined;
|
66029
|
+
};
|
66030
|
+
};
|
66031
|
+
declare const VInfiniteScroll: {
|
66032
|
+
new (...args: any[]): {
|
66033
|
+
$: vue.ComponentInternalInstance;
|
66034
|
+
$data: {};
|
66035
|
+
$props: Partial<{
|
66036
|
+
direction: "horizontal" | "vertical";
|
66037
|
+
mode: "manual" | "intersect";
|
66038
|
+
side: InfiniteScrollSide;
|
66039
|
+
loadMoreText: string;
|
66040
|
+
emptyText: string;
|
66041
|
+
}> & Omit<{
|
66042
|
+
direction: "horizontal" | "vertical";
|
66043
|
+
mode: "manual" | "intersect";
|
66044
|
+
side: InfiniteScrollSide;
|
66045
|
+
loadMoreText: string;
|
66046
|
+
emptyText: string;
|
66047
|
+
} & {
|
66048
|
+
height?: string | number | undefined;
|
66049
|
+
width?: string | number | undefined;
|
66050
|
+
color?: string | undefined;
|
66051
|
+
margin?: string | number | undefined;
|
66052
|
+
maxHeight?: string | number | undefined;
|
66053
|
+
maxWidth?: string | number | undefined;
|
66054
|
+
minHeight?: string | number | undefined;
|
66055
|
+
minWidth?: string | number | undefined;
|
66056
|
+
} & {
|
66057
|
+
$children?: {} | vue.VNodeChild | {
|
66058
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66059
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66060
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66061
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66062
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66063
|
+
};
|
66064
|
+
$slots?: {
|
66065
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66066
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66067
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66068
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66069
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66070
|
+
} | undefined;
|
66071
|
+
'v-slots'?: {
|
66072
|
+
default?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66073
|
+
loading?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66074
|
+
error?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66075
|
+
empty?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66076
|
+
'load-more'?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66077
|
+
} | undefined;
|
66078
|
+
} & {
|
66079
|
+
"v-slot:default"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66080
|
+
"v-slot:loading"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66081
|
+
"v-slot:error"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66082
|
+
"v-slot:empty"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66083
|
+
"v-slot:load-more"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66084
|
+
} & {
|
66085
|
+
onLoad?: ((options: {
|
66086
|
+
side: InfiniteScrollSide;
|
66087
|
+
done: (status: InfiniteScrollStatus) => void;
|
66088
|
+
}) => any) | undefined;
|
66089
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "direction" | "mode" | "side" | "loadMoreText" | "emptyText">;
|
66090
|
+
$attrs: {
|
66091
|
+
[x: string]: unknown;
|
66092
|
+
};
|
66093
|
+
$refs: {
|
66094
|
+
[x: string]: unknown;
|
66095
|
+
};
|
66096
|
+
$slots: Readonly<{
|
66097
|
+
[name: string]: vue.Slot | undefined;
|
66098
|
+
}>;
|
66099
|
+
$root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
66100
|
+
$parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
66101
|
+
$emit: (event: "load", options: {
|
66102
|
+
side: InfiniteScrollSide;
|
66103
|
+
done: (status: InfiniteScrollStatus) => void;
|
66104
|
+
}) => void;
|
66105
|
+
$el: any;
|
66106
|
+
$options: vue.ComponentOptionsBase<{
|
66107
|
+
direction: "horizontal" | "vertical";
|
66108
|
+
mode: "manual" | "intersect";
|
66109
|
+
side: InfiniteScrollSide;
|
66110
|
+
loadMoreText: string;
|
66111
|
+
emptyText: string;
|
66112
|
+
} & {
|
66113
|
+
height?: string | number | undefined;
|
66114
|
+
width?: string | number | undefined;
|
66115
|
+
color?: string | undefined;
|
66116
|
+
margin?: string | number | undefined;
|
66117
|
+
maxHeight?: string | number | undefined;
|
66118
|
+
maxWidth?: string | number | undefined;
|
66119
|
+
minHeight?: string | number | undefined;
|
66120
|
+
minWidth?: string | number | undefined;
|
66121
|
+
} & {
|
66122
|
+
$children?: {} | vue.VNodeChild | {
|
66123
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66124
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66125
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66126
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66127
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66128
|
+
};
|
66129
|
+
$slots?: {
|
66130
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66131
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66132
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66133
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66134
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66135
|
+
} | undefined;
|
66136
|
+
'v-slots'?: {
|
66137
|
+
default?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66138
|
+
loading?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66139
|
+
error?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66140
|
+
empty?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66141
|
+
'load-more'?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66142
|
+
} | undefined;
|
66143
|
+
} & {
|
66144
|
+
"v-slot:default"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66145
|
+
"v-slot:loading"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66146
|
+
"v-slot:error"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66147
|
+
"v-slot:empty"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66148
|
+
"v-slot:load-more"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66149
|
+
} & {
|
66150
|
+
onLoad?: ((options: {
|
66151
|
+
side: InfiniteScrollSide;
|
66152
|
+
done: (status: InfiniteScrollStatus) => void;
|
66153
|
+
}) => any) | undefined;
|
66154
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
66155
|
+
load: (options: {
|
66156
|
+
side: InfiniteScrollSide;
|
66157
|
+
done: (status: InfiniteScrollStatus) => void;
|
66158
|
+
}) => true;
|
66159
|
+
}, string, {
|
66160
|
+
direction: "horizontal" | "vertical";
|
66161
|
+
mode: "manual" | "intersect";
|
66162
|
+
side: InfiniteScrollSide;
|
66163
|
+
loadMoreText: string;
|
66164
|
+
emptyText: string;
|
66165
|
+
}, {}, string> & {
|
66166
|
+
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
66167
|
+
created?: ((() => void) | (() => void)[]) | undefined;
|
66168
|
+
beforeMount?: ((() => void) | (() => void)[]) | undefined;
|
66169
|
+
mounted?: ((() => void) | (() => void)[]) | undefined;
|
66170
|
+
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
|
66171
|
+
updated?: ((() => void) | (() => void)[]) | undefined;
|
66172
|
+
activated?: ((() => void) | (() => void)[]) | undefined;
|
66173
|
+
deactivated?: ((() => void) | (() => void)[]) | undefined;
|
66174
|
+
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
|
66175
|
+
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
|
66176
|
+
destroyed?: ((() => void) | (() => void)[]) | undefined;
|
66177
|
+
unmounted?: ((() => void) | (() => void)[]) | undefined;
|
66178
|
+
renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
|
66179
|
+
renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
|
66180
|
+
errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
|
66181
|
+
};
|
66182
|
+
$forceUpdate: () => void;
|
66183
|
+
$nextTick: typeof nextTick;
|
66184
|
+
$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?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
|
66185
|
+
} & {
|
66186
|
+
direction: "horizontal" | "vertical";
|
66187
|
+
mode: "manual" | "intersect";
|
66188
|
+
side: InfiniteScrollSide;
|
66189
|
+
loadMoreText: string;
|
66190
|
+
emptyText: string;
|
66191
|
+
} & {
|
66192
|
+
height?: string | number | undefined;
|
66193
|
+
width?: string | number | undefined;
|
66194
|
+
color?: string | undefined;
|
66195
|
+
margin?: string | number | undefined;
|
66196
|
+
maxHeight?: string | number | undefined;
|
66197
|
+
maxWidth?: string | number | undefined;
|
66198
|
+
minHeight?: string | number | undefined;
|
66199
|
+
minWidth?: string | number | undefined;
|
66200
|
+
} & {
|
66201
|
+
$children?: {} | vue.VNodeChild | {
|
66202
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66203
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66204
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66205
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66206
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66207
|
+
};
|
66208
|
+
$slots?: {
|
66209
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66210
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66211
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66212
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66213
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66214
|
+
} | undefined;
|
66215
|
+
'v-slots'?: {
|
66216
|
+
default?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66217
|
+
loading?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66218
|
+
error?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66219
|
+
empty?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66220
|
+
'load-more'?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66221
|
+
} | undefined;
|
66222
|
+
} & {
|
66223
|
+
"v-slot:default"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66224
|
+
"v-slot:loading"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66225
|
+
"v-slot:error"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66226
|
+
"v-slot:empty"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66227
|
+
"v-slot:load-more"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66228
|
+
} & {
|
66229
|
+
onLoad?: ((options: {
|
66230
|
+
side: InfiniteScrollSide;
|
66231
|
+
done: (status: InfiniteScrollStatus) => void;
|
66232
|
+
}) => any) | undefined;
|
66233
|
+
} & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
|
66234
|
+
__isFragment?: undefined;
|
66235
|
+
__isTeleport?: undefined;
|
66236
|
+
__isSuspense?: undefined;
|
66237
|
+
} & vue.ComponentOptionsBase<{
|
66238
|
+
direction: "horizontal" | "vertical";
|
66239
|
+
mode: "manual" | "intersect";
|
66240
|
+
side: InfiniteScrollSide;
|
66241
|
+
loadMoreText: string;
|
66242
|
+
emptyText: string;
|
66243
|
+
} & {
|
66244
|
+
height?: string | number | undefined;
|
66245
|
+
width?: string | number | undefined;
|
66246
|
+
color?: string | undefined;
|
66247
|
+
margin?: string | number | undefined;
|
66248
|
+
maxHeight?: string | number | undefined;
|
66249
|
+
maxWidth?: string | number | undefined;
|
66250
|
+
minHeight?: string | number | undefined;
|
66251
|
+
minWidth?: string | number | undefined;
|
66252
|
+
} & {
|
66253
|
+
$children?: {} | vue.VNodeChild | {
|
66254
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66255
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66256
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66257
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66258
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66259
|
+
};
|
66260
|
+
$slots?: {
|
66261
|
+
default?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66262
|
+
loading?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66263
|
+
error?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66264
|
+
empty?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66265
|
+
'load-more'?: ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66266
|
+
} | undefined;
|
66267
|
+
'v-slots'?: {
|
66268
|
+
default?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66269
|
+
loading?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66270
|
+
error?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66271
|
+
empty?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66272
|
+
'load-more'?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66273
|
+
} | undefined;
|
66274
|
+
} & {
|
66275
|
+
"v-slot:default"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66276
|
+
"v-slot:loading"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66277
|
+
"v-slot:error"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66278
|
+
"v-slot:empty"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66279
|
+
"v-slot:load-more"?: false | ((args_0: InfiniteScrollSlot) => vue.VNodeChild) | undefined;
|
66280
|
+
} & {
|
66281
|
+
onLoad?: ((options: {
|
66282
|
+
side: InfiniteScrollSide;
|
66283
|
+
done: (status: InfiniteScrollStatus) => void;
|
66284
|
+
}) => any) | undefined;
|
66285
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
66286
|
+
load: (options: {
|
66287
|
+
side: InfiniteScrollSide;
|
66288
|
+
done: (status: InfiniteScrollStatus) => void;
|
66289
|
+
}) => true;
|
66290
|
+
}, string, {
|
66291
|
+
direction: "horizontal" | "vertical";
|
66292
|
+
mode: "manual" | "intersect";
|
66293
|
+
side: InfiniteScrollSide;
|
66294
|
+
loadMoreText: string;
|
66295
|
+
emptyText: string;
|
66296
|
+
}, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
66297
|
+
height: (StringConstructor | NumberConstructor)[];
|
66298
|
+
maxHeight: (StringConstructor | NumberConstructor)[];
|
66299
|
+
maxWidth: (StringConstructor | NumberConstructor)[];
|
66300
|
+
minHeight: (StringConstructor | NumberConstructor)[];
|
66301
|
+
minWidth: (StringConstructor | NumberConstructor)[];
|
66302
|
+
width: (StringConstructor | NumberConstructor)[];
|
66303
|
+
color: StringConstructor;
|
66304
|
+
direction: {
|
66305
|
+
type: PropType<"horizontal" | "vertical">;
|
66306
|
+
default: string;
|
66307
|
+
validator: (v: any) => boolean;
|
66308
|
+
};
|
66309
|
+
side: {
|
66310
|
+
type: PropType<InfiniteScrollSide>;
|
66311
|
+
default: string;
|
66312
|
+
validator: (v: any) => boolean;
|
66313
|
+
};
|
66314
|
+
mode: {
|
66315
|
+
type: PropType<"manual" | "intersect">;
|
66316
|
+
default: string;
|
66317
|
+
validator: (v: any) => boolean;
|
66318
|
+
};
|
66319
|
+
margin: (StringConstructor | NumberConstructor)[];
|
66320
|
+
loadMoreText: {
|
66321
|
+
type: StringConstructor;
|
66322
|
+
default: string;
|
66323
|
+
};
|
66324
|
+
emptyText: {
|
66325
|
+
type: StringConstructor;
|
66326
|
+
default: string;
|
66327
|
+
};
|
66328
|
+
}, vue.ExtractPropTypes<{
|
66329
|
+
height: (StringConstructor | NumberConstructor)[];
|
66330
|
+
maxHeight: (StringConstructor | NumberConstructor)[];
|
66331
|
+
maxWidth: (StringConstructor | NumberConstructor)[];
|
66332
|
+
minHeight: (StringConstructor | NumberConstructor)[];
|
66333
|
+
minWidth: (StringConstructor | NumberConstructor)[];
|
66334
|
+
width: (StringConstructor | NumberConstructor)[];
|
66335
|
+
color: StringConstructor;
|
66336
|
+
direction: {
|
66337
|
+
type: PropType<"horizontal" | "vertical">;
|
66338
|
+
default: string;
|
66339
|
+
validator: (v: any) => boolean;
|
66340
|
+
};
|
66341
|
+
side: {
|
66342
|
+
type: PropType<InfiniteScrollSide>;
|
66343
|
+
default: string;
|
66344
|
+
validator: (v: any) => boolean;
|
66345
|
+
};
|
66346
|
+
mode: {
|
66347
|
+
type: PropType<"manual" | "intersect">;
|
66348
|
+
default: string;
|
66349
|
+
validator: (v: any) => boolean;
|
66350
|
+
};
|
66351
|
+
margin: (StringConstructor | NumberConstructor)[];
|
66352
|
+
loadMoreText: {
|
66353
|
+
type: StringConstructor;
|
66354
|
+
default: string;
|
66355
|
+
};
|
66356
|
+
emptyText: {
|
66357
|
+
type: StringConstructor;
|
66358
|
+
default: string;
|
66359
|
+
};
|
66360
|
+
}>>;
|
66361
|
+
type VInfiniteScroll = InstanceType<typeof VInfiniteScroll>;
|
66362
|
+
|
66022
66363
|
declare const VSkeletonLoader: {
|
66023
66364
|
new (...args: any[]): {
|
66024
66365
|
$: vue.ComponentInternalInstance;
|
@@ -66302,6 +66643,7 @@ declare const allComponents_d_VForm: typeof VForm;
|
|
66302
66643
|
declare const allComponents_d_VHover: typeof VHover;
|
66303
66644
|
declare const allComponents_d_VIcon: typeof VIcon;
|
66304
66645
|
declare const allComponents_d_VImg: typeof VImg;
|
66646
|
+
declare const allComponents_d_VInfiniteScroll: typeof VInfiniteScroll;
|
66305
66647
|
declare const allComponents_d_VInput: typeof VInput;
|
66306
66648
|
declare const allComponents_d_VItem: typeof VItem;
|
66307
66649
|
declare const allComponents_d_VItemGroup: typeof VItemGroup;
|
@@ -66444,6 +66786,7 @@ declare namespace allComponents_d {
|
|
66444
66786
|
allComponents_d_VHover as VHover,
|
66445
66787
|
allComponents_d_VIcon as VIcon,
|
66446
66788
|
allComponents_d_VImg as VImg,
|
66789
|
+
allComponents_d_VInfiniteScroll as VInfiniteScroll,
|
66447
66790
|
allComponents_d_VInput as VInput,
|
66448
66791
|
allComponents_d_VItem as VItem,
|
66449
66792
|
allComponents_d_VItemGroup as VItemGroup,
|
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v4.0.0-dev-
|
2
|
+
* Vuetify v4.0.0-dev-20230426.0
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -203,6 +203,10 @@ function clamp(value) {
|
|
203
203
|
let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
204
204
|
return Math.max(min, Math.min(max, value));
|
205
205
|
}
|
206
|
+
function getDecimals(value) {
|
207
|
+
const trimmedStr = value.toString().trim();
|
208
|
+
return trimmedStr.includes('.') ? trimmedStr.length - trimmedStr.indexOf('.') - 1 : 0;
|
209
|
+
}
|
206
210
|
function padEnd(str, length) {
|
207
211
|
let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
|
208
212
|
return str + char.repeat(Math.max(0, length - str.length));
|
@@ -1931,7 +1935,11 @@ var en = {
|
|
1931
1935
|
item: 'Rating {0} of {1}'
|
1932
1936
|
}
|
1933
1937
|
},
|
1934
|
-
loading: 'Loading...'
|
1938
|
+
loading: 'Loading...',
|
1939
|
+
infiniteScroll: {
|
1940
|
+
loadMore: 'Load more',
|
1941
|
+
empty: 'No more'
|
1942
|
+
}
|
1935
1943
|
};
|
1936
1944
|
|
1937
1945
|
const LANG_PREFIX = '$vuetify.';
|
@@ -4131,14 +4139,14 @@ const VIcon = genericComponent()({
|
|
4131
4139
|
});
|
4132
4140
|
|
4133
4141
|
// Utilities
|
4134
|
-
function useIntersectionObserver(callback) {
|
4142
|
+
function useIntersectionObserver(callback, options) {
|
4135
4143
|
const intersectionRef = ref();
|
4136
4144
|
const isIntersecting = ref(false);
|
4137
4145
|
if (SUPPORTS_INTERSECTION) {
|
4138
4146
|
const observer = new IntersectionObserver(entries => {
|
4139
4147
|
callback?.(entries, observer);
|
4140
4148
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
4141
|
-
});
|
4149
|
+
}, options);
|
4142
4150
|
onBeforeUnmount(() => {
|
4143
4151
|
observer.disconnect();
|
4144
4152
|
});
|
@@ -12614,10 +12622,7 @@ const useSteps = props => {
|
|
12614
12622
|
const min = computed(() => parseFloat(props.min));
|
12615
12623
|
const max = computed(() => parseFloat(props.max));
|
12616
12624
|
const step = computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
|
12617
|
-
const decimals = computed(() =>
|
12618
|
-
const trimmedStep = step.value.toString().trim();
|
12619
|
-
return trimmedStep.includes('.') ? trimmedStep.length - trimmedStep.indexOf('.') - 1 : 0;
|
12620
|
-
});
|
12625
|
+
const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
12621
12626
|
function roundValue(value) {
|
12622
12627
|
if (step.value <= 0) return value;
|
12623
12628
|
const clamped = clamp(value, min.value, max.value);
|
@@ -20636,6 +20641,211 @@ const VDataTableServer = genericComponent()({
|
|
20636
20641
|
|
20637
20642
|
// Types
|
20638
20643
|
|
20644
|
+
const VInfiniteScrollIntersect = defineComponent({
|
20645
|
+
name: 'VInfiniteScrollIntersect',
|
20646
|
+
props: {
|
20647
|
+
side: {
|
20648
|
+
type: String,
|
20649
|
+
required: true
|
20650
|
+
},
|
20651
|
+
rootRef: null,
|
20652
|
+
rootMargin: String
|
20653
|
+
},
|
20654
|
+
emits: {
|
20655
|
+
intersect: side => true
|
20656
|
+
},
|
20657
|
+
setup(props, _ref) {
|
20658
|
+
let {
|
20659
|
+
emit
|
20660
|
+
} = _ref;
|
20661
|
+
const {
|
20662
|
+
intersectionRef,
|
20663
|
+
isIntersecting
|
20664
|
+
} = useIntersectionObserver(entries => {}, props.rootMargin ? {
|
20665
|
+
root: props.rootRef,
|
20666
|
+
rootMargin: props.rootMargin
|
20667
|
+
} : undefined);
|
20668
|
+
watch(isIntersecting, async val => {
|
20669
|
+
if (val) emit('intersect', props.side);
|
20670
|
+
});
|
20671
|
+
useRender(() => createVNode("div", {
|
20672
|
+
"class": "v-infinite-scroll-intersect",
|
20673
|
+
"ref": intersectionRef
|
20674
|
+
}, [createTextVNode("\xA0")]));
|
20675
|
+
return {};
|
20676
|
+
}
|
20677
|
+
});
|
20678
|
+
const VInfiniteScroll = genericComponent()({
|
20679
|
+
name: 'VInfiniteScroll',
|
20680
|
+
props: {
|
20681
|
+
color: String,
|
20682
|
+
direction: {
|
20683
|
+
type: String,
|
20684
|
+
default: 'vertical',
|
20685
|
+
validator: v => ['vertical', 'horizontal'].includes(v)
|
20686
|
+
},
|
20687
|
+
side: {
|
20688
|
+
type: String,
|
20689
|
+
default: 'end',
|
20690
|
+
validator: v => ['start', 'end', 'both'].includes(v)
|
20691
|
+
},
|
20692
|
+
mode: {
|
20693
|
+
type: String,
|
20694
|
+
default: 'intersect',
|
20695
|
+
validator: v => ['intersect', 'manual'].includes(v)
|
20696
|
+
},
|
20697
|
+
margin: [Number, String],
|
20698
|
+
loadMoreText: {
|
20699
|
+
type: String,
|
20700
|
+
default: '$vuetify.infiniteScroll.loadMore'
|
20701
|
+
},
|
20702
|
+
emptyText: {
|
20703
|
+
type: String,
|
20704
|
+
default: '$vuetify.infiniteScroll.empty'
|
20705
|
+
},
|
20706
|
+
...makeDimensionProps()
|
20707
|
+
},
|
20708
|
+
emits: {
|
20709
|
+
load: options => true
|
20710
|
+
},
|
20711
|
+
setup(props, _ref2) {
|
20712
|
+
let {
|
20713
|
+
slots,
|
20714
|
+
emit
|
20715
|
+
} = _ref2;
|
20716
|
+
const rootEl = ref();
|
20717
|
+
const startStatus = ref('ok');
|
20718
|
+
const endStatus = ref('ok');
|
20719
|
+
const margin = computed(() => convertToUnit(props.margin));
|
20720
|
+
function setScrollAmount(amount) {
|
20721
|
+
if (!rootEl.value) return;
|
20722
|
+
const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
|
20723
|
+
rootEl.value[property] = amount;
|
20724
|
+
}
|
20725
|
+
function getScrollAmount() {
|
20726
|
+
if (!rootEl.value) return 0;
|
20727
|
+
const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
|
20728
|
+
return rootEl.value[property];
|
20729
|
+
}
|
20730
|
+
function getScrollSize() {
|
20731
|
+
if (!rootEl.value) return 0;
|
20732
|
+
const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth';
|
20733
|
+
return rootEl.value[property];
|
20734
|
+
}
|
20735
|
+
function getContainerSize() {
|
20736
|
+
if (!rootEl.value) return 0;
|
20737
|
+
const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth';
|
20738
|
+
return rootEl.value[property];
|
20739
|
+
}
|
20740
|
+
onMounted(() => {
|
20741
|
+
if (!rootEl.value) return;
|
20742
|
+
if (props.side === 'start') {
|
20743
|
+
setScrollAmount(getScrollSize());
|
20744
|
+
} else if (props.side === 'both') {
|
20745
|
+
setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2);
|
20746
|
+
}
|
20747
|
+
});
|
20748
|
+
function setStatus(side, status) {
|
20749
|
+
if (side === 'start') {
|
20750
|
+
startStatus.value = status;
|
20751
|
+
} else if (side === 'end') {
|
20752
|
+
endStatus.value = status;
|
20753
|
+
}
|
20754
|
+
}
|
20755
|
+
function getStatus(side) {
|
20756
|
+
return side === 'start' ? startStatus.value : endStatus.value;
|
20757
|
+
}
|
20758
|
+
let previousScrollSize = 0;
|
20759
|
+
function handleIntersect(side) {
|
20760
|
+
const status = getStatus(side);
|
20761
|
+
if (!rootEl.value || status === 'loading') return;
|
20762
|
+
previousScrollSize = getScrollSize();
|
20763
|
+
setStatus(side, 'loading');
|
20764
|
+
function done(status) {
|
20765
|
+
setStatus(side, status);
|
20766
|
+
nextTick(() => {
|
20767
|
+
if (status === 'ok' && side === 'start') {
|
20768
|
+
setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
|
20769
|
+
}
|
20770
|
+
});
|
20771
|
+
}
|
20772
|
+
emit('load', {
|
20773
|
+
side,
|
20774
|
+
done
|
20775
|
+
});
|
20776
|
+
}
|
20777
|
+
const {
|
20778
|
+
t
|
20779
|
+
} = useLocale();
|
20780
|
+
function renderSide(side, status) {
|
20781
|
+
if (props.side !== side && props.side !== 'both') return;
|
20782
|
+
const onClick = () => handleIntersect(side);
|
20783
|
+
const slotProps = {
|
20784
|
+
side,
|
20785
|
+
props: {
|
20786
|
+
onClick,
|
20787
|
+
color: props.color
|
20788
|
+
}
|
20789
|
+
};
|
20790
|
+
if (status === 'error') return slots.error?.(slotProps);
|
20791
|
+
if (status === 'empty') return slots.empty?.(slotProps) ?? createVNode("div", null, [t(props.emptyText)]);
|
20792
|
+
if (props.mode === 'manual') {
|
20793
|
+
if (status === 'loading') {
|
20794
|
+
return slots.loading?.(slotProps) ?? createVNode(VProgressCircular, {
|
20795
|
+
"indeterminate": true,
|
20796
|
+
"color": props.color
|
20797
|
+
}, null);
|
20798
|
+
}
|
20799
|
+
return slots['load-more']?.(slotProps) ?? createVNode(VBtn, {
|
20800
|
+
"variant": "outlined",
|
20801
|
+
"color": props.color,
|
20802
|
+
"onClick": onClick
|
20803
|
+
}, {
|
20804
|
+
default: () => [t(props.loadMoreText)]
|
20805
|
+
});
|
20806
|
+
}
|
20807
|
+
return slots.loading?.(slotProps) ?? createVNode(VProgressCircular, {
|
20808
|
+
"indeterminate": true,
|
20809
|
+
"color": props.color
|
20810
|
+
}, null);
|
20811
|
+
}
|
20812
|
+
const {
|
20813
|
+
dimensionStyles
|
20814
|
+
} = useDimension(props);
|
20815
|
+
useRender(() => {
|
20816
|
+
const hasStartIntersect = props.side === 'start' || props.side === 'both';
|
20817
|
+
const hasEndIntersect = props.side === 'end' || props.side === 'both';
|
20818
|
+
const intersectMode = props.mode === 'intersect';
|
20819
|
+
return createVNode("div", {
|
20820
|
+
"ref": rootEl,
|
20821
|
+
"class": ['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
|
20822
|
+
'v-infinite-scroll--start': hasStartIntersect,
|
20823
|
+
'v-infinite-scroll--end': hasEndIntersect
|
20824
|
+
}],
|
20825
|
+
"style": dimensionStyles.value
|
20826
|
+
}, [createVNode("div", {
|
20827
|
+
"class": "v-infinite-scroll__side"
|
20828
|
+
}, [renderSide('start', startStatus.value)]), rootEl.value && hasStartIntersect && intersectMode && createVNode(VInfiniteScrollIntersect, {
|
20829
|
+
"key": "start",
|
20830
|
+
"side": "start",
|
20831
|
+
"onIntersect": handleIntersect,
|
20832
|
+
"rootRef": rootEl.value,
|
20833
|
+
"rootMargin": margin.value
|
20834
|
+
}, null), slots.default?.(), rootEl.value && hasEndIntersect && intersectMode && createVNode(VInfiniteScrollIntersect, {
|
20835
|
+
"key": "end",
|
20836
|
+
"side": "end",
|
20837
|
+
"onIntersect": handleIntersect,
|
20838
|
+
"rootRef": rootEl.value,
|
20839
|
+
"rootMargin": margin.value
|
20840
|
+
}, null), createVNode("div", {
|
20841
|
+
"class": "v-infinite-scroll__side"
|
20842
|
+
}, [renderSide('end', endStatus.value)])]);
|
20843
|
+
});
|
20844
|
+
}
|
20845
|
+
});
|
20846
|
+
|
20847
|
+
// Types
|
20848
|
+
|
20639
20849
|
const rootTypes = {
|
20640
20850
|
actions: 'button@2',
|
20641
20851
|
article: 'heading, paragraph',
|
@@ -20835,6 +21045,7 @@ var components = /*#__PURE__*/Object.freeze({
|
|
20835
21045
|
VHover: VHover,
|
20836
21046
|
VIcon: VIcon,
|
20837
21047
|
VImg: VImg,
|
21048
|
+
VInfiniteScroll: VInfiniteScroll,
|
20838
21049
|
VInput: VInput,
|
20839
21050
|
VItem: VItem,
|
20840
21051
|
VItemGroup: VItemGroup,
|
@@ -21122,7 +21333,7 @@ function createVuetify$1() {
|
|
21122
21333
|
date
|
21123
21334
|
};
|
21124
21335
|
}
|
21125
|
-
const version$1 = "4.0.0-dev-
|
21336
|
+
const version$1 = "4.0.0-dev-20230426.0";
|
21126
21337
|
createVuetify$1.version = version$1;
|
21127
21338
|
|
21128
21339
|
// Vue's inject() can only be used in setup
|
@@ -21134,7 +21345,7 @@ function inject(key) {
|
|
21134
21345
|
}
|
21135
21346
|
}
|
21136
21347
|
|
21137
|
-
const version = "4.0.0-dev-
|
21348
|
+
const version = "4.0.0-dev-20230426.0";
|
21138
21349
|
|
21139
21350
|
const createVuetify = function () {
|
21140
21351
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|