@whitesev/pops 2.0.3 → 2.0.5
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/index.amd.js +141 -112
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +141 -112
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +141 -112
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +141 -112
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +141 -112
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +141 -112
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/Pops.d.ts +3 -3
- package/dist/types/src/components/searchSuggestion/indexType.d.ts +1 -1
- package/dist/types/src/types/event.d.ts +3 -3
- package/dist/types/src/types/mask.d.ts +1 -1
- package/dist/types/src/utils/PopsInstanceUtils.d.ts +3 -3
- package/package.json +1 -1
- package/src/Pops.ts +1 -1
- package/src/components/loading/index.ts +6 -0
- package/src/components/searchSuggestion/indexType.ts +1 -1
- package/src/handler/PopsHandler.ts +9 -11
- package/src/types/event.d.ts +3 -3
- package/src/types/mask.d.ts +1 -1
- package/src/utils/PopsDOMUtils.ts +21 -19
- package/src/utils/PopsInstanceUtils.ts +120 -96
package/dist/index.amd.js
CHANGED
|
@@ -1221,30 +1221,32 @@ define((function () { 'use strict';
|
|
|
1221
1221
|
if (element == null) {
|
|
1222
1222
|
return;
|
|
1223
1223
|
}
|
|
1224
|
+
let setStyleProperty = (propertyName, propertyValue) => {
|
|
1225
|
+
if (typeof propertyValue === "string" &&
|
|
1226
|
+
propertyValue.trim().endsWith("!important")) {
|
|
1227
|
+
propertyValue = propertyValue
|
|
1228
|
+
.trim()
|
|
1229
|
+
.replace(/!important$/gi, "")
|
|
1230
|
+
.trim();
|
|
1231
|
+
element.style.setProperty(propertyName, propertyValue, "important");
|
|
1232
|
+
}
|
|
1233
|
+
else {
|
|
1234
|
+
propertyValue = handlePixe(propertyName, propertyValue);
|
|
1235
|
+
element.style.setProperty(propertyName, propertyValue);
|
|
1236
|
+
}
|
|
1237
|
+
};
|
|
1224
1238
|
if (typeof property === "string") {
|
|
1225
1239
|
if (value == null) {
|
|
1226
1240
|
return getComputedStyle(element).getPropertyValue(property);
|
|
1227
1241
|
}
|
|
1228
1242
|
else {
|
|
1229
|
-
|
|
1230
|
-
element.style.setProperty(property, value, "important");
|
|
1231
|
-
}
|
|
1232
|
-
else {
|
|
1233
|
-
value = handlePixe(property, value);
|
|
1234
|
-
element.style.setProperty(property, value);
|
|
1235
|
-
}
|
|
1243
|
+
setStyleProperty(property, value);
|
|
1236
1244
|
}
|
|
1237
1245
|
}
|
|
1238
1246
|
else if (typeof property === "object") {
|
|
1239
1247
|
for (let prop in property) {
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
element.style.setProperty(prop, property[prop], "important");
|
|
1243
|
-
}
|
|
1244
|
-
else {
|
|
1245
|
-
property[prop] = handlePixe(prop, property[prop]);
|
|
1246
|
-
element.style.setProperty(prop, property[prop]);
|
|
1247
|
-
}
|
|
1248
|
+
let value = property[prop];
|
|
1249
|
+
setStyleProperty(prop, value);
|
|
1248
1250
|
}
|
|
1249
1251
|
}
|
|
1250
1252
|
}
|
|
@@ -1903,31 +1905,37 @@ define((function () { 'use strict';
|
|
|
1903
1905
|
* @param maskElement
|
|
1904
1906
|
*/
|
|
1905
1907
|
hide(popsType, layerConfigList, guid, config, animElement, maskElement) {
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1908
|
+
return new Promise((resolve) => {
|
|
1909
|
+
let popsElement = animElement.querySelector(".pops[type-value]");
|
|
1910
|
+
if (popsType === "drawer") {
|
|
1911
|
+
let drawerConfig = config;
|
|
1912
|
+
setTimeout(() => {
|
|
1913
|
+
maskElement.style.setProperty("display", "none");
|
|
1914
|
+
if (["top", "bottom"].includes(drawerConfig.direction)) {
|
|
1915
|
+
popsElement.style.setProperty("height", "0");
|
|
1916
|
+
}
|
|
1917
|
+
else if (["left", "right"].includes(drawerConfig.direction)) {
|
|
1918
|
+
popsElement.style.setProperty("width", "0");
|
|
1919
|
+
}
|
|
1920
|
+
else {
|
|
1921
|
+
console.error("未知direction:", drawerConfig.direction);
|
|
1922
|
+
}
|
|
1923
|
+
resolve();
|
|
1924
|
+
}, drawerConfig.closeDelay);
|
|
1925
|
+
}
|
|
1926
|
+
else {
|
|
1927
|
+
let findLayerIns = layerConfigList.find((layerConfigItem) => layerConfigItem.guid === guid);
|
|
1928
|
+
if (findLayerIns) {
|
|
1925
1929
|
/* 存在动画 */
|
|
1930
|
+
let layerConfigItem = findLayerIns;
|
|
1926
1931
|
layerConfigItem.animElement.style.width = "100%";
|
|
1927
1932
|
layerConfigItem.animElement.style.height = "100%";
|
|
1928
1933
|
layerConfigItem.animElement.style["animation-name"] =
|
|
1929
1934
|
layerConfigItem.animElement.getAttribute("anim") + "-reverse";
|
|
1930
1935
|
if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.style["animation-name"])) {
|
|
1936
|
+
/**
|
|
1937
|
+
* 动画结束的回调
|
|
1938
|
+
*/
|
|
1931
1939
|
function animationendCallBack() {
|
|
1932
1940
|
layerConfigItem.animElement.style.display = "none";
|
|
1933
1941
|
if (layerConfigItem.maskElement) {
|
|
@@ -1936,6 +1944,7 @@ define((function () { 'use strict';
|
|
|
1936
1944
|
popsDOMUtils.off(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {
|
|
1937
1945
|
capture: true,
|
|
1938
1946
|
});
|
|
1947
|
+
resolve();
|
|
1939
1948
|
}
|
|
1940
1949
|
popsDOMUtils.on(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {
|
|
1941
1950
|
capture: true,
|
|
@@ -1946,11 +1955,11 @@ define((function () { 'use strict';
|
|
|
1946
1955
|
if (layerConfigItem.maskElement) {
|
|
1947
1956
|
layerConfigItem.maskElement.style.display = "none";
|
|
1948
1957
|
}
|
|
1958
|
+
resolve();
|
|
1949
1959
|
}
|
|
1950
|
-
return;
|
|
1951
1960
|
}
|
|
1952
|
-
}
|
|
1953
|
-
}
|
|
1961
|
+
}
|
|
1962
|
+
});
|
|
1954
1963
|
},
|
|
1955
1964
|
/**
|
|
1956
1965
|
* 显示
|
|
@@ -1962,27 +1971,30 @@ define((function () { 'use strict';
|
|
|
1962
1971
|
* @param maskElement
|
|
1963
1972
|
*/
|
|
1964
1973
|
show(popsType, layerConfigList, guid, config, animElement, maskElement) {
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1974
|
+
return new Promise((resolve) => {
|
|
1975
|
+
let popsElement = animElement.querySelector(".pops[type-value]");
|
|
1976
|
+
if (popsType === "drawer") {
|
|
1977
|
+
let drawerConfig = config;
|
|
1978
|
+
setTimeout(() => {
|
|
1979
|
+
popsDOMUtils.css(maskElement, "display", "");
|
|
1980
|
+
let direction = drawerConfig.direction;
|
|
1981
|
+
let size = drawerConfig.size.toString();
|
|
1982
|
+
if (["top", "bottom"].includes(direction)) {
|
|
1983
|
+
popsElement.style.setProperty("height", size);
|
|
1984
|
+
}
|
|
1985
|
+
else if (["left", "right"].includes(direction)) {
|
|
1986
|
+
popsElement.style.setProperty("width", size);
|
|
1987
|
+
}
|
|
1988
|
+
else {
|
|
1989
|
+
console.error("未知direction:", direction);
|
|
1990
|
+
}
|
|
1991
|
+
resolve();
|
|
1992
|
+
}, drawerConfig.openDelay);
|
|
1993
|
+
}
|
|
1994
|
+
else {
|
|
1995
|
+
let findLayerIns = layerConfigList.find((layerConfigItem) => layerConfigItem.guid === guid);
|
|
1996
|
+
if (findLayerIns) {
|
|
1997
|
+
let layerConfigItem = findLayerIns;
|
|
1986
1998
|
layerConfigItem.animElement.style.width = "";
|
|
1987
1999
|
layerConfigItem.animElement.style.height = "";
|
|
1988
2000
|
layerConfigItem.animElement.style["animation-name"] =
|
|
@@ -1990,14 +2002,18 @@ define((function () { 'use strict';
|
|
|
1990
2002
|
.animElement.getAttribute("anim")
|
|
1991
2003
|
.replace("-reverse", "");
|
|
1992
2004
|
if (pops.config.animation.hasOwnProperty(layerConfigItem.animElement.style["animation-name"])) {
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
}
|
|
2005
|
+
/**
|
|
2006
|
+
* 动画结束的回调
|
|
2007
|
+
*/
|
|
1997
2008
|
function animationendCallBack() {
|
|
1998
2009
|
popsDOMUtils.off(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {
|
|
1999
2010
|
capture: true,
|
|
2000
2011
|
});
|
|
2012
|
+
resolve();
|
|
2013
|
+
}
|
|
2014
|
+
layerConfigItem.animElement.style.display = "";
|
|
2015
|
+
if (layerConfigItem.maskElement) {
|
|
2016
|
+
layerConfigItem.maskElement.style.display = "";
|
|
2001
2017
|
}
|
|
2002
2018
|
popsDOMUtils.on(layerConfigItem.animElement, popsDOMUtils.getAnimationEndNameList(), animationendCallBack, {
|
|
2003
2019
|
capture: true,
|
|
@@ -2008,11 +2024,11 @@ define((function () { 'use strict';
|
|
|
2008
2024
|
if (layerConfigItem.maskElement) {
|
|
2009
2025
|
layerConfigItem.maskElement.style.display = "";
|
|
2010
2026
|
}
|
|
2027
|
+
resolve();
|
|
2011
2028
|
}
|
|
2012
2029
|
}
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
}
|
|
2030
|
+
}
|
|
2031
|
+
});
|
|
2016
2032
|
},
|
|
2017
2033
|
/**
|
|
2018
2034
|
* 关闭
|
|
@@ -2023,50 +2039,57 @@ define((function () { 'use strict';
|
|
|
2023
2039
|
* @param animElement
|
|
2024
2040
|
*/
|
|
2025
2041
|
close(popsType, layerConfigList, guid, config, animElement) {
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
function
|
|
2033
|
-
|
|
2042
|
+
return new Promise((resolve) => {
|
|
2043
|
+
let popsElement = animElement.querySelector(".pops[type-value]");
|
|
2044
|
+
let drawerConfig = config;
|
|
2045
|
+
/**
|
|
2046
|
+
* 动画结束事件
|
|
2047
|
+
*/
|
|
2048
|
+
function transitionendEvent() {
|
|
2049
|
+
/**
|
|
2050
|
+
* 弹窗已关闭的回调
|
|
2051
|
+
*/
|
|
2052
|
+
function closeCallBack(event) {
|
|
2053
|
+
if (event.propertyName !== "transform") {
|
|
2054
|
+
return;
|
|
2055
|
+
}
|
|
2056
|
+
popsDOMUtils.off(popsElement, popsDOMUtils.getTransitionEndNameList(), void 0, closeCallBack);
|
|
2057
|
+
PopsInstanceUtils.removeInstance([layerConfigList], guid);
|
|
2058
|
+
resolve();
|
|
2059
|
+
}
|
|
2060
|
+
/* 监听过渡结束 */
|
|
2061
|
+
popsDOMUtils.on(popsElement, popsDOMUtils.getTransitionEndNameList(), closeCallBack);
|
|
2062
|
+
let popsTransForm = getComputedStyle(popsElement).transform;
|
|
2063
|
+
if (popsTransForm !== "none") {
|
|
2064
|
+
popsDOMUtils.trigger(popsElement, popsDOMUtils.getTransitionEndNameList(), void 0, true);
|
|
2034
2065
|
return;
|
|
2035
2066
|
}
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
}
|
|
2052
|
-
else if (["left"].includes(drawerConfig.direction)) {
|
|
2053
|
-
popsElement.style.setProperty("transform", "translateX(-100%)");
|
|
2067
|
+
if (["top"].includes(drawerConfig.direction)) {
|
|
2068
|
+
popsElement.style.setProperty("transform", "translateY(-100%)");
|
|
2069
|
+
}
|
|
2070
|
+
else if (["bottom"].includes(drawerConfig.direction)) {
|
|
2071
|
+
popsElement.style.setProperty("transform", "translateY(100%)");
|
|
2072
|
+
}
|
|
2073
|
+
else if (["left"].includes(drawerConfig.direction)) {
|
|
2074
|
+
popsElement.style.setProperty("transform", "translateX(-100%)");
|
|
2075
|
+
}
|
|
2076
|
+
else if (["right"].includes(drawerConfig.direction)) {
|
|
2077
|
+
popsElement.style.setProperty("transform", "translateX(100%)");
|
|
2078
|
+
}
|
|
2079
|
+
else {
|
|
2080
|
+
console.error("未知direction:", drawerConfig.direction);
|
|
2081
|
+
}
|
|
2054
2082
|
}
|
|
2055
|
-
|
|
2056
|
-
|
|
2083
|
+
if (popsType === "drawer") {
|
|
2084
|
+
setTimeout(() => {
|
|
2085
|
+
transitionendEvent();
|
|
2086
|
+
}, drawerConfig.closeDelay);
|
|
2057
2087
|
}
|
|
2058
2088
|
else {
|
|
2059
|
-
|
|
2089
|
+
PopsInstanceUtils.removeInstance([layerConfigList], guid);
|
|
2090
|
+
resolve();
|
|
2060
2091
|
}
|
|
2061
|
-
}
|
|
2062
|
-
if (popsType === "drawer") {
|
|
2063
|
-
setTimeout(() => {
|
|
2064
|
-
transitionendEvent();
|
|
2065
|
-
}, drawerConfig.closeDelay);
|
|
2066
|
-
}
|
|
2067
|
-
else {
|
|
2068
|
-
PopsInstanceUtils.removeInstance([layerConfigList], guid);
|
|
2069
|
-
}
|
|
2092
|
+
});
|
|
2070
2093
|
},
|
|
2071
2094
|
/**
|
|
2072
2095
|
* 拖拽元素
|
|
@@ -2795,11 +2818,11 @@ define((function () { 'use strict';
|
|
|
2795
2818
|
function originalRun() {
|
|
2796
2819
|
if (details.config.mask.clickEvent.toClose) {
|
|
2797
2820
|
/* 关闭 */
|
|
2798
|
-
PopsInstanceUtils.close(details.type, targetLayer, details.guid, details.config, details.animElement);
|
|
2821
|
+
return PopsInstanceUtils.close(details.type, targetLayer, details.guid, details.config, details.animElement);
|
|
2799
2822
|
}
|
|
2800
2823
|
else if (details.config.mask.clickEvent.toHide) {
|
|
2801
2824
|
/* 隐藏 */
|
|
2802
|
-
PopsInstanceUtils.hide(details.type, targetLayer, details.guid, details.config, details.animElement, result.maskElement);
|
|
2825
|
+
return PopsInstanceUtils.hide(details.type, targetLayer, details.guid, details.config, details.animElement, result.maskElement);
|
|
2803
2826
|
}
|
|
2804
2827
|
}
|
|
2805
2828
|
if (typeof details.config.mask.clickCallBack === "function") {
|
|
@@ -2978,13 +3001,13 @@ define((function () { 'use strict';
|
|
|
2978
3001
|
mode: mode,
|
|
2979
3002
|
guid: guid,
|
|
2980
3003
|
close() {
|
|
2981
|
-
PopsInstanceUtils.close(mode, pops.config.layer[mode], guid, config, animElement);
|
|
3004
|
+
return PopsInstanceUtils.close(mode, pops.config.layer[mode], guid, config, animElement);
|
|
2982
3005
|
},
|
|
2983
3006
|
hide() {
|
|
2984
|
-
PopsInstanceUtils.hide(mode, pops.config.layer[mode], guid, config, animElement, maskElement);
|
|
3007
|
+
return PopsInstanceUtils.hide(mode, pops.config.layer[mode], guid, config, animElement, maskElement);
|
|
2985
3008
|
},
|
|
2986
3009
|
show() {
|
|
2987
|
-
PopsInstanceUtils.show(mode, pops.config.layer[mode], guid, config, animElement, maskElement);
|
|
3010
|
+
return PopsInstanceUtils.show(mode, pops.config.layer[mode], guid, config, animElement, maskElement);
|
|
2988
3011
|
},
|
|
2989
3012
|
};
|
|
2990
3013
|
},
|
|
@@ -3006,13 +3029,13 @@ define((function () { 'use strict';
|
|
|
3006
3029
|
mode: mode,
|
|
3007
3030
|
guid: guid,
|
|
3008
3031
|
close() {
|
|
3009
|
-
PopsInstanceUtils.close(mode, pops.config.layer[mode], guid, config, animElement);
|
|
3032
|
+
return PopsInstanceUtils.close(mode, pops.config.layer[mode], guid, config, animElement);
|
|
3010
3033
|
},
|
|
3011
3034
|
hide() {
|
|
3012
|
-
PopsInstanceUtils.hide(mode, pops.config.layer[mode], guid, config, animElement, maskElement);
|
|
3035
|
+
return PopsInstanceUtils.hide(mode, pops.config.layer[mode], guid, config, animElement, maskElement);
|
|
3013
3036
|
},
|
|
3014
3037
|
show() {
|
|
3015
|
-
PopsInstanceUtils.show(mode, pops.config.layer[mode], guid, config, animElement, maskElement);
|
|
3038
|
+
return PopsInstanceUtils.show(mode, pops.config.layer[mode], guid, config, animElement, maskElement);
|
|
3016
3039
|
},
|
|
3017
3040
|
};
|
|
3018
3041
|
},
|
|
@@ -3761,6 +3784,9 @@ define((function () { 'use strict';
|
|
|
3761
3784
|
* 弹窗的主元素,包括动画层
|
|
3762
3785
|
*/
|
|
3763
3786
|
let $anim = PopsElementHandler.parseElement(animHTML);
|
|
3787
|
+
// 遮罩层必须是跟随主内容
|
|
3788
|
+
// 即设置主内容position: relative,mask:position: absolute
|
|
3789
|
+
popsDOMUtils.css($anim, "position", "absolute !important");
|
|
3764
3790
|
let { popsElement: $pops } = PopsHandler.handleQueryElement($anim, PopsType);
|
|
3765
3791
|
/**
|
|
3766
3792
|
* 遮罩层元素
|
|
@@ -3780,6 +3806,9 @@ define((function () { 'use strict';
|
|
|
3780
3806
|
maskHTML: maskHTML,
|
|
3781
3807
|
});
|
|
3782
3808
|
$mask = _handleMask_.maskElement;
|
|
3809
|
+
// 遮罩层必须是跟随主内容
|
|
3810
|
+
// 即设置主内容position: relative,mask:position: absolute
|
|
3811
|
+
popsDOMUtils.css($mask, "position", "absolute !important");
|
|
3783
3812
|
elementList.push($mask);
|
|
3784
3813
|
}
|
|
3785
3814
|
let eventDetails = PopsHandler.handleLoadingEventDetails(guid, PopsType, $anim, $pops, $mask, config);
|
|
@@ -10054,7 +10083,7 @@ define((function () { 'use strict';
|
|
|
10054
10083
|
/** 配置 */
|
|
10055
10084
|
config = {
|
|
10056
10085
|
/** 版本号 */
|
|
10057
|
-
version: "2025.5.
|
|
10086
|
+
version: "2025.5.12",
|
|
10058
10087
|
cssText: {
|
|
10059
10088
|
/** 主CSS */
|
|
10060
10089
|
index: indexCSS,
|