const e="undefined"!=typeof wx&&"function"==typeof wx.getSystemInfoSync&&Boolean(wx.getSystemInfoSync().fontSizeSetting),t="undefined"!=typeof uni&&"undefined"==typeof window,n="undefined"!=typeof uni,o=("undefined"!=typeof uni||"undefined"!=typeof window)&&!(e||t),r=e?wx:n?uni:"undefined"!=typeof window?window:{},i=o&&window&&window.navigator&&window.navigator.userAgent||"",s=/Android/i.test(i),c=/(?:Windows Phone)/.test(i),l=/(?:SymbianOS)/.test(i),u=o&&("ontouchstart"in window||navigator.maxTouchPoints>0)&&!!o&&(!!/Tablet|Pad/i.test(i)||(window.matchMedia("(orientation: portrait)").matches?window.innerWidth>=768&&window.innerHeight>=1024:window.innerWidth>=1024&&window.innerHeight>=768)),d=/iPhone/i.test(i)||/iPod/i.test(i),a=e,f=s||c||l||d||u,w=o&&!f,m=t&&!e;function g(){let e="";return w?e="pc":f?e="h5":a?e="wechat":m&&(e="app"),e}const h=new Map;function p(e,t){h.set(e,t)}function y(e,t){if(!e)return Promise.reject(new Error(`getBoundingClientRect get error selector ${typeof e}.`));if(window||document){const t="object"==typeof e?e:document.querySelector(e);if(!t)return Promise.reject(new Error(`getBoundingClientRect can't find ${e} dom.`));const n=t.getBoundingClientRect();return Promise.resolve({id:t.id,top:n.top,left:n.left,right:n.right,bottom:n.bottom,width:n.width,height:n.height,x:n.x,y:n.y})}if(n){if(!t)return Promise.reject(new Error("getBoundingClientRect need instanceName in params."));const n=uni.createSelectorQuery().in(h.get(t));return new Promise(((t,o)=>{n.select(e).boundingClientRect((e=>{e&&t(e)})).exec(),setTimeout((()=>o(new Error(`getBoundingClientRect ${e} timeout.`))),500)}))}return Promise.reject(new Error("getBoundingClientRect occur error"))}function v(e,t){if(!e)return Promise.reject(new Error(`getScrollInfo get error selector ${typeof e}.`));if(!n&&window){const t="object"==typeof e?e:document.querySelector(e);return t?Promise.resolve({id:t.id,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft,scrollWidth:t.scrollWidth,scrollHeight:t.scrollHeight}):Promise.reject(new Error(`getScrollInfo can't find ${e} dom.`))}if(n){if(!t)return Promise.reject(new Error("getScrollInfo need instanceName in params."));const n=uni.createSelectorQuery().in(h.get(t));return new Promise(((t,o)=>{n.select(e).scrollOffset((e=>{e&&t(e)})).exec(),setTimeout((()=>o(new Error(`getScrollInfo ${e} timeout.`))),500)}))}return Promise.reject(new Error("getScrollInfo occur error"))}class P{constructor(){if(P.instance)return P.instance;P.instance=this,this.eventCallback=null,this.listener=null,this.button=0,this.init()}init(){o&&(this.eventCallback=e=>{this.listener&&this.listener(e)},document.addEventListener("mousedown",this.eventCallback))}listen(e){if(o){const{domRefs:t,ignoreDomRefs:n,handler:o,button:r=0}=e;this.button=r,this.listener=e=>{const r=Array.isArray(n)?n:[n];for(const t of r)if(t&&t.contains(e.target))return;const i=Array.isArray(t)?t:[t];for(const t of i)if(t&&t.contains(e.target)&&this.button===e.button)return;o(e),this.remove()}}}remove(){this.listener=null,this.button=-1}}function S(e){const{element:t,onLongPress:n,options:o={}}=e;if(!t||!n)throw new Error("addLongPressEventListener missing arguments");const{duration:r=800,eventDelegation:i}=o;let s;function c(){clearTimeout(s),u()}function l(){clearTimeout(s),u()}function u(){t.removeEventListener("pointerup",c),t.removeEventListener("pointermove",l)}t.addEventListener("pointerdown",(e=>{const o=e.target,u=(null==i?void 0:i.subSelector)?o.closest(i.subSelector)||void 0:o,d=e.currentTarget;s=setTimeout((()=>n(e,u,d)),r),t.addEventListener("pointerup",c),t.addEventListener("pointermove",l)}))}console.log("UniversalAPI.VERSION:2.2.9");const E=new P;export{p as E,S as I,E as R,v as T,y as b,d as f,g as h,r as i};