2
0
mirror of https://github.com/tenrok/vue-select.git synced 2026-05-17 02:29:37 +03:00

deps: upgrade dependencies (#1867)

* update deps

* Update package.json

* update deps and workflows

* refactor workflows

* always checkout

* Update action.yml

* Update action.yml

* Update action.yml

* bump

* Update action.yml

* Update action.yml

* update workflow

* fix pnpm issues

* upgrade eslint

* complete workflows

* Update eslint.config.ts

* upgrade tailwind

* Update .gitignore

* upgrade nuxt content separately
This commit is contained in:
Jeff Sagal
2025-03-16 10:13:20 -07:00
committed by GitHub
parent faf8d6c655
commit 06d9a373f2
22 changed files with 3824 additions and 3545 deletions
Binary file not shown.
+1
View File
@@ -5,4 +5,5 @@ node_modules
.cache
.output
.env
.data
dist
+186 -62
View File
@@ -1,70 +1,64 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@import 'tailwindcss';
@plugin '@tailwindcss/typography';
@custom-variant dark (&:is(.dark *));
@theme {
--text-*: initial;
--text-xs: 0.75rem;
--text-xs--line-height: 1rem;
--text-sm: 0.875rem;
--text-sm--line-height: 1.5rem;
--text-base: 1rem;
--text-base--line-height: 2rem;
--text-lg: 1.125rem;
--text-lg--line-height: 1.75rem;
--text-xl: 1.25rem;
--text-xl--line-height: 2rem;
--text-2xl: 1.5rem;
--text-2xl--line-height: 2.5rem;
--text-3xl: 2rem;
--text-3xl--line-height: 2.5rem;
--text-4xl: 2.5rem;
--text-4xl--line-height: 3rem;
--text-5xl: 3rem;
--text-5xl--line-height: 3.5rem;
--text-6xl: 3.75rem;
--text-6xl--line-height: 1;
--text-7xl: 4.5rem;
--text-7xl--line-height: 1;
--text-8xl: 6rem;
--text-8xl--line-height: 1;
--text-9xl: 8rem;
--text-9xl--line-height: 1;
--font-sans: Public Sans, Inter var, Inter, sans-serif;
--font-display: Satoshi, Public Sans, Inter var, Inter, sans-serif;
--container-8xl: 88rem;
}
/*
The default border color has changed to `currentColor` in Tailwind CSS v4,
so we've added these compatibility styles to make sure everything still
looks the same as it did with Tailwind CSS v3.
If we ever want to remove these styles, we need to add an explicit border
color utility to any element that depends on these defaults.
*/
@layer base {
html {
@apply scroll-smooth;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Light.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Light.woff') format('woff'),
url('~/assets/fonts/Satoshi-Light.ttf') format('truetype');
font-weight: 300;
font-display: swap;
font-style: normal;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Regular.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Regular.woff') format('woff'),
url('~/assets/fonts/Satoshi-Regular.ttf') format('truetype');
font-weight: 400;
font-display: swap;
font-style: normal;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Medium.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Medium.woff') format('woff'),
url('~/assets/fonts/Satoshi-Medium.ttf') format('truetype');
font-weight: 500;
font-display: swap;
font-style: normal;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Bold.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Bold.woff') format('woff'),
url('~/assets/fonts/Satoshi-Bold.ttf') format('truetype');
font-weight: 700;
font-display: swap;
font-style: normal;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Black.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Black.woff') format('woff'),
url('~/assets/fonts/Satoshi-Black.ttf') format('truetype');
font-weight: 900;
font-display: swap;
font-style: normal;
*,
::after,
::before,
::backdrop,
::file-selector-button {
border-color: var(--color-gray-200, currentColor);
}
}
@layer components {
.dark .v-select {
@utility dark {
& .v-select {
--vs-colors--lightest: rgba(60, 60, 60, 0.26);
--vs-colors--light: rgba(60, 60, 60, 0.5);
--vs-colors--dark: #333;
@@ -131,3 +125,133 @@
--vs-transition-duration: 150ms;
}
}
@utility v-select {
.dark & {
--vs-colors--lightest: rgba(60, 60, 60, 0.26);
--vs-colors--light: rgba(60, 60, 60, 0.5);
--vs-colors--dark: #333;
--vs-colors--darkest: rgba(0, 0, 0, 0.15);
/* Search Input */
--vs-search-input-color: inherit;
--vs-search-input-placeholder-color: inherit;
/* Font */
--vs-font-size: 1rem;
--vs-line-height: 1.4;
/* Disabled State */
--vs-state-disabled-bg: rgb(248, 248, 248);
--vs-state-disabled-color: var(--vs-colors--light);
--vs-state-disabled-controls-color: var(--vs-colors--light);
--vs-state-disabled-cursor: not-allowed;
/* Borders */
--vs-border-color: #24292e;
--vs-border-width: 1px;
--vs-border-style: solid;
--vs-border-radius: 4px;
/* Actions: house the component controls */
--vs-actions-padding: 4px 6px 0 3px;
/* Component Controls: Clear, Open Indicator */
--vs-controls-color: #c9c2c2;
--vs-controls-size: 1;
--vs-controls--deselect-text-shadow: 0 1px 0 #fff;
/* Selected */
--vs-selected-bg: #f0f0f0;
--vs-selected-color: #fff;
--vs-selected-border-color: var(--vs-border-color);
--vs-selected-border-style: var(--vs-border-style);
--vs-selected-border-width: var(--vs-border-width);
/* Dropdown */
--vs-dropdown-bg: #343434;
--vs-dropdown-color: inherit;
--vs-dropdown-z-index: 1000;
--vs-dropdown-min-width: 160px;
--vs-dropdown-max-height: 350px;
--vs-dropdown-box-shadow: 0px 3px 6px 0px var(--vs-colors--darkest);
/* Options */
--vs-dropdown-option-bg: #000;
--vs-dropdown-option-color: #fff;
--vs-dropdown-option-padding: 3px 20px;
/* Active State */
--vs-dropdown-option--active-bg: #5897fb;
--vs-dropdown-option--active-color: #fff;
/* Deselect State */
--vs-dropdown-option--deselect-bg: #fb5858;
--vs-dropdown-option--deselect-color: #fff;
/* Transitions */
--vs-transition-timing-function: cubic-bezier(1, -0.115, 0.975, 0.855);
--vs-transition-duration: 150ms;
}
}
@layer base {
html {
@apply scroll-smooth;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Light.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Light.woff') format('woff'),
url('~/assets/fonts/Satoshi-Light.ttf') format('truetype');
font-weight: 300;
font-display: swap;
font-style: normal;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Regular.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Regular.woff') format('woff'),
url('~/assets/fonts/Satoshi-Regular.ttf') format('truetype');
font-weight: 400;
font-display: swap;
font-style: normal;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Medium.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Medium.woff') format('woff'),
url('~/assets/fonts/Satoshi-Medium.ttf') format('truetype');
font-weight: 500;
font-display: swap;
font-style: normal;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Bold.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Bold.woff') format('woff'),
url('~/assets/fonts/Satoshi-Bold.ttf') format('truetype');
font-weight: 700;
font-display: swap;
font-style: normal;
}
@font-face {
font-family: 'Satoshi';
src:
url('~/assets/fonts/Satoshi-Black.woff2') format('woff2'),
url('~/assets/fonts/Satoshi-Black.woff') format('woff'),
url('~/assets/fonts/Satoshi-Black.ttf') format('truetype');
font-weight: 900;
font-display: swap;
font-style: normal;
}
}
+3 -3
View File
@@ -14,7 +14,7 @@ const isScrolled = computed(() => y.value !== 0)
:class="[
'sticky top-0 z-50 flex flex-wrap items-center justify-between bg-white px-4 py-5 shadow-md shadow-slate-900/5 transition duration-500 dark:shadow-none sm:px-6 lg:px-8',
isScrolled
? 'dark:bg-slate-900/95 dark:backdrop-blur dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75'
? 'dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75'
: 'dark:bg-transparent',
]"
>
@@ -46,7 +46,7 @@ const isScrolled = computed(() => y.value !== 0)
"
></div>
</div>
<div class="relative flex flex-grow basis-0 items-center">
<div class="relative flex grow basis-0 items-center">
<NuxtLink
aria-label="Home page"
href="/"
@@ -111,7 +111,7 @@ const isScrolled = computed(() => y.value !== 0)
</kbd>
</button>
</div>
<div class="relative flex basis-0 justify-end gap-6 sm:gap-8 md:flex-grow">
<div class="relative flex basis-0 justify-end gap-6 sm:gap-8 md:grow">
<ColorThemeSwitcher />
<a
class="group"
+2 -2
View File
@@ -15,9 +15,9 @@ const styles = computed(
() =>
({
primary:
'rounded-full bg-sky-300 py-2 px-4 text-sm font-semibold text-slate-900 hover:bg-sky-200 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sky-300/50 active:bg-sky-500',
'rounded-full bg-sky-300 py-2 px-4 text-sm font-semibold text-slate-900 hover:bg-sky-200 focus:outline-hidden focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sky-300/50 active:bg-sky-500',
secondary:
'rounded-full bg-slate-800 py-2 px-4 text-sm font-medium text-white hover:bg-slate-700 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/50 active:text-slate-400',
'rounded-full bg-slate-800 py-2 px-4 text-sm font-medium text-white hover:bg-slate-700 focus:outline-hidden focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/50 active:text-slate-400',
}[props.variant])
)
+6 -6
View File
@@ -29,7 +29,7 @@ import {
/>
<div class="relative">
<p
class="font-display inline bg-gradient-to-r from-indigo-200 via-sky-400 font-bold to-indigo-200 bg-clip-text text-5xl tracking-tight text-transparent"
class="font-display inline bg-linear-to-r from-indigo-200 via-sky-400 font-bold to-indigo-200 bg-clip-text text-5xl tracking-tight text-transparent"
>
The complete Vue.js combobox solution.
</p>
@@ -74,19 +74,19 @@ import {
height="567"
/>
<div
class="absolute inset-0 rounded-2xl bg-gradient-to-tr from-sky-300 via-sky-300/70 to-blue-300 opacity-10 blur-lg"
class="absolute inset-0 rounded-2xl bg-linear-to-tr from-sky-300 via-sky-300/70 to-blue-300 opacity-10 blur-lg"
></div>
<div
class="absolute inset-0 rounded-2xl bg-gradient-to-tr from-sky-300 via-sky-300/70 to-blue-300 opacity-10"
class="absolute inset-0 rounded-2xl bg-linear-to-tr from-sky-300 via-sky-300/70 to-blue-300 opacity-10"
></div>
<div
class="relative rounded-2xl bg-[#0A101F]/80 ring-1 ring-white/10 backdrop-blur"
class="relative rounded-2xl bg-[#0A101F]/80 ring-1 ring-white/10 backdrop-blur-sm"
>
<div
class="absolute -top-px left-20 right-11 h-px bg-gradient-to-r from-sky-300/0 via-sky-300/70 to-sky-300/0"
class="absolute -top-px left-20 right-11 h-px bg-linear-to-r from-sky-300/0 via-sky-300/70 to-sky-300/0"
></div>
<div
class="absolute -bottom-px left-11 right-20 h-px bg-gradient-to-r from-blue-400/0 via-blue-400 to-blue-400/0"
class="absolute -bottom-px left-11 right-20 h-px bg-linear-to-r from-blue-400/0 via-blue-400 to-blue-400/0"
></div>
<div class="p-4 dark">
<div class="flex items-center space-x-4">
+1 -1
View File
@@ -20,7 +20,7 @@ import PageTableOfContents from '~/components/PageTableOfContents.vue'
// links
'prose-a:font-semibold dark:prose-a:text-sky-400',
// link underline
'prose-a:no-underline prose-a:shadow-[inset_0_-2px_0_0_var(--tw-prose-background,#fff),inset_0_calc(-1*(var(--tw-prose-underline-size,4px)+2px))_0_0_var(--tw-prose-underline,theme(colors.sky.300))] hover:prose-a:[--tw-prose-underline-size:6px] dark:[--tw-prose-background:theme(colors.slate.900)] dark:prose-a:shadow-[inset_0_calc(-1*var(--tw-prose-underline-size,2px))_0_0_var(--tw-prose-underline,theme(colors.sky.800))] dark:hover:prose-a:[--tw-prose-underline-size:6px]',
'prose-a:no-underline prose-a:shadow-[inset_0_-2px_0_0_var(--tw-prose-background,#fff),inset_0_calc(-1*(var(--tw-prose-underline-size,4px)+2px))_0_0_var(--tw-prose-underline,var(--color-sky-300))] prose-a:hover:[--tw-prose-underline-size:6px] dark:[--tw-prose-background:var(--color-slate-900)] dark:prose-a:shadow-[inset_0_calc(-1*var(--tw-prose-underline-size,2px))_0_0_var(--tw-prose-underline,var(--color-sky-800))] dark:prose-a:hover:[--tw-prose-underline-size:6px]',
// pre
'prose-pre:rounded-xl prose-pre:border-2 prose-pre:bg-white dark:prose-pre:border-0 dark:prose-pre:bg-slate-800/60 dark:prose-pre:shadow-lg dark:prose-pre:shadow-none dark:prose-pre:ring-1 dark:prose-pre:ring-slate-300/10',
// hr
+1 -1
View File
@@ -73,7 +73,7 @@ const router = { pathname: '' }
class="sticky top-[4.5rem] -ml-0.5 h-[calc(100vh-4.5rem)] overflow-y-auto py-16 pl-0.5"
>
<div
class="absolute top-16 bottom-0 right-0 hidden h-12 w-px bg-gradient-to-t from-slate-800 dark:block"
class="absolute top-16 bottom-0 right-0 hidden h-12 w-px bg-linear-to-t from-slate-800 dark:block"
></div>
<div
class="absolute top-28 bottom-0 right-0 hidden w-px bg-slate-800 dark:block"
+1 -1
View File
@@ -58,7 +58,7 @@ const colorMode = useColorMode()
]"
>
<div
class="rounded-md bg-white p-1 shadow ring-1 ring-slate-900/5 dark:bg-slate-700 dark:ring-inset dark:ring-white/5"
class="rounded-md bg-white p-1 shadow-sm ring-1 ring-slate-900/5 dark:bg-slate-700 dark:ring-inset dark:ring-white/5"
>
<Component
:is="icon"
+2 -2
View File
@@ -17,13 +17,13 @@ const styles = computed(() => {
container:
'bg-sky-50 dark:bg-slate-800/60 dark:ring-1 dark:ring-slate-300/10',
title: 'text-sky-900 dark:text-sky-400',
body: 'text-sky-800 [--tw-prose-background:theme(colors.sky.50)] prose-a:text-sky-900 prose-code:text-sky-900 dark:text-slate-300 dark:prose-code:text-slate-300',
body: 'text-sky-800 [--tw-prose-background:var(--color-sky-50)] prose-a:text-sky-900 prose-code:text-sky-900 dark:text-slate-300 dark:prose-code:text-slate-300',
},
warning: {
container:
'bg-amber-50 dark:bg-slate-800/60 dark:ring-1 dark:ring-slate-300/10',
title: 'text-amber-900 dark:text-amber-500',
body: 'text-amber-800 [--tw-prose-underline:theme(colors.amber.400)] [--tw-prose-background:theme(colors.amber.50)] prose-a:text-amber-900 prose-code:text-amber-900 dark:text-slate-300 dark:[--tw-prose-underline:theme(colors.sky.700)] dark:prose-code:text-slate-300',
body: 'text-amber-800 [--tw-prose-underline:var(--color-amber-400)] [--tw-prose-background:var(--color-amber-50)] prose-a:text-amber-900 prose-code:text-amber-900 dark:text-slate-300 dark:[--tw-prose-underline:var(--color-sky-700)] dark:prose-code:text-slate-300',
},
}[props.type]
})
+1 -1
View File
@@ -11,7 +11,7 @@ defineProps<{
class="group relative rounded-xl border border-slate-200 dark:border-slate-800"
>
<div
class="absolute -inset-px rounded-xl border-2 border-transparent opacity-0 [background:linear-gradient(var(--quick-links-hover-bg,theme(colors.sky.50)),var(--quick-links-hover-bg,theme(colors.sky.50)))_padding-box,linear-gradient(to_top,theme(colors.indigo.400),theme(colors.cyan.400),theme(colors.sky.500))_border-box] group-hover:opacity-100 dark:[--quick-links-hover-bg:theme(colors.slate.800)]"
class="absolute -inset-px rounded-xl border-2 border-transparent opacity-0 [background:linear-gradient(var(--quick-links-hover-bg,var(--color-sky-50)),var(--quick-links-hover-bg,var(--color-sky-50)))_padding-box,linear-gradient(to_top,var(--color-indigo-400),var(--color-cyan-400),var(--color-sky-500))_border-box] group-hover:opacity-100 dark:[--quick-links-hover-bg:var(--color-slate-800)]"
/>
<div class="relative overflow-hidden rounded-xl p-6">
<slot name="icon" />
+12 -8
View File
@@ -1,28 +1,26 @@
import { resolve } from 'path'
import tailwindcss from '@tailwindcss/vite'
// https://v3.nuxtjs.org/api/configuration/nuxt.config
export default defineNuxtConfig({
css: ['~/assets/styles/main.css'],
modules: [
'@nuxtjs/color-mode',
'@nuxt/content',
'@nuxtjs/google-fonts',
'nuxt-svgo',
],
// https://color-mode.nuxtjs.org/
colorMode: { classSuffix: '' },
postcss: {
plugins: {
'tailwindcss/nesting': {},
tailwindcss: {},
autoprefixer: {},
},
},
app: {
head: {
title: 'Vue Select',
meta: [{ name: 'description', content: 'My amazing site.' }],
},
},
// https://content.nuxtjs.org/api/configuration
content: {
documentDriven: true,
@@ -35,15 +33,19 @@ export default defineNuxtConfig({
},
},
},
svgo: {
defaultImport: 'component',
},
googleFonts: {
families: {
'Public+Sans': [300, 400, 500, 600],
},
},
vite: {
plugins: [tailwindcss()],
resolve: {
alias: {
// resolve the aliases used in the vue-select build
@@ -51,4 +53,6 @@ export default defineNuxtConfig({
},
},
},
})
compatibilityDate: '2025-03-16',
})
+15 -14
View File
@@ -8,25 +8,26 @@
},
"devDependencies": {
"@nuxt/content": "^2.13.4",
"@nuxt/eslint-config": "^0.7.2",
"@nuxt/eslint-config": "^1.2.0",
"@nuxtjs/color-mode": "^3.5.2",
"@nuxtjs/google-fonts": "^3.2.0",
"@tailwindcss/typography": "^0.5.15",
"@vue/eslint-config-prettier": "^10.1.0",
"@vue/eslint-config-typescript": "^14.1.4",
"autoprefixer": "^10.4.20",
"eslint": "^9.16.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-vue": "^9.32.0",
"nuxt": "3.14.1592",
"nuxt-svgo": "^4.0.9",
"prettier": "^3.4.2",
"prettier-plugin-tailwindcss": "^0.6.9"
"@tailwindcss/typography": "^0.5.16",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.5.0",
"autoprefixer": "^10.4.21",
"eslint": "^9.22.0",
"eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-vue": "^10.0.0",
"nuxt": "3.16.0",
"nuxt-svgo": "^4.0.15",
"prettier": "^3.5.3",
"prettier-plugin-tailwindcss": "^0.6.11"
},
"dependencies": {
"@headlessui/vue": "^1.7.23",
"@heroicons/vue": "^2.2.0",
"@vueuse/core": "^12.0.0",
"tailwindcss": "^3.4.16"
"@tailwindcss/vite": "^4.0.14",
"@vueuse/core": "^13.0.0",
"tailwindcss": "^4.0.14"
}
}
-42
View File
@@ -1,42 +0,0 @@
const defaultTheme = require('tailwindcss/defaultTheme')
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./components/**/*.{js,vue,ts}',
'./hooks/**/*.{js,vue,ts}',
'./layouts/**/*.vue',
'./pages/**/*.vue',
'./plugins/**/*.{js,ts}',
'./nuxt.config.{js,ts}',
'./app.vue',
],
darkMode: 'class',
theme: {
fontSize: {
xs: ['0.75rem', { lineHeight: '1rem' }],
sm: ['0.875rem', { lineHeight: '1.5rem' }],
base: ['1rem', { lineHeight: '2rem' }],
lg: ['1.125rem', { lineHeight: '1.75rem' }],
xl: ['1.25rem', { lineHeight: '2rem' }],
'2xl': ['1.5rem', { lineHeight: '2.5rem' }],
'3xl': ['2rem', { lineHeight: '2.5rem' }],
'4xl': ['2.5rem', { lineHeight: '3rem' }],
'5xl': ['3rem', { lineHeight: '3.5rem' }],
'6xl': ['3.75rem', { lineHeight: '1' }],
'7xl': ['4.5rem', { lineHeight: '1' }],
'8xl': ['6rem', { lineHeight: '1' }],
'9xl': ['8rem', { lineHeight: '1' }],
},
extend: {
fontFamily: {
sans: ['Public Sans', 'Inter var', 'Inter', 'sans-serif'],
display: ['Satoshi', 'Public Sans', 'Inter var', 'Inter', 'sans-serif'],
},
maxWidth: {
'8xl': '88rem',
},
},
},
plugins: [require('@tailwindcss/typography')],
}