uno.config.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { defineConfig, toEscapedSelector as e, presetUno } from 'unocss'
  2. import transformerVariantGroup from '@unocss/transformer-variant-group'
  3. export default defineConfig({
  4. // ...UnoCSS options
  5. rules: [
  6. [
  7. /^custom-hover$/,
  8. ([], { rawSelector }) => {
  9. const selector = e(rawSelector)
  10. return `
  11. ${selector} {
  12. display: flex;
  13. height: 100%;
  14. padding: 1px 10px 0;
  15. cursor: pointer;
  16. align-items: center;
  17. transition: background var(--transition-time-02);
  18. }
  19. /* you can have multiple rules */
  20. ${selector}:hover {
  21. background-color: var(--top-header-hover-color);
  22. }
  23. .dark ${selector}:hover {
  24. background-color: var(--el-bg-color-overlay);
  25. }
  26. `
  27. }
  28. ]
  29. ],
  30. presets: [presetUno({ dark: 'class', attributify: false })],
  31. transformers: [transformerVariantGroup()],
  32. shortcuts: {
  33. 'layout-border__left':
  34. 'before:(content-none absolute top-0 left-0 w-1px h-full bg-[var(--layout-border-color)]) z-10',
  35. 'layout-border__right':
  36. 'after:(content-none absolute top-0 right-0 w-1px h-full bg-[var(--layout-border-color)]) z-10',
  37. 'layout-border__top':
  38. 'before:(content-none absolute top-0 left-0 w-full h-1px bg-[var(--layout-border-color)]) z-10',
  39. 'layout-border__bottom':
  40. 'after:(content-none absolute bottom-0 left-0 w-full h-1px bg-[var(--layout-border-color)]) z-10'
  41. }
  42. })