uno.config.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import {defineConfig, presetUno, toEscapedSelector as e} 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: 0 10px;
  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. /^form-card$/,
  31. ([], {rawSelector}) => {
  32. const selector = e(rawSelector)
  33. return `
  34. ${selector} {
  35. background-color:#DFEAFA;
  36. padding:20px;
  37. }
  38. `
  39. }
  40. ],
  41. [
  42. /^layout-border__left$/,
  43. ([], {rawSelector}) => {
  44. const selector = e(rawSelector)
  45. return `
  46. ${selector}:before {
  47. content: "";
  48. position: absolute;
  49. top: 0;
  50. left: 0;
  51. width: 1px;
  52. height: 100%;
  53. background-color: rgba(0,0,0,0);
  54. z-index: 3;
  55. }
  56. `
  57. }
  58. ],
  59. [
  60. /^layout-border__right$/,
  61. ([], {rawSelector}) => {
  62. const selector = e(rawSelector)
  63. return `
  64. ${selector}:after {
  65. content: "";
  66. position: absolute;
  67. top: 0;
  68. right: 0;
  69. width: 1px;
  70. height: 100%;
  71. background-color: var(--el-border-color);
  72. z-index: 3;
  73. }
  74. `
  75. }
  76. ],
  77. [
  78. /^layout-border__top$/,
  79. ([], {rawSelector}) => {
  80. const selector = e(rawSelector)
  81. return `
  82. ${selector}:before {
  83. content: "";
  84. position: absolute;
  85. top: 0;
  86. left: 0;
  87. width: 100%;
  88. height: 1px;
  89. background-color: var(--el-border-color);
  90. z-index: 3;
  91. }
  92. `
  93. }
  94. ],
  95. [
  96. /^layout-border__bottom$/,
  97. ([], {rawSelector}) => {
  98. const selector = e(rawSelector)
  99. return `
  100. ${selector}:after {
  101. content: "";
  102. position: absolute;
  103. bottom: 0;
  104. left: 0;
  105. width: 100%;
  106. height: 1px;
  107. background-color: var(--el-border-color);
  108. z-index: 3;
  109. }
  110. `
  111. }
  112. ]
  113. ],
  114. presets: [presetUno({dark: 'class', attributify: false})],
  115. // transformers: [transformerVariantGroup()],
  116. shortcuts: {
  117. 'wh-full': 'w-full h-full'
  118. }
  119. })