@vuetify/nightly 3.6.7-master.2024-05-29 → 3.6.8-master.2024-05-31

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 (60) hide show
  1. package/CHANGELOG.md +4 -11
  2. package/dist/json/attributes.json +5 -5
  3. package/dist/json/importMap-labs.json +34 -34
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/web-types.json +36 -36
  6. package/dist/vuetify-labs.css +2940 -2939
  7. package/dist/vuetify-labs.d.ts +450 -1374
  8. package/dist/vuetify-labs.esm.js +128 -39
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +128 -39
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +706 -705
  13. package/dist/vuetify.d.ts +398 -1132
  14. package/dist/vuetify.esm.js +24 -8
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +24 -8
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +11 -11
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/index.d.mts +102 -336
  22. package/lib/components/VBanner/VBanner.css +1 -0
  23. package/lib/components/VBanner/VBanner.sass +1 -0
  24. package/lib/components/VBanner/_variables.scss +1 -0
  25. package/lib/components/VCombobox/index.d.mts +102 -336
  26. package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -0
  27. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  28. package/lib/components/VEmptyState/VEmptyState.css +2 -2
  29. package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
  30. package/lib/components/VEmptyState/VEmptyState.mjs.map +1 -1
  31. package/lib/components/VEmptyState/_variables.scss +2 -2
  32. package/lib/components/VList/VList.mjs +3 -1
  33. package/lib/components/VList/VList.mjs.map +1 -1
  34. package/lib/components/VList/VListGroup.mjs +1 -0
  35. package/lib/components/VList/VListGroup.mjs.map +1 -1
  36. package/lib/components/VList/VListItem.css +2 -2
  37. package/lib/components/VList/VListItem.mjs +2 -0
  38. package/lib/components/VList/VListItem.mjs.map +1 -1
  39. package/lib/components/VList/VListItem.sass +1 -1
  40. package/lib/components/VList/index.d.mts +52 -66
  41. package/lib/components/VSelect/index.d.mts +102 -336
  42. package/lib/components/VSelectionControl/VSelectionControl.mjs +9 -1
  43. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  44. package/lib/components/VTabs/VTabs.mjs +2 -2
  45. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  46. package/lib/components/index.d.mts +340 -1074
  47. package/lib/composables/filter.mjs +1 -1
  48. package/lib/composables/filter.mjs.map +1 -1
  49. package/lib/entry-bundler.mjs +1 -1
  50. package/lib/framework.mjs +1 -1
  51. package/lib/index.d.mts +58 -58
  52. package/lib/labs/VTreeview/VTreeview.mjs +1 -1
  53. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  54. package/lib/labs/VTreeview/VTreeviewChildren.mjs +30 -25
  55. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  56. package/lib/labs/VTreeview/VTreeviewItem.mjs +81 -10
  57. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  58. package/lib/labs/VTreeview/index.d.mts +110 -300
  59. package/lib/labs/components.d.mts +110 -300
  60. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.7-master.2024-05-29
2
+ * Vuetify v3.6.8-master.2024-05-31
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,
@@ -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];
@@ -22230,7 +22246,7 @@ const VEmptyState = genericComponent()({
22230
22246
  "defaults": {
22231
22247
  VBtn: {
22232
22248
  class: 'v-empty-state__action-btn',
22233
- color: props.color,
22249
+ color: props.color ?? 'surface-variant',
22234
22250
  text: props.actionText
22235
22251
  }
22236
22252
  }
@@ -26675,9 +26691,9 @@ const VTabs = genericComponent()({
26675
26691
  "key": item.text,
26676
26692
  "value": item.value
26677
26693
  }), {
26678
- default: () => slots[`tab.${item.value}`]?.({
26694
+ default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({
26679
26695
  item
26680
- })
26696
+ }) : undefined
26681
26697
  }))]
26682
26698
  }), hasWindow && createVNode(VTabsWindow, mergeProps({
26683
26699
  "modelValue": model.value,
@@ -29359,32 +29375,100 @@ const VTreeviewItem = genericComponent()({
29359
29375
  emit
29360
29376
  } = _ref;
29361
29377
  const link = useLink(props, attrs);
29362
- const id = computed(() => props.value === undefined ? link.href.value : props.value);
29378
+ const rawId = computed(() => props.value === undefined ? link.href.value : props.value);
29363
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
+ }));
29364
29400
  const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list));
29365
- function onClick(e) {
29366
- if (!vListItemRef.value?.isGroupActivator || !isClickable.value) return;
29367
- 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
+ }
29368
29410
  }
29369
29411
  function onKeyDown(e) {
29370
29412
  if (e.key === 'Enter' || e.key === ' ') {
29371
29413
  e.preventDefault();
29372
- onClick(e);
29414
+ activateItem(e);
29373
29415
  }
29374
29416
  }
29375
29417
  const visibleIds = inject$1(VTreeviewSymbol, {
29376
29418
  visibleIds: ref()
29377
29419
  }).visibleIds;
29378
29420
  useRender(() => {
29421
+ const hasTitle = slots.title || props.title != null;
29422
+ const hasSubtitle = slots.subtitle || props.subtitle != null;
29379
29423
  const listItemProps = VListItem.filterProps(props);
29380
29424
  const hasPrepend = slots.prepend || props.toggleIcon;
29381
- 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({
29382
29465
  "ref": vListItemRef
29383
29466
  }, listItemProps, {
29384
29467
  "class": ['v-treeview-item', {
29385
29468
  'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
29386
29469
  }, props.class],
29387
- "onClick": onClick,
29470
+ "value": id.value,
29471
+ "onClick": activateItem,
29388
29472
  "onKeydown": isClickable.value && onKeyDown
29389
29473
  }), {
29390
29474
  ...slots,
@@ -29423,7 +29507,8 @@ const makeVTreeviewChildrenProps = propsFactory({
29423
29507
  default: '$loading'
29424
29508
  },
29425
29509
  items: Array,
29426
- selectable: Boolean
29510
+ selectable: Boolean,
29511
+ selectStrategy: [String, Function, Object]
29427
29512
  }, 'VTreeviewChildren');
29428
29513
  const VTreeviewChildren = genericComponent()({
29429
29514
  name: 'VTreeviewChildren',
@@ -29447,9 +29532,10 @@ const VTreeviewChildren = genericComponent()({
29447
29532
  isLoading.value = null;
29448
29533
  });
29449
29534
  }
29450
- function onClick(e, item) {
29451
- e.stopPropagation();
29452
- checkChildren(item);
29535
+ function selectItem(select, isSelected) {
29536
+ if (props.selectable) {
29537
+ select(!isSelected);
29538
+ }
29453
29539
  }
29454
29540
  return () => slots.default?.() ?? props.items?.map(_ref2 => {
29455
29541
  let {
@@ -29459,23 +29545,21 @@ const VTreeviewChildren = genericComponent()({
29459
29545
  } = _ref2;
29460
29546
  const loading = isLoading.value === item.value;
29461
29547
  const slotsWithItem = {
29462
- 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?.({
29463
29560
  ...slotProps,
29464
29561
  item
29465
- }) : props.selectable ? _ref3 => {
29466
- let {
29467
- isSelected,
29468
- isIndeterminate
29469
- } = _ref3;
29470
- return createVNode(VCheckboxBtn, {
29471
- "key": item.value,
29472
- "tabindex": "-1",
29473
- "modelValue": isSelected,
29474
- "loading": loading,
29475
- "indeterminate": isIndeterminate,
29476
- "onClick": e => onClick(e, item)
29477
- }, null);
29478
- } : undefined,
29562
+ })]),
29479
29563
  append: slots.append ? slotProps => slots.append?.({
29480
29564
  ...slotProps,
29481
29565
  item
@@ -29490,13 +29574,18 @@ const VTreeviewChildren = genericComponent()({
29490
29574
  return children ? createVNode(VTreeviewGroup, mergeProps({
29491
29575
  "value": itemProps?.value
29492
29576
  }, treeviewGroupProps), {
29493
- activator: _ref4 => {
29577
+ activator: _ref3 => {
29494
29578
  let {
29495
29579
  props: activatorProps
29496
- } = _ref4;
29497
- 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, {
29498
29587
  "loading": loading,
29499
- "onClick": e => onClick(e, item)
29588
+ "onClick": () => checkChildren(item)
29500
29589
  }), slotsWithItem);
29501
29590
  },
29502
29591
  default: () => createVNode(VTreeviewChildren, mergeProps(treeviewChildrenProps, {
@@ -29527,7 +29616,7 @@ const makeVTreeviewProps = propsFactory({
29527
29616
  ...omit(makeVListProps({
29528
29617
  collapseIcon: '$treeviewCollapse',
29529
29618
  expandIcon: '$treeviewExpand',
29530
- selectStrategy: 'independent',
29619
+ selectStrategy: 'classic',
29531
29620
  openStrategy: 'multiple',
29532
29621
  slim: true
29533
29622
  }), ['nav'])
@@ -30148,7 +30237,7 @@ function createVuetify$1() {
30148
30237
  goTo
30149
30238
  };
30150
30239
  }
30151
- const version$1 = "3.6.7-master.2024-05-29";
30240
+ const version$1 = "3.6.8-master.2024-05-31";
30152
30241
  createVuetify$1.version = version$1;
30153
30242
 
30154
30243
  // Vue's inject() can only be used in setup
@@ -30401,7 +30490,7 @@ var index = /*#__PURE__*/Object.freeze({
30401
30490
 
30402
30491
  /* eslint-disable local-rules/sort-imports */
30403
30492
 
30404
- const version = "3.6.7-master.2024-05-29";
30493
+ const version = "3.6.8-master.2024-05-31";
30405
30494
 
30406
30495
  /* eslint-disable local-rules/sort-imports */
30407
30496