@whitesev/domutils 1.5.11 → 1.6.1

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.esm.js CHANGED
@@ -278,7 +278,7 @@ const createLoadOrReturnBroker = (loadBroker, worker) => {
278
278
  };
279
279
 
280
280
  // This is the minified and stringified code of the worker-timers-worker package.
281
- const worker = `(()=>{var e={455:function(e,t){!function(e){"use strict";var t=function(e){return function(t){var r=e(t);return t.add(r),r}},r=function(e){return function(t,r){return e.set(t,r),r}},n=void 0===Number.MAX_SAFE_INTEGER?9007199254740991:Number.MAX_SAFE_INTEGER,o=536870912,s=2*o,a=function(e,t){return function(r){var a=t.get(r),i=void 0===a?r.size:a<s?a+1:0;if(!r.has(i))return e(r,i);if(r.size<o){for(;r.has(i);)i=Math.floor(Math.random()*s);return e(r,i)}if(r.size>n)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;r.has(i);)i=Math.floor(Math.random()*n);return e(r,i)}},i=new WeakMap,u=r(i),c=a(u,i),d=t(c);e.addUniqueNumber=d,e.generateUniqueNumber=c}(t)}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}(()=>{"use strict";const e=-32603,t=-32602,n=-32601,o=(e,t)=>Object.assign(new Error(e),{status:t}),s=t=>o('The handler of the method called "'.concat(t,'" returned an unexpected result.'),e),a=(t,r)=>async({data:{id:a,method:i,params:u}})=>{const c=r[i];try{if(void 0===c)throw(e=>o('The requested method called "'.concat(e,'" is not supported.'),n))(i);const r=void 0===u?c():c(u);if(void 0===r)throw(t=>o('The handler of the method called "'.concat(t,'" returned no required result.'),e))(i);const d=r instanceof Promise?await r:r;if(null===a){if(void 0!==d.result)throw s(i)}else{if(void 0===d.result)throw s(i);const{result:e,transferables:r=[]}=d;t.postMessage({id:a,result:e},r)}}catch(e){const{message:r,status:n=-32603}=e;t.postMessage({error:{code:n,message:r},id:a})}};var i=r(455);const u=new Map,c=(e,r,n)=>({...r,connect:({port:t})=>{t.start();const n=e(t,r),o=(0,i.generateUniqueNumber)(u);return u.set(o,(()=>{n(),t.close(),u.delete(o)})),{result:o}},disconnect:({portId:e})=>{const r=u.get(e);if(void 0===r)throw(e=>o('The specified parameter called "portId" with the given value "'.concat(e,'" does not identify a port connected to this worker.'),t))(e);return r(),{result:null}},isSupported:async()=>{if(await new Promise((e=>{const t=new ArrayBuffer(0),{port1:r,port2:n}=new MessageChannel;r.onmessage=({data:t})=>e(null!==t),n.postMessage(t,[t])}))){const e=n();return{result:e instanceof Promise?await e:e}}return{result:!1}}}),d=(e,t,r=()=>!0)=>{const n=c(d,t,r),o=a(e,n);return e.addEventListener("message",o),()=>e.removeEventListener("message",o)},l=e=>t=>{const r=e.get(t);if(void 0===r)return Promise.resolve(!1);const[n,o]=r;return clearTimeout(n),e.delete(t),o(!1),Promise.resolve(!0)},f=(e,t,r)=>(n,o,s)=>{const{expected:a,remainingDelay:i}=e(n,o);return new Promise((e=>{t.set(s,[setTimeout(r,i,a,t,e,s),e])}))},m=(e,t)=>{const r=performance.now(),n=e+t-r-performance.timeOrigin;return{expected:r+n,remainingDelay:n}},p=(e,t,r,n)=>{const o=e-performance.now();o>0?t.set(n,[setTimeout(p,o,e,t,r,n),r]):(t.delete(n),r(!0))},h=new Map,v=l(h),w=new Map,g=l(w),M=f(m,h,p),y=f(m,w,p);d(self,{clear:async({timerId:e,timerType:t})=>({result:await("interval"===t?v(e):g(e))}),set:async({delay:e,now:t,timerId:r,timerType:n})=>({result:await("interval"===n?M:y)(e,t,r)})})})()})();`; // tslint:disable-line:max-line-length
281
+ const worker = `(()=>{var e={455:function(e,t){!function(e){"use strict";var t=function(e){return function(t){var r=e(t);return t.add(r),r}},r=function(e){return function(t,r){return e.set(t,r),r}},n=void 0===Number.MAX_SAFE_INTEGER?9007199254740991:Number.MAX_SAFE_INTEGER,o=536870912,s=2*o,a=function(e,t){return function(r){var a=t.get(r),i=void 0===a?r.size:a<s?a+1:0;if(!r.has(i))return e(r,i);if(r.size<o){for(;r.has(i);)i=Math.floor(Math.random()*s);return e(r,i)}if(r.size>n)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;r.has(i);)i=Math.floor(Math.random()*n);return e(r,i)}},i=new WeakMap,u=r(i),c=a(u,i),l=t(c);e.addUniqueNumber=l,e.generateUniqueNumber=c}(t)}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}(()=>{"use strict";const e=-32603,t=-32602,n=-32601,o=(e,t)=>Object.assign(new Error(e),{status:t}),s=t=>o('The handler of the method called "'.concat(t,'" returned an unexpected result.'),e),a=(t,r)=>async({data:{id:a,method:i,params:u}})=>{const c=r[i];try{if(void 0===c)throw(e=>o('The requested method called "'.concat(e,'" is not supported.'),n))(i);const r=void 0===u?c():c(u);if(void 0===r)throw(t=>o('The handler of the method called "'.concat(t,'" returned no required result.'),e))(i);const l=r instanceof Promise?await r:r;if(null===a){if(void 0!==l.result)throw s(i)}else{if(void 0===l.result)throw s(i);const{result:e,transferables:r=[]}=l;t.postMessage({id:a,result:e},r)}}catch(e){const{message:r,status:n=-32603}=e;t.postMessage({error:{code:n,message:r},id:a})}};var i=r(455);const u=new Map,c=(e,r,n)=>({...r,connect:({port:t})=>{t.start();const n=e(t,r),o=(0,i.generateUniqueNumber)(u);return u.set(o,(()=>{n(),t.close(),u.delete(o)})),{result:o}},disconnect:({portId:e})=>{const r=u.get(e);if(void 0===r)throw(e=>o('The specified parameter called "portId" with the given value "'.concat(e,'" does not identify a port connected to this worker.'),t))(e);return r(),{result:null}},isSupported:async()=>{if(await new Promise((e=>{const t=new ArrayBuffer(0),{port1:r,port2:n}=new MessageChannel;r.onmessage=({data:t})=>e(null!==t),n.postMessage(t,[t])}))){const e=n();return{result:e instanceof Promise?await e:e}}return{result:!1}}}),l=(e,t,r=()=>!0)=>{const n=c(l,t,r),o=a(e,n);return e.addEventListener("message",o),()=>e.removeEventListener("message",o)},d=(e,t)=>r=>{const n=t.get(r);if(void 0===n)return Promise.resolve(!1);const[o,s]=n;return e(o),t.delete(r),s(!1),Promise.resolve(!0)},f=(e,t,r,n)=>(o,s,a)=>{const i=o+s-t.timeOrigin,u=i-t.now();return new Promise((t=>{e.set(a,[r(n,u,i,e,t,a),t])}))},m=new Map,h=d(globalThis.clearTimeout,m),p=new Map,v=d(globalThis.clearTimeout,p),w=((e,t)=>{const r=(n,o,s,a)=>{const i=n-e.now();i>0?o.set(a,[t(r,i,n,o,s,a),s]):(o.delete(a),s(!0))};return r})(performance,globalThis.setTimeout),g=f(m,performance,globalThis.setTimeout,w),T=f(p,performance,globalThis.setTimeout,w);l(self,{clear:async({timerId:e,timerType:t})=>({result:await("interval"===t?h(e):v(e))}),set:async({delay:e,now:t,timerId:r,timerType:n})=>({result:await("interval"===n?g:T)(e,t,r)})})})()})();`; // tslint:disable-line:max-line-length
282
282
 
283
283
  const loadOrReturnBroker = createLoadOrReturnBroker(load, worker);
284
284
  const clearInterval = (timerId) => loadOrReturnBroker().clearInterval(timerId);
@@ -478,6 +478,14 @@ const DOMUtilsCommonUtils = {
478
478
  isNodeList($ele) {
479
479
  return Array.isArray($ele) || $ele instanceof NodeList;
480
480
  },
481
+ /** 获取 animationend 在各个浏览器的兼容名 */
482
+ getAnimationEndNameList() {
483
+ return ["webkitAnimationEnd", "mozAnimationEnd", "MSAnimationEnd", "oanimationend", "animationend"];
484
+ },
485
+ /** 获取 transitionend 在各个浏览器的兼容名 */
486
+ getTransitionEndNameList() {
487
+ return ["webkitTransitionEnd", "mozTransitionEnd", "MSTransitionEnd", "otransitionend", "transitionend"];
488
+ },
481
489
  };
482
490
 
483
491
  /* 数据 */
@@ -600,8 +608,7 @@ class DOMUtilsEvent {
600
608
  : event.target;
601
609
  let totalParent = elementItem;
602
610
  if (DOMUtilsCommonUtils.isWin(totalParent)) {
603
- if (totalParent ===
604
- DOMUtilsContext.windowApi.document) {
611
+ if (totalParent === DOMUtilsContext.windowApi.document) {
605
612
  totalParent = DOMUtilsContext.windowApi.document.documentElement;
606
613
  }
607
614
  }
@@ -669,8 +676,7 @@ class DOMUtilsEvent {
669
676
  if (typeof currentParam === "boolean") {
670
677
  option.capture = currentParam;
671
678
  }
672
- else if (typeof currentParam === "object" &&
673
- "capture" in currentParam) {
679
+ else if (typeof currentParam === "object" && "capture" in currentParam) {
674
680
  option.capture = currentParam.capture;
675
681
  }
676
682
  return option;
@@ -732,8 +738,7 @@ class DOMUtilsEvent {
732
738
  // 目标函数、事件名
733
739
  isRemoveAll = true;
734
740
  }
735
- else if ((args.length === 3 && typeof args[2] === "string") ||
736
- Array.isArray(args[2])) {
741
+ else if ((args.length === 3 && typeof args[2] === "string") || Array.isArray(args[2])) {
737
742
  // 目标函数、事件名、子元素选择器
738
743
  isRemoveAll = true;
739
744
  }
@@ -748,9 +753,7 @@ class DOMUtilsEvent {
748
753
  for (let index = 0; index < handlers.length; index++) {
749
754
  let handler = handlers[index];
750
755
  let flag = true;
751
- if (flag &&
752
- listenerCallBack &&
753
- handler.originCallBack !== listenerCallBack) {
756
+ if (flag && listenerCallBack && handler.originCallBack !== listenerCallBack) {
754
757
  // callback不同
755
758
  flag = false;
756
759
  }
@@ -810,9 +813,7 @@ class DOMUtilsEvent {
810
813
  return;
811
814
  }
812
815
  let elementEvents = elementItem[symbolEvents] || {};
813
- let iterEventNameList = eventTypeList.length
814
- ? eventTypeList
815
- : Object.keys(elementEvents);
816
+ let iterEventNameList = eventTypeList.length ? eventTypeList : Object.keys(elementEvents);
816
817
  iterEventNameList.forEach((eventName) => {
817
818
  let handlers = elementEvents[eventName];
818
819
  if (!handlers) {
@@ -849,8 +850,7 @@ class DOMUtilsEvent {
849
850
  try {
850
851
  if (DOMUtilsContext.windowApi.document.readyState === "complete" ||
851
852
  (DOMUtilsContext.windowApi.document.readyState !== "loading" &&
852
- !DOMUtilsContext.windowApi.document.documentElement
853
- .doScroll)) {
853
+ !DOMUtilsContext.windowApi.document.documentElement.doScroll)) {
854
854
  return true;
855
855
  }
856
856
  else {
@@ -1111,6 +1111,76 @@ class DOMUtilsEvent {
1111
1111
  DOMUtilsContext.on(element, "mouseenter", null, handler, option);
1112
1112
  DOMUtilsContext.on(element, "mouseleave", null, handler, option);
1113
1113
  }
1114
+ /**
1115
+ * 当动画结束时触发事件
1116
+ * @param element 监听的元素
1117
+ * @param handler 触发的回调函数
1118
+ * @param option 配置项,这里默认配置once为true
1119
+ */
1120
+ animationend(element, handler, option) {
1121
+ let DOMUtilsContext = this;
1122
+ if (typeof element === "string") {
1123
+ element = DOMUtilsContext.selector(element);
1124
+ }
1125
+ if (element == null) {
1126
+ return;
1127
+ }
1128
+ if (DOMUtilsCommonUtils.isNodeList(element)) {
1129
+ // 设置
1130
+ element.forEach(($ele) => {
1131
+ DOMUtilsContext.animationend($ele, handler, option);
1132
+ });
1133
+ return;
1134
+ }
1135
+ const defaultOption = {
1136
+ once: true,
1137
+ };
1138
+ Object.assign(defaultOption, option || {});
1139
+ const eventNameList = DOMUtilsCommonUtils.getAnimationEndNameList();
1140
+ DOMUtilsContext.on(element, eventNameList, null, handler, defaultOption);
1141
+ if (!defaultOption.once) {
1142
+ return {
1143
+ off() {
1144
+ DOMUtilsContext.off(element, eventNameList, null, handler, defaultOption);
1145
+ },
1146
+ };
1147
+ }
1148
+ }
1149
+ /**
1150
+ * 当过渡结束时触发事件
1151
+ * @param element 监听的元素
1152
+ * @param handler 触发的回调函数
1153
+ * @param option 配置项,这里默认配置once为true
1154
+ */
1155
+ transitionend(element, handler, option) {
1156
+ let DOMUtilsContext = this;
1157
+ if (typeof element === "string") {
1158
+ element = DOMUtilsContext.selector(element);
1159
+ }
1160
+ if (element == null) {
1161
+ return;
1162
+ }
1163
+ if (DOMUtilsCommonUtils.isNodeList(element)) {
1164
+ // 设置
1165
+ element.forEach(($ele) => {
1166
+ DOMUtilsContext.transitionend($ele, handler, option);
1167
+ });
1168
+ return;
1169
+ }
1170
+ const defaultOption = {
1171
+ once: true,
1172
+ };
1173
+ Object.assign(defaultOption, option || {});
1174
+ const eventNameList = DOMUtilsCommonUtils.getTransitionEndNameList();
1175
+ DOMUtilsContext.on(element, eventNameList, null, handler, defaultOption);
1176
+ if (!defaultOption.once) {
1177
+ return {
1178
+ off() {
1179
+ DOMUtilsContext.off(element, eventNameList, null, handler, defaultOption);
1180
+ },
1181
+ };
1182
+ }
1183
+ }
1114
1184
  /**
1115
1185
  * 当按键松开时触发事件
1116
1186
  * keydown - > keypress - > keyup
@@ -1485,7 +1555,7 @@ class DOMUtils extends DOMUtilsEvent {
1485
1555
  super(option);
1486
1556
  }
1487
1557
  /** 版本号 */
1488
- version = "2025.6.26";
1558
+ version = "2025.8.11";
1489
1559
  attr(element, attrName, attrValue) {
1490
1560
  let DOMUtilsContext = this;
1491
1561
  if (typeof element === "string") {
@@ -1579,15 +1649,7 @@ class DOMUtils extends DOMUtilsEvent {
1579
1649
  * 把纯数字没有px的加上
1580
1650
  */
1581
1651
  function handlePixe(propertyName, propertyValue) {
1582
- let allowAddPixe = [
1583
- "width",
1584
- "height",
1585
- "top",
1586
- "left",
1587
- "right",
1588
- "bottom",
1589
- "font-size",
1590
- ];
1652
+ let allowAddPixe = ["width", "height", "top", "left", "right", "bottom", "font-size"];
1591
1653
  if (typeof propertyValue === "number") {
1592
1654
  propertyValue = propertyValue.toString();
1593
1655
  }
@@ -1629,8 +1691,7 @@ class DOMUtils extends DOMUtilsEvent {
1629
1691
  return;
1630
1692
  }
1631
1693
  let setStyleProperty = (propertyName, propertyValue) => {
1632
- if (typeof propertyValue === "string" &&
1633
- propertyValue.trim().endsWith("!important")) {
1694
+ if (typeof propertyValue === "string" && propertyValue.trim().endsWith("!important")) {
1634
1695
  propertyValue = propertyValue
1635
1696
  .trim()
1636
1697
  .replace(/!important$/gi, "")
@@ -1644,9 +1705,7 @@ class DOMUtils extends DOMUtilsEvent {
1644
1705
  };
1645
1706
  if (typeof property === "string") {
1646
1707
  if (value == null) {
1647
- return DOMUtilsContext.windowApi.globalThis
1648
- .getComputedStyle(element)
1649
- .getPropertyValue(property);
1708
+ return DOMUtilsContext.windowApi.globalThis.getComputedStyle(element).getPropertyValue(property);
1650
1709
  }
1651
1710
  else {
1652
1711
  setStyleProperty(property, value);
@@ -1749,12 +1808,8 @@ class DOMUtils extends DOMUtilsEvent {
1749
1808
  return transformInfo;
1750
1809
  }
1751
1810
  let elementTransform = DOMUtilsContext.windowApi.globalThis.getComputedStyle(element).transform;
1752
- if (elementTransform != null &&
1753
- elementTransform !== "none" &&
1754
- elementTransform !== "") {
1755
- let elementTransformSplit = elementTransform
1756
- .match(/\((.+)\)/)?.[1]
1757
- .split(",");
1811
+ if (elementTransform != null && elementTransform !== "none" && elementTransform !== "") {
1812
+ let elementTransformSplit = elementTransform.match(/\((.+)\)/)?.[1].split(",");
1758
1813
  if (elementTransformSplit) {
1759
1814
  transform_left = Math.abs(parseInt(elementTransformSplit[4]));
1760
1815
  transform_top = Math.abs(parseInt(elementTransformSplit[5]));
@@ -1792,8 +1847,7 @@ class DOMUtils extends DOMUtilsEvent {
1792
1847
  }
1793
1848
  if (value == null) {
1794
1849
  // 获取
1795
- if (element.localName === "input" &&
1796
- (element.type === "checkbox" || element.type === "radio")) {
1850
+ if (element.localName === "input" && (element.type === "checkbox" || element.type === "radio")) {
1797
1851
  return element.checked;
1798
1852
  }
1799
1853
  else {
@@ -1802,8 +1856,7 @@ class DOMUtils extends DOMUtilsEvent {
1802
1856
  }
1803
1857
  else {
1804
1858
  // 设置
1805
- if (element.localName === "input" &&
1806
- (element.type === "checkbox" || element.type === "radio")) {
1859
+ if (element.localName === "input" && (element.type === "checkbox" || element.type === "radio")) {
1807
1860
  element.checked = !!value;
1808
1861
  }
1809
1862
  else {
@@ -2057,7 +2110,15 @@ class DOMUtils extends DOMUtilsEvent {
2057
2110
  }
2058
2111
  function elementAppendChild(ele, text) {
2059
2112
  if (typeof content === "string") {
2060
- ele.insertAdjacentHTML("beforeend", DOMUtilsCommonUtils.getSafeHTML(text));
2113
+ if (ele instanceof DocumentFragment) {
2114
+ if (typeof text === "string") {
2115
+ text = DOMUtilsContext.parseHTML(text, true, false);
2116
+ }
2117
+ ele.appendChild(text);
2118
+ }
2119
+ else {
2120
+ ele.insertAdjacentHTML("beforeend", DOMUtilsCommonUtils.getSafeHTML(text));
2121
+ }
2061
2122
  }
2062
2123
  else {
2063
2124
  ele.appendChild(text);
@@ -2068,6 +2129,7 @@ class DOMUtils extends DOMUtilsEvent {
2068
2129
  let fragment = DOMUtilsContext.windowApi.document.createDocumentFragment();
2069
2130
  content.forEach((ele) => {
2070
2131
  if (typeof ele === "string") {
2132
+ // 转为元素
2071
2133
  ele = DOMUtilsContext.parseHTML(ele, true, false);
2072
2134
  }
2073
2135
  fragment.appendChild(ele);
@@ -2103,7 +2165,13 @@ class DOMUtils extends DOMUtilsEvent {
2103
2165
  return;
2104
2166
  }
2105
2167
  if (typeof content === "string") {
2106
- element.insertAdjacentHTML("afterbegin", DOMUtilsCommonUtils.getSafeHTML(content));
2168
+ if (element instanceof DocumentFragment) {
2169
+ content = DOMUtilsContext.parseHTML(content, true, false);
2170
+ element.prepend(content);
2171
+ }
2172
+ else {
2173
+ element.insertAdjacentHTML("afterbegin", DOMUtilsCommonUtils.getSafeHTML(content));
2174
+ }
2107
2175
  }
2108
2176
  else {
2109
2177
  let $firstChild = element.firstChild;
@@ -2276,16 +2344,14 @@ class DOMUtils extends DOMUtilsEvent {
2276
2344
  return;
2277
2345
  }
2278
2346
  if (DOMUtilsCommonUtils.isWin(element)) {
2279
- return DOMUtilsContext.windowApi.window.document.documentElement
2280
- .clientWidth;
2347
+ return DOMUtilsContext.windowApi.window.document.documentElement.clientWidth;
2281
2348
  }
2282
2349
  if (element.nodeType === 9) {
2283
2350
  /* Document文档节点 */
2284
2351
  element = element;
2285
2352
  return Math.max(element.body.scrollWidth, element.documentElement.scrollWidth, element.body.offsetWidth, element.documentElement.offsetWidth, element.documentElement.clientWidth);
2286
2353
  }
2287
- if (isShow ||
2288
- (!isShow && DOMUtilsCommonUtils.isShow(element))) {
2354
+ if (isShow || (!isShow && DOMUtilsCommonUtils.isShow(element))) {
2289
2355
  /* 已显示 */
2290
2356
  /* 不从style中获取对应的宽度,因为可能使用了class定义了width !important */
2291
2357
  element = element;
@@ -2320,8 +2386,7 @@ class DOMUtils extends DOMUtilsEvent {
2320
2386
  height(element, isShow = false) {
2321
2387
  let DOMUtilsContext = this;
2322
2388
  if (DOMUtilsCommonUtils.isWin(element)) {
2323
- return DOMUtilsContext.windowApi.window.document.documentElement
2324
- .clientHeight;
2389
+ return DOMUtilsContext.windowApi.window.document.documentElement.clientHeight;
2325
2390
  }
2326
2391
  if (typeof element === "string") {
2327
2392
  element = DOMUtilsContext.selector(element);
@@ -2335,8 +2400,7 @@ class DOMUtils extends DOMUtilsEvent {
2335
2400
  /* Document文档节点 */
2336
2401
  return Math.max(element.body.scrollHeight, element.documentElement.scrollHeight, element.body.offsetHeight, element.documentElement.offsetHeight, element.documentElement.clientHeight);
2337
2402
  }
2338
- if (isShow ||
2339
- (!isShow && DOMUtilsCommonUtils.isShow(element))) {
2403
+ if (isShow || (!isShow && DOMUtilsCommonUtils.isShow(element))) {
2340
2404
  element = element;
2341
2405
  /* 已显示 */
2342
2406
  /* 从style中获取对应的高度,因为可能使用了class定义了width !important */
@@ -2464,8 +2528,7 @@ class DOMUtils extends DOMUtilsEvent {
2464
2528
  let to = {};
2465
2529
  for (let prop in styles) {
2466
2530
  from[prop] =
2467
- element.style[prop] ||
2468
- DOMUtilsContext.windowApi.globalThis.getComputedStyle(element)[prop];
2531
+ element.style[prop] || DOMUtilsContext.windowApi.globalThis.getComputedStyle(element)[prop];
2469
2532
  to[prop] = styles[prop];
2470
2533
  }
2471
2534
  let timer = DOMUtilsCommonUtils.setInterval(function () {
@@ -2475,8 +2538,7 @@ class DOMUtils extends DOMUtilsEvent {
2475
2538
  progress = 1;
2476
2539
  }
2477
2540
  for (let prop in styles) {
2478
- element.style[prop] =
2479
- from[prop] + (to[prop] - from[prop]) * progress + "px";
2541
+ element.style[prop] = from[prop] + (to[prop] - from[prop]) * progress + "px";
2480
2542
  }
2481
2543
  if (progress === 1) {
2482
2544
  DOMUtilsCommonUtils.clearInterval(timer);
@@ -2561,8 +2623,7 @@ class DOMUtils extends DOMUtilsEvent {
2561
2623
  if (element == null) {
2562
2624
  return;
2563
2625
  }
2564
- return Array.from(element.parentElement
2565
- .children).filter((child) => child !== element);
2626
+ return Array.from(element.parentElement.children).filter((child) => child !== element);
2566
2627
  }
2567
2628
  /**
2568
2629
  * 获取当前元素的父元素
@@ -2638,14 +2699,7 @@ class DOMUtils extends DOMUtilsEvent {
2638
2699
  if (element.name &&
2639
2700
  !element.disabled &&
2640
2701
  (element.checked ||
2641
- [
2642
- "text",
2643
- "hidden",
2644
- "password",
2645
- "textarea",
2646
- "select-one",
2647
- "select-multiple",
2648
- ].includes(element.type))) {
2702
+ ["text", "hidden", "password", "textarea", "select-one", "select-multiple"].includes(element.type))) {
2649
2703
  if (element.type === "select-multiple") {
2650
2704
  for (let j = 0; j < element.options.length; j++) {
2651
2705
  if (element.options[j].selected) {
@@ -2865,9 +2919,7 @@ class DOMUtils extends DOMUtilsEvent {
2865
2919
  });
2866
2920
  return;
2867
2921
  }
2868
- if (DOMUtilsContext.windowApi.globalThis
2869
- .getComputedStyle(element)
2870
- .getPropertyValue("display") === "none") {
2922
+ if (DOMUtilsContext.windowApi.globalThis.getComputedStyle(element).getPropertyValue("display") === "none") {
2871
2923
  DOMUtilsContext.show(element, checkVisiblie);
2872
2924
  }
2873
2925
  else {
@@ -2912,9 +2964,7 @@ class DOMUtils extends DOMUtilsEvent {
2912
2964
  selectionStart = Math.min($input.value.length, selectionStart);
2913
2965
  if (typeof selectionEnd == "string")
2914
2966
  selectionEnd = parseFloat(selectionEnd);
2915
- if (typeof selectionEnd != "number" ||
2916
- isNaN(selectionEnd) ||
2917
- selectionEnd < selectionStart) {
2967
+ if (typeof selectionEnd != "number" || isNaN(selectionEnd) || selectionEnd < selectionStart) {
2918
2968
  selectionEnd = selectionStart;
2919
2969
  }
2920
2970
  if (selectionEnd < 0)
@@ -3001,11 +3051,7 @@ class DOMUtils extends DOMUtilsEvent {
3001
3051
  var isBoxModel = $box.offsetWidth == 2;
3002
3052
  body.removeChild($box);
3003
3053
  let $boxRect = $input.getBoundingClientRect();
3004
- var clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, scrollTop = win.pageYOffset ||
3005
- (isBoxModel && docElem.scrollTop) ||
3006
- body.scrollTop, scrollLeft = win.pageXOffset ||
3007
- (isBoxModel && docElem.scrollLeft) ||
3008
- body.scrollLeft;
3054
+ var clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, scrollTop = win.pageYOffset || (isBoxModel && docElem.scrollTop) || body.scrollTop, scrollLeft = win.pageXOffset || (isBoxModel && docElem.scrollLeft) || body.scrollLeft;
3009
3055
  return {
3010
3056
  top: $boxRect.top + scrollTop - clientTop,
3011
3057
  left: $boxRect.left + scrollLeft - clientLeft,
@@ -3024,6 +3070,14 @@ class DOMUtils extends DOMUtilsEvent {
3024
3070
  return isNumber ? parseFloat(val) : val;
3025
3071
  }
3026
3072
  }
3073
+ /** 获取 animationend 在各个浏览器的兼容名 */
3074
+ getAnimationEndNameList() {
3075
+ return DOMUtilsCommonUtils.getAnimationEndNameList();
3076
+ }
3077
+ /** 获取 transitionend 在各个浏览器的兼容名 */
3078
+ getTransitionEndNameList() {
3079
+ return DOMUtilsCommonUtils.getTransitionEndNameList();
3080
+ }
3027
3081
  }
3028
3082
  let domUtils = new DOMUtils();
3029
3083