@vuetify/nightly 3.2.2-master-20230501.0 → 3.2.2-master-20230502.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.
Files changed (52) hide show
  1. package/CHANGELOG.md +9 -2
  2. package/dist/json/attributes.json +770 -634
  3. package/dist/json/importMap.json +4 -4
  4. package/dist/json/tags.json +35 -1
  5. package/dist/json/web-types.json +1649 -1319
  6. package/dist/vuetify-labs.css +183 -177
  7. package/dist/vuetify-labs.d.ts +386 -53
  8. package/dist/vuetify-labs.esm.js +55 -64
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +55 -64
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +100 -94
  13. package/dist/vuetify.d.ts +387 -54
  14. package/dist/vuetify.esm.js +55 -64
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +55 -64
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +115 -116
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAppBar/VAppBar.mjs +7 -11
  22. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  23. package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -16
  24. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  25. package/lib/components/VAppBar/index.d.ts +394 -28
  26. package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -2
  28. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  29. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  30. package/lib/components/VBtn/VBtn.mjs +7 -6
  31. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  32. package/lib/components/VCombobox/VCombobox.mjs +5 -2
  33. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  34. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  35. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  36. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -8
  37. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  38. package/lib/components/VSelect/VSelect.mjs +5 -2
  39. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  40. package/lib/components/VSheet/VSheet.css +6 -0
  41. package/lib/components/VSheet/_variables.scss +1 -1
  42. package/lib/components/VTextField/VTextField.mjs +1 -1
  43. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  44. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  45. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  46. package/lib/components/index.d.ts +386 -53
  47. package/lib/composables/scroll.mjs +16 -17
  48. package/lib/composables/scroll.mjs.map +1 -1
  49. package/lib/entry-bundler.mjs +1 -1
  50. package/lib/framework.mjs +1 -1
  51. package/lib/index.d.ts +1 -1
  52. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.2.2-master-20230501.0
2
+ * Vuetify v3.2.2-master-20230502.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3340,14 +3340,13 @@ const makeScrollProps = propsFactory({
3340
3340
  type: String
3341
3341
  },
3342
3342
  scrollThreshold: {
3343
- type: [String, Number]
3343
+ type: [String, Number],
3344
+ default: 300
3344
3345
  }
3345
3346
  }, 'scroll');
3346
3347
  function useScroll(props) {
3347
3348
  let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3348
3349
  const {
3349
- thresholdMetCallback,
3350
- scrollThreshold,
3351
3350
  canScroll
3352
3351
  } = args;
3353
3352
  let previousScroll = 0;
@@ -3357,8 +3356,16 @@ function useScroll(props) {
3357
3356
  const currentThreshold = ref(0);
3358
3357
  const isScrollActive = ref(false);
3359
3358
  const isScrollingUp = ref(false);
3360
- const computedScrollThreshold = computed(() => {
3361
- return Number(props.scrollThreshold ?? scrollThreshold ?? 300);
3359
+ const scrollThreshold = computed(() => {
3360
+ return Number(props.scrollThreshold);
3361
+ });
3362
+
3363
+ /**
3364
+ * 1: at top
3365
+ * 0: at threshold
3366
+ */
3367
+ const scrollRatio = computed(() => {
3368
+ return clamp((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0);
3362
3369
  });
3363
3370
  const onScroll = () => {
3364
3371
  const targetEl = target.value;
@@ -3366,7 +3373,7 @@ function useScroll(props) {
3366
3373
  previousScroll = currentScroll.value;
3367
3374
  currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
3368
3375
  isScrollingUp.value = currentScroll.value < previousScroll;
3369
- currentThreshold.value = Math.abs(currentScroll.value - computedScrollThreshold.value);
3376
+ currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
3370
3377
  };
3371
3378
  watch(isScrollingUp, () => {
3372
3379
  savedScroll.value = savedScroll.value || currentScroll.value;
@@ -3394,15 +3401,6 @@ function useScroll(props) {
3394
3401
  onBeforeUnmount(() => {
3395
3402
  target.value?.removeEventListener('scroll', onScroll);
3396
3403
  });
3397
- thresholdMetCallback && watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
3398
- thresholdMet && thresholdMetCallback({
3399
- currentThreshold: currentThreshold.value,
3400
- isScrollingUp: isScrollingUp.value,
3401
- savedScroll
3402
- });
3403
- }, {
3404
- immediate: true
3405
- });
3406
3404
 
3407
3405
  // Do we need this? If yes - seems that
3408
3406
  // there's no need to expose onScroll
@@ -3410,10 +3408,11 @@ function useScroll(props) {
3410
3408
  immediate: true
3411
3409
  });
3412
3410
  return {
3413
- computedScrollThreshold,
3411
+ scrollThreshold,
3414
3412
  currentScroll,
3415
3413
  currentThreshold,
3416
3414
  isScrollActive,
3415
+ scrollRatio,
3417
3416
  // required only for testing
3418
3417
  // probably can be removed
3419
3418
  // later (2 chars chlng)
@@ -3496,15 +3495,14 @@ const VAppBar = genericComponent()({
3496
3495
  });
3497
3496
  const {
3498
3497
  currentScroll,
3499
- currentThreshold,
3500
- computedScrollThreshold,
3501
- isScrollingUp
3498
+ scrollThreshold,
3499
+ isScrollingUp,
3500
+ scrollRatio
3502
3501
  } = useScroll(props, {
3503
3502
  canScroll
3504
3503
  });
3505
- const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? currentScroll.value < 1 : currentScroll.value > 0));
3506
- const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && currentScroll.value === (scrollBehavior.value.inverted ? 1 : 0));
3507
- const scrollRatio = computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
3504
+ const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
3505
+ const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
3508
3506
  const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
3509
3507
  const height = computed(() => {
3510
3508
  if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
@@ -3513,15 +3511,12 @@ const VAppBar = genericComponent()({
3513
3511
  return height + extensionHeight;
3514
3512
  });
3515
3513
  function setActive() {
3516
- const val = currentScroll.value;
3517
3514
  if (scrollBehavior.value.hide) {
3518
3515
  if (scrollBehavior.value.inverted) {
3519
- isActive.value = val > computedScrollThreshold.value;
3516
+ isActive.value = currentScroll.value > scrollThreshold.value;
3520
3517
  } else {
3521
- isActive.value = isScrollingUp.value || val < computedScrollThreshold.value;
3518
+ isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
3522
3519
  }
3523
- } else if (scrollBehavior.value.inverted) {
3524
- isActive.value = currentScroll.value === 0;
3525
3520
  } else {
3526
3521
  isActive.value = true;
3527
3522
  }
@@ -5061,7 +5056,7 @@ const makeVBtnProps = propsFactory({
5061
5056
  ...makeVariantProps({
5062
5057
  variant: 'elevated'
5063
5058
  })
5064
- }, 'VBtn');
5059
+ }, 'v-btn');
5065
5060
  const VBtn = genericComponent()({
5066
5061
  name: 'VBtn',
5067
5062
  directives: {
@@ -5131,6 +5126,11 @@ const VBtn = genericComponent()({
5131
5126
  if (props.value === undefined) return undefined;
5132
5127
  return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
5133
5128
  });
5129
+ function onClick(e) {
5130
+ if (isDisabled.value) return;
5131
+ link.navigate?.(e);
5132
+ group?.toggle();
5133
+ }
5134
5134
  useSelectLink(link, group?.select);
5135
5135
  useRender(() => {
5136
5136
  const Tag = link.isLink.value ? 'a' : props.tag;
@@ -5153,11 +5153,7 @@ const VBtn = genericComponent()({
5153
5153
  "style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
5154
5154
  "disabled": isDisabled.value || undefined,
5155
5155
  "href": link.href.value,
5156
- "onClick": e => {
5157
- if (isDisabled.value) return;
5158
- link.navigate?.(e);
5159
- group?.toggle();
5160
- },
5156
+ "onClick": onClick,
5161
5157
  "value": valueAttr.value
5162
5158
  }, {
5163
5159
  default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
@@ -5223,22 +5219,17 @@ const VBtn = genericComponent()({
5223
5219
 
5224
5220
  const VAppBarNavIcon = genericComponent()({
5225
5221
  name: 'VAppBarNavIcon',
5226
- props: {
5227
- icon: {
5228
- type: IconValue,
5229
- default: '$menu'
5230
- },
5231
- ...makeComponentProps()
5232
- },
5222
+ props: makeVBtnProps({
5223
+ icon: '$menu',
5224
+ variant: 'text'
5225
+ }),
5233
5226
  setup(props, _ref) {
5234
5227
  let {
5235
5228
  slots
5236
5229
  } = _ref;
5237
- useRender(() => createVNode(VBtn, {
5238
- "class": ['v-app-bar-nav-icon', props.class],
5239
- "icon": props.icon,
5240
- "style": props.style
5241
- }, slots));
5230
+ useRender(() => createVNode(VBtn, mergeProps(props, {
5231
+ "class": ['v-app-bar-nav-icon']
5232
+ }), slots));
5242
5233
  return {};
5243
5234
  }
5244
5235
  });
@@ -6441,7 +6432,7 @@ const VTextField = genericComponent()({
6441
6432
  const vInputRef = ref();
6442
6433
  const vFieldRef = ref();
6443
6434
  const inputRef = ref();
6444
- const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value);
6435
+ const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
6445
6436
  function onFocus() {
6446
6437
  if (inputRef.value !== document.activeElement) {
6447
6438
  inputRef.value?.focus();
@@ -10375,11 +10366,13 @@ const VSelect = genericComponent()({
10375
10366
  let {
10376
10367
  isSelected
10377
10368
  } = _ref2;
10378
- return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
10369
+ return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
10379
10370
  "modelValue": isSelected,
10380
10371
  "ripple": false,
10381
10372
  "tabindex": "-1"
10382
- }, null) : undefined;
10373
+ }, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
10374
+ "icon": item.props.prependIcon
10375
+ }, null)]);
10383
10376
  }
10384
10377
  });
10385
10378
  }), slots['append-item']?.()]
@@ -10818,11 +10811,13 @@ const VAutocomplete = genericComponent()({
10818
10811
  let {
10819
10812
  isSelected
10820
10813
  } = _ref2;
10821
- return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
10814
+ return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
10822
10815
  "modelValue": isSelected,
10823
10816
  "ripple": false,
10824
10817
  "tabindex": "-1"
10825
- }, null) : undefined;
10818
+ }, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
10819
+ "icon": item.props.prependIcon
10820
+ }, null)]);
10826
10821
  },
10827
10822
  title: () => {
10828
10823
  return isPristine.value ? item.title : highlightResult$1(item.title, getMatches(item)?.title, search.value?.length ?? 0);
@@ -14267,11 +14262,13 @@ const VCombobox = genericComponent()({
14267
14262
  let {
14268
14263
  isSelected
14269
14264
  } = _ref2;
14270
- return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
14265
+ return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
14271
14266
  "modelValue": isSelected,
14272
14267
  "ripple": false,
14273
14268
  "tabindex": "-1"
14274
- }, null) : undefined;
14269
+ }, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
14270
+ "icon": item.props.prependIcon
14271
+ }, null)]);
14275
14272
  },
14276
14273
  title: () => {
14277
14274
  return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);
@@ -14753,6 +14750,7 @@ const VFileInput = genericComponent()({
14753
14750
  const vInputRef = ref();
14754
14751
  const vFieldRef = ref();
14755
14752
  const inputRef = ref();
14753
+ const isActive = computed(() => isFocused.value || props.active);
14756
14754
  function onFocus() {
14757
14755
  if (inputRef.value !== document.activeElement) {
14758
14756
  inputRef.value?.focus();
@@ -14821,7 +14819,7 @@ const VFileInput = genericComponent()({
14821
14819
  "onClick:appendInner": props['onClick:appendInner']
14822
14820
  }, fieldProps, {
14823
14821
  "id": id.value,
14824
- "active": isDirty.value || isFocused.value,
14822
+ "active": isActive.value || isDirty.value,
14825
14823
  "dirty": isDirty.value,
14826
14824
  "disabled": isDisabled.value,
14827
14825
  "focused": isFocused.value,
@@ -15987,7 +15985,6 @@ const VNavigationDrawer = genericComponent()({
15987
15985
  });
15988
15986
  const {
15989
15987
  layoutItemStyles,
15990
- layoutRect,
15991
15988
  layoutItemScrimStyles
15992
15989
  } = useLayoutItem({
15993
15990
  id: props.name,
@@ -16017,12 +16014,6 @@ const VNavigationDrawer = genericComponent()({
16017
16014
  opacity: dragProgress.value * 0.2,
16018
16015
  transition: 'none'
16019
16016
  } : undefined),
16020
- ...(layoutRect.value ? {
16021
- left: convertToUnit(layoutRect.value.left),
16022
- right: convertToUnit(layoutRect.value.right),
16023
- top: convertToUnit(layoutRect.value.top),
16024
- bottom: convertToUnit(layoutRect.value.bottom)
16025
- } : undefined),
16026
16017
  ...layoutItemScrimStyles.value
16027
16018
  }));
16028
16019
  provideDefaults({
@@ -17986,7 +17977,7 @@ const VTextarea = genericComponent()({
17986
17977
  const vFieldRef = ref();
17987
17978
  const controlHeight = ref('');
17988
17979
  const textareaRef = ref();
17989
- const isActive = computed(() => isFocused.value || props.persistentPlaceholder);
17980
+ const isActive = computed(() => props.persistentPlaceholder || isFocused.value || props.active);
17990
17981
  function onFocus() {
17991
17982
  if (textareaRef.value !== document.activeElement) {
17992
17983
  textareaRef.value?.focus();
@@ -21557,7 +21548,7 @@ function createVuetify$1() {
21557
21548
  date
21558
21549
  };
21559
21550
  }
21560
- const version$1 = "3.2.2-master-20230501.0";
21551
+ const version$1 = "3.2.2-master-20230502.0";
21561
21552
  createVuetify$1.version = version$1;
21562
21553
 
21563
21554
  // Vue's inject() can only be used in setup
@@ -21569,7 +21560,7 @@ function inject(key) {
21569
21560
  }
21570
21561
  }
21571
21562
 
21572
- const version = "3.2.2-master-20230501.0";
21563
+ const version = "3.2.2-master-20230502.0";
21573
21564
 
21574
21565
  const createVuetify = function () {
21575
21566
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};