123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _utils = require("./utils");
- var linter = function linter(key, value, info) {
- switch (key) {
- case 'marginLeft':
- case 'marginRight':
- case 'paddingLeft':
- case 'paddingRight':
- case 'left':
- case 'right':
- case 'borderLeft':
- case 'borderLeftWidth':
- case 'borderLeftStyle':
- case 'borderLeftColor':
- case 'borderRight':
- case 'borderRightWidth':
- case 'borderRightStyle':
- case 'borderRightColor':
- case 'borderTopLeftRadius':
- case 'borderTopRightRadius':
- case 'borderBottomLeftRadius':
- case 'borderBottomRightRadius':
- (0, _utils.lintWarning)("You seem to be using non-logical property '".concat(key, "' which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties."), info);
- return;
- case 'margin':
- case 'padding':
- case 'borderWidth':
- case 'borderStyle':
- // case 'borderColor':
- if (typeof value === 'string') {
- var valueArr = value.split(' ').map(function (item) {
- return item.trim();
- });
- if (valueArr.length === 4 && valueArr[1] !== valueArr[3]) {
- (0, _utils.lintWarning)("You seem to be using '".concat(key, "' property with different left ").concat(key, " and right ").concat(key, ", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties."), info);
- }
- }
- return;
- case 'clear':
- case 'textAlign':
- if (value === 'left' || value === 'right') {
- (0, _utils.lintWarning)("You seem to be using non-logical value '".concat(value, "' of ").concat(key, ", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties."), info);
- }
- return;
- case 'borderRadius':
- if (typeof value === 'string') {
- var radiusGroups = value.split('/').map(function (item) {
- return item.trim();
- });
- var invalid = radiusGroups.reduce(function (result, group) {
- if (result) {
- return result;
- }
- var radiusArr = group.split(' ').map(function (item) {
- return item.trim();
- });
- // borderRadius: '2px 4px'
- if (radiusArr.length >= 2 && radiusArr[0] !== radiusArr[1]) {
- return true;
- }
- // borderRadius: '4px 4px 2px'
- if (radiusArr.length === 3 && radiusArr[1] !== radiusArr[2]) {
- return true;
- }
- // borderRadius: '4px 4px 2px 4px'
- if (radiusArr.length === 4 && radiusArr[2] !== radiusArr[3]) {
- return true;
- }
- return result;
- }, false);
- if (invalid) {
- (0, _utils.lintWarning)("You seem to be using non-logical value '".concat(value, "' of ").concat(key, ", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties."), info);
- }
- }
- return;
- default:
- }
- };
- var _default = exports.default = linter;
|