Files
tauri-meeting/stylelint.config.js

622 lines
31 KiB
JavaScript
Raw Permalink Normal View History

/** 是否为 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',
],
},
],
},
};