@double-great/stylelint-a11y 2.0.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.json +3 -0
- package/dist/index.js +6 -10
- package/dist/rules/content-property-no-static-value/__tests__/index.js +1 -2
- package/dist/rules/content-property-no-static-value/index.js +13 -29
- package/dist/rules/font-size-is-readable/__tests__/index.js +1 -2
- package/dist/rules/font-size-is-readable/index.js +13 -28
- package/dist/rules/index.js +26 -41
- package/dist/rules/line-height-is-vertical-rhythmed/__tests__/index.js +1 -2
- package/dist/rules/line-height-is-vertical-rhythmed/index.js +13 -29
- package/dist/rules/media-prefers-color-scheme/__tests__/index.js +1 -2
- package/dist/rules/media-prefers-color-scheme/index.js +15 -38
- package/dist/rules/media-prefers-reduced-motion/__tests__/index.js +1 -2
- package/dist/rules/media-prefers-reduced-motion/index.js +21 -52
- package/dist/rules/no-display-none/__tests__/index.js +1 -2
- package/dist/rules/no-display-none/index.js +13 -27
- package/dist/rules/no-obsolete-attribute/__tests__/index.js +1 -2
- package/dist/rules/no-obsolete-attribute/index.js +14 -29
- package/dist/rules/no-obsolete-attribute/obsoleteAttributes.js +1 -2
- package/dist/rules/no-obsolete-element/__tests__/index.js +1 -2
- package/dist/rules/no-obsolete-element/index.js +14 -29
- package/dist/rules/no-obsolete-element/obsoleteElements.js +1 -2
- package/dist/rules/no-outline-none/__tests__/index.js +1 -2
- package/dist/rules/no-outline-none/index.js +13 -30
- package/dist/rules/no-spread-text/__tests__/index.js +1 -2
- package/dist/rules/no-spread-text/index.js +13 -26
- package/dist/rules/no-text-align-justify/__tests__/index.js +1 -2
- package/dist/rules/no-text-align-justify/index.js +13 -27
- package/dist/rules/selector-pseudo-class-focus/__tests__/index.js +2 -2
- package/dist/rules/selector-pseudo-class-focus/index.js +14 -39
- package/package.json +27 -21
- package/recommended.js +6 -0
- package/src/index.js +4 -2
- package/src/rules/content-property-no-static-value/__tests__/index.js +1 -1
- package/src/rules/content-property-no-static-value/index.js +9 -6
- package/src/rules/font-size-is-readable/__tests__/index.js +1 -1
- package/src/rules/font-size-is-readable/index.js +9 -6
- package/src/rules/index.js +12 -12
- package/src/rules/line-height-is-vertical-rhythmed/__tests__/index.js +1 -1
- package/src/rules/line-height-is-vertical-rhythmed/index.js +9 -6
- package/src/rules/media-prefers-color-scheme/__tests__/index.js +1 -1
- package/src/rules/media-prefers-color-scheme/index.js +12 -9
- package/src/rules/media-prefers-reduced-motion/__tests__/index.js +1 -1
- package/src/rules/media-prefers-reduced-motion/index.js +12 -9
- package/src/rules/no-display-none/__tests__/index.js +1 -1
- package/src/rules/no-display-none/index.js +9 -6
- package/src/rules/no-obsolete-attribute/__tests__/index.js +1 -1
- package/src/rules/no-obsolete-attribute/index.js +10 -7
- package/src/rules/no-obsolete-element/__tests__/index.js +1 -1
- package/src/rules/no-obsolete-element/index.js +10 -7
- package/src/rules/no-outline-none/__tests__/index.js +1 -1
- package/src/rules/no-outline-none/index.js +9 -7
- package/src/rules/no-spread-text/__tests__/index.js +1 -1
- package/src/rules/no-spread-text/index.js +9 -6
- package/src/rules/no-text-align-justify/__tests__/index.js +1 -1
- package/src/rules/no-text-align-justify/index.js +9 -6
- package/src/rules/selector-pseudo-class-focus/__tests__/index.js +1 -1
- package/src/rules/selector-pseudo-class-focus/index.js +9 -6
- package/.coverage/lcov-report/base.css +0 -224
- package/.coverage/lcov-report/block-navigation.js +0 -87
- package/.coverage/lcov-report/favicon.png +0 -0
- package/.coverage/lcov-report/index.html +0 -311
- package/.coverage/lcov-report/prettify.css +0 -1
- package/.coverage/lcov-report/prettify.js +0 -2
- package/.coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/.coverage/lcov-report/sorter.js +0 -196
- package/.coverage/lcov-report/src/index.html +0 -116
- package/.coverage/lcov-report/src/index.js.html +0 -109
- package/.coverage/lcov-report/src/rules/content-property-no-static-value/index.html +0 -116
- package/.coverage/lcov-report/src/rules/content-property-no-static-value/index.js.html +0 -301
- package/.coverage/lcov-report/src/rules/font-size-is-readable/index.html +0 -116
- package/.coverage/lcov-report/src/rules/font-size-is-readable/index.js.html +0 -256
- package/.coverage/lcov-report/src/rules/index.html +0 -116
- package/.coverage/lcov-report/src/rules/index.js.html +0 -166
- package/.coverage/lcov-report/src/rules/line-height-is-vertical-rhythmed/index.html +0 -116
- package/.coverage/lcov-report/src/rules/line-height-is-vertical-rhythmed/index.js.html +0 -268
- package/.coverage/lcov-report/src/rules/media-prefers-color-scheme/index.html +0 -116
- package/.coverage/lcov-report/src/rules/media-prefers-color-scheme/index.js.html +0 -430
- package/.coverage/lcov-report/src/rules/media-prefers-reduced-motion/index.html +0 -116
- package/.coverage/lcov-report/src/rules/media-prefers-reduced-motion/index.js.html +0 -577
- package/.coverage/lcov-report/src/rules/no-display-none/index.html +0 -116
- package/.coverage/lcov-report/src/rules/no-display-none/index.js.html +0 -259
- package/.coverage/lcov-report/src/rules/no-obsolete-attribute/index.html +0 -131
- package/.coverage/lcov-report/src/rules/no-obsolete-attribute/index.js.html +0 -259
- package/.coverage/lcov-report/src/rules/no-obsolete-attribute/obsoleteAttributes.js.html +0 -697
- package/.coverage/lcov-report/src/rules/no-obsolete-element/index.html +0 -131
- package/.coverage/lcov-report/src/rules/no-obsolete-element/index.js.html +0 -256
- package/.coverage/lcov-report/src/rules/no-obsolete-element/obsoleteElements.js.html +0 -181
- package/.coverage/lcov-report/src/rules/no-outline-none/index.html +0 -116
- package/.coverage/lcov-report/src/rules/no-outline-none/index.js.html +0 -310
- package/.coverage/lcov-report/src/rules/no-spread-text/index.html +0 -116
- package/.coverage/lcov-report/src/rules/no-spread-text/index.js.html +0 -301
- package/.coverage/lcov-report/src/rules/no-text-align-justify/index.html +0 -116
- package/.coverage/lcov-report/src/rules/no-text-align-justify/index.js.html +0 -265
- package/.coverage/lcov-report/src/rules/selector-pseudo-class-focus/index.html +0 -116
- package/.coverage/lcov-report/src/rules/selector-pseudo-class-focus/index.js.html +0 -340
- package/.coverage/lcov.info +0 -1116
- package/jest.config.cjs +0 -20
- package/jest.setup.cjs +0 -5
- package/recommended.cjs +0 -8
package/dist/index.js
CHANGED
|
@@ -4,15 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var _rules = _interopRequireDefault(require("./rules"));
|
|
11
|
-
|
|
7
|
+
var _stylelint = _interopRequireDefault(require("stylelint"));
|
|
8
|
+
var _index = _interopRequireDefault(require("./rules/index.js"));
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
-
|
|
14
|
-
var rulesPlugins = Object.keys(
|
|
15
|
-
return
|
|
10
|
+
var createPlugin = _stylelint["default"].createPlugin;
|
|
11
|
+
var rulesPlugins = Object.keys(_index["default"]).map(function (ruleName) {
|
|
12
|
+
return createPlugin("a11y/".concat(ruleName), _index["default"][ruleName]);
|
|
16
13
|
});
|
|
17
|
-
var _default = rulesPlugins;
|
|
18
|
-
exports["default"] = _default;
|
|
14
|
+
var _default = exports["default"] = rulesPlugins;
|
|
@@ -3,32 +3,26 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] =
|
|
6
|
+
exports["default"] = contentPropertyNoStaticValue;
|
|
7
7
|
exports.ruleName = exports.messages = void 0;
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var _stylelint = require("stylelint");
|
|
12
|
-
|
|
8
|
+
var _isStandardSyntaxAtRule = _interopRequireDefault(require("stylelint/lib/utils/isStandardSyntaxAtRule.mjs"));
|
|
9
|
+
var _stylelint = _interopRequireDefault(require("stylelint"));
|
|
13
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var
|
|
11
|
+
var _stylelint$utils = _stylelint["default"].utils,
|
|
12
|
+
report = _stylelint$utils.report,
|
|
13
|
+
ruleMessages = _stylelint$utils.ruleMessages,
|
|
14
|
+
validateOptions = _stylelint$utils.validateOptions;
|
|
15
|
+
var ruleName = exports.ruleName = 'a11y/content-property-no-static-value';
|
|
16
|
+
var messages = exports.messages = ruleMessages(ruleName, {
|
|
19
17
|
expected: function expected(selector) {
|
|
20
18
|
return "Unexpected using \"content\" property in ".concat(selector);
|
|
21
19
|
}
|
|
22
20
|
});
|
|
23
|
-
|
|
24
|
-
exports.messages = messages;
|
|
25
|
-
|
|
26
21
|
var isContentPropertyUsedCorrectly = function isContentPropertyUsedCorrectly(selectors) {
|
|
27
22
|
return selectors.every(function (selector) {
|
|
28
23
|
return /:before|:after/.test(selector);
|
|
29
24
|
});
|
|
30
25
|
};
|
|
31
|
-
|
|
32
26
|
var checkNodesForContentProperty = function checkNodesForContentProperty(node) {
|
|
33
27
|
return node.nodes.filter(function (n) {
|
|
34
28
|
return n.prop;
|
|
@@ -36,48 +30,38 @@ var checkNodesForContentProperty = function checkNodesForContentProperty(node) {
|
|
|
36
30
|
return n.prop.toLowerCase() === 'content';
|
|
37
31
|
});
|
|
38
32
|
};
|
|
39
|
-
|
|
40
33
|
function check(node) {
|
|
41
34
|
if (node.type !== 'rule' || !checkNodesForContentProperty(node) || !node.first) {
|
|
42
35
|
return true;
|
|
43
36
|
}
|
|
44
|
-
|
|
45
37
|
return node.nodes.some(function (o) {
|
|
46
38
|
return o.type === 'decl' && o.prop.toLowerCase() === 'content' && isContentPropertyUsedCorrectly(o.parent.selectors) && (o.value.toLowerCase() === "''" || o.value.toLowerCase() === '""' || o.value.toLowerCase() === 'attr(aria-label)');
|
|
47
39
|
});
|
|
48
40
|
}
|
|
49
|
-
|
|
50
|
-
function _default(actual) {
|
|
41
|
+
function contentPropertyNoStaticValue(actual) {
|
|
51
42
|
return function (root, result) {
|
|
52
|
-
var validOptions =
|
|
43
|
+
var validOptions = validateOptions(result, ruleName, {
|
|
53
44
|
actual: actual
|
|
54
45
|
});
|
|
55
|
-
|
|
56
46
|
if (!validOptions || !actual) {
|
|
57
47
|
return;
|
|
58
48
|
}
|
|
59
|
-
|
|
60
49
|
root.walk(function (node) {
|
|
61
50
|
var selector = null;
|
|
62
|
-
|
|
63
51
|
if (node.type === 'rule') {
|
|
64
|
-
if (!(0,
|
|
52
|
+
if (!(0, _isStandardSyntaxAtRule["default"])(node)) {
|
|
65
53
|
return;
|
|
66
54
|
}
|
|
67
|
-
|
|
68
55
|
selector = node.selector;
|
|
69
56
|
} else if (node.type === 'atrule' && node.name.toLowerCase() === 'page' && node.params) {
|
|
70
57
|
selector = node.params;
|
|
71
58
|
}
|
|
72
|
-
|
|
73
59
|
if (!selector) {
|
|
74
60
|
return;
|
|
75
61
|
}
|
|
76
|
-
|
|
77
62
|
var isAccepted = check(node);
|
|
78
|
-
|
|
79
63
|
if (!isAccepted) {
|
|
80
|
-
|
|
64
|
+
report({
|
|
81
65
|
index: node.lastEach,
|
|
82
66
|
message: messages.expected(selector),
|
|
83
67
|
node: node,
|
|
@@ -3,68 +3,53 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] =
|
|
6
|
+
exports["default"] = fontSizeIsReadable;
|
|
7
7
|
exports.ruleName = exports.messages = void 0;
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var _stylelint = require("stylelint");
|
|
12
|
-
|
|
8
|
+
var _isStandardSyntaxAtRule = _interopRequireDefault(require("stylelint/lib/utils/isStandardSyntaxAtRule.mjs"));
|
|
9
|
+
var _stylelint = _interopRequireDefault(require("stylelint"));
|
|
13
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var
|
|
11
|
+
var _stylelint$utils = _stylelint["default"].utils,
|
|
12
|
+
report = _stylelint$utils.report,
|
|
13
|
+
ruleMessages = _stylelint$utils.ruleMessages,
|
|
14
|
+
validateOptions = _stylelint$utils.validateOptions;
|
|
15
|
+
var ruleName = exports.ruleName = 'a11y/font-size-is-readable';
|
|
16
|
+
var messages = exports.messages = ruleMessages(ruleName, {
|
|
19
17
|
expected: function expected(selector) {
|
|
20
18
|
return "Expected a larger font-size in ".concat(selector);
|
|
21
19
|
}
|
|
22
20
|
});
|
|
23
|
-
|
|
24
|
-
exports.messages = messages;
|
|
25
|
-
|
|
26
21
|
var pxToPt = function pxToPt(v) {
|
|
27
22
|
return 0.75 * v;
|
|
28
23
|
};
|
|
29
|
-
|
|
30
24
|
var checkInPx = function checkInPx(value, THRESHOLD_IN_PX) {
|
|
31
25
|
return value.toLowerCase().endsWith('px') && parseFloat(value) < THRESHOLD_IN_PX;
|
|
32
26
|
};
|
|
33
|
-
|
|
34
27
|
var checkInPt = function checkInPt(value, THRESHOLD_IN_PX) {
|
|
35
28
|
return value.toLowerCase().endsWith('pt') && parseFloat(value) < pxToPt(THRESHOLD_IN_PX);
|
|
36
29
|
};
|
|
37
|
-
|
|
38
|
-
function _default(actual, options) {
|
|
30
|
+
function fontSizeIsReadable(actual, options) {
|
|
39
31
|
return function (root, result) {
|
|
40
|
-
var validOptions =
|
|
32
|
+
var validOptions = validateOptions(result, ruleName, {
|
|
41
33
|
actual: actual
|
|
42
34
|
});
|
|
43
|
-
|
|
44
35
|
if (!validOptions || !actual) {
|
|
45
36
|
return;
|
|
46
37
|
}
|
|
47
|
-
|
|
48
38
|
var THRESHOLD_IN_PX = options && options.thresholdInPixels || 15;
|
|
49
39
|
root.walkRules(function (rule) {
|
|
50
40
|
var selector = null;
|
|
51
|
-
|
|
52
|
-
if (!(0, _isStandardSyntaxRule["default"])(rule)) {
|
|
41
|
+
if (!(0, _isStandardSyntaxAtRule["default"])(rule)) {
|
|
53
42
|
return;
|
|
54
43
|
}
|
|
55
|
-
|
|
56
44
|
selector = rule.selector;
|
|
57
|
-
|
|
58
45
|
if (!selector) {
|
|
59
46
|
return;
|
|
60
47
|
}
|
|
61
|
-
|
|
62
48
|
var isRejected = rule.nodes.some(function (o) {
|
|
63
49
|
return o.type === 'decl' && o.prop.toLowerCase() === 'font-size' && (checkInPx(o.value, THRESHOLD_IN_PX) || checkInPt(o.value, THRESHOLD_IN_PX));
|
|
64
50
|
});
|
|
65
|
-
|
|
66
51
|
if (isRejected) {
|
|
67
|
-
|
|
52
|
+
report({
|
|
68
53
|
index: rule.lastEach,
|
|
69
54
|
message: messages.expected(selector),
|
|
70
55
|
node: rule,
|
package/dist/rules/index.js
CHANGED
|
@@ -4,45 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
var _noObsoleteAttribute = _interopRequireDefault(require("./no-obsolete-attribute"));
|
|
21
|
-
|
|
22
|
-
var _noObsoleteElement = _interopRequireDefault(require("./no-obsolete-element"));
|
|
23
|
-
|
|
24
|
-
var _noOutlineNone = _interopRequireDefault(require("./no-outline-none"));
|
|
25
|
-
|
|
26
|
-
var _noSpreadText = _interopRequireDefault(require("./no-spread-text"));
|
|
27
|
-
|
|
28
|
-
var _noTextAlignJustify = _interopRequireDefault(require("./no-text-align-justify"));
|
|
29
|
-
|
|
30
|
-
var _selectorPseudoClassFocus = _interopRequireDefault(require("./selector-pseudo-class-focus"));
|
|
31
|
-
|
|
7
|
+
var _index = _interopRequireDefault(require("./content-property-no-static-value/index.js"));
|
|
8
|
+
var _index2 = _interopRequireDefault(require("./font-size-is-readable/index.js"));
|
|
9
|
+
var _index3 = _interopRequireDefault(require("./line-height-is-vertical-rhythmed/index.js"));
|
|
10
|
+
var _index4 = _interopRequireDefault(require("./media-prefers-color-scheme/index.js"));
|
|
11
|
+
var _index5 = _interopRequireDefault(require("./media-prefers-reduced-motion/index.js"));
|
|
12
|
+
var _index6 = _interopRequireDefault(require("./no-display-none/index.js"));
|
|
13
|
+
var _index7 = _interopRequireDefault(require("./no-obsolete-attribute/index.js"));
|
|
14
|
+
var _index8 = _interopRequireDefault(require("./no-obsolete-element/index.js"));
|
|
15
|
+
var _index9 = _interopRequireDefault(require("./no-outline-none/index.js"));
|
|
16
|
+
var _index10 = _interopRequireDefault(require("./no-spread-text/index.js"));
|
|
17
|
+
var _index11 = _interopRequireDefault(require("./no-text-align-justify/index.js"));
|
|
18
|
+
var _index12 = _interopRequireDefault(require("./selector-pseudo-class-focus/index.js"));
|
|
32
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
'
|
|
36
|
-
'
|
|
37
|
-
'
|
|
38
|
-
'
|
|
39
|
-
'no-
|
|
40
|
-
'no-obsolete-
|
|
41
|
-
'no-
|
|
42
|
-
'no-
|
|
43
|
-
'no-
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
|
|
47
|
-
};
|
|
48
|
-
exports["default"] = _default;
|
|
20
|
+
var _default = exports["default"] = {
|
|
21
|
+
'content-property-no-static-value': _index["default"],
|
|
22
|
+
'font-size-is-readable': _index2["default"],
|
|
23
|
+
'line-height-is-vertical-rhythmed': _index3["default"],
|
|
24
|
+
'media-prefers-reduced-motion': _index5["default"],
|
|
25
|
+
'no-display-none': _index6["default"],
|
|
26
|
+
'no-obsolete-attribute': _index7["default"],
|
|
27
|
+
'no-obsolete-element': _index8["default"],
|
|
28
|
+
'no-outline-none': _index9["default"],
|
|
29
|
+
'no-spread-text': _index10["default"],
|
|
30
|
+
'no-text-align-justify': _index11["default"],
|
|
31
|
+
'selector-pseudo-class-focus': _index12["default"],
|
|
32
|
+
'media-prefers-color-scheme': _index4["default"]
|
|
33
|
+
};
|
|
@@ -3,75 +3,59 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] =
|
|
6
|
+
exports["default"] = lineHeightIsVerticalRhythmed;
|
|
7
7
|
exports.ruleName = exports.messages = void 0;
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var _stylelint = require("stylelint");
|
|
12
|
-
|
|
8
|
+
var _isStandardSyntaxAtRule = _interopRequireDefault(require("stylelint/lib/utils/isStandardSyntaxAtRule.mjs"));
|
|
9
|
+
var _stylelint = _interopRequireDefault(require("stylelint"));
|
|
13
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var
|
|
11
|
+
var _stylelint$utils = _stylelint["default"].utils,
|
|
12
|
+
report = _stylelint$utils.report,
|
|
13
|
+
ruleMessages = _stylelint$utils.ruleMessages,
|
|
14
|
+
validateOptions = _stylelint$utils.validateOptions;
|
|
15
|
+
var ruleName = exports.ruleName = 'a11y/line-height-is-vertical-rhythmed';
|
|
16
|
+
var messages = exports.messages = ruleMessages(ruleName, {
|
|
19
17
|
expected: function expected(selector) {
|
|
20
18
|
return "Expected a vertical rhythmed line-height in ".concat(selector);
|
|
21
19
|
}
|
|
22
20
|
});
|
|
23
|
-
|
|
24
|
-
exports.messages = messages;
|
|
25
|
-
|
|
26
21
|
function check(node) {
|
|
27
22
|
if (node.type !== 'rule') {
|
|
28
23
|
return true;
|
|
29
24
|
}
|
|
30
|
-
|
|
31
25
|
var checkInPx = function checkInPx(o) {
|
|
32
26
|
return o.value.toLowerCase().endsWith('px') && parseInt(o.value) % 24 !== 0;
|
|
33
27
|
};
|
|
34
|
-
|
|
35
28
|
var checkInRel = function checkInRel(o) {
|
|
36
29
|
return !isNaN(o.value) && parseFloat(o.value) < 1.5;
|
|
37
30
|
};
|
|
38
|
-
|
|
39
31
|
return !node.nodes.some(function (o) {
|
|
40
32
|
return o.type === 'decl' && o.prop.toLowerCase() === 'line-height' && (checkInPx(o) || checkInRel(o));
|
|
41
33
|
});
|
|
42
34
|
}
|
|
43
|
-
|
|
44
|
-
function _default(actual) {
|
|
35
|
+
function lineHeightIsVerticalRhythmed(actual) {
|
|
45
36
|
return function (root, result) {
|
|
46
|
-
var validOptions =
|
|
37
|
+
var validOptions = validateOptions(result, ruleName, {
|
|
47
38
|
actual: actual
|
|
48
39
|
});
|
|
49
|
-
|
|
50
40
|
if (!validOptions || !actual) {
|
|
51
41
|
return;
|
|
52
42
|
}
|
|
53
|
-
|
|
54
43
|
root.walk(function (node) {
|
|
55
44
|
var selector = null;
|
|
56
|
-
|
|
57
45
|
if (node.type === 'rule') {
|
|
58
|
-
if (!(0,
|
|
46
|
+
if (!(0, _isStandardSyntaxAtRule["default"])(node)) {
|
|
59
47
|
return;
|
|
60
48
|
}
|
|
61
|
-
|
|
62
49
|
selector = node.selector;
|
|
63
50
|
} else if (node.type === 'atrule' && node.name.toLowerCase() === 'page' && node.params) {
|
|
64
51
|
selector = node.params;
|
|
65
52
|
}
|
|
66
|
-
|
|
67
53
|
if (!selector) {
|
|
68
54
|
return;
|
|
69
55
|
}
|
|
70
|
-
|
|
71
56
|
var isAccepted = check(node);
|
|
72
|
-
|
|
73
57
|
if (!isAccepted) {
|
|
74
|
-
|
|
58
|
+
report({
|
|
75
59
|
index: node.lastEach,
|
|
76
60
|
message: messages.expected(selector),
|
|
77
61
|
node: node,
|
|
@@ -3,47 +3,35 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] =
|
|
6
|
+
exports["default"] = mediaPrefersColorScheme;
|
|
7
7
|
exports.ruleName = exports.messages = void 0;
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
var _isStandardSyntaxRule = _interopRequireDefault(require("stylelint/lib/utils/isStandardSyntaxRule"));
|
|
14
|
-
|
|
15
|
-
var _isStandardSyntaxSelector = _interopRequireDefault(require("stylelint/lib/utils/isStandardSyntaxSelector"));
|
|
16
|
-
|
|
17
|
-
var _stylelint = require("stylelint");
|
|
18
|
-
|
|
8
|
+
var _isCustomSelector = _interopRequireDefault(require("stylelint/lib/utils/isCustomSelector.mjs"));
|
|
9
|
+
var _isStandardSyntaxAtRule = _interopRequireDefault(require("stylelint/lib/utils/isStandardSyntaxAtRule.mjs"));
|
|
10
|
+
var _isStandardSyntaxSelector = _interopRequireDefault(require("stylelint/lib/utils/isStandardSyntaxSelector.mjs"));
|
|
11
|
+
var _stylelint = _interopRequireDefault(require("stylelint"));
|
|
19
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var
|
|
13
|
+
var _stylelint$utils = _stylelint["default"].utils,
|
|
14
|
+
report = _stylelint$utils.report,
|
|
15
|
+
ruleMessages = _stylelint$utils.ruleMessages,
|
|
16
|
+
validateOptions = _stylelint$utils.validateOptions;
|
|
17
|
+
var ruleName = exports.ruleName = 'a11y/media-prefers-color-scheme';
|
|
18
|
+
var messages = exports.messages = ruleMessages(ruleName, {
|
|
25
19
|
expected: function expected(selector) {
|
|
26
20
|
return "Expected ".concat(selector, " is used with @media (prefers-color-scheme)");
|
|
27
21
|
}
|
|
28
22
|
});
|
|
29
|
-
|
|
30
|
-
exports.messages = messages;
|
|
31
23
|
var targetProperties = ['background-color', 'color'];
|
|
32
|
-
|
|
33
24
|
function check(selector, node) {
|
|
34
25
|
var declarations = node.nodes;
|
|
35
26
|
var params = node.parent.params;
|
|
36
27
|
var parentNodes = node.parent.nodes;
|
|
37
28
|
if (!declarations) return true;
|
|
38
|
-
|
|
39
29
|
if (!(0, _isStandardSyntaxSelector["default"])(selector)) {
|
|
40
30
|
return true;
|
|
41
31
|
}
|
|
42
|
-
|
|
43
32
|
if ((0, _isCustomSelector["default"])(selector)) {
|
|
44
33
|
return true;
|
|
45
34
|
}
|
|
46
|
-
|
|
47
35
|
var currentSelector = null;
|
|
48
36
|
var declarationsIsMatched = declarations.some(function (declaration) {
|
|
49
37
|
var noMatchedParams = !params || params.indexOf('prefers-color-scheme') === -1;
|
|
@@ -52,7 +40,6 @@ function check(selector, node) {
|
|
|
52
40
|
return index >= 0 && noMatchedParams;
|
|
53
41
|
});
|
|
54
42
|
if (!declarationsIsMatched) return true;
|
|
55
|
-
|
|
56
43
|
if (declarationsIsMatched) {
|
|
57
44
|
var parentMatchedNode = parentNodes.some(function (parentNode) {
|
|
58
45
|
if (!parentNode || !parentNode.nodes) return false;
|
|
@@ -70,45 +57,35 @@ function check(selector, node) {
|
|
|
70
57
|
if (!parentMatchedNode) return false;
|
|
71
58
|
return true;
|
|
72
59
|
}
|
|
73
|
-
|
|
74
60
|
return true;
|
|
75
61
|
}
|
|
76
|
-
|
|
77
|
-
function _default(actual) {
|
|
62
|
+
function mediaPrefersColorScheme(actual) {
|
|
78
63
|
return function (root, result) {
|
|
79
|
-
var validOptions =
|
|
64
|
+
var validOptions = validateOptions(result, ruleName, {
|
|
80
65
|
actual: actual
|
|
81
66
|
});
|
|
82
|
-
|
|
83
67
|
if (!validOptions || !actual) {
|
|
84
68
|
return;
|
|
85
69
|
}
|
|
86
|
-
|
|
87
70
|
root.walk(function (node) {
|
|
88
71
|
var selector = null;
|
|
89
|
-
|
|
90
72
|
if (node.type === 'rule') {
|
|
91
|
-
if (!(0,
|
|
73
|
+
if (!(0, _isStandardSyntaxAtRule["default"])(node)) {
|
|
92
74
|
return;
|
|
93
75
|
}
|
|
94
|
-
|
|
95
76
|
selector = node.selector;
|
|
96
77
|
} else if (node.type === 'atrule' && node.name === 'page' && node.params) {
|
|
97
78
|
if (!(0, _isStandardSyntaxAtRule["default"])(node)) {
|
|
98
79
|
return;
|
|
99
80
|
}
|
|
100
|
-
|
|
101
81
|
selector = node.params;
|
|
102
82
|
}
|
|
103
|
-
|
|
104
83
|
if (!selector) {
|
|
105
84
|
return;
|
|
106
85
|
}
|
|
107
|
-
|
|
108
86
|
var isAccepted = check(selector, node);
|
|
109
|
-
|
|
110
87
|
if (!isAccepted) {
|
|
111
|
-
|
|
88
|
+
report({
|
|
112
89
|
index: node.lastEach,
|
|
113
90
|
message: messages.expected(selector),
|
|
114
91
|
node: node,
|