diff --git a/packages/docs/auto-imports.d.ts b/packages/docs/auto-imports.d.ts
index 8a1a9b1878b..c996198571d 100644
--- a/packages/docs/auto-imports.d.ts
+++ b/packages/docs/auto-imports.d.ts
@@ -172,6 +172,9 @@ declare global {
export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue')
// @ts-ignore
+ export type { CodeSection } from './src/composables/playground'
+ import('./src/composables/playground')
+ // @ts-ignore
export type { Category } from './src/stores/app'
import('./src/stores/app')
// @ts-ignore
diff --git a/packages/docs/components.d.ts b/packages/docs/components.d.ts
index 572f87f0385..9db87a6fa0b 100644
--- a/packages/docs/components.d.ts
+++ b/packages/docs/components.d.ts
@@ -99,7 +99,6 @@ declare module 'vue' {
DocMadeWithVueAttribution: typeof import('./src/components/doc/MadeWithVueAttribution.vue')['default']
DocMadeWithVuetifyGallery: typeof import('./src/components/doc/MadeWithVuetifyGallery.vue')['default']
DocMadeWithVuetifyLink: typeof import('./src/components/doc/MadeWithVuetifyLink.vue')['default']
- DocPremiumThemesGallery: typeof import('./src/components/doc/PremiumThemesGallery.vue')['default']
DocReadyForMore: typeof import('./src/components/doc/ReadyForMore.vue')['default']
DocRelatedPage: typeof import('./src/components/doc/RelatedPage.vue')['default']
DocRelatedPages: typeof import('./src/components/doc/RelatedPages.vue')['default']
@@ -119,13 +118,35 @@ declare module 'vue' {
FeaturesSassApi: typeof import('./src/components/features/SassApi.vue')['default']
GettingStartedWireframeExamples: typeof import('./src/components/getting-started/WireframeExamples.vue')['default']
HomeActionBtns: typeof import('./src/components/home/ActionBtns.vue')['default']
+ HomeBlogs: typeof import('./src/components/home/Blogs.vue')['default']
+ HomeCommonCard: typeof import('./src/components/home/Common/Card.vue')['default']
+ HomeCommonGradient: typeof import('./src/components/home/Common/Gradient.vue')['default']
+ HomeCommonMarquee: typeof import('./src/components/home/Common/Marquee.vue')['default']
+ HomeCommonTitle: typeof import('./src/components/home/Common/Title.vue')['default']
+ HomeComponentGallery: typeof import('./src/components/home/ComponentGallery.vue')['default']
+ HomeDiscord: typeof import('./src/components/home/Discord.vue')['default']
+ HomeEcosystem: typeof import('./src/components/home/Ecosystem.vue')['default']
HomeEntry: typeof import('./src/components/home/Entry.vue')['default']
HomeEpicmaxSupport: typeof import('./src/components/home/EpicmaxSupport.vue')['default']
- HomeFeatures: typeof import('./src/components/home/Features.vue')['default']
HomeFooter: typeof import('./src/components/home/Footer.vue')['default']
+ HomeGalleryChatChat: typeof import('./src/components/home/Gallery/Chat/Chat.vue')['default']
+ HomeGalleryChatDetail: typeof import('./src/components/home/Gallery/Chat/Detail.vue')['default']
+ HomeGalleryChatInbox: typeof import('./src/components/home/Gallery/Chat/Inbox.vue')['default']
+ HomeGalleryChatList: typeof import('./src/components/home/Gallery/Chat/List.vue')['default']
+ HomeGalleryComponentGallery: typeof import('./src/components/home/Gallery/ComponentGallery.vue')['default']
+ HomeGalleryComponents: typeof import('./src/components/home/Gallery/Components.vue')['default']
+ HomeGalleryData: typeof import('./src/components/home/Gallery/Data.vue')['default']
+ HomeGalleryForm: typeof import('./src/components/home/Gallery/Form.vue')['default']
+ HomeGalleryLogin: typeof import('./src/components/home/Gallery/Login.vue')['default']
+ HomeGallerySelection: typeof import('./src/components/home/Gallery/Selection.vue')['default']
HomeLogo: typeof import('./src/components/home/Logo.vue')['default']
+ HomeSnips: typeof import('./src/components/home/Snips.vue')['default']
HomeSpecialSponsor: typeof import('./src/components/home/SpecialSponsor.vue')['default']
HomeSponsors: typeof import('./src/components/home/Sponsors.vue')['default']
+ HomeStore: typeof import('./src/components/home/Store.vue')['default']
+ HomeSupport: typeof import('./src/components/home/Support.vue')['default']
+ HomeTooling: typeof import('./src/components/home/Tooling.vue')['default']
+ HomeVuetifyOne: typeof import('./src/components/home/VuetifyOne.vue')['default']
IconsChevronDown: typeof import('./src/components/icons/ChevronDown.vue')['default']
IntroductionComparison: typeof import('./src/components/introduction/Comparison.vue')['default']
IntroductionConsultingServices: typeof import('./src/components/introduction/ConsultingServices.vue')['default']
diff --git a/packages/docs/src/components/app/Markup.vue b/packages/docs/src/components/app/Markup.vue
index 5e3c3c3be01..3760cba4272 100644
--- a/packages/docs/src/components/app/Markup.vue
+++ b/packages/docs/src/components/app/Markup.vue
@@ -53,18 +53,18 @@
- {{ t('open-in-vuetify-bin') }}
+ {{ t(needsPlaygroundLink ? 'open-in-playground' : 'open-in-vuetify-bin') }}
@@ -97,7 +97,10 @@
const props = defineProps({
resource: String,
- code: null,
+ code: {
+ type: [String, Array] as PropType
,
+ default: '',
+ },
inline: Boolean,
language: {
type: String,
@@ -130,16 +133,35 @@
const root = ref()
const highlighted = shallowRef('')
- watchEffect(async () => {
- highlighted.value = props.code && props.language && Prism.highlight(await props.code, Prism.languages[props.language], props.language)
- })
const className = computed(() => `language-${props.language}`)
const icon = computed(() => clicked.value ? 'mdi-check' : 'mdi-clipboard-text-outline')
- async function bin () {
+ const needsPlaygroundLink = computed(() => Array.isArray(props.code))
+
+ const displayedCode = computed(() => {
+ if (typeof props.code === 'string') {
+ return props.code
+ }
+
+ return props.code.map((section: CodeSection) => section.content).join('\n\n')
+ })
+
+ watchEffect(async () => {
+ highlighted.value = displayedCode.value && props.language && Prism.highlight(await displayedCode.value, Prism.languages[props.language], props.language)
+ })
+
+ function openCode () {
+ if (needsPlaygroundLink.value) {
+ openPlayground()
+ } else {
+ openBin()
+ }
+ }
+
+ async function openBin () {
const el = root.value?.$el.querySelector('code')
- const code = props.code || el?.innerText || ''
+ const code = displayedCode.value || el?.innerText || ''
const language = props.language || 'markdown'
const title = props.resource
@@ -148,10 +170,18 @@
window.open(compressed, '_blank')
}
+ async function openPlayground () {
+ if (typeof props.code === 'string') return
+
+ const url = usePlayground(props.code)
+
+ window.open(url, '_blank')
+ }
+
async function copy () {
const el = root.value?.$el.querySelector('code')
- navigator.clipboard.writeText(props.code || el?.innerText || '')
+ navigator.clipboard.writeText(displayedCode.value || el?.innerText || '')
clicked.value = true
diff --git a/packages/docs/src/components/doc/PremiumThemesGallery.vue b/packages/docs/src/components/doc/PremiumThemesGallery.vue
deleted file mode 100644
index e987f82af57..00000000000
--- a/packages/docs/src/components/doc/PremiumThemesGallery.vue
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- See More Templates
-
-
-
-
-
diff --git a/packages/docs/src/components/home/ActionBtns.vue b/packages/docs/src/components/home/ActionBtns.vue
deleted file mode 100644
index e379c7ccdcb..00000000000
--- a/packages/docs/src/components/home/ActionBtns.vue
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
- {{ t(text) }}
-
-
-
-
-
-
diff --git a/packages/docs/src/components/home/Blogs.vue b/packages/docs/src/components/home/Blogs.vue
new file mode 100644
index 00000000000..6d41e0295b7
--- /dev/null
+++ b/packages/docs/src/components/home/Blogs.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ latestBlog.date }}
+
+
+
+ {{ latestBlog.title }}
+
+
+
+ {{ latestBlog.shortDescription }}
+
+
+
+
+ mdi-circle-edit-outline
+ {{ latestBlog.personName }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.date }}
+
+
+
+ {{ item.title }}
+
+
+
+ {{ item.shortDescription }}
+
+
+
+
+ mdi-circle-edit-outline
+ {{ item.personName }}
+
+
+
+
+
+
+
+
+
+ All Blogs
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Common/Card.vue b/packages/docs/src/components/home/Common/Card.vue
new file mode 100644
index 00000000000..ab0c1198656
--- /dev/null
+++ b/packages/docs/src/components/home/Common/Card.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+ {{ props.title }}
+
+
+
+ {{ props.description }}
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Common/Gradient.vue b/packages/docs/src/components/home/Common/Gradient.vue
new file mode 100644
index 00000000000..f4eab2768b3
--- /dev/null
+++ b/packages/docs/src/components/home/Common/Gradient.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Common/Marquee.vue b/packages/docs/src/components/home/Common/Marquee.vue
new file mode 100644
index 00000000000..44e1c499fca
--- /dev/null
+++ b/packages/docs/src/components/home/Common/Marquee.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Common/Title.vue b/packages/docs/src/components/home/Common/Title.vue
new file mode 100644
index 00000000000..c4c9869c71c
--- /dev/null
+++ b/packages/docs/src/components/home/Common/Title.vue
@@ -0,0 +1,36 @@
+
+
+
+
+ {{ props.subtitle }}
+
+
+
+
+ {{ props.title }}
+
+
+
+
+ {{ props.description }}
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Discord.vue b/packages/docs/src/components/home/Discord.vue
new file mode 100644
index 00000000000..a3bc11312a0
--- /dev/null
+++ b/packages/docs/src/components/home/Discord.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ mdi-discord
+
+
+
+ Join our community of 40k+ developers
+
+
+
+ Join us to get help with your Vuetify projects, share your work, and connect with other developers on Discord.
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Ecosystem.vue b/packages/docs/src/components/home/Ecosystem.vue
new file mode 100644
index 00000000000..293cdc82f66
--- /dev/null
+++ b/packages/docs/src/components/home/Ecosystem.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Entry.vue b/packages/docs/src/components/home/Entry.vue
index 97baed3e2c5..891336d2422 100644
--- a/packages/docs/src/components/home/Entry.vue
+++ b/packages/docs/src/components/home/Entry.vue
@@ -1,112 +1,172 @@
-
-
-
-
-
-
-
-
- Vue Component Framework
-
-
-
- Vuetify is a no design skills required Open Source UI Library with beautifully handcrafted Vue Components.
-
-
-
-
-
-
-
-
+
+
+
+
+
+ #1 Vue UI Library
+
+
+
+ A complete
design system that works.
+
+
+
+ Built by the Vue Community, Backed by Sponsors.
+
+
+
+
+
+
+
+
+
-
- {{ randomPackage }} create
+
+
+
+
+
+
+
+
+ {{ manager }}
+
+
+
+
+
+ {{ commands[selectedPackageManager] }}
vuetify
-
-
-
-
- Latest Commit:
-
-
-
-
-
- Latest Release:
+ Latest
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
diff --git a/packages/docs/src/components/home/Features.vue b/packages/docs/src/components/home/Features.vue
deleted file mode 100644
index 94aedf45db4..00000000000
--- a/packages/docs/src/components/home/Features.vue
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/docs/src/components/home/Gallery/Chat/Chat.vue b/packages/docs/src/components/home/Gallery/Chat/Chat.vue
new file mode 100644
index 00000000000..2377ab9a889
--- /dev/null
+++ b/packages/docs/src/components/home/Gallery/Chat/Chat.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Gallery/Chat/Detail.vue b/packages/docs/src/components/home/Gallery/Chat/Detail.vue
new file mode 100644
index 00000000000..6a6bfa0e053
--- /dev/null
+++ b/packages/docs/src/components/home/Gallery/Chat/Detail.vue
@@ -0,0 +1,132 @@
+
+
+
+
+ mdi-arrow-left
+
+
+
+
+
+
+
+ {{ chat.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ message.message }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Gallery/Chat/List.vue b/packages/docs/src/components/home/Gallery/Chat/List.vue
new file mode 100644
index 00000000000..c1b885585bf
--- /dev/null
+++ b/packages/docs/src/components/home/Gallery/Chat/List.vue
@@ -0,0 +1,74 @@
+
+
+
+ Chat
+
+
+
+
+
+
+
+
+
+ {{ subtitle }} {{ chat.date }}
+
+
+
+
+
+
+ No chats found
+
+
+
+
diff --git a/packages/docs/src/components/home/Gallery/Components.vue b/packages/docs/src/components/home/Gallery/Components.vue
new file mode 100644
index 00000000000..e633569af3d
--- /dev/null
+++ b/packages/docs/src/components/home/Gallery/Components.vue
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vuetify Gallery
+
+
+
+
+
+
+
+ Vuetify
+
+
+
+
+
+
+
+ John Leider
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Gallery/Data.vue b/packages/docs/src/components/home/Gallery/Data.vue
new file mode 100644
index 00000000000..00387f70c1d
--- /dev/null
+++ b/packages/docs/src/components/home/Gallery/Data.vue
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+ {{ item.subtitle }}
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.amount }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Gallery/Form.vue b/packages/docs/src/components/home/Gallery/Form.vue
new file mode 100644
index 00000000000..4530b36cb8a
--- /dev/null
+++ b/packages/docs/src/components/home/Gallery/Form.vue
@@ -0,0 +1,254 @@
+
+
+
+
+
+ Personal Information
+
+ Use a permanent address where you can receive mail.
+
+
+
+
+
+
+
+
+
+
JPG, GIF or PNG. 1MB max.
+
+
+
+
+
+
+
+ First name
+
+
+
+
+
+ Last name
+
+
+
+
+
+ Email address
+
+
+
+
+
+ Username
+
+
+
+ example.com/
+
+
+
+
+
+ Timezone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Change password
+
+ Update your password associated with your account.
+
+
+
+
+
+
+
+ Current password
+
+
+
+
+
+ New password
+
+
+
+
+
+ Confirm password
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Log out other sessions
+
+ Please enter your password to confirm you would like to log out of your other sessions across all of your devices.
+
+
+
+
+
+
+
+ Your password
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Delete account
+
+ No longer want to use our service? You can delete your account here. This action is not reversible. All information related to this account will be deleted permanently.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Gallery/Login.vue b/packages/docs/src/components/home/Gallery/Login.vue
new file mode 100644
index 00000000000..3ff347c1111
--- /dev/null
+++ b/packages/docs/src/components/home/Gallery/Login.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+ Log into your account
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Don't have an account?
+
+ Sign up
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Snips.vue b/packages/docs/src/components/home/Snips.vue
new file mode 100644
index 00000000000..46fa401e4b6
--- /dev/null
+++ b/packages/docs/src/components/home/Snips.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+ From the creators of Vuetify
+
+
+
+ Beautiful UI snippets, built with Vuetify
+
+
+
+ Vuetify Snips is a collection of over 500 beautifully crafted UI snippets, built with Vuetify,
+ aimed at making your development process easier and faster.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/SpecialSponsor.vue b/packages/docs/src/components/home/SpecialSponsor.vue
index 9abf5f32531..b7f9959f324 100644
--- a/packages/docs/src/components/home/SpecialSponsor.vue
+++ b/packages/docs/src/components/home/SpecialSponsor.vue
@@ -1,23 +1,30 @@
-
-
+
+
+
+
- Special Sponsor
+ Special Sponsor
-
-
+
+
diff --git a/packages/docs/src/components/home/Sponsors.vue b/packages/docs/src/components/home/Sponsors.vue
index 0b4c436211b..f4fce025ed4 100644
--- a/packages/docs/src/components/home/Sponsors.vue
+++ b/packages/docs/src/components/home/Sponsors.vue
@@ -1,40 +1,57 @@
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
diff --git a/packages/docs/src/components/home/Store.vue b/packages/docs/src/components/home/Store.vue
new file mode 100644
index 00000000000..1a854741119
--- /dev/null
+++ b/packages/docs/src/components/home/Store.vue
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+ mdi-store-outline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Shop More
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Support.vue b/packages/docs/src/components/home/Support.vue
new file mode 100644
index 00000000000..844f0098c99
--- /dev/null
+++ b/packages/docs/src/components/home/Support.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+ Vuetify Support Services
+
+
+
+ Need support with your Vuetify project?
+
+
+
+ We've got you covered. We offer a range of support options to help you get the most out of Vuetify.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/Tooling.vue b/packages/docs/src/components/home/Tooling.vue
new file mode 100644
index 00000000000..c458b58251c
--- /dev/null
+++ b/packages/docs/src/components/home/Tooling.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/components/home/VuetifyOne.vue b/packages/docs/src/components/home/VuetifyOne.vue
new file mode 100644
index 00000000000..afd7ab31190
--- /dev/null
+++ b/packages/docs/src/components/home/VuetifyOne.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/docs/src/composables/playground.ts b/packages/docs/src/composables/playground.ts
index 1a35d39dcc0..f4c71e7fe75 100644
--- a/packages/docs/src/composables/playground.ts
+++ b/packages/docs/src/composables/playground.ts
@@ -3,6 +3,12 @@ import { strFromU8, strToU8, zlibSync } from 'fflate'
import { version as vuetifyVersion } from 'vuetify'
import { version as vueVersion } from 'vue'
+export type CodeSection = {
+ name: string
+ content: string
+ language: string
+}
+
// This is copied directly from playground
function utoa (data: string): string {
const buffer = strToU8(data)
@@ -12,7 +18,7 @@ function utoa (data: string): string {
}
export function usePlayground (
- sections: ({ name: string, content: string, language: string})[] = [],
+ sections: CodeSection[] = [],
css: string[] = [],
imports: Record = {},
setup?: string,
diff --git a/packages/docs/src/i18n/messages/en.json b/packages/docs/src/i18n/messages/en.json
index f32e5fa2af1..26f7a26509e 100644
--- a/packages/docs/src/i18n/messages/en.json
+++ b/packages/docs/src/i18n/messages/en.json
@@ -138,6 +138,7 @@
"discord": "Discord",
"done": "All done",
"edit-in-playground": "Edit in Vuetify Playground",
+ "open-in-playground": "Open in Vuetify Playground",
"edit-this-page": "Edit this page on",
"edit": "Edit",
"enable-banners": "Enable banners",
diff --git a/packages/docs/src/layouts/home.vue b/packages/docs/src/layouts/home.vue
index 9eaa631cc2f..a9ee1e1cd52 100644
--- a/packages/docs/src/layouts/home.vue
+++ b/packages/docs/src/layouts/home.vue
@@ -6,7 +6,9 @@
-
+
+
+
diff --git a/packages/docs/src/pages/en/index.md b/packages/docs/src/pages/en/index.md
index bca124a674d..0c6d7be837c 100644
--- a/packages/docs/src/pages/en/index.md
+++ b/packages/docs/src/pages/en/index.md
@@ -8,42 +8,46 @@ meta:
-
+
-
+
-
+
-
+
-
+
-## Project Sponsors
+
-The continued development and maintenance of Vuetify is made possible by these generous sponsors:{style="max-width: 568px" .mx-auto .px-4}
+
-
+
+
+
+
+
-
+
-## Templates Built With Vuetify
+
-Check out these premium templates built using Vuetify.{style="max-width: 568px" .mx-auto .px-4}
+
-
+
-
+
-## Made With Vuetify
+
-Check out these beautiful apps, plugins, and themes built using Vuetify.{style="max-width: 568px" .mx-auto .px-4}
+
-
+
-
+
-
-
-
+
-
+
diff --git a/packages/docs/src/plugins/icons.ts b/packages/docs/src/plugins/icons.ts
index a14235a69cf..4e49ec13467 100644
--- a/packages/docs/src/plugins/icons.ts
+++ b/packages/docs/src/plugins/icons.ts
@@ -74,6 +74,7 @@ export {
mdiCakeVariant,
mdiCalendar,
mdiCalendarBlank,
+ mdiCalendarBlankOutline,
mdiCalendarRange,
mdiCallSplit,
mdiCamera,
@@ -165,6 +166,7 @@ export {
mdiEyedropper,
mdiEyeOff,
mdiFacebook,
+ mdiFactory,
mdiFastForward,
mdiFileDocumentOutline,
mdiFileExcel,