Skip to content

xiangrikuil/svg-scope-tool

Repository files navigation

SVG Scope Tool

上传 SVG,自动修正 <style> 里的选择器作用域(统一挂到 <svg id="..."> 下),并移除可能导致闪烁/抖动的 transition 过渡声明(包含 <style> 与元素内联 style)。如果检测到 rect#level / rect#level1 / rect#level2,会额外注入 transform 反转,并为每个液位 rect 写入内联 transition: height ...(若原本已有 transition 则默认沿用其秒数,否则默认 5s,可在界面里分别调整)。

特性

  • 自动生成/修正 svgid
  • <style> 中未作用域的选择器前置为 #<svgId> ...
  • 清理 transition / transition-*(以及 -webkit- 等前缀变体)
  • 若存在 rect#level / rect#level1 / rect#level2:自动添加 rotate(180 cx cy),并为其写入内联 transition: height ...(可在界面设置每个液位的秒数,填 0 可关闭;支持在预览区调 height 演示动画)

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

About

由于adobe ai 生成的 类名为 cls-1,xxx 多个svg在系统一个界面时,会造成样式不正确显示,用来将svg类变为id+类名的格式,保证唯一性

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors