diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 00000000000..3aa0fd8b8b7
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,8 @@
+services:
+ docs:
+ image: nginx:alpine
+ ports:
+ - ${PORT:-8095}:80
+ volumes:
+ - ./packages/docs/dist:/usr/share/nginx/html
+ - ./packages/docs/build/nginx.conf:/etc/nginx/nginx.conf
diff --git a/eslint-local-rules.js b/eslint-local-rules.js
index da775cc19cb..8bbba50c890 100644
--- a/eslint-local-rules.js
+++ b/eslint-local-rules.js
@@ -5,8 +5,7 @@ module.exports = {
'no-components-index': require('./scripts/rules/no-components-index'),
'jsx-condition-key': require('./scripts/rules/jsx-condition-key'),
'jsx-curly-spacing': require('./scripts/rules/jsx-curly-spacing'),
- 'jest-global-imports': require('./scripts/rules/jest-global-imports'),
- 'cypress-types-reference': require('./scripts/rules/cypress-types-reference'),
+ 'vitest-global-imports': require('./scripts/rules/vitest-global-imports'),
'sort-imports': require('./scripts/rules/sort-imports'),
'no-nullish-coalescing-in-condition': require('./scripts/rules/no-nullish-coalescing-in-condition'),
}
diff --git a/lerna.json b/lerna.json
index adccaf732bf..ce3af3594f1 100644
--- a/lerna.json
+++ b/lerna.json
@@ -13,5 +13,5 @@
}
},
"npmClient": "pnpm",
- "version": "3.6.14"
+ "version": "3.7.9"
}
\ No newline at end of file
diff --git a/package.json b/package.json
index 0a694ef5e78..b80b83615bd 100755
--- a/package.json
+++ b/package.json
@@ -27,30 +27,29 @@
"vue-ecosystem-ci:test": "pnpm --filter vuetify run lint && pnpm --filter vuetify run test"
},
"engines": {
- "node": ">=18.19.0 || >=20.6.0"
+ "node": ">=22.0.0"
},
"devDependencies": {
- "@babel/cli": "^7.24.1",
- "@babel/core": "^7.24.4",
- "@babel/preset-env": "^7.24.4",
- "@babel/preset-typescript": "^7.24.1",
- "@mdi/font": "6.2.95",
- "@mdi/js": "6.2.95",
- "@mdi/svg": "6.2.95",
+ "@babel/cli": "^7.24.8",
+ "@babel/core": "^7.25.2",
+ "@babel/preset-env": "^7.25.3",
+ "@babel/preset-typescript": "^7.24.7",
+ "@mdi/font": "7.4.47",
+ "@mdi/js": "7.4.47",
+ "@mdi/svg": "7.4.47",
"@octokit/core": "^5.2.0",
- "@typescript-eslint/eslint-plugin": "^6.21.0",
- "@typescript-eslint/parser": "^6.21.0",
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
+ "@typescript-eslint/parser": "^7.18.0",
"@unhead/vue": "^1.9.4",
"@vue/compiler-sfc": "^3.4.27",
+ "@vue/language-server": "^2.0.29",
"@vue/runtime-core": "^3.4.27",
"@vue/runtime-dom": "^3.4.27",
"@vueuse/head": "^1.3.1",
"babel-eslint": "^10.1.0",
- "babel-jest": "^28.1.3",
"conventional-changelog-cli": "^3.0.0",
"conventional-changelog-vuetify": "^1.2.1",
"conventional-github-releaser": "^3.1.5",
- "cross-env": "^7.0.3",
"cross-spawn": "^7.0.3",
"eslint": "^8.57.0",
"eslint-config-standard": "^17.1.0",
@@ -66,28 +65,36 @@
"glob": "^11.0.0",
"husky": "^3.1.0",
"inquirer": "^6.5.2",
- "jest": "^28.1.3",
- "jest-cli": "^28.1.3",
- "jest-environment-jsdom": "^28.1.3",
- "jest-serializer-html": "^7.1.0",
"lerna": "^8.1.7",
"magic-string": "^0.30.9",
"mkdirp": "^3.0.1",
"moment": "^2.30.1",
"rimraf": "^5.0.5",
- "sass": "^1.77.8",
+ "sass": "^1.80.1",
+ "sass-embedded": "^1.80.1",
"semver": "^7.6.0",
"shelljs": "^0.8.5",
"stringify-object": "^5.0.0",
- "typescript": "~5.3.3",
+ "typescript": "~5.5.4",
"upath": "^2.0.1",
"vite-plugin-inspect": "^0.8.3",
"vite-plugin-warmup": "^0.1.0",
"vue": "^3.4.27",
"vue-analytics": "^5.16.1",
"vue-router": "^4.3.0",
- "vue-tsc": "^1.8.27",
+ "vue-tsc": "^2.0.29",
"yargs": "^17.7.2"
},
- "packageManager": "pnpm@9.5.0"
+ "packageManager": "pnpm@9.10.0",
+ "pnpm": {
+ "patchedDependencies": {
+ "@mdi/js@7.4.47": "patches/@mdi__js@7.4.47.patch",
+ "@testing-library/vue": "patches/@testing-library__vue.patch"
+ },
+ "overrides": {
+ "@testing-library/dom": "npm:@vuetify/testing-library-dom@1.0.2",
+ "@types/node": "22.5.4",
+ "tough-cookie": "5.0.0-rc.4"
+ }
+ }
}
diff --git a/packages/api-generator/package.json b/packages/api-generator/package.json
index 3ae4d481272..3d1f7682467 100755
--- a/packages/api-generator/package.json
+++ b/packages/api-generator/package.json
@@ -1,6 +1,6 @@
{
"name": "@vuetify/api-generator",
- "version": "3.6.14",
+ "version": "3.7.9",
"private": true,
"description": "",
"scripts": {
@@ -20,6 +20,7 @@
"vuetify": "workspace:*"
},
"devDependencies": {
+ "@types/lodash-es": "^4.17.12",
"@types/stringify-object": "^4.0.5",
"eslint": "^8.57.0",
"lodash-es": "^4.17.21",
diff --git a/packages/api-generator/src/index.ts b/packages/api-generator/src/index.ts
index 0521edd3a1f..f9f02295a49 100644
--- a/packages/api-generator/src/index.ts
+++ b/packages/api-generator/src/index.ts
@@ -1,8 +1,8 @@
import fs from 'fs/promises'
import path from 'upath'
import { components } from 'vuetify/dist/vuetify-labs.js'
-import importMap from 'vuetify/dist/json/importMap.json' assert { type: 'json' }
-import importMapLabs from 'vuetify/dist/json/importMap-labs.json' assert { type: 'json' }
+import importMap from 'vuetify/dist/json/importMap.json' with { type: 'json' }
+import importMapLabs from 'vuetify/dist/json/importMap-labs.json' with { type: 'json' }
import { kebabCase } from './helpers/text'
import type { BaseData, ComponentData, DirectiveData } from './types'
import { generateComposableDataFromTypes, generateDirectiveDataFromTypes } from './types'
diff --git a/packages/api-generator/src/locale/en/Select.json b/packages/api-generator/src/locale/en/Select.json
index e2af9a03120..d625eecaa29 100644
--- a/packages/api-generator/src/locale/en/Select.json
+++ b/packages/api-generator/src/locale/en/Select.json
@@ -1,6 +1,6 @@
{
"props": {
- "closeText": "Text set to to the inputs `aria-label` and `title` when input menu is closed.",
+ "closeText": "Text set to the inputs `aria-label` and `title` when input menu is closed.",
"chips": "Changes display of selections to chips.",
"closableChips": "Enables the [closable](/api/v-chip/#props-closable) prop on all [v-chip](/components/chips/) components.",
"hideSelected": "Do not display in the select menu items that are already selected.",
@@ -9,6 +9,6 @@
"menuProps": "Pass props through to the `v-menu` component. Accepts an object with anything from [v-menu](/api/v-menu/#props) props, camelCase keys are recommended.",
"multiple": "Changes select to multiple. Accepts array for value.",
"openOnClear": "Open's the menu whenever the clear icon is clicked.",
- "openText": "Text set to to the inputs **aria-label** and **title** when input menu is open."
+ "openText": "Text set to the inputs **aria-label** and **title** when input menu is open."
}
}
diff --git a/packages/api-generator/src/locale/en/VBadge.json b/packages/api-generator/src/locale/en/VBadge.json
index df9a307d48d..c52c270e38d 100644
--- a/packages/api-generator/src/locale/en/VBadge.json
+++ b/packages/api-generator/src/locale/en/VBadge.json
@@ -3,13 +3,13 @@
"bordered": "Applies a **2px** by default and **1.5px** border around the badge when using the **dot** property.",
"content": "Text content to show in the badge.",
"dot": "Reduce the size of the badge and hide its contents.",
- "floating": "Elevates the badge above the slotted content.",
- "inline": "Moves the badge to be inline with the wrapping element. Supports the usage of the **left** prop.",
+ "floating": "Move the badge further away from the slotted content. Equivalent to an 8px offset.",
+ "inline": "Display as an inline block instead of absolute position. **location**, **floating**, and **offset** will have no effect.",
"label": "The **aria-label** used for the badge.",
"max": "Sets the maximum number allowed when using the **content** prop with a `number` like value. If the content number exceeds the maximum value, a `+` suffix is added.",
"offsetX": "Offset the badge on the x-axis.",
"offsetY": "Offset the badge on the y-axis.",
- "overlap": "Overlaps the slotted content on top of the component."
+ "modelValue": "Controls whether the component is visible or hidden."
},
"slots": {
"badge": "The slot used for the badge's content."
diff --git a/packages/api-generator/src/locale/en/VCalendar.json b/packages/api-generator/src/locale/en/VCalendar.json
index f4fd72b61c6..298c322a760 100644
--- a/packages/api-generator/src/locale/en/VCalendar.json
+++ b/packages/api-generator/src/locale/en/VCalendar.json
@@ -1,7 +1,6 @@
{
"props": {
"allowedDates": "Determines which dates are selectable.",
- "displayValue": "Value to display for the component, possibly a formatted date.",
"hideHeader": "Determines whether the header is hidden in the calendar view.",
"hideWeekNumber": "Toggles the display of week numbers in a calendar view.",
"intervals": "Total number of intervals in a day view.",
@@ -14,7 +13,8 @@
"year": "Specifies the year for the calendar view."
},
"slots": {
- "header": "Slot for custom header content."
+ "header": "Slot for custom header content.",
+ "event": "Slot for custom event content."
},
"events": {
"next": "Emitted when moving to the next time period.",
diff --git a/packages/api-generator/src/locale/en/VChip.json b/packages/api-generator/src/locale/en/VChip.json
index 0f19ce2421c..2cbe5efb21c 100644
--- a/packages/api-generator/src/locale/en/VChip.json
+++ b/packages/api-generator/src/locale/en/VChip.json
@@ -12,6 +12,7 @@
"label": "Applies a medium size border radius.",
"outlined": "Removes background and applies border and text color.",
"pill": "Remove `v-avatar` padding.",
+ "size": "Sets the height, padding and the font size of the component. Accepts only predefined options: **x-small**, **small**, **default**, **large**, and **x-large**.",
"value": "The value used when a child of a [v-chip-group](/components/chip-groups)."
},
"events": {
diff --git a/packages/api-generator/src/locale/en/VConfirmEdit.json b/packages/api-generator/src/locale/en/VConfirmEdit.json
index 61341dd2aea..8828e91097d 100644
--- a/packages/api-generator/src/locale/en/VConfirmEdit.json
+++ b/packages/api-generator/src/locale/en/VConfirmEdit.json
@@ -5,6 +5,7 @@
},
"events": {
"ok": "The event emitted when the user clicks the OK button",
+ "save": "The event emitted when the user clicks the Save button",
"cancel": "The event emitted when the user clicks the Cancel button"
}
}
diff --git a/packages/api-generator/src/locale/en/VDataIterator.json b/packages/api-generator/src/locale/en/VDataIterator.json
index 84967bc5c1d..b20df3e4fd8 100644
--- a/packages/api-generator/src/locale/en/VDataIterator.json
+++ b/packages/api-generator/src/locale/en/VDataIterator.json
@@ -43,6 +43,7 @@
"input": "Array of selected items.",
"itemExpanded": "Event emitted when an item is expanded or closed.",
"itemSelected": "Event emitted when an item is selected or deselected.",
+ "update:currentItems": "The `.sync` event for `currentItems` prop.",
"update:expanded": "The `.sync` event for `expanded` prop.",
"update:groupBy": "The `.sync` event for `groupBy` prop.",
"update:itemsPerPage": "The `.sync` event for `itemsPerPage` prop.",
diff --git a/packages/api-generator/src/locale/en/VDataTable.json b/packages/api-generator/src/locale/en/VDataTable.json
index 2e5bdcdefb6..037caf10c0c 100644
--- a/packages/api-generator/src/locale/en/VDataTable.json
+++ b/packages/api-generator/src/locale/en/VDataTable.json
@@ -38,7 +38,10 @@
"virtualRows": "Virtualizes the rendering of rows. Be aware that you can not use the `body`, `body.prepend` or `body.append` slots with this prop."
},
"slots": {
+ "[`header.${string}`]": "Slot for custom rendering of a header cell.",
"[`item.${string}`]": "Slot for custom rendering of a row cell.",
+ "header.data-table-expand": "Slot to replace the default `v-icon` used when expanding header.",
+ "header": "Slot to replace the default table ``.",
"body": "Slot to replace the default table ``.",
"body.append": "Appends elements to the end of the default table ``.",
"body.prepend": "Prepends elements to the start of the default table ``.",
@@ -55,11 +58,15 @@
"heading": "Slot to add a custom header.",
"header.": "Slot to customize a specific header column.",
"header.data-table-select": "Slot to replace the default `v-checkbox-btn` in header.",
+ "headers": "An array of objects that each describe a header column. See the example below for a definition of all properties.",
"item": "Slot to replace the default rendering of a row.",
"item.data-table-select": "Slot to replace the default `v-checkbox-btn` used when selecting rows.",
"item.data-table-expand": "Slot to replace the default `v-icon` used when expanding rows.",
"item.": "Slot to customize a specific column.",
"loading": "Defines content for when `loading` is true and no items are provided.",
+ "tbody": "Slot to replace the default table ``.",
+ "thead": "Slot to replace the default table ``.",
+ "tfoot": "Slot to replace the default table ``.",
"no-data": "Defines content for when no items are provided.",
"no-results": "Defines content for when `search` is provided but no results are found.",
"progress": "Slot to replace the default `` component.",
@@ -73,6 +80,7 @@
"pageCount": "Emits when the **pageCount** property of the **pagination** prop is updated.",
"pagination": "Emits when something changed to the `pagination` which can be provided via the `pagination` prop.",
"toggleSelectAll": "Emits when the `select-all` checkbox in table header is clicked. This checkbox is enabled by the **show-select** prop.",
+ "update:currentItems": "Emits with the items currently being displayed.",
"update:expanded": "Emits when the **expanded** property of the **options** prop is updated.",
"update:groupBy": "Emits when the **group-by** property of the **options** property is updated.",
"update:groupDesc": "Emits when the **group-desc** property of the **options** prop is updated.",
diff --git a/packages/api-generator/src/locale/en/VDataTableFooter.json b/packages/api-generator/src/locale/en/VDataTableFooter.json
index a4a1cb8ac38..0ed0f4dbc14 100644
--- a/packages/api-generator/src/locale/en/VDataTableFooter.json
+++ b/packages/api-generator/src/locale/en/VDataTableFooter.json
@@ -12,5 +12,8 @@
"prevIcon": "Previous icon.",
"prevPageLabel": "Label for previous page.",
"showCurrentPage": "Show current page number between prev/next icons."
+ },
+ "slots": {
+ "prepend": "Extra content placed before the default pagination."
}
}
diff --git a/packages/api-generator/src/locale/en/VDataTableHeader.json b/packages/api-generator/src/locale/en/VDataTableHeader.json
deleted file mode 100644
index 9ac97c72528..00000000000
--- a/packages/api-generator/src/locale/en/VDataTableHeader.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "props": {
- "everyItem": "Indicates if all items in table are selected.",
- "headers": "Array of header items to display.",
- "mobile": "Renders mobile view of headers.",
- "options": "Options object. Identical to the one on `v-data-table`.",
- "showGroupBy": "Shows group by button.",
- "singleSelect": "Toggles rendering of select-all checkbox.",
- "someItems": "Indicates if one or more items in table are selected.",
- "sortByText": "Sets the label text used by the default sort-by selector when `v-data-table` is rendering the mobile view.",
- "sortIcon": "Icon used for sort button."
- }
-}
diff --git a/packages/api-generator/src/locale/en/VDataTableHeaders.json b/packages/api-generator/src/locale/en/VDataTableHeaders.json
index d00ed1ab290..8abf879cf07 100644
--- a/packages/api-generator/src/locale/en/VDataTableHeaders.json
+++ b/packages/api-generator/src/locale/en/VDataTableHeaders.json
@@ -3,9 +3,14 @@
"disableSort": "Toggles rendering of sort button.",
"sortAscIcon": "Icon used for ascending sort button.",
"sortDescIcon": "Icon used for descending sort button.",
- "sticky": "Sticks the header to the top of the table."
+ "sticky": "Deprecated, use `fixed-header` instead.",
+ "fixedHeader": "Sticks the header to the top of the table."
},
"slots": {
- "[`column.${string}`]": "Slot for custom rendering of a column."
+ "[`column.${string}`]": "Slot for custom rendering of a column.",
+ "[`header.${string}`]": "Slot for custom rendering of a header cell.",
+ "header.data-table-expand": "Slot for the expand button in the header.",
+ "header.data-table-select": "Slot for the select-all checkbox in the header.",
+ "headers": "Slot to replace the default rendering of the `` element."
}
}
diff --git a/packages/api-generator/src/locale/en/VDataTableRow.json b/packages/api-generator/src/locale/en/VDataTableRow.json
index b2e97b4f05e..83eedaed30b 100644
--- a/packages/api-generator/src/locale/en/VDataTableRow.json
+++ b/packages/api-generator/src/locale/en/VDataTableRow.json
@@ -1,6 +1,20 @@
{
"props": {
+ "cellProps": "Props to be applied to the cell.",
"index": "Row index.",
"item": "Data (key, index and column values) of the displayed item."
+ },
+ "events": {
+ "contextmenu": "The event emitted when the user clicks the context menu button.",
+ "dblclick": "The event emitted when the user double clicks the row.",
+ "[`item.${string}`]": "The event emitted when the user clicks the item."
+ },
+ "slots": {
+ "[`header.${string}`]": "Slot for custom rendering of a header cell.",
+ "[`item.${string}`]": "Slot for custom rendering of a row cell.",
+ "header.data-table-expand": "Slot to replace the default `v-icon` used when expanding header.",
+ "header.data-table-select": "Slot to replace the default `v-checkbox-btn` in header.",
+ "item.data-table-expand": "Slot for the expand button in the row.",
+ "item.data-table-select": "Slot for the select checkbox in the row."
}
}
diff --git a/packages/api-generator/src/locale/en/VDataTableRows.json b/packages/api-generator/src/locale/en/VDataTableRows.json
index 65a41784031..0418f0f18e3 100644
--- a/packages/api-generator/src/locale/en/VDataTableRows.json
+++ b/packages/api-generator/src/locale/en/VDataTableRows.json
@@ -10,7 +10,10 @@
"click:row": "Emitted when a row is clicked. Native event is passed as the first argument, row data as the second."
},
"slots": {
- "[`item.${string}]`": "Slot for custom rendering of a column.",
+ "[`header.${string}`]": "Slot for custom rendering of a header cell.",
+ "header.data-table-expand": "Slot to replace the default `v-icon` used when expanding header.",
+ "header.data-table-select": "Slot to replace the default `v-checkbox-btn` in header.",
+ "[`item.${string}`]": "Slot for custom rendering of a column.",
"data-table-group": "Slot for custom rendering of a group.",
"data-table-select": "Slot for custom rendering of a header cell with the select checkbox.",
"expanded-row": "Slot for custom rendering of an expanded row.",
diff --git a/packages/api-generator/src/locale/en/VDataTableServer.json b/packages/api-generator/src/locale/en/VDataTableServer.json
index c4c85b60cf3..e361b53bd70 100644
--- a/packages/api-generator/src/locale/en/VDataTableServer.json
+++ b/packages/api-generator/src/locale/en/VDataTableServer.json
@@ -1,11 +1,17 @@
{
"props": {
- "itemsLength": "Number of all items."
+ "itemsLength": "Number of all items.",
+ "headerProps": "Pass props to the default header. See [`v-data-table-server` API](/api/v-data-table-server) for more information."
},
"slots": {
+ "[`header.${string}`]": "Slot for a specific header. See [`v-data-table-server` API](/api/v-data-table-server) for more information.",
"[`column.${string}`]": "Slot for custom rendering of a column.",
"[`item.${string}`]": "Slot for custom rendering of a row cell.",
"body": "Slot to replace the default rendering of the `` element.",
+ "body.append": "Adds content to the empty space in the body.",
+ "body.prepend": "Adds content to the empty space in the body.",
+ "header.data-table-expand": "Slot for the expand button in the header.",
+ "header.data-table-select": "Slot for the select-all checkbox in the header.",
"bottom": "Slot to add content below the table.",
"colgroup": "Slot to replace the default rendering of the `
` element.",
"column.data-table-expand": "Slot to replace the default `v-icon` used when expanding rows.",
diff --git a/packages/api-generator/src/locale/en/VDataTableVirtual.json b/packages/api-generator/src/locale/en/VDataTableVirtual.json
index e24b810ffb4..5d0638db286 100644
--- a/packages/api-generator/src/locale/en/VDataTableVirtual.json
+++ b/packages/api-generator/src/locale/en/VDataTableVirtual.json
@@ -1,8 +1,16 @@
{
+ "props": {
+ "headerProps": "Pass props to the default header."
+ },
"slots": {
+ "[`header.${string}`]": "Slot for a specific header. See [`v-data-table-virtual` API](/api/v-data-table-virtual) for more information.",
"[`column.${string}`]": "Slot for custom rendering of a column.",
"[`item.${string}`]": "Slot for custom rendering of a row cell.",
+ "header.data-table-expand": "Slot for the expand button in the header.",
+ "header.data-table-select": "Slot for the select-all checkbox in the header.",
"body": "Slot to replace the default rendering of the `
` element.",
+ "body.append": "Slot to add content below the table.",
+ "body.prepend": "Slot to add content above the table.",
"bottom": "Slot to add content below the table.",
"colgroup": "Slot to replace the default rendering of the `
` element.",
"column.data-table-expand": "Slot to replace the default `v-icon` used when expanding rows.",
diff --git a/packages/api-generator/src/locale/en/VDatePicker.json b/packages/api-generator/src/locale/en/VDatePicker.json
index 2234f5b312e..a0c4e318ffe 100644
--- a/packages/api-generator/src/locale/en/VDatePicker.json
+++ b/packages/api-generator/src/locale/en/VDatePicker.json
@@ -7,6 +7,12 @@
"eventColor": "Sets the color for event dot. It can be string (all events will have the same color) or `object` where attribute is the event date and value is boolean/color/array of colors for specified date or `function` taking date as a parameter and returning boolean/color/array of colors for that date.",
"events": "Array of dates or object defining events or colors or function returning boolean/color/array of colors.",
"expandIcon": "Icon used for **view-mode** toggle.",
+ "hideHeader": "Hides the header.",
+ "hideWeekdays": "Hides the weekdays.",
+ "landscape": "Changes the picker to landscape mode.",
+ "month": "Sets the month.",
+ "weekdays": "Array of weekdays.",
+ "year": "Sets the year.",
"firstDayOfWeek": "Sets the first day of the week, starting with 0 for Sunday.",
"flat": "Removes elevation.",
"format": "Takes a date object and returns it in a specified format.",
@@ -40,10 +46,17 @@
"yearIcon": "Sets the icon in the year selection button."
},
"events": {
+ "update:month": "Emitted when the month changes.",
+ "update:year": "Emitted when the year changes.",
+ "update:viewMode": "Emitted when the view mode changes.",
":date": "Emitted when the specified DOM event occurs on the date button.",
":month": "Emitted when the specified DOM event occurs on the month button.",
":year": "Emitted when the specified DOM event occurs on the year button.",
"change": "Reactive date picker emits `input` even when any part of the date (year/month/day) changes, but `change` event is emitted only when the day (for date pickers) or month (for month pickers) changes. If `range` prop is set, date picker emits `change` when both [from, to] are selected.",
"update:pickerDate": "The `.sync` event for `picker-date` prop."
+ },
+ "slots": {
+ "actions": "Slot for the actions.",
+ "header": "Slot for the header."
}
}
diff --git a/packages/api-generator/src/locale/en/VDatePickerControls.json b/packages/api-generator/src/locale/en/VDatePickerControls.json
new file mode 100644
index 00000000000..c8b7ee5c739
--- /dev/null
+++ b/packages/api-generator/src/locale/en/VDatePickerControls.json
@@ -0,0 +1,15 @@
+{
+ "props": {
+ "modeIcon": "Icon used for the mode button.",
+ "nextIcon": "Icon used for the next button.",
+ "prevIcon": "Icon used for the previous button.",
+ "viewMode": "Sets the view mode of the date picker."
+ },
+ "events": {
+ "click:month": "Event fired when clicking on the month.",
+ "click:next": "Event fired when clicking the next button.",
+ "click:prev": "Event fired when clicking the previous button.",
+ "click:year": "Event fired when clicking the date text.",
+ "click:text": "Event fired when clicking the year."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VDatePickerHeader.json b/packages/api-generator/src/locale/en/VDatePickerHeader.json
new file mode 100644
index 00000000000..ed109816f66
--- /dev/null
+++ b/packages/api-generator/src/locale/en/VDatePickerHeader.json
@@ -0,0 +1,6 @@
+{
+ "props": {
+ "header": "Sets the header content.",
+ "transition": "Sets the transition when the header changes."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VDatePickerMonth.json b/packages/api-generator/src/locale/en/VDatePickerMonth.json
index e7697b78d2b..396bda1c277 100644
--- a/packages/api-generator/src/locale/en/VDatePickerMonth.json
+++ b/packages/api-generator/src/locale/en/VDatePickerMonth.json
@@ -1,7 +1,21 @@
{
"props": {
+ "allowedDates": "Sets the allowed dates of the month.",
"hideWeekdays": "Hide the days of the week letters.",
+ "max": "Sets the maximum date of the month.",
+ "min": "Sets the minimum date of the month.",
+ "month": "Sets the month.",
+ "weekdays": "Sets the weekdays of the month.",
+ "year": "Sets the year.",
+ "multiple": "Sets the multiple of the month.",
+ "showAdjacentMonths": "Show adjacent months.",
+ "showWeek": "Show the week number.",
"transition": "The transition used when changing months into the future",
"reverseTransition": "The transition used when changing months into the past"
+ },
+ "events": {
+ "update:month": "Fired when the month changes.",
+ "update:year": "Fired when the year changes.",
+ "day": "Fired when a day is clicked."
}
}
diff --git a/packages/api-generator/src/locale/en/VDatePickerMonths.json b/packages/api-generator/src/locale/en/VDatePickerMonths.json
new file mode 100644
index 00000000000..fe4691b8cbc
--- /dev/null
+++ b/packages/api-generator/src/locale/en/VDatePickerMonths.json
@@ -0,0 +1,5 @@
+{
+ "slots": {
+ "month": "Slot for the month."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VDatePickerYear.json b/packages/api-generator/src/locale/en/VDatePickerYear.json
new file mode 100644
index 00000000000..8b56845b0ef
--- /dev/null
+++ b/packages/api-generator/src/locale/en/VDatePickerYear.json
@@ -0,0 +1,21 @@
+{
+ "props": {
+ "allowedDates": "Sets the allowed dates of the month.",
+ "hideWeekdays": "Hide the days of the week letters.",
+ "max": "Sets the maximum date of the month.",
+ "min": "Sets the minimum date of the month.",
+ "month": "Sets the month.",
+ "weekdays": "Sets the weekdays of the month.",
+ "year": "Sets the year.",
+ "day": "The current day of the selected date.",
+ "multiple": "Sets the multiple of the month.",
+ "showAdjacentMonths": "Show adjacent months.",
+ "showWeek": "Show the week number.",
+ "transition": "The transition used when changing months into the future",
+ "reverseTransition": "The transition used when changing months into the past"
+ },
+ "events": {
+ "update:month": "Event emitted when the month changes.",
+ "update:year": "Event emitted when the year changes."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VDatePickerYears.json b/packages/api-generator/src/locale/en/VDatePickerYears.json
new file mode 100644
index 00000000000..85e72f00423
--- /dev/null
+++ b/packages/api-generator/src/locale/en/VDatePickerYears.json
@@ -0,0 +1,7 @@
+{
+ "props": {
+ "max": "Sets the maximum date of the month.",
+ "min": "Sets the minimum date of the month.",
+ "year": "Sets the year."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VDialog.json b/packages/api-generator/src/locale/en/VDialog.json
index c5cb77f7f8e..d9e1762c28c 100644
--- a/packages/api-generator/src/locale/en/VDialog.json
+++ b/packages/api-generator/src/locale/en/VDialog.json
@@ -20,6 +20,7 @@
"activatorEl": "Ref to the current activator element.",
"animateClick": "Function invoked when user clicks outside the component and the **persistent** prop is used.",
"contentEl": "Ref to the current content element.",
+ "scrimEl": "Ref to the current scrim element.",
"globalTop": "Used by activator to determine a components position in the global stack order.",
"localTop": "Used by activator to determine a components position in the local stack order.",
"updateLocation": "Function used for locationStrategy positioning."
diff --git a/packages/api-generator/src/locale/en/VDialogTransition.json b/packages/api-generator/src/locale/en/VDialogTransition.json
index 0967ef424bc..f0afa14c071 100644
--- a/packages/api-generator/src/locale/en/VDialogTransition.json
+++ b/packages/api-generator/src/locale/en/VDialogTransition.json
@@ -1 +1,5 @@
-{}
+{
+ "props": {
+ "target": "Sets the target element for the transition."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VEmptyState.json b/packages/api-generator/src/locale/en/VEmptyState.json
index 7e0a4593d30..72ae9b491f9 100644
--- a/packages/api-generator/src/locale/en/VEmptyState.json
+++ b/packages/api-generator/src/locale/en/VEmptyState.json
@@ -5,7 +5,8 @@
"href": "The URL the action button links to.",
"justify": "Control the justification of the text.",
"textWidth": "Sets the width of the text container.",
- "to": "The URL the action button links to."
+ "to": "The URL the action button links to.",
+ "size": "The size used to control the dimensions of the media element inside the component. Can be specified as a number or a string (e.g., '50%', '100px')."
},
"events": {
"click:action": "Event emitted when the action button is clicked."
diff --git a/packages/api-generator/src/locale/en/VExpansionPanel.json b/packages/api-generator/src/locale/en/VExpansionPanel.json
index 4dedda416cd..89adeecf64d 100644
--- a/packages/api-generator/src/locale/en/VExpansionPanel.json
+++ b/packages/api-generator/src/locale/en/VExpansionPanel.json
@@ -1,8 +1,10 @@
{
"props": {
"disabled": "Disables the expansion-panel content.",
- "readonly": "Makes the expansion-panel content read only.",
- "value": "Controls the opened/closed state of content."
+ "readonly": "Makes the expansion panel content read only.",
+ "focusable": "Makes the expansion panel content focusable.",
+ "value": "Controls the opened/closed state of content.",
+ "static": "Remove title size expansion when selected."
},
"events": {
"change": "Toggles the value of the selected panel.",
diff --git a/packages/api-generator/src/locale/en/VExpansionPanelTitle.json b/packages/api-generator/src/locale/en/VExpansionPanelTitle.json
index c3d385c2bf4..fd57c53bd5c 100644
--- a/packages/api-generator/src/locale/en/VExpansionPanelTitle.json
+++ b/packages/api-generator/src/locale/en/VExpansionPanelTitle.json
@@ -3,6 +3,11 @@
"collapseIcon": "Icon used when the expansion panel is in a collapsable state.",
"expandIcon": "Icon used when the expansion panel is in a expandable state.",
"hideActions": "Hide the expand icon in the content title.",
- "static": "Remove title size expansion when selected."
+ "static": "Remove title size expansion when selected.",
+ "focusable": "Makes the expansion panel headers focusable.",
+ "readonly": "Makes the expansion panel content read only."
+ },
+ "slots": {
+ "actions": "Slot for the actions."
}
}
diff --git a/packages/api-generator/src/locale/en/VExpansionPanels.json b/packages/api-generator/src/locale/en/VExpansionPanels.json
index 0fcd1a5b4b7..9c095ccb48f 100644
--- a/packages/api-generator/src/locale/en/VExpansionPanels.json
+++ b/packages/api-generator/src/locale/en/VExpansionPanels.json
@@ -5,9 +5,10 @@
"focusable": "Makes the expansion-panel headers focusable.",
"flat": "Removes the expansion-panel's elevation and borders.",
"hover": "Applies a background-color shift on hover to expansion panel headers.",
- "inset": "Makes the expansion-panel open with a inset style.",
+ "inset": "Makes the expansion panel open with a inset style.",
"popout": "Makes the expansion-panel open with an popout style.",
- "readonly": "Makes the entire expansion-panel read only.",
+ "readonly": "Makes the entire expansion panel read only.",
+ "static": "Remove title size expansion when selected.",
"tile": "Removes the border-radius.",
"value": "Controls the opened/closed state of content in the expansion-panel. Corresponds to a zero-based index of the currently opened content. If the `multiple` prop (previously `expand` in 1.5.x) is used then it is an array of numbers where each entry corresponds to the index of the opened content. The index order is not relevant."
}
diff --git a/packages/api-generator/src/locale/en/VFileInput.json b/packages/api-generator/src/locale/en/VFileInput.json
index 1530cc6a21d..9022f6e37f3 100644
--- a/packages/api-generator/src/locale/en/VFileInput.json
+++ b/packages/api-generator/src/locale/en/VFileInput.json
@@ -8,7 +8,6 @@
"hideInput": "Display the icon only without the input (file names).",
"multiple": "Adds the **multiple** attribute to the input, allowing multiple file selections.",
"showSize": "Sets the displayed size of selected file(s). When using **true** will default to _1000_ displaying (**kB, MB, GB**) while _1024_ will display (**KiB, MiB, GiB**).",
- "smallChips": "Changes display of selections to chips with the **small** property.",
"truncateLength": "The length of a filename before it is truncated with ellipsis.",
"value": "A single or array of [File objects](https://developer.mozilla.org/en-US/docs/Web/API/File)."
},
diff --git a/packages/api-generator/src/locale/en/VImg.json b/packages/api-generator/src/locale/en/VImg.json
index 3519c534ae9..d39cb84be76 100644
--- a/packages/api-generator/src/locale/en/VImg.json
+++ b/packages/api-generator/src/locale/en/VImg.json
@@ -24,5 +24,12 @@
"error": "Emitted if the image fails to load.",
"load": "Emitted when the image is loaded.",
"loadstart": "Emitted when the image starts to load."
+ },
+ "exposed": {
+ "currentSrc": "The current source of the image. This is the image that is currently being displayed. This is useful for determining if the image is loading or not.",
+ "image": "The image element.",
+ "naturalHeight": "The natural height of the image.",
+ "naturalWidth": "The natural width of the image.",
+ "state": "The current state of the image. This is useful for determining if the image is loading or not."
}
}
diff --git a/packages/api-generator/src/locale/en/VInput.json b/packages/api-generator/src/locale/en/VInput.json
index 47f3a7804c3..ca319eb0451 100644
--- a/packages/api-generator/src/locale/en/VInput.json
+++ b/packages/api-generator/src/locale/en/VInput.json
@@ -27,6 +27,8 @@
"mouseup": "Emitted when click is released."
},
"exposed": {
+ "errorMessages": "An array of error messages that were set by the `setErrors` method.",
+ "isValid": "Boolean indicating if the input is valid.",
"reset": "Resets the input value.",
"resetValidation": "Resets validation of the input without modifying its value.",
"validate": "Validates the input's value."
diff --git a/packages/api-generator/src/locale/en/VLayoutItem.json b/packages/api-generator/src/locale/en/VLayoutItem.json
index 0967ef424bc..c720fa99f74 100644
--- a/packages/api-generator/src/locale/en/VLayoutItem.json
+++ b/packages/api-generator/src/locale/en/VLayoutItem.json
@@ -1 +1,5 @@
-{}
+{
+ "props": {
+ "position": "The position of the item."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VList.json b/packages/api-generator/src/locale/en/VList.json
index c45480c4d31..17843255058 100644
--- a/packages/api-generator/src/locale/en/VList.json
+++ b/packages/api-generator/src/locale/en/VList.json
@@ -1,6 +1,7 @@
{
"props": {
"itemType": "Designates the key on the supplied items that is used for determining the nodes type.",
+ "activatable": "Designates whether the list items are activatable.",
"disabled": "Puts all children inputs into a disabled state.",
"inactive": "If set, the list tile will not be rendered as a link even if it has to/href prop or @click handler.",
"lines": "Designates a **minimum-height** for all children `v-list-item` components. This prop uses [line-clamp](https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-line-clamp) and is not supported in all browsers.",
@@ -9,6 +10,24 @@
"subheader": "Removes the top padding from `v-list-subheader` components. When used as a **String**, renders a subheader for you.",
"slim": "Reduces horizontal spacing for badges, icons, tooltips, and avatars within slim list items to create a more compact visual representation.",
"collapseIcon": "Icon to display when the list item is expanded.",
- "expandIcon": "Icon to display when the list item is collapsed."
+ "expandIcon": "Icon to display when the list item is collapsed.",
+ "selectable": "Designates whether the list items are selectable."
+ },
+ "events": {
+ "click:activate": "Emitted when the list item is activated.",
+ "click:open": "Emitted when the list item is opened.",
+ "click:select": "Emitted when the list item is selected.",
+ "update:activated": "Emitted when the list item is activated.",
+ "update:opened": "Emitted when the list item is opened.",
+ "update:selected": "Emitted when the list item is selected."
+ },
+ "slots": {
+ "divider": "Slot for the divider.",
+ "header": "Slot for the header.",
+ "subheader": "Removes the top padding from `v-list-subheader` components. When used as a **String**, renders a subheader for you.",
+ "children": "Slot for the children.",
+ "focus": "Slot for the focus.",
+ "open": "Slot for the open.",
+ "parents": "Slot for the parents."
}
}
diff --git a/packages/api-generator/src/locale/en/VListGroup.json b/packages/api-generator/src/locale/en/VListGroup.json
index 798eb02ee5a..4054c872d3f 100644
--- a/packages/api-generator/src/locale/en/VListGroup.json
+++ b/packages/api-generator/src/locale/en/VListGroup.json
@@ -7,7 +7,8 @@
"noAction": "Removes left padding assigned for action icons from group items.",
"prependIcon": "Prepends an icon to the component, uses the same syntax as `v-icon`.",
"subgroup": "Designate the component as nested list group.",
- "value": "Expands / Collapse the list-group."
+ "value": "Expands / Collapse the list-group.",
+ "fluid": "Removes the left padding assigned for action icons from group items."
},
"exposed": {
"isOpen": "Returns the current state of the list-group."
diff --git a/packages/api-generator/src/locale/en/VListItem.json b/packages/api-generator/src/locale/en/VListItem.json
index 61d1733f621..ce3ff1870dc 100644
--- a/packages/api-generator/src/locale/en/VListItem.json
+++ b/packages/api-generator/src/locale/en/VListItem.json
@@ -4,7 +4,7 @@
"color": "Applies specified color to the control when in an **active** state or **input-value** is **true** - supports utility colors (for example `success` or `purple`) or css color (`#033` or `rgba(255, 0, 0, 0.5)`). Find a list of built-in classes on the [colors page](/styles/colors#material-colors),",
"contained": "Changes the component style by changing how color is applied to the background.",
"title": "Generates a `v-list-item-title` component with the supplied value. Note that this overrides the native [`title`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title) attribute, that must be set with `v-bind:title.attr` instead.",
- "value": "The value used for selection.",
+ "value": "The value used for selection. Obtained from [`v-list`](/api/v-list)'s `v-model:selected` when the item is selected.",
"lines": "The line declaration specifies the minimum height of the item and can also be controlled from v-list with the same prop.",
"nav": "Reduces the width v-list-item takes up as well as adding a border radius.",
"slim": "Reduces horizontal spacing for badges, icons, tooltips, and avatars to create a more compact visual representation."
diff --git a/packages/api-generator/src/locale/en/VListSubheader.json b/packages/api-generator/src/locale/en/VListSubheader.json
index 0967ef424bc..4aa6c753d0a 100644
--- a/packages/api-generator/src/locale/en/VListSubheader.json
+++ b/packages/api-generator/src/locale/en/VListSubheader.json
@@ -1 +1,8 @@
-{}
+{
+ "props": {
+ "tag": "Specify a custom tag used on the root element.",
+ "title": "Specify a title text for the component.",
+ "inset": "Insets the subheader without additional spacing, aligning it flush with the surrounding content.",
+ "sticky": "Sticks the header to the top of the table."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VLocaleProvider.json b/packages/api-generator/src/locale/en/VLocaleProvider.json
index 0967ef424bc..a848828f572 100644
--- a/packages/api-generator/src/locale/en/VLocaleProvider.json
+++ b/packages/api-generator/src/locale/en/VLocaleProvider.json
@@ -1 +1,7 @@
-{}
+{
+ "props": {
+ "fallbackLocale": "Specify a fallback locale to use when a locale is not found.",
+ "locale": "Specify a locale to use.",
+ "rtl": "Specify a RTL mode."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VMain.json b/packages/api-generator/src/locale/en/VMain.json
index 0967ef424bc..75b873474aa 100644
--- a/packages/api-generator/src/locale/en/VMain.json
+++ b/packages/api-generator/src/locale/en/VMain.json
@@ -1 +1,5 @@
-{}
+{
+ "props": {
+ "scrollable": "Specify a custom scrollable function."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VMenu.json b/packages/api-generator/src/locale/en/VMenu.json
index 1c722b31e76..50b31910e48 100644
--- a/packages/api-generator/src/locale/en/VMenu.json
+++ b/packages/api-generator/src/locale/en/VMenu.json
@@ -13,6 +13,17 @@
"openDelay": "Milliseconds to wait before opening component. Only works with the **open-on-hover** prop.",
"openOnClick": "Designates whether menu should open on activator click.",
"openOnHover": "Designates whether menu should open on activator hover.",
- "returnValue": "The value that is updated when the menu is closed - must be primitive. Dot notation is supported."
+ "returnValue": "The value that is updated when the menu is closed - must be primitive. Dot notation is supported.",
+ "submenu": "Opens with right arrow and closes on left instead of up/down. Implies `location=\"end\"`. Directions are reversed for RTL."
+ },
+ "exposed": {
+ "activatorEl": "Ref to the current activator element.",
+ "animateClick": "Function invoked when user clicks outside.",
+ "contentEl": "Ref to the current content element.",
+ "globalTop": "Used by activator to determine a components position in the global stack order.",
+ "id": "The unique identifier of the component.",
+ "localTop": "Used by activator to determine a components position in the local stack order.",
+ "target": "Ref to the current target element.",
+ "updateLocation": "Function used for locationStrategy positioning."
}
}
diff --git a/packages/api-generator/src/locale/en/VNavigationDrawer.json b/packages/api-generator/src/locale/en/VNavigationDrawer.json
index 24ac310e122..73b3293bac5 100644
--- a/packages/api-generator/src/locale/en/VNavigationDrawer.json
+++ b/packages/api-generator/src/locale/en/VNavigationDrawer.json
@@ -19,7 +19,8 @@
"temporary": "A temporary drawer sits above its application and uses a scrim (overlay) to darken the background.",
"touchless": "Disable mobile touch functionality.",
"value": "Controls whether the component is visible or hidden.",
- "location": "Controls the edge of the screen the drawer is attached to."
+ "location": "Controls the edge of the screen the drawer is attached to.",
+ "sticky": "When true, the drawer will remain visible when scrolling past the top of the page."
},
"slots": {
"append": "A slot at the bottom of the drawer.",
@@ -29,5 +30,8 @@
"events": {
"transitionend": "Emits event object when transition is complete.",
"update:rail": "Event that is emitted when the rail model changes."
+ },
+ "exposed": {
+ "isStuck": "Used to determine if the drawer is stuck to the top of the page."
}
}
diff --git a/packages/api-generator/src/locale/en/VNumberInput.json b/packages/api-generator/src/locale/en/VNumberInput.json
new file mode 100644
index 00000000000..b88211ffcf7
--- /dev/null
+++ b/packages/api-generator/src/locale/en/VNumberInput.json
@@ -0,0 +1,14 @@
+{
+ "props": {
+ "controlVariant": "The color of the control. It defaults to the value of `variant` prop.",
+ "hideInput": "Hide the input field.",
+ "inset": "Applies an indentation to the dividers used in the stepper buttons.",
+ "max": "Specifies the maximum allowable value for the input.",
+ "min": "Specifies the minimum allowable value for the input.",
+ "step": "Defines the interval between allowed values when the user increments or decrements the input"
+ },
+ "slots": {
+ "decrement": "Slot for customizing the decrement button or icon used to decrease the value of the input.",
+ "increment": "Slot for customizing the increment button or icon used to increase the value of the input."
+ }
+}
diff --git a/packages/api-generator/src/locale/en/VOverlay.json b/packages/api-generator/src/locale/en/VOverlay.json
index 36cd8a8b3c8..cc66bde776d 100644
--- a/packages/api-generator/src/locale/en/VOverlay.json
+++ b/packages/api-generator/src/locale/en/VOverlay.json
@@ -12,6 +12,17 @@
},
"events": {
"click:outside": "Event that fires when clicking outside an active overlay.",
- "afterLeave": "Event that fires after the overlay has finished transitioning out."
+ "afterLeave": "Event that fires after the overlay has finished transitioning out.",
+ "afterEnter": "Event that fires after the overlay has finished transitioning in."
+ },
+ "exposed": {
+ "activatorEl": "Ref to the current activator element.",
+ "animateClick": "Function invoked when user clicks outside.",
+ "contentEl": "Ref to the current content element.",
+ "globalTop": "Used by activator to determine a components position in the global stack order.",
+ "localTop": "Used by activator to determine a components position in the local stack order.",
+ "scrimEl": "Ref to the current scrim element.",
+ "target": "Ref to the current target element.",
+ "updateLocation": "Function used for locationStrategy positioning."
}
}
diff --git a/packages/api-generator/src/locale/en/VParallax.json b/packages/api-generator/src/locale/en/VParallax.json
index 832d1d0db39..9f68244bbc4 100644
--- a/packages/api-generator/src/locale/en/VParallax.json
+++ b/packages/api-generator/src/locale/en/VParallax.json
@@ -2,6 +2,12 @@
"props": {
"alt": "Attaches an alt property to the parallax image.",
"src": "The image to parallax.",
+ "scale": "The scale of the parallax image.",
"srcset": "A set of alternate images to use based on device size. [Read more...](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-srcset)."
+ },
+ "slots": {
+ "error": "Puts the input in a manual error state.",
+ "placeholder": "Sets the input's placeholder text.",
+ "sources": "A list of `