mp-darkmode 1.1.8 → 1.1.10
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 +40 -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 >= 5) {
|
|
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) {
|
|
@@ -4086,14 +4110,13 @@ var SDK = /*#__PURE__*/function () {
|
|
|
4086
4110
|
|
|
4087
4111
|
if ((isBackgroundAttr || isBorderImageAttr) && /url\([^)]*\)/i.test(value)) {
|
|
4088
4112
|
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"])); //
|
|
4113
|
+
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;
|
|
4114
|
+
// 在背景图片下加一层原背景颜色:
|
|
4090
4115
|
// background-image使用多层背景(注意background-position也要多加一层 https://www.w3.org/TR/css-backgrounds-3/#layering);
|
|
4091
4116
|
// border-image不支持多层背景,需要添加background-color
|
|
4092
4117
|
|
|
4093
4118
|
value = value.replace(/^(.*?)url\(([^)]*)\)(.*)$/i, function (matches) {
|
|
4094
4119
|
var newValue = matches;
|
|
4095
|
-
var newBackgroundPositionValue = '';
|
|
4096
|
-
var newBackgroundSizeValue = '';
|
|
4097
4120
|
var tmpCssKvStr = '';
|
|
4098
4121
|
|
|
4099
4122
|
if (!el[_constant__WEBPACK_IMPORTED_MODULE_2__["BGIMAGEATTR"]]) {
|
|
@@ -4108,15 +4131,13 @@ var SDK = /*#__PURE__*/function () {
|
|
|
4108
4131
|
tmpCssKvStr = _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV(key, imgBgColor ? "".concat(newValue, ",linear-gradient(").concat(imgBgColor, ", ").concat(imgBgColor, ")") : newValue);
|
|
4109
4132
|
|
|
4110
4133
|
if (elBackgroundPositionAttr) {
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
tmpCssKvStr += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-position', "".concat(newBackgroundPositionValue, ",top left"));
|
|
4134
|
+
cssKV += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-position', elBackgroundPositionAttr);
|
|
4135
|
+
tmpCssKvStr += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-position', imgBgColor ? "".concat(elBackgroundPositionAttr, ",top left") : elBackgroundPositionAttr);
|
|
4114
4136
|
}
|
|
4115
4137
|
|
|
4116
4138
|
if (elBackgroundSizeAttr) {
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
tmpCssKvStr += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-size', "".concat(newBackgroundSizeValue, ",100%"));
|
|
4139
|
+
cssKV += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-size', elBackgroundSizeAttr);
|
|
4140
|
+
tmpCssKvStr += _global__WEBPACK_IMPORTED_MODULE_4__["cssUtils"].genCssKV('background-size', imgBgColor ? "".concat(elBackgroundSizeAttr, ",100%") : elBackgroundSizeAttr);
|
|
4120
4141
|
}
|
|
4121
4142
|
|
|
4122
4143
|
if (dmBgClassName) {
|