@vuetify/nightly 3.7.6-dev.2024-12-18 → 3.7.6-dev.2025-01-06

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 (41) hide show
  1. package/dist/json/attributes.json +3231 -3223
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +150 -150
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +5961 -5941
  6. package/dist/vuetify-labs.css +3903 -3903
  7. package/dist/vuetify-labs.d.ts +30 -0
  8. package/dist/vuetify-labs.esm.js +39 -18
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +39 -18
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +4335 -4335
  13. package/dist/vuetify.d.ts +82 -52
  14. package/dist/vuetify.esm.js +39 -18
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +39 -18
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +741 -736
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.mts +2 -0
  22. package/lib/blueprints/md1.d.mts +2 -0
  23. package/lib/blueprints/md2.d.mts +2 -0
  24. package/lib/blueprints/md3.d.mts +2 -0
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  27. package/lib/components/VCombobox/VCombobox.mjs +2 -1
  28. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  29. package/lib/components/VDataTable/index.d.mts +14 -0
  30. package/lib/components/VSelect/VSelect.mjs +2 -1
  31. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  32. package/lib/components/VVirtualScroll/index.d.mts +17 -1
  33. package/lib/components/index.d.mts +28 -0
  34. package/lib/composables/theme.mjs +18 -7
  35. package/lib/composables/theme.mjs.map +1 -1
  36. package/lib/composables/virtual.mjs +13 -6
  37. package/lib/composables/virtual.mjs.map +1 -1
  38. package/lib/entry-bundler.mjs +1 -1
  39. package/lib/framework.mjs +1 -1
  40. package/lib/index.d.mts +54 -52
  41. package/package.json +1 -1
@@ -135,6 +135,8 @@ type ThemeOptions = false | {
135
135
  defaultTheme?: string;
136
136
  variations?: false | VariationsOptions;
137
137
  themes?: Record<string, ThemeDefinition>;
138
+ stylesheetId?: string;
139
+ scope?: string;
138
140
  };
139
141
  type ThemeDefinition = DeepPartial<InternalThemeDefinition>;
140
142
  interface VariationsOptions {
@@ -22009,6 +22011,7 @@ declare const VDataTableVirtual: {
22009
22011
  filterMode: FilterMode;
22010
22012
  noFilter: boolean;
22011
22013
  itemHeight: string | number;
22014
+ itemKey: SelectItemKey;
22012
22015
  hideNoData: boolean;
22013
22016
  hover: boolean;
22014
22017
  multiSort: boolean;
@@ -22111,6 +22114,7 @@ declare const VDataTableVirtual: {
22111
22114
  filterMode: FilterMode;
22112
22115
  noFilter: boolean;
22113
22116
  itemHeight: string | number;
22117
+ itemKey: SelectItemKey;
22114
22118
  hideNoData: boolean;
22115
22119
  hover: boolean;
22116
22120
  multiSort: boolean;
@@ -22191,6 +22195,7 @@ declare const VDataTableVirtual: {
22191
22195
  filterMode: FilterMode;
22192
22196
  noFilter: boolean;
22193
22197
  itemHeight: string | number;
22198
+ itemKey: SelectItemKey;
22194
22199
  hideNoData: boolean;
22195
22200
  hover: boolean;
22196
22201
  multiSort: boolean;
@@ -22287,6 +22292,7 @@ declare const VDataTableVirtual: {
22287
22292
  filterMode: FilterMode;
22288
22293
  noFilter: boolean;
22289
22294
  itemHeight: string | number;
22295
+ itemKey: SelectItemKey;
22290
22296
  hideNoData: boolean;
22291
22297
  hover: boolean;
22292
22298
  multiSort: boolean;
@@ -22323,6 +22329,7 @@ declare const VDataTableVirtual: {
22323
22329
  filterMode: FilterMode;
22324
22330
  noFilter: boolean;
22325
22331
  itemHeight: string | number;
22332
+ itemKey: SelectItemKey;
22326
22333
  hideNoData: boolean;
22327
22334
  hover: boolean;
22328
22335
  multiSort: boolean;
@@ -22425,6 +22432,7 @@ declare const VDataTableVirtual: {
22425
22432
  filterMode: FilterMode;
22426
22433
  noFilter: boolean;
22427
22434
  itemHeight: string | number;
22435
+ itemKey: SelectItemKey;
22428
22436
  hideNoData: boolean;
22429
22437
  hover: boolean;
22430
22438
  multiSort: boolean;
@@ -22503,6 +22511,10 @@ declare const VDataTableVirtual: {
22503
22511
  type: (StringConstructor | NumberConstructor)[];
22504
22512
  default: null;
22505
22513
  };
22514
+ itemKey: {
22515
+ type: vue.PropType<SelectItemKey>;
22516
+ default: null;
22517
+ };
22506
22518
  height: (StringConstructor | NumberConstructor)[];
22507
22519
  groupBy: {
22508
22520
  type: vue.PropType<readonly SortItem[]>;
@@ -22615,6 +22627,10 @@ declare const VDataTableVirtual: {
22615
22627
  type: (StringConstructor | NumberConstructor)[];
22616
22628
  default: null;
22617
22629
  };
22630
+ itemKey: {
22631
+ type: vue.PropType<SelectItemKey>;
22632
+ default: null;
22633
+ };
22618
22634
  height: (StringConstructor | NumberConstructor)[];
22619
22635
  groupBy: {
22620
22636
  type: vue.PropType<readonly SortItem[]>;
@@ -55690,6 +55706,7 @@ declare const VVirtualScroll: {
55690
55706
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<{
55691
55707
  style: vue.StyleValue;
55692
55708
  itemHeight: string | number;
55709
+ itemKey: SelectItemKey;
55693
55710
  } & {
55694
55711
  height?: string | number | undefined;
55695
55712
  width?: string | number | undefined;
@@ -55704,6 +55721,7 @@ declare const VVirtualScroll: {
55704
55721
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "renderless">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
55705
55722
  style: vue.StyleValue;
55706
55723
  itemHeight: string | number;
55724
+ itemKey: SelectItemKey;
55707
55725
  }, true, {}, vue.SlotsType<Partial<{
55708
55726
  default: (arg: VVirtualScrollSlot<unknown> | (VVirtualScrollSlot<unknown> & {
55709
55727
  itemRef: Ref<HTMLElement | undefined>;
@@ -55718,6 +55736,7 @@ declare const VVirtualScroll: {
55718
55736
  }, {
55719
55737
  style: vue.StyleValue;
55720
55738
  itemHeight: string | number;
55739
+ itemKey: SelectItemKey;
55721
55740
  } & {
55722
55741
  height?: string | number | undefined;
55723
55742
  width?: string | number | undefined;
@@ -55732,6 +55751,7 @@ declare const VVirtualScroll: {
55732
55751
  }, {}, {}, {}, {
55733
55752
  style: vue.StyleValue;
55734
55753
  itemHeight: string | number;
55754
+ itemKey: SelectItemKey;
55735
55755
  }>;
55736
55756
  __isFragment?: never;
55737
55757
  __isTeleport?: never;
@@ -55739,6 +55759,7 @@ declare const VVirtualScroll: {
55739
55759
  } & vue.ComponentOptionsBase<{
55740
55760
  style: vue.StyleValue;
55741
55761
  itemHeight: string | number;
55762
+ itemKey: SelectItemKey;
55742
55763
  } & {
55743
55764
  height?: string | number | undefined;
55744
55765
  width?: string | number | undefined;
@@ -55753,6 +55774,7 @@ declare const VVirtualScroll: {
55753
55774
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "renderless">, string, {
55754
55775
  style: vue.StyleValue;
55755
55776
  itemHeight: string | number;
55777
+ itemKey: SelectItemKey;
55756
55778
  }, {}, string, vue.SlotsType<Partial<{
55757
55779
  default: (arg: VVirtualScrollSlot<unknown> | (VVirtualScrollSlot<unknown> & {
55758
55780
  itemRef: Ref<HTMLElement | undefined>;
@@ -55780,6 +55802,10 @@ declare const VVirtualScroll: {
55780
55802
  type: (StringConstructor | NumberConstructor)[];
55781
55803
  default: null;
55782
55804
  };
55805
+ itemKey: {
55806
+ type: PropType<SelectItemKey>;
55807
+ default: null;
55808
+ };
55783
55809
  items: {
55784
55810
  type: PropType<readonly unknown[]>;
55785
55811
  default: () => never[];
@@ -55801,6 +55827,10 @@ declare const VVirtualScroll: {
55801
55827
  type: (StringConstructor | NumberConstructor)[];
55802
55828
  default: null;
55803
55829
  };
55830
+ itemKey: {
55831
+ type: PropType<SelectItemKey>;
55832
+ default: null;
55833
+ };
55804
55834
  items: {
55805
55835
  type: PropType<readonly unknown[]>;
55806
55836
  default: () => never[];
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.6-dev.2024-12-18
2
+ * Vuetify v3.7.6-dev.2025-01-06
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2344,7 +2344,8 @@ function genDefaults$2() {
2344
2344
  'theme-on-code': '#CCCCCC'
2345
2345
  }
2346
2346
  }
2347
- }
2347
+ },
2348
+ stylesheetId: 'vuetify-theme-stylesheet'
2348
2349
  };
2349
2350
  }
2350
2351
  function parseThemeOptions() {
@@ -2401,6 +2402,19 @@ function createTheme(options) {
2401
2402
  return acc;
2402
2403
  });
2403
2404
  const current = computed(() => computedThemes.value[name.value]);
2405
+ function createCssClass(lines, selector, content) {
2406
+ lines.push(`${getScopedSelector(selector)} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
2407
+ }
2408
+ function getScopedSelector(selector) {
2409
+ if (!parsedOptions.scope) {
2410
+ return selector;
2411
+ }
2412
+ const scopeSelector = `:where(${parsedOptions.scope})`;
2413
+ if (selector === ':root') {
2414
+ return scopeSelector;
2415
+ }
2416
+ return `${scopeSelector} ${selector}`;
2417
+ }
2404
2418
  const styles = computed(() => {
2405
2419
  const lines = [];
2406
2420
  if (current.value?.dark) {
@@ -2429,7 +2443,7 @@ function createTheme(options) {
2429
2443
  return {
2430
2444
  style: [{
2431
2445
  children: styles.value,
2432
- id: 'vuetify-theme-stylesheet',
2446
+ id: parsedOptions.stylesheetId,
2433
2447
  nonce: parsedOptions.cspNonce || false
2434
2448
  }]
2435
2449
  };
@@ -2454,7 +2468,7 @@ function createTheme(options) {
2454
2468
  }
2455
2469
  }
2456
2470
  } else {
2457
- let styleEl = IN_BROWSER ? document.getElementById('vuetify-theme-stylesheet') : null;
2471
+ let styleEl = IN_BROWSER ? document.getElementById(parsedOptions.stylesheetId) : null;
2458
2472
  if (IN_BROWSER) {
2459
2473
  watch(styles, updateStyles, {
2460
2474
  immediate: true
@@ -2466,7 +2480,7 @@ function createTheme(options) {
2466
2480
  if (typeof document !== 'undefined' && !styleEl) {
2467
2481
  const el = document.createElement('style');
2468
2482
  el.type = 'text/css';
2469
- el.id = 'vuetify-theme-stylesheet';
2483
+ el.id = parsedOptions.stylesheetId;
2470
2484
  if (parsedOptions.cspNonce) el.setAttribute('nonce', parsedOptions.cspNonce);
2471
2485
  styleEl = el;
2472
2486
  document.head.appendChild(styleEl);
@@ -2515,9 +2529,6 @@ function useTheme() {
2515
2529
  if (!theme) throw new Error('Could not find Vuetify theme injection');
2516
2530
  return theme;
2517
2531
  }
2518
- function createCssClass(lines, selector, content) {
2519
- lines.push(`${selector} {\n`, ...content.map(line => ` ${line};\n`), '}\n');
2520
- }
2521
2532
  function genCssVariables(theme) {
2522
2533
  const lightOverlay = theme.dark ? 2 : 1;
2523
2534
  const darkOverlay = theme.dark ? 1 : 2;
@@ -11963,6 +11974,10 @@ const makeVirtualProps = propsFactory({
11963
11974
  type: [Number, String],
11964
11975
  default: null
11965
11976
  },
11977
+ itemKey: {
11978
+ type: [String, Array, Function],
11979
+ default: null
11980
+ },
11966
11981
  height: [Number, String]
11967
11982
  }, 'virtual');
11968
11983
  function useVirtual(props, items) {
@@ -12141,11 +12156,14 @@ function useVirtual(props, items) {
12141
12156
  }
12142
12157
  }
12143
12158
  const computedItems = computed(() => {
12144
- return items.value.slice(first.value, last.value).map((item, index) => ({
12145
- raw: item,
12146
- index: index + first.value,
12147
- key: isObject(item) && 'value' in item ? item.value : index + first.value
12148
- }));
12159
+ return items.value.slice(first.value, last.value).map((item, index) => {
12160
+ const _index = index + first.value;
12161
+ return {
12162
+ raw: item,
12163
+ index: _index,
12164
+ key: getPropertyFromItem(item, props.itemKey, _index)
12165
+ };
12166
+ });
12149
12167
  });
12150
12168
  watch(items, () => {
12151
12169
  sizes = Array.from({
@@ -12663,7 +12681,8 @@ const VSelect = genericComponent()({
12663
12681
  }, null)), createVNode(VVirtualScroll, {
12664
12682
  "ref": vVirtualScrollRef,
12665
12683
  "renderless": true,
12666
- "items": displayItems.value
12684
+ "items": displayItems.value,
12685
+ "itemKey": "value"
12667
12686
  }, {
12668
12687
  default: _ref2 => {
12669
12688
  let {
@@ -13238,7 +13257,8 @@ const VAutocomplete = genericComponent()({
13238
13257
  }, null)), createVNode(VVirtualScroll, {
13239
13258
  "ref": vVirtualScrollRef,
13240
13259
  "renderless": true,
13241
- "items": displayItems.value
13260
+ "items": displayItems.value,
13261
+ "itemKey": "value"
13242
13262
  }, {
13243
13263
  default: _ref4 => {
13244
13264
  let {
@@ -17118,7 +17138,8 @@ const VCombobox = genericComponent()({
17118
17138
  }, null)), createVNode(VVirtualScroll, {
17119
17139
  "ref": vVirtualScrollRef,
17120
17140
  "renderless": true,
17121
- "items": displayItems.value
17141
+ "items": displayItems.value,
17142
+ "itemKey": "value"
17122
17143
  }, {
17123
17144
  default: _ref4 => {
17124
17145
  let {
@@ -30744,7 +30765,7 @@ function createVuetify$1() {
30744
30765
  goTo
30745
30766
  };
30746
30767
  }
30747
- const version$1 = "3.7.6-dev.2024-12-18";
30768
+ const version$1 = "3.7.6-dev.2025-01-06";
30748
30769
  createVuetify$1.version = version$1;
30749
30770
 
30750
30771
  // Vue's inject() can only be used in setup
@@ -30997,7 +31018,7 @@ var index = /*#__PURE__*/Object.freeze({
30997
31018
 
30998
31019
  /* eslint-disable local-rules/sort-imports */
30999
31020
 
31000
- const version = "3.7.6-dev.2024-12-18";
31021
+ const version = "3.7.6-dev.2025-01-06";
31001
31022
 
31002
31023
  /* eslint-disable local-rules/sort-imports */
31003
31024