uno.config.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // https://www.npmjs.com/package/@uni-helper/unocss-preset-uni
  2. import { presetUni } from '@uni-helper/unocss-preset-uni'
  3. import {
  4. defineConfig,
  5. presetAttributify,
  6. presetIcons,
  7. transformerDirectives,
  8. transformerVariantGroup,
  9. } from 'unocss'
  10. export default defineConfig({
  11. presets: [
  12. presetUni({
  13. attributify: false,
  14. }),
  15. presetIcons({
  16. scale: 1.2,
  17. warn: true,
  18. extraProperties: {
  19. 'display': 'inline-block',
  20. 'vertical-align': 'middle',
  21. },
  22. }),
  23. // 支持css class属性化
  24. presetAttributify(),
  25. ],
  26. transformers: [
  27. // 启用指令功能:主要用于支持 @apply、@screen 和 theme() 等 CSS 指令
  28. transformerDirectives(),
  29. // 启用 () 分组功能
  30. // 支持css class组合,eg: `<div class="hover:(bg-gray-400 font-medium) font-(light mono)">测试 unocss</div>`
  31. transformerVariantGroup(),
  32. ],
  33. shortcuts: [
  34. {
  35. center: 'flex justify-center items-center',
  36. },
  37. ],
  38. // 动态图标需要在这里配置,或者写在vue页面中注释掉
  39. safelist: ['i-carbon-code'],
  40. rules: [
  41. [
  42. 'p-safe',
  43. {
  44. padding:
  45. 'env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)',
  46. },
  47. ],
  48. ['pt-safe', { 'padding-top': 'env(safe-area-inset-top)' }],
  49. ['pb-safe', { 'padding-bottom': 'env(safe-area-inset-bottom)' }],
  50. ],
  51. theme: {
  52. colors: {
  53. /** 主题色,用法如: text-primary */
  54. primary: 'var(--wot-color-theme,#0957DE)',
  55. },
  56. fontSize: {
  57. /** 提供更小号的字体,用法如:text-2xs */
  58. '2xs': ['20rpx', '28rpx'],
  59. '3xs': ['18rpx', '26rpx'],
  60. },
  61. },
  62. })