mp-darkmode 1.1.8 → 1.1.9
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/dist/darkmode.js +41 -19
- package/dist/darkmode.js.map +1 -1
- package/dist/darkmode.min.js +1 -1
- package/package.json +1 -1
package/dist/darkmode.js
CHANGED
|
@@ -2763,7 +2763,7 @@ var config = {
|
|
|
2763
2763
|
/*!*********************************!*\
|
|
2764
2764
|
!*** ./src/modules/constant.js ***!
|
|
2765
2765
|
\*********************************/
|
|
2766
|
-
/*! exports provided: MEDIA_QUERY, CLASS_PREFIX, DM_CLASSNAME_REGEXP, HTML_CLASS, COLORATTR, BGCOLORATTR, ORIGINAL_COLORATTR, ORIGINAL_BGCOLORATTR, BGIMAGEATTR, BG_COLOR_DELIMITER, DEFAULT_LIGHT_TEXTCOLOR, DEFAULT_LIGHT_BGCOLOR, DEFAULT_DARK_TEXTCOLOR, DEFAULT_DARK_BGCOLOR, WHITE_LIKE_COLOR_BRIGHTNESS, MAX_LIMIT_BGCOLOR_BRIGHTNESS, MIN_LIMIT_OFFSET_BRIGHTNESS, HIGH_BGCOLOR_BRIGHTNESS, HIGH_BLACKWHITE_HSL_BRIGHTNESS, LOW_BLACKWHITE_HSL_BRIGHTNESS, IGNORE_ALPHA, PAGE_HEIGHT, TABLE_NAME, IMPORTANT_REGEXP, SEMICOLON_PLACEHOLDER, SEMICOLON_PLACEHOLDER_REGEXP */
|
|
2766
|
+
/*! exports provided: MEDIA_QUERY, CLASS_PREFIX, DM_CLASSNAME_REGEXP, HTML_CLASS, COLORATTR, BGCOLORATTR, ORIGINAL_COLORATTR, ORIGINAL_BGCOLORATTR, BGIMAGEATTR, BG_COLOR_DELIMITER, DEFAULT_LIGHT_TEXTCOLOR, DEFAULT_LIGHT_BGCOLOR, DEFAULT_DARK_TEXTCOLOR, DEFAULT_DARK_BGCOLOR, WHITE_LIKE_COLOR_BRIGHTNESS, MAX_LIMIT_BGCOLOR_BRIGHTNESS, MIN_LIMIT_OFFSET_BRIGHTNESS, HIGH_BGCOLOR_BRIGHTNESS, HIGH_BLACKWHITE_HSL_BRIGHTNESS, LOW_BLACKWHITE_HSL_BRIGHTNESS, IGNORE_ALPHA, PAGE_HEIGHT, CSS_PROP_SERIES, CSS_PROP_LIST, TABLE_NAME, IMPORTANT_REGEXP, SEMICOLON_PLACEHOLDER, SEMICOLON_PLACEHOLDER_REGEXP */
|
|
2767
2767
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2768
2768
|
|
|
2769
2769
|
"use strict";
|
|
@@ -2790,6 +2790,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2790
2790
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LOW_BLACKWHITE_HSL_BRIGHTNESS", function() { return LOW_BLACKWHITE_HSL_BRIGHTNESS; });
|
|
2791
2791
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IGNORE_ALPHA", function() { return IGNORE_ALPHA; });
|
|
2792
2792
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PAGE_HEIGHT", function() { return PAGE_HEIGHT; });
|
|
2793
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CSS_PROP_SERIES", function() { return CSS_PROP_SERIES; });
|
|
2794
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CSS_PROP_LIST", function() { return CSS_PROP_LIST; });
|
|
2793
2795
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TABLE_NAME", function() { return TABLE_NAME; });
|
|
2794
2796
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IMPORTANT_REGEXP", function() { return IMPORTANT_REGEXP; });
|
|
2795
2797
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SEMICOLON_PLACEHOLDER", function() { return SEMICOLON_PLACEHOLDER; });
|
|
@@ -2835,6 +2837,28 @@ var LOW_BLACKWHITE_HSL_BRIGHTNESS = 22;
|
|
|
2835
2837
|
var IGNORE_ALPHA = 0.05; // 忽略的透明度阈值
|
|
2836
2838
|
|
|
2837
2839
|
var PAGE_HEIGHT = window.getInnerHeight && window.getInnerHeight() || window.innerHeight || document.documentElement.clientHeight;
|
|
2840
|
+
var CSS_PROP_SERIES = {
|
|
2841
|
+
// 支持的css属性,按类型做分类
|
|
2842
|
+
BG_COLOR: ['background-color', 'background-image', 'background'],
|
|
2843
|
+
TEXT_SHADOW: ['text-shadow'],
|
|
2844
|
+
TEXT_COLOR: ['-webkit-text-stroke', '-webkit-text-stroke-color', 'text-decoration', 'text-decoration-color', 'text-emphasis-color', 'color', '-webkit-text-fill-color'],
|
|
2845
|
+
BORDER_COLOR: ['border-image', '-webkit-border-image', 'border', 'border-top', 'border-right', 'border-bottom', 'border-left', 'border-color', 'border-top-color', 'border-right-color', 'border-bottom-color', 'border-left-color', 'border-block-color', 'border-block-start-color', 'border-block-end-color', 'border-inline-color', 'border-inline-start-color', 'border-inline-end-color', 'outline', 'outline-color', 'box-shadow', // TODO: 不知道为啥之前没处理,后面需要留意下
|
|
2846
|
+
'column-rule', 'column-rule-color'] // SVG_COLOR: [ // TODO: SVG后面再处理
|
|
2847
|
+
// 'fill',
|
|
2848
|
+
// 'stroke',
|
|
2849
|
+
// 'stop-color',
|
|
2850
|
+
// 'flood-color',
|
|
2851
|
+
// 'lighting-color',
|
|
2852
|
+
// ],
|
|
2853
|
+
// FILTER: [ // TODO: filter后面再考虑要不要处理
|
|
2854
|
+
// 'filter'
|
|
2855
|
+
// ],
|
|
2856
|
+
|
|
2857
|
+
};
|
|
2858
|
+
var CSS_PROP_LIST = Object.keys(CSS_PROP_SERIES).map(function (key) {
|
|
2859
|
+
return CSS_PROP_SERIES[key].join('|');
|
|
2860
|
+
}).join('|').split('|'); // 支持的css属性平铺列表
|
|
2861
|
+
|
|
2838
2862
|
var TABLE_NAME = ['TABLE', 'TR', 'TD', 'TH']; // 支持bgcolor属性的table标签列表
|
|
2839
2863
|
|
|
2840
2864
|
var IMPORTANT_REGEXP = / !important$/; // !important
|
|
@@ -3827,8 +3851,8 @@ var SDK = /*#__PURE__*/function () {
|
|
|
3827
3851
|
|
|
3828
3852
|
var hasInlineBackground = false;
|
|
3829
3853
|
var hasInlineBackgroundImage = false;
|
|
3830
|
-
var elBackgroundPositionAttr;
|
|
3831
|
-
var elBackgroundSizeAttr;
|
|
3854
|
+
var elBackgroundPositionAttr = null;
|
|
3855
|
+
var elBackgroundSizeAttr = null;
|
|
3832
3856
|
cssKVList = cssKVList.filter(function (_ref) {
|
|
3833
3857
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
3834
3858
|
key = _ref2[0],
|
|
@@ -3851,7 +3875,7 @@ var SDK = /*#__PURE__*/function () {
|
|
|
3851
3875
|
} // 过滤掉一些key
|
|
3852
3876
|
|
|
3853
3877
|
|
|
3854
|
-
return [
|
|
3878
|
+
return _constant__WEBPACK_IMPORTED_MODULE_2__["CSS_PROP_LIST"].indexOf(key) > -1;
|
|
3855
3879
|
}).sort(function (_ref3, _ref4) {
|
|
3856
3880
|
var _ref5 = _slicedToArray(_ref3, 1),
|
|
3857
3881
|
key1 = _ref5[0];
|
|
@@ -3997,10 +4021,10 @@ var SDK = /*#__PURE__*/function () {
|
|
|
3997
4021
|
var oldValue = value;
|
|
3998
4022
|
var cssChange = false; // 找出色值来处理
|
|
3999
4023
|
|
|
4000
|
-
var isBgColor =
|
|
4001
|
-
var isTextShadow = key
|
|
4002
|
-
var textColorIdx = [
|
|
4003
|
-
var isBorderColor =
|
|
4024
|
+
var isBgColor = _constant__WEBPACK_IMPORTED_MODULE_2__["CSS_PROP_SERIES"].BG_COLOR.indexOf(key) > -1;
|
|
4025
|
+
var isTextShadow = _constant__WEBPACK_IMPORTED_MODULE_2__["CSS_PROP_SERIES"].TEXT_SHADOW.indexOf(key) > -1;
|
|
4026
|
+
var textColorIdx = _constant__WEBPACK_IMPORTED_MODULE_2__["CSS_PROP_SERIES"].TEXT_COLOR.indexOf(key);
|
|
4027
|
+
var isBorderColor = _constant__WEBPACK_IMPORTED_MODULE_2__["CSS_PROP_SERIES"].BORDER_COLOR.indexOf(key) > -1;
|
|
4004
4028
|
var isGradient = /gradient/.test(value);
|
|
4005
4029
|
var gradientColors = [];
|
|
4006
4030
|
var extStyle = '';
|
|
@@ -4046,8 +4070,8 @@ var SDK = /*#__PURE__*/function () {
|
|
|
4046
4070
|
var retColor = !hasInlineBackgroundImage && ret.newColor;
|
|
4047
4071
|
extStyle += ret.extStyle; // 对背景颜色和文字颜色做继承传递,用于文字亮度计算
|
|
4048
4072
|
|
|
4049
|
-
if (isBgColor || textColorIdx >
|
|
4050
|
-
//
|
|
4073
|
+
if (isBgColor || textColorIdx > 3) {
|
|
4074
|
+
// 只处理color及之后的属性
|
|
4051
4075
|
var retColorStr = retColor ? retColor.toString() : match;
|
|
4052
4076
|
replaceIndex === 0 && Object(_domUtils__WEBPACK_IMPORTED_MODULE_5__["getChildrenAndIt"])(el).forEach(function (dom) {
|
|
4053
4077
|
if (isBgColor) {
|
|
@@ -4056,6 +4080,7 @@ var SDK = /*#__PURE__*/function () {
|
|
|
4056
4080
|
} else {
|
|
4057
4081
|
dom[_constant__WEBPACK_IMPORTED_MODULE_2__["COLORATTR"]] = retColorStr;
|
|
4058
4082
|
dom[_constant__WEBPACK_IMPORTED_MODULE_2__["ORIGINAL_COLORATTR"]] = match;
|
|
4083
|
+
dom.setAttribute(_constant__WEBPACK_IMPORTED_MODULE_2__["ORIGINAL_COLORATTR"], match);
|
|
4059
4084
|
} // 如果设置背景颜色,取消背景图片的影响
|
|
4060
4085
|
|
|
4061
4086
|
|
|
@@ -4086,14 +4111,13 @@ var SDK = /*#__PURE__*/function () {
|
|
|
4086
4111
|
|
|
4087
4112
|
if ((isBackgroundAttr || isBorderImageAttr) && /url\([^)]*\)/i.test(value)) {
|
|
4088
4113
|
cssChange = true;
|
|
4089
|
-
var imgBgColor = mixColor((el[_constant__WEBPACK_IMPORTED_MODULE_2__["ORIGINAL_BGCOLORATTR"]] || _config__WEBPACK_IMPORTED_MODULE_3__["default"].defaultLightBgColor).split(_constant__WEBPACK_IMPORTED_MODULE_2__["BG_COLOR_DELIMITER"])); //
|
|
4114
|
+
var imgBgColor = mixColor((el[_constant__WEBPACK_IMPORTED_MODULE_2__["ORIGINAL_BGCOLORATTR"]] || _config__WEBPACK_IMPORTED_MODULE_3__["default"].defaultLightBgColor).split(_constant__WEBPACK_IMPORTED_MODULE_2__["BG_COLOR_DELIMITER"])); // const imgBgColor = el[BGCOLORATTR] || config.defaultLightBgColor;
|
|
4115
|
+
// 在背景图片下加一层原背景颜色:
|
|
4090
4116
|
// background-image使用多层背景(注意background-position也要多加一层 https://www.w3.org/TR/css-backgrounds-3/#layering);
|
|
4091
4117
|
// border-image不支持多层背景,需要添加background-color
|
|
4092
4118
|
|
|
4093
4119
|
value = value.replace(/^(.*?)url\(([^)]*)\)(.*)$/i, function (matches) {
|
|
4094
4120
|
var newValue = matches;
|
|
4095
|
-
var newBackgroundPositionValue = '';
|
|
4096
|
-
var newBackgroundSizeValue = '';
|
|
4097
4121
|
var tmpCssKvStr = '';
|
|
4098
4122
|
|
|
4099
4123
|
if (!el[_constant__WEBPACK_IMPORTED_MODULE_2__["BGIMAGEATTR"]]) {
|
|
@@ -4108,15 +4132,13 @@ var SDK = /*#__PURE__*/function () {
|
|
|
4108
4132
|
tmpCssKvStr = _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV(key, imgBgColor ? "".concat(newValue, ",linear-gradient(").concat(imgBgColor, ", ").concat(imgBgColor, ")") : newValue);
|
|
4109
4133
|
|
|
4110
4134
|
if (elBackgroundPositionAttr) {
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
tmpCssKvStr += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-position', "".concat(newBackgroundPositionValue, ",top left"));
|
|
4135
|
+
cssKV += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-position', elBackgroundPositionAttr);
|
|
4136
|
+
tmpCssKvStr += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-position', imgBgColor ? "".concat(elBackgroundPositionAttr, ",top left") : elBackgroundPositionAttr);
|
|
4114
4137
|
}
|
|
4115
4138
|
|
|
4116
4139
|
if (elBackgroundSizeAttr) {
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
tmpCssKvStr += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-size', "".concat(newBackgroundSizeValue, ",100%"));
|
|
4140
|
+
cssKV += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-size', elBackgroundSizeAttr);
|
|
4141
|
+
tmpCssKvStr += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-size', imgBgColor ? "".concat(elBackgroundSizeAttr, ",100%") : elBackgroundSizeAttr);
|
|
4120
4142
|
}
|
|
4121
4143
|
|
|
4122
4144
|
if (dmBgClassName) {
|