From 2c76938c6d7f9be561ad858fd296a9d0518eee7f Mon Sep 17 00:00:00 2001 From: John Leider Date: Sun, 14 Jan 2024 23:03:21 -0600 Subject: [PATCH 01/10] docs(upgrade-guide): add information about custom-sort closes #16654 --- packages/docs/src/pages/en/getting-started/upgrade-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/docs/src/pages/en/getting-started/upgrade-guide.md b/packages/docs/src/pages/en/getting-started/upgrade-guide.md index 80fc06e1f50..aa038bbe2e7 100644 --- a/packages/docs/src/pages/en/getting-started/upgrade-guide.md +++ b/packages/docs/src/pages/en/getting-started/upgrade-guide.md @@ -246,6 +246,7 @@ app.use(vuetify) - `item-class` and `item-style` have been combined into `row-props`, and `cell-props` has been added. - `sort-desc` and `group-desc` have been combined into `sort-by` and `group-by`. These properties now take an array of `{ key: string, order: 'asc' | 'desc' }` objects instead of strings. - `current-items` event has been renamed to `update:current-items`. +- `custom-sort` can now be done using the **sort** key in the headers object or by using the `custom-key-sort` prop. ### v-slider/v-range-slider From 31f791415cf203812ca2db1ef6cec0fea33c0541 Mon Sep 17 00:00:00 2001 From: Kael Date: Mon, 15 Jan 2024 16:43:39 +1100 Subject: [PATCH 02/10] fix(web-types): remove newlines from types --- packages/api-generator/src/web-types.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/api-generator/src/web-types.ts b/packages/api-generator/src/web-types.ts index e20f7fdad2e..559d74db2c9 100644 --- a/packages/api-generator/src/web-types.ts +++ b/packages/api-generator/src/web-types.ts @@ -54,7 +54,7 @@ export const createWebTypesApi = (componentData: ComponentData[], directiveData: const createTagValue = (type: string) => { return { kind: 'expression', - type, + type: type?.trim(), } } @@ -111,7 +111,7 @@ export const createWebTypesApi = (componentData: ComponentData[], directiveData: const createAttributeValue = (argument: any) => { return { kind: 'expression', - type: argument.type, + type: argument.type?.trim(), } } From 41a41fb9bd5819d7ff6f32bd2002d48f044f0429 Mon Sep 17 00:00:00 2001 From: Tim Hornback Date: Tue, 16 Jan 2024 05:18:05 -0600 Subject: [PATCH 03/10] fix(VPagination): Update ARIA keys for child VBtn attributes (#18886) fixes #18885 --- .../components/VPagination/VPagination.tsx | 24 +++++++++---------- .../src/components/VWindow/VWindow.tsx | 6 ++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/vuetify/src/components/VPagination/VPagination.tsx b/packages/vuetify/src/components/VPagination/VPagination.tsx index bacfb699a37..f5ac0c16561 100644 --- a/packages/vuetify/src/components/VPagination/VPagination.tsx +++ b/packages/vuetify/src/components/VPagination/VPagination.tsx @@ -40,8 +40,8 @@ type ControlSlot = { icon: IconValue onClick: (e: Event) => void disabled: boolean - ariaLabel: string - ariaDisabled: boolean + 'aria-label': string + 'aria-disabled': boolean } export type VPaginationSlots = { @@ -264,8 +264,8 @@ export const VPagination = genericComponent()({ icon: true, disabled: !!props.disabled || +props.length < 2, color: isActive ? props.activeColor : props.color, - ariaCurrent: isActive, - ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item), + 'aria-current': isActive, + 'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item), onClick: (e: Event) => setValue(e, item), }, } @@ -282,29 +282,29 @@ export const VPagination = genericComponent()({ icon: isRtl.value ? props.lastIcon : props.firstIcon, onClick: (e: Event) => setValue(e, start.value, 'first'), disabled: prevDisabled, - ariaLabel: t(props.firstAriaLabel), - ariaDisabled: prevDisabled, + 'aria-label': t(props.firstAriaLabel), + 'aria-disabled': prevDisabled, } : undefined, prev: { icon: isRtl.value ? props.nextIcon : props.prevIcon, onClick: (e: Event) => setValue(e, page.value - 1, 'prev'), disabled: prevDisabled, - ariaLabel: t(props.previousAriaLabel), - ariaDisabled: prevDisabled, + 'aria-label': t(props.previousAriaLabel), + 'aria-disabled': prevDisabled, }, next: { icon: isRtl.value ? props.prevIcon : props.nextIcon, onClick: (e: Event) => setValue(e, page.value + 1, 'next'), disabled: nextDisabled, - ariaLabel: t(props.nextAriaLabel), - ariaDisabled: nextDisabled, + 'aria-label': t(props.nextAriaLabel), + 'aria-disabled': nextDisabled, }, last: props.showFirstLastPage ? { icon: isRtl.value ? props.firstIcon : props.lastIcon, onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'), disabled: nextDisabled, - ariaLabel: t(props.lastAriaLabel), - ariaDisabled: nextDisabled, + 'aria-label': t(props.lastAriaLabel), + 'aria-disabled': nextDisabled, } : undefined, } }) diff --git a/packages/vuetify/src/components/VWindow/VWindow.tsx b/packages/vuetify/src/components/VWindow/VWindow.tsx index 9310a725ebe..e06f6785042 100644 --- a/packages/vuetify/src/components/VWindow/VWindow.tsx +++ b/packages/vuetify/src/components/VWindow/VWindow.tsx @@ -44,7 +44,7 @@ type ControlProps = { icon: IconValue class: string onClick: () => void - ariaLabel: string + 'aria-label': string } export const VWindowSymbol: InjectionKey = Symbol.for('vuetify:v-window') @@ -175,7 +175,7 @@ export const VWindow = genericComponent( icon: isRtl.value ? props.nextIcon : props.prevIcon, class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`, onClick: group.prev, - ariaLabel: t('$vuetify.carousel.prev'), + 'aria-label': t('$vuetify.carousel.prev'), } arrows.push(canMoveBack.value @@ -189,7 +189,7 @@ export const VWindow = genericComponent( icon: isRtl.value ? props.prevIcon : props.nextIcon, class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`, onClick: group.next, - ariaLabel: t('$vuetify.carousel.next'), + 'aria-label': t('$vuetify.carousel.next'), } arrows.push(canMoveForward.value From 22c486c10d9176b9d0a599938fc15a0c06245608 Mon Sep 17 00:00:00 2001 From: John Leider Date: Tue, 16 Jan 2024 15:25:33 -0600 Subject: [PATCH 04/10] docs(Entry): remove inline ad toggle --- .../docs/src/components/promoted/Entry.vue | 33 ++----------------- 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/packages/docs/src/components/promoted/Entry.vue b/packages/docs/src/components/promoted/Entry.vue index 0f6bb93cf9b..d271b530371 100644 --- a/packages/docs/src/components/promoted/Entry.vue +++ b/packages/docs/src/components/promoted/Entry.vue @@ -1,39 +1,12 @@ From 584f8fd707d731a7e8008b2ac61fcb594fc88f64 Mon Sep 17 00:00:00 2001 From: Stanislav Volar Date: Wed, 17 Jan 2024 00:31:47 +0100 Subject: [PATCH 05/10] fix(locale): update Slovak locale (#19011) --- packages/vuetify/src/locale/sk.ts | 44 +++++++++++++++---------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/packages/vuetify/src/locale/sk.ts b/packages/vuetify/src/locale/sk.ts index ad45b3eb313..cb96e06363a 100644 --- a/packages/vuetify/src/locale/sk.ts +++ b/packages/vuetify/src/locale/sk.ts @@ -1,10 +1,10 @@ export default { badge: 'Odznak', - open: 'Open', + open: 'Otvoriť', close: 'Zavrieť', confirmEdit: { ok: 'OK', - cancel: 'Cancel', + cancel: 'Zrušiť', }, dataIterator: { noResultsText: 'Neboli nájdené žiadne záznamy', @@ -16,7 +16,7 @@ export default { sortDescending: 'Zoradené zostupne.', sortAscending: 'Zoradené vzostupne.', sortNone: 'Nezoradené.', - activateNone: 'Aktivujte na zrušenie triedenia.', + activateNone: 'Aktivujte na zrušenie zoradenia.', activateDescending: 'Aktivujte na zoradenie zostupne.', activateAscending: 'Aktivujte na zoradenie vzostupne.', }, @@ -32,18 +32,18 @@ export default { pageText: '{0}–{1} z {2}', }, dateRangeInput: { - divider: 'to', + divider: 'až', }, datePicker: { - itemsSelected: '{0} selected', + itemsSelected: '{0} vybraných', range: { - title: 'Select dates', - header: 'Enter dates', + title: 'Vyberte rozsah dátumov', + header: 'Zadajte rozsah dátumov', }, - title: 'Select date', - header: 'Enter date', + title: 'Vyberte dátum', + header: 'Zadajte dátum', input: { - placeholder: 'Enter date', + placeholder: 'Zadajte dátum', }, }, noDataText: 'Nie sú dostupné žiadne dáta', @@ -56,13 +56,13 @@ export default { }, calendar: { moreEvents: '{0} ďalších', - today: 'Today', + today: 'Dnes', }, input: { - clear: 'Clear {0}', - prependAction: '{0} prepended action', - appendAction: '{0} appended action', - otp: 'Please enter OTP character {0}', + clear: 'Vymazať {0}', + prependAction: 'Akcia pred {0}', + appendAction: 'Akcia za {0}', + otp: 'Prosím zadajte OTP znak {0}', }, fileInput: { counter: '{0} súborov', @@ -79,22 +79,22 @@ export default { previous: 'Predchádzajúca stránka', page: 'Ísť na stránku {0}', currentPage: 'Aktuálna stránka, stránka {0}', - first: 'First page', - last: 'Last page', + first: 'Prvá stránka', + last: 'Posledná stránka', }, }, stepper: { - next: 'Next', - prev: 'Previous', + next: 'Ďalší', + prev: 'Predchádzajúci', }, rating: { ariaLabel: { item: 'Hodnotenie {0} z {1}', }, }, - loading: 'Loading...', + loading: 'Načítavam...', infiniteScroll: { - loadMore: 'Load more', - empty: 'No more', + loadMore: 'Načítať viac', + empty: 'Žiadne ďalšie', }, } From e839c251e3bbc6348e3770eae32c8daa0f07da54 Mon Sep 17 00:00:00 2001 From: Rotzbua Date: Wed, 17 Jan 2024 00:35:20 +0100 Subject: [PATCH 06/10] docs(VAlert): fix renamed property (#19039) --- .../{prop-colored-border.vue => prop-border-color.vue} | 0 packages/docs/src/pages/en/components/alerts.md | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename packages/docs/src/examples/v-alert/{prop-colored-border.vue => prop-border-color.vue} (100%) diff --git a/packages/docs/src/examples/v-alert/prop-colored-border.vue b/packages/docs/src/examples/v-alert/prop-border-color.vue similarity index 100% rename from packages/docs/src/examples/v-alert/prop-colored-border.vue rename to packages/docs/src/examples/v-alert/prop-border-color.vue diff --git a/packages/docs/src/pages/en/components/alerts.md b/packages/docs/src/pages/en/components/alerts.md index fe4e2e51e84..73f4863ff47 100644 --- a/packages/docs/src/pages/en/components/alerts.md +++ b/packages/docs/src/pages/en/components/alerts.md @@ -143,11 +143,11 @@ The close icon automatically applies a default `aria-label` and is configurable The following is a collection of `v-alert` examples that demonstrate how different the properties work in an application. -### Colored border +### Border color -The **colored-border** prop removes the alert background in order to accent the **border** prop. If a **type** is set, it will use the type's default color. If no **color** or **type** is set, the color will default to the inverted color of the applied theme (black for light and white/gray for dark). +The **border-color** prop removes the alert background in order to accent the **border** prop. If a **type** is set, it will use the type's default color. If no **color** or **type** is set, the color will default to the inverted color of the applied theme (black for light and white/gray for dark). - + ### Icon From c62939ad518d734470d33ce368c68e22687f1371 Mon Sep 17 00:00:00 2001 From: Diganta Kr Banik <65999534+developer-diganta@users.noreply.github.com> Date: Wed, 17 Jan 2024 05:09:48 +0530 Subject: [PATCH 07/10] docs(VOtpInput): add v-model to divider example (#18991) --- packages/docs/src/examples/v-otp-input/misc-divider.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/docs/src/examples/v-otp-input/misc-divider.vue b/packages/docs/src/examples/v-otp-input/misc-divider.vue index 0e6aea2608c..e65008880e5 100644 --- a/packages/docs/src/examples/v-otp-input/misc-divider.vue +++ b/packages/docs/src/examples/v-otp-input/misc-divider.vue @@ -11,6 +11,7 @@
Please enter the verification code sent to your mobile
Date: Tue, 16 Jan 2024 20:17:34 -0600 Subject: [PATCH 08/10] docs(autocompletes): add tip about the search model closes #18613 --- packages/docs/src/pages/en/components/autocompletes.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/docs/src/pages/en/components/autocompletes.md b/packages/docs/src/pages/en/components/autocompletes.md index 0d919463e62..1fe2053b29b 100644 --- a/packages/docs/src/pages/en/components/autocompletes.md +++ b/packages/docs/src/pages/en/components/autocompletes.md @@ -66,6 +66,14 @@ The `custom-filter` prop can be used to filter each individual item with custom +::: tip + +The **v-autocomplete** component updates the search model on focus/blur events. Focus sets search to the current model (if available), and blur clears it. + +Unlike **v-combobox**, it doesn't keep unlisted values. To prevent unnecessary API requests when querying, ensure that search is not empty and/or doesn't match the current model. + +::: + ### Slots #### Item and selection From 60218ee82cabaf0d6c1f22d64a24c0e32b4e4247 Mon Sep 17 00:00:00 2001 From: John Leider Date: Wed, 17 Jan 2024 22:51:32 -0600 Subject: [PATCH 09/10] docs(App): add router-view transition --- packages/docs/src/App.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/docs/src/App.vue b/packages/docs/src/App.vue index f6008a9bb7a..4f7d2ff0a3f 100644 --- a/packages/docs/src/App.vue +++ b/packages/docs/src/App.vue @@ -1,5 +1,9 @@