native-fn 1.0.41 → 1.0.43

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 (78) hide show
  1. package/dist/native.cjs +380 -1
  2. package/dist/native.min.cjs +1 -1
  3. package/dist/native.min.mjs +1 -1
  4. package/dist/native.mjs +380 -1
  5. package/dist/native.umd.js +380 -1
  6. package/dist/native.umd.min.js +1 -1
  7. package/dist/plugin/app/index.cjs +262 -98
  8. package/dist/plugin/app/index.d.ts +18 -0
  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 +262 -98
  12. package/dist/plugin/app/index.umd.js +262 -98
  13. package/dist/plugin/app/index.umd.min.js +1 -1
  14. package/dist/plugin/app/src/constants/platform.d.ts +21 -12
  15. package/dist/plugin/app/src/types/platform.d.ts +17 -0
  16. package/dist/plugin/app/src/utils/create-custom-error.d.ts +5 -0
  17. package/dist/plugin/app/src/utils/create-hidden-element.d.ts +1 -1
  18. package/dist/plugin/app/src/utils/dynamic-import.d.ts +1 -0
  19. package/dist/plugin/camera/index.cjs +248 -86
  20. package/dist/plugin/camera/index.min.cjs +1 -1
  21. package/dist/plugin/camera/index.min.mjs +1 -1
  22. package/dist/plugin/camera/index.mjs +248 -86
  23. package/dist/plugin/camera/index.umd.js +248 -86
  24. package/dist/plugin/camera/index.umd.min.js +1 -1
  25. package/dist/plugin/camera/src/constants/platform.d.ts +21 -12
  26. package/dist/plugin/camera/src/types/platform.d.ts +17 -0
  27. package/dist/plugin/camera/src/utils/create-custom-error.d.ts +5 -0
  28. package/dist/plugin/camera/src/utils/create-hidden-element.d.ts +1 -1
  29. package/dist/plugin/camera/src/utils/dynamic-import.d.ts +1 -0
  30. package/dist/plugin/clipboard/index.cjs +7 -4
  31. package/dist/plugin/clipboard/index.min.cjs +1 -1
  32. package/dist/plugin/clipboard/index.min.mjs +1 -1
  33. package/dist/plugin/clipboard/index.mjs +7 -4
  34. package/dist/plugin/clipboard/index.umd.js +7 -4
  35. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  36. package/dist/plugin/clipboard/src/constants/platform.d.ts +21 -12
  37. package/dist/plugin/clipboard/src/types/platform.d.ts +17 -0
  38. package/dist/plugin/clipboard/src/utils/create-custom-error.d.ts +5 -0
  39. package/dist/plugin/clipboard/src/utils/create-hidden-element.d.ts +1 -1
  40. package/dist/plugin/clipboard/src/utils/dynamic-import.d.ts +1 -0
  41. package/dist/plugin/fullscreen/index.cjs +241 -82
  42. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  43. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  44. package/dist/plugin/fullscreen/index.mjs +241 -82
  45. package/dist/plugin/fullscreen/index.umd.js +241 -82
  46. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  47. package/dist/plugin/fullscreen/src/constants/platform.d.ts +21 -12
  48. package/dist/plugin/fullscreen/src/types/platform.d.ts +17 -0
  49. package/dist/plugin/fullscreen/src/utils/create-custom-error.d.ts +5 -0
  50. package/dist/plugin/fullscreen/src/utils/create-hidden-element.d.ts +1 -1
  51. package/dist/plugin/fullscreen/src/utils/dynamic-import.d.ts +1 -0
  52. package/dist/plugin/platform/index.cjs +7 -7
  53. package/dist/plugin/platform/index.d.ts +18 -0
  54. package/dist/plugin/platform/index.min.cjs +1 -1
  55. package/dist/plugin/platform/index.min.mjs +1 -1
  56. package/dist/plugin/platform/index.mjs +7 -7
  57. package/dist/plugin/platform/index.umd.js +7 -7
  58. package/dist/plugin/platform/index.umd.min.js +1 -1
  59. package/dist/plugin/platform/src/constants/platform.d.ts +19 -0
  60. package/dist/plugin/platform/src/utils/create-custom-error.d.ts +5 -0
  61. package/dist/plugin/platform/src/utils/dynamic-import.d.ts +1 -0
  62. package/dist/plugin/theme/index.cjs +252 -91
  63. package/dist/plugin/theme/index.min.cjs +1 -1
  64. package/dist/plugin/theme/index.min.mjs +1 -1
  65. package/dist/plugin/theme/index.mjs +252 -91
  66. package/dist/plugin/theme/index.umd.js +252 -91
  67. package/dist/plugin/theme/index.umd.min.js +1 -1
  68. package/dist/plugin/theme/src/constants/platform.d.ts +21 -12
  69. package/dist/plugin/theme/src/types/platform.d.ts +17 -0
  70. package/dist/plugin/theme/src/utils/create-custom-error.d.ts +5 -0
  71. package/dist/plugin/theme/src/utils/create-hidden-element.d.ts +1 -1
  72. package/dist/plugin/theme/src/utils/dynamic-import.d.ts +1 -0
  73. package/dist/src/constants/platform.d.ts +21 -12
  74. package/dist/src/types/platform.d.ts +17 -0
  75. package/dist/src/utils/create-custom-error.d.ts +5 -0
  76. package/dist/src/utils/create-hidden-element.d.ts +1 -1
  77. package/dist/src/utils/dynamic-import.d.ts +1 -0
  78. package/package.json +1 -8
@@ -39,13 +39,6 @@ var Browsers;
39
39
  Browsers["IE"] = "IE";
40
40
  Browsers["SamsungInternet"] = "SamsungInternet";
41
41
  })(Browsers || (Browsers = {}));
42
- var DEVICE_NAME = Devices.Unknown;
43
- var OS_NAME = OS.Unknown;
44
- var OS_VERSION = '';
45
- var ENGINE_NAME = Engines.Unknown;
46
- var ENGINE_VERSION = '';
47
- var BROWSER_NAME = Browsers.Unknown;
48
- var BROWSER_VERSION = '';
49
42
  function resolveWindowsVersion(string) {
50
43
  if (string === undefined)
51
44
  return '';
@@ -140,6 +133,13 @@ var BROWSER_RESOLVER_MAP = [
140
133
  [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
141
134
  [/firefox\/([\w.]+)/i, Browsers.Firefox],
142
135
  ];
136
+ var DEVICE_NAME = Devices.Unknown;
137
+ var OS_NAME = OS.Unknown;
138
+ var OS_VERSION = '';
139
+ var ENGINE_NAME = Engines.Unknown;
140
+ var ENGINE_VERSION = '';
141
+ var BROWSER_NAME = Browsers.Unknown;
142
+ var BROWSER_VERSION = '';
143
143
  for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
144
144
  var map = OS_RESOLVER_MAP[i];
145
145
  var regexp = map[0];
@@ -45,13 +45,6 @@
45
45
  Browsers["IE"] = "IE";
46
46
  Browsers["SamsungInternet"] = "SamsungInternet";
47
47
  })(Browsers || (Browsers = {}));
48
- var DEVICE_NAME = Devices.Unknown;
49
- var OS_NAME = OS.Unknown;
50
- var OS_VERSION = '';
51
- var ENGINE_NAME = Engines.Unknown;
52
- var ENGINE_VERSION = '';
53
- var BROWSER_NAME = Browsers.Unknown;
54
- var BROWSER_VERSION = '';
55
48
  function resolveWindowsVersion(string) {
56
49
  if (string === undefined)
57
50
  return '';
@@ -146,6 +139,13 @@
146
139
  [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
147
140
  [/firefox\/([\w.]+)/i, Browsers.Firefox],
148
141
  ];
142
+ var DEVICE_NAME = Devices.Unknown;
143
+ var OS_NAME = OS.Unknown;
144
+ var OS_VERSION = '';
145
+ var ENGINE_NAME = Engines.Unknown;
146
+ var ENGINE_VERSION = '';
147
+ var BROWSER_NAME = Browsers.Unknown;
148
+ var BROWSER_VERSION = '';
149
149
  for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
150
150
  var map = OS_RESOLVER_MAP[i];
151
151
  var regexp = map[0];
@@ -1 +1 @@
1
- !function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(e="undefined"!=typeof globalThis?globalThis:e||self).Platform=i()}(this,(function(){"use strict";var e,i,n,o,r=navigator.userAgent;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(e||(e={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(i||(i={})),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"}(o||(o={}));var t=i.Unknown,a=e.Unknown,s="",d=n.Unknown,w="",l=o.Unknown,f="";function b(e){if(void 0===e)return"";var i={"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!==i?i:e}function m(e){return void 0===e?"":e.replace(/_/g,".")}function g(e,i){return"function"==typeof i?i(e):"string"==typeof i?i:void 0===e?"":e}for(var c=[[/windows nt (6\.[23]); arm/i,e.Windows,b],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,e.Windows,b],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,e.Windows,b],[/windows nt ?([\d.)]*)(?!.+xbox)/i,e.Windows,b],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,e.Windows,b],[/windows ce\/?([\d.]*)/i,e.Windows,b],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,e.iOS,m],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,e.iOS,m],[/cfnetwork\/.+darwin/i,e.iOS,m],[/mac os x ?([\w. ]*)/i,e.MacOS,m],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,e.MacOS,m],[/droid ([\w.]+)\b.+(android[- ]x86)/i,e.Android],[/android\w*[-\/.; ]?([\d.]*)/i,e.Android]],p=[[/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]],u=[[/\b(?:crmo|crios)\/([\w.]+)/i,o.Chrome],[/webview.+edge\/([\w.]+)/i,o.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,o.Edge],[/opera mini\/([-\w.]+)/i,o.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,o.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,o.Opera],[/opios[\/ ]+([\w.]+)/i,o.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,o.Opera],[/\bopr\/([\w.]+)/i,o.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,o.IE],[/(?:ms|\()ie ([\w.]+)/i,o.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,o.IE],[/\bfocus\/([\w.]+)/i,o.Firefox],[/\bopt\/([\w.]+)/i,o.Opera],[/coast\/([\w.]+)/i,o.Opera],[/fxios\/([\w.-]+)/i,o.Firefox],[/samsungbrowser\/([\w.]+)/i,o.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,o.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,o.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,o.Chrome],[/chrome\/([\w.]+) mobile/i,o.Chrome],[/chrome\/v?([\w.]+)/i,o.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/version\/([\w.,]+) .*safari/i,o.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,o.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,o.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,o.Firefox],[/firefox\/([\w.]+)/i,o.Firefox]],v=0;v<c.length;v++){var h=(x=c[v])[0],k=x[1],T=x[2];if(null!==(S=r.match(h))){a=k,s=g(S[1],T),k===e.iOS||k===e.Android?t=i.Mobile:k!==e.Windows&&k!==e.MacOS||(t=i.Desktop);break}}for(v=0;v<p.length;v++){h=(x=p[v])[0];var E=x[1];T=x[2];if(null!==(S=r.match(h))){d=E,w=g(S[1],T);break}}for(v=0;v<u.length;v++){h=(x=u[v])[0];var x,S,O=x[1];T=x[2];if(null!==(S=r.match(h))){l=O,f=g(S[1],T);break}}var M=function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var i=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===i)return"";if(i instanceof WebGLRenderingContext||"getParameter"in i&&"function"==typeof i.getParameter){var n=i.getExtension("WEBGL_debug_renderer_info");return null===n?i.getParameter(i.RENDERER):i.getParameter(n.UNMASKED_RENDERER_WEBGL)}return""}(),W=/; ?wv|applewebkit(?!.*safari)/i.test(r),N=t===i.Mobile,A=t===i.Desktop,C="matchMedia"in globalThis&&(a===e.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches),V={os:a,device:t,engine:d,browser:l,osVersion:s,engineVersion:w,browserVersion:f,renderer:M,isWebview:W,isMobile:N,isDesktop:A,isStandalone:C};var y=navigator;return void 0!==y.userAgentData&&void 0!==y.userAgentData.getHighEntropyValues&&y.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(i){for(var n,o=i.fullVersionList||i.brands||[],r=i.platformVersion,t=0;t<o.length;t++){var a=null==(n=o[t])?{brand:"",version:""}:"string"==typeof n?{brand:n,version:""}:{brand:n.brand,version:n.version},s=a.brand,d=a.version;/not.a.brand/i.test(s)||"Chromium"===s&&(V.engineVersion=d)}"string"==typeof r&&(V.os===e.Windows&&parseInt(r.replace(/[^\d.]/g,"").split(".")[0],10)>=13?V.osVersion="11":V.osVersion=r)})),{installed:!1,name:"Platform",module:V,Constants:{OS:e,Devices:i,Engines:n,Browsers:o},Errors:{}}}));
1
+ !function(e,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(e="undefined"!=typeof globalThis?globalThis:e||self).Platform=i()}(this,(function(){"use strict";var e,i,n,o,r=navigator.userAgent;function t(e){if(void 0===e)return"";var i={"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!==i?i:e}function a(e){return void 0===e?"":e.replace(/_/g,".")}function s(e,i){return"function"==typeof i?i(e):"string"==typeof i?i:void 0===e?"":e}!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(e||(e={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(i||(i={})),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"}(o||(o={}));for(var d=[[/windows nt (6\.[23]); arm/i,e.Windows,t],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,e.Windows,t],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,e.Windows,t],[/windows nt ?([\d.)]*)(?!.+xbox)/i,e.Windows,t],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,e.Windows,t],[/windows ce\/?([\d.]*)/i,e.Windows,t],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,e.iOS,a],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,e.iOS,a],[/cfnetwork\/.+darwin/i,e.iOS,a],[/mac os x ?([\w. ]*)/i,e.MacOS,a],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,e.MacOS,a],[/droid ([\w.]+)\b.+(android[- ]x86)/i,e.Android],[/android\w*[-\/.; ]?([\d.]*)/i,e.Android]],w=[[/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]],l=[[/\b(?:crmo|crios)\/([\w.]+)/i,o.Chrome],[/webview.+edge\/([\w.]+)/i,o.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,o.Edge],[/opera mini\/([-\w.]+)/i,o.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,o.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,o.Opera],[/opios[\/ ]+([\w.]+)/i,o.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,o.Opera],[/\bopr\/([\w.]+)/i,o.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,o.IE],[/(?:ms|\()ie ([\w.]+)/i,o.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,o.IE],[/\bfocus\/([\w.]+)/i,o.Firefox],[/\bopt\/([\w.]+)/i,o.Opera],[/coast\/([\w.]+)/i,o.Opera],[/fxios\/([\w.-]+)/i,o.Firefox],[/samsungbrowser\/([\w.]+)/i,o.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,o.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,o.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,o.Chrome],[/chrome\/([\w.]+) mobile/i,o.Chrome],[/chrome\/v?([\w.]+)/i,o.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,o.Safari],[/version\/([\w.,]+) .*safari/i,o.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,o.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,o.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,o.Firefox],[/firefox\/([\w.]+)/i,o.Firefox]],f=i.Unknown,b=e.Unknown,m="",g=n.Unknown,c="",p=o.Unknown,u="",v=0;v<d.length;v++){var h=(x=d[v])[0],k=x[1],T=x[2];if(null!==(S=r.match(h))){b=k,m=s(S[1],T),k===e.iOS||k===e.Android?f=i.Mobile:k!==e.Windows&&k!==e.MacOS||(f=i.Desktop);break}}for(v=0;v<w.length;v++){h=(x=w[v])[0];var E=x[1];T=x[2];if(null!==(S=r.match(h))){g=E,c=s(S[1],T);break}}for(v=0;v<l.length;v++){h=(x=l[v])[0];var x,S,O=x[1];T=x[2];if(null!==(S=r.match(h))){p=O,u=s(S[1],T);break}}var M=function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var i=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===i)return"";if(i instanceof WebGLRenderingContext||"getParameter"in i&&"function"==typeof i.getParameter){var n=i.getExtension("WEBGL_debug_renderer_info");return null===n?i.getParameter(i.RENDERER):i.getParameter(n.UNMASKED_RENDERER_WEBGL)}return""}(),W=/; ?wv|applewebkit(?!.*safari)/i.test(r),N=f===i.Mobile,A=f===i.Desktop,C="matchMedia"in globalThis&&(b===e.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches),V={os:b,device:f,engine:g,browser:p,osVersion:m,engineVersion:c,browserVersion:u,renderer:M,isWebview:W,isMobile:N,isDesktop:A,isStandalone:C};var y=navigator;return void 0!==y.userAgentData&&void 0!==y.userAgentData.getHighEntropyValues&&y.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(i){for(var n,o=i.fullVersionList||i.brands||[],r=i.platformVersion,t=0;t<o.length;t++){var a=null==(n=o[t])?{brand:"",version:""}:"string"==typeof n?{brand:n,version:""}:{brand:n.brand,version:n.version},s=a.brand,d=a.version;/not.a.brand/i.test(s)||"Chromium"===s&&(V.engineVersion=d)}"string"==typeof r&&(V.os===e.Windows&&parseInt(r.replace(/[^\d.]/g,"").split(".")[0],10)>=13?V.osVersion="11":V.osVersion=r)})),{installed:!1,name:"Platform",module:V,Constants:{OS:e,Devices:i,Engines:n,Browsers:o},Errors:{}}}));
@@ -1,3 +1,21 @@
1
+ declare global {
2
+ interface Navigator {
3
+ userAgentData?: UserAgentData;
4
+ }
5
+ }
6
+ interface ModernUserAgentDataBrand {
7
+ brand: string;
8
+ version: string;
9
+ }
10
+ type UserAgentDataBrand = ModernUserAgentDataBrand | string | null | undefined;
11
+ interface UserAgentDataValues {
12
+ brands?: UserAgentDataBrand[];
13
+ fullVersionList?: UserAgentDataBrand[];
14
+ platformVersion?: string | null | undefined;
15
+ }
16
+ interface UserAgentData {
17
+ getHighEntropyValues?(hints: string[]): Promise<UserAgentDataValues>;
18
+ }
1
19
  export declare enum OS {
2
20
  Unknown = "Unknown",
3
21
  Android = "Android",
@@ -45,3 +63,4 @@ export declare const IS_WEBVIEW: boolean;
45
63
  export declare const IS_MOBILE: boolean;
46
64
  export declare const IS_DESKTOP: boolean;
47
65
  export declare const IS_STANDALONE: boolean;
66
+ export {};
@@ -1 +1,6 @@
1
+ declare global {
2
+ interface ErrorConstructor {
3
+ captureStackTrace?: (targetObject: object, constructorOpt?: Function) => void;
4
+ }
5
+ }
1
6
  export default function createCustomError(name: string, Base?: ErrorConstructor): ErrorConstructor;
@@ -0,0 +1 @@
1
+ export default function dynamicImport<T = any>(moduleName: string): Promise<T | null>;
@@ -1,6 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var USER_AGENT = navigator.userAgent;
3
+ function dynamicImport(moduleName) {
4
+ if ('require' in globalThis && typeof globalThis.require === 'function') {
5
+ try {
6
+ return Promise.resolve(globalThis.require(moduleName));
7
+ }
8
+ catch (_) {
9
+ return Promise.resolve(null);
10
+ }
11
+ }
12
+ return import(moduleName)
13
+ .then(function (module) {
14
+ return (module.default || module);
15
+ })
16
+ .catch(function () {
17
+ return Promise.resolve(null);
18
+ });
19
+ }
4
20
 
5
21
  var OS;
6
22
  (function (OS) {
@@ -41,47 +57,22 @@ var Browsers;
41
57
  Browsers["IE"] = "IE";
42
58
  Browsers["SamsungInternet"] = "SamsungInternet";
43
59
  })(Browsers || (Browsers = {}));
44
- var DEVICE_NAME = Devices.Unknown;
45
- var OS_NAME = OS.Unknown;
46
- Engines.Unknown;
47
- var BROWSER_NAME = Browsers.Unknown;
48
- var BROWSER_VERSION = '';
49
- function resolveWindowsVersion(string) {
50
- if (string === undefined)
51
- return '';
52
- var mapped = {
53
- '4.90': 'ME',
54
- 'NT3.51': 'NT 3.11',
55
- 'NT4.0': 'NT 4.0',
56
- 'NT 5.0': '2000',
57
- 'NT 5.1': 'XP',
58
- 'NT 5.2': 'XP',
59
- 'NT 6.0': 'Vista',
60
- 'NT 6.1': '7',
61
- 'NT 6.2': '8',
62
- 'NT 6.3': '8.1',
63
- 'NT 6.4': '10',
64
- 'NT 10.0': '10',
65
- 'ARM': 'RT'
66
- }[string];
67
- if (mapped !== undefined)
68
- return mapped;
69
- return string;
70
- }
71
- function resolveUnderscoreVersion(string) {
72
- if (string === undefined)
73
- return '';
74
- return string.replace(/_/g, '.');
75
- }
76
- function resolveVersion(string, resolver) {
77
- if (typeof resolver === 'function')
78
- return resolver(string);
79
- if (typeof resolver === 'string')
80
- return resolver;
81
- if (string === undefined)
82
- return '';
83
- return string;
84
- }
60
+ var Platform = {
61
+ device: Devices.Unknown,
62
+ os: OS.Unknown,
63
+ osVersion: '',
64
+ engine: Engines.Unknown,
65
+ engineVersion: '',
66
+ browser: Browsers.Unknown,
67
+ browserVersion: '',
68
+ renderer: getRenderer(),
69
+ userAgent: navigator.userAgent,
70
+ isWebview: false,
71
+ isMobile: false,
72
+ isDesktop: false,
73
+ isStandalone: false,
74
+ isNodeJS: getIsNode(),
75
+ };
85
76
  var OS_RESOLVER_MAP = [
86
77
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
87
78
  [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
@@ -140,30 +131,115 @@ var BROWSER_RESOLVER_MAP = [
140
131
  [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
141
132
  [/firefox\/([\w.]+)/i, Browsers.Firefox],
142
133
  ];
134
+ function resolveWindowsVersion(string) {
135
+ if (string === undefined)
136
+ return '';
137
+ var mapped = {
138
+ '4.90': 'ME',
139
+ 'NT3.51': 'NT 3.11',
140
+ 'NT4.0': 'NT 4.0',
141
+ 'NT 5.0': '2000',
142
+ 'NT 5.1': 'XP',
143
+ 'NT 5.2': 'XP',
144
+ 'NT 6.0': 'Vista',
145
+ 'NT 6.1': '7',
146
+ 'NT 6.2': '8',
147
+ 'NT 6.3': '8.1',
148
+ 'NT 6.4': '10',
149
+ 'NT 10.0': '10',
150
+ 'ARM': 'RT'
151
+ }[string];
152
+ if (mapped !== undefined)
153
+ return mapped;
154
+ return string;
155
+ }
156
+ function resolveUnderscoreVersion(string) {
157
+ if (string === undefined)
158
+ return '';
159
+ return string.replace(/_/g, '.');
160
+ }
161
+ function resolveVersion(string, resolver) {
162
+ if (typeof resolver === 'function')
163
+ return resolver(string);
164
+ if (typeof resolver === 'string')
165
+ return resolver;
166
+ if (string === undefined)
167
+ return '';
168
+ return string;
169
+ }
170
+ function normalizeBrand(entry) {
171
+ if (entry === null || entry === undefined)
172
+ return { brand: '', version: '' };
173
+ if (typeof entry === 'string')
174
+ return { brand: entry, version: '' };
175
+ return { brand: entry.brand, version: entry.version };
176
+ }
177
+ function getRenderer() {
178
+ if (typeof globalThis.document === 'undefined')
179
+ return '';
180
+ var canvas = globalThis.document.createElement('canvas');
181
+ if (typeof canvas.getContext !== 'function')
182
+ return '';
183
+ var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
184
+ if (context === null)
185
+ return '';
186
+ if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
187
+ var extension = context.getExtension('WEBGL_debug_renderer_info');
188
+ if (extension === null)
189
+ return context.getParameter(context.RENDERER);
190
+ else
191
+ return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
192
+ }
193
+ else {
194
+ return '';
195
+ }
196
+ }
197
+ function getIsStandalone(os) {
198
+ if (!('matchMedia' in globalThis))
199
+ return false;
200
+ if (os === OS.iOS)
201
+ return 'standalone' in navigator && !!navigator.standalone;
202
+ return globalThis.matchMedia('(display-mode: standalone)').matches;
203
+ }
204
+ function getIsWebview() {
205
+ return /; ?wv|applewebkit(?!.*safari)/i.test(Platform.userAgent);
206
+ }
207
+ function getIsNode() {
208
+ return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
209
+ }
210
+ function getNodeOSVersion(string) {
211
+ var parts = string.split('.');
212
+ return {
213
+ major: parseInt(parts[0] || '0'),
214
+ minor: parseInt(parts[1] || '0'),
215
+ build: parseInt(parts[2] || '0')
216
+ };
217
+ }
143
218
  for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
144
219
  var map = OS_RESOLVER_MAP[i];
145
220
  var regexp = map[0];
146
221
  var os = map[1];
147
222
  var resolver = map[2];
148
- var matched = USER_AGENT.match(regexp);
223
+ var matched = Platform.userAgent.match(regexp);
149
224
  if (matched !== null) {
150
- OS_NAME = os;
151
- resolveVersion(matched[1], resolver);
225
+ Platform.os = os;
226
+ Platform.osVersion = resolveVersion(matched[1], resolver);
152
227
  if (os === OS.iOS || os === OS.Android)
153
- DEVICE_NAME = Devices.Mobile;
228
+ Platform.device = Devices.Mobile;
154
229
  else if (os === OS.Windows || os === OS.MacOS)
155
- DEVICE_NAME = Devices.Desktop;
230
+ Platform.device = Devices.Desktop;
156
231
  break;
157
232
  }
158
233
  }
159
234
  for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
160
235
  var map = ENGINE_RESOLVER_MAP[i];
161
236
  var regexp = map[0];
162
- map[1];
237
+ var engine = map[1];
163
238
  var resolver = map[2];
164
- var matched = USER_AGENT.match(regexp);
239
+ var matched = Platform.userAgent.match(regexp);
165
240
  if (matched !== null) {
166
- resolveVersion(matched[1], resolver);
241
+ Platform.engine = engine;
242
+ Platform.engineVersion = resolveVersion(matched[1], resolver);
167
243
  break;
168
244
  }
169
245
  }
@@ -172,42 +248,123 @@ for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
172
248
  var regexp = map[0];
173
249
  var browser = map[1];
174
250
  var resolver = map[2];
175
- var matched = USER_AGENT.match(regexp);
251
+ var matched = Platform.userAgent.match(regexp);
176
252
  if (matched !== null) {
177
- BROWSER_NAME = browser;
178
- BROWSER_VERSION = resolveVersion(matched[1], resolver);
253
+ Platform.browser = browser;
254
+ Platform.browserVersion = resolveVersion(matched[1], resolver);
179
255
  break;
180
256
  }
181
257
  }
182
- ((function () {
183
- if (typeof globalThis.document === 'undefined')
184
- return '';
185
- var canvas = globalThis.document.createElement('canvas');
186
- if (typeof canvas.getContext !== 'function')
187
- return '';
188
- var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
189
- if (context === null)
190
- return '';
191
- if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
192
- var extension = context.getExtension('WEBGL_debug_renderer_info');
193
- if (extension === null)
194
- return context.getParameter(context.RENDERER);
195
- else
196
- return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
197
- }
198
- else {
199
- return '';
200
- }
201
- }))();
202
- var IS_MOBILE = DEVICE_NAME === Devices.Mobile;
203
- DEVICE_NAME === Devices.Desktop;
204
- var IS_STANDALONE = (function () {
205
- if (!('matchMedia' in globalThis))
206
- return false;
207
- if (OS_NAME === OS.iOS)
208
- return 'standalone' in navigator && !!navigator.standalone;
209
- return globalThis.matchMedia('(display-mode: standalone)').matches;
210
- })();
258
+ if (Platform.isNodeJS) {
259
+ dynamicImport('os')
260
+ .then(function (os) {
261
+ if (os === null)
262
+ return;
263
+ var platform = os.platform();
264
+ var release = os.release();
265
+ var version = getNodeOSVersion(release);
266
+ switch (platform) {
267
+ case 'win32':
268
+ Platform.os = OS.Windows;
269
+ if (version.major === 10 && version.minor === 0 && version.build >= 22000)
270
+ Platform.osVersion = '11';
271
+ else if (version.major === 10 && version.minor === 0 && version.build < 22000)
272
+ Platform.osVersion = '10';
273
+ else if (version.major === 6 && version.minor === 3)
274
+ Platform.osVersion = '8.1';
275
+ else if (version.major === 6 && version.minor === 2)
276
+ Platform.osVersion = '8';
277
+ else if (version.major === 6 && version.minor === 1)
278
+ Platform.osVersion = '7';
279
+ else if (version.major === 6 && version.minor === 0)
280
+ Platform.osVersion = 'Vista';
281
+ else if (version.major === 5 && version.minor === 1)
282
+ Platform.osVersion = 'XP';
283
+ else if (version.major === 5 && version.minor === 2)
284
+ Platform.osVersion = 'XP';
285
+ else if (version.major === 5 && version.minor === 0)
286
+ Platform.osVersion = '2000';
287
+ else if (version.major === 4 && version.minor === 90)
288
+ Platform.osVersion = 'ME';
289
+ else if (version.major === 4 && version.minor === 0)
290
+ Platform.osVersion = 'NT 4.0';
291
+ else if (version.major === 3 && version.minor === 51)
292
+ Platform.osVersion = 'NT 3.11';
293
+ else
294
+ Platform.osVersion = release;
295
+ break;
296
+ case 'darwin':
297
+ Platform.os = OS.MacOS;
298
+ if (version.major >= 24)
299
+ Platform.osVersion = '' + (version.major - 9);
300
+ else if (version.major === 23)
301
+ Platform.osVersion = '14';
302
+ else if (version.major === 22)
303
+ Platform.osVersion = '13';
304
+ else if (version.major === 21)
305
+ Platform.osVersion = '12';
306
+ else if (version.major === 20)
307
+ Platform.osVersion = '11';
308
+ else if (version.major === 19)
309
+ Platform.osVersion = '10.15';
310
+ else if (version.major === 18)
311
+ Platform.osVersion = '10.14';
312
+ else if (version.major === 17)
313
+ Platform.osVersion = '10.13';
314
+ else if (version.major === 16)
315
+ Platform.osVersion = '10.12';
316
+ else if (version.major === 15)
317
+ Platform.osVersion = '10.11';
318
+ else if (version.major === 14)
319
+ Platform.osVersion = '10.10';
320
+ else if (version.major === 13)
321
+ Platform.osVersion = '10.9';
322
+ else if (version.major >= 5 && version.major <= 12)
323
+ Platform.osVersion = '10.' + (version.major - 4);
324
+ else
325
+ Platform.osVersion = release;
326
+ break;
327
+ case 'android':
328
+ Platform.os = OS.Android;
329
+ Platform.osVersion = release;
330
+ break;
331
+ case 'linux':
332
+ if (/android/i.test(release)) {
333
+ Platform.os = OS.Android;
334
+ Platform.osVersion = release;
335
+ }
336
+ break;
337
+ }
338
+ });
339
+ }
340
+ if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
341
+ navigator
342
+ .userAgentData
343
+ .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
344
+ .then(function (result) {
345
+ var brands = result.fullVersionList || result.brands || [];
346
+ var platformVersion = result.platformVersion;
347
+ for (var i = 0; i < brands.length; i++) {
348
+ var brand = normalizeBrand(brands[i]);
349
+ var brandName = brand.brand;
350
+ var brandVersion = brand.version;
351
+ if (/not.a.brand/i.test(brandName))
352
+ continue;
353
+ if (brandName === "Chromium")
354
+ Platform.engineVersion = brandVersion;
355
+ }
356
+ if (typeof platformVersion === 'string') {
357
+ if (Platform.os === OS.Windows && parseInt(platformVersion.replace(/[^\d.]/g, '').split('.')[0], 10) >= 13)
358
+ Platform.osVersion = '11';
359
+ else
360
+ Platform.osVersion = platformVersion;
361
+ }
362
+ });
363
+ }
364
+ Platform.isMobile = Platform.device === Devices.Mobile;
365
+ Platform.isDesktop = Platform.device === Devices.Desktop;
366
+ Platform.isWebview = getIsWebview();
367
+ Platform.isStandalone = getIsStandalone(Platform.os);
211
368
 
212
369
  function compareVersion(lhs, rhs) {
213
370
  var pa = lhs.split('.');
@@ -240,11 +397,11 @@ var Appearances;
240
397
  })(Appearances || (Appearances = {}));
241
398
  var MEDIA_QUERY_LIST = globalThis.matchMedia('(prefers-color-scheme: dark)');
242
399
  var SUPPORT_PREFERS_COLOR_SCHEME = MEDIA_QUERY_LIST.media !== 'not all';
243
- var IS_FULL_SUPPORT_THEME_COLOR = BROWSER_NAME !== Browsers.Chrome || (IS_MOBILE && compareVersion(BROWSER_VERSION, '92') >= 0);
400
+ var IS_FULL_SUPPORT_THEME_COLOR = Platform.browser !== Browsers.Chrome || (Platform.isMobile && compareVersion(Platform.browserVersion, '92') >= 0);
244
401
  var CONTEXT = globalThis.document.createElement('canvas').getContext('2d', { willReadFrequently: true });
245
402
  var SVG_PIXEL_DATA_URL = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+';
246
- var IS_IE_MOBILE = /iemobile/i.test(USER_AGENT);
247
- var IS_WINDOWS_PHONE = /windows phone/i.test(USER_AGENT);
403
+ var IS_IE_MOBILE = /iemobile/i.test(Platform.userAgent);
404
+ var IS_WINDOWS_PHONE = /windows phone/i.test(Platform.userAgent);
248
405
  var ENTRIES = [];
249
406
 
250
407
  /******************************************************************************
@@ -594,6 +751,8 @@ var UnsupportedColorError = createCustomError('UnsupportedColorError');
594
751
 
595
752
  function createHiddenElement(tagName, focusable) {
596
753
  if (focusable === void 0) { focusable = true; }
754
+ if (typeof globalThis.document === 'undefined')
755
+ return undefined;
597
756
  var element = globalThis.document.createElement(tagName);
598
757
  if ('width' in element)
599
758
  element.width = '0';
@@ -664,6 +823,8 @@ function parseColor(color) {
664
823
  }
665
824
  }
666
825
  var div = createHiddenElement('div');
826
+ if (div === undefined)
827
+ throw new UnsupportedColorError('Failed to parse color values from: \"' + color + '\".');
667
828
  div.style.color = color;
668
829
  globalThis.document.body.appendChild(div);
669
830
  try {
@@ -733,8 +894,8 @@ function getThemeColorMeta(appearance) {
733
894
  return themeColorMetaGroup[appearance] = meta;
734
895
  }
735
896
  function estimateDefaultThemeColor() {
736
- if (BROWSER_NAME === Browsers.Safari) {
737
- if (IS_STANDALONE) {
897
+ if (Platform.browser === Browsers.Safari) {
898
+ if (Platform.isStandalone) {
738
899
  if (detectFromMediaQuery() === Appearances.Dark)
739
900
  return '#ffffffff';
740
901
  else
@@ -742,7 +903,7 @@ function estimateDefaultThemeColor() {
742
903
  }
743
904
  return rgbaToHex(parseColor(globalThis.getComputedStyle(globalThis.document.body).backgroundColor));
744
905
  }
745
- if (BROWSER_NAME === Browsers.Chrome) {
906
+ if (Platform.browser === Browsers.Chrome) {
746
907
  if (detectFromMediaQuery() === Appearances.Dark)
747
908
  return '#28292cff';
748
909
  else
@@ -852,7 +1013,7 @@ function removeEntry(entry) {
852
1013
  if (index !== -1)
853
1014
  ENTRIES.splice(index, 1);
854
1015
  if (ENTRIES.length === 0) {
855
- if (BROWSER_NAME === Browsers.SamsungInternet)
1016
+ if (Platform.browser === Browsers.SamsungInternet)
856
1017
  stopPolling();
857
1018
  else
858
1019
  removeListener(entry.capture);
@@ -1012,7 +1173,7 @@ function removeThemeColor(appearance) {
1012
1173
  themeColorMetaGroup[appearance] = undefined;
1013
1174
  }
1014
1175
  function detectAppearance() {
1015
- if (BROWSER_NAME === Browsers.SamsungInternet)
1176
+ if (Platform.browser === Browsers.SamsungInternet)
1016
1177
  return detectFromEngine();
1017
1178
  else
1018
1179
  return Promise.resolve(detectFromMediaQuery());
@@ -1032,7 +1193,7 @@ function onAppearanceChange(listener, options) {
1032
1193
  if (index === -1) {
1033
1194
  ENTRIES.push(entry);
1034
1195
  if (ENTRIES.length === 1) {
1035
- if (BROWSER_NAME === Browsers.SamsungInternet)
1196
+ if (Platform.browser === Browsers.SamsungInternet)
1036
1197
  startPolling();
1037
1198
  else
1038
1199
  addListener(entry.capture);