Files
tauri-meeting/stylelint.config.js
O昵称重要吗O 78af453fe1 chore: 初始化项目基础结构和资源文件
- 添加项目图标文件(app-icon.png、各平台图标)
- 配置开发环境文件(.env、.nvmrc、.npmrc)
- 添加静态资源文件(背景图片、字体、音频)
- 初始化Tauri后端结构(build.rs、main.rs、模块文件)
- 配置前端项目结构(TypeScript、Vue组件、样式)
- 添加Node.js API服务基础结构
- 配置构建和开发工具(vite、prettier、gitignore)
2026-03-13 10:03:05 +08:00

622 lines
31 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/** 是否为 uniapp */
const isUniapp = true;
export default {
// stylelint-config-html支持更多扩展 "stylelint-config-html/html", "stylelint-config-html/xml", "stylelint-config-html/vue", "stylelint-config-html/svelte", "stylelint-config-html/astro", "stylelint-config-html/php"
extends: ['stylelint-config-recommended-scss', 'stylelint-config-html/vue'],
plugins: ['stylelint-order', 'stylelint-scss'],
overrides: [
{
files: ['*.html', '**/*.html', '*.nvue', '**/*.nvue', '*.uvue', '**/*.uvue'],
customSyntax: 'postcss-html',
},
],
// 在某些文件或文件夹中禁用检查
ignoreFiles: ['index.html', 'dist/**', 'src/uni_modules/**', '!src/uni_modules/mxp-*/**/*', 'src/uni_modules/mxp-tool/sdk/'],
// 规则
rules: {
// 不允许使用这些规则降序
'no-descending-specificity': null, // 不允许优先级较低性的选择器出现在覆盖较高优先级的选择器之后。
// 禁止使用这些规则进行重复
'declaration-block-no-duplicate-custom-properties': true, // 不允许重复自定义属性
'declaration-block-no-duplicate-properties': [true, { ignoreProperties: ['image-rendering', 'position'] }], // 禁止声明块的重复属性。
'font-family-no-duplicate-names': true, // 禁止使用重复的字体名称。
'keyframe-block-no-duplicate-selectors': null, // 禁止关键帧块中的重复选择器。
'no-duplicate-at-import-rules': true, // 禁止在样式表中使用重复的 @import 规则。
'no-duplicate-selectors': true, // 禁止样式表中的重复选择器。
// 使用这些规则禁止空的东西
'block-no-empty': true, // 禁止空块。
'comment-no-empty': null, // 禁止空注释。 在scss/comment-no-empty 中启用该规则
'no-empty-source': true, // 禁止空源码。
// 禁止使用这些(有时是隐式)规则的无效语法
'color-no-invalid-hex': true, // 禁止使用无效的十六进制颜色
'function-calc-no-unspaced-operator': true, // 禁止在 calc 函数中使用没有间隔的运算符。
'keyframe-declaration-no-important': true, // 在动画中禁止关键帧声明的 !important。
'media-query-no-invalid': true, // 禁止无效的媒体查询。
'named-grid-areas-no-invalid': true, // 禁止无效的命名网格区域。
'no-invalid-double-slash-comments': true, // 不允许无效的双斜杠注释。
'no-invalid-position-at-import-rule': true, // @import 只能在其他样式最前面
'string-no-newline': true, // 禁止字符串中的(未转义)换行符。
// 根据这些规则禁止不规则的事情
'no-irregular-whitespace': true, // 禁止使用不规则空格
// 禁止使用这些规则进行遗漏
'custom-property-no-missing-var-function': true, // 自定义属性必须添加var()
'font-family-no-missing-generic-family-keyword': [true, { ignoreFontFamilies: ['mxp-iconfont'] }], // 不允许在字体系列名称列表中缺少通用系列。
// 禁止使用这些规则的非标准事物
'function-linear-gradient-no-nonstandard-direction': true, // 禁止在 linear-gradient() 中调用不符合标准语法的无效方
// 禁止使用这些规则进行覆盖
'declaration-block-no-shorthand-property-overrides': true, // 禁止简写属性覆盖相关的扩写属性。
// 不允许与这些规则相提并论的东西
'selector-anb-no-unmatchable': true, // 禁止不匹配的 An+B 选择器。(:nth-child(0n+0) 这里报错,结果匹配不到任何元素) (15.3.0新增)
// 用这些规则禁止未知的事物
'annotation-no-unknown': [true, { ignoreAnnotations: 'default' }], // 不允许使用未知批注
'at-rule-no-unknown': null, // 不允许未知的规则。 // 在 scss/at-rule-no-unknown中开启
'declaration-property-value-no-unknown': isUniapp ? null : true, // 不允许声明中的属性出现未知值
'function-no-unknown': null, // 禁止未知功能 在 "scss/function-no-unknown" 中开启
'media-feature-name-no-unknown': true, // 禁止未知的媒体功能名。
'media-feature-name-value-no-unknown': true, // 禁止媒体功能的未知值。
'no-unknown-animations': true, // 禁止未知的动画。
'no-unknown-custom-media': true, // 禁止未知自定义媒体查询
'no-unknown-custom-properties': null, // 禁止未知自定义属性。
'property-no-unknown': [
null,
{
checkPrefixed: true,
ignoreSelectors: [':export', ':root'],
ignoreProperties: ['lines'],
},
], // 禁止未知的属性 使用 scss/property-no-unknown覆盖
'selector-pseudo-class-no-unknown': [true, { ignorePseudoClasses: ['deep', 'global', 'export'] }], // 禁止未知的伪类选择器
'selector-pseudo-element-no-unknown': true, // 禁止未知的伪元素选择器。
'selector-type-no-unknown': [true, { ignoreTypes: ['page', 'text'] }], // 禁止未知的类型选择器。
'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }], // 禁止未知的单位。
// 允许、不允许和必填
// at-rule 相关
'at-rule-allowed-list': null, // 指定允许的at-rules规则列表
'at-rule-disallowed-list': ['extend'], //指定不允许的规则列表
'at-rule-no-vendor-prefix': true, // 不允许使用供应商前缀作为 at 规则
'at-rule-property-required-list': null, // 指定 at 规则的必需属性列表
// 颜色
'color-hex-alpha': 'never', // 要求或禁止十六进制颜色的 Alpha 通道。
'color-named': 'never', // 禁止颜色使用名称 如不能 color: black 而应该使用color: #000000
'color-no-hex': null, // 禁止十六进制颜色。
// 评论
'comment-word-disallowed-list': [null, '/^TODO:/', 'badword'], // 指定注释中不允许的单词列表
// 声明
'declaration-no-important': null, // 禁止使用 !important
'declaration-property-unit-allowed-list': null, // 限制属性的值的单位
'declaration-property-unit-disallowed-list': null, //指定声明中不允许的属性和单位对的列表
'declaration-property-value-allowed-list': null, // 指定声明中允许的属性和值对的列表
'declaration-property-value-disallowed-list': null, // 指定声明中禁止的属性和值对的列表
// function
'function-allowed-list': null, // 指定允许的功能列表。
'function-disallowed-list': null, // 指定不允许使用的功能列表。
'function-url-no-scheme-relative': true, // 禁止相对协议 URL。
'function-url-scheme-allowed-list': null, ///指定允许的 URL 方案列表。
'function-url-scheme-disallowed-list': null, // 指定不允许的 URL 方案列表。
// 参数
'length-zero-no-unit': true, // 不允许使用零长度的单位
// 媒体
'media-feature-name-allowed-list': null, // 指定允许的媒体功能名称列表
'media-feature-name-disallowed-list': null, // 指定不允许的媒体功能名称列表
'media-feature-name-no-vendor-prefix': true, // 不允许使用媒体功能名称的供应商前缀
'media-feature-name-unit-allowed-list': null, // 指定媒体功能中允许的名称和设备对的列表
'media-feature-name-value-allowed-list': null, // 指定允许的媒体功能名称和值对的列表
// 财产
'property-allowed-list': null, //指定允许的属性列表。
'property-disallowed-list': null, //指定不允许的属性列表。
'property-no-vendor-prefix': [true, { ignoreProperties: ['mask-image', 'mask-size', 'user-select'] }], // 属性不允许出现供应商前缀(可自动修复)。
// 统治
'rule-selector-property-disallowed-list': null, // 指定每个元素不允许的属性
// 选择器
'selector-attribute-name-disallowed-list': ['id', '/^data-/'], // 指定不允许的属性名称的列表
'selector-attribute-operator-allowed-list': ['=', '*=', '^='], // 指定允许的属性运算符的列表
'selector-attribute-operator-disallowed-list': null, // 指定不允许的属性运算符的列表
'selector-combinator-allowed-list': ['+', '>', ' '], //指定允许的组合器的列表
'selector-combinator-disallowed-list': null, // 指定不允许的组合器的列表
'selector-disallowed-list': null, // 指定不允许的选择器列表
'selector-no-qualifying-type': [true, { ignore: ['class', 'attribute'] }], // 不允许按类型限定选择器
'selector-no-vendor-prefix': true, // 不允许使用选择器的供应商前缀
'selector-pseudo-class-allowed-list': null, // 指定允许的伪类选择器的列表
'selector-pseudo-class-disallowed-list': null, // 指定不允许的伪类选择器的列表
'selector-pseudo-element-allowed-list': null, // 指定允许的伪元素选择器的列表
'selector-pseudo-element-disallowed-list': ['before', 'after'], // 指定不允许的伪元素选择器的列表
// 单位
'unit-allowed-list': isUniapp ? ['px', 'rpx', 's', 'deg', '%', 'fr', 'em', 'vh', 'vw'] : ['px', 's', 'deg', '%', 'fr', 'em', 'vh', 'vw'], //指定允许的单位列表。
'unit-disallowed-list': isUniapp ? ['rem', 'ms'] : ['rem', 'rpx', 'ms'], // 指定不允许的单位列表
// 价值
'value-no-vendor-prefix': [true, { ignoreValues: ['sticky', 'box'] }], // 值不允许出现供应商前缀(可自动修复)。
// 使用这些规则为单词指定小写或大写
'function-name-case': 'lower', // 指定函数名的大小写(可自动修复)。
'selector-type-case': 'lower', // 指定类型选择器的大小写(可自动修复)。
'value-keyword-case': 'lower', // 指定关键字值的大小写(可自动修复)。
// 在构造之前强制执行或禁止使用这些规则的空行
'at-rule-empty-line-before': [
'always',
{
except: ['blockless-after-blockless', 'first-nested', 'blockless-after-same-name-blockless', 'after-same-name'],
ignore: ['after-comment'],
},
], // 要求或禁止在 at 规则之前使用空行
'comment-empty-line-before': ['always', { except: ['first-nested'], ignoreComments: ['/^#/'] }], // 要求或禁止在注释之前的空行(可自动修复)。
'custom-property-empty-line-before': 'never', // 要求或禁止在自定义属性之前使用空行(可自动修复)。
'declaration-empty-line-before': ['never', { ignore: 'after-comment' }], // 在声明之前要求或禁止空行。
'rule-empty-line-before': ['always', { ignore: ['after-comment', 'first-nested'] }], // 要求或禁止在规则之前的空行(可自动修复)。
// 使用这些和规则应用限制最大最小
'declaration-block-single-line-max-declarations': 1, // 一行中最大允许的属性数量
'declaration-property-max-values': null, // 限制属性的最大值
'max-nesting-depth': null, // 限制嵌套的深度
'number-max-precision': 4, // 限制数字中允许的小数位数
'selector-max-attribute': 2, //限制选择器中的属性选择器的数量
'selector-max-class': null, // 限制选择器中的类的最大数量
'selector-max-combinators': null, // 限制选择器中组合器的最大数量 (组合器即: > + ~ 空格 等等)
'selector-max-compound-selectors': null, // 所有选择器的最大数量 (包含id class 等选择器)
'selector-max-id': 0, //限制选择器中 ID 选择器的最大数量
'selector-max-pseudo-class': null, // 限制选择器中伪类的数量
'selector-max-specificity': null, // 限制选择器的特异性
'selector-max-type': null, // 限制选择器中类型选择器的数量
'selector-max-universal': 0, // 限制选择器中通用选择器的数量
'time-min-milliseconds': 10, // 指定时间值的最小毫秒数
// 使用这些(有时是隐式)规则强制执行具有多个事物的一种表示形式
'alpha-value-notation': 'number', // 指定alpha值的百分比或数字表示法(可自动修复)。
'color-function-notation': 'legacy', // 颜色代码同意使用逗号或空格分割
'color-hex-length': 'long', // 为十六进制颜色指定短表示法或长表示法,即是:#ffffff 还是#fff "short" "long"
'font-weight-notation': 'named-where-possible', //需要数字或命名(如果可能)font-weight值。此外当需要命名值时只需要有效的名称。
'hue-degree-notation': 'angle', // 指定度数或角度表示法(可自动修复)。
'import-notation': 'string', // 使用@import url("xxxx.scss"); 还是@import "xxxx.scss";
'keyframe-selector-notation': 'percentage', // 禁止使用无效的十六进制颜色
'lightness-notation': 'percentage', // 指定亮度的数字或百分比表示法。
'media-feature-range-notation': 'prefix', // 指定媒体特征范围的上下文或前缀表示法
'selector-not-notation': 'simple', // 为伪类指定简单或复杂表示法。:not()
'selector-pseudo-element-colon-notation': 'single', // 指定伪元素适用单冒号还是双冒号表示法(可自动修复)。
// 使用这些规则强制执行命名约定
'comment-pattern': null, // 指定注释的规则
'custom-media-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 指定自定义媒体查询名称的模式 (命名规则)
'custom-property-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 指定自定义属性的命名规则
'keyframes-name-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, //指定关键帧名称的模式(命名规则)
'selector-class-pattern': /(^[a-z][a-z0-9]*(-[a-z0-9]+)*$)|(^el-[a-z-_]+[a-z]$)/, // 【 特殊 】 指定类选择器的模式(即class的命名规范)
'selector-id-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 指定ID选择器的模式(即id的命名规范)
'selector-nested-pattern': null, // 为嵌套在规则中的规则选择器指定规则
// 要求或禁止使用这些规则的引号
'font-family-name-quotes': 'always-where-required', // 指定是否应在字体系列名称周围使用引号(可自动修复)
'function-url-quotes': 'always', // 要求或禁止 URL 的引号。(可自动修复)。
'selector-attribute-quotes': 'always', // 要求在块的开大括号之前必须有一个空格或不能有空白符。
// 不允许使用这些规则进行冗余
'declaration-block-no-redundant-longhand-properties': true, // 禁止冗余的写法
'shorthand-property-no-redundant-values': true, // 禁止简写属性的冗余值
// 使用此规则要求或禁止内部的空格
'comment-whitespace-inside': 'always', // 要求或禁止注释标记内侧的空白符(可自动修复)。
/* ****************************************** stylelint-config-standard-scss ****************************************** */
'scss/at-each-key-value-single-line': true, // 用于检查用户使用 map-keys 或 map.keys 执行循环并在循环内获取该键的值的情况
'scss/at-else-closing-brace-newline-after': 'always-last-in-chain', // 在语句的右大括号之后要求或不允许换行符(可自动修复)
'scss/at-else-closing-brace-space-after': 'always-intermediate', // 需要单个空格或不允许在语句的右大括号后使用空格(自动修复)。@else
'scss/at-else-empty-line-before': 'never', // 要求在 -else 之前使用空行或不允许空行(可自动修复)。@else
'scss/at-else-if-parentheses-space-before': 'always', // 要求或不允许在括号前加空格(可自动修复)。@else if
'scss/at-extend-no-missing-placeholder': true, // 禁止缺少占位符的 @extend
'scss/at-function-named-arguments': 'never', // 需要或禁止在 SCSS 函数调用规则中指定参数名称 animation: animation($duration: 250ms) 或 animation: animation(250ms)
'scss/at-function-parentheses-space-before': 'never', // 要求或不允许在括号前加空格
'scss/at-function-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 为类似 Sass/SCSS 的函数名称指定命名规则
'scss/at-if-closing-brace-newline-after': 'always-last-in-chain', // 要求或禁止在语句的右大括号后使用换行符
'scss/at-if-closing-brace-space-after': 'always-intermediate', // 需要单个空格或不允许在语句的右大括号后使用空格
'scss/at-if-no-null': true, // 检查是否等于 null 是不必要的显式,因为在 Sass 中是 falsey 即 @if $x == null 可改写为 @if not $x
'scss/at-import-partial-extension-allowed-list': ['scss'], // 允许导入的后缀名
'scss/at-import-partial-extension-disallowed-list': null, // 不允许导入的后缀名
'scss/at-mixin-argumentless-call-parentheses': 'always', // 在无参数调用中要求或禁止使用括号
'scss/at-mixin-named-arguments': 'never', // 在 @include() 调用规则中需要命名参数或不允许使用参数 @include aa($bbb: 250ms) 或者 @include aa(250ms)
'scss/at-mixin-no-risky-nesting-selector': true,
'scss/at-mixin-parentheses-space-before': 'never', //要求或不允许在括号前加空格
'scss/at-mixin-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 允许@import扩展名的白名单
'scss/at-rule-conditional-no-parentheses': true, // 不允许在@条件规则中使用括号(@if @elsif @while)
'scss/at-rule-no-unknown': true, //要求或不允许在括号前加空格
'scss/at-use-no-unnamespaced': true, // 不允许使用没有命名空间的 @use
'scss/at-use-no-redundant-alias': true, // 禁止冗余命名空间别名(即 )。@use "foo" as foo
'scss/dollar-variable-colon-newline-after': 'always-multi-line', // 在 $变量声明中,冒号后需要换行符
'scss/dollar-variable-colon-space-after': 'always-single-line', // 在$变量声明中,需要或不允许在冒号后使用空格
'scss/dollar-variable-colon-space-before': 'never', // 在$变量声明中,需要或不允许在冒号前使用空格
'scss/dollar-variable-default': null, // $变量声明的需要标志!default
// 需要空行或不允许在$变量声明后使用空行
'scss/dollar-variable-empty-line-after': [
'always',
{
except: ['last-nested', 'before-comment', 'before-dollar-variable'],
ignore: ['before-comment', 'inside-single-line-block'],
},
],
// 需要空行或不允许在$变量声明前使用空行
'scss/dollar-variable-empty-line-before': [
'always',
{
except: ['first-nested', 'after-comment', 'after-dollar-variable'],
ignore: ['after-comment', 'inside-single-line-block', 'after-dollar-variable'],
},
],
'scss/dollar-variable-first-in-block': [true, { ignore: ['comments', 'imports'] }], //要求将 -变量声明放在块(根或规则)的第一个位置
'scss/dollar-variable-no-missing-interpolation': true, // 禁止使用未经插值的 Sass 变量与使用自定义标识符的 CSS 功能
'scss/dollar-variable-no-namespaced-assignment': true, // 不允许分配到命名空间变量
'scss/dollar-variable-pattern': /^[_a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 为变量名称指定命名规则
'scss/percent-placeholder-pattern': /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, // 为%占位符名称指定命名规则
// 要求或禁止在双斜杠注释之前使用空行
'scss/double-slash-comment-empty-line-before': [
null,
{
except: ['first-nested', 'inside-block'],
ignore: ['between-comments', 'stylelint-commands', 'inside-block'],
},
],
'scss/double-slash-comment-inline': null, // 要求或不允许 -注释为内联注释
'scss/double-slash-comment-whitespace-inside': 'always', // 要求或不允许在注释后面留空格
'scss/block-no-redundant-nesting': true, // 如果单个块可以与其父块合并,则不允许嵌套该块
'scss/comment-no-empty': true, // 为变量名称指定命名规则
'scss/comment-no-loud': true, // 禁止/** * */注释,而全部使用 双斜杠注释
'scss/declaration-nested-properties': 'never', // 要求或禁止名称中包含的属性采用嵌套组的形式
'scss/declaration-nested-properties-no-divided-groups': true, // 不允许将同一“命名空间”的嵌套属性划分为多个组
'scss/dimension-no-non-numeric-values': true, // 用单位(例如 )插入值会产生字符串值,而不是数值。然后,此值不能在数值运算中使用。最好使用算术将单位应用于数字
'scss/function-calculation-no-interpolation': true, //不允许在calc(),clamp(),min(),max()函数中插值。
'scss/function-color-relative': true, // 鼓励使用刻度颜色
'scss/function-disallowed-list': null, //定不允许的函数列表
'scss/function-no-unknown': [true, { ignoreFunctions: ['constant'] }], // 禁止未知函数
'scss/function-quote-no-quoted-strings-inside': true, // 不允许在引号函数中使用带引号的字符串
'scss/function-unquote-no-unquoted-strings-inside': true, // 不允许在 unquote 函数中使用未加引号的字符串
'scss/map-keys-quotes': 'always', // 要求在Sass中key必须加引号
'scss/media-feature-value-dollar-variable': null, // 要求媒体功能值为 -变量或不允许媒体功能值中的 -变量
'scss/operator-no-newline-after': true, // 禁止在 Sass 运算符之后换行
'scss/operator-no-newline-before': true, // 禁止在 Sass 运算符之前换行
'scss/operator-no-unspaced': true, // 禁止在 Sass 操作中使用无间隔运算符
'scss/partial-no-import': true, // 不允许在部分文件中使用非 .CSS导入
'scss/property-no-unknown': [
true,
{
ignoreProperties: ['appPagePadding', 'appHeaderHeight', 'appSideBarShowWidth', 'appSideBarHideWidth'],
},
], // 禁止未知属性.覆盖Stylelint的规则
'scss/selector-nest-combinators': null, // 要求或禁止在选择器中嵌套组合器
'scss/selector-no-redundant-nesting-selector': true, // 禁止冗余嵌套选择器
'scss/selector-no-union-class-name': true, // 不允许将类名与父选择器合并
'scss/load-no-partial-leading-underscore': true, // 禁止在@import路径中使用前缀下划线
'scss/load-partial-extension': 'always', // 在 @import,@use,@forward 和 [meta.load-css] 命令中要求或禁止扩展。
'scss/no-dollar-variables': null, // 不允许在样式表中使用美元变量
'scss/no-duplicate-dollar-variables': true, // 不允许在样式表中使用重复的美元变量
'scss/no-duplicate-mixins': true, // 禁止在样式表中使用重复的mixin
'scss/no-global-function-names': true, // 不允许使用全局函数名称,因为这些全局函数现在位于内置 Sass 模块中
'scss/no-unused-private-members': true, // 禁止未使用的私有成员例如函数、mixin、变量或占位符选择器。
// 排序
'order/order': [
// 排序
'dollar-variables',
'custom-properties',
'at-rules',
'declarations',
{ type: 'at-rule', name: 'supports' },
{ type: 'at-rule', name: 'media' },
'rules',
],
'order/properties-order': [
{ properties: ['all'] },
{
properties: ['position', 'inset', 'inset-block', 'inset-inline', 'top', 'right', 'bottom', 'left', 'z-index'],
},
{ properties: ['box-sizing', 'display'] },
{
properties: ['flex', 'flex-basis', 'flex-direction', 'flex-flow', 'flex-grow', 'flex-shrink', 'flex-wrap'],
},
{
properties: [
'grid',
'grid-area',
'grid-template',
'grid-template-areas',
'grid-template-rows',
'grid-template-columns',
'grid-row',
'grid-row-start',
'grid-row-end',
'grid-column',
'grid-column-start',
'grid-column-end',
'grid-auto-rows',
'grid-auto-columns',
'grid-auto-flow',
'grid-gap',
'grid-row-gap',
'grid-column-gap',
],
},
{ properties: ['gap', 'row-gap', 'column-gap'] },
{
properties: [
'place-content',
'place-items',
'place-self',
'align-content',
'align-items',
'align-self',
'justify-content',
'justify-items',
'justify-self',
],
},
{ properties: ['order'] },
{
properties: [
'float',
'width',
'min-width',
'max-width',
'height',
'min-height',
'max-height',
'padding',
'padding-top',
'padding-right',
'padding-bottom',
'padding-left',
'margin',
'margin-top',
'margin-right',
'margin-bottom',
'margin-left',
'overflow',
'overflow-x',
'overflow-y',
'-webkit-overflow-scrolling',
'-ms-overflow-x',
'-ms-overflow-y',
'-ms-overflow-style',
'overscroll-behavior',
'overscroll-behavior-x',
'overscroll-behavior-y',
'overscroll-behavior-inline',
'overscroll-behavior-block',
'clip',
'clip-path',
'clear',
],
},
{
properties: [
'font',
'font-family',
'font-size',
'font-style',
'font-weight',
'font-feature-settings',
'font-kerning',
'font-variant',
'font-variant-ligatures',
'font-variant-caps',
'font-variant-alternates',
'font-variant-numeric',
'font-variant-east-asian',
'font-variant-position',
'font-size-adjust',
'font-stretch',
'font-effect',
'font-emphasize',
'font-emphasize-position',
'font-emphasize-style',
'-webkit-font-smoothing',
'-moz-osx-font-smoothing',
'font-smooth',
'hyphens',
'line-height',
'color',
'text-align',
'text-align-last',
'text-emphasis',
'text-emphasis-color',
'text-emphasis-style',
'text-emphasis-position',
'text-decoration',
'text-decoration-line',
'text-decoration-thickness',
'text-decoration-style',
'text-decoration-color',
'text-underline-position',
'text-underline-offset',
'text-indent',
'text-justify',
'text-outline',
'-ms-text-overflow',
'text-overflow',
'text-overflow-ellipsis',
'text-overflow-mode',
'text-shadow',
'text-transform',
'text-wrap',
'-webkit-text-size-adjust',
'-ms-text-size-adjust',
'letter-spacing',
'word-break',
'word-spacing',
'word-wrap', // Legacy name for `overflow-wrap`
'overflow-wrap',
'tab-size',
'white-space',
'vertical-align',
'list-style',
'list-style-position',
'list-style-type',
'list-style-image',
],
},
{
properties: [
'pointer-events',
'-ms-touch-action',
'touch-action',
'cursor',
'visibility',
'zoom',
'table-layout',
'empty-cells',
'caption-side',
'border-spacing',
'border-collapse',
'content',
'quotes',
'counter-reset',
'counter-increment',
'resize',
'user-select',
'nav-index',
'nav-up',
'nav-right',
'nav-down',
'nav-left',
],
},
{
properties: [
'background',
'background-color',
'background-image',
"-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
'filter:progid:DXImageTransform.Microsoft.gradient',
'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader',
'filter',
'background-repeat',
'background-attachment',
'background-position',
'background-position-x',
'background-position-y',
'background-clip',
'background-origin',
'background-size',
'background-blend-mode',
'isolation',
'border',
'border-color',
'border-style',
'border-width',
'border-top',
'border-top-color',
'border-top-style',
'border-top-width',
'border-right',
'border-right-color',
'border-right-style',
'border-right-width',
'border-bottom',
'border-bottom-color',
'border-bottom-style',
'border-bottom-width',
'border-left',
'border-left-color',
'border-left-style',
'border-left-width',
'border-radius',
'border-top-left-radius',
'border-top-right-radius',
'border-bottom-right-radius',
'border-bottom-left-radius',
'border-image',
'border-image-source',
'border-image-slice',
'border-image-width',
'border-image-outset',
'border-image-repeat',
'outline',
'outline-width',
'outline-style',
'outline-color',
'outline-offset',
'box-shadow',
'mix-blend-mode',
'filter:progid:DXImageTransform.Microsoft.Alpha(Opacity',
"-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
'opacity',
'-ms-interpolation-mode',
],
},
{
properties: [
'alignment-baseline',
'baseline-shift',
'dominant-baseline',
'text-anchor',
'word-spacing',
'writing-mode',
'fill',
'fill-opacity',
'fill-rule',
'stroke',
'stroke-dasharray',
'stroke-dashoffset',
'stroke-linecap',
'stroke-linejoin',
'stroke-miterlimit',
'stroke-opacity',
'stroke-width',
'color-interpolation',
'color-interpolation-filters',
'color-profile',
'color-rendering',
'flood-color',
'flood-opacity',
'image-rendering',
'lighting-color',
'marker-start',
'marker-mid',
'marker-end',
'mask',
'shape-rendering',
'stop-color',
'stop-opacity',
],
},
{
properties: [
'transition',
'transition-delay',
'transition-timing-function',
'transition-duration',
'transition-property',
'transform',
'transform-origin',
'animation',
'animation-name',
'animation-duration',
'animation-play-state',
'animation-timing-function',
'animation-delay',
'animation-iteration-count',
'animation-direction',
],
},
],
},
};