@vuetify/nightly 3.1.5-master-20230213.0 → 3.2.0-dev-20230214.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.
package/CHANGELOG.md CHANGED
@@ -1,8 +1,8 @@
1
- # [](https://github.com/vuetifyjs/vuetify/compare/v3.1.5-master-20230213.0...v) (2023-02-13)
1
+ # [](https://github.com/vuetifyjs/vuetify/compare/v3.2.0-dev-20230214.0...v) (2023-02-14)
2
2
 
3
3
 
4
4
 
5
- ## [3.1.5-master-20230213.0](https://github.com/vuetifyjs/vuetify/compare/v3.1.4...v3.1.5-master-20230213.0) (2023-02-13)
5
+ # [3.2.0-dev-20230214.0](https://github.com/vuetifyjs/vuetify/compare/v3.1.4...v3.2.0-dev-20230214.0) (2023-02-14)
6
6
 
7
7
 
8
8
  ### Bug Fixes
@@ -23,4 +23,9 @@
23
23
  * linting ([eab3e82](https://github.com/vuetifyjs/vuetify/commit/eab3e82e260d19e9f8e938d6b1e0e1d5804a2033))
24
24
 
25
25
 
26
+ ### Features
27
+
28
+ * **VDataTableFooter:** add i18n props ([e7d5083](https://github.com/vuetifyjs/vuetify/commit/e7d5083b7e31af80836dfc9c67fa059aead154c3)), closes [#16625](https://github.com/vuetifyjs/vuetify/issues/16625)
29
+
30
+
26
31
 
@@ -160,6 +160,10 @@
160
160
  "from": "components/VAlert/index.mjs",
161
161
  "styles": []
162
162
  },
163
+ "VAutocomplete": {
164
+ "from": "components/VAutocomplete/index.mjs",
165
+ "styles": []
166
+ },
163
167
  "VAvatar": {
164
168
  "from": "components/VAvatar/index.mjs",
165
169
  "styles": []
@@ -523,10 +527,6 @@
523
527
  "VWindowItem": {
524
528
  "from": "components/VWindow/index.mjs",
525
529
  "styles": []
526
- },
527
- "VAutocomplete": {
528
- "from": "components/VAutocomplete/index.mjs",
529
- "styles": []
530
530
  }
531
531
  },
532
532
  "directives": [
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json.schemastore.org/web-types",
3
3
  "framework": "vue",
4
4
  "name": "vuetify",
5
- "version": "3.1.5-master-20230213.0",
5
+ "version": "3.2.0-dev-20230214.0",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.5-master-20230213.0
2
+ * Vuetify v3.2.0-dev-20230214.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -15791,6 +15791,15 @@ html.overflow-y-hidden {
15791
15791
  .v-data-table-footer__info {
15792
15792
  display: flex;
15793
15793
  padding-inline-end: 24px;
15794
+ }
15795
+
15796
+ .v-data-table-footer__pagination {
15797
+ display: flex;
15798
+ align-items: center;
15799
+ }
15800
+
15801
+ .v-data-table-footer__page {
15802
+ padding: 0 8px;
15794
15803
  }.v-virtual-scroll {
15795
15804
  display: block;
15796
15805
  flex: 1 1 auto;
@@ -16037,6 +16046,93 @@ html.overflow-y-hidden {
16037
16046
  text-transform: none;
16038
16047
  word-break: normal;
16039
16048
  word-wrap: break-word;
16049
+ }.v-avatar {
16050
+ flex: none;
16051
+ align-items: center;
16052
+ display: inline-flex;
16053
+ justify-content: center;
16054
+ line-height: normal;
16055
+ overflow: hidden;
16056
+ position: relative;
16057
+ text-align: center;
16058
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
16059
+ transition-property: width, height;
16060
+ vertical-align: middle;
16061
+ border-radius: 50%;
16062
+ }
16063
+ .v-avatar.v-avatar--size-x-small {
16064
+ --v-avatar-height: 24px;
16065
+ }
16066
+ .v-avatar.v-avatar--size-small {
16067
+ --v-avatar-height: 32px;
16068
+ }
16069
+ .v-avatar.v-avatar--size-default {
16070
+ --v-avatar-height: 40px;
16071
+ }
16072
+ .v-avatar.v-avatar--size-large {
16073
+ --v-avatar-height: 48px;
16074
+ }
16075
+ .v-avatar.v-avatar--size-x-large {
16076
+ --v-avatar-height: 56px;
16077
+ }
16078
+ .v-avatar.v-avatar--density-default {
16079
+ height: calc(var(--v-avatar-height) + 0px);
16080
+ width: calc(var(--v-avatar-height) + 0px);
16081
+ }
16082
+ .v-avatar.v-avatar--density-comfortable {
16083
+ height: calc(var(--v-avatar-height) + -4px);
16084
+ width: calc(var(--v-avatar-height) + -4px);
16085
+ }
16086
+ .v-avatar.v-avatar--density-compact {
16087
+ height: calc(var(--v-avatar-height) + -8px);
16088
+ width: calc(var(--v-avatar-height) + -8px);
16089
+ }
16090
+ .v-avatar--variant-plain, .v-avatar--variant-outlined, .v-avatar--variant-text, .v-avatar--variant-tonal {
16091
+ background: transparent;
16092
+ color: inherit;
16093
+ }
16094
+ .v-avatar--variant-plain {
16095
+ opacity: 0.62;
16096
+ }
16097
+ .v-avatar--variant-plain:focus, .v-avatar--variant-plain:hover {
16098
+ opacity: 1;
16099
+ }
16100
+ .v-avatar--variant-plain .v-avatar__overlay {
16101
+ display: none;
16102
+ }
16103
+ .v-avatar--variant-elevated, .v-avatar--variant-flat {
16104
+ background: var(--v-theme-surface);
16105
+ color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
16106
+ }
16107
+ .v-avatar--variant-elevated {
16108
+ box-shadow: 0px 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 1px 1px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 3px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.12));
16109
+ }
16110
+ .v-avatar--variant-flat {
16111
+ box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.12));
16112
+ }
16113
+ .v-avatar--variant-outlined {
16114
+ border: thin solid currentColor;
16115
+ }
16116
+ .v-avatar--variant-text .v-avatar__overlay {
16117
+ background: currentColor;
16118
+ }
16119
+ .v-avatar--variant-tonal .v-avatar__underlay {
16120
+ background: currentColor;
16121
+ opacity: var(--v-activated-opacity);
16122
+ border-radius: inherit;
16123
+ position: absolute;
16124
+ top: 0;
16125
+ right: 0;
16126
+ bottom: 0;
16127
+ left: 0;
16128
+ pointer-events: none;
16129
+ }
16130
+ .v-avatar--rounded {
16131
+ border-radius: 4px;
16132
+ }
16133
+ .v-avatar .v-img {
16134
+ height: 100%;
16135
+ width: 100%;
16040
16136
  }.v-input--density-default {
16041
16137
  --autocomplete-chips-margin-bottom: 0px;
16042
16138
  }
@@ -17785,11 +17881,6 @@ html.overflow-y-hidden {
17785
17881
  }
17786
17882
  .v-combobox--single .v-field--focused .v-combobox__selection {
17787
17883
  opacity: 0;
17788
- }.v-counter {
17789
- color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
17790
- flex: 0 1 auto;
17791
- font-size: 12px;
17792
- transition-duration: 150ms;
17793
17884
  }.v-container {
17794
17885
  width: 100%;
17795
17886
  padding: 16px;
@@ -18671,6 +18762,11 @@ html.overflow-y-hidden {
18671
18762
  .offset-xxl-11.v-locale--is-rtl, .v-locale--is-rtl .offset-xxl-11 {
18672
18763
  margin-right: 91.6666666667%;
18673
18764
  }
18765
+ }.v-counter {
18766
+ color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
18767
+ flex: 0 1 auto;
18768
+ font-size: 12px;
18769
+ transition-duration: 150ms;
18674
18770
  }.v-dialog {
18675
18771
  align-items: center;
18676
18772
  justify-content: center;
@@ -20382,12 +20478,6 @@ html.v-overlay-scroll-blocked {
20382
20478
  }
20383
20479
  .v-pagination__item, .v-pagination__first, .v-pagination__prev, .v-pagination__next, .v-pagination__last {
20384
20480
  margin: 0.3rem;
20385
- }.v-parallax {
20386
- position: relative;
20387
- overflow: hidden;
20388
- }
20389
- .v-parallax--active > .v-img__img {
20390
- will-change: transform;
20391
20481
  }.v-progress-circular {
20392
20482
  align-items: center;
20393
20483
  display: inline-flex;
@@ -20699,93 +20789,12 @@ html.v-overlay-scroll-blocked {
20699
20789
  0% {
20700
20790
  background-position-x: var(--v-progress-linear-height);
20701
20791
  }
20702
- }.v-avatar {
20703
- flex: none;
20704
- align-items: center;
20705
- display: inline-flex;
20706
- justify-content: center;
20707
- line-height: normal;
20708
- overflow: hidden;
20792
+ }.v-parallax {
20709
20793
  position: relative;
20710
- text-align: center;
20711
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
20712
- transition-property: width, height;
20713
- vertical-align: middle;
20714
- border-radius: 50%;
20715
- }
20716
- .v-avatar.v-avatar--size-x-small {
20717
- --v-avatar-height: 24px;
20718
- }
20719
- .v-avatar.v-avatar--size-small {
20720
- --v-avatar-height: 32px;
20721
- }
20722
- .v-avatar.v-avatar--size-default {
20723
- --v-avatar-height: 40px;
20724
- }
20725
- .v-avatar.v-avatar--size-large {
20726
- --v-avatar-height: 48px;
20727
- }
20728
- .v-avatar.v-avatar--size-x-large {
20729
- --v-avatar-height: 56px;
20730
- }
20731
- .v-avatar.v-avatar--density-default {
20732
- height: calc(var(--v-avatar-height) + 0px);
20733
- width: calc(var(--v-avatar-height) + 0px);
20734
- }
20735
- .v-avatar.v-avatar--density-comfortable {
20736
- height: calc(var(--v-avatar-height) + -4px);
20737
- width: calc(var(--v-avatar-height) + -4px);
20738
- }
20739
- .v-avatar.v-avatar--density-compact {
20740
- height: calc(var(--v-avatar-height) + -8px);
20741
- width: calc(var(--v-avatar-height) + -8px);
20742
- }
20743
- .v-avatar--variant-plain, .v-avatar--variant-outlined, .v-avatar--variant-text, .v-avatar--variant-tonal {
20744
- background: transparent;
20745
- color: inherit;
20746
- }
20747
- .v-avatar--variant-plain {
20748
- opacity: 0.62;
20749
- }
20750
- .v-avatar--variant-plain:focus, .v-avatar--variant-plain:hover {
20751
- opacity: 1;
20752
- }
20753
- .v-avatar--variant-plain .v-avatar__overlay {
20754
- display: none;
20755
- }
20756
- .v-avatar--variant-elevated, .v-avatar--variant-flat {
20757
- background: var(--v-theme-surface);
20758
- color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
20759
- }
20760
- .v-avatar--variant-elevated {
20761
- box-shadow: 0px 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 1px 1px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 3px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.12));
20762
- }
20763
- .v-avatar--variant-flat {
20764
- box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.12));
20765
- }
20766
- .v-avatar--variant-outlined {
20767
- border: thin solid currentColor;
20768
- }
20769
- .v-avatar--variant-text .v-avatar__overlay {
20770
- background: currentColor;
20771
- }
20772
- .v-avatar--variant-tonal .v-avatar__underlay {
20773
- background: currentColor;
20774
- opacity: var(--v-activated-opacity);
20775
- border-radius: inherit;
20776
- position: absolute;
20777
- top: 0;
20778
- right: 0;
20779
- bottom: 0;
20780
- left: 0;
20781
- pointer-events: none;
20782
- }
20783
- .v-avatar--rounded {
20784
- border-radius: 4px;
20794
+ overflow: hidden;
20785
20795
  }
20786
- .v-avatar .v-img {
20787
- height: 100%;
20788
- width: 100%;
20796
+ .v-parallax--active > .v-img__img {
20797
+ will-change: transform;
20789
20798
  }.v-radio-group > .v-input__control {
20790
20799
  flex-direction: column;
20791
20800
  }
@@ -18448,11 +18448,17 @@ declare const VDataTableServer: vue.DefineComponent<{
18448
18448
  type VDataTableServer = InstanceType<typeof VDataTableServer>;
18449
18449
 
18450
18450
  declare const VDataTableFooter: vue.DefineComponent<{
18451
+ itemsPerPageText: string;
18452
+ pageText: string;
18451
18453
  nextIcon: string;
18452
18454
  prevIcon: string;
18453
18455
  firstIcon: string;
18454
18456
  lastIcon: string;
18455
18457
  showCurrentPage: boolean;
18458
+ firstPageLabel: string;
18459
+ prevPageLabel: string;
18460
+ nextPageLabel: string;
18461
+ lastPageLabel: string;
18456
18462
  itemsPerPageOptions: InternalItem<any>[];
18457
18463
  } & {} & {
18458
18464
  $children?: {} | vue.VNodeChild | {
@@ -18464,11 +18470,17 @@ declare const VDataTableFooter: vue.DefineComponent<{
18464
18470
  } & {
18465
18471
  "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
18466
18472
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
18473
+ itemsPerPageText: string;
18474
+ pageText: string;
18467
18475
  nextIcon: string;
18468
18476
  prevIcon: string;
18469
18477
  firstIcon: string;
18470
18478
  lastIcon: string;
18471
18479
  showCurrentPage: boolean;
18480
+ firstPageLabel: string;
18481
+ prevPageLabel: string;
18482
+ nextPageLabel: string;
18483
+ lastPageLabel: string;
18472
18484
  itemsPerPageOptions: InternalItem<any>[];
18473
18485
  } & {} & {
18474
18486
  $children?: {} | vue.VNodeChild | {
@@ -18480,11 +18492,17 @@ declare const VDataTableFooter: vue.DefineComponent<{
18480
18492
  } & {
18481
18493
  "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
18482
18494
  }, {
18495
+ itemsPerPageText: string;
18496
+ pageText: string;
18483
18497
  nextIcon: string;
18484
18498
  prevIcon: string;
18485
18499
  firstIcon: string;
18486
18500
  lastIcon: string;
18487
18501
  showCurrentPage: boolean;
18502
+ firstPageLabel: string;
18503
+ prevPageLabel: string;
18504
+ nextPageLabel: string;
18505
+ lastPageLabel: string;
18488
18506
  itemsPerPageOptions: InternalItem<any>[];
18489
18507
  }>;
18490
18508
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.5-master-20230213.0
2
+ * Vuetify v3.2.0-dev-20230214.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -18787,6 +18787,30 @@ const VDataTableFooter = genericComponent()({
18787
18787
  type: String,
18788
18788
  default: '$last'
18789
18789
  },
18790
+ itemsPerPageText: {
18791
+ type: String,
18792
+ default: '$vuetify.dataFooter.itemsPerPageText'
18793
+ },
18794
+ pageText: {
18795
+ type: String,
18796
+ default: '$vuetify.dataFooter.pageText'
18797
+ },
18798
+ firstPageLabel: {
18799
+ type: String,
18800
+ default: '$vuetify.dataFooter.firstPage'
18801
+ },
18802
+ prevPageLabel: {
18803
+ type: String,
18804
+ default: '$vuetify.dataFooter.prevPage'
18805
+ },
18806
+ nextPageLabel: {
18807
+ type: String,
18808
+ default: '$vuetify.dataFooter.nextPage'
18809
+ },
18810
+ lastPageLabel: {
18811
+ type: String,
18812
+ default: '$vuetify.dataFooter.lastPage'
18813
+ },
18790
18814
  itemsPerPageOptions: {
18791
18815
  type: Array,
18792
18816
  default: () => [{
@@ -18803,7 +18827,7 @@ const VDataTableFooter = genericComponent()({
18803
18827
  title: '100'
18804
18828
  }, {
18805
18829
  value: -1,
18806
- title: 'All'
18830
+ title: '$vuetify.dataFooter.itemsPerPageAll'
18807
18831
  }]
18808
18832
  },
18809
18833
  showCurrentPage: Boolean
@@ -18812,6 +18836,9 @@ const VDataTableFooter = genericComponent()({
18812
18836
  let {
18813
18837
  slots
18814
18838
  } = _ref;
18839
+ const {
18840
+ t
18841
+ } = useLocale();
18815
18842
  const {
18816
18843
  page,
18817
18844
  pageCount,
@@ -18820,12 +18847,16 @@ const VDataTableFooter = genericComponent()({
18820
18847
  itemsLength,
18821
18848
  itemsPerPage
18822
18849
  } = usePagination();
18850
+ const itemsPerPageOptions = computed(() => props.itemsPerPageOptions.map(option => ({
18851
+ ...option,
18852
+ title: t(option.title)
18853
+ })));
18823
18854
  return () => createVNode("div", {
18824
18855
  "class": "v-data-table-footer"
18825
18856
  }, [slots.prepend?.(), createVNode("div", {
18826
18857
  "class": "v-data-table-footer__items-per-page"
18827
- }, [createVNode("span", null, [createTextVNode("Items per page:")]), createVNode(VSelect, {
18828
- "items": props.itemsPerPageOptions,
18858
+ }, [createVNode("span", null, [t(props.itemsPerPageText)]), createVNode(VSelect, {
18859
+ "items": itemsPerPageOptions.value,
18829
18860
  "modelValue": itemsPerPage.value,
18830
18861
  "onUpdate:modelValue": v => itemsPerPage.value = Number(v),
18831
18862
  "density": "compact",
@@ -18833,30 +18864,35 @@ const VDataTableFooter = genericComponent()({
18833
18864
  "hide-details": true
18834
18865
  }, null)]), createVNode("div", {
18835
18866
  "class": "v-data-table-footer__info"
18836
- }, [createVNode("div", null, [!itemsLength.value ? 0 : startIndex.value + 1, createTextVNode(" - "), stopIndex.value, createTextVNode(" of "), itemsLength.value])]), createVNode("div", {
18867
+ }, [createVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), createVNode("div", {
18837
18868
  "class": "v-data-table-footer__pagination"
18838
18869
  }, [createVNode(VBtn, {
18839
18870
  "icon": props.firstIcon,
18840
18871
  "variant": "plain",
18841
18872
  "onClick": () => page.value = 1,
18842
- "disabled": page.value === 1
18873
+ "disabled": page.value === 1,
18874
+ "aria-label": t(props.firstPageLabel)
18843
18875
  }, null), createVNode(VBtn, {
18844
18876
  "icon": props.prevIcon,
18845
18877
  "variant": "plain",
18846
18878
  "onClick": () => page.value = Math.max(1, page.value - 1),
18847
- "disabled": page.value === 1
18848
- }, null), props.showCurrentPage && createVNode("div", {
18849
- "key": "page"
18850
- }, [createTextVNode("page.value")]), createVNode(VBtn, {
18879
+ "disabled": page.value === 1,
18880
+ "aria-label": t(props.prevPageLabel)
18881
+ }, null), props.showCurrentPage && createVNode("span", {
18882
+ "key": "page",
18883
+ "class": "v-data-table-footer__page"
18884
+ }, [page.value]), createVNode(VBtn, {
18851
18885
  "icon": props.nextIcon,
18852
18886
  "variant": "plain",
18853
18887
  "onClick": () => page.value = Math.min(pageCount.value, page.value + 1),
18854
- "disabled": page.value === pageCount.value
18888
+ "disabled": page.value === pageCount.value,
18889
+ "aria-label": t(props.nextPageLabel)
18855
18890
  }, null), createVNode(VBtn, {
18856
18891
  "icon": props.lastIcon,
18857
18892
  "variant": "plain",
18858
18893
  "onClick": () => page.value = pageCount.value,
18859
- "disabled": page.value === pageCount.value
18894
+ "disabled": page.value === pageCount.value,
18895
+ "aria-label": t(props.lastPageLabel)
18860
18896
  }, null)])]);
18861
18897
  }
18862
18898
  });
@@ -19891,7 +19927,7 @@ function createVuetify$1() {
19891
19927
  locale
19892
19928
  };
19893
19929
  }
19894
- const version$1 = "3.1.5-master-20230213.0";
19930
+ const version$1 = "3.2.0-dev-20230214.0";
19895
19931
  createVuetify$1.version = version$1;
19896
19932
 
19897
19933
  // Vue's inject() can only be used in setup
@@ -19903,7 +19939,7 @@ function inject(key) {
19903
19939
  }
19904
19940
  }
19905
19941
 
19906
- const version = "3.1.5-master-20230213.0";
19942
+ const version = "3.2.0-dev-20230214.0";
19907
19943
 
19908
19944
  const createVuetify = function () {
19909
19945
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};