From 3183058e12ea82275e8d5a491375beffe771b052 Mon Sep 17 00:00:00 2001 From: Jean-Sebastien Carle <29762210+jscarle@users.noreply.github.com> Date: Wed, 18 Jun 2025 17:47:36 -0400 Subject: [PATCH 1/3] Added Tailwind CSS support. --- index.ts | 12 +++ locales/en-US.json | 3 + locales/fr-FR.json | 3 + locales/tr-TR.json | 3 + locales/zh-Hans.json | 3 + locales/zh-Hant.json | 3 + .../default}/src/assets/base.css | 0 .../default}/src/assets/main.css | 0 template/code/router/src/assets/base.css | 86 +++++++++++++++++ template/code/router/src/assets/main.css | 35 +++++++ template/code/tailwindcss-default/src/App.vue | 47 +++++++++ .../tailwindcss-default/src/assets/base.css | 86 +++++++++++++++++ .../tailwindcss-default/src/assets/main.css | 35 +++++++ .../src/components/HelloWorld.vue | 44 +++++++++ .../src/components/TheWelcome.vue | 95 +++++++++++++++++++ .../src/components/WelcomeItem.vue | 87 +++++++++++++++++ .../src/components/icons/IconCommunity.vue | 7 ++ .../components/icons/IconDocumentation.vue | 7 ++ .../src/components/icons/IconEcosystem.vue | 7 ++ .../src/components/icons/IconSupport.vue | 7 ++ .../src/components/icons/IconTooling.vue | 19 ++++ template/code/tailwindcss-router/src/App.vue | 85 +++++++++++++++++ .../tailwindcss-router/src/assets/base.css | 86 +++++++++++++++++ .../tailwindcss-router/src/assets/main.css | 35 +++++++ .../src/components/HelloWorld.vue | 44 +++++++++ .../src/components/TheWelcome.vue | 95 +++++++++++++++++++ .../src/components/WelcomeItem.vue | 86 +++++++++++++++++ .../src/components/icons/IconCommunity.vue | 7 ++ .../components/icons/IconDocumentation.vue | 7 ++ .../src/components/icons/IconEcosystem.vue | 7 ++ .../src/components/icons/IconSupport.vue | 7 ++ .../src/components/icons/IconTooling.vue | 19 ++++ .../tailwindcss-router/src/router/index.js | 23 +++++ .../src/views/AboutView.vue | 15 +++ .../tailwindcss-router/src/views/HomeView.vue | 9 ++ .../src/App.vue | 47 +++++++++ .../src/assets/base.css | 86 +++++++++++++++++ .../src/assets/main.css | 35 +++++++ .../src/components/HelloWorld.vue | 41 ++++++++ .../src/components/TheWelcome.vue | 95 +++++++++++++++++++ .../src/components/WelcomeItem.vue | 87 +++++++++++++++++ .../src/components/icons/IconCommunity.vue | 7 ++ .../components/icons/IconDocumentation.vue | 7 ++ .../src/components/icons/IconEcosystem.vue | 7 ++ .../src/components/icons/IconSupport.vue | 7 ++ .../src/components/icons/IconTooling.vue | 19 ++++ .../tailwindcss-typescript-router/src/App.vue | 85 +++++++++++++++++ .../src/assets/base.css | 86 +++++++++++++++++ .../src/assets/main.css | 35 +++++++ .../src/components/HelloWorld.vue | 41 ++++++++ .../src/components/TheWelcome.vue | 95 +++++++++++++++++++ .../src/components/WelcomeItem.vue | 87 +++++++++++++++++ .../src/components/icons/IconCommunity.vue | 7 ++ .../components/icons/IconDocumentation.vue | 7 ++ .../src/components/icons/IconEcosystem.vue | 7 ++ .../src/components/icons/IconSupport.vue | 7 ++ .../src/components/icons/IconTooling.vue | 19 ++++ .../src/router/index.ts | 23 +++++ .../src/views/AboutView.vue | 15 +++ .../src/views/HomeView.vue | 9 ++ .../typescript-default/src/assets/base.css | 86 +++++++++++++++++ .../typescript-default/src/assets/main.css | 35 +++++++ .../typescript-router/src/assets/base.css | 86 +++++++++++++++++ .../typescript-router/src/assets/main.css | 35 +++++++ template/config/tailwindcss/package.json | 6 ++ .../tailwindcss/vite.config.js.data.mjs | 15 +++ utils/getLanguage.ts | 1 + 67 files changed, 2339 insertions(+) rename template/{base => code/default}/src/assets/base.css (100%) rename template/{base => code/default}/src/assets/main.css (100%) create mode 100644 template/code/router/src/assets/base.css create mode 100644 template/code/router/src/assets/main.css create mode 100644 template/code/tailwindcss-default/src/App.vue create mode 100644 template/code/tailwindcss-default/src/assets/base.css create mode 100644 template/code/tailwindcss-default/src/assets/main.css create mode 100644 template/code/tailwindcss-default/src/components/HelloWorld.vue create mode 100644 template/code/tailwindcss-default/src/components/TheWelcome.vue create mode 100644 template/code/tailwindcss-default/src/components/WelcomeItem.vue create mode 100644 template/code/tailwindcss-default/src/components/icons/IconCommunity.vue create mode 100644 template/code/tailwindcss-default/src/components/icons/IconDocumentation.vue create mode 100644 template/code/tailwindcss-default/src/components/icons/IconEcosystem.vue create mode 100644 template/code/tailwindcss-default/src/components/icons/IconSupport.vue create mode 100644 template/code/tailwindcss-default/src/components/icons/IconTooling.vue create mode 100644 template/code/tailwindcss-router/src/App.vue create mode 100644 template/code/tailwindcss-router/src/assets/base.css create mode 100644 template/code/tailwindcss-router/src/assets/main.css create mode 100644 template/code/tailwindcss-router/src/components/HelloWorld.vue create mode 100644 template/code/tailwindcss-router/src/components/TheWelcome.vue create mode 100644 template/code/tailwindcss-router/src/components/WelcomeItem.vue create mode 100644 template/code/tailwindcss-router/src/components/icons/IconCommunity.vue create mode 100644 template/code/tailwindcss-router/src/components/icons/IconDocumentation.vue create mode 100644 template/code/tailwindcss-router/src/components/icons/IconEcosystem.vue create mode 100644 template/code/tailwindcss-router/src/components/icons/IconSupport.vue create mode 100644 template/code/tailwindcss-router/src/components/icons/IconTooling.vue create mode 100644 template/code/tailwindcss-router/src/router/index.js create mode 100644 template/code/tailwindcss-router/src/views/AboutView.vue create mode 100644 template/code/tailwindcss-router/src/views/HomeView.vue create mode 100644 template/code/tailwindcss-typescript-default/src/App.vue create mode 100644 template/code/tailwindcss-typescript-default/src/assets/base.css create mode 100644 template/code/tailwindcss-typescript-default/src/assets/main.css create mode 100644 template/code/tailwindcss-typescript-default/src/components/HelloWorld.vue create mode 100644 template/code/tailwindcss-typescript-default/src/components/TheWelcome.vue create mode 100644 template/code/tailwindcss-typescript-default/src/components/WelcomeItem.vue create mode 100644 template/code/tailwindcss-typescript-default/src/components/icons/IconCommunity.vue create mode 100644 template/code/tailwindcss-typescript-default/src/components/icons/IconDocumentation.vue create mode 100644 template/code/tailwindcss-typescript-default/src/components/icons/IconEcosystem.vue create mode 100644 template/code/tailwindcss-typescript-default/src/components/icons/IconSupport.vue create mode 100644 template/code/tailwindcss-typescript-default/src/components/icons/IconTooling.vue create mode 100644 template/code/tailwindcss-typescript-router/src/App.vue create mode 100644 template/code/tailwindcss-typescript-router/src/assets/base.css create mode 100644 template/code/tailwindcss-typescript-router/src/assets/main.css create mode 100644 template/code/tailwindcss-typescript-router/src/components/HelloWorld.vue create mode 100644 template/code/tailwindcss-typescript-router/src/components/TheWelcome.vue create mode 100644 template/code/tailwindcss-typescript-router/src/components/WelcomeItem.vue create mode 100644 template/code/tailwindcss-typescript-router/src/components/icons/IconCommunity.vue create mode 100644 template/code/tailwindcss-typescript-router/src/components/icons/IconDocumentation.vue create mode 100644 template/code/tailwindcss-typescript-router/src/components/icons/IconEcosystem.vue create mode 100644 template/code/tailwindcss-typescript-router/src/components/icons/IconSupport.vue create mode 100644 template/code/tailwindcss-typescript-router/src/components/icons/IconTooling.vue create mode 100644 template/code/tailwindcss-typescript-router/src/router/index.ts create mode 100644 template/code/tailwindcss-typescript-router/src/views/AboutView.vue create mode 100644 template/code/tailwindcss-typescript-router/src/views/HomeView.vue create mode 100644 template/code/typescript-default/src/assets/base.css create mode 100644 template/code/typescript-default/src/assets/main.css create mode 100644 template/code/typescript-router/src/assets/base.css create mode 100644 template/code/typescript-router/src/assets/main.css create mode 100644 template/config/tailwindcss/package.json create mode 100644 template/config/tailwindcss/vite.config.js.data.mjs diff --git a/index.ts b/index.ts index 23df2145d..b6c50257e 100755 --- a/index.ts +++ b/index.ts @@ -27,6 +27,7 @@ const FEATURE_FLAGS = [ 'default', 'ts', 'typescript', + 'tailwindcss', 'jsx', 'router', 'vue-router', @@ -49,6 +50,10 @@ const FEATURE_OPTIONS = [ value: 'typescript', label: language.needsTypeScript.message, }, + { + value: 'tailwindcss', + label: language.needsTailwindCss.message, + }, { value: 'jsx', label: language.needsJsx.message, @@ -170,6 +175,8 @@ Available feature flags: Create a project with the default configuration without any additional features. --ts, --typescript Add TypeScript support. + --tailwindcss + Add Tailwind CSS support. --jsx Add JSX support. --router, --vue-router @@ -350,6 +357,7 @@ async function init() { const { features, experimentFeatures } = result const needsTypeScript = argv.ts || argv.typescript || features.includes('typescript') + const needsTailwindCss = argv.tailwindcss || features.includes('tailwindcss') const needsJsx = argv.jsx || features.includes('jsx') const needsRouter = argv.router || argv['vue-router'] || features.includes('router') const needsPinia = argv.pinia || features.includes('pinia') @@ -400,6 +408,9 @@ async function init() { if (needsJsx) { render('config/jsx') } + if (needsTailwindCss) { + render('config/tailwindcss') + } if (needsRouter) { render('config/router') } @@ -519,6 +530,7 @@ async function init() { // Render code template. // prettier-ignore const codeTemplate = + (needsTailwindCss ? 'tailwindcss-' : '') + (needsTypeScript ? 'typescript-' : '') + (needsRouter ? 'router' : 'default') render(`code/${codeTemplate}`) diff --git a/locales/en-US.json b/locales/en-US.json index 57c6790e0..d11ee85e6 100644 --- a/locales/en-US.json +++ b/locales/en-US.json @@ -21,6 +21,9 @@ "needsTypeScript": { "message": "TypeScript" }, + "needsTailwindCss": { + "message": "Tailwind CSS" + }, "needsJsx": { "message": "JSX Support" }, diff --git a/locales/fr-FR.json b/locales/fr-FR.json index a8b6d1be7..386b1b0bc 100644 --- a/locales/fr-FR.json +++ b/locales/fr-FR.json @@ -21,6 +21,9 @@ "needsTypeScript": { "message": "TypeScript" }, + "needsTailwindCss": { + "message": "Tailwind CSS" + }, "needsJsx": { "message": "Support de JSX" }, diff --git a/locales/tr-TR.json b/locales/tr-TR.json index c42b68231..03e743736 100644 --- a/locales/tr-TR.json +++ b/locales/tr-TR.json @@ -21,6 +21,9 @@ "needsTypeScript": { "message": "TypeScript" }, + "needsTailwindCss": { + "message": "Tailwind CSS" + }, "needsJsx": { "message": "JSX Desteği" }, diff --git a/locales/zh-Hans.json b/locales/zh-Hans.json index db41975c0..b1b5e070c 100644 --- a/locales/zh-Hans.json +++ b/locales/zh-Hans.json @@ -21,6 +21,9 @@ "needsTypeScript": { "message": "TypeScript" }, + "needsTailwindCss": { + "message": "Tailwind CSS" + }, "needsJsx": { "message": "JSX 支持" }, diff --git a/locales/zh-Hant.json b/locales/zh-Hant.json index 53046101c..f98787638 100644 --- a/locales/zh-Hant.json +++ b/locales/zh-Hant.json @@ -21,6 +21,9 @@ "needsTypeScript": { "message": "TypeScript" }, + "needsTailwindCss": { + "message": "Tailwind CSS" + }, "needsJsx": { "message": "JSX 支援" }, diff --git a/template/base/src/assets/base.css b/template/code/default/src/assets/base.css similarity index 100% rename from template/base/src/assets/base.css rename to template/code/default/src/assets/base.css diff --git a/template/base/src/assets/main.css b/template/code/default/src/assets/main.css similarity index 100% rename from template/base/src/assets/main.css rename to template/code/default/src/assets/main.css diff --git a/template/code/router/src/assets/base.css b/template/code/router/src/assets/base.css new file mode 100644 index 000000000..8816868a4 --- /dev/null +++ b/template/code/router/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/template/code/router/src/assets/main.css b/template/code/router/src/assets/main.css new file mode 100644 index 000000000..36fb845b5 --- /dev/null +++ b/template/code/router/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/template/code/tailwindcss-default/src/App.vue b/template/code/tailwindcss-default/src/App.vue new file mode 100644 index 000000000..633a5dfe4 --- /dev/null +++ b/template/code/tailwindcss-default/src/App.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/template/code/tailwindcss-default/src/assets/base.css b/template/code/tailwindcss-default/src/assets/base.css new file mode 100644 index 000000000..8816868a4 --- /dev/null +++ b/template/code/tailwindcss-default/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/template/code/tailwindcss-default/src/assets/main.css b/template/code/tailwindcss-default/src/assets/main.css new file mode 100644 index 000000000..36fb845b5 --- /dev/null +++ b/template/code/tailwindcss-default/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/template/code/tailwindcss-default/src/components/HelloWorld.vue b/template/code/tailwindcss-default/src/components/HelloWorld.vue new file mode 100644 index 000000000..eff59f13c --- /dev/null +++ b/template/code/tailwindcss-default/src/components/HelloWorld.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/template/code/tailwindcss-default/src/components/TheWelcome.vue b/template/code/tailwindcss-default/src/components/TheWelcome.vue new file mode 100644 index 000000000..68a970a51 --- /dev/null +++ b/template/code/tailwindcss-default/src/components/TheWelcome.vue @@ -0,0 +1,95 @@ + + + diff --git a/template/code/tailwindcss-default/src/components/WelcomeItem.vue b/template/code/tailwindcss-default/src/components/WelcomeItem.vue new file mode 100644 index 000000000..6d7086aea --- /dev/null +++ b/template/code/tailwindcss-default/src/components/WelcomeItem.vue @@ -0,0 +1,87 @@ + + + diff --git a/template/code/tailwindcss-default/src/components/icons/IconCommunity.vue b/template/code/tailwindcss-default/src/components/icons/IconCommunity.vue new file mode 100644 index 000000000..2dc8b0552 --- /dev/null +++ b/template/code/tailwindcss-default/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-default/src/components/icons/IconDocumentation.vue b/template/code/tailwindcss-default/src/components/icons/IconDocumentation.vue new file mode 100644 index 000000000..6d4791cfb --- /dev/null +++ b/template/code/tailwindcss-default/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-default/src/components/icons/IconEcosystem.vue b/template/code/tailwindcss-default/src/components/icons/IconEcosystem.vue new file mode 100644 index 000000000..c3a4f078c --- /dev/null +++ b/template/code/tailwindcss-default/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-default/src/components/icons/IconSupport.vue b/template/code/tailwindcss-default/src/components/icons/IconSupport.vue new file mode 100644 index 000000000..7452834d3 --- /dev/null +++ b/template/code/tailwindcss-default/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-default/src/components/icons/IconTooling.vue b/template/code/tailwindcss-default/src/components/icons/IconTooling.vue new file mode 100644 index 000000000..660598d7c --- /dev/null +++ b/template/code/tailwindcss-default/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/template/code/tailwindcss-router/src/App.vue b/template/code/tailwindcss-router/src/App.vue new file mode 100644 index 000000000..e86419500 --- /dev/null +++ b/template/code/tailwindcss-router/src/App.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/template/code/tailwindcss-router/src/assets/base.css b/template/code/tailwindcss-router/src/assets/base.css new file mode 100644 index 000000000..8816868a4 --- /dev/null +++ b/template/code/tailwindcss-router/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/template/code/tailwindcss-router/src/assets/main.css b/template/code/tailwindcss-router/src/assets/main.css new file mode 100644 index 000000000..36fb845b5 --- /dev/null +++ b/template/code/tailwindcss-router/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/template/code/tailwindcss-router/src/components/HelloWorld.vue b/template/code/tailwindcss-router/src/components/HelloWorld.vue new file mode 100644 index 000000000..eff59f13c --- /dev/null +++ b/template/code/tailwindcss-router/src/components/HelloWorld.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/template/code/tailwindcss-router/src/components/TheWelcome.vue b/template/code/tailwindcss-router/src/components/TheWelcome.vue new file mode 100644 index 000000000..68a970a51 --- /dev/null +++ b/template/code/tailwindcss-router/src/components/TheWelcome.vue @@ -0,0 +1,95 @@ + + + diff --git a/template/code/tailwindcss-router/src/components/WelcomeItem.vue b/template/code/tailwindcss-router/src/components/WelcomeItem.vue new file mode 100644 index 000000000..ac366d074 --- /dev/null +++ b/template/code/tailwindcss-router/src/components/WelcomeItem.vue @@ -0,0 +1,86 @@ + + + diff --git a/template/code/tailwindcss-router/src/components/icons/IconCommunity.vue b/template/code/tailwindcss-router/src/components/icons/IconCommunity.vue new file mode 100644 index 000000000..2dc8b0552 --- /dev/null +++ b/template/code/tailwindcss-router/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-router/src/components/icons/IconDocumentation.vue b/template/code/tailwindcss-router/src/components/icons/IconDocumentation.vue new file mode 100644 index 000000000..6d4791cfb --- /dev/null +++ b/template/code/tailwindcss-router/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-router/src/components/icons/IconEcosystem.vue b/template/code/tailwindcss-router/src/components/icons/IconEcosystem.vue new file mode 100644 index 000000000..c3a4f078c --- /dev/null +++ b/template/code/tailwindcss-router/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-router/src/components/icons/IconSupport.vue b/template/code/tailwindcss-router/src/components/icons/IconSupport.vue new file mode 100644 index 000000000..7452834d3 --- /dev/null +++ b/template/code/tailwindcss-router/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-router/src/components/icons/IconTooling.vue b/template/code/tailwindcss-router/src/components/icons/IconTooling.vue new file mode 100644 index 000000000..660598d7c --- /dev/null +++ b/template/code/tailwindcss-router/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/template/code/tailwindcss-router/src/router/index.js b/template/code/tailwindcss-router/src/router/index.js new file mode 100644 index 000000000..3e49915ca --- /dev/null +++ b/template/code/tailwindcss-router/src/router/index.js @@ -0,0 +1,23 @@ +import { createRouter, createWebHistory } from 'vue-router' +import HomeView from '../views/HomeView.vue' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + component: HomeView, + }, + { + path: '/about', + name: 'about', + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('../views/AboutView.vue'), + }, + ], +}) + +export default router diff --git a/template/code/tailwindcss-router/src/views/AboutView.vue b/template/code/tailwindcss-router/src/views/AboutView.vue new file mode 100644 index 000000000..756ad2a17 --- /dev/null +++ b/template/code/tailwindcss-router/src/views/AboutView.vue @@ -0,0 +1,15 @@ + + + diff --git a/template/code/tailwindcss-router/src/views/HomeView.vue b/template/code/tailwindcss-router/src/views/HomeView.vue new file mode 100644 index 000000000..6bb706f08 --- /dev/null +++ b/template/code/tailwindcss-router/src/views/HomeView.vue @@ -0,0 +1,9 @@ + + + diff --git a/template/code/tailwindcss-typescript-default/src/App.vue b/template/code/tailwindcss-typescript-default/src/App.vue new file mode 100644 index 000000000..d05208d6a --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/App.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/template/code/tailwindcss-typescript-default/src/assets/base.css b/template/code/tailwindcss-typescript-default/src/assets/base.css new file mode 100644 index 000000000..8816868a4 --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/template/code/tailwindcss-typescript-default/src/assets/main.css b/template/code/tailwindcss-typescript-default/src/assets/main.css new file mode 100644 index 000000000..36fb845b5 --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/template/code/tailwindcss-typescript-default/src/components/HelloWorld.vue b/template/code/tailwindcss-typescript-default/src/components/HelloWorld.vue new file mode 100644 index 000000000..a2eabd15d --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/components/HelloWorld.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/template/code/tailwindcss-typescript-default/src/components/TheWelcome.vue b/template/code/tailwindcss-typescript-default/src/components/TheWelcome.vue new file mode 100644 index 000000000..8b731d918 --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/components/TheWelcome.vue @@ -0,0 +1,95 @@ + + + diff --git a/template/code/tailwindcss-typescript-default/src/components/WelcomeItem.vue b/template/code/tailwindcss-typescript-default/src/components/WelcomeItem.vue new file mode 100644 index 000000000..6d7086aea --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/components/WelcomeItem.vue @@ -0,0 +1,87 @@ + + + diff --git a/template/code/tailwindcss-typescript-default/src/components/icons/IconCommunity.vue b/template/code/tailwindcss-typescript-default/src/components/icons/IconCommunity.vue new file mode 100644 index 000000000..2dc8b0552 --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-typescript-default/src/components/icons/IconDocumentation.vue b/template/code/tailwindcss-typescript-default/src/components/icons/IconDocumentation.vue new file mode 100644 index 000000000..6d4791cfb --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-typescript-default/src/components/icons/IconEcosystem.vue b/template/code/tailwindcss-typescript-default/src/components/icons/IconEcosystem.vue new file mode 100644 index 000000000..c3a4f078c --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-typescript-default/src/components/icons/IconSupport.vue b/template/code/tailwindcss-typescript-default/src/components/icons/IconSupport.vue new file mode 100644 index 000000000..7452834d3 --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-typescript-default/src/components/icons/IconTooling.vue b/template/code/tailwindcss-typescript-default/src/components/icons/IconTooling.vue new file mode 100644 index 000000000..660598d7c --- /dev/null +++ b/template/code/tailwindcss-typescript-default/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/template/code/tailwindcss-typescript-router/src/App.vue b/template/code/tailwindcss-typescript-router/src/App.vue new file mode 100644 index 000000000..7905b0516 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/App.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/template/code/tailwindcss-typescript-router/src/assets/base.css b/template/code/tailwindcss-typescript-router/src/assets/base.css new file mode 100644 index 000000000..8816868a4 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/template/code/tailwindcss-typescript-router/src/assets/main.css b/template/code/tailwindcss-typescript-router/src/assets/main.css new file mode 100644 index 000000000..36fb845b5 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/template/code/tailwindcss-typescript-router/src/components/HelloWorld.vue b/template/code/tailwindcss-typescript-router/src/components/HelloWorld.vue new file mode 100644 index 000000000..d174cf8e1 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/components/HelloWorld.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/template/code/tailwindcss-typescript-router/src/components/TheWelcome.vue b/template/code/tailwindcss-typescript-router/src/components/TheWelcome.vue new file mode 100644 index 000000000..8b731d918 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/components/TheWelcome.vue @@ -0,0 +1,95 @@ + + + diff --git a/template/code/tailwindcss-typescript-router/src/components/WelcomeItem.vue b/template/code/tailwindcss-typescript-router/src/components/WelcomeItem.vue new file mode 100644 index 000000000..6d7086aea --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/components/WelcomeItem.vue @@ -0,0 +1,87 @@ + + + diff --git a/template/code/tailwindcss-typescript-router/src/components/icons/IconCommunity.vue b/template/code/tailwindcss-typescript-router/src/components/icons/IconCommunity.vue new file mode 100644 index 000000000..2dc8b0552 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-typescript-router/src/components/icons/IconDocumentation.vue b/template/code/tailwindcss-typescript-router/src/components/icons/IconDocumentation.vue new file mode 100644 index 000000000..6d4791cfb --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-typescript-router/src/components/icons/IconEcosystem.vue b/template/code/tailwindcss-typescript-router/src/components/icons/IconEcosystem.vue new file mode 100644 index 000000000..c3a4f078c --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-typescript-router/src/components/icons/IconSupport.vue b/template/code/tailwindcss-typescript-router/src/components/icons/IconSupport.vue new file mode 100644 index 000000000..7452834d3 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/template/code/tailwindcss-typescript-router/src/components/icons/IconTooling.vue b/template/code/tailwindcss-typescript-router/src/components/icons/IconTooling.vue new file mode 100644 index 000000000..660598d7c --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/template/code/tailwindcss-typescript-router/src/router/index.ts b/template/code/tailwindcss-typescript-router/src/router/index.ts new file mode 100644 index 000000000..3e49915ca --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/router/index.ts @@ -0,0 +1,23 @@ +import { createRouter, createWebHistory } from 'vue-router' +import HomeView from '../views/HomeView.vue' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + component: HomeView, + }, + { + path: '/about', + name: 'about', + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('../views/AboutView.vue'), + }, + ], +}) + +export default router diff --git a/template/code/tailwindcss-typescript-router/src/views/AboutView.vue b/template/code/tailwindcss-typescript-router/src/views/AboutView.vue new file mode 100644 index 000000000..756ad2a17 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/views/AboutView.vue @@ -0,0 +1,15 @@ + + + diff --git a/template/code/tailwindcss-typescript-router/src/views/HomeView.vue b/template/code/tailwindcss-typescript-router/src/views/HomeView.vue new file mode 100644 index 000000000..d5c0217e4 --- /dev/null +++ b/template/code/tailwindcss-typescript-router/src/views/HomeView.vue @@ -0,0 +1,9 @@ + + + diff --git a/template/code/typescript-default/src/assets/base.css b/template/code/typescript-default/src/assets/base.css new file mode 100644 index 000000000..8816868a4 --- /dev/null +++ b/template/code/typescript-default/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/template/code/typescript-default/src/assets/main.css b/template/code/typescript-default/src/assets/main.css new file mode 100644 index 000000000..36fb845b5 --- /dev/null +++ b/template/code/typescript-default/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/template/code/typescript-router/src/assets/base.css b/template/code/typescript-router/src/assets/base.css new file mode 100644 index 000000000..8816868a4 --- /dev/null +++ b/template/code/typescript-router/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/template/code/typescript-router/src/assets/main.css b/template/code/typescript-router/src/assets/main.css new file mode 100644 index 000000000..36fb845b5 --- /dev/null +++ b/template/code/typescript-router/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/template/config/tailwindcss/package.json b/template/config/tailwindcss/package.json new file mode 100644 index 000000000..babd75f23 --- /dev/null +++ b/template/config/tailwindcss/package.json @@ -0,0 +1,6 @@ +{ + "devDependencies": { + "tailwindcss": "^4.1.10", + "@tailwindcss/vite": "^4.1.10" + } +} diff --git a/template/config/tailwindcss/vite.config.js.data.mjs b/template/config/tailwindcss/vite.config.js.data.mjs new file mode 100644 index 000000000..de67562cb --- /dev/null +++ b/template/config/tailwindcss/vite.config.js.data.mjs @@ -0,0 +1,15 @@ +export default function getData({ oldData }) { + const tailwindPlugin = { + name: 'tailwindcss', + importer: "import tailwindcss from '@tailwindcss/vite'", + initializer: 'tailwindcss()', + } + + return { + ...oldData, + // Append the Tailwind CSS plugin right after the vue plugin + plugins: oldData.plugins.flatMap((plugin) => + plugin.id === 'vue' ? [plugin, tailwindPlugin] : plugin, + ), + } +} diff --git a/utils/getLanguage.ts b/utils/getLanguage.ts index ade2c6068..85590a226 100644 --- a/utils/getLanguage.ts +++ b/utils/getLanguage.ts @@ -25,6 +25,7 @@ interface Language { packageName: LanguageItem featureSelection: LanguageItem needsTypeScript: LanguageItem + needsTailwindCss: LanguageItem needsJsx: LanguageItem needsRouter: LanguageItem needsPinia: LanguageItem From f9b53d414ad46330be2ecffff758c85782dee20e Mon Sep 17 00:00:00 2001 From: Jean-Sebastien Carle <29762210+jscarle@users.noreply.github.com> Date: Wed, 18 Jun 2025 18:13:25 -0400 Subject: [PATCH 2/3] Updated tailwindcss templates. --- template/code/tailwindcss-default/src/App.vue | 63 ++++------ .../tailwindcss-default/src/assets/base.css | 86 ------------- .../tailwindcss-default/src/assets/main.css | 32 +---- .../src/components/HelloWorld.vue | 33 +---- .../src/components/TheWelcome.vue | 2 +- .../src/components/WelcomeItem.vue | 86 ++----------- template/code/tailwindcss-router/src/App.vue | 113 +++++++----------- .../tailwindcss-router/src/assets/base.css | 86 ------------- .../tailwindcss-router/src/assets/main.css | 32 +---- .../src/components/HelloWorld.vue | 33 +---- .../src/components/TheWelcome.vue | 2 +- .../src/components/WelcomeItem.vue | 85 ++----------- .../src/views/AboutView.vue | 12 +- .../src/App.vue | 63 ++++------ .../src/assets/base.css | 86 ------------- .../src/assets/main.css | 32 +---- .../src/components/HelloWorld.vue | 33 +---- .../src/components/TheWelcome.vue | 2 +- .../src/components/WelcomeItem.vue | 86 ++----------- .../tailwindcss-typescript-router/src/App.vue | 113 +++++++----------- .../src/assets/base.css | 86 ------------- .../src/assets/main.css | 32 +---- .../src/components/HelloWorld.vue | 33 +---- .../src/components/TheWelcome.vue | 2 +- .../src/components/WelcomeItem.vue | 86 ++----------- .../src/views/AboutView.vue | 12 +- 26 files changed, 210 insertions(+), 1121 deletions(-) delete mode 100644 template/code/tailwindcss-default/src/assets/base.css delete mode 100644 template/code/tailwindcss-router/src/assets/base.css delete mode 100644 template/code/tailwindcss-typescript-default/src/assets/base.css delete mode 100644 template/code/tailwindcss-typescript-router/src/assets/base.css diff --git a/template/code/tailwindcss-default/src/App.vue b/template/code/tailwindcss-default/src/App.vue index 633a5dfe4..ad9ae5a3e 100644 --- a/template/code/tailwindcss-default/src/App.vue +++ b/template/code/tailwindcss-default/src/App.vue @@ -4,44 +4,29 @@ import TheWelcome from './components/TheWelcome.vue' - - diff --git a/template/code/tailwindcss-default/src/assets/base.css b/template/code/tailwindcss-default/src/assets/base.css deleted file mode 100644 index 8816868a4..000000000 --- a/template/code/tailwindcss-default/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/template/code/tailwindcss-default/src/assets/main.css b/template/code/tailwindcss-default/src/assets/main.css index 36fb845b5..3cfa9ec46 100644 --- a/template/code/tailwindcss-default/src/assets/main.css +++ b/template/code/tailwindcss-default/src/assets/main.css @@ -1,35 +1,13 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - font-weight: normal; -} +@import "tailwindcss"; +/* Custom styles that complement Tailwind */ a, .green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; - padding: 3px; + @apply text-emerald-600 no-underline transition-all duration-400 px-1 py-0.5; } @media (hover: hover) { a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; + @apply bg-emerald-600/20; } -} +} \ No newline at end of file diff --git a/template/code/tailwindcss-default/src/components/HelloWorld.vue b/template/code/tailwindcss-default/src/components/HelloWorld.vue index eff59f13c..ea524ad48 100644 --- a/template/code/tailwindcss-default/src/components/HelloWorld.vue +++ b/template/code/tailwindcss-default/src/components/HelloWorld.vue @@ -8,37 +8,12 @@ defineProps({ - - diff --git a/template/code/tailwindcss-default/src/components/TheWelcome.vue b/template/code/tailwindcss-default/src/components/TheWelcome.vue index 68a970a51..e10a6e8dc 100644 --- a/template/code/tailwindcss-default/src/components/TheWelcome.vue +++ b/template/code/tailwindcss-default/src/components/TheWelcome.vue @@ -16,7 +16,7 @@ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md') - Vue’s + Vue's official documentation provides you with all information you need to get started. diff --git a/template/code/tailwindcss-default/src/components/WelcomeItem.vue b/template/code/tailwindcss-default/src/components/WelcomeItem.vue index 6d7086aea..613de2b61 100644 --- a/template/code/tailwindcss-default/src/components/WelcomeItem.vue +++ b/template/code/tailwindcss-default/src/components/WelcomeItem.vue @@ -1,87 +1,17 @@ - - diff --git a/template/code/tailwindcss-router/src/App.vue b/template/code/tailwindcss-router/src/App.vue index e86419500..63e59c5da 100644 --- a/template/code/tailwindcss-router/src/App.vue +++ b/template/code/tailwindcss-router/src/App.vue @@ -4,82 +4,57 @@ import HelloWorld from './components/HelloWorld.vue' diff --git a/template/code/tailwindcss-router/src/assets/base.css b/template/code/tailwindcss-router/src/assets/base.css deleted file mode 100644 index 8816868a4..000000000 --- a/template/code/tailwindcss-router/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/template/code/tailwindcss-router/src/assets/main.css b/template/code/tailwindcss-router/src/assets/main.css index 36fb845b5..3cfa9ec46 100644 --- a/template/code/tailwindcss-router/src/assets/main.css +++ b/template/code/tailwindcss-router/src/assets/main.css @@ -1,35 +1,13 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - font-weight: normal; -} +@import "tailwindcss"; +/* Custom styles that complement Tailwind */ a, .green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; - padding: 3px; + @apply text-emerald-600 no-underline transition-all duration-400 px-1 py-0.5; } @media (hover: hover) { a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; + @apply bg-emerald-600/20; } -} +} \ No newline at end of file diff --git a/template/code/tailwindcss-router/src/components/HelloWorld.vue b/template/code/tailwindcss-router/src/components/HelloWorld.vue index eff59f13c..ea524ad48 100644 --- a/template/code/tailwindcss-router/src/components/HelloWorld.vue +++ b/template/code/tailwindcss-router/src/components/HelloWorld.vue @@ -8,37 +8,12 @@ defineProps({ - - diff --git a/template/code/tailwindcss-router/src/components/TheWelcome.vue b/template/code/tailwindcss-router/src/components/TheWelcome.vue index 68a970a51..e10a6e8dc 100644 --- a/template/code/tailwindcss-router/src/components/TheWelcome.vue +++ b/template/code/tailwindcss-router/src/components/TheWelcome.vue @@ -16,7 +16,7 @@ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md') - Vue’s + Vue's official documentation provides you with all information you need to get started. diff --git a/template/code/tailwindcss-router/src/components/WelcomeItem.vue b/template/code/tailwindcss-router/src/components/WelcomeItem.vue index ac366d074..613de2b61 100644 --- a/template/code/tailwindcss-router/src/components/WelcomeItem.vue +++ b/template/code/tailwindcss-router/src/components/WelcomeItem.vue @@ -1,86 +1,17 @@ - - diff --git a/template/code/tailwindcss-router/src/views/AboutView.vue b/template/code/tailwindcss-router/src/views/AboutView.vue index 756ad2a17..0164cba89 100644 --- a/template/code/tailwindcss-router/src/views/AboutView.vue +++ b/template/code/tailwindcss-router/src/views/AboutView.vue @@ -1,15 +1,5 @@ - - diff --git a/template/code/tailwindcss-typescript-default/src/App.vue b/template/code/tailwindcss-typescript-default/src/App.vue index d05208d6a..af8c5b061 100644 --- a/template/code/tailwindcss-typescript-default/src/App.vue +++ b/template/code/tailwindcss-typescript-default/src/App.vue @@ -4,44 +4,29 @@ import TheWelcome from './components/TheWelcome.vue' - - diff --git a/template/code/tailwindcss-typescript-default/src/assets/base.css b/template/code/tailwindcss-typescript-default/src/assets/base.css deleted file mode 100644 index 8816868a4..000000000 --- a/template/code/tailwindcss-typescript-default/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/template/code/tailwindcss-typescript-default/src/assets/main.css b/template/code/tailwindcss-typescript-default/src/assets/main.css index 36fb845b5..3cfa9ec46 100644 --- a/template/code/tailwindcss-typescript-default/src/assets/main.css +++ b/template/code/tailwindcss-typescript-default/src/assets/main.css @@ -1,35 +1,13 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - font-weight: normal; -} +@import "tailwindcss"; +/* Custom styles that complement Tailwind */ a, .green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; - padding: 3px; + @apply text-emerald-600 no-underline transition-all duration-400 px-1 py-0.5; } @media (hover: hover) { a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; + @apply bg-emerald-600/20; } -} +} \ No newline at end of file diff --git a/template/code/tailwindcss-typescript-default/src/components/HelloWorld.vue b/template/code/tailwindcss-typescript-default/src/components/HelloWorld.vue index a2eabd15d..d7cee0d79 100644 --- a/template/code/tailwindcss-typescript-default/src/components/HelloWorld.vue +++ b/template/code/tailwindcss-typescript-default/src/components/HelloWorld.vue @@ -5,37 +5,12 @@ defineProps<{ - - diff --git a/template/code/tailwindcss-typescript-default/src/components/TheWelcome.vue b/template/code/tailwindcss-typescript-default/src/components/TheWelcome.vue index 8b731d918..0a7b9d964 100644 --- a/template/code/tailwindcss-typescript-default/src/components/TheWelcome.vue +++ b/template/code/tailwindcss-typescript-default/src/components/TheWelcome.vue @@ -16,7 +16,7 @@ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md') - Vue’s + Vue's official documentation provides you with all information you need to get started. diff --git a/template/code/tailwindcss-typescript-default/src/components/WelcomeItem.vue b/template/code/tailwindcss-typescript-default/src/components/WelcomeItem.vue index 6d7086aea..613de2b61 100644 --- a/template/code/tailwindcss-typescript-default/src/components/WelcomeItem.vue +++ b/template/code/tailwindcss-typescript-default/src/components/WelcomeItem.vue @@ -1,87 +1,17 @@ - - diff --git a/template/code/tailwindcss-typescript-router/src/App.vue b/template/code/tailwindcss-typescript-router/src/App.vue index 7905b0516..a2ad08912 100644 --- a/template/code/tailwindcss-typescript-router/src/App.vue +++ b/template/code/tailwindcss-typescript-router/src/App.vue @@ -4,82 +4,57 @@ import HelloWorld from './components/HelloWorld.vue' diff --git a/template/code/tailwindcss-typescript-router/src/assets/base.css b/template/code/tailwindcss-typescript-router/src/assets/base.css deleted file mode 100644 index 8816868a4..000000000 --- a/template/code/tailwindcss-typescript-router/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/template/code/tailwindcss-typescript-router/src/assets/main.css b/template/code/tailwindcss-typescript-router/src/assets/main.css index 36fb845b5..3cfa9ec46 100644 --- a/template/code/tailwindcss-typescript-router/src/assets/main.css +++ b/template/code/tailwindcss-typescript-router/src/assets/main.css @@ -1,35 +1,13 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - font-weight: normal; -} +@import "tailwindcss"; +/* Custom styles that complement Tailwind */ a, .green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; - padding: 3px; + @apply text-emerald-600 no-underline transition-all duration-400 px-1 py-0.5; } @media (hover: hover) { a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; + @apply bg-emerald-600/20; } -} +} \ No newline at end of file diff --git a/template/code/tailwindcss-typescript-router/src/components/HelloWorld.vue b/template/code/tailwindcss-typescript-router/src/components/HelloWorld.vue index d174cf8e1..1528a35d6 100644 --- a/template/code/tailwindcss-typescript-router/src/components/HelloWorld.vue +++ b/template/code/tailwindcss-typescript-router/src/components/HelloWorld.vue @@ -5,37 +5,12 @@ defineProps<{ - - diff --git a/template/code/tailwindcss-typescript-router/src/components/TheWelcome.vue b/template/code/tailwindcss-typescript-router/src/components/TheWelcome.vue index 8b731d918..0a7b9d964 100644 --- a/template/code/tailwindcss-typescript-router/src/components/TheWelcome.vue +++ b/template/code/tailwindcss-typescript-router/src/components/TheWelcome.vue @@ -16,7 +16,7 @@ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md') - Vue’s + Vue's official documentation provides you with all information you need to get started. diff --git a/template/code/tailwindcss-typescript-router/src/components/WelcomeItem.vue b/template/code/tailwindcss-typescript-router/src/components/WelcomeItem.vue index 6d7086aea..613de2b61 100644 --- a/template/code/tailwindcss-typescript-router/src/components/WelcomeItem.vue +++ b/template/code/tailwindcss-typescript-router/src/components/WelcomeItem.vue @@ -1,87 +1,17 @@ - - diff --git a/template/code/tailwindcss-typescript-router/src/views/AboutView.vue b/template/code/tailwindcss-typescript-router/src/views/AboutView.vue index 756ad2a17..0164cba89 100644 --- a/template/code/tailwindcss-typescript-router/src/views/AboutView.vue +++ b/template/code/tailwindcss-typescript-router/src/views/AboutView.vue @@ -1,15 +1,5 @@ - - From ea3a7f2eeb75b906a6520eb1f55a2f10ae5ef59b Mon Sep 17 00:00:00 2001 From: Jean-Sebastien Carle <29762210+jscarle@users.noreply.github.com> Date: Wed, 18 Jun 2025 18:21:33 -0400 Subject: [PATCH 3/3] postcss fix. --- pnpm-lock.yaml | 446 ++++++++++++++++-- template/code/tailwindcss-router/src/App.vue | 2 +- .../tailwindcss-typescript-router/src/App.vue | 2 +- 3 files changed, 406 insertions(+), 44 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c4771c75f..0c987295f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,7 +52,7 @@ importers: version: 3.6.0(picomatch@4.0.2)(rollup@4.37.0) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.15.32)(jsdom@26.1.0)(yaml@2.7.0) + version: 3.2.4(@types/node@22.15.32)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(yaml@2.7.0) zx: specifier: ^8.5.5 version: 8.5.5 @@ -65,13 +65,13 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.4 - version: 5.2.4(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) + version: 5.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) vite-plugin-vue-devtools: specifier: ^7.7.7 - version: 7.7.7(rollup@4.37.0)(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) + version: 7.7.7(rollup@4.37.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) template/config/cypress: devDependencies: @@ -100,19 +100,19 @@ importers: devDependencies: '@vitejs/plugin-vue-jsx': specifier: ^4.2.0 - version: 4.2.0(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) + version: 4.2.0(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) template/config/nightwatch: devDependencies: '@nightwatch/vue': specifier: ^3.1.2 - version: 3.1.2(@types/node@22.15.32)(vue@3.5.16(typescript@5.8.3)) + version: 3.1.2(@types/node@22.15.32)(lightningcss@1.30.1)(vue@3.5.16(typescript@5.8.3)) '@vitejs/plugin-vue': specifier: ^5.2.4 - version: 5.2.4(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) + version: 5.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) chromedriver: specifier: ^137.0.4 version: 137.0.4 @@ -127,7 +127,7 @@ importers: version: 10.9.2(@types/node@22.15.32)(typescript@5.8.3) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + version: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) vite-plugin-nightwatch: specifier: ^0.4.6 version: 0.4.6 @@ -172,6 +172,15 @@ importers: specifier: ^4.5.1 version: 4.5.1(vue@3.5.16(typescript@5.8.3)) + template/config/tailwindcss: + devDependencies: + '@tailwindcss/vite': + specifier: ^4.1.10 + version: 4.1.10(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0)) + tailwindcss: + specifier: ^4.1.10 + version: 4.1.10 + template/config/typescript: devDependencies: '@types/node': @@ -201,7 +210,7 @@ importers: version: 26.1.0 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.15.32)(jsdom@26.1.0)(yaml@2.7.0) + version: 3.2.4(@types/node@22.15.32)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(yaml@2.7.0) template/tsconfig/base: devDependencies: @@ -804,6 +813,10 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -1169,6 +1182,96 @@ packages: '@sinonjs/text-encoding@0.7.3': resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} + '@tailwindcss/node@4.1.10': + resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==} + + '@tailwindcss/oxide-android-arm64@4.1.10': + resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.10': + resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.10': + resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.10': + resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': + resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': + resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.10': + resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.10': + resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.10': + resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.10': + resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': + resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.10': + resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.10': + resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==} + engines: {node: '>= 10'} + + '@tailwindcss/vite@4.1.10': + resolution: {integrity: sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==} + peerDependencies: + vite: ^5.2.0 || ^6 + '@testim/chrome-version@1.1.4': resolution: {integrity: sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==} @@ -1717,6 +1820,10 @@ packages: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + chromedriver@137.0.4: resolution: {integrity: sha512-IxipIe0AnoQhWvG6eSTOLhVf1Tt586LA1IH4RdhGhXrrK6nZx8+VcKdjtlyZIV60S0CttUij/YnYuHAI+7qzWg==} engines: {node: '>=20'} @@ -1990,6 +2097,10 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} + devtools-protocol@0.0.1025565: resolution: {integrity: sha512-0s5sbGQR/EfYQhd8EpZgphpndsv+CufTlaeUyA6vYXCA0H5kMAsHCS/cHtUFWoKJCO125hpoKicQCfpxRj4oqw==} @@ -2053,6 +2164,10 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -2810,6 +2925,10 @@ packages: engines: {node: '>=10'} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} @@ -2907,6 +3026,70 @@ packages: lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -3083,6 +3266,10 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@3.0.2: + resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} + engines: {node: '>= 18'} + mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} @@ -3091,6 +3278,11 @@ packages: engines: {node: '>=10'} hasBin: true + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + mocha@10.3.0: resolution: {integrity: sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==} engines: {node: '>= 14.0.0'} @@ -3764,6 +3956,13 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tailwindcss@4.1.10: + resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==} + + tapable@2.2.2: + resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} + engines: {node: '>=6'} + tar-fs@3.0.6: resolution: {integrity: sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==} @@ -3774,6 +3973,10 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} + tcp-port-used@1.0.2: resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} @@ -4209,6 +4412,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yaml@2.7.0: resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} engines: {node: '>= 14'} @@ -4805,6 +5012,10 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 @@ -4926,12 +5137,12 @@ snapshots: dependencies: archiver: 5.3.2 - '@nightwatch/vue@3.1.2(@types/node@22.15.32)(vue@3.5.16(typescript@5.8.3))': + '@nightwatch/vue@3.1.2(@types/node@22.15.32)(lightningcss@1.30.1)(vue@3.5.16(typescript@5.8.3))': dependencies: '@nightwatch/esbuild-utils': 0.2.1 - '@vitejs/plugin-vue': 4.6.2(vite@4.5.14(@types/node@22.15.32))(vue@3.5.16(typescript@5.8.3)) + '@vitejs/plugin-vue': 4.6.2(vite@4.5.14(@types/node@22.15.32)(lightningcss@1.30.1))(vue@3.5.16(typescript@5.8.3)) get-port: 5.1.1 - vite: 4.5.14(@types/node@22.15.32) + vite: 4.5.14(@types/node@22.15.32)(lightningcss@1.30.1) vite-plugin-nightwatch: 0.4.6 optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -5101,6 +5312,77 @@ snapshots: '@sinonjs/text-encoding@0.7.3': {} + '@tailwindcss/node@4.1.10': + dependencies: + '@ampproject/remapping': 2.3.0 + enhanced-resolve: 5.18.1 + jiti: 2.4.2 + lightningcss: 1.30.1 + magic-string: 0.30.17 + source-map-js: 1.2.1 + tailwindcss: 4.1.10 + + '@tailwindcss/oxide-android-arm64@4.1.10': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.10': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.10': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.10': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.10': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.10': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.10': + optional: true + + '@tailwindcss/oxide@4.1.10': + dependencies: + detect-libc: 2.0.4 + tar: 7.4.3 + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.10 + '@tailwindcss/oxide-darwin-arm64': 4.1.10 + '@tailwindcss/oxide-darwin-x64': 4.1.10 + '@tailwindcss/oxide-freebsd-x64': 4.1.10 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.10 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.10 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.10 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.10 + '@tailwindcss/oxide-linux-x64-musl': 4.1.10 + '@tailwindcss/oxide-wasm32-wasi': 4.1.10 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.10 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.10 + + '@tailwindcss/vite@4.1.10(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))': + dependencies: + '@tailwindcss/node': 4.1.10 + '@tailwindcss/oxide': 4.1.10 + tailwindcss: 4.1.10 + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) + '@testim/chrome-version@1.1.4': {} '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -5179,25 +5461,25 @@ snapshots: '@types/node': 22.15.32 optional: true - '@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3))': + '@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3))': dependencies: '@babel/core': 7.27.1 '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.1) '@rolldown/pluginutils': 1.0.0-beta.9 '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.27.1) - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) vue: 3.5.16(typescript@5.8.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@4.6.2(vite@4.5.14(@types/node@22.15.32))(vue@3.5.16(typescript@5.8.3))': + '@vitejs/plugin-vue@4.6.2(vite@4.5.14(@types/node@22.15.32)(lightningcss@1.30.1))(vue@3.5.16(typescript@5.8.3))': dependencies: - vite: 4.5.14(@types/node@22.15.32) + vite: 4.5.14(@types/node@22.15.32)(lightningcss@1.30.1) vue: 3.5.16(typescript@5.8.3) - '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3))': dependencies: - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) vue: 3.5.16(typescript@5.8.3) '@vitest/expect@3.2.4': @@ -5208,13 +5490,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))': + '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -5360,14 +5642,14 @@ snapshots: dependencies: '@vue/devtools-kit': 7.7.6 - '@vue/devtools-core@7.7.7(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3))': + '@vue/devtools-core@7.7.7(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3))': dependencies: '@vue/devtools-kit': 7.7.7 '@vue/devtools-shared': 7.7.7 mitt: 3.0.1 nanoid: 5.1.5 pathe: 2.0.3 - vite-hot-client: 2.0.4(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0)) + vite-hot-client: 2.0.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0)) vue: 3.5.16(typescript@5.8.3) transitivePeerDependencies: - vite @@ -5766,6 +6048,8 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chownr@3.0.0: {} + chromedriver@137.0.4: dependencies: '@testim/chrome-version': 1.1.4 @@ -6060,6 +6344,8 @@ snapshots: delayed-stream@1.0.0: {} + detect-libc@2.0.4: {} + devtools-protocol@0.0.1025565: {} devtools-protocol@0.0.1140464: {} @@ -6112,6 +6398,11 @@ snapshots: dependencies: once: 1.4.0 + enhanced-resolve@5.18.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.2 + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -6853,6 +7144,8 @@ snapshots: filelist: 1.0.4 minimatch: 3.1.2 + jiti@2.4.2: {} + joi@17.13.3: dependencies: '@hapi/hoek': 9.3.0 @@ -6984,6 +7277,51 @@ snapshots: dependencies: immediate: 3.0.6 + lightningcss-darwin-arm64@1.30.1: + optional: true + + lightningcss-darwin-x64@1.30.1: + optional: true + + lightningcss-freebsd-x64@1.30.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true + + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + + lightningcss-linux-arm64-musl@1.30.1: + optional: true + + lightningcss-linux-x64-gnu@1.30.1: + optional: true + + lightningcss-linux-x64-musl@1.30.1: + optional: true + + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + + lightningcss-win32-x64-msvc@1.30.1: + optional: true + + lightningcss@1.30.1: + dependencies: + detect-libc: 2.0.4 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 + lilconfig@3.1.3: {} lint-staged@15.5.2: @@ -7150,10 +7488,16 @@ snapshots: minipass@7.1.2: {} + minizlib@3.0.2: + dependencies: + minipass: 7.1.2 + mitt@3.0.1: {} mkdirp@2.1.6: {} + mkdirp@3.0.1: {} + mocha@10.3.0: dependencies: ansi-colors: 4.1.1 @@ -7948,6 +8292,10 @@ snapshots: symbol-tree@3.2.4: {} + tailwindcss@4.1.10: {} + + tapable@2.2.2: {} + tar-fs@3.0.6: dependencies: pump: 3.0.2 @@ -7970,6 +8318,15 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.20.1 + tar@7.4.3: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.2 + mkdirp: 3.0.1 + yallist: 5.0.0 + tcp-port-used@1.0.2: dependencies: debug: 4.3.1 @@ -8109,17 +8466,17 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite-hot-client@2.0.4(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0)): + vite-hot-client@2.0.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0)): dependencies: - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) - vite-node@3.2.4(@types/node@22.15.32)(yaml@2.7.0): + vite-node@3.2.4(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -8134,7 +8491,7 @@ snapshots: - tsx - yaml - vite-plugin-inspect@0.8.9(rollup@4.37.0)(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0)): + vite-plugin-inspect@0.8.9(rollup@4.37.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.37.0) @@ -8145,7 +8502,7 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.1 - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) transitivePeerDependencies: - rollup - supports-color @@ -8164,23 +8521,23 @@ snapshots: - supports-color - utf-8-validate - vite-plugin-vue-devtools@7.7.7(rollup@4.37.0)(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)): + vite-plugin-vue-devtools@7.7.7(rollup@4.37.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)): dependencies: - '@vue/devtools-core': 7.7.7(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) + '@vue/devtools-core': 7.7.7(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0))(vue@3.5.16(typescript@5.8.3)) '@vue/devtools-kit': 7.7.7 '@vue/devtools-shared': 7.7.7 execa: 9.5.2 sirv: 3.0.1 - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) - vite-plugin-inspect: 0.8.9(rollup@4.37.0)(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0)) - vite-plugin-vue-inspector: 5.3.1(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0)) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) + vite-plugin-inspect: 0.8.9(rollup@4.37.0)(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0)) + vite-plugin-vue-inspector: 5.3.1(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.3.1(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0)): + vite-plugin-vue-inspector@5.3.1(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0)): dependencies: '@babel/core': 7.27.1 '@babel/plugin-proposal-decorators': 7.25.7(@babel/core@7.27.1) @@ -8191,11 +8548,11 @@ snapshots: '@vue/compiler-dom': 3.5.16 kolorist: 1.8.0 magic-string: 0.30.17 - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) transitivePeerDependencies: - supports-color - vite@4.5.14(@types/node@22.15.32): + vite@4.5.14(@types/node@22.15.32)(lightningcss@1.30.1): dependencies: esbuild: 0.18.20 postcss: 8.5.3 @@ -8203,8 +8560,9 @@ snapshots: optionalDependencies: '@types/node': 22.15.32 fsevents: 2.3.3 + lightningcss: 1.30.1 - vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0): + vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0): dependencies: esbuild: 0.25.1 fdir: 6.4.4(picomatch@4.0.2) @@ -8215,13 +8573,15 @@ snapshots: optionalDependencies: '@types/node': 22.15.32 fsevents: 2.3.3 + jiti: 2.4.2 + lightningcss: 1.30.1 yaml: 2.7.0 - vitest@3.2.4(@types/node@22.15.32)(jsdom@26.1.0)(yaml@2.7.0): + vitest@3.2.4(@types/node@22.15.32)(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(yaml@2.7.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@22.15.32)(yaml@2.7.0)) + '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -8239,8 +8599,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@22.15.32)(yaml@2.7.0) - vite-node: 3.2.4(@types/node@22.15.32)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) + vite-node: 3.2.4(@types/node@22.15.32)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.15.32 @@ -8397,6 +8757,8 @@ snapshots: yallist@4.0.0: {} + yallist@5.0.0: {} + yaml@2.7.0: {} yargs-parser@20.2.4: {} diff --git a/template/code/tailwindcss-router/src/App.vue b/template/code/tailwindcss-router/src/App.vue index 63e59c5da..cd8042f86 100644 --- a/template/code/tailwindcss-router/src/App.vue +++ b/template/code/tailwindcss-router/src/App.vue @@ -48,7 +48,7 @@ import HelloWorld from './components/HelloWorld.vue' -