@vuetify/nightly 3.7.7-dev.2025-01-20 → 3.7.7-dev.2025-01-23

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 (39) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/dist/json/attributes.json +1847 -1847
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +192 -192
  5. package/dist/json/web-types.json +3645 -3645
  6. package/dist/vuetify-labs.css +3069 -3069
  7. package/dist/vuetify-labs.d.ts +78 -77
  8. package/dist/vuetify-labs.esm.js +113 -73
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +113 -73
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +4776 -4776
  13. package/dist/vuetify.d.ts +78 -77
  14. package/dist/vuetify.esm.js +113 -73
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +113 -73
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +483 -477
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VList/VListGroup.js +1 -0
  22. package/lib/components/VList/VListGroup.js.map +1 -1
  23. package/lib/components/VList/VListItem.js +2 -0
  24. package/lib/components/VList/VListItem.js.map +1 -1
  25. package/lib/composables/display.js +4 -1
  26. package/lib/composables/display.js.map +1 -1
  27. package/lib/composables/nested/nested.d.ts +1 -1
  28. package/lib/composables/nested/nested.js +3 -1
  29. package/lib/composables/nested/nested.js.map +1 -1
  30. package/lib/composables/nested/selectStrategies.d.ts +1 -0
  31. package/lib/composables/nested/selectStrategies.js +21 -0
  32. package/lib/composables/nested/selectStrategies.js.map +1 -1
  33. package/lib/entry-bundler.d.ts +2 -1
  34. package/lib/entry-bundler.js +1 -1
  35. package/lib/framework.d.ts +77 -76
  36. package/lib/framework.js +83 -72
  37. package/lib/framework.js.map +1 -1
  38. package/lib/labs/entry-bundler.d.ts +2 -1
  39. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.7-dev.2025-01-20
2
+ * Vuetify v3.7.7-dev.2025-01-23
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -7178,6 +7178,9 @@
7178
7178
  window.addEventListener('resize', updateSize, {
7179
7179
  passive: true
7180
7180
  });
7181
+ vue.onScopeDispose(() => {
7182
+ window.removeEventListener('resize', updateSize);
7183
+ }, true);
7181
7184
  }
7182
7185
  return {
7183
7186
  ...vue.toRefs(state),
@@ -8498,6 +8501,27 @@
8498
8501
  };
8499
8502
  return strategy;
8500
8503
  };
8504
+ const trunkSelectStrategy = mandatory => {
8505
+ const parentStrategy = classicSelectStrategy(mandatory);
8506
+ const strategy = {
8507
+ select: parentStrategy.select,
8508
+ in: parentStrategy.in,
8509
+ out: (v, children, parents) => {
8510
+ const arr = [];
8511
+ for (const [key, value] of v.entries()) {
8512
+ if (value === 'on') {
8513
+ if (parents.has(key)) {
8514
+ const parent = parents.get(key);
8515
+ if (v.get(parent) === 'on') continue;
8516
+ }
8517
+ arr.push(key);
8518
+ }
8519
+ }
8520
+ return arr;
8521
+ }
8522
+ };
8523
+ return strategy;
8524
+ };
8501
8525
 
8502
8526
  // Composables
8503
8527
 
@@ -8567,6 +8591,8 @@
8567
8591
  return independentSelectStrategy(props.mandatory);
8568
8592
  case 'single-independent':
8569
8593
  return independentSingleSelectStrategy(props.mandatory);
8594
+ case 'trunk':
8595
+ return trunkSelectStrategy(props.mandatory);
8570
8596
  case 'classic':
8571
8597
  default:
8572
8598
  return classicSelectStrategy(props.mandatory);
@@ -8803,6 +8829,7 @@
8803
8829
  } = useSsrBoot();
8804
8830
  function onClick(e) {
8805
8831
  e.stopPropagation();
8832
+ if (['INPUT', 'TEXTAREA'].includes(e.target?.tagName)) return;
8806
8833
  open(!isOpen.value, e);
8807
8834
  }
8808
8835
  const activatorProps = vue.computed(() => ({
@@ -9020,6 +9047,7 @@
9020
9047
  }));
9021
9048
  function onClick(e) {
9022
9049
  emit('click', e);
9050
+ if (['INPUT', 'TEXTAREA'].includes(e.target?.tagName)) return;
9023
9051
  if (!isClickable.value) return;
9024
9052
  link.navigate?.(e);
9025
9053
  if (isGroupActivator) return;
@@ -9032,6 +9060,7 @@
9032
9060
  }
9033
9061
  }
9034
9062
  function onKeyDown(e) {
9063
+ if (['INPUT', 'TEXTAREA'].includes(e.target?.tagName)) return;
9035
9064
  if (e.key === 'Enter' || e.key === ' ') {
9036
9065
  e.preventDefault();
9037
9066
  e.target.dispatchEvent(new MouseEvent('click', e));
@@ -30736,82 +30765,93 @@
30736
30765
  components = {},
30737
30766
  directives = {}
30738
30767
  } = options;
30739
- const defaults = createDefaults(options.defaults);
30740
- const display = createDisplay(options.display, options.ssr);
30741
- const theme = createTheme(options.theme);
30742
- const icons = createIcons(options.icons);
30743
- const locale = createLocale(options.locale);
30744
- const date = createDate(options.date, locale);
30745
- const goTo = createGoTo(options.goTo, locale);
30746
- const install = app => {
30747
- for (const key in directives) {
30748
- app.directive(key, directives[key]);
30749
- }
30750
- for (const key in components) {
30751
- app.component(key, components[key]);
30752
- }
30753
- for (const key in aliases) {
30754
- app.component(key, defineComponent({
30755
- ...aliases[key],
30756
- name: key,
30757
- aliasName: aliases[key].name
30758
- }));
30759
- }
30760
- theme.install(app);
30761
- app.provide(DefaultsSymbol, defaults);
30762
- app.provide(DisplaySymbol, display);
30763
- app.provide(ThemeSymbol, theme);
30764
- app.provide(IconSymbol, icons);
30765
- app.provide(LocaleSymbol, locale);
30766
- app.provide(DateOptionsSymbol, date.options);
30767
- app.provide(DateAdapterSymbol, date.instance);
30768
- app.provide(GoToSymbol, goTo);
30769
- if (IN_BROWSER && options.ssr) {
30770
- if (app.$nuxt) {
30771
- app.$nuxt.hook('app:suspense:resolve', () => {
30772
- display.update();
30768
+ const scope = vue.effectScope();
30769
+ return scope.run(() => {
30770
+ const defaults = createDefaults(options.defaults);
30771
+ const display = createDisplay(options.display, options.ssr);
30772
+ const theme = createTheme(options.theme);
30773
+ const icons = createIcons(options.icons);
30774
+ const locale = createLocale(options.locale);
30775
+ const date = createDate(options.date, locale);
30776
+ const goTo = createGoTo(options.goTo, locale);
30777
+ function install(app) {
30778
+ for (const key in directives) {
30779
+ app.directive(key, directives[key]);
30780
+ }
30781
+ for (const key in components) {
30782
+ app.component(key, components[key]);
30783
+ }
30784
+ for (const key in aliases) {
30785
+ app.component(key, defineComponent({
30786
+ ...aliases[key],
30787
+ name: key,
30788
+ aliasName: aliases[key].name
30789
+ }));
30790
+ }
30791
+ const appScope = vue.effectScope();
30792
+ appScope.run(() => {
30793
+ theme.install(app);
30794
+ });
30795
+ app.onUnmount(() => appScope.stop());
30796
+ app.provide(DefaultsSymbol, defaults);
30797
+ app.provide(DisplaySymbol, display);
30798
+ app.provide(ThemeSymbol, theme);
30799
+ app.provide(IconSymbol, icons);
30800
+ app.provide(LocaleSymbol, locale);
30801
+ app.provide(DateOptionsSymbol, date.options);
30802
+ app.provide(DateAdapterSymbol, date.instance);
30803
+ app.provide(GoToSymbol, goTo);
30804
+ if (IN_BROWSER && options.ssr) {
30805
+ if (app.$nuxt) {
30806
+ app.$nuxt.hook('app:suspense:resolve', () => {
30807
+ display.update();
30808
+ });
30809
+ } else {
30810
+ const {
30811
+ mount
30812
+ } = app;
30813
+ app.mount = function () {
30814
+ const vm = mount(...arguments);
30815
+ vue.nextTick(() => display.update());
30816
+ app.mount = mount;
30817
+ return vm;
30818
+ };
30819
+ }
30820
+ }
30821
+ if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {
30822
+ app.mixin({
30823
+ computed: {
30824
+ $vuetify() {
30825
+ return vue.reactive({
30826
+ defaults: inject.call(this, DefaultsSymbol),
30827
+ display: inject.call(this, DisplaySymbol),
30828
+ theme: inject.call(this, ThemeSymbol),
30829
+ icons: inject.call(this, IconSymbol),
30830
+ locale: inject.call(this, LocaleSymbol),
30831
+ date: inject.call(this, DateAdapterSymbol)
30832
+ });
30833
+ }
30834
+ }
30773
30835
  });
30774
- } else {
30775
- const {
30776
- mount
30777
- } = app;
30778
- app.mount = function () {
30779
- const vm = mount(...arguments);
30780
- vue.nextTick(() => display.update());
30781
- app.mount = mount;
30782
- return vm;
30783
- };
30784
30836
  }
30785
30837
  }
30786
- if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {
30787
- app.mixin({
30788
- computed: {
30789
- $vuetify() {
30790
- return vue.reactive({
30791
- defaults: inject.call(this, DefaultsSymbol),
30792
- display: inject.call(this, DisplaySymbol),
30793
- theme: inject.call(this, ThemeSymbol),
30794
- icons: inject.call(this, IconSymbol),
30795
- locale: inject.call(this, LocaleSymbol),
30796
- date: inject.call(this, DateAdapterSymbol)
30797
- });
30798
- }
30799
- }
30800
- });
30838
+ function unmount() {
30839
+ scope.stop();
30801
30840
  }
30802
- };
30803
- return {
30804
- install,
30805
- defaults,
30806
- display,
30807
- theme,
30808
- icons,
30809
- locale,
30810
- date,
30811
- goTo
30812
- };
30841
+ return {
30842
+ install,
30843
+ unmount,
30844
+ defaults,
30845
+ display,
30846
+ theme,
30847
+ icons,
30848
+ locale,
30849
+ date,
30850
+ goTo
30851
+ };
30852
+ });
30813
30853
  }
30814
- const version$1 = "3.7.7-dev.2025-01-20";
30854
+ const version$1 = "3.7.7-dev.2025-01-23";
30815
30855
  createVuetify$1.version = version$1;
30816
30856
 
30817
30857
  // Vue's inject() can only be used in setup
@@ -31064,7 +31104,7 @@
31064
31104
 
31065
31105
  /* eslint-disable local-rules/sort-imports */
31066
31106
 
31067
- const version = "3.7.7-dev.2025-01-20";
31107
+ const version = "3.7.7-dev.2025-01-23";
31068
31108
 
31069
31109
  /* eslint-disable local-rules/sort-imports */
31070
31110