native-fn 1.0.76 → 1.0.78

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 (51) hide show
  1. package/dist/native.cjs +1 -1
  2. package/dist/native.min.cjs +1 -1
  3. package/dist/native.min.mjs +1 -1
  4. package/dist/native.mjs +1 -1
  5. package/dist/native.umd.js +1 -1
  6. package/dist/native.umd.min.js +1 -1
  7. package/dist/plugin/app/index.cjs +95 -51
  8. package/dist/plugin/app/index.min.cjs +1 -1
  9. package/dist/plugin/app/index.min.mjs +1 -1
  10. package/dist/plugin/app/index.mjs +95 -51
  11. package/dist/plugin/app/index.umd.js +95 -51
  12. package/dist/plugin/app/index.umd.min.js +1 -1
  13. package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +2 -0
  14. package/dist/plugin/appearance/index.cjs +95 -51
  15. package/dist/plugin/appearance/index.min.cjs +1 -1
  16. package/dist/plugin/appearance/index.min.mjs +1 -1
  17. package/dist/plugin/appearance/index.mjs +95 -51
  18. package/dist/plugin/appearance/index.umd.js +95 -51
  19. package/dist/plugin/appearance/index.umd.min.js +1 -1
  20. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +2 -0
  21. package/dist/plugin/clipboard/index.cjs +95 -51
  22. package/dist/plugin/clipboard/index.min.cjs +1 -1
  23. package/dist/plugin/clipboard/index.min.mjs +1 -1
  24. package/dist/plugin/clipboard/index.mjs +95 -51
  25. package/dist/plugin/clipboard/index.umd.js +95 -51
  26. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  27. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +2 -0
  28. package/dist/plugin/fullscreen/index.cjs +95 -51
  29. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  30. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  31. package/dist/plugin/fullscreen/index.mjs +95 -51
  32. package/dist/plugin/fullscreen/index.umd.js +95 -51
  33. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  34. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +2 -0
  35. package/dist/plugin/platform/index.cjs +95 -51
  36. package/dist/plugin/platform/index.d.ts +2 -0
  37. package/dist/plugin/platform/index.min.cjs +1 -1
  38. package/dist/plugin/platform/index.min.mjs +1 -1
  39. package/dist/plugin/platform/index.mjs +95 -51
  40. package/dist/plugin/platform/index.umd.js +95 -51
  41. package/dist/plugin/platform/index.umd.min.js +1 -1
  42. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +2 -0
  43. package/dist/plugin/theme/index.cjs +95 -51
  44. package/dist/plugin/theme/index.min.cjs +1 -1
  45. package/dist/plugin/theme/index.min.mjs +1 -1
  46. package/dist/plugin/theme/index.mjs +95 -51
  47. package/dist/plugin/theme/index.umd.js +95 -51
  48. package/dist/plugin/theme/index.umd.min.js +1 -1
  49. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +2 -0
  50. package/dist/src/plugin/platform/types/platform.d.ts +2 -0
  51. package/package.json +7 -7
@@ -103,12 +103,18 @@
103
103
  })(CrossPlatformFramework || (CrossPlatformFramework = {}));
104
104
  var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
105
105
 
106
+ var readyState = 'loading';
107
+ var readyCallback = [];
108
+ var pendingTasks = 0;
106
109
  var Platform = {
107
110
  os: { name: OS.Unknown, version: '' },
108
111
  engine: { name: Engines.Unknown, version: '' },
109
112
  browser: { name: Browsers.Unknown, version: '' },
110
113
  crossPlatformFramework: CrossPlatformFramework.Unknown,
111
114
  userAgent: USER_AGENT,
115
+ get readyState() {
116
+ return readyState;
117
+ },
112
118
  get network() {
113
119
  return getNetwork();
114
120
  },
@@ -141,6 +147,18 @@
141
147
  return false;
142
148
  return globalThis.matchMedia('(display-mode: standalone)').matches;
143
149
  },
150
+ onready: function (callback) {
151
+ if (this.readyState === 'complete') {
152
+ try {
153
+ callback(this);
154
+ }
155
+ catch (_) {
156
+ }
157
+ }
158
+ else {
159
+ readyCallback.push(callback);
160
+ }
161
+ }
144
162
  };
145
163
  var OS_RESOLVER_MAP = [
146
164
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
@@ -208,6 +226,26 @@
208
226
  'HeadlessChrome': 'Chrome Headless',
209
227
  'OperaMobile': 'Opera Mobi',
210
228
  };
229
+ function incrementPendingTasks() {
230
+ pendingTasks++;
231
+ }
232
+ function decrementPendingTasks() {
233
+ pendingTasks--;
234
+ checkReady();
235
+ }
236
+ function checkReady() {
237
+ if (pendingTasks === 0 && readyState === 'loading') {
238
+ readyState = 'complete';
239
+ for (var i = 0; i < readyCallback.length; i++) {
240
+ try {
241
+ readyCallback[i](Platform);
242
+ }
243
+ catch (_) {
244
+ }
245
+ }
246
+ readyCallback.length = 0;
247
+ }
248
+ }
211
249
  function resolveWindowsVersion(string) {
212
250
  if (string === undefined)
213
251
  return '';
@@ -408,6 +446,7 @@
408
446
  break;
409
447
  }
410
448
  }
449
+ decrementPendingTasks();
411
450
  }
412
451
  function getRenderer() {
413
452
  if (typeof globalThis.document === 'undefined')
@@ -517,9 +556,6 @@
517
556
  }
518
557
  return network;
519
558
  }
520
- function canUseHighEntropyValues(navigator) {
521
- return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
522
- }
523
559
  function init() {
524
560
  if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
525
561
  Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
@@ -652,6 +688,7 @@
652
688
  }
653
689
  }
654
690
  if (typeof globalThis.document !== 'undefined') {
691
+ incrementPendingTasks();
655
692
  if (typeof globalThis.device !== 'undefined') {
656
693
  parseOSFromCordova();
657
694
  }
@@ -659,61 +696,68 @@
659
696
  globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
660
697
  }
661
698
  }
662
- if (canUseHighEntropyValues(globalThis.navigator)) {
663
- globalThis
664
- .navigator
665
- .userAgentData
666
- .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
699
+ if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
700
+ incrementPendingTasks();
701
+ globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
667
702
  .then(function (result) {
668
- var brands = result.fullVersionList || result.brands || [];
669
- var platformVersion = result.platformVersion;
670
- var platform = result.platform;
671
- var browserName = Platform.browser.name;
672
- var prevBrandName = null;
673
- for (var i = 0; i < brands.length; i++) {
674
- var brand = normalizeBrand(brands[i]);
675
- var brandVersion = brand.version;
676
- var brandName = brand.brand;
677
- if (/not.a.brand/i.test(brandName))
678
- continue;
679
- if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
680
- brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
681
- prevBrandName = browserName;
682
- if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
683
- browserName = brandName;
684
- if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
685
- Platform.browser.name = Browsers.Chrome;
686
- else if (browserName === 'Edge' || browserName === 'Edge WebView2')
687
- Platform.browser.name = Browsers.Edge;
688
- else if (browserName === 'Opera Mobi')
689
- Platform.browser.name = Browsers.Opera;
690
- Platform.browser.version = brandVersion;
703
+ try {
704
+ var brands = result.fullVersionList || result.brands || [];
705
+ var platformVersion = result.platformVersion;
706
+ var platform = result.platform;
707
+ var browserName = Platform.browser.name;
708
+ var prevBrandName = null;
709
+ for (var i = 0; i < brands.length; i++) {
710
+ var brand = normalizeBrand(brands[i]);
711
+ var brandVersion = brand.version;
712
+ var brandName = brand.brand;
713
+ if (/not.a.brand/i.test(brandName))
714
+ continue;
715
+ if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
716
+ brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
717
+ prevBrandName = browserName;
718
+ if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
719
+ browserName = brandName;
720
+ if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
721
+ Platform.browser.name = Browsers.Chrome;
722
+ else if (browserName === 'Edge' || browserName === 'Edge WebView2')
723
+ Platform.browser.name = Browsers.Edge;
724
+ else if (browserName === 'Opera Mobi')
725
+ Platform.browser.name = Browsers.Opera;
726
+ Platform.browser.version = brandVersion;
727
+ }
728
+ prevBrandName = brandName;
691
729
  }
692
- prevBrandName = brandName;
730
+ if (brandName === 'Chromium')
731
+ Platform.engine.version = brandVersion;
693
732
  }
694
- if (brandName === 'Chromium')
695
- Platform.engine.version = brandVersion;
733
+ if (typeof platformVersion === 'string') {
734
+ if (Platform.os.name === OS.Windows)
735
+ Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
736
+ else
737
+ Platform.os.version = platformVersion;
738
+ }
739
+ if (typeof platform === 'string') {
740
+ if (/android/i.test(platform))
741
+ Platform.os.name = OS.Android;
742
+ else if (/ios|iphone|ipad/i.test(platform))
743
+ Platform.os.name = OS.iOS;
744
+ else if (/windows|win32/i.test(platform))
745
+ Platform.os.name = OS.Windows;
746
+ else if (/macos|macintel/i.test(platform))
747
+ Platform.os.name = OS.MacOS;
748
+ }
749
+ if (result.mobile === true)
750
+ Platform.device = Devices.Mobile;
696
751
  }
697
- if (typeof platformVersion === 'string') {
698
- if (Platform.os.name === OS.Windows)
699
- Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
700
- else
701
- Platform.os.version = platformVersion;
752
+ catch (_) {
702
753
  }
703
- if (typeof platform === 'string') {
704
- if (/android/i.test(platform))
705
- Platform.os.name = OS.Android;
706
- else if (/ios|iphone|ipad/i.test(platform))
707
- Platform.os.name = OS.iOS;
708
- else if (/windows|win32/i.test(platform))
709
- Platform.os.name = OS.Windows;
710
- else if (/macos|macintel/i.test(platform))
711
- Platform.os.name = OS.MacOS;
754
+ finally {
755
+ decrementPendingTasks();
712
756
  }
713
- if (result.mobile === true)
714
- Platform.device = Devices.Mobile;
715
- });
757
+ })
758
+ .catch(decrementPendingTasks);
716
759
  }
760
+ checkReady();
717
761
  }
718
762
  init();
719
763
 
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).Appearance=n()}(this,(function(){"use strict";var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var n,o,r,i,t,a=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"!==a.media,l="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,c=[];!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"}(o||(o={})),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"}(r||(r={})),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"}(t||(t={}));var m=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d={os:{name:n.Unknown,version:""},engine:{name:r.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:t.Unknown,userAgent:m,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 o=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;void 0!==o&&(void 0!==o.effectiveType&&(e.effectiveType=o.effectiveType),void 0!==o.type&&(e.type=o.type),void 0!==o.downlink&&(e.downlink=o.downlink),void 0!==o.rtt&&(e.rtt=o.rtt),void 0!==o.saveData&&(e.saveData=o.saveData))}if(d.isNode){try{for(var r=require("os").networkInterfaces(),i=Object.keys(r),t=0;t<i.length;t++){for(var a=r[i[t]],s=0;s<a.length;s++){var l=a[s];l.internal||"IPv4"!==l.family||(e.isOnline=!0)}if(e.isOnline)break}}catch(e){}try{var c=require("child_process");if(d.os.name===n.Windows){try{(m=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&m.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(m=c.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 m=c.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),u=c.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});u.includes("en0")&&m.includes("Wi-Fi")?e.type="wifi":u.includes("en")||m.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?o.Mobile:this.os.name===n.Windows||this.os.name===n.MacOS?o.Desktop:o.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 o=n.getExtension("WEBGL_debug_renderer_info");return null===o?n.getParameter(n.RENDERER):n.getParameter(o.UNMASKED_RENDERER_WEBGL)}return""}()},get isMobile(){return this.device===o.Mobile},get isDesktop(){return this.device===o.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,r.EdgeHTML],[/arkweb\/([\w.]+)/i,r.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,r.Blink],[/presto\/([\w.]+)/i,r.Presto],[/webkit\/([\w.]+)/i,r.WebKit],[/trident\/([\w.]+)/i,r.Trident],[/netfront\/([\w.]+)/i,r.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,r.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,r.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,r.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=t.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(m))&&(d.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(d.crossPlatformFramework=t.ReactNative);for(var e=0;e<u.length;e++){var r=(w=u[e])[0],a=w[1],s=w[2];if(null!==(h=d.userAgent.match(r))){d.os={name:a,version:T(h[1],s)};break}}var l;for(d.os.name===n.iOS&&0===function(e,n){for(var o=e.split("."),r=n.split("."),i=Math.max(o.length,r.length),t=0;t<i;t++){var a=void 0,s=void 0;if((a=t<o.length?parseInt(o[t],10):0)>(s=t<r.length?parseInt(r[t],10):0))return 1;if(a<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++){r=(w=v[e])[0];var c=w[1];s=w[2];if(null!==(h=d.userAgent.match(r))){d.engine={name:c,version:T(h[1],s)};break}}for(e=0;e<f.length;e++){r=(w=f[e])[0];var w,h,E=w[1];s=w[2];if(null!==(h=d.userAgent.match(r))){d.browser={name:E,version:T(h[1],s)};break}}if(d.crossPlatformFramework===t.ReactNative)try{a=(x=require("react-native").Platform).OS;var S=j(O=""+x.Version);switch(a){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=(a=require("os")).platform();S=j(O=a.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 r,t=e.fullVersionList||e.brands||[],a=e.platformVersion,s=e.platform,l=d.browser.name,c=null,m=0;m<t.length;m++){var u=null==(r=t[m])?{brand:"",version:""}:"string"==typeof r?{brand:r,version:""}:{brand:r.brand,version:r.version},v=u.version,f=u.brand;/not.a.brand/i.test(f)||((null===c||/Chrom/.test(c)&&"Chromium"!==f||"Edge"===c&&/WebView2/.test(f))&&(f=g[f]||f,null!==(c=l)&&!/Chrom/.test(c)&&/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),c=f),"Chromium"===f&&(d.engine.version=v))}"string"==typeof a&&(d.os.name===n.Windows?d.os.version=parseInt(a.split(".")[0],10)>=13?"11":"10":d.os.version=a),"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=o.Mobile)}))}();var E=null,S=null;function O(){return new Promise((function(n){var o=new Image;o.onload=function(){if(null===l)return n(e.Light);l.drawImage(o,0,0);var r=l.getImageData(0,0,1,1).data;(r[0]&r[1]&r[2])<255?n(e.Dark):n(e.Light)},o.onerror=function(){n(e.Unknown)},o.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function x(){return s?a.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===t.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):d.crossPlatformFramework===t.Electron?new Promise((function(e){e(C())})):d.browser.name===i.SamsungInternet?O():new Promise((function(e){e(x())}))}function L(n){var o;(o=n.matches?e.Dark:e.Light)!==E&&W(E=o)}function W(e){for(var n=0;n<c.length;n++){var o=c[n];o.fn(e),o.once&&A(o)}}function A(e){var n,o=I(e);-1!==o&&c.splice(o,1),0===c.length&&(d.browser.name===i.SamsungInternet?(E=null,null!==S&&(clearInterval(S),S=null)):(n=e.capture,E=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",L,n):"function"==typeof a.removeListener&&a.removeListener(L)))}function I(e){for(var n=0;n<c.length;n++)if(c[n].fn===e.fn&&c[n].capture===e.capture)return n;return-1}return{installed:!1,name:"Appearance",module:{get value(){return M()},set value(e){!function(e){if(d.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(d.crossPlatformFramework===t.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,o){void 0===o&&(o=!1);if(d.crossPlatformFramework===t.ReactNative)return function(n){try{var o=require("react-native").Appearance.addChangeListener((function(o){n(o.colorScheme||e.Unknown)}));return function(){o.remove()}}catch(e){}return function(){}}(n);if(d.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),o=function(){e(C())};return void 0!==n.nativeTheme.on&&n.nativeTheme.on("updated",o),function(){void 0!==n.nativeTheme.removeListener&&n.nativeTheme.removeListener("updated",o)}}catch(e){}return function(){}}(n);var r={fn:n,capture:!1,once:!1};"boolean"==typeof o&&(o={capture:o});void 0!==o.capture&&(r.capture=o.capture);void 0!==o.once&&(r.once=o.once);void 0!==o.signal&&(r.signal=o.signal);var s=I(r);-1===s?(c.push(r),1===c.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=r.capture,E=x(),"function"==typeof a.addEventListener?a.addEventListener("change",L,l):"function"==typeof a.addListener&&a.addListener(L))),M().then(W)):c[s].once&&!r.once&&(c[s].once=!1);var l;void 0!==r.signal&&(r.signal.aborted?A(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),A(r)})));return function(){A(r)}}},Constants:{Appearances:e},Errors:{}}}));
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).Appearance=n()}(this,(function(){"use strict";var e;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var n,o,r,i,t,a=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"!==a.media,l="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,c=[];!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"}(o||(o={})),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"}(r||(r={})),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"}(t||(t={}));var m=void 0!==globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?globalThis.navigator.userAgent:"",d="loading",u=[],v=0,f={os:{name:n.Unknown,version:""},engine:{name:r.Unknown,version:""},browser:{name:i.Unknown,version:""},crossPlatformFramework:t.Unknown,userAgent:m,get readyState(){return d},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 o=globalThis.navigator.connection||globalThis.navigator.mozConnection||globalThis.navigator.webkitConnection;void 0!==o&&(void 0!==o.effectiveType&&(e.effectiveType=o.effectiveType),void 0!==o.type&&(e.type=o.type),void 0!==o.downlink&&(e.downlink=o.downlink),void 0!==o.rtt&&(e.rtt=o.rtt),void 0!==o.saveData&&(e.saveData=o.saveData))}if(f.isNode){try{for(var r=require("os").networkInterfaces(),i=Object.keys(r),t=0;t<i.length;t++){for(var a=r[i[t]],s=0;s<a.length;s++){var l=a[s];l.internal||"IPv4"!==l.family||(e.isOnline=!0)}if(e.isOnline)break}}catch(e){}try{var c=require("child_process");if(f.os.name===n.Windows){try{(m=c.execSync("netsh wlan show interfaces",{encoding:"utf8",timeout:5e3})).includes("State")&&m.includes("connected")&&(e.type="wifi")}catch(e){}if(null===e.type)try{(m=c.execSync("ipconfig",{encoding:"utf8",timeout:5e3})).includes("Ethernet adapter")&&(e.type="ethernet")}catch(e){}null===e.type&&(e.type="other")}else if(f.os.name===n.MacOS)try{var m=c.execSync("networksetup -listallhardwareports",{encoding:"utf8",timeout:5e3}),d=c.execSync("route -n get default | grep interface",{encoding:"utf8",timeout:5e3});d.includes("en0")&&m.includes("Wi-Fi")?e.type="wifi":d.includes("en")||m.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?o.Mobile:this.os.name===n.Windows||this.os.name===n.MacOS?o.Desktop:o.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 o=n.getExtension("WEBGL_debug_renderer_info");return null===o?n.getParameter(n.RENDERER):n.getParameter(o.UNMASKED_RENDERER_WEBGL)}return""}()},get isMobile(){return this.device===o.Mobile},get isDesktop(){return this.device===o.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},onready:function(e){if("complete"===this.readyState)try{e(this)}catch(e){}else u.push(e)}},g=[[/windows nt (6\.[23]); arm/i,n.Windows,j],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,n.Windows,j],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,n.Windows,j],[/windows nt ?([\d.)]*)(?!.+xbox)/i,n.Windows,j],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,n.Windows,j],[/windows ce\/?([\d.]*)/i,n.Windows,j],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,n.iOS,y],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,n.iOS,y],[/cfnetwork\/.+darwin/i,n.iOS,y],[/mac os x ?([\w. ]*)/i,n.MacOS,y],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,n.MacOS,y],[/droid ([\w.]+)\b.+(android[- ]x86)/i,n.Android],[/android\w*[-\/.; ]?([\d.]*)/i,n.Android]],h=[[/windows.+ edge\/([\w.]+)/i,r.EdgeHTML],[/arkweb\/([\w.]+)/i,r.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,r.Blink],[/presto\/([\w.]+)/i,r.Presto],[/webkit\/([\w.]+)/i,r.WebKit],[/trident\/([\w.]+)/i,r.Trident],[/netfront\/([\w.]+)/i,r.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,r.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,r.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,r.Gecko]],w=[[/\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]],b={"Google Chrome":"Chrome","Microsoft Edge":"Edge","Microsoft Edge WebView2":"Edge WebView2","Android WebView":"Chrome WebView",HeadlessChrome:"Chrome Headless",OperaMobile:"Opera Mobi"};function p(){v++}function k(){v--,T()}function T(){if(0===v&&"loading"===d){d="complete";for(var e=0;e<u.length;e++)try{u[e](f)}catch(e){}u.length=0}}function j(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 y(e){return void 0===e?"":e.replace(/_/g,".")}function E(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 S(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 O(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 x(e,n){return"function"==typeof n?n(e):"string"==typeof n?n:void 0===e?"":e}function C(e){var n=e.split(".");return{major:parseInt(n[0]||"0"),minor:parseInt(n[1]||"0"),build:parseInt(n[2]||"0")}}function M(){if(f.crossPlatformFramework=t.Cordova,void 0!==globalThis.device)switch(globalThis.device.platform){case"Android":f.os={name:n.Android,version:globalThis.device.version};break;case"iOS":f.os={name:n.iOS,version:globalThis.device.version}}k()}!function(){(void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(m))&&(f.crossPlatformFramework=t.Electron),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product&&(f.crossPlatformFramework=t.ReactNative);for(var e=0;e<g.length;e++){var r=(c=g[e])[0],a=c[1],s=c[2];if(null!==(d=f.userAgent.match(r))){f.os={name:a,version:x(d[1],s)};break}}for(f.os.name===n.iOS&&0===function(e,n){for(var o=e.split("."),r=n.split("."),i=Math.max(o.length,r.length),t=0;t<i;t++){var a=void 0,s=void 0;if((a=t<o.length?parseInt(o[t],10):0)>(s=t<r.length?parseInt(r[t],10):0))return 1;if(a<s)return-1}return 0}(f.os.version,"18.6")&&null!==(v=/\) Version\/([\d.]+)/.exec(f.userAgent))&&parseInt(v[1].substring(0,2),10)>=26&&(f.os.version=v[1]),e=0;e<h.length;e++){r=(c=h[e])[0];var l=c[1];s=c[2];if(null!==(d=f.userAgent.match(r))){f.engine={name:l,version:x(d[1],s)};break}}for(e=0;e<w.length;e++){r=(c=w[e])[0];var c,d,u=c[1];s=c[2];if(null!==(d=f.userAgent.match(r))){f.browser={name:u,version:x(d[1],s)};break}}if(f.crossPlatformFramework===t.ReactNative)try{a=(y=require("react-native").Platform).OS;var v=C(j=""+y.Version);switch(a){case"android":f.os={name:n.Android,version:O(v,j)};break;case"ios":f.os={name:n.iOS,version:j};break;case"windows":f.os={name:n.Windows,version:E(v,j)};break;case"macos":f.os={name:n.MacOS,version:j}}}catch(e){}if(f.isNode)try{var j,y=(a=require("os")).platform();v=C(j=a.release());switch(y){case"win32":f.os={name:n.Windows,version:E(v,j)};break;case"darwin":f.os={name:n.MacOS,version:S(v,j)};break;case"android":f.os={name:n.Android,version:j};break;case"linux":/android/i.test(j)&&(f.os={name:n.Android,version:j})}}catch(e){}void 0!==globalThis.document&&(p(),void 0!==globalThis.device?M():globalThis.document.addEventListener("deviceready",M,!1)),void 0!==globalThis.navigator&&void 0!==globalThis.navigator.userAgentData&&void 0!==globalThis.navigator.userAgentData.getHighEntropyValues&&(p(),globalThis.navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){try{for(var r=e.fullVersionList||e.brands||[],t=e.platformVersion,a=e.platform,s=f.browser.name,l=null,c=0;c<r.length;c++){var m=null==(v=r[c])?{brand:"",version:""}:"string"==typeof v?{brand:v,version:""}:{brand:v.brand,version:v.version},d=m.version,u=m.brand;/not.a.brand/i.test(u)||((null===l||/Chrom/.test(l)&&"Chromium"!==u||"Edge"===l&&/WebView2/.test(u))&&(u=b[u]||u,null!==(l=s)&&!/Chrom/.test(l)&&/Chrom/.test(u)||("Chrome"===(s=u)||"Chrome WebView"===s||"Chrome Headless"===s?f.browser.name=i.Chrome:"Edge"===s||"Edge WebView2"===s?f.browser.name=i.Edge:"Opera Mobi"===s&&(f.browser.name=i.Opera),f.browser.version=d),l=u),"Chromium"===u&&(f.engine.version=d))}"string"==typeof t&&(f.os.name===n.Windows?f.os.version=parseInt(t.split(".")[0],10)>=13?"11":"10":f.os.version=t),"string"==typeof a&&(/android/i.test(a)?f.os.name=n.Android:/ios|iphone|ipad/i.test(a)?f.os.name=n.iOS:/windows|win32/i.test(a)?f.os.name=n.Windows:/macos|macintel/i.test(a)&&(f.os.name=n.MacOS)),!0===e.mobile&&(f.device=o.Mobile)}catch(e){}finally{k()}var v})).catch(k)),T()}();var L=null,W=null;function A(){return new Promise((function(n){var o=new Image;o.onload=function(){if(null===l)return n(e.Light);l.drawImage(o,0,0);var r=l.getImageData(0,0,1,1).data;(r[0]&r[1]&r[2])<255?n(e.Dark):n(e.Light)},o.onerror=function(){n(e.Unknown)},o.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function I(){return s?a.matches?e.Dark:e.Light:e.Unknown}function N(){try{return require("electron").nativeTheme.shouldUseDarkColors?e.Dark:e.Light}catch(n){return e.Unknown}}function P(){return f.crossPlatformFramework===t.ReactNative?new Promise((function(n){n(function(){try{return require("react-native").Appearance.getColorScheme()||e.Unknown}catch(n){return e.Unknown}}())})):f.crossPlatformFramework===t.Electron?new Promise((function(e){e(N())})):f.browser.name===i.SamsungInternet?A():new Promise((function(e){e(I())}))}function F(n){var o;(o=n.matches?e.Dark:e.Light)!==L&&D(L=o)}function D(e){for(var n=0;n<c.length;n++){var o=c[n];o.fn(e),o.once&&U(o)}}function U(e){var n,o=R(e);-1!==o&&c.splice(o,1),0===c.length&&(f.browser.name===i.SamsungInternet?(L=null,null!==W&&(clearInterval(W),W=null)):(n=e.capture,L=null,"function"==typeof a.removeEventListener?a.removeEventListener("change",F,n):"function"==typeof a.removeListener&&a.removeListener(F)))}function R(e){for(var n=0;n<c.length;n++)if(c[n].fn===e.fn&&c[n].capture===e.capture)return n;return-1}return{installed:!1,name:"Appearance",module:{get value(){return P()},set value(e){!function(e){if(f.crossPlatformFramework===t.ReactNative)try{return void require("react-native").Appearance.setColorScheme(e)}catch(e){}if(f.crossPlatformFramework===t.Electron)try{return void(require("electron").nativeTheme.themeSource=e||"system")}catch(e){}}(e)},onchange:function(n,o){void 0===o&&(o=!1);if(f.crossPlatformFramework===t.ReactNative)return function(n){try{var o=require("react-native").Appearance.addChangeListener((function(o){n(o.colorScheme||e.Unknown)}));return function(){o.remove()}}catch(e){}return function(){}}(n);if(f.crossPlatformFramework===t.Electron)return function(e){try{var n=require("electron"),o=function(){e(N())};return void 0!==n.nativeTheme.on&&n.nativeTheme.on("updated",o),function(){void 0!==n.nativeTheme.removeListener&&n.nativeTheme.removeListener("updated",o)}}catch(e){}return function(){}}(n);var r={fn:n,capture:!1,once:!1};"boolean"==typeof o&&(o={capture:o});void 0!==o.capture&&(r.capture=o.capture);void 0!==o.once&&(r.once=o.once);void 0!==o.signal&&(r.signal=o.signal);var s=R(r);-1===s?(c.push(r),1===c.length&&(f.browser.name===i.SamsungInternet?(A().then((function(e){L=e})),W=globalThis.setInterval((function(){A().then((function(e){e!==L&&(L=e,D(e))}))}),2e3)):(l=r.capture,L=I(),"function"==typeof a.addEventListener?a.addEventListener("change",F,l):"function"==typeof a.addListener&&a.addListener(F))),P().then(D)):c[s].once&&!r.once&&(c[s].once=!1);var l;void 0!==r.signal&&(r.signal.aborted?U(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),U(r)})));return function(){U(r)}}},Constants:{Appearances:e},Errors:{}}}));
@@ -8,11 +8,13 @@ export declare interface PlatformInstance {
8
8
  network: Network;
9
9
  renderer: string;
10
10
  userAgent: string;
11
+ readyState: 'loading' | 'complete';
11
12
  isNode: boolean;
12
13
  isStandalone: boolean;
13
14
  isMobile: boolean;
14
15
  isDesktop: boolean;
15
16
  isWebview: boolean;
17
+ onready(callback: (platform: PlatformInstance) => void): void;
16
18
  }
17
19
  export declare interface NameVersionPair<T> {
18
20
  name: T;
@@ -280,12 +280,18 @@ var CrossPlatformFramework;
280
280
  })(CrossPlatformFramework || (CrossPlatformFramework = {}));
281
281
  var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
282
282
 
283
+ var readyState = 'loading';
284
+ var readyCallback = [];
285
+ var pendingTasks = 0;
283
286
  var Platform = {
284
287
  os: { name: OS.Unknown, version: '' },
285
288
  engine: { name: Engines.Unknown, version: '' },
286
289
  browser: { name: Browsers.Unknown, version: '' },
287
290
  crossPlatformFramework: CrossPlatformFramework.Unknown,
288
291
  userAgent: USER_AGENT,
292
+ get readyState() {
293
+ return readyState;
294
+ },
289
295
  get network() {
290
296
  return getNetwork();
291
297
  },
@@ -318,6 +324,18 @@ var Platform = {
318
324
  return false;
319
325
  return globalThis.matchMedia('(display-mode: standalone)').matches;
320
326
  },
327
+ onready: function (callback) {
328
+ if (this.readyState === 'complete') {
329
+ try {
330
+ callback(this);
331
+ }
332
+ catch (_) {
333
+ }
334
+ }
335
+ else {
336
+ readyCallback.push(callback);
337
+ }
338
+ }
321
339
  };
322
340
  var OS_RESOLVER_MAP = [
323
341
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
@@ -385,6 +403,26 @@ var HIGH_ENTROPY_BRAND_NAME_MAP = {
385
403
  'HeadlessChrome': 'Chrome Headless',
386
404
  'OperaMobile': 'Opera Mobi',
387
405
  };
406
+ function incrementPendingTasks() {
407
+ pendingTasks++;
408
+ }
409
+ function decrementPendingTasks() {
410
+ pendingTasks--;
411
+ checkReady();
412
+ }
413
+ function checkReady() {
414
+ if (pendingTasks === 0 && readyState === 'loading') {
415
+ readyState = 'complete';
416
+ for (var i = 0; i < readyCallback.length; i++) {
417
+ try {
418
+ readyCallback[i](Platform);
419
+ }
420
+ catch (_) {
421
+ }
422
+ }
423
+ readyCallback.length = 0;
424
+ }
425
+ }
388
426
  function resolveWindowsVersion(string) {
389
427
  if (string === undefined)
390
428
  return '';
@@ -585,6 +623,7 @@ function parseOSFromCordova() {
585
623
  break;
586
624
  }
587
625
  }
626
+ decrementPendingTasks();
588
627
  }
589
628
  function getRenderer() {
590
629
  if (typeof globalThis.document === 'undefined')
@@ -694,9 +733,6 @@ function getNetwork() {
694
733
  }
695
734
  return network;
696
735
  }
697
- function canUseHighEntropyValues(navigator) {
698
- return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
699
- }
700
736
  function init() {
701
737
  if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
702
738
  Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
@@ -829,6 +865,7 @@ function init() {
829
865
  }
830
866
  }
831
867
  if (typeof globalThis.document !== 'undefined') {
868
+ incrementPendingTasks();
832
869
  if (typeof globalThis.device !== 'undefined') {
833
870
  parseOSFromCordova();
834
871
  }
@@ -836,61 +873,68 @@ function init() {
836
873
  globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
837
874
  }
838
875
  }
839
- if (canUseHighEntropyValues(globalThis.navigator)) {
840
- globalThis
841
- .navigator
842
- .userAgentData
843
- .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
876
+ if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
877
+ incrementPendingTasks();
878
+ globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
844
879
  .then(function (result) {
845
- var brands = result.fullVersionList || result.brands || [];
846
- var platformVersion = result.platformVersion;
847
- var platform = result.platform;
848
- var browserName = Platform.browser.name;
849
- var prevBrandName = null;
850
- for (var i = 0; i < brands.length; i++) {
851
- var brand = normalizeBrand(brands[i]);
852
- var brandVersion = brand.version;
853
- var brandName = brand.brand;
854
- if (/not.a.brand/i.test(brandName))
855
- continue;
856
- if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
857
- brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
858
- prevBrandName = browserName;
859
- if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
860
- browserName = brandName;
861
- if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
862
- Platform.browser.name = Browsers.Chrome;
863
- else if (browserName === 'Edge' || browserName === 'Edge WebView2')
864
- Platform.browser.name = Browsers.Edge;
865
- else if (browserName === 'Opera Mobi')
866
- Platform.browser.name = Browsers.Opera;
867
- Platform.browser.version = brandVersion;
880
+ try {
881
+ var brands = result.fullVersionList || result.brands || [];
882
+ var platformVersion = result.platformVersion;
883
+ var platform = result.platform;
884
+ var browserName = Platform.browser.name;
885
+ var prevBrandName = null;
886
+ for (var i = 0; i < brands.length; i++) {
887
+ var brand = normalizeBrand(brands[i]);
888
+ var brandVersion = brand.version;
889
+ var brandName = brand.brand;
890
+ if (/not.a.brand/i.test(brandName))
891
+ continue;
892
+ if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
893
+ brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
894
+ prevBrandName = browserName;
895
+ if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
896
+ browserName = brandName;
897
+ if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
898
+ Platform.browser.name = Browsers.Chrome;
899
+ else if (browserName === 'Edge' || browserName === 'Edge WebView2')
900
+ Platform.browser.name = Browsers.Edge;
901
+ else if (browserName === 'Opera Mobi')
902
+ Platform.browser.name = Browsers.Opera;
903
+ Platform.browser.version = brandVersion;
904
+ }
905
+ prevBrandName = brandName;
868
906
  }
869
- prevBrandName = brandName;
907
+ if (brandName === 'Chromium')
908
+ Platform.engine.version = brandVersion;
870
909
  }
871
- if (brandName === 'Chromium')
872
- Platform.engine.version = brandVersion;
910
+ if (typeof platformVersion === 'string') {
911
+ if (Platform.os.name === OS.Windows)
912
+ Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
913
+ else
914
+ Platform.os.version = platformVersion;
915
+ }
916
+ if (typeof platform === 'string') {
917
+ if (/android/i.test(platform))
918
+ Platform.os.name = OS.Android;
919
+ else if (/ios|iphone|ipad/i.test(platform))
920
+ Platform.os.name = OS.iOS;
921
+ else if (/windows|win32/i.test(platform))
922
+ Platform.os.name = OS.Windows;
923
+ else if (/macos|macintel/i.test(platform))
924
+ Platform.os.name = OS.MacOS;
925
+ }
926
+ if (result.mobile === true)
927
+ Platform.device = Devices.Mobile;
873
928
  }
874
- if (typeof platformVersion === 'string') {
875
- if (Platform.os.name === OS.Windows)
876
- Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
877
- else
878
- Platform.os.version = platformVersion;
929
+ catch (_) {
879
930
  }
880
- if (typeof platform === 'string') {
881
- if (/android/i.test(platform))
882
- Platform.os.name = OS.Android;
883
- else if (/ios|iphone|ipad/i.test(platform))
884
- Platform.os.name = OS.iOS;
885
- else if (/windows|win32/i.test(platform))
886
- Platform.os.name = OS.Windows;
887
- else if (/macos|macintel/i.test(platform))
888
- Platform.os.name = OS.MacOS;
931
+ finally {
932
+ decrementPendingTasks();
889
933
  }
890
- if (result.mobile === true)
891
- Platform.device = Devices.Mobile;
892
- });
934
+ })
935
+ .catch(decrementPendingTasks);
893
936
  }
937
+ checkReady();
894
938
  }
895
939
  init();
896
940