Radix Vue
Radix Vue是一个无样式组件库
坑1
Unhandled error during execution of scheduler flush. This is likely a Vue internals bug Radix-ui-vue对应的vue版本要在3.2以上
使用shadcn-vue
shadcn-vue是一个基于radix-ui-vue的UI库,可以参考shadcn-vue
js
//tailwindcss.config.js
const { blackA, green, grass, mauve, slate } = require('@radix-ui/colors')
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./index.html",
"./src/**/*.{vue,js,ts,jsx,tsx}",
"./**/*.vue"
],
theme: {
extend: {
textColor: {
primary: '#1D2129', //标题
regular: '#4E5969', //次标题
secondary: '#86909C', //次要信息
disabled: '#C9CDD4', //置灰信息
},
colors: {
...blackA,
...green,
...grass,
...mauve,
...slate
},
keyframes: {
hide: {
from: { opacity: 1 },
to: { opacity: 0 },
},
slideIn: {
from: { transform: 'translateX(calc(100% + var(--viewport-padding)))' },
to: { transform: 'translateX(0)' },
},
swipeOut: {
from: { transform: 'translateX(var(--radix-toast-swipe-end-x))' },
to: { transform: 'translateX(calc(100% + var(--viewport-padding)))' },
},
slideDownAndFade: {
from: { opacity: 0, transform: 'translateY(-2px)' },
to: { opacity: 1, transform: 'translateY(0)' },
},
slideLeftAndFade: {
from: { opacity: 0, transform: 'translateX(2px)' },
to: { opacity: 1, transform: 'translateX(0)' },
},
slideUpAndFade: {
from: { opacity: 0, transform: 'translateY(2px)' },
to: { opacity: 1, transform: 'translateY(0)' },
},
slideRightAndFade: {
from: { opacity: 0, transform: 'translateX(-2px)' },
to: { opacity: 1, transform: 'translateX(0)' },
},
},
animation: {
hide: 'hide 100ms ease-in',
slideIn: 'slideIn 150ms cubic-bezier(0.16, 1, 0.3, 1)',
swipeOut: 'swipeOut 100ms ease-out',
slideDownAndFade: 'slideDownAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
slideLeftAndFade: 'slideLeftAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
slideUpAndFade: 'slideUpAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
slideRightAndFade: 'slideRightAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
},
},
},
variants: {
extend: {},
},
plugins: [],
}