@vuetify/nightly 3.1.13 → 3.1.14-master-20230406.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 +11 -2
  2. package/dist/json/attributes.json +24 -4
  3. package/dist/json/importMap.json +40 -40
  4. package/dist/json/tags.json +5 -0
  5. package/dist/json/web-types.json +83 -38
  6. package/dist/vuetify-labs.css +1141 -1136
  7. package/dist/vuetify-labs.d.ts +140 -84
  8. package/dist/vuetify-labs.esm.js +29 -24
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +29 -24
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +344 -339
  13. package/dist/vuetify.d.ts +41 -11
  14. package/dist/vuetify.esm.js +13 -9
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +13 -9
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +9 -8
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/index.d.ts +6 -0
  22. package/lib/components/VCombobox/index.d.ts +6 -0
  23. package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
  24. package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
  25. package/lib/components/VProgressCircular/_variables.scss +1 -0
  26. package/lib/components/VProgressLinear/VProgressLinear.css +5 -2
  27. package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
  28. package/lib/components/VProgressLinear/_variables.scss +1 -1
  29. package/lib/components/VSelect/index.d.ts +6 -0
  30. package/lib/components/VTextField/VTextField.mjs +2 -1
  31. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  32. package/lib/components/VTextField/index.d.ts +6 -0
  33. package/lib/components/VTextarea/VTextarea.mjs +8 -5
  34. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  35. package/lib/components/VTextarea/index.d.ts +6 -0
  36. package/lib/components/index.d.ts +30 -0
  37. package/lib/entry-bundler.mjs +1 -1
  38. package/lib/entry-bundler.mjs.map +1 -1
  39. package/lib/framework.mjs +1 -1
  40. package/lib/framework.mjs.map +1 -1
  41. package/lib/index.d.ts +11 -11
  42. package/lib/labs/VDataTable/VDataTable.mjs +4 -4
  43. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  44. package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
  45. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  46. package/lib/labs/VDataTable/VDataTableServer.mjs +3 -2
  47. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  48. package/lib/labs/VDataTable/VDataTableVirtual.mjs +4 -2
  49. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  50. package/lib/labs/VDataTable/index.d.ts +110 -84
  51. package/lib/labs/components.d.ts +110 -84
  52. package/package.json +2 -2
@@ -3320,6 +3320,7 @@ declare const VAutocomplete: {
3320
3320
  persistentCounter: BooleanConstructor;
3321
3321
  suffix: StringConstructor;
3322
3322
  counterValue: vue.PropType<(value: any) => number>;
3323
+ modelModifiers: vue.PropType<Record<string, boolean>>;
3323
3324
  items: {
3324
3325
  type: vue.PropType<any[]>;
3325
3326
  default: () => never[];
@@ -3802,6 +3803,7 @@ declare const VAutocomplete: {
3802
3803
  persistentCounter: BooleanConstructor;
3803
3804
  suffix: StringConstructor;
3804
3805
  counterValue: vue.PropType<(value: any) => number>;
3806
+ modelModifiers: vue.PropType<Record<string, boolean>>;
3805
3807
  items: {
3806
3808
  type: vue.PropType<any[]>;
3807
3809
  default: () => never[];
@@ -4346,6 +4348,7 @@ declare const VAutocomplete: {
4346
4348
  persistentCounter: BooleanConstructor;
4347
4349
  suffix: StringConstructor;
4348
4350
  counterValue: vue.PropType<(value: any) => number>;
4351
+ modelModifiers: vue.PropType<Record<string, boolean>>;
4349
4352
  items: {
4350
4353
  type: vue.PropType<any[]>;
4351
4354
  default: () => never[];
@@ -4827,6 +4830,7 @@ declare const VAutocomplete: {
4827
4830
  persistentCounter: BooleanConstructor;
4828
4831
  suffix: StringConstructor;
4829
4832
  counterValue: vue.PropType<(value: any) => number>;
4833
+ modelModifiers: vue.PropType<Record<string, boolean>>;
4830
4834
  items: {
4831
4835
  type: vue.PropType<any[]>;
4832
4836
  default: () => never[];
@@ -5467,6 +5471,7 @@ declare const VAutocomplete: {
5467
5471
  persistentCounter: BooleanConstructor;
5468
5472
  suffix: StringConstructor;
5469
5473
  counterValue: vue.PropType<(value: any) => number>;
5474
+ modelModifiers: vue.PropType<Record<string, boolean>>;
5470
5475
  items: {
5471
5476
  type: vue.PropType<any[]>;
5472
5477
  default: () => never[];
@@ -5932,6 +5937,7 @@ declare const VAutocomplete: {
5932
5937
  persistentCounter: BooleanConstructor;
5933
5938
  suffix: StringConstructor;
5934
5939
  counterValue: vue.PropType<(value: any) => number>;
5940
+ modelModifiers: vue.PropType<Record<string, boolean>>;
5935
5941
  items: {
5936
5942
  type: vue.PropType<any[]>;
5937
5943
  default: () => never[];
@@ -14603,6 +14609,7 @@ declare const VCombobox: {
14603
14609
  persistentCounter: BooleanConstructor;
14604
14610
  suffix: StringConstructor;
14605
14611
  counterValue: PropType<(value: any) => number>;
14612
+ modelModifiers: PropType<Record<string, boolean>>;
14606
14613
  items: {
14607
14614
  type: PropType<any[]>;
14608
14615
  default: () => never[];
@@ -15091,6 +15098,7 @@ declare const VCombobox: {
15091
15098
  persistentCounter: BooleanConstructor;
15092
15099
  suffix: StringConstructor;
15093
15100
  counterValue: PropType<(value: any) => number>;
15101
+ modelModifiers: PropType<Record<string, boolean>>;
15094
15102
  items: {
15095
15103
  type: PropType<any[]>;
15096
15104
  default: () => never[];
@@ -15640,6 +15648,7 @@ declare const VCombobox: {
15640
15648
  persistentCounter: BooleanConstructor;
15641
15649
  suffix: StringConstructor;
15642
15650
  counterValue: PropType<(value: any) => number>;
15651
+ modelModifiers: PropType<Record<string, boolean>>;
15643
15652
  items: {
15644
15653
  type: PropType<any[]>;
15645
15654
  default: () => never[];
@@ -16126,6 +16135,7 @@ declare const VCombobox: {
16126
16135
  persistentCounter: BooleanConstructor;
16127
16136
  suffix: StringConstructor;
16128
16137
  counterValue: PropType<(value: any) => number>;
16138
+ modelModifiers: PropType<Record<string, boolean>>;
16129
16139
  items: {
16130
16140
  type: PropType<any[]>;
16131
16141
  default: () => never[];
@@ -16771,6 +16781,7 @@ declare const VCombobox: {
16771
16781
  persistentCounter: BooleanConstructor;
16772
16782
  suffix: StringConstructor;
16773
16783
  counterValue: PropType<(value: any) => number>;
16784
+ modelModifiers: PropType<Record<string, boolean>>;
16774
16785
  items: {
16775
16786
  type: PropType<any[]>;
16776
16787
  default: () => never[];
@@ -17242,6 +17253,7 @@ declare const VCombobox: {
17242
17253
  persistentCounter: BooleanConstructor;
17243
17254
  suffix: StringConstructor;
17244
17255
  counterValue: PropType<(value: any) => number>;
17256
+ modelModifiers: PropType<Record<string, boolean>>;
17245
17257
  items: {
17246
17258
  type: PropType<any[]>;
17247
17259
  default: () => never[];
@@ -40960,6 +40972,7 @@ declare const VSelect: {
40960
40972
  persistentCounter: BooleanConstructor;
40961
40973
  suffix: StringConstructor;
40962
40974
  counterValue: PropType<(value: any) => number>;
40975
+ modelModifiers: PropType<Record<string, boolean>>;
40963
40976
  items: {
40964
40977
  type: PropType<any[]>;
40965
40978
  default: () => never[];
@@ -41637,6 +41650,7 @@ declare const VSelect: {
41637
41650
  persistentCounter: BooleanConstructor;
41638
41651
  suffix: StringConstructor;
41639
41652
  counterValue: PropType<(value: any) => number>;
41653
+ modelModifiers: PropType<Record<string, boolean>>;
41640
41654
  items: {
41641
41655
  type: PropType<any[]>;
41642
41656
  default: () => never[];
@@ -42470,6 +42484,7 @@ declare const VSelect: {
42470
42484
  persistentCounter: BooleanConstructor;
42471
42485
  suffix: StringConstructor;
42472
42486
  counterValue: PropType<(value: any) => number>;
42487
+ modelModifiers: PropType<Record<string, boolean>>;
42473
42488
  items: {
42474
42489
  type: PropType<any[]>;
42475
42490
  default: () => never[];
@@ -43140,6 +43155,7 @@ declare const VSelect: {
43140
43155
  persistentCounter: BooleanConstructor;
43141
43156
  suffix: StringConstructor;
43142
43157
  counterValue: PropType<(value: any) => number>;
43158
+ modelModifiers: PropType<Record<string, boolean>>;
43143
43159
  items: {
43144
43160
  type: PropType<any[]>;
43145
43161
  default: () => never[];
@@ -44069,6 +44085,7 @@ declare const VSelect: {
44069
44085
  persistentCounter: BooleanConstructor;
44070
44086
  suffix: StringConstructor;
44071
44087
  counterValue: PropType<(value: any) => number>;
44088
+ modelModifiers: PropType<Record<string, boolean>>;
44072
44089
  items: {
44073
44090
  type: PropType<any[]>;
44074
44091
  default: () => never[];
@@ -44730,6 +44747,7 @@ declare const VSelect: {
44730
44747
  persistentCounter: BooleanConstructor;
44731
44748
  suffix: StringConstructor;
44732
44749
  counterValue: PropType<(value: any) => number>;
44750
+ modelModifiers: PropType<Record<string, boolean>>;
44733
44751
  items: {
44734
44752
  type: PropType<any[]>;
44735
44753
  default: () => never[];
@@ -50114,6 +50132,7 @@ declare const VTextarea: {
50114
50132
  hint?: string | undefined;
50115
50133
  suffix?: string | undefined;
50116
50134
  counterValue?: ((value: any) => number) | undefined;
50135
+ modelModifiers?: Record<string, boolean> | undefined;
50117
50136
  maxRows?: string | number | undefined;
50118
50137
  } & {
50119
50138
  $children?: {} | vue.VNodeChild | {
@@ -50227,6 +50246,7 @@ declare const VTextarea: {
50227
50246
  hint?: string | undefined;
50228
50247
  suffix?: string | undefined;
50229
50248
  counterValue?: ((value: any) => number) | undefined;
50249
+ modelModifiers?: Record<string, boolean> | undefined;
50230
50250
  maxRows?: string | number | undefined;
50231
50251
  } & {
50232
50252
  $children?: {} | vue.VNodeChild | {
@@ -50593,6 +50613,7 @@ declare const VTextarea: {
50593
50613
  hint?: string | undefined;
50594
50614
  suffix?: string | undefined;
50595
50615
  counterValue?: ((value: any) => number) | undefined;
50616
+ modelModifiers?: Record<string, boolean> | undefined;
50596
50617
  maxRows?: string | number | undefined;
50597
50618
  } & {
50598
50619
  $children?: {} | vue.VNodeChild | {
@@ -50912,6 +50933,7 @@ declare const VTextarea: {
50912
50933
  hint?: string | undefined;
50913
50934
  suffix?: string | undefined;
50914
50935
  counterValue?: ((value: any) => number) | undefined;
50936
+ modelModifiers?: Record<string, boolean> | undefined;
50915
50937
  maxRows?: string | number | undefined;
50916
50938
  } & {
50917
50939
  $children?: {} | vue.VNodeChild | {
@@ -51292,6 +51314,7 @@ declare const VTextarea: {
51292
51314
  validator: (v: any) => boolean;
51293
51315
  };
51294
51316
  suffix: StringConstructor;
51317
+ modelModifiers: PropType<Record<string, boolean>>;
51295
51318
  }, vue.ExtractPropTypes<{
51296
51319
  loading: (StringConstructor | BooleanConstructor)[];
51297
51320
  theme: StringConstructor;
@@ -51379,6 +51402,7 @@ declare const VTextarea: {
51379
51402
  validator: (v: any) => boolean;
51380
51403
  };
51381
51404
  suffix: StringConstructor;
51405
+ modelModifiers: PropType<Record<string, boolean>>;
51382
51406
  }>>;
51383
51407
  type VTextarea = InstanceType<typeof VTextarea>;
51384
51408
 
@@ -51461,6 +51485,7 @@ declare const VTextField: {
51461
51485
  hint?: string | undefined;
51462
51486
  suffix?: string | undefined;
51463
51487
  counterValue?: ((value: any) => number) | undefined;
51488
+ modelModifiers?: Record<string, boolean> | undefined;
51464
51489
  } & {
51465
51490
  $children?: {} | vue.VNodeChild | {
51466
51491
  clear?: (() => vue.VNodeChild) | undefined;
@@ -51575,6 +51600,7 @@ declare const VTextField: {
51575
51600
  hint?: string | undefined;
51576
51601
  suffix?: string | undefined;
51577
51602
  counterValue?: ((value: any) => number) | undefined;
51603
+ modelModifiers?: Record<string, boolean> | undefined;
51578
51604
  } & {
51579
51605
  $children?: {} | vue.VNodeChild | {
51580
51606
  clear?: (() => vue.VNodeChild) | undefined;
@@ -52141,6 +52167,7 @@ declare const VTextField: {
52141
52167
  hint?: string | undefined;
52142
52168
  suffix?: string | undefined;
52143
52169
  counterValue?: ((value: any) => number) | undefined;
52170
+ modelModifiers?: Record<string, boolean> | undefined;
52144
52171
  } & {
52145
52172
  $children?: {} | vue.VNodeChild | {
52146
52173
  clear?: (() => vue.VNodeChild) | undefined;
@@ -52662,6 +52689,7 @@ declare const VTextField: {
52662
52689
  hint?: string | undefined;
52663
52690
  suffix?: string | undefined;
52664
52691
  counterValue?: ((value: any) => number) | undefined;
52692
+ modelModifiers?: Record<string, boolean> | undefined;
52665
52693
  } & {
52666
52694
  $children?: {} | vue.VNodeChild | {
52667
52695
  clear?: (() => vue.VNodeChild) | undefined;
@@ -53237,6 +53265,7 @@ declare const VTextField: {
53237
53265
  type: StringConstructor;
53238
53266
  default: string;
53239
53267
  };
53268
+ modelModifiers: PropType<Record<string, boolean>>;
53240
53269
  }, vue.ExtractPropTypes<{
53241
53270
  loading: (StringConstructor | BooleanConstructor)[];
53242
53271
  theme: StringConstructor;
@@ -53317,6 +53346,7 @@ declare const VTextField: {
53317
53346
  type: StringConstructor;
53318
53347
  default: string;
53319
53348
  };
53349
+ modelModifiers: PropType<Record<string, boolean>>;
53320
53350
  }>>;
53321
53351
  type VTextField = InstanceType<typeof VTextField>;
53322
53352
 
@@ -10,7 +10,7 @@ export const createVuetify = function () {
10
10
  ...options
11
11
  });
12
12
  };
13
- export const version = "3.1.13";
13
+ export const version = "3.1.14-master-20230406.0";
14
14
  createVuetify.version = version;
15
15
  export { components, directives };
16
16
  export * from "./composables/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;AAA2B,OACpB,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc;AAGxC,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,WAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACER,UAAU,EACVC,UAAU;AACX"}
1
+ {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;AAA2B,OACpB,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc;AAGxC,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,6BAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACER,UAAU,EACVC,UAAU;AACX"}
package/lib/framework.mjs CHANGED
@@ -89,7 +89,7 @@ export function createVuetify() {
89
89
  locale
90
90
  };
91
91
  }
92
- export const version = "3.1.13";
92
+ export const version = "3.1.14-master-20230406.0";
93
93
  createVuetify.version = version;
94
94
 
95
95
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,cAAc,EAAEC,cAAc;AAAA,SAC9BC,aAAa,EAAEC,aAAa;AAAA,SAC5BC,WAAW,EAAEC,UAAU;AAAA,SACvBC,YAAY,EAAEC,YAAY;AAAA,SAC1BC,WAAW,EAAEC,WAAW,mCAEjC;AAAA,SACSC,eAAe,EAAEC,MAAM,EAAEC,UAAU,EAAEC,SAAS;AACvD,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,KAAK;;AAExC;AAAA;AAyBA,OAAO,SAASC,aAAaA,CAAA,EAAgC;EAAA,IAA9BC,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACzD,MAAM;IAAEG,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGL,OAAO;EACtC,MAAMM,OAAO,GAAGV,SAAS,CAACQ,SAAS,EAAEC,IAAI,CAAC;EAC1C,MAAM;IACJE,OAAO,GAAG,CAAC,CAAC;IACZC,UAAU,GAAG,CAAC,CAAC;IACfC,UAAU,GAAG,CAAC;EAChB,CAAC,GAAGH,OAAO;EAEX,MAAMI,QAAQ,GAAG3B,cAAc,CAACuB,OAAO,CAACI,QAAQ,CAAC;EACjD,MAAMC,OAAO,GAAG1B,aAAa,CAACqB,OAAO,CAACK,OAAO,EAAEL,OAAO,CAACM,GAAG,CAAC;EAC3D,MAAMC,KAAK,GAAGtB,WAAW,CAACe,OAAO,CAACO,KAAK,CAAC;EACxC,MAAMC,KAAK,GAAG3B,WAAW,CAACmB,OAAO,CAACQ,KAAK,CAAC;EACxC,MAAMC,MAAM,GAAG1B,YAAY,CAACiB,OAAO,CAACS,MAAM,CAAC;EAE3C,MAAMC,OAAO,GAAIC,GAAQ,IAAK;IAC5B,KAAK,MAAMC,GAAG,IAAIT,UAAU,EAAE;MAC5BQ,GAAG,CAACE,SAAS,CAACD,GAAG,EAAET,UAAU,CAACS,GAAG,CAAC,CAAC;IACrC;IAEA,KAAK,MAAMA,GAAG,IAAIV,UAAU,EAAE;MAC5BS,GAAG,CAACG,SAAS,CAACF,GAAG,EAAEV,UAAU,CAACU,GAAG,CAAC,CAAC;IACrC;IAEA,KAAK,MAAMA,GAAG,IAAIX,OAAO,EAAE;MACzBU,GAAG,CAACG,SAAS,CAACF,GAAG,EAAEzB,eAAe,CAAC;QACjC,GAAGc,OAAO,CAACW,GAAG,CAAC;QACfG,IAAI,EAAEH,GAAG;QACTI,SAAS,EAAEf,OAAO,CAACW,GAAG,CAAC,CAACG;MAC1B,CAAC,CAAC,CAAC;IACL;IAEAR,KAAK,CAACG,OAAO,CAACC,GAAG,CAAC;IAElBA,GAAG,CAACM,OAAO,CAACvC,cAAc,EAAE0B,QAAQ,CAAC;IACrCO,GAAG,CAACM,OAAO,CAACrC,aAAa,EAAEyB,OAAO,CAAC;IACnCM,GAAG,CAACM,OAAO,CAAC/B,WAAW,EAAEqB,KAAK,CAAC;IAC/BI,GAAG,CAACM,OAAO,CAACnC,UAAU,EAAE0B,KAAK,CAAC;IAC9BG,GAAG,CAACM,OAAO,CAACjC,YAAY,EAAEyB,MAAM,CAAC;IAEjC,IAAIpB,UAAU,IAAIW,OAAO,CAACM,GAAG,EAAE;MAC7B,IAAIK,GAAG,CAACO,KAAK,EAAE;QACbP,GAAG,CAACO,KAAK,CAACC,IAAI,CAAC,sBAAsB,EAAE,MAAM;UAC3Cd,OAAO,CAACe,MAAM,EAAE;QAClB,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM;UAAEC;QAAM,CAAC,GAAGV,GAAG;QACrBA,GAAG,CAACU,KAAK,GAAG,YAAa;UACvB,MAAMC,EAAE,GAAGD,KAAK,CAAC,GAAA1B,SAAO,CAAC;UACzBJ,QAAQ,CAAC,MAAMc,OAAO,CAACe,MAAM,EAAE,CAAC;UAChCT,GAAG,CAACU,KAAK,GAAGA,KAAK;UACjB,OAAOC,EAAE;QACX,CAAC;MACH;IACF;IAEAlC,MAAM,CAACmC,KAAK,EAAE;IAEd,IAAI,OAAOC,mBAAmB,KAAK,SAAS,IAAIA,mBAAmB,EAAE;MACnEb,GAAG,CAACc,KAAK,CAAC;QACRC,QAAQ,EAAE;UACRC,QAAQA,CAAA,EAAI;YACV,OAAOnC,QAAQ,CAAC;cACdY,QAAQ,EAAEwB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEnD,cAAc,CAAC;cAC3C2B,OAAO,EAAEuB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEjD,aAAa,CAAC;cACzC2B,KAAK,EAAEqB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE3C,WAAW,CAAC;cACrCsB,KAAK,EAAEoB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE/C,UAAU,CAAC;cACpC2B,MAAM,EAAEmB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE7C,YAAY;YACxC,CAAC,CAAC;UACJ;QACF;MACF,CAAC,CAAC;IACJ;EACF,CAAC;EAED,OAAO;IACL0B,OAAO;IACPN,QAAQ;IACRC,OAAO;IACPE,KAAK;IACLC,KAAK;IACLC;EACF,CAAC;AACH;AAEA,OAAO,MAAMqB,OAAO,WAAsB;AAC1CrC,aAAa,CAACqC,OAAO,GAAGA,OAAO;;AAE/B;AACA,SAASF,MAAMA,CAAiChB,GAA+B,EAAE;EAC/E,MAAMU,EAAE,GAAG,IAAI,CAACS,CAAC;EAEjB,MAAMC,QAAQ,GAAGV,EAAE,CAACW,MAAM,EAAED,QAAQ,IAAIV,EAAE,CAACY,KAAK,CAACC,UAAU,EAAEH,QAAQ;EAErE,IAAIA,QAAQ,IAAKpB,GAAG,IAAYoB,QAAQ,EAAE;IACxC,OAAOA,QAAQ,CAAEpB,GAAG,CAAY;EAClC;AACF"}
1
+ {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -324,24 +324,24 @@ declare module '@vue/runtime-core' {
324
324
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
325
325
  VBannerText: typeof import('vuetify/components')['VBannerText']
326
326
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
327
- VBtn: typeof import('vuetify/components')['VBtn']
328
327
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
329
328
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
330
329
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
331
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
330
+ VBtn: typeof import('vuetify/components')['VBtn']
332
331
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
333
- VCarousel: typeof import('vuetify/components')['VCarousel']
334
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
335
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
336
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
337
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
332
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
338
333
  VCard: typeof import('vuetify/components')['VCard']
339
334
  VCardActions: typeof import('vuetify/components')['VCardActions']
340
335
  VCardItem: typeof import('vuetify/components')['VCardItem']
341
336
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
342
337
  VCardText: typeof import('vuetify/components')['VCardText']
343
338
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
339
+ VCarousel: typeof import('vuetify/components')['VCarousel']
340
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
341
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
342
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
344
343
  VChip: typeof import('vuetify/components')['VChip']
344
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
345
345
  VCode: typeof import('vuetify/components')['VCode']
346
346
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
347
347
  VCombobox: typeof import('vuetify/components')['VCombobox']
@@ -377,14 +377,14 @@ declare module '@vue/runtime-core' {
377
377
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
378
378
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
379
379
  VMain: typeof import('vuetify/components')['VMain']
380
+ VMenu: typeof import('vuetify/components')['VMenu']
380
381
  VMessages: typeof import('vuetify/components')['VMessages']
381
382
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
382
- VMenu: typeof import('vuetify/components')['VMenu']
383
383
  VOverlay: typeof import('vuetify/components')['VOverlay']
384
384
  VPagination: typeof import('vuetify/components')['VPagination']
385
385
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
386
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
387
386
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
387
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
388
388
  VRating: typeof import('vuetify/components')['VRating']
389
389
  VSelect: typeof import('vuetify/components')['VSelect']
390
390
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
@@ -403,10 +403,10 @@ declare module '@vue/runtime-core' {
403
403
  VTextField: typeof import('vuetify/components')['VTextField']
404
404
  VTimeline: typeof import('vuetify/components')['VTimeline']
405
405
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
406
- VTooltip: typeof import('vuetify/components')['VTooltip']
407
406
  VToolbar: typeof import('vuetify/components')['VToolbar']
408
407
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
409
408
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
409
+ VTooltip: typeof import('vuetify/components')['VTooltip']
410
410
  VWindow: typeof import('vuetify/components')['VWindow']
411
411
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
412
412
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
@@ -422,8 +422,8 @@ declare module '@vue/runtime-core' {
422
422
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
423
423
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
424
424
  VParallax: typeof import('vuetify/components')['VParallax']
425
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
426
425
  VRadio: typeof import('vuetify/components')['VRadio']
426
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
427
427
  VResponsive: typeof import('vuetify/components')['VResponsive']
428
428
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
429
429
  VValidation: typeof import('vuetify/components')['VValidation']
@@ -31,7 +31,8 @@ export const makeVDataTableProps = propsFactory({
31
31
  height: [String, Number],
32
32
  width: [String, Number],
33
33
  fixedHeader: Boolean,
34
- fixedFooter: Boolean
34
+ fixedFooter: Boolean,
35
+ 'onClick:row': Function
35
36
  }, 'v-data-table');
36
37
  export const VDataTable = genericComponent()({
37
38
  name: 'VDataTable',
@@ -52,8 +53,7 @@ export const VDataTable = genericComponent()({
52
53
  'update:sortBy': value => true,
53
54
  'update:options': value => true,
54
55
  'update:groupBy': value => true,
55
- 'update:expanded': value => true,
56
- 'click:row': (event, value) => true
56
+ 'update:expanded': value => true
57
57
  },
58
58
  setup(props, _ref) {
59
59
  let {
@@ -159,7 +159,7 @@ export const VDataTable = genericComponent()({
159
159
  "multiSort": props.multiSort
160
160
  }, slots)]), slots.thead?.(), _createVNode("tbody", null, [slots.body ? slots.body() : _createVNode(VDataTableRows, {
161
161
  "items": paginatedItems.value,
162
- "onClick:row": (event, value) => emit('click:row', event, value)
162
+ "onClick:row": props['onClick:row']
163
163
  }, slots)]), slots.tbody?.(), slots.tfoot?.()])),
164
164
  bottom: slots.bottom ?? (() => _createVNode(VDataTableFooter, null, {
165
165
  prepend: slots['footer.prepend']
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTable.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","VDataTableFooter","makeDataTableItemProps","useDataTableItems","createHeaders","makeDataTableHeaderProps","createSort","makeDataTableSortProps","provideSort","useSortedItems","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","makeDataTableExpandProps","provideExpanded","useOptions","provideDefaults","computed","toRef","genericComponent","propsFactory","useRender","makeFilterProps","useFilter","makeVDataTableProps","hideNoData","Boolean","hover","noDataText","type","String","default","height","Number","width","fixedHeader","fixedFooter","VDataTable","name","props","search","emits","value","click:row","event","setup","_ref","emit","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","columns","showSelect","showExpand","items","filterKeys","map","c","key","filteredItems","sortByWithGroups","opened","extractRows","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","paginatedItems","paginatedItemsWithoutGroups","_createVNode","top","_Fragment","colgroup","headers","thead","body","onClick:row","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDataTableFooter } from './VDataTableFooter'\n\n// Composables\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Types\nimport type { DataTableItem, InternalDataTableHeader } from './types'\n\nexport type VDataTableSlots = VDataTableRowsSlots & {\n colgroup: [InternalDataTableHeader]\n default: []\n top: []\n headers: []\n body: []\n tbody: []\n thead: []\n tfoot: []\n bottom: []\n 'footer.prepend': []\n}\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTableItemProps(),\n ...makeDataTableHeaderProps(),\n hideNoData: Boolean,\n hover: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n height: [String, Number],\n width: [String, Number],\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n}, 'v-data-table')\n\nexport const VDataTable = genericComponent<VDataTableSlots>()({\n name: 'VDataTable',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter<DataTableItem>(props, items, search, { filterKeys })\n\n provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n provideSelection(props, paginatedItemsWithoutGroups)\n\n provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n hover={ props.hover }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead>\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n )}\n </thead>\n { slots.thead?.() }\n <tbody>\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ paginatedItems.value }\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTable.mjs","names":["VTable","VDataTableHeaders","VDataTableRows","VDataTableFooter","makeDataTableItemProps","useDataTableItems","createHeaders","makeDataTableHeaderProps","createSort","makeDataTableSortProps","provideSort","useSortedItems","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createPagination","makeDataTablePaginateProps","providePagination","usePaginatedItems","makeDataTableSelectProps","provideSelection","makeDataTableExpandProps","provideExpanded","useOptions","provideDefaults","computed","toRef","genericComponent","propsFactory","useRender","makeFilterProps","useFilter","makeVDataTableProps","hideNoData","Boolean","hover","noDataText","type","String","default","height","Number","width","fixedHeader","fixedFooter","Function","VDataTable","name","props","search","emits","value","setup","_ref","emit","slots","groupBy","sortBy","multiSort","mustSort","page","itemsPerPage","columns","showSelect","showExpand","items","filterKeys","map","c","key","filteredItems","sortByWithGroups","opened","extractRows","sortedItems","flatItems","itemsLength","length","startIndex","stopIndex","paginatedItems","paginatedItemsWithoutGroups","_createVNode","top","_Fragment","colgroup","headers","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTable.tsx"],"sourcesContent":["// Styles\nimport './VDataTable.sass'\n\n// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport type { VDataTableRowsSlots } from './VDataTableRows'\nimport { VDataTableRows } from './VDataTableRows'\nimport { VDataTableFooter } from './VDataTableFooter'\n\n// Composables\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from './composables/sort'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { useOptions } from './composables/options'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem, InternalDataTableHeader } from './types'\n\nexport type VDataTableSlots = VDataTableRowsSlots & {\n colgroup: [InternalDataTableHeader]\n default: []\n top: []\n headers: []\n body: []\n tbody: []\n thead: []\n tfoot: []\n bottom: []\n 'footer.prepend': []\n}\n\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTableItemProps(),\n ...makeDataTableHeaderProps(),\n hideNoData: Boolean,\n hover: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n height: [String, Number],\n width: [String, Number],\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n 'onClick:row': Function as PropType<(e: Event, value: { item: DataTableItem }) => void>,\n}, 'v-data-table')\n\nexport const VDataTable = genericComponent<VDataTableSlots>()({\n name: 'VDataTable',\n\n props: {\n search: String,\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeFilterProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (value: number) => true,\n 'update:itemsPerPage': (value: number) => true,\n 'update:sortBy': (value: any) => true,\n 'update:options': (value: any) => true,\n 'update:groupBy': (value: any) => true,\n 'update:expanded': (value: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const filterKeys = computed(() => columns.value.map(c => 'columns.' + c.key))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter<DataTableItem>(props, items, search, { filterKeys })\n\n provideSort({ sortBy, multiSort, mustSort, page })\n const { sortByWithGroups, opened, extractRows } = provideGroupBy({ groupBy, sortBy })\n\n const { sortedItems } = useSortedItems(filteredItems, sortByWithGroups, columns)\n const { flatItems } = useGroupedItems(sortedItems, groupBy, opened)\n const itemsLength = computed(() => flatItems.value.length)\n\n const { startIndex, stopIndex } = providePagination({ page, itemsPerPage, itemsLength })\n const { paginatedItems } = usePaginatedItems({ items: flatItems, startIndex, stopIndex, itemsPerPage })\n\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value))\n\n provideSelection(props, paginatedItemsWithoutGroups)\n\n provideExpanded(props)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--show-select': props.showSelect,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n hover={ props.hover }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead>\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n multiSort={ props.multiSort }\n v-slots={ slots }\n />\n )}\n </thead>\n { slots.thead?.() }\n <tbody>\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ paginatedItems.value }\n onClick:row={ props['onClick:row'] }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n\n return {}\n },\n})\n\nexport type VDataTable = InstanceType<typeof VDataTable>\n"],"mappings":"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"}
@@ -25,10 +25,8 @@ export const VDataTableRows = genericComponent()({
25
25
  type: String,
26
26
  default: '$vuetify.noDataText'
27
27
  },
28
- rowHeight: Number
29
- },
30
- emits: {
31
- 'click:row': (event, value) => true
28
+ rowHeight: Number,
29
+ 'onClick:row': Function
32
30
  },
33
31
  setup(props, _ref) {
34
32
  let {
@@ -92,14 +90,14 @@ export const VDataTableRows = genericComponent()({
92
90
  };
93
91
  return _createVNode(_Fragment, null, [slots.item ? slots.item(slotProps) : _createVNode(VDataTableRow, {
94
92
  "key": `item_${item.value}`,
95
- "onClick": event => {
93
+ "onClick": expandOnClick.value || props['onClick:row'] ? event => {
96
94
  if (expandOnClick.value) {
97
95
  toggleExpand(item);
98
96
  }
99
- emit('click:row', event, {
97
+ props['onClick:row']?.(event, {
100
98
  item
101
99
  });
102
- },
100
+ } : undefined,
103
101
  "index": index,
104
102
  "item": item
105
103
  }, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useLocale","useExpanded","useHeaders","useSelection","useGroupBy","genericComponent","useRender","VDataTableRows","name","props","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","emits","click:row","event","value","setup","_ref","emit","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","_createVNode","_Fragment","undefined","length","map","item","index","id","slotProps"],"sources":["../../../src/labs/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { DataTableItem, GroupHeaderItem, InternalDataTableHeader, InternalDataTableItem } from './types'\nimport type { PropType } from 'vue'\n\ntype GroupHeaderSlot = {\n index: number\n item: GroupHeaderItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n toggleGroup: (group: GroupHeaderItem) => void\n isGroupOpen: (group: GroupHeaderItem) => boolean\n}\n\ntype ItemSlot = {\n index: number\n item: DataTableItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n}\n\nexport type VDataTableRowsSlots = {\n default: []\n item: [ItemSlot]\n loading: []\n 'group-header': [GroupHeaderSlot]\n 'no-data': []\n 'expanded-row': [ItemSlot]\n 'item.data-table-select': [ItemSlot]\n 'item.data-table-expand': [ItemSlot]\n} & { [key: `item.${string}`]: [ItemSlot] }\n\nexport const VDataTableRows = genericComponent<VDataTableRowsSlots>()({\n name: 'VDataTableRows',\n\n props: {\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<InternalDataTableItem[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowHeight: Number,\n },\n\n emits: {\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n\n useRender(() => (\n <>\n { props.loading ? slots.loading?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"loading\"\n >\n { t(props.loadingText) }\n </VDataTableRow>\n ) : undefined }\n\n { !props.loading && !props.items.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n { t(props.noDataText) }\n </VDataTableRow>\n ))}\n\n { props.items.map((item, index) => {\n if (item.type === 'group-header') {\n return slots['group-header'] ? slots['group-header']({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } as GroupHeaderSlot) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } as ItemSlot\n\n return (\n <>\n { slots.item ? slots.item(slotProps) : (\n <VDataTableRow\n key={ `item_${item.value}` }\n onClick={ (event: Event) => {\n if (expandOnClick.value) {\n toggleExpand(item)\n }\n\n emit('click:row', event, { item })\n }}\n index={ index }\n item={ item }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </>\n )\n })}\n </>\n ))\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useLocale","useExpanded","useHeaders","useSelection","useGroupBy","genericComponent","useRender","VDataTableRows","name","props","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","Function","setup","_ref","emit","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","_createVNode","_Fragment","undefined","length","map","item","index","value","id","slotProps","event"],"sources":["../../../src/labs/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { DataTableItem, GroupHeaderItem, InternalDataTableHeader, InternalDataTableItem } from './types'\nimport type { PropType } from 'vue'\n\ntype GroupHeaderSlot = {\n index: number\n item: GroupHeaderItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n toggleGroup: (group: GroupHeaderItem) => void\n isGroupOpen: (group: GroupHeaderItem) => boolean\n}\n\ntype ItemSlot = {\n index: number\n item: DataTableItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n}\n\nexport type VDataTableRowsSlots = {\n default: []\n item: [ItemSlot]\n loading: []\n 'group-header': [GroupHeaderSlot]\n 'no-data': []\n 'expanded-row': [ItemSlot]\n 'item.data-table-select': [ItemSlot]\n 'item.data-table-expand': [ItemSlot]\n} & { [key: `item.${string}`]: [ItemSlot] }\n\nexport const VDataTableRows = genericComponent<VDataTableRowsSlots>()({\n name: 'VDataTableRows',\n\n props: {\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<InternalDataTableItem[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowHeight: Number,\n 'onClick:row': Function as PropType<(e: Event, value: { item: DataTableItem }) => void>,\n },\n\n setup (props, { emit, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n\n useRender(() => (\n <>\n { props.loading ? slots.loading?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"loading\"\n >\n { t(props.loadingText) }\n </VDataTableRow>\n ) : undefined }\n\n { !props.loading && !props.items.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n { t(props.noDataText) }\n </VDataTableRow>\n ))}\n\n { props.items.map((item, index) => {\n if (item.type === 'group-header') {\n return slots['group-header'] ? slots['group-header']({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } as GroupHeaderSlot) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } as ItemSlot\n\n return (\n <>\n { slots.item ? slots.item(slotProps) : (\n <VDataTableRow\n key={ `item_${item.value}` }\n onClick={ expandOnClick.value || props['onClick:row'] ? (event: Event) => {\n if (expandOnClick.value) {\n toggleExpand(item)\n }\n\n props['onClick:row']?.(event, { item })\n } : undefined }\n index={ index }\n item={ item }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </>\n )\n })}\n </>\n ))\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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"}
@@ -124,7 +124,8 @@ export const VDataTableServer = genericComponent()({
124
124
  }],
125
125
  "fixedHeader": props.fixedHeader,
126
126
  "fixedFooter": props.fixedFooter,
127
- "height": props.height
127
+ "height": props.height,
128
+ "hover": props.hover
128
129
  }, {
129
130
  top: slots.top,
130
131
  default: slots.default ?? (() => _createVNode(_Fragment, null, [slots.colgroup?.({
@@ -141,7 +142,7 @@ export const VDataTableServer = genericComponent()({
141
142
  "role": "rowgroup"
142
143
  }, [slots.body ? slots.body() : _createVNode(VDataTableRows, {
143
144
  "items": flatItems.value,
144
- "onClick:row": (event, value) => emit('click:row', event, value)
145
+ "onClick:row": props['onClick:row']
145
146
  }, slots)]), slots.tbody?.(), slots.tfoot?.()])),
146
147
  bottom: slots.bottom ?? (() => _createVNode(VDataTableFooter, null, {
147
148
  prepend: slots['footer.prepend']
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableServer.mjs","names":["VTable","VDataTableFooter","VDataTableHeaders","VDataTableRows","provideDefaults","makeDataTableExpandProps","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","makeDataTableSelectProps","provideSelection","createSort","makeDataTableSortProps","provideSort","computed","provide","toRef","genericComponent","useRender","makeVDataTableProps","VDataTableServer","name","props","color","String","loading","Boolean","loadingText","type","default","itemsLength","Number","required","emits","value","page","sortBy","options","click:row","event","setup","_ref","emit","slots","groupBy","multiSort","mustSort","itemsPerPage","parseInt","columns","showSelect","showExpand","items","toggleSort","opened","flatItems","hideNoData","noDataText","_createVNode","fixedHeader","fixedFooter","height","top","_Fragment","colgroup","headers","thead","body","onClick:row","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { createSort, makeDataTableSortProps, provideSort } from './composables/sort'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\nimport type { VDataTableSlots } from './VDataTable'\n\nexport const VDataTableServer = genericComponent<VDataTableSlots>()({\n name: 'VDataTableServer',\n\n props: {\n color: String,\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeDataTableGroupProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n provideExpanded(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n\n const { opened } = provideGroupBy({ groupBy, sortBy })\n\n providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n provideSelection(props, items)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead class=\"v-data-table__thead\" role=\"rowgroup\">\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n loading={ props.loading }\n color={ props.color }\n v-slots={ slots }\n />\n )}\n </thead>\n { slots.thead?.() }\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ flatItems.value }\n onClick:row={ (event, value) => emit('click:row', event, value) }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableServer.mjs","names":["VTable","VDataTableFooter","VDataTableHeaders","VDataTableRows","provideDefaults","makeDataTableExpandProps","provideExpanded","createGroupBy","makeDataTableGroupProps","provideGroupBy","useGroupedItems","createHeaders","makeDataTableHeaderProps","makeDataTableItemProps","useDataTableItems","useOptions","createPagination","makeDataTablePaginateProps","providePagination","makeDataTableSelectProps","provideSelection","createSort","makeDataTableSortProps","provideSort","computed","provide","toRef","genericComponent","useRender","makeVDataTableProps","VDataTableServer","name","props","color","String","loading","Boolean","loadingText","type","default","itemsLength","Number","required","emits","value","page","sortBy","options","click:row","event","setup","_ref","emit","slots","groupBy","multiSort","mustSort","itemsPerPage","parseInt","columns","showSelect","showExpand","items","toggleSort","opened","flatItems","hideNoData","noDataText","_createVNode","fixedHeader","fixedFooter","height","hover","top","_Fragment","colgroup","headers","thead","body","tbody","tfoot","bottom","prepend"],"sources":["../../../src/labs/VDataTable/VDataTableServer.tsx"],"sourcesContent":["// Components\nimport { VTable } from '@/components/VTable'\nimport { VDataTableFooter } from './VDataTableFooter'\nimport { VDataTableHeaders } from './VDataTableHeaders'\nimport { VDataTableRows } from './VDataTableRows'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDataTableExpandProps, provideExpanded } from './composables/expand'\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from './composables/group'\nimport { createHeaders, makeDataTableHeaderProps } from './composables/headers'\nimport { makeDataTableItemProps, useDataTableItems } from './composables/items'\nimport { useOptions } from './composables/options'\nimport { createPagination, makeDataTablePaginateProps, providePagination } from './composables/paginate'\nimport { makeDataTableSelectProps, provideSelection } from './composables/select'\nimport { createSort, makeDataTableSortProps, provideSort } from './composables/sort'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\nimport { makeVDataTableProps } from './VDataTable'\n\n// Types\nimport type { DataTableItem } from './types'\nimport type { VDataTableSlots } from './VDataTable'\n\nexport const VDataTableServer = genericComponent<VDataTableSlots>()({\n name: 'VDataTableServer',\n\n props: {\n color: String,\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n itemsLength: {\n type: [Number, String],\n required: true,\n },\n\n ...makeVDataTableProps(),\n ...makeDataTableExpandProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps(),\n ...makeDataTableGroupProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any[]) => true,\n 'update:page': (page: number) => true,\n 'update:itemsPerPage': (page: number) => true,\n 'update:sortBy': (sortBy: any) => true,\n 'update:options': (options: any) => true,\n 'update:expanded': (options: any) => true,\n 'update:groupBy': (value: any) => true,\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { groupBy } = createGroupBy(props)\n const { sortBy, multiSort, mustSort } = createSort(props)\n const { page, itemsPerPage } = createPagination(props)\n const itemsLength = computed(() => parseInt(props.itemsLength, 10))\n\n provideExpanded(props)\n\n const { columns } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand'),\n })\n\n const { items } = useDataTableItems(props, columns)\n\n const { toggleSort } = provideSort({ sortBy, multiSort, mustSort, page })\n\n const { opened } = provideGroupBy({ groupBy, sortBy })\n\n providePagination({ page, itemsPerPage, itemsLength })\n\n const { flatItems } = useGroupedItems(items, groupBy, opened)\n\n provideSelection(props, items)\n\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n })\n\n provide('v-data-table', {\n toggleSort,\n sortBy,\n })\n\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText'),\n },\n })\n\n useRender(() => (\n <VTable\n class={[\n 'v-data-table',\n {\n 'v-data-table--loading': props.loading,\n },\n ]}\n fixedHeader={ props.fixedHeader }\n fixedFooter={ props.fixedFooter }\n height={ props.height }\n hover={ props.hover }\n >\n {{\n top: slots.top,\n default: slots.default ?? (() => (\n <>\n { slots.colgroup?.({ columns }) }\n <thead class=\"v-data-table__thead\" role=\"rowgroup\">\n { slots.headers ? slots.headers() : (\n <VDataTableHeaders\n sticky={ props.fixedHeader }\n loading={ props.loading }\n color={ props.color }\n v-slots={ slots }\n />\n )}\n </thead>\n { slots.thead?.() }\n <tbody class=\"v-data-table__tbody\" role=\"rowgroup\">\n { slots.body ? slots.body() : (\n <VDataTableRows\n items={ flatItems.value }\n onClick:row={ props['onClick:row'] }\n v-slots={ slots }\n />\n )}\n </tbody>\n { slots.tbody?.() }\n { slots.tfoot?.() }\n </>\n )),\n bottom: slots.bottom ?? (() => (\n <VDataTableFooter\n v-slots={{\n prepend: slots['footer.prepend'],\n }}\n />\n )),\n }}\n </VTable>\n ))\n },\n})\n\nexport type VDataTableServer = InstanceType<typeof VDataTableServer>\n"],"mappings":"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"}