@vuetify/nightly 3.6.7-master.2024-05-28 → 3.6.8-master.2024-05-30

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 (64) hide show
  1. package/CHANGELOG.md +2 -10
  2. package/dist/json/attributes.json +44 -12
  3. package/dist/json/importMap-labs.json +26 -26
  4. package/dist/json/importMap.json +118 -118
  5. package/dist/json/tags.json +8 -0
  6. package/dist/json/web-types.json +117 -45
  7. package/dist/vuetify-labs.css +1826 -1823
  8. package/dist/vuetify-labs.d.ts +528 -1392
  9. package/dist/vuetify-labs.esm.js +145 -43
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +145 -43
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +849 -846
  14. package/dist/vuetify.d.ts +423 -1127
  15. package/dist/vuetify.esm.js +41 -12
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +41 -12
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +16 -16
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAutocomplete/index.d.mts +102 -336
  23. package/lib/components/VCombobox/index.d.mts +102 -336
  24. package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -0
  25. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  26. package/lib/components/VDivider/VDivider.mjs +1 -1
  27. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  28. package/lib/components/VList/VList.mjs +3 -1
  29. package/lib/components/VList/VList.mjs.map +1 -1
  30. package/lib/components/VList/VListGroup.mjs +1 -0
  31. package/lib/components/VList/VListGroup.mjs.map +1 -1
  32. package/lib/components/VList/VListItem.css +2 -2
  33. package/lib/components/VList/VListItem.mjs +2 -0
  34. package/lib/components/VList/VListItem.mjs.map +1 -1
  35. package/lib/components/VList/VListItem.sass +1 -1
  36. package/lib/components/VList/index.d.mts +52 -66
  37. package/lib/components/VSelect/index.d.mts +102 -336
  38. package/lib/components/VSelectionControl/VSelectionControl.mjs +9 -1
  39. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  40. package/lib/components/VSnackbar/VSnackbar.css +1 -1
  41. package/lib/components/VSnackbar/VSnackbar.sass +1 -1
  42. package/lib/components/VStepper/VStepper.mjs +18 -4
  43. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  44. package/lib/components/VStepper/VStepperItem.css +3 -0
  45. package/lib/components/VStepper/VStepperItem.sass +3 -0
  46. package/lib/components/VStepper/index.d.mts +43 -9
  47. package/lib/components/VTabs/VTabs.mjs +2 -2
  48. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  49. package/lib/components/index.d.mts +379 -1083
  50. package/lib/composables/filter.mjs +1 -1
  51. package/lib/composables/filter.mjs.map +1 -1
  52. package/lib/entry-bundler.mjs +1 -1
  53. package/lib/framework.mjs +1 -1
  54. package/lib/index.d.mts +44 -44
  55. package/lib/labs/VStepperVertical/index.d.mts +43 -9
  56. package/lib/labs/VTreeview/VTreeview.mjs +1 -1
  57. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  58. package/lib/labs/VTreeview/VTreeviewChildren.mjs +30 -25
  59. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  60. package/lib/labs/VTreeview/VTreeviewItem.mjs +81 -10
  61. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  62. package/lib/labs/VTreeview/index.d.mts +110 -300
  63. package/lib/labs/components.d.mts +3402 -3558
  64. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.7-master.2024-05-28
2
+ * Vuetify v3.6.8-master.2024-05-30
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -6249,7 +6249,15 @@ const VSelectionControl = genericComponent()({
6249
6249
  e.stopPropagation();
6250
6250
  }
6251
6251
  function onInput(e) {
6252
- if (!isInteractive.value) return;
6252
+ if (!isInteractive.value) {
6253
+ if (input.value) {
6254
+ // model value is not updated when input is not interactive
6255
+ // but the internal checked state of the input is still updated,
6256
+ // so here it's value is restored
6257
+ input.value.checked = model.value;
6258
+ }
6259
+ return;
6260
+ }
6253
6261
  if (props.readonly && group) {
6254
6262
  nextTick(() => group.forceUpdate());
6255
6263
  }
@@ -8702,6 +8710,7 @@ const VListGroup = genericComponent()({
8702
8710
  isBooted
8703
8711
  } = useSsrBoot();
8704
8712
  function onClick(e) {
8713
+ e.stopPropagation();
8705
8714
  open(!isOpen.value, e);
8706
8715
  }
8707
8716
  const activatorProps = computed(() => ({
@@ -9035,6 +9044,8 @@ const VListItem = genericComponent()({
9035
9044
  }), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
9036
9045
  });
9037
9046
  return {
9047
+ activate,
9048
+ isActivated,
9038
9049
  isGroupActivator,
9039
9050
  isSelected,
9040
9051
  list,
@@ -9110,7 +9121,7 @@ const VDivider = genericComponent()({
9110
9121
  const dividerStyles = computed(() => {
9111
9122
  const styles = {};
9112
9123
  if (props.length) {
9113
- styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length);
9124
+ styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);
9114
9125
  }
9115
9126
  if (props.thickness) {
9116
9127
  styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);
@@ -9371,6 +9382,8 @@ const makeVListProps = propsFactory({
9371
9382
  },
9372
9383
  slim: Boolean,
9373
9384
  nav: Boolean,
9385
+ 'onClick:open': EventProp(),
9386
+ 'onClick:select': EventProp(),
9374
9387
  ...makeNestedProps({
9375
9388
  selectStrategy: 'single-leaf',
9376
9389
  openStrategy: 'list'
@@ -12682,7 +12695,7 @@ function filterItems(items, query, options) {
12682
12695
  const customMatches = {};
12683
12696
  const defaultMatches = {};
12684
12697
  let match = -1;
12685
- if (query && !options?.noFilter) {
12698
+ if ((query || customFiltersLength > 0) && !options?.noFilter) {
12686
12699
  if (typeof item === 'object') {
12687
12700
  const filterKeys = keys || Object.keys(transformed);
12688
12701
  for (const key of filterKeys) {
@@ -21523,6 +21536,9 @@ const VDatePickerMonth = genericComponent()({
21523
21536
  });
21524
21537
  function onRangeClick(value) {
21525
21538
  const _value = adapter.startOfDay(value);
21539
+ if (model.value.length === 0) {
21540
+ rangeStart.value = undefined;
21541
+ }
21526
21542
  if (!rangeStart.value) {
21527
21543
  rangeStart.value = _value;
21528
21544
  model.value = [rangeStart.value];
@@ -26040,7 +26056,10 @@ const VStepperWindowItem = genericComponent()({
26040
26056
  const makeStepperProps = propsFactory({
26041
26057
  altLabels: Boolean,
26042
26058
  bgColor: String,
26059
+ completeIcon: String,
26060
+ editIcon: String,
26043
26061
  editable: Boolean,
26062
+ errorIcon: String,
26044
26063
  hideActions: Boolean,
26045
26064
  items: {
26046
26065
  type: Array,
@@ -26054,9 +26073,9 @@ const makeStepperProps = propsFactory({
26054
26073
  type: String,
26055
26074
  default: 'value'
26056
26075
  },
26057
- mobile: Boolean,
26058
26076
  nonLinear: Boolean,
26059
- flat: Boolean
26077
+ flat: Boolean,
26078
+ ...makeDisplayProps()
26060
26079
  }, 'Stepper');
26061
26080
  const makeVStepperProps = propsFactory({
26062
26081
  ...makeStepperProps(),
@@ -26084,6 +26103,13 @@ const VStepper = genericComponent()({
26084
26103
  selected
26085
26104
  } = useGroup(props, VStepperSymbol);
26086
26105
  const {
26106
+ displayClasses,
26107
+ mobile
26108
+ } = useDisplay(props);
26109
+ const {
26110
+ completeIcon,
26111
+ editIcon,
26112
+ errorIcon,
26087
26113
  color,
26088
26114
  editable,
26089
26115
  prevText,
@@ -26110,6 +26136,9 @@ const VStepper = genericComponent()({
26110
26136
  provideDefaults({
26111
26137
  VStepperItem: {
26112
26138
  editable,
26139
+ errorIcon,
26140
+ completeIcon,
26141
+ editIcon,
26113
26142
  prevText,
26114
26143
  nextText
26115
26144
  },
@@ -26131,8 +26160,8 @@ const VStepper = genericComponent()({
26131
26160
  'v-stepper--alt-labels': props.altLabels,
26132
26161
  'v-stepper--flat': props.flat,
26133
26162
  'v-stepper--non-linear': props.nonLinear,
26134
- 'v-stepper--mobile': props.mobile
26135
- }, props.class],
26163
+ 'v-stepper--mobile': mobile.value
26164
+ }, displayClasses.value, props.class],
26136
26165
  "style": props.style
26137
26166
  }), {
26138
26167
  default: () => [hasHeader && createVNode(VStepperHeader, {
@@ -26662,9 +26691,9 @@ const VTabs = genericComponent()({
26662
26691
  "key": item.text,
26663
26692
  "value": item.value
26664
26693
  }), {
26665
- default: () => slots[`tab.${item.value}`]?.({
26694
+ default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({
26666
26695
  item
26667
- })
26696
+ }) : undefined
26668
26697
  }))]
26669
26698
  }), hasWindow && createVNode(VTabsWindow, mergeProps({
26670
26699
  "modelValue": model.value,
@@ -29346,32 +29375,100 @@ const VTreeviewItem = genericComponent()({
29346
29375
  emit
29347
29376
  } = _ref;
29348
29377
  const link = useLink(props, attrs);
29349
- const id = computed(() => props.value === undefined ? link.href.value : props.value);
29378
+ const rawId = computed(() => props.value === undefined ? link.href.value : props.value);
29350
29379
  const vListItemRef = ref();
29380
+ const {
29381
+ activate,
29382
+ isActivated,
29383
+ select,
29384
+ isSelected,
29385
+ isIndeterminate,
29386
+ isGroupActivator,
29387
+ root,
29388
+ id
29389
+ } = useNestedItem(rawId, false);
29390
+ const isActivatableGroupActivator = computed(() => root.activatable.value && isGroupActivator);
29391
+ const {
29392
+ densityClasses
29393
+ } = useDensity(props, 'v-list-item');
29394
+ const slotProps = computed(() => ({
29395
+ isActive: isActivated.value,
29396
+ select,
29397
+ isSelected: isSelected.value,
29398
+ isIndeterminate: isIndeterminate.value
29399
+ }));
29351
29400
  const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list));
29352
- function onClick(e) {
29353
- if (!vListItemRef.value?.isGroupActivator || !isClickable.value) return;
29354
- props.value != null && vListItemRef.value?.select(!vListItemRef.value?.isSelected, e);
29401
+ function activateItem(e) {
29402
+ if (!isClickable.value || !isActivatableGroupActivator.value && isGroupActivator) return;
29403
+ if (root.activatable.value) {
29404
+ if (isActivatableGroupActivator.value) {
29405
+ activate(!isActivated.value, e);
29406
+ } else {
29407
+ vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
29408
+ }
29409
+ }
29355
29410
  }
29356
29411
  function onKeyDown(e) {
29357
29412
  if (e.key === 'Enter' || e.key === ' ') {
29358
29413
  e.preventDefault();
29359
- onClick(e);
29414
+ activateItem(e);
29360
29415
  }
29361
29416
  }
29362
29417
  const visibleIds = inject$1(VTreeviewSymbol, {
29363
29418
  visibleIds: ref()
29364
29419
  }).visibleIds;
29365
29420
  useRender(() => {
29421
+ const hasTitle = slots.title || props.title != null;
29422
+ const hasSubtitle = slots.subtitle || props.subtitle != null;
29366
29423
  const listItemProps = VListItem.filterProps(props);
29367
29424
  const hasPrepend = slots.prepend || props.toggleIcon;
29368
- return createVNode(VListItem, mergeProps({
29425
+ return isActivatableGroupActivator.value ? withDirectives(createVNode("div", {
29426
+ "class": ['v-list-item', 'v-list-item--one-line', 'v-treeview-item', 'v-treeview-item--activetable-group-activator', {
29427
+ 'v-list-item--active': isActivated.value || isSelected.value,
29428
+ 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
29429
+ }, densityClasses.value, props.class],
29430
+ "onClick": activateItem
29431
+ }, [createVNode(Fragment, null, [genOverlays(isActivated.value || isSelected.value, 'v-list-item'), props.toggleIcon && createVNode(VListItemAction, {
29432
+ "start": false
29433
+ }, {
29434
+ default: () => [createVNode(VBtn, {
29435
+ "density": "compact",
29436
+ "icon": props.toggleIcon,
29437
+ "loading": props.loading,
29438
+ "variant": "text",
29439
+ "onClick": props.onClick
29440
+ }, {
29441
+ loader() {
29442
+ return createVNode(VProgressCircular, {
29443
+ "indeterminate": "disable-shrink",
29444
+ "size": "20",
29445
+ "width": "2"
29446
+ }, null);
29447
+ }
29448
+ })]
29449
+ })]), createVNode("div", {
29450
+ "class": "v-list-item__content",
29451
+ "data-no-activator": ""
29452
+ }, [hasTitle && createVNode(VListItemTitle, {
29453
+ "key": "title"
29454
+ }, {
29455
+ default: () => [slots.title?.({
29456
+ title: props.title
29457
+ }) ?? props.title]
29458
+ }), hasSubtitle && createVNode(VListItemSubtitle, {
29459
+ "key": "subtitle"
29460
+ }, {
29461
+ default: () => [slots.subtitle?.({
29462
+ subtitle: props.subtitle
29463
+ }) ?? props.subtitle]
29464
+ }), slots.default?.(slotProps.value)])]), [[resolveDirective("ripple"), isClickable.value && props.ripple]]) : createVNode(VListItem, mergeProps({
29369
29465
  "ref": vListItemRef
29370
29466
  }, listItemProps, {
29371
29467
  "class": ['v-treeview-item', {
29372
29468
  'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
29373
29469
  }, props.class],
29374
- "onClick": onClick,
29470
+ "value": id.value,
29471
+ "onClick": activateItem,
29375
29472
  "onKeydown": isClickable.value && onKeyDown
29376
29473
  }), {
29377
29474
  ...slots,
@@ -29410,7 +29507,8 @@ const makeVTreeviewChildrenProps = propsFactory({
29410
29507
  default: '$loading'
29411
29508
  },
29412
29509
  items: Array,
29413
- selectable: Boolean
29510
+ selectable: Boolean,
29511
+ selectStrategy: [String, Function, Object]
29414
29512
  }, 'VTreeviewChildren');
29415
29513
  const VTreeviewChildren = genericComponent()({
29416
29514
  name: 'VTreeviewChildren',
@@ -29434,9 +29532,10 @@ const VTreeviewChildren = genericComponent()({
29434
29532
  isLoading.value = null;
29435
29533
  });
29436
29534
  }
29437
- function onClick(e, item) {
29438
- e.stopPropagation();
29439
- checkChildren(item);
29535
+ function selectItem(select, isSelected) {
29536
+ if (props.selectable) {
29537
+ select(!isSelected);
29538
+ }
29440
29539
  }
29441
29540
  return () => slots.default?.() ?? props.items?.map(_ref2 => {
29442
29541
  let {
@@ -29446,23 +29545,21 @@ const VTreeviewChildren = genericComponent()({
29446
29545
  } = _ref2;
29447
29546
  const loading = isLoading.value === item.value;
29448
29547
  const slotsWithItem = {
29449
- prepend: slots.prepend ? slotProps => slots.prepend?.({
29548
+ prepend: slotProps => createVNode(Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && createVNode("div", null, [createVNode(VCheckboxBtn, {
29549
+ "key": item.value,
29550
+ "modelValue": slotProps.isSelected,
29551
+ "loading": loading,
29552
+ "indeterminate": slotProps.isIndeterminate,
29553
+ "onClick": withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']),
29554
+ "onKeydown": e => {
29555
+ if (!['Enter', 'Space'].includes(e.key)) return;
29556
+ e.stopPropagation();
29557
+ selectItem(slotProps.select, slotProps.isSelected);
29558
+ }
29559
+ }, null)]), slots.prepend?.({
29450
29560
  ...slotProps,
29451
29561
  item
29452
- }) : props.selectable ? _ref3 => {
29453
- let {
29454
- isSelected,
29455
- isIndeterminate
29456
- } = _ref3;
29457
- return createVNode(VCheckboxBtn, {
29458
- "key": item.value,
29459
- "tabindex": "-1",
29460
- "modelValue": isSelected,
29461
- "loading": loading,
29462
- "indeterminate": isIndeterminate,
29463
- "onClick": e => onClick(e, item)
29464
- }, null);
29465
- } : undefined,
29562
+ })]),
29466
29563
  append: slots.append ? slotProps => slots.append?.({
29467
29564
  ...slotProps,
29468
29565
  item
@@ -29477,13 +29574,18 @@ const VTreeviewChildren = genericComponent()({
29477
29574
  return children ? createVNode(VTreeviewGroup, mergeProps({
29478
29575
  "value": itemProps?.value
29479
29576
  }, treeviewGroupProps), {
29480
- activator: _ref4 => {
29577
+ activator: _ref3 => {
29481
29578
  let {
29482
29579
  props: activatorProps
29483
- } = _ref4;
29484
- return createVNode(VTreeviewItem, mergeProps(itemProps, activatorProps, {
29580
+ } = _ref3;
29581
+ const listItemProps = {
29582
+ ...itemProps,
29583
+ ...activatorProps,
29584
+ value: itemProps?.value
29585
+ };
29586
+ return createVNode(VTreeviewItem, mergeProps(listItemProps, {
29485
29587
  "loading": loading,
29486
- "onClick": e => onClick(e, item)
29588
+ "onClick": () => checkChildren(item)
29487
29589
  }), slotsWithItem);
29488
29590
  },
29489
29591
  default: () => createVNode(VTreeviewChildren, mergeProps(treeviewChildrenProps, {
@@ -29514,7 +29616,7 @@ const makeVTreeviewProps = propsFactory({
29514
29616
  ...omit(makeVListProps({
29515
29617
  collapseIcon: '$treeviewCollapse',
29516
29618
  expandIcon: '$treeviewExpand',
29517
- selectStrategy: 'independent',
29619
+ selectStrategy: 'classic',
29518
29620
  openStrategy: 'multiple',
29519
29621
  slim: true
29520
29622
  }), ['nav'])
@@ -30135,7 +30237,7 @@ function createVuetify$1() {
30135
30237
  goTo
30136
30238
  };
30137
30239
  }
30138
- const version$1 = "3.6.7-master.2024-05-28";
30240
+ const version$1 = "3.6.8-master.2024-05-30";
30139
30241
  createVuetify$1.version = version$1;
30140
30242
 
30141
30243
  // Vue's inject() can only be used in setup
@@ -30388,7 +30490,7 @@ var index = /*#__PURE__*/Object.freeze({
30388
30490
 
30389
30491
  /* eslint-disable local-rules/sort-imports */
30390
30492
 
30391
- const version = "3.6.7-master.2024-05-28";
30493
+ const version = "3.6.8-master.2024-05-30";
30392
30494
 
30393
30495
  /* eslint-disable local-rules/sort-imports */
30394
30496