github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/static_source/admin/windi.config.ts (about)

     1  import { defineConfig } from 'windicss/helpers'
     2  import plugin from 'windicss/plugin'
     3  
     4  function range(size, startAt = 1) {
     5    return Array.from(Array(size).keys()).map((i) => i + startAt)
     6  }
     7  
     8  export default defineConfig({
     9    extract: {
    10      include: ['src/**/*.{vue,html,jsx,tsx}'],
    11      exclude: ['node_modules', '.git']
    12    },
    13    darkMode: 'class',
    14    attributify: false,
    15    theme: {
    16      extend: {
    17        backgroundColor: {
    18          // 暗黑背景色
    19          'v-dark': 'var(--dark-bg-color)'
    20        }
    21        // screens: {
    22        //   sm: '768px',
    23        //   md: '992px',
    24        //   lg: '1200px',
    25        //   xl: '1920px'
    26        // }
    27      }
    28      // height: {
    29      //   ...range(50).map((i) => `h-${i}px`)
    30      // },
    31      // margin: {
    32      //   // ...range(50).map((i) => `mt-${i}px`),
    33      //   // ...range(50).map((i) => `mr-${i}px`),
    34      //   // ...range(50).map((i) => `mb-${i}px`),
    35      //   // ...range(50).map((i) => `ml-${i}px`)
    36      // }
    37    },
    38    plugins: [
    39      plugin(({ addComponents }) => {
    40        const obj = {}
    41        range(50).map((i) => {
    42          obj[`.border-top-${i}`] = {
    43            borderTopWidth: `${i}px`
    44          }
    45          obj[`.border-left-${i}`] = {
    46            borderLeftWidth: `${i}px`
    47          }
    48          obj[`.border-right-${i}`] = {
    49            borderRightWidth: `${i}px`
    50          }
    51          obj[`.border-bottom-${i}`] = {
    52            borderBottomWidth: `${i}px`
    53          }
    54        })
    55        addComponents({
    56          '.hover-trigger': {
    57            display: 'flex',
    58            height: '100%',
    59            padding: '1px 10px 0',
    60            cursor: 'pointer',
    61            alignItems: 'center',
    62            transition: 'background var(--transition-time-02)',
    63            '&:hover': {
    64              backgroundColor: 'var(--top-header-hover-color)'
    65            }
    66          },
    67          '.dark .hover-trigger': {
    68            '&:hover': {
    69              backgroundColor: 'var(--el-bg-color-overlay)'
    70            }
    71          },
    72          ...obj
    73        })
    74      })
    75    ]
    76  })