@vuetify/nightly 3.7.14-master.2025-02-27 → 3.7.14-master.2025-03-02
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 +13 -3
- package/dist/json/attributes.json +1090 -1090
- package/dist/json/importMap-labs.json +34 -34
- package/dist/json/importMap.json +208 -208
- package/dist/json/web-types.json +2092 -2092
- package/dist/vuetify-labs.css +3237 -3233
- package/dist/vuetify-labs.d.ts +15 -9
- package/dist/vuetify-labs.esm.js +97 -24
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +97 -24
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2908 -2908
- package/dist/vuetify.d.ts +74 -74
- package/dist/vuetify.esm.js +6 -3
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +6 -3
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +5 -5
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VList/VListItem.mjs +2 -0
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +1 -0
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +74 -74
- package/lib/labs/VFileUpload/VFileUpload.css +5 -1
- package/lib/labs/VFileUpload/VFileUpload.sass +4 -0
- package/lib/labs/VFileUpload/_variables.scss +1 -1
- package/lib/labs/VNumberInput/VNumberInput.mjs +53 -18
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/hold.mjs +31 -0
- package/lib/labs/VNumberInput/hold.mjs.map +1 -0
- package/lib/labs/VNumberInput/index.d.mts +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +11 -4
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +14 -8
- package/lib/labs/components.d.mts +15 -9
- package/package.json +1 -1
package/dist/vuetify-labs.d.ts
CHANGED
@@ -71161,7 +71161,7 @@ declare const VFileUploadItem: {
|
|
71161
71161
|
type VFileUploadItem = InstanceType<typeof VFileUploadItem>;
|
71162
71162
|
|
71163
71163
|
type ControlSlot = {
|
71164
|
-
|
71164
|
+
props: Record<string, unknown>;
|
71165
71165
|
};
|
71166
71166
|
type ControlVariant = 'default' | 'stacked' | 'split' | 'hidden';
|
71167
71167
|
declare const VNumberInput: {
|
@@ -82073,7 +82073,6 @@ declare const VTreeviewItem: {
|
|
82073
82073
|
prependAvatar?: string | undefined;
|
82074
82074
|
subtitle?: string | number | undefined;
|
82075
82075
|
toggleIcon?: IconValue | undefined;
|
82076
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
82077
82076
|
} & {
|
82078
82077
|
$children?: vue.VNodeChild | {
|
82079
82078
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
@@ -82095,7 +82094,11 @@ declare const VTreeviewItem: {
|
|
82095
82094
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
82096
82095
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
82097
82096
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
82098
|
-
}
|
82097
|
+
} & {
|
82098
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
82099
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
82100
|
+
toggleExpand: (value: PointerEvent) => true;
|
82101
|
+
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
82099
82102
|
replace: boolean;
|
82100
82103
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
82101
82104
|
exact: boolean;
|
@@ -82141,7 +82144,6 @@ declare const VTreeviewItem: {
|
|
82141
82144
|
prependAvatar?: string | undefined;
|
82142
82145
|
subtitle?: string | number | undefined;
|
82143
82146
|
toggleIcon?: IconValue | undefined;
|
82144
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
82145
82147
|
} & {
|
82146
82148
|
$children?: vue.VNodeChild | {
|
82147
82149
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
@@ -82163,6 +82165,8 @@ declare const VTreeviewItem: {
|
|
82163
82165
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
82164
82166
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
82165
82167
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
82168
|
+
} & {
|
82169
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
82166
82170
|
}, {
|
82167
82171
|
replace: boolean;
|
82168
82172
|
link: boolean;
|
@@ -82240,7 +82244,6 @@ declare const VTreeviewItem: {
|
|
82240
82244
|
prependAvatar?: string | undefined;
|
82241
82245
|
subtitle?: string | number | undefined;
|
82242
82246
|
toggleIcon?: IconValue | undefined;
|
82243
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
82244
82247
|
} & {
|
82245
82248
|
$children?: vue.VNodeChild | {
|
82246
82249
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
@@ -82262,6 +82265,8 @@ declare const VTreeviewItem: {
|
|
82262
82265
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
82263
82266
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
82264
82267
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
82268
|
+
} & {
|
82269
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
82265
82270
|
}, {}, {}, {}, {}, {
|
82266
82271
|
replace: boolean;
|
82267
82272
|
link: boolean;
|
@@ -82330,7 +82335,6 @@ declare const VTreeviewItem: {
|
|
82330
82335
|
prependAvatar?: string | undefined;
|
82331
82336
|
subtitle?: string | number | undefined;
|
82332
82337
|
toggleIcon?: IconValue | undefined;
|
82333
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
82334
82338
|
} & {
|
82335
82339
|
$children?: vue.VNodeChild | {
|
82336
82340
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
@@ -82352,7 +82356,11 @@ declare const VTreeviewItem: {
|
|
82352
82356
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
82353
82357
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
82354
82358
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
82355
|
-
}
|
82359
|
+
} & {
|
82360
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
82361
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
82362
|
+
toggleExpand: (value: PointerEvent) => true;
|
82363
|
+
}, string, {
|
82356
82364
|
replace: boolean;
|
82357
82365
|
link: boolean;
|
82358
82366
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
@@ -82453,7 +82461,6 @@ declare const VTreeviewItem: {
|
|
82453
82461
|
onClick: vue.PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
|
82454
82462
|
onClickOnce: vue.PropType<(args_0: MouseEvent) => void>;
|
82455
82463
|
loading: BooleanConstructor;
|
82456
|
-
onToggleExpand: vue.PropType<(args_0: MouseEvent) => void>;
|
82457
82464
|
toggleIcon: vue.PropType<IconValue>;
|
82458
82465
|
}, vue.ExtractPropTypes<{
|
82459
82466
|
color: StringConstructor;
|
@@ -82532,7 +82539,6 @@ declare const VTreeviewItem: {
|
|
82532
82539
|
onClick: vue.PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
|
82533
82540
|
onClickOnce: vue.PropType<(args_0: MouseEvent) => void>;
|
82534
82541
|
loading: BooleanConstructor;
|
82535
|
-
onToggleExpand: vue.PropType<(args_0: MouseEvent) => void>;
|
82536
82542
|
toggleIcon: vue.PropType<IconValue>;
|
82537
82543
|
}>>;
|
82538
82544
|
type VTreeviewItem = InstanceType<typeof VTreeviewItem>;
|
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.7.14-master.2025-02
|
2
|
+
* Vuetify v3.7.14-master.2025-03-02
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -9056,6 +9056,8 @@ const VListItem = genericComponent()({
|
|
9056
9056
|
}
|
9057
9057
|
}
|
9058
9058
|
function onKeyDown(e) {
|
9059
|
+
const target = e.target;
|
9060
|
+
if (['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
|
9059
9061
|
if (e.key === 'Enter' || e.key === ' ') {
|
9060
9062
|
e.preventDefault();
|
9061
9063
|
e.target.dispatchEvent(new MouseEvent('click', e));
|
@@ -15681,6 +15683,7 @@ const useSlider = _ref => {
|
|
15681
15683
|
});
|
15682
15684
|
}
|
15683
15685
|
function onSliderMousedown(e) {
|
15686
|
+
if (e.button !== 0) return;
|
15684
15687
|
e.preventDefault();
|
15685
15688
|
handleStart(e);
|
15686
15689
|
window.addEventListener('mousemove', onMouseMove, moveListenerOptions);
|
@@ -28654,6 +28657,36 @@ const VFileUpload = genericComponent()({
|
|
28654
28657
|
}
|
28655
28658
|
});
|
28656
28659
|
|
28660
|
+
// Utilities
|
28661
|
+
const HOLD_REPEAT = 50;
|
28662
|
+
const HOLD_DELAY = 500;
|
28663
|
+
function useHold(_ref) {
|
28664
|
+
let {
|
28665
|
+
toggleUpDown
|
28666
|
+
} = _ref;
|
28667
|
+
let timeout = -1;
|
28668
|
+
let interval = -1;
|
28669
|
+
onScopeDispose(holdStop);
|
28670
|
+
function holdStart(value) {
|
28671
|
+
holdStop();
|
28672
|
+
tick(value);
|
28673
|
+
timeout = window.setTimeout(() => {
|
28674
|
+
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
|
28675
|
+
}, HOLD_DELAY);
|
28676
|
+
}
|
28677
|
+
function holdStop() {
|
28678
|
+
window.clearTimeout(timeout);
|
28679
|
+
window.clearInterval(interval);
|
28680
|
+
}
|
28681
|
+
function tick(value) {
|
28682
|
+
toggleUpDown(value === 'up');
|
28683
|
+
}
|
28684
|
+
return {
|
28685
|
+
holdStart,
|
28686
|
+
holdStop
|
28687
|
+
};
|
28688
|
+
}
|
28689
|
+
|
28657
28690
|
// Types
|
28658
28691
|
|
28659
28692
|
const makeVNumberInputProps = propsFactory({
|
@@ -28698,9 +28731,19 @@ const VNumberInput = genericComponent()({
|
|
28698
28731
|
slots
|
28699
28732
|
} = _ref;
|
28700
28733
|
const vTextFieldRef = ref();
|
28734
|
+
const {
|
28735
|
+
holdStart,
|
28736
|
+
holdStop
|
28737
|
+
} = useHold({
|
28738
|
+
toggleUpDown
|
28739
|
+
});
|
28701
28740
|
const form = useForm(props);
|
28702
28741
|
const controlsDisabled = computed(() => form.isDisabled.value || form.isReadonly.value);
|
28703
|
-
const
|
28742
|
+
const {
|
28743
|
+
isFocused,
|
28744
|
+
focus,
|
28745
|
+
blur
|
28746
|
+
} = useFocus(props);
|
28704
28747
|
function correctPrecision(val) {
|
28705
28748
|
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
28706
28749
|
const fixed = precision == null ? String(val) : val.toFixed(precision);
|
@@ -28744,10 +28787,18 @@ const VNumberInput = genericComponent()({
|
|
28744
28787
|
const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small');
|
28745
28788
|
const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
|
28746
28789
|
const incrementSlotProps = computed(() => ({
|
28747
|
-
|
28790
|
+
props: {
|
28791
|
+
onClick: onControlClick,
|
28792
|
+
onPointerup: onControlMouseup,
|
28793
|
+
onPointerdown: onUpControlMousedown
|
28794
|
+
}
|
28748
28795
|
}));
|
28749
28796
|
const decrementSlotProps = computed(() => ({
|
28750
|
-
|
28797
|
+
props: {
|
28798
|
+
onClick: onControlClick,
|
28799
|
+
onPointerup: onControlMouseup,
|
28800
|
+
onPointerdown: onDownControlMousedown
|
28801
|
+
}
|
28751
28802
|
}));
|
28752
28803
|
watch(() => props.precision, () => formatInputValue());
|
28753
28804
|
onMounted(() => {
|
@@ -28774,14 +28825,6 @@ const VNumberInput = genericComponent()({
|
|
28774
28825
|
if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision);
|
28775
28826
|
}
|
28776
28827
|
}
|
28777
|
-
function onClickUp(e) {
|
28778
|
-
e.stopPropagation();
|
28779
|
-
toggleUpDown();
|
28780
|
-
}
|
28781
|
-
function onClickDown(e) {
|
28782
|
-
e.stopPropagation();
|
28783
|
-
toggleUpDown(false);
|
28784
|
-
}
|
28785
28828
|
function onBeforeinput(e) {
|
28786
28829
|
if (!e.data) return;
|
28787
28830
|
const existingTxt = e.target?.value;
|
@@ -28819,8 +28862,29 @@ const VNumberInput = genericComponent()({
|
|
28819
28862
|
}
|
28820
28863
|
}
|
28821
28864
|
}
|
28822
|
-
function
|
28865
|
+
function onControlClick(e) {
|
28866
|
+
e.stopPropagation();
|
28867
|
+
}
|
28868
|
+
function onControlMouseup(e) {
|
28869
|
+
const el = e.currentTarget;
|
28870
|
+
el?.releasePointerCapture(e.pointerId);
|
28871
|
+
e.preventDefault();
|
28872
|
+
e.stopPropagation();
|
28873
|
+
holdStop();
|
28874
|
+
}
|
28875
|
+
function onUpControlMousedown(e) {
|
28876
|
+
const el = e.currentTarget;
|
28877
|
+
el?.setPointerCapture(e.pointerId);
|
28878
|
+
e.preventDefault();
|
28879
|
+
e.stopPropagation();
|
28880
|
+
holdStart('up');
|
28881
|
+
}
|
28882
|
+
function onDownControlMousedown(e) {
|
28883
|
+
const el = e.currentTarget;
|
28884
|
+
el?.setPointerCapture(e.pointerId);
|
28885
|
+
e.preventDefault();
|
28823
28886
|
e.stopPropagation();
|
28887
|
+
holdStart('down');
|
28824
28888
|
}
|
28825
28889
|
function clampModel() {
|
28826
28890
|
if (controlsDisabled.value) return;
|
@@ -28849,11 +28913,11 @@ const VNumberInput = genericComponent()({
|
|
28849
28913
|
inputText.value = model.value.toString();
|
28850
28914
|
}
|
28851
28915
|
function onFocus() {
|
28852
|
-
|
28916
|
+
focus();
|
28853
28917
|
trimDecimalZeros();
|
28854
28918
|
}
|
28855
28919
|
function onBlur() {
|
28856
|
-
|
28920
|
+
blur();
|
28857
28921
|
clampModel();
|
28858
28922
|
}
|
28859
28923
|
useRender(() => {
|
@@ -28870,8 +28934,9 @@ const VNumberInput = genericComponent()({
|
|
28870
28934
|
"data-testid": "increment",
|
28871
28935
|
"aria-hidden": "true",
|
28872
28936
|
"icon": incrementIcon.value,
|
28873
|
-
"onClick":
|
28874
|
-
"
|
28937
|
+
"onClick": onControlClick,
|
28938
|
+
"onPointerup": onControlMouseup,
|
28939
|
+
"onPointerdown": onUpControlMousedown,
|
28875
28940
|
"size": controlNodeSize.value,
|
28876
28941
|
"tabindex": "-1"
|
28877
28942
|
}, null) : createVNode(VDefaultsProvider, {
|
@@ -28900,8 +28965,9 @@ const VNumberInput = genericComponent()({
|
|
28900
28965
|
"icon": decrementIcon.value,
|
28901
28966
|
"size": controlNodeSize.value,
|
28902
28967
|
"tabindex": "-1",
|
28903
|
-
"onClick":
|
28904
|
-
"
|
28968
|
+
"onClick": onControlClick,
|
28969
|
+
"onPointerup": onControlMouseup,
|
28970
|
+
"onPointerdown": onDownControlMousedown
|
28905
28971
|
}, null) : createVNode(VDefaultsProvider, {
|
28906
28972
|
"key": "decrement-defaults",
|
28907
28973
|
"defaults": {
|
@@ -30130,7 +30196,6 @@ const VTreeviewSymbol = Symbol.for('vuetify:v-treeview');
|
|
30130
30196
|
|
30131
30197
|
const makeVTreeviewItemProps = propsFactory({
|
30132
30198
|
loading: Boolean,
|
30133
|
-
onToggleExpand: EventProp(),
|
30134
30199
|
toggleIcon: IconValue,
|
30135
30200
|
...makeVListItemProps({
|
30136
30201
|
slim: true
|
@@ -30139,9 +30204,13 @@ const makeVTreeviewItemProps = propsFactory({
|
|
30139
30204
|
const VTreeviewItem = genericComponent()({
|
30140
30205
|
name: 'VTreeviewItem',
|
30141
30206
|
props: makeVTreeviewItemProps(),
|
30207
|
+
emits: {
|
30208
|
+
toggleExpand: value => true
|
30209
|
+
},
|
30142
30210
|
setup(props, _ref) {
|
30143
30211
|
let {
|
30144
|
-
slots
|
30212
|
+
slots,
|
30213
|
+
emit
|
30145
30214
|
} = _ref;
|
30146
30215
|
const visibleIds = inject$1(VTreeviewSymbol, {
|
30147
30216
|
visibleIds: ref()
|
@@ -30156,6 +30225,10 @@ const VTreeviewItem = genericComponent()({
|
|
30156
30225
|
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
30157
30226
|
}
|
30158
30227
|
}
|
30228
|
+
function onClickAction(e) {
|
30229
|
+
e.preventDefault();
|
30230
|
+
emit('toggleExpand', e);
|
30231
|
+
}
|
30159
30232
|
useRender(() => {
|
30160
30233
|
const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
|
30161
30234
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
@@ -30180,7 +30253,7 @@ const VTreeviewItem = genericComponent()({
|
|
30180
30253
|
"icon": props.toggleIcon,
|
30181
30254
|
"loading": props.loading,
|
30182
30255
|
"variant": "text",
|
30183
|
-
"onClick":
|
30256
|
+
"onClick": onClickAction
|
30184
30257
|
}, {
|
30185
30258
|
loader() {
|
30186
30259
|
return createVNode(VProgressCircular, {
|
@@ -30975,7 +31048,7 @@ function createVuetify$1() {
|
|
30975
31048
|
goTo
|
30976
31049
|
};
|
30977
31050
|
}
|
30978
|
-
const version$1 = "3.7.14-master.2025-02
|
31051
|
+
const version$1 = "3.7.14-master.2025-03-02";
|
30979
31052
|
createVuetify$1.version = version$1;
|
30980
31053
|
|
30981
31054
|
// Vue's inject() can only be used in setup
|
@@ -31228,7 +31301,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
31228
31301
|
|
31229
31302
|
/* eslint-disable local-rules/sort-imports */
|
31230
31303
|
|
31231
|
-
const version = "3.7.14-master.2025-02
|
31304
|
+
const version = "3.7.14-master.2025-03-02";
|
31232
31305
|
|
31233
31306
|
/* eslint-disable local-rules/sort-imports */
|
31234
31307
|
|