native-fn 1.0.74 → 1.0.75

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.
Files changed (66) hide show
  1. package/dist/index.d.ts +5 -5
  2. package/dist/native.cjs +1 -1
  3. package/dist/native.min.cjs +1 -1
  4. package/dist/native.min.mjs +1 -1
  5. package/dist/native.mjs +1 -1
  6. package/dist/native.umd.js +1 -1
  7. package/dist/native.umd.min.js +1 -1
  8. package/dist/plugin/app/index.cjs +355 -176
  9. package/dist/plugin/app/index.min.cjs +1 -1
  10. package/dist/plugin/app/index.min.mjs +1 -1
  11. package/dist/plugin/app/index.mjs +355 -176
  12. package/dist/plugin/app/index.umd.js +355 -176
  13. package/dist/plugin/app/index.umd.min.js +1 -1
  14. package/dist/plugin/app/src/plugin/platform/cores/index.d.ts +12 -0
  15. package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +16 -6
  16. package/dist/plugin/app/src/types/native.d.ts +5 -5
  17. package/dist/plugin/appearance/index.cjs +344 -165
  18. package/dist/plugin/appearance/index.min.cjs +1 -1
  19. package/dist/plugin/appearance/index.min.mjs +1 -1
  20. package/dist/plugin/appearance/index.mjs +344 -165
  21. package/dist/plugin/appearance/index.umd.js +344 -165
  22. package/dist/plugin/appearance/index.umd.min.js +1 -1
  23. package/dist/plugin/appearance/src/plugin/platform/cores/index.d.ts +12 -0
  24. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +16 -6
  25. package/dist/plugin/appearance/src/types/native.d.ts +5 -5
  26. package/dist/plugin/clipboard/index.cjs +339 -160
  27. package/dist/plugin/clipboard/index.min.cjs +1 -1
  28. package/dist/plugin/clipboard/index.min.mjs +1 -1
  29. package/dist/plugin/clipboard/index.mjs +339 -160
  30. package/dist/plugin/clipboard/index.umd.js +339 -160
  31. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  32. package/dist/plugin/clipboard/src/plugin/platform/cores/index.d.ts +12 -0
  33. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +16 -6
  34. package/dist/plugin/clipboard/src/types/native.d.ts +5 -5
  35. package/dist/plugin/fullscreen/index.cjs +348 -169
  36. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  37. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  38. package/dist/plugin/fullscreen/index.mjs +348 -169
  39. package/dist/plugin/fullscreen/index.umd.js +348 -169
  40. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  41. package/dist/plugin/fullscreen/src/plugin/platform/cores/index.d.ts +12 -0
  42. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +16 -6
  43. package/dist/plugin/fullscreen/src/types/native.d.ts +5 -5
  44. package/dist/plugin/platform/index.cjs +339 -160
  45. package/dist/plugin/platform/index.d.ts +17 -7
  46. package/dist/plugin/platform/index.min.cjs +1 -1
  47. package/dist/plugin/platform/index.min.mjs +1 -1
  48. package/dist/plugin/platform/index.mjs +339 -160
  49. package/dist/plugin/platform/index.umd.js +339 -160
  50. package/dist/plugin/platform/index.umd.min.js +1 -1
  51. package/dist/plugin/platform/src/plugin/platform/cores/index.d.ts +12 -0
  52. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +16 -6
  53. package/dist/plugin/platform/src/types/native.d.ts +5 -5
  54. package/dist/plugin/theme/index.cjs +339 -160
  55. package/dist/plugin/theme/index.min.cjs +1 -1
  56. package/dist/plugin/theme/index.min.mjs +1 -1
  57. package/dist/plugin/theme/index.mjs +339 -160
  58. package/dist/plugin/theme/index.umd.js +339 -160
  59. package/dist/plugin/theme/index.umd.min.js +1 -1
  60. package/dist/plugin/theme/src/plugin/platform/cores/index.d.ts +12 -0
  61. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +16 -6
  62. package/dist/plugin/theme/src/types/native.d.ts +5 -5
  63. package/dist/src/plugin/platform/cores/index.d.ts +12 -0
  64. package/dist/src/plugin/platform/types/platform.d.ts +16 -6
  65. package/dist/src/types/native.d.ts +5 -5
  66. package/package.json +1 -1
@@ -1 +1 @@
1
- var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var o,r,n,i,a,t=void 0!==globalThis.matchMedia?globalThis.matchMedia("(prefers-color-scheme: dark)"):{matches:!1,media:"not all",onchange:null,addListener:function(){},removeListener:function(){},addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){return!1}},s="not all"!==t.media,c="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,m=[];!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(o||(o={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(r||(r={})),function(e){e.Unknown="Unknown",e.EdgeHTML="EdgeHTML",e.ArkWeb="ArkWeb",e.Blink="Blink",e.Presto="Presto",e.WebKit="WebKit",e.Trident="Trident",e.NetFront="NetFront",e.KHTML="KHTML",e.Tasman="Tasman",e.Gecko="Gecko"}(n||(n={})),function(e){e.Unknown="Unknown",e.Chrome="Chrome",e.Safari="Safari",e.Edge="Edge",e.Firefox="Firefox",e.Opera="Opera",e.IE="IE",e.SamsungInternet="SamsungInternet"}(i||(i={})),function(e){e.Unknown="Unknown",e.ReactNative="ReactNative",e.Electron="Electron",e.Cordova="Cordova"}(a||(a={}));var l=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d={device:r.Unknown,os:o.Unknown,engine:n.Unknown,browser:i.Unknown,crossPlatformFramework:a.Unknown,osVersion:"",engineVersion:"",browserVersion:"",renderer:function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var o=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===o)return"";if(o instanceof WebGLRenderingContext||"getParameter"in o&&"function"==typeof o.getParameter){var r=o.getExtension("WEBGL_debug_renderer_info");return null===r?o.getParameter(o.RENDERER):o.getParameter(r.UNMASKED_RENDERER_WEBGL)}return""}(),userAgent:l,isNode:void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node,isMobile:!1,isDesktop:!1,isStandalone:!1,isWebview:/; ?wv|applewebkit(?!.*safari)/i.test(l)},u=[[/windows nt (6\.[23]); arm/i,o.Windows,w],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,o.Windows,w],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,o.Windows,w],[/windows nt ?([\d.)]*)(?!.+xbox)/i,o.Windows,w],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,o.Windows,w],[/windows ce\/?([\d.]*)/i,o.Windows,w],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,o.iOS,g],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,o.iOS,g],[/cfnetwork\/.+darwin/i,o.iOS,g],[/mac os x ?([\w. ]*)/i,o.MacOS,g],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,o.MacOS,g],[/droid ([\w.]+)\b.+(android[- ]x86)/i,o.Android],[/android\w*[-\/.; ]?([\d.]*)/i,o.Android]],v=[[/windows.+ edge\/([\w.]+)/i,n.EdgeHTML],[/arkweb\/([\w.]+)/i,n.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,n.Blink],[/presto\/([\w.]+)/i,n.Presto],[/webkit\/([\w.]+)/i,n.WebKit],[/trident\/([\w.]+)/i,n.Trident],[/netfront\/([\w.]+)/i,n.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,n.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,n.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,n.Gecko]],f=[[/\b(?:crmo|crios)\/([\w.]+)/i,i.Chrome],[/webview.+edge\/([\w.]+)/i,i.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,i.Edge],[/opera mini\/([-\w.]+)/i,i.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,i.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,i.Opera],[/opios[\/ ]+([\w.]+)/i,i.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,i.Opera],[/\bopr\/([\w.]+)/i,i.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,i.IE],[/(?:ms|\()ie ([\w.]+)/i,i.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,i.IE],[/\bfocus\/([\w.]+)/i,i.Firefox],[/\bopt\/([\w.]+)/i,i.Opera],[/coast\/([\w.]+)/i,i.Opera],[/fxios\/([\w.-]+)/i,i.Firefox],[/samsungbrowser\/([\w.]+)/i,i.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,i.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,i.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,i.Chrome],[/chrome\/([\w.]+) mobile/i,i.Chrome],[/chrome\/v?([\w.]+)/i,i.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/version\/([\w.,]+) .*safari/i,i.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,i.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,i.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,i.Firefox],[/firefox\/([\w.]+)/i,i.Firefox]];function w(e){if(void 0===e)return"";var o={"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT"}[e];return void 0!==o?o:e}function g(e){return void 0===e?"":e.replace(/_/g,".")}function b(e,o){return 10===e.major&&0===e.minor&&e.build>=22e3?"11":10===e.major&&0===e.minor&&e.build<22e3?"10":6===e.major&&3===e.minor?"8.1":6===e.major&&2===e.minor?"8":6===e.major&&1===e.minor?"7":6===e.major&&0===e.minor?"Vista":5===e.major&&1===e.minor||5===e.major&&2===e.minor?"XP":5===e.major&&0===e.minor?"2000":4===e.major&&90===e.minor?"ME":4===e.major&&0===e.minor?"NT 4.0":3===e.major&&51===e.minor?"NT 3.11":o}function h(e,o){return"function"==typeof o?o(e):"string"==typeof o?o:void 0===e?"":e}function p(e){var o=e.split(".");return{major:parseInt(o[0]||"0"),minor:parseInt(o[1]||"0"),build:parseInt(o[2]||"0")}}(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(l))&&(d.crossPlatformFramework=a.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(d.crossPlatformFramework=a.ReactNative);for(var k=0;k<u.length;k++){var j=(L=u[k])[0],T=L[1],E=L[2];if(null!==(x=d.userAgent.match(j))){d.os=T,d.osVersion=h(x[1],E);break}}d.os===o.iOS&&0===function(e,o){for(var r=e.split("."),n=o.split("."),i=Math.max(r.length,n.length),a=0;a<i;a++){var t=void 0,s=void 0;if((t=a<r.length?parseInt(r[a],10):0)>(s=a<n.length?parseInt(n[a],10):0))return 1;if(t<s)return-1}return 0}(d.osVersion,"18.6")&&(null!==(N=/\) Version\/([\d.]+)/.exec(d.userAgent))&&parseInt(N[1].substring(0,2),10)>=26&&(d.osVersion=N[1]));for(k=0;k<v.length;k++){j=(L=v[k])[0];var S=L[1];E=L[2];if(null!==(x=d.userAgent.match(j))){d.engine=S,d.engineVersion=h(x[1],E);break}}for(k=0;k<f.length;k++){j=(L=f[k])[0];var L,x,I=L[1];E=L[2];if(null!==(x=d.userAgent.match(j))){d.browser=I,d.browserVersion=h(x[1],E);break}}if(d.crossPlatformFramework===a.ReactNative)try{T=(V=require("react-native").Platform).OS;var N=p(M=""+V.Version);switch(T){case"android":d.os=o.Android,d.osVersion=function(e,o){return e.major>=36?"16":35===e.major?"15":34===e.major?"14":33===e.major?"13":32===e.major?"12.1":31===e.major?"12":30===e.major?"11":29===e.major?"10":28===e.major?"9":27===e.major?"8.1":26===e.major?"8.0":25===e.major?"7.1":24===e.major?"7.0":23===e.major?"6.0":22===e.major?"5.1":21===e.major?"5.0":20===e.major||19===e.major?"4.4":18===e.major?"4.3":17===e.major?"4.2":16===e.major?"4.1":15===e.major?"4.0.3":14===e.major?"4.0":13===e.major?"3.2":12===e.major?"3.1":11===e.major?"3.0":10===e.major?"2.3.3":9===e.major?"2.3":8===e.major?"2.2":7===e.major?"2.1":6===e.major?"2.0.1":5===e.major?"2.0":4===e.major?"1.6":3===e.major?"1.5":2===e.major?"1.1":1===e.major?"1.0":o}(N,M);break;case"ios":d.os=o.iOS,d.osVersion=M;break;case"windows":d.os=o.Windows,d.osVersion=b(N,M);break;case"macos":d.os=o.MacOS,d.osVersion=M}}catch(e){}if(d.isNode)try{var M,V=(T=require("os")).platform();N=p(M=T.release());switch(V){case"win32":d.os=o.Windows,d.osVersion=b(N,M);break;case"darwin":d.os=o.MacOS,d.osVersion=function(e,o){return e.major>=24?e.major-9+"."+e.minor+"."+e.build:23===e.major?"14."+e.minor+"."+e.build:22===e.major?"13."+e.minor+"."+e.build:21===e.major?"12."+e.minor+"."+e.build:20===e.major?"11."+e.minor+"."+e.build:19===e.major?"10.15."+e.minor:18===e.major?"10.14."+e.minor:17===e.major?"10.13."+e.minor:16===e.major?"10.12."+e.minor:15===e.major?"10.11."+e.minor:14===e.major?"10.10."+e.minor:13===e.major?"10.9."+e.minor:e.major>=5&&e.major<=12?"10."+(e.major-4)+"."+e.minor:o}(N,M);break;case"android":d.os=o.Android,d.osVersion=M;break;case"linux":/android/i.test(M)&&(d.os=o.Android,d.osVersion=M)}}catch(e){}void 0!==globalThis.document&&globalThis.document.addEventListener("deviceready",(function(){if(d.crossPlatformFramework=a.Cordova,d.os===o.Unknown&&void 0!==globalThis.device){switch(globalThis.device.platform){case"Android":d.os=o.Android;break;case"iOS":d.os=o.iOS}d.osVersion=globalThis.device.version}}),!1),void 0!==navigator.userAgentData&&void 0!==navigator.userAgentData.getHighEntropyValues&&navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){for(var r,n=e.fullVersionList||e.brands||[],i=e.platformVersion,a=0;a<n.length;a++){var t=null==(r=n[a])?{brand:"",version:""}:"string"==typeof r?{brand:r,version:""}:{brand:r.brand,version:r.version},s=t.brand,c=t.version;/not.a.brand/i.test(s)||"Chromium"===s&&(d.engineVersion=c)}"string"==typeof i&&(d.os===o.Windows&&parseInt(i.replace(/[^\d.]/g,"").split(".")[0],10)>=13?d.osVersion="11":d.osVersion=i)})),d.device=d.os===o.iOS||d.os===o.Android?r.Mobile:d.os===o.Windows||d.os===o.MacOS?r.Desktop:r.Unknown,d.isMobile=d.device===r.Mobile,d.isDesktop=d.device===r.Desktop,d.isStandalone=function(e){return"matchMedia"in globalThis&&(e===o.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches)}(d.os);var A=null,P=null;function y(){return new Promise((function(o){var r=new Image;r.onload=function(){if(null===c)return o(e.Light);c.drawImage(r,0,0);var n=c.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?o(e.Dark):o(e.Light)},r.onerror=function(){o(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function O(){return s?t.matches?e.Dark:e.Light:e.Unknown}function U(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(o){return e.Unknown}}function W(){return d.crossPlatformFramework===a.ReactNative?new Promise((function(o){o(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(o){return e.Unknown}}())})):d.crossPlatformFramework===a.Electron?new Promise((function(e){e(U())})):d.browser===i.SamsungInternet?y():new Promise((function(e){e(O())}))}function C(o){var r;(r=o.matches?e.Dark:e.Light)!==A&&F(A=r)}function F(e){for(var o=0;o<m.length;o++){var r=m[o];r.fn(e),r.once&&R(r)}}function R(e){var o,r=D(e);-1!==r&&m.splice(r,1),0===m.length&&(d.browser===i.SamsungInternet?(A=null,null!==P&&(clearInterval(P),P=null)):(o=e.capture,A=null,"function"==typeof t.removeEventListener?t.removeEventListener("change",C,o):"function"==typeof t.removeListener&&t.removeListener(C)))}function D(e){for(var o=0;o<m.length;o++)if(m[o].fn===e.fn&&m[o].capture===e.capture)return o;return-1}var H={installed:!1,name:"Appearance",module:{get value(){return W()},set value(e){!function(e){if(d.crossPlatformFramework===a.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(d.crossPlatformFramework===a.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(o,r){void 0===r&&(r=!1);if(d.crossPlatformFramework===a.ReactNative)return function(o){try{var r=require("react-native").Appearance.addChangeListener((function(r){o(r.colorScheme||e.Unknown)}));return function(){r.remove()}}catch(e){}return function(){}}(o);if(d.crossPlatformFramework===a.Electron)return function(e){try{var o=require("electron"),r=function(){e(U())};return void 0!==o.nativeTheme.on&&o.nativeTheme.on("updated",r),function(){void 0!==o.nativeTheme.removeListener&&o.nativeTheme.removeListener("updated",r)}}catch(e){}return function(){}}(o);var n={fn:o,capture:!1,once:!1};"boolean"==typeof r&&(r={capture:r});void 0!==r.capture&&(n.capture=r.capture);void 0!==r.once&&(n.once=r.once);void 0!==r.signal&&(n.signal=r.signal);var s=D(n);-1===s?(m.push(n),1===m.length&&(d.browser===i.SamsungInternet?(y().then((function(e){A=e})),P=globalThis.setInterval((function(){y().then((function(e){e!==A&&(A=e,F(e))}))}),2e3)):(c=n.capture,A=O(),"function"==typeof t.addEventListener?t.addEventListener("change",C,c):"function"==typeof t.addListener&&t.addListener(C))),W().then(F)):m[s].once&&!n.once&&(m[s].once=!1);var c;void 0!==n.signal&&(n.signal.aborted?R(n):n.signal.addEventListener("abort",(function e(){void 0!==n.signal&&n.signal.removeEventListener("abort",e),R(n)})));return function(){R(n)}}},Constants:{Appearances:e},Errors:{}};export{H as default};
1
+ var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var n,r,o,i,a,t=void 0!==globalThis.matchMedia?globalThis.matchMedia("(prefers-color-scheme: dark)"):{matches:!1,media:"not all",onchange:null,addListener:function(){},removeListener:function(){},addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){return!1}},s="not all"!==t.media,l="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,m=[];!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(n||(n={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(r||(r={})),function(e){e.Unknown="Unknown",e.EdgeHTML="EdgeHTML",e.ArkWeb="ArkWeb",e.Blink="Blink",e.Presto="Presto",e.WebKit="WebKit",e.Trident="Trident",e.NetFront="NetFront",e.KHTML="KHTML",e.Tasman="Tasman",e.Gecko="Gecko"}(o||(o={})),function(e){e.Unknown="Unknown",e.Chrome="Chrome",e.Safari="Safari",e.Edge="Edge",e.Firefox="Firefox",e.Opera="Opera",e.IE="IE",e.SamsungInternet="SamsungInternet"}(i||(i={})),function(e){e.Unknown="Unknown",e.ReactNative="ReactNative",e.Electron="Electron",e.Cordova="Cordova"}(a||(a={}));var c=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d={os:{name:n.Unknown,version:""},engine:{name:o.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:a.Unknown,userAgent:c,get network(){return function(){var e={isOnline:null,effectiveType:null,type:null,downlink:null,rtt:null,saveData:null};if(void 0!==globalThis.navigator){void 0!==globalThis.navigator.onLine&&(e.isOnline=globalThis.navigator.onLine);var r=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;void 0!==r&&(void 0!==r.effectiveType&&(e.effectiveType=r.effectiveType),void 0!==r.type&&(e.type=r.type),void 0!==r.downlink&&(e.downlink=r.downlink),void 0!==r.rtt&&(e.rtt=r.rtt),void 0!==r.saveData&&(e.saveData=r.saveData))}if(d.isNode){try{for(var o=require("os").networkInterfaces(),i=Object.keys(o),a=0;a<i.length;a++){for(var t=o[i[a]],s=0;s<t.length;s++){var l=t[s];l.internal||"IPv4"!==l.family||(e.isOnline=!0)}if(e.isOnline)break}}catch(e){}try{var m=require("child_process");if(d.os.name===n.Windows){try{(c=m.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&c.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(c=m.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(e.type="ethernet")}catch(e){}null===e.type&&(e.type="other")}else if(d.os.name===n.MacOS)try{var c=m.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),u=m.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});u.includes("en0")&&c.includes("Wi-Fi")?e.type="wifi":u.includes("en")||c.includes("Ethernet")?e.type="ethernet":e.type="other"}catch(n){e.type="other"}}catch(e){}}return e}()},get device(){return this.os.name===n.iOS||this.os.name===n.Android?r.Mobile:this.os.name===n.Windows||this.os.name===n.MacOS?r.Desktop:r.Unknown},get renderer(){return function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var n=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===n)return"";if(n instanceof WebGLRenderingContext||"getParameter"in n&&"function"==typeof n.getParameter){var r=n.getExtension("WEBGL_debug_renderer_info");return null===r?n.getParameter(n.RENDERER):n.getParameter(r.UNMASKED_RENDERER_WEBGL)}return""}()},get isMobile(){return this.device===r.Mobile},get isDesktop(){return this.device===r.Desktop},get isWebview(){return/; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent)},get isNode(){return void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node},get isStandalone(){return this.os.name===n.iOS?"standalone"in globalThis.navigator&&!!globalThis.navigator.standalone:"matchMedia"in globalThis&&globalThis.matchMedia("(display-mode: standalone)").matches}},u=[[/windows nt (6\.[23]); arm/i,n.Windows,w],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,w],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,w],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,w],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,w],[/windows ce\/?([\d.]*)/i,n.Windows,w],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,h],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,h],[/cfnetwork\/.+darwin/i,n.iOS,h],[/mac os x ?([\w. ]*)/i,n.MacOS,h],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,h],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],v=[[/windows.+ edge\/([\w.]+)/i,o.EdgeHTML],[/arkweb\/([\w.]+)/i,o.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,o.Blink],[/presto\/([\w.]+)/i,o.Presto],[/webkit\/([\w.]+)/i,o.WebKit],[/trident\/([\w.]+)/i,o.Trident],[/netfront\/([\w.]+)/i,o.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,o.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,o.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,o.Gecko]],f=[[/\b(?:crmo|crios)\/([\w.]+)/i,i.Chrome],[/webview.+edge\/([\w.]+)/i,i.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,i.Edge],[/opera mini\/([-\w.]+)/i,i.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,i.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,i.Opera],[/opios[\/ ]+([\w.]+)/i,i.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,i.Opera],[/\bopr\/([\w.]+)/i,i.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,i.IE],[/(?:ms|\()ie ([\w.]+)/i,i.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,i.IE],[/\bfocus\/([\w.]+)/i,i.Firefox],[/\bopt\/([\w.]+)/i,i.Opera],[/coast\/([\w.]+)/i,i.Opera],[/fxios\/([\w.-]+)/i,i.Firefox],[/samsungbrowser\/([\w.]+)/i,i.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,i.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,i.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,i.Chrome],[/chrome\/([\w.]+) mobile/i,i.Chrome],[/chrome\/v?([\w.]+)/i,i.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,i.Safari],[/version\/([\w.,]+) .*safari/i,i.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,i.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,i.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,i.Firefox],[/firefox\/([\w.]+)/i,i.Firefox]],g={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function w(e){if(void 0===e)return"";var n={"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT"}[e];return void 0!==n?n:e}function h(e){return void 0===e?"":e.replace(/_/g,".")}function b(e,n){return 10===e.major&&0===e.minor&&e.build>=22e3?"11":10===e.major&&0===e.minor&&e.build<22e3?"10":6===e.major&&3===e.minor?"8.1":6===e.major&&2===e.minor?"8":6===e.major&&1===e.minor?"7":6===e.major&&0===e.minor?"Vista":5===e.major&&1===e.minor||5===e.major&&2===e.minor?"XP":5===e.major&&0===e.minor?"2000":4===e.major&&90===e.minor?"ME":4===e.major&&0===e.minor?"NT 4.0":3===e.major&&51===e.minor?"NT 3.11":n}function p(e,n){return e.major>=24?e.major-9+"."+e.minor+"."+e.build:23===e.major?"14."+e.minor+"."+e.build:22===e.major?"13."+e.minor+"."+e.build:21===e.major?"12."+e.minor+"."+e.build:20===e.major?"11."+e.minor+"."+e.build:19===e.major?"10.15."+e.minor:18===e.major?"10.14."+e.minor:17===e.major?"10.13."+e.minor:16===e.major?"10.12."+e.minor:15===e.major?"10.11."+e.minor:14===e.major?"10.10."+e.minor:13===e.major?"10.9."+e.minor:e.major>=5&&e.major<=12?"10."+(e.major-4)+"."+e.minor:n}function k(e,n){return e.major>=36?"16":35===e.major?"15":34===e.major?"14":33===e.major?"13":32===e.major?"12.1":31===e.major?"12":30===e.major?"11":29===e.major?"10":28===e.major?"9":27===e.major?"8.1":26===e.major?"8.0":25===e.major?"7.1":24===e.major?"7.0":23===e.major?"6.0":22===e.major?"5.1":21===e.major?"5.0":20===e.major||19===e.major?"4.4":18===e.major?"4.3":17===e.major?"4.2":16===e.major?"4.1":15===e.major?"4.0.3":14===e.major?"4.0":13===e.major?"3.2":12===e.major?"3.1":11===e.major?"3.0":10===e.major?"2.3.3":9===e.major?"2.3":8===e.major?"2.2":7===e.major?"2.1":6===e.major?"2.0.1":5===e.major?"2.0":4===e.major?"1.6":3===e.major?"1.5":2===e.major?"1.1":1===e.major?"1.0":n}function T(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function j(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function y(){if(d.crossPlatformFramework=a.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":d.os={name:n.Android,version:globalThis.device.version};break;case"iOS":d.os={name:n.iOS,version:globalThis.device.version}}}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(c))&&(d.crossPlatformFramework=a.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(d.crossPlatformFramework=a.ReactNative);for(var e=0;e<u.length;e++){var o=(w=u[e])[0],t=w[1],s=w[2];if(null!==(h=d.userAgent.match(o))){d.os={name:t,version:T(h[1],s)};break}}var l;for(d.os.name===n.iOS&&0===function(e,n){for(var r=e.split("."),o=n.split("."),i=Math.max(r.length,o.length),a=0;a<i;a++){var t=void 0,s=void 0;if((t=a<r.length?parseInt(r[a],10):0)>(s=a<o.length?parseInt(o[a],10):0))return 1;if(t<s)return-1}return 0}(d.os.version,"18.6")&&null!==(S=/\) Version\/([\d.]+)/.exec(d.userAgent))&&parseInt(S[1].substring(0,2),10)>=26&&(d.os.version=S[1]),e=0;e<v.length;e++){o=(w=v[e])[0];var m=w[1];s=w[2];if(null!==(h=d.userAgent.match(o))){d.engine={name:m,version:T(h[1],s)};break}}for(e=0;e<f.length;e++){o=(w=f[e])[0];var w,h,E=w[1];s=w[2];if(null!==(h=d.userAgent.match(o))){d.browser={name:E,version:T(h[1],s)};break}}if(d.crossPlatformFramework===a.ReactNative)try{t=(x=require("react-native").Platform).OS;var S=j(O=""+x.Version);switch(t){case"android":d.os={name:n.Android,version:k(S,O)};break;case"ios":d.os={name:n.iOS,version:O};break;case"windows":d.os={name:n.Windows,version:b(S,O)};break;case"macos":d.os={name:n.MacOS,version:O}}}catch(e){}if(d.isNode)try{var O,x=(t=require("os")).platform();S=j(O=t.release());switch(x){case"win32":d.os={name:n.Windows,version:b(S,O)};break;case"darwin":d.os={name:n.MacOS,version:p(S,O)};break;case"android":d.os={name:n.Android,version:O};break;case"linux":/android/i.test(O)&&(d.os={name:n.Android,version:O})}}catch(e){}void 0!==globalThis.document&&(void 0!==globalThis.device?y():globalThis.document.addEventListener("deviceready",y,!1)),l=globalThis.navigator,void 0!==globalThis.navigator&&void 0!==l.userAgentData&&void 0!==l.userAgentData.getHighEntropyValues&&globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){for(var o,a=e.fullVersionList||e.brands||[],t=e.platformVersion,s=e.platform,l=d.browser.name,m=null,c=0;c<a.length;c++){var u=null==(o=a[c])?{brand:"",version:""}:"string"==typeof o?{brand:o,version:""}:{brand:o.brand,version:o.version},v=u.version,f=u.brand;/not.a.brand/i.test(f)||((null===m||/Chrom/.test(m)&&"Chromium"!==f||"Edge"===m&&/WebView2/.test(f))&&(f=g[f]||f,null!==(m=l)&&!/Chrom/.test(m)&&/Chrom/.test(f)||("Chrome"===(l=f)||"Chrome WebView"===l||"Chrome Headless"===l?d.browser.name=i.Chrome:"Edge"===l||"Edge WebView2"===l?d.browser.name=i.Edge:"Opera Mobi"===l&&(d.browser.name=i.Opera),d.browser.version=v),m=f),"Chromium"===f&&(d.engine.version=v))}"string"==typeof t&&(d.os.name===n.Windows?d.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":d.os.version=t),"string"==typeof s&&(/android/i.test(s)?d.os.name=n.Android:/ios|iphone|ipad/i.test(s)?d.os.name=n.iOS:/windows|win32/i.test(s)?d.os.name=n.Windows:/macos|macintel/i.test(s)&&(d.os.name=n.MacOS)),!0===e.mobile&&(d.device=r.Mobile)}))}();var E=null,S=null;function O(){return new Promise((function(n){var r=new Image;r.onload=function(){if(null===l)return n(e.Light);l.drawImage(r,0,0);var o=l.getImageData(0,0,1,1).data;(o[0]&o[1]&o[2])<255?n(e.Dark):n(e.Light)},r.onerror=function(){n(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function x(){return s?t.matches?e.Dark:e.Light:e.Unknown}function C(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function M(){return d.crossPlatformFramework===a.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):d.crossPlatformFramework===a.Electron?new Promise((function(e){e(C())})):d.browser.name===i.SamsungInternet?O():new Promise((function(e){e(x())}))}function L(n){var r;(r=n.matches?e.Dark:e.Light)!==E&&W(E=r)}function W(e){for(var n=0;n<m.length;n++){var r=m[n];r.fn(e),r.once&&I(r)}}function I(e){var n,r=A(e);-1!==r&&m.splice(r,1),0===m.length&&(d.browser.name===i.SamsungInternet?(E=null,null!==S&&(clearInterval(S),S=null)):(n=e.capture,E=null,"function"==typeof t.removeEventListener?t.removeEventListener("change",L,n):"function"==typeof t.removeListener&&t.removeListener(L)))}function A(e){for(var n=0;n<m.length;n++)if(m[n].fn===e.fn&&m[n].capture===e.capture)return n;return-1}var N={installed:!1,name:"Appearance",module:{get value(){return M()},set value(e){!function(e){if(d.crossPlatformFramework===a.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(d.crossPlatformFramework===a.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,r){void 0===r&&(r=!1);if(d.crossPlatformFramework===a.ReactNative)return function(n){try{var r=require("react-native").Appearance.addChangeListener((function(r){n(r.colorScheme||e.Unknown)}));return function(){r.remove()}}catch(e){}return function(){}}(n);if(d.crossPlatformFramework===a.Electron)return function(e){try{var n=require("electron"),r=function(){e(C())};return void 0!==n.nativeTheme.on&&n.nativeTheme.on("updated",r),function(){void 0!==n.nativeTheme.removeListener&&n.nativeTheme.removeListener("updated",r)}}catch(e){}return function(){}}(n);var o={fn:n,capture:!1,once:!1};"boolean"==typeof r&&(r={capture:r});void 0!==r.capture&&(o.capture=r.capture);void 0!==r.once&&(o.once=r.once);void 0!==r.signal&&(o.signal=r.signal);var s=A(o);-1===s?(m.push(o),1===m.length&&(d.browser.name===i.SamsungInternet?(O().then((function(e){E=e})),S=globalThis.setInterval((function(){O().then((function(e){e!==E&&(E=e,W(e))}))}),2e3)):(l=o.capture,E=x(),"function"==typeof t.addEventListener?t.addEventListener("change",L,l):"function"==typeof t.addListener&&t.addListener(L))),M().then(W)):m[s].once&&!o.once&&(m[s].once=!1);var l;void 0!==o.signal&&(o.signal.aborted?I(o):o.signal.addEventListener("abort",(function e(){void 0!==o.signal&&o.signal.removeEventListener("abort",e),I(o)})));return function(){I(o)}}},Constants:{Appearances:e},Errors:{}};export{N as default};
@@ -98,21 +98,43 @@ var CrossPlatformFramework;
98
98
  var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
99
99
 
100
100
  var Platform = {
101
- device: Devices.Unknown,
102
- os: OS.Unknown,
103
- engine: Engines.Unknown,
104
- browser: Browsers.Unknown,
101
+ os: { name: OS.Unknown, version: '' },
102
+ engine: { name: Engines.Unknown, version: '' },
103
+ browser: { name: Browsers.Unknown, version: '' },
105
104
  crossPlatformFramework: CrossPlatformFramework.Unknown,
106
- osVersion: '',
107
- engineVersion: '',
108
- browserVersion: '',
109
- renderer: getRenderer(),
110
105
  userAgent: USER_AGENT,
111
- isNode: typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined,
112
- isMobile: false,
113
- isDesktop: false,
114
- isStandalone: false,
115
- isWebview: /; ?wv|applewebkit(?!.*safari)/i.test(USER_AGENT),
106
+ get network() {
107
+ return getNetwork();
108
+ },
109
+ get device() {
110
+ if (this.os.name === OS.iOS || this.os.name === OS.Android)
111
+ return Devices.Mobile;
112
+ if (this.os.name === OS.Windows || this.os.name === OS.MacOS)
113
+ return Devices.Desktop;
114
+ return Devices.Unknown;
115
+ },
116
+ get renderer() {
117
+ return getRenderer();
118
+ },
119
+ get isMobile() {
120
+ return this.device === Devices.Mobile;
121
+ },
122
+ get isDesktop() {
123
+ return this.device === Devices.Desktop;
124
+ },
125
+ get isWebview() {
126
+ return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
127
+ },
128
+ get isNode() {
129
+ return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
130
+ },
131
+ get isStandalone() {
132
+ if (this.os.name === OS.iOS)
133
+ return 'standalone' in globalThis.navigator && !!globalThis.navigator.standalone;
134
+ if (!('matchMedia' in globalThis))
135
+ return false;
136
+ return globalThis.matchMedia('(display-mode: standalone)').matches;
137
+ },
116
138
  };
117
139
  var OS_RESOLVER_MAP = [
118
140
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
@@ -172,6 +194,14 @@ var BROWSER_RESOLVER_MAP = [
172
194
  [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
173
195
  [/firefox\/([\w.]+)/i, Browsers.Firefox],
174
196
  ];
197
+ var HIGH_ENTROPY_BRAND_NAME_MAP = {
198
+ 'Google Chrome': 'Chrome',
199
+ 'Microsoft Edge': 'Edge',
200
+ 'Microsoft Edge WebView2': 'Edge WebView2',
201
+ 'Android WebView': 'Chrome WebView',
202
+ 'HeadlessChrome': 'Chrome Headless',
203
+ 'OperaMobile': 'Opera Mobi',
204
+ };
175
205
  function resolveWindowsVersion(string) {
176
206
  if (string === undefined)
177
207
  return '';
@@ -346,6 +376,33 @@ function normalizeBrand(entry) {
346
376
  return { brand: entry, version: '' };
347
377
  return { brand: entry.brand, version: entry.version };
348
378
  }
379
+ function getSemanticVersion(string) {
380
+ var parts = string.split('.');
381
+ return {
382
+ major: parseInt(parts[0] || '0'),
383
+ minor: parseInt(parts[1] || '0'),
384
+ build: parseInt(parts[2] || '0')
385
+ };
386
+ }
387
+ function parseOSFromCordova() {
388
+ Platform.crossPlatformFramework = CrossPlatformFramework.Cordova;
389
+ if (typeof globalThis.device !== 'undefined') {
390
+ switch (globalThis.device.platform) {
391
+ case 'Android':
392
+ Platform.os = {
393
+ name: OS.Android,
394
+ version: globalThis.device.version,
395
+ };
396
+ break;
397
+ case 'iOS':
398
+ Platform.os = {
399
+ name: OS.iOS,
400
+ version: globalThis.device.version,
401
+ };
402
+ break;
403
+ }
404
+ }
405
+ }
349
406
  function getRenderer() {
350
407
  if (typeof globalThis.document === 'undefined')
351
408
  return '';
@@ -366,171 +423,293 @@ function getRenderer() {
366
423
  return '';
367
424
  }
368
425
  }
369
- function getIsStandalone(os) {
370
- if (!('matchMedia' in globalThis))
371
- return false;
372
- if (os === OS.iOS)
373
- return 'standalone' in navigator && !!navigator.standalone;
374
- return globalThis.matchMedia('(display-mode: standalone)').matches;
375
- }
376
- function getSemanticVersion(string) {
377
- var parts = string.split('.');
378
- return {
379
- major: parseInt(parts[0] || '0'),
380
- minor: parseInt(parts[1] || '0'),
381
- build: parseInt(parts[2] || '0')
426
+ function getNetwork() {
427
+ var network = {
428
+ isOnline: null,
429
+ effectiveType: null,
430
+ type: null,
431
+ downlink: null,
432
+ rtt: null,
433
+ saveData: null,
382
434
  };
383
- }
384
- if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT))) {
385
- Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
386
- }
387
- if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative') {
388
- Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
389
- }
390
- for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
391
- var map = OS_RESOLVER_MAP[i];
392
- var regexp = map[0];
393
- var os = map[1];
394
- var resolver = map[2];
395
- var matched = Platform.userAgent.match(regexp);
396
- if (matched !== null) {
397
- Platform.os = os;
398
- Platform.osVersion = resolveVersion(matched[1], resolver);
399
- break;
400
- }
401
- }
402
- if (Platform.os === OS.iOS && compareVersion(Platform.osVersion, '18.6') === 0) {
403
- var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
404
- if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
405
- Platform.osVersion = version[1];
406
- }
407
- for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
408
- var map = ENGINE_RESOLVER_MAP[i];
409
- var regexp = map[0];
410
- var engine = map[1];
411
- var resolver = map[2];
412
- var matched = Platform.userAgent.match(regexp);
413
- if (matched !== null) {
414
- Platform.engine = engine;
415
- Platform.engineVersion = resolveVersion(matched[1], resolver);
416
- break;
435
+ if (typeof globalThis.navigator !== 'undefined') {
436
+ if (typeof globalThis.navigator.onLine !== 'undefined')
437
+ network.isOnline = globalThis.navigator.onLine;
438
+ var connection = globalThis.navigator.connection || globalThis.navigator.mozConnection || globalThis.navigator.webkitConnection;
439
+ if (typeof connection !== 'undefined') {
440
+ if (typeof connection.effectiveType !== 'undefined')
441
+ network.effectiveType = connection.effectiveType;
442
+ if (typeof connection.type !== 'undefined')
443
+ network.type = connection.type;
444
+ if (typeof connection.downlink !== 'undefined')
445
+ network.downlink = connection.downlink;
446
+ if (typeof connection.rtt !== 'undefined')
447
+ network.rtt = connection.rtt;
448
+ if (typeof connection.saveData !== 'undefined')
449
+ network.saveData = connection.saveData;
450
+ }
417
451
  }
418
- }
419
- for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
420
- var map = BROWSER_RESOLVER_MAP[i];
421
- var regexp = map[0];
422
- var browser = map[1];
423
- var resolver = map[2];
424
- var matched = Platform.userAgent.match(regexp);
425
- if (matched !== null) {
426
- Platform.browser = browser;
427
- Platform.browserVersion = resolveVersion(matched[1], resolver);
428
- break;
452
+ if (Platform.isNode) {
453
+ try {
454
+ var os = require('os');
455
+ var networkInterfaces = os.networkInterfaces();
456
+ var networkInterfaceNames = Object.keys(networkInterfaces);
457
+ for (var i = 0; i < networkInterfaceNames.length; i++) {
458
+ var name_1 = networkInterfaceNames[i];
459
+ var networkInterface = networkInterfaces[name_1];
460
+ for (var j = 0; j < networkInterface.length; j++) {
461
+ var address = networkInterface[j];
462
+ if (!address.internal && address.family === 'IPv4')
463
+ network.isOnline = true;
464
+ }
465
+ if (network.isOnline)
466
+ break;
467
+ }
468
+ }
469
+ catch (_) {
470
+ }
471
+ try {
472
+ var childProcess = require('child_process');
473
+ if (Platform.os.name === OS.Windows) {
474
+ try {
475
+ var output = childProcess.execSync('netsh wlan show interfaces', { encoding: 'utf8', timeout: 5000 });
476
+ if (output.includes('State') && output.includes('connected'))
477
+ network.type = 'wifi';
478
+ }
479
+ catch (_) {
480
+ }
481
+ if (network.type === null) {
482
+ try {
483
+ var output = childProcess.execSync('ipconfig', { encoding: 'utf8', timeout: 5000 });
484
+ if (output.includes('Ethernet adapter'))
485
+ network.type = 'ethernet';
486
+ }
487
+ catch (_) {
488
+ }
489
+ }
490
+ if (network.type === null)
491
+ network.type = 'other';
492
+ }
493
+ else if (Platform.os.name === OS.MacOS) {
494
+ try {
495
+ var output = childProcess.execSync('networksetup -listallhardwareports', { encoding: 'utf8', timeout: 5000 });
496
+ var activeInterface = childProcess.execSync('route -n get default | grep interface', { encoding: 'utf8', timeout: 5000 });
497
+ if (activeInterface.includes('en0') && output.includes('Wi-Fi'))
498
+ network.type = 'wifi';
499
+ else if (activeInterface.includes('en') || output.includes('Ethernet'))
500
+ network.type = 'ethernet';
501
+ else
502
+ network.type = 'other';
503
+ }
504
+ catch (_) {
505
+ network.type = 'other';
506
+ }
507
+ }
508
+ }
509
+ catch (_) {
510
+ }
429
511
  }
430
- }
431
- if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
432
- try {
433
- var reactNative = require('react-native');
434
- var platform = reactNative.Platform;
435
- var os = platform.OS;
436
- var release = '' + platform.Version;
437
- var version = getSemanticVersion(release);
438
- switch (os) {
439
- case 'android':
440
- Platform.os = OS.Android;
441
- Platform.osVersion = resolveSemanticAndroidVersion(version, release);
442
- break;
443
- case 'ios':
444
- Platform.os = OS.iOS;
445
- Platform.osVersion = release;
446
- break;
447
- case 'windows':
448
- Platform.os = OS.Windows;
449
- Platform.osVersion = resolveSemanticWindowsVersion(version, release);
450
- break;
451
- case 'macos':
452
- Platform.os = OS.MacOS;
453
- Platform.osVersion = release;
454
- break;
512
+ return network;
513
+ }
514
+ function canUseHighEntropyValues(navigator) {
515
+ return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
516
+ }
517
+ function init() {
518
+ if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
519
+ Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
520
+ if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative')
521
+ Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
522
+ for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
523
+ var map = OS_RESOLVER_MAP[i];
524
+ var regexp = map[0];
525
+ var os = map[1];
526
+ var resolver = map[2];
527
+ var matched = Platform.userAgent.match(regexp);
528
+ if (matched !== null) {
529
+ Platform.os = {
530
+ name: os,
531
+ version: resolveVersion(matched[1], resolver),
532
+ };
533
+ break;
455
534
  }
456
535
  }
457
- catch (_) {
536
+ if (Platform.os.name === OS.iOS && compareVersion(Platform.os.version, '18.6') === 0) {
537
+ var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
538
+ if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
539
+ Platform.os.version = version[1];
458
540
  }
459
- }
460
- if (Platform.isNode) {
461
- try {
462
- var os = require('os');
463
- var platform = os.platform();
464
- var release = os.release();
465
- var version = getSemanticVersion(release);
466
- switch (platform) {
467
- case 'win32':
468
- Platform.os = OS.Windows;
469
- Platform.osVersion = resolveSemanticWindowsVersion(version, release);
470
- break;
471
- case 'darwin':
472
- Platform.os = OS.MacOS;
473
- Platform.osVersion = resolveSemanticDarwinVersion(version, release);
474
- break;
475
- case 'android':
476
- Platform.os = OS.Android;
477
- Platform.osVersion = release;
478
- break;
479
- case 'linux':
480
- if (/android/i.test(release)) {
481
- Platform.os = OS.Android;
482
- Platform.osVersion = release;
483
- }
484
- break;
541
+ for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
542
+ var map = ENGINE_RESOLVER_MAP[i];
543
+ var regexp = map[0];
544
+ var engine = map[1];
545
+ var resolver = map[2];
546
+ var matched = Platform.userAgent.match(regexp);
547
+ if (matched !== null) {
548
+ Platform.engine = {
549
+ name: engine,
550
+ version: resolveVersion(matched[1], resolver),
551
+ };
552
+ break;
485
553
  }
486
554
  }
487
- catch (_) {
555
+ for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
556
+ var map = BROWSER_RESOLVER_MAP[i];
557
+ var regexp = map[0];
558
+ var browser = map[1];
559
+ var resolver = map[2];
560
+ var matched = Platform.userAgent.match(regexp);
561
+ if (matched !== null) {
562
+ Platform.browser = {
563
+ name: browser,
564
+ version: resolveVersion(matched[1], resolver),
565
+ };
566
+ break;
567
+ }
488
568
  }
489
- }
490
- if (typeof globalThis.document !== 'undefined') {
491
- globalThis.document.addEventListener("deviceready", function () {
492
- Platform.crossPlatformFramework = CrossPlatformFramework.Cordova;
493
- if (Platform.os === OS.Unknown && typeof globalThis.device !== 'undefined') {
494
- switch (globalThis.device.platform) {
495
- case 'Android':
496
- Platform.os = OS.Android;
569
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
570
+ try {
571
+ var reactNative = require('react-native');
572
+ var platform = reactNative.Platform;
573
+ var os = platform.OS;
574
+ var release = '' + platform.Version;
575
+ var version = getSemanticVersion(release);
576
+ switch (os) {
577
+ case 'android':
578
+ Platform.os = {
579
+ name: OS.Android,
580
+ version: resolveSemanticAndroidVersion(version, release),
581
+ };
582
+ break;
583
+ case 'ios':
584
+ Platform.os = {
585
+ name: OS.iOS,
586
+ version: release,
587
+ };
588
+ break;
589
+ case 'windows':
590
+ Platform.os = {
591
+ name: OS.Windows,
592
+ version: resolveSemanticWindowsVersion(version, release),
593
+ };
497
594
  break;
498
- case 'iOS':
499
- Platform.os = OS.iOS;
595
+ case 'macos':
596
+ Platform.os = {
597
+ name: OS.MacOS,
598
+ version: release,
599
+ };
500
600
  break;
501
601
  }
502
- Platform.osVersion = globalThis.device.version;
503
602
  }
504
- }, false);
505
- }
506
- if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
507
- navigator
508
- .userAgentData
509
- .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
510
- .then(function (result) {
511
- var brands = result.fullVersionList || result.brands || [];
512
- var platformVersion = result.platformVersion;
513
- for (var i = 0; i < brands.length; i++) {
514
- var brand = normalizeBrand(brands[i]);
515
- var brandName = brand.brand;
516
- var brandVersion = brand.version;
517
- if (/not.a.brand/i.test(brandName))
518
- continue;
519
- if (brandName === "Chromium")
520
- Platform.engineVersion = brandVersion;
603
+ catch (_) {
521
604
  }
522
- if (typeof platformVersion === 'string') {
523
- if (Platform.os === OS.Windows && parseInt(platformVersion.replace(/[^\d.]/g, '').split('.')[0], 10) >= 13)
524
- Platform.osVersion = '11';
525
- else
526
- Platform.osVersion = platformVersion;
605
+ finally {
527
606
  }
528
- });
607
+ }
608
+ if (Platform.isNode) {
609
+ try {
610
+ var os = require('os');
611
+ var platform = os.platform();
612
+ var release = os.release();
613
+ var version = getSemanticVersion(release);
614
+ switch (platform) {
615
+ case 'win32':
616
+ Platform.os = {
617
+ name: OS.Windows,
618
+ version: resolveSemanticWindowsVersion(version, release),
619
+ };
620
+ break;
621
+ case 'darwin':
622
+ Platform.os = {
623
+ name: OS.MacOS,
624
+ version: resolveSemanticDarwinVersion(version, release),
625
+ };
626
+ break;
627
+ case 'android':
628
+ Platform.os = {
629
+ name: OS.Android,
630
+ version: release,
631
+ };
632
+ break;
633
+ case 'linux':
634
+ if (/android/i.test(release)) {
635
+ Platform.os = {
636
+ name: OS.Android,
637
+ version: release,
638
+ };
639
+ }
640
+ break;
641
+ }
642
+ }
643
+ catch (_) {
644
+ }
645
+ finally {
646
+ }
647
+ }
648
+ if (typeof globalThis.document !== 'undefined') {
649
+ if (typeof globalThis.device !== 'undefined') {
650
+ parseOSFromCordova();
651
+ }
652
+ else {
653
+ globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
654
+ }
655
+ }
656
+ if (canUseHighEntropyValues(globalThis.navigator)) {
657
+ globalThis
658
+ .navigator
659
+ .userAgentData
660
+ .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
661
+ .then(function (result) {
662
+ var brands = result.fullVersionList || result.brands || [];
663
+ var platformVersion = result.platformVersion;
664
+ var platform = result.platform;
665
+ var browserName = Platform.browser.name;
666
+ var prevBrandName = null;
667
+ for (var i = 0; i < brands.length; i++) {
668
+ var brand = normalizeBrand(brands[i]);
669
+ var brandVersion = brand.version;
670
+ var brandName = brand.brand;
671
+ if (/not.a.brand/i.test(brandName))
672
+ continue;
673
+ if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
674
+ brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
675
+ prevBrandName = browserName;
676
+ if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
677
+ browserName = brandName;
678
+ if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
679
+ Platform.browser.name = Browsers.Chrome;
680
+ else if (browserName === 'Edge' || browserName === 'Edge WebView2')
681
+ Platform.browser.name = Browsers.Edge;
682
+ else if (browserName === 'Opera Mobi')
683
+ Platform.browser.name = Browsers.Opera;
684
+ Platform.browser.version = brandVersion;
685
+ }
686
+ prevBrandName = brandName;
687
+ }
688
+ if (brandName === 'Chromium')
689
+ Platform.engine.version = brandVersion;
690
+ }
691
+ if (typeof platformVersion === 'string') {
692
+ if (Platform.os.name === OS.Windows)
693
+ Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
694
+ else
695
+ Platform.os.version = platformVersion;
696
+ }
697
+ if (typeof platform === 'string') {
698
+ if (/android/i.test(platform))
699
+ Platform.os.name = OS.Android;
700
+ else if (/ios|iphone|ipad/i.test(platform))
701
+ Platform.os.name = OS.iOS;
702
+ else if (/windows|win32/i.test(platform))
703
+ Platform.os.name = OS.Windows;
704
+ else if (/macos|macintel/i.test(platform))
705
+ Platform.os.name = OS.MacOS;
706
+ }
707
+ if (result.mobile === true)
708
+ Platform.device = Devices.Mobile;
709
+ });
710
+ }
529
711
  }
530
- Platform.device = Platform.os === OS.iOS || Platform.os === OS.Android ? Devices.Mobile : Platform.os === OS.Windows || Platform.os === OS.MacOS ? Devices.Desktop : Devices.Unknown;
531
- Platform.isMobile = Platform.device === Devices.Mobile;
532
- Platform.isDesktop = Platform.device === Devices.Desktop;
533
- Platform.isStandalone = getIsStandalone(Platform.os);
712
+ init();
534
713
 
535
714
  var currentAppearance = null;
536
715
  var appearanceIntervalId = null;
@@ -596,7 +775,7 @@ function getAppearance() {
596
775
  return new Promise(function (resolve) {
597
776
  resolve(getAppearanceFromElectron());
598
777
  });
599
- if (Platform.browser === Browsers.SamsungInternet)
778
+ if (Platform.browser.name === Browsers.SamsungInternet)
600
779
  return getAppearanceFromEngine();
601
780
  return new Promise(function (resolve) {
602
781
  resolve(getAppearanceFromMediaQuery());
@@ -680,7 +859,7 @@ function removeEntry(entry) {
680
859
  if (index !== -1)
681
860
  ENTRIES.splice(index, 1);
682
861
  if (ENTRIES.length === 0) {
683
- if (Platform.browser === Browsers.SamsungInternet)
862
+ if (Platform.browser.name === Browsers.SamsungInternet)
684
863
  stopPolling();
685
864
  else
686
865
  removeListener(entry.capture);
@@ -745,7 +924,7 @@ function onchange(listener, options) {
745
924
  if (index === -1) {
746
925
  ENTRIES.push(entry);
747
926
  if (ENTRIES.length === 1) {
748
- if (Platform.browser === Browsers.SamsungInternet)
927
+ if (Platform.browser.name === Browsers.SamsungInternet)
749
928
  startPolling();
750
929
  else
751
930
  addListener(entry.capture);