native-fn 1.0.52 → 1.0.55

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 (38) 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 +5 -9
  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 +5 -9
  11. package/dist/plugin/app/index.umd.js +5 -9
  12. package/dist/plugin/app/index.umd.min.js +1 -1
  13. package/dist/plugin/app/src/plugin/theme/types/theme.d.ts +2 -1
  14. package/dist/plugin/camera/src/plugin/theme/types/theme.d.ts +2 -1
  15. package/dist/plugin/clipboard/index.cjs +519 -2
  16. package/dist/plugin/clipboard/index.min.cjs +1 -1
  17. package/dist/plugin/clipboard/index.min.mjs +1 -1
  18. package/dist/plugin/clipboard/index.mjs +519 -2
  19. package/dist/plugin/clipboard/index.umd.js +519 -2
  20. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  21. package/dist/plugin/clipboard/src/plugin/theme/types/theme.d.ts +2 -1
  22. package/dist/plugin/fullscreen/index.cjs +46 -22
  23. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  24. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  25. package/dist/plugin/fullscreen/index.mjs +46 -22
  26. package/dist/plugin/fullscreen/index.umd.js +46 -22
  27. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  28. package/dist/plugin/fullscreen/src/plugin/theme/types/theme.d.ts +2 -1
  29. package/dist/plugin/theme/index.cjs +52 -27
  30. package/dist/plugin/theme/index.d.ts +2 -1
  31. package/dist/plugin/theme/index.min.cjs +1 -1
  32. package/dist/plugin/theme/index.min.mjs +1 -1
  33. package/dist/plugin/theme/index.mjs +52 -27
  34. package/dist/plugin/theme/index.umd.js +52 -27
  35. package/dist/plugin/theme/index.umd.min.js +1 -1
  36. package/dist/plugin/theme/src/plugin/theme/types/theme.d.ts +2 -1
  37. package/dist/src/plugin/theme/types/theme.d.ts +2 -1
  38. package/package.json +1 -1
@@ -973,10 +973,11 @@
973
973
  var currentAppearance = null;
974
974
  var appearanceIntervalId = null;
975
975
  var Theme = {
976
+ setAppearance: setAppearance,
977
+ getAppearance: getAppearance,
978
+ removeThemeColor: removeThemeColor,
976
979
  setThemeColor: setThemeColor,
977
980
  getThemeColor: getThemeColor,
978
- removeThemeColor: removeThemeColor,
979
- detectAppearance: detectAppearance,
980
981
  onAppearanceChange: onAppearanceChange,
981
982
  };
982
983
  function getThemeColorMeta(appearance) {
@@ -1037,12 +1038,27 @@
1037
1038
  + toHex(rgba.blue)
1038
1039
  + toHex(Math.round(rgba.alpha * 255));
1039
1040
  }
1041
+ function setThemeColorReactNative(appearance) {
1042
+ try {
1043
+ var reactNative = require('react-native');
1044
+ reactNative.Appearance.setColorScheme(appearance);
1045
+ }
1046
+ catch (_) {
1047
+ }
1048
+ }
1049
+ function setThemeColorElectron(appearance) {
1050
+ try {
1051
+ var electron = require('electron');
1052
+ electron.nativeTheme.themeSource = appearance || 'system';
1053
+ }
1054
+ catch (_) {
1055
+ }
1056
+ }
1040
1057
  function detectFromReactNative() {
1041
1058
  return new Promise(function (resolve) {
1042
1059
  try {
1043
1060
  var reactNative = require('react-native');
1044
- var appearance = reactNative.Appearance;
1045
- resolve(appearance.getColorScheme() || Appearances.Unknown);
1061
+ resolve(reactNative.Appearance.getColorScheme() || Appearances.Unknown);
1046
1062
  }
1047
1063
  catch (_) {
1048
1064
  resolve(Appearances.Unknown);
@@ -1053,8 +1069,7 @@
1053
1069
  return new Promise(function (resolve) {
1054
1070
  try {
1055
1071
  var electron = require('electron');
1056
- var appearance = electron.nativeTheme;
1057
- resolve(appearance.shouldUseDarkColors ? Appearances.Dark : Appearances.Light);
1072
+ resolve(electron.nativeTheme.shouldUseDarkColors ? Appearances.Dark : Appearances.Light);
1058
1073
  }
1059
1074
  catch (_) {
1060
1075
  resolve(Appearances.Unknown);
@@ -1209,25 +1224,27 @@
1209
1224
  return null;
1210
1225
  }
1211
1226
  function init() {
1212
- var observer = new MutationObserver(function (mutations) {
1213
- for (var i = 0; i < mutations.length; i++) {
1214
- var mutation = mutations[i];
1215
- var addedNodes = mutation.addedNodes;
1216
- var removedNodes = mutation.removedNodes;
1217
- for (var j = 0; j < addedNodes.length; j++)
1218
- if (addedNodes[j] instanceof HTMLMetaElement)
1219
- return syncThemeColorMeta();
1220
- for (var j = 0; j < removedNodes.length; j++)
1221
- if (removedNodes[j] instanceof HTMLMetaElement)
1222
- return syncThemeColorMeta();
1223
- }
1224
- });
1225
- if (typeof MEDIA_QUERY_LIST.addEventListener === 'function')
1226
- MEDIA_QUERY_LIST.addEventListener('change', syncThemeColorMeta);
1227
- else if (typeof MEDIA_QUERY_LIST.addListener === 'function')
1228
- MEDIA_QUERY_LIST.addListener(syncThemeColorMeta);
1229
- observer.observe(globalThis.document.head, { childList: true });
1230
- syncThemeColorMeta();
1227
+ if (typeof globalThis.MutationObserver !== 'undefined') {
1228
+ var observer = new MutationObserver(function (mutations) {
1229
+ for (var i = 0; i < mutations.length; i++) {
1230
+ var mutation = mutations[i];
1231
+ var addedNodes = mutation.addedNodes;
1232
+ var removedNodes = mutation.removedNodes;
1233
+ for (var j = 0; j < addedNodes.length; j++)
1234
+ if (addedNodes[j] instanceof HTMLMetaElement)
1235
+ return syncThemeColorMeta();
1236
+ for (var j = 0; j < removedNodes.length; j++)
1237
+ if (removedNodes[j] instanceof HTMLMetaElement)
1238
+ return syncThemeColorMeta();
1239
+ }
1240
+ });
1241
+ if (typeof MEDIA_QUERY_LIST.addEventListener === 'function')
1242
+ MEDIA_QUERY_LIST.addEventListener('change', syncThemeColorMeta);
1243
+ else if (typeof MEDIA_QUERY_LIST.addListener === 'function')
1244
+ MEDIA_QUERY_LIST.addListener(syncThemeColorMeta);
1245
+ observer.observe(globalThis.document.head, { childList: true });
1246
+ syncThemeColorMeta();
1247
+ }
1231
1248
  }
1232
1249
  init();
1233
1250
  function setThemeColor(color, options) {
@@ -1292,6 +1309,8 @@
1292
1309
  });
1293
1310
  }
1294
1311
  function getThemeColor() {
1312
+ if (Platform.isReactNative || Platform.isElectron)
1313
+ return undefined;
1295
1314
  var meta = getCurrentAppliedThemeColorMeta();
1296
1315
  if (meta !== null)
1297
1316
  return meta.getAttribute('content');
@@ -1304,7 +1323,13 @@
1304
1323
  meta.remove();
1305
1324
  themeColorMetaGroup[appearance] = undefined;
1306
1325
  }
1307
- function detectAppearance() {
1326
+ function setAppearance(appearance) {
1327
+ if (Platform.isReactNative)
1328
+ return setThemeColorReactNative(appearance);
1329
+ else if (Platform.isElectron)
1330
+ return setThemeColorElectron(appearance);
1331
+ }
1332
+ function getAppearance() {
1308
1333
  if (Platform.isReactNative)
1309
1334
  return detectFromReactNative();
1310
1335
  else if (Platform.isElectron)
@@ -1334,7 +1359,7 @@
1334
1359
  else
1335
1360
  addListener(entry.capture);
1336
1361
  }
1337
- this.detectAppearance()
1362
+ this.getAppearance()
1338
1363
  .then(notify);
1339
1364
  }
1340
1365
  else if (ENTRIES[index].once && !entry.once) {
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).Theme=r()}(this,(function(){"use strict";function e(e,r){for(var n=e.split("."),o=r.split("."),t=Math.max(n.length,o.length),i=0;i<t;i++){var a=void 0,s=void 0;if((a=i<n.length?parseInt(n[i],10):0)>(s=i<o.length?parseInt(o[i],10):0))return 1;if(a<s)return-1}return 0}var r,n,o,t;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(r||(r={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(n||(n={})),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"}(t||(t={}));var i,a="undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:"",s={device:n.Unknown,os:r.Unknown,osVersion:"",engine:o.Unknown,engineVersion:"",browser:t.Unknown,browserVersion:"",renderer:function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var r=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===r)return"";if(r instanceof WebGLRenderingContext||"getParameter"in r&&"function"==typeof r.getParameter){var n=r.getExtension("WEBGL_debug_renderer_info");return null===n?r.getParameter(r.RENDERER):r.getParameter(n.UNMASKED_RENDERER_WEBGL)}return""}(),userAgent:a,isMobile:!1,isDesktop:!1,isStandalone:!1,isWebview:/; ?wv|applewebkit(?!.*safari)/i.test(a),isNodeJS:void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node,isElectron:void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(a),isReactNative:"undefined"!=typeof navigator&&"ReactNative"===navigator.product},l=[[/windows nt (6\.[23]); arm/i,r.Windows,d],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,r.Windows,d],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,r.Windows,d],[/windows nt ?([\d.)]*)(?!.+xbox)/i,r.Windows,d],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,r.Windows,d],[/windows ce\/?([\d.]*)/i,r.Windows,d],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,r.iOS,m],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,r.iOS,m],[/cfnetwork\/.+darwin/i,r.iOS,m],[/mac os x ?([\w. ]*)/i,r.MacOS,m],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,r.MacOS,m],[/droid ([\w.]+)\b.+(android[- ]x86)/i,r.Android],[/android\w*[-\/.; ]?([\d.]*)/i,r.Android]],u=[[/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]],c=[[/\b(?:crmo|crios)\/([\w.]+)/i,t.Chrome],[/webview.+edge\/([\w.]+)/i,t.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,t.Edge],[/opera mini\/([-\w.]+)/i,t.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,t.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,t.Opera],[/opios[\/ ]+([\w.]+)/i,t.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,t.Opera],[/\bopr\/([\w.]+)/i,t.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,t.IE],[/(?:ms|\()ie ([\w.]+)/i,t.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,t.IE],[/\bfocus\/([\w.]+)/i,t.Firefox],[/\bopt\/([\w.]+)/i,t.Opera],[/coast\/([\w.]+)/i,t.Opera],[/fxios\/([\w.-]+)/i,t.Firefox],[/samsungbrowser\/([\w.]+)/i,t.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,t.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,t.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,t.Chrome],[/chrome\/([\w.]+) mobile/i,t.Chrome],[/chrome\/v?([\w.]+)/i,t.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,t.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,t.Safari],[/version\/([\w.,]+) .*safari/i,t.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,t.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,t.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,t.Firefox],[/firefox\/([\w.]+)/i,t.Firefox]];function d(e){if(void 0===e)return"";var r={"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!==r?r:e}function m(e){return void 0===e?"":e.replace(/_/g,".")}function f(e,r){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":r}function p(e,r){return"function"==typeof r?r(e):"string"==typeof r?r:void 0===e?"":e}function h(e){var r=e.split(".");return{major:parseInt(r[0]||"0"),minor:parseInt(r[1]||"0"),build:parseInt(r[2]||"0")}}for(var v=0;v<l.length;v++){var b=(j=l[v])[0],g=j[1],w=j[2];if(null!==(k=s.userAgent.match(b))){s.os=g,s.osVersion=p(k[1],w);break}}s.os===r.iOS&&0===e(s.osVersion,"18.6")&&(null!==(T=/\) Version\/([\d.]+)/.exec(s.userAgent))&&parseInt(T[1].substring(0,2),10)>=26&&(s.osVersion=T[1]));for(v=0;v<u.length;v++){b=(j=u[v])[0];var y=j[1];w=j[2];if(null!==(k=s.userAgent.match(b))){s.engine=y,s.engineVersion=p(k[1],w);break}}for(v=0;v<c.length;v++){b=(j=c[v])[0];var j,k,S=j[1];w=j[2];if(null!==(k=s.userAgent.match(b))){s.browser=S,s.browserVersion=p(k[1],w);break}}if(s.isReactNative)try{g=(x=require("react-native").Platform).OS;var T=h(E=""+x.Version);switch(g){case"android":s.os=r.Android,s.osVersion=function(e,r){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?"4.4W":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":r}(T,E);break;case"ios":s.os=r.iOS,s.osVersion=E;break;case"windows":s.os=r.Windows,s.osVersion=f(T,E);break;case"macos":s.os=r.MacOS,s.osVersion=E}}catch(e){}if(s.isNodeJS)try{var E,x=(g=require("os")).platform();T=h(E=g.release());switch(x){case"win32":s.os=r.Windows,s.osVersion=f(T,E);break;case"darwin":s.os=r.MacOS,s.osVersion=function(e,r){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:r}(T,E);break;case"android":s.os=r.Android,s.osVersion=E;break;case"linux":/android/i.test(E)&&(s.os=r.Android,s.osVersion=E)}}catch(e){}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 n,o=e.fullVersionList||e.brands||[],t=e.platformVersion,i=0;i<o.length;i++){var a=null==(n=o[i])?{brand:"",version:""}:"string"==typeof n?{brand:n,version:""}:{brand:n.brand,version:n.version},l=a.brand,u=a.version;/not.a.brand/i.test(l)||"Chromium"===l&&(s.engineVersion=u)}"string"==typeof t&&(s.os===r.Windows&&parseInt(t.replace(/[^\d.]/g,"").split(".")[0],10)>=13?s.osVersion="11":s.osVersion=t)})),s.device=s.os===r.iOS||s.os===r.Android?n.Mobile:s.os===r.Windows||s.os===r.MacOS?n.Desktop:n.Unknown,s.isMobile=s.device===n.Mobile,s.isDesktop=s.device===n.Desktop,s.isStandalone=function(e){return"matchMedia"in globalThis&&(e===r.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches)}(s.os),function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(i||(i={}));var M="matchMedia"in globalThis?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}},A="not all"!==M.media,C=s.browser!==t.Chrome||s.isMobile&&e(s.browserVersion,"92")>=0,I="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,L=/iemobile/i.test(s.userAgent),N=/windows phone/i.test(s.userAgent),F=[];function O(e){var r="function"==typeof Symbol&&Symbol.iterator,n=r&&e[r],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function V(e,r){function n(o){if(!(this instanceof n))return new n(o);var t=new r(o||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(t,n.prototype):t.__proto__=n.prototype,t.name=e,void 0!==o&&(t.message=o),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(t,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(t,n);else if(r.captureStackTrace&&"function"==typeof r.captureStackTrace)r.captureStackTrace(t,n);else try{var i=new r;i.stack&&(t.stack=i.stack)}catch(e){}return t}void 0===r&&(r=Error),n.prototype=Object.create(r.prototype,{constructor:{value:n,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(n.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(r){try{n.prototype.name=e}catch(e){}}try{Object.defineProperty(n,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return n}"function"==typeof SuppressedError&&SuppressedError;var P=V("EasingError"),U=V("CubicBezierSyntaxError",P),W=V("LinearSyntaxError",P),D=V("StepSyntaxError",P),R=V("UnsupportedEasingFunctionError",P),z={linear:"linear(0, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)","step-start":"steps(1, jump-start)","step-end":"steps(1, jump-end)"};function H(e,r,n){return e<r?r:e>n?n:e}function q(e){var r=function(e){var r=e.match(/cubic-bezier\((.*)\)/);if(null===r)throw new U("Invalid cubic-bezier syntax");var n=r[1].trim().split(","),o=[];if(4!==n.length)throw new U("Cubic-bezier must have exactly 4 numeric values");for(var t=0;t<4;t++){var i=parseFloat(n[t]);if(isNaN(i))throw new U("Cubic-bezier must have exactly 4 numeric values");if(t%2==0&&(i<0||i>1))throw new U("x1 and x2 must be between 0 and 1");o.push(i)}return{x1:o[0],y1:o[1],x2:o[2],y2:o[3]}}(e),n=r.x1,o=r.x2,t=r.y1,i=r.y2;return function(e){if(0===(e=H(e,0,1))||1===e)return e;var r=function(e,r,t){if(void 0===r&&(r=1e-6),void 0===t&&(t=50),e<=0)return 0;if(e>=1)return 1;for(var i=e,a=0;a<t;a++){var s=3*(1-i)*(1-i)*i*n+3*(1-i)*i*i*o+i*i*i,l=3*(1-i)*(1-i)*n+6*(1-i)*i*(o-n)+3*i*i*(1-o);if(Math.abs(l)<r)break;var u=i-(s-e)/l;if(Math.abs(u-i)<r){i=u;break}i=Math.max(0,Math.min(1,u))}return i}(e);return 3*(1-r)*(1-r)*r*t+3*(1-r)*r*r*i+r*r*r}}function B(e){var r=function(e){var r,n,o=e.match(/linear\((.*)\)/);if(null===o)throw new W("Invalid linear syntax");var t=o[1].trim();if(""===t)throw new W("Linear function must have at least one point");for(var i=t.split(","),a=[],s=0;s<i.length;s++){var l=i[s].trim(),u=l.match(/^([+-]?\d*\.?\d+)((?:\s+[+-]?\d*\.?\d+%){2,})$/);if(null===u){var c=l.match(/^([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)%$/);if(null===c){var d=l.match(/^([+-]?\d*\.?\d+)$/);if(null===d)throw new W('Invalid linear point format: "'+l+'"');a.push({position:1===i.length?0:s/(i.length-1),value:parseFloat(d[1])})}else a.push({position:parseFloat(c[2])/100,value:parseFloat(c[1])})}else{var m=parseFloat(u[1]),f=u[2].trim().split(/\s+/);try{for(var p=(r=void 0,O(f)),h=p.next();!h.done;h=p.next()){var v=h.value;a.push({value:m,position:parseFloat(v)/100})}}catch(e){r={error:e}}finally{try{h&&!h.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}}}if(0===a.length)throw new W("No valid points found in linear function");return a.sort((function(e,r){return e.position-r.position})),a[0].position>0&&a.unshift({position:0,value:0}),a[a.length-1].position<1&&a.push({position:1,value:1}),a}(e);return function(e){if((e=H(e,0,1))<=r[0].position)return r[0].value;if(e>=r[r.length-1].position)return r[r.length-1].value;for(var n=0;n<r.length-1;n++){var o=r[n],t=r[n+1];if(e>=o.position&&e<=t.position){if(o.position===t.position)return t.value;var i=(e-o.position)/(t.position-o.position);return o.value+(t.value-o.value)*i}}return r[r.length-1].value}}function _(e){if(function(e){return!/(linear|cubic-bezier|steps)\((.*)\)/.test(e)}(e)&&(e=z[e]),function(e){return/cubic-bezier\(/.test(e)}(e))return q(e);if(function(e){return/linear\(/.test(e)}(e))return B(e);if(function(e){return/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/.test(e)}(e))return function(e){var r=e.match(/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/);if(null===r)throw new D("Invalid steps syntax");var n=parseInt(r[1],10),o=r[2];if(n<=0)throw new D("Steps count must be a positive integer");if("jump-none"===o&&n<2)throw new D("jump-none requires at least 2 steps");return function(e){switch(e=H(e,0,1),o){case"start":case"jump-start":return 0===e?1/n:1===e?1:Math.ceil(e*n)/n;case void 0:case"end":case"jump-end":return 1===e?1:Math.floor(e*n)/n;case"jump-both":return 0===e?0:1===e?1:Math.round(e*(n+1))/(n+1);case"jump-none":return 0===e?0:1===e?1:Math.floor(e*(n-1))/(n-1);default:throw new D('Unsupported step position: "'+o+'"')}}}(e);throw new R('Unsupported easing function: "'+e+'"')}var G=V("UnsupportedColorError");function K(e){if("undefined"!=typeof CSS&&CSS.supports&&!CSS.supports("color",e))throw new G('Unsupported color: "'+e+'".');if(null!==I)try{I.clearRect(0,0,1,1),I.fillStyle=e,I.fillRect(0,0,1,1);var r=I.getImageData(0,0,1,1).data;return{red:r[0],green:r[1],blue:r[2],alpha:parseFloat((r[3]/255).toFixed(2))}}catch(e){}var n=function(e,r){if(void 0===r&&(r=!0),void 0!==globalThis.document){var n=globalThis.document.createElement(e);return"width"in n&&(n.width="0"),"height"in n&&(n.height="0"),"border"in n&&(n.border="0"),"frameBorder"in n&&(n.frameBorder="0"),"scrolling"in n&&(n.scrolling="no"),"cellPadding"in n&&(n.cellPadding="0"),"cellSpacing"in n&&(n.cellSpacing="0"),"frame"in n&&(n.frame="void"),"rules"in n&&(n.rules="none"),"noWrap"in n&&(n.noWrap=!0),n.tabIndex=-1,n.setAttribute("role","presentation"),r?(n.style.width="1px",n.style.height="1px"):(n.setAttribute("aria-hidden","true"),n.style.width="0",n.style.height="0",n.style.zIndex="-9999",n.style.display="none",n.style.visibility="hidden",n.style.pointerEvents="none"),n.style.position="absolute",n.style.top="0",n.style.left="0",n.style.padding="0",n.style.margin="0",n.style.border="none",n.style.outline="none",n.style.clip="rect(1px, 1px, 1px, 1px)",n.style.clipPath="inset(50%)",n.style.overflow="hidden",n.style.whiteSpace="nowrap",n}}("div");if(void 0===n)throw new G('Failed to parse color values from: "'+e+'".');n.style.color=e,globalThis.document.body.appendChild(n);try{var o=globalThis.getComputedStyle(n).color,t=o.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/),i=o.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/),a=t||i;if(null===a)throw new G('Unsupported color: "'+e+'".');var s=parseInt(a[1],10),l=parseInt(a[2],10),u=parseInt(a[3],10),c=1;if(void 0!==a[4]){var d=a[4];c="%"===d.charAt(d.length-1)?parseFloat((parseFloat(d)/100).toFixed(2)):parseFloat(parseFloat(d).toFixed(2))}if(isNaN(s)||isNaN(l)||isNaN(u)||isNaN(c))throw new G('Failed to parse color values from: "'+e+'".');return{red:s,green:l,blue:u,alpha:c}}finally{globalThis.document.body.removeChild(n)}}var Z,$={},X=null,J=null,Q=null,Y=null,ee={setThemeColor:function(e,r){void 0===r&&(r={duration:0,easingFunction:"linear",appearance:"default"});var n=r.duration,o=_(r.easingFunction),t=r.appearance;null!==X&&(globalThis.cancelAnimationFrame(X),X=null,null!==J&&(J(ce()),J=null));var a=ce();void 0===a&&(a=void 0!==r.defaultColor?r.defaultColor:te()===i.Dark?"#181818ff":"#dcdcdcff");var s=K(a),l=K(e);return new Promise((function(e){J=e;var r=null;X=globalThis.requestAnimationFrame((function i(a){null===r&&(r=a);var u,c=a-r;u=0===n?1:Math.min(c/n,1);var d=o(u),m={red:Math.round(s.red+(l.red-s.red)*d),green:Math.round(s.green+(l.green-s.green)*d),blue:Math.round(s.blue+(l.blue-s.blue)*d),alpha:+(s.alpha+(l.alpha-s.alpha)*d).toFixed(2)};(function(e){void 0===e&&(e="default");var r;r=!C||!A||L||N?"default":e;var n=$[r];if(void 0!==n)return n;n=globalThis.document.createElement("meta"),L?n.setAttribute("name","msapplication-navbutton-color"):N?n.setAttribute("name","msapplication-TileColor"):n.setAttribute("name","theme-color");"default"!==e&&n.setAttribute("media","(prefers-color-scheme: "+r+")");return globalThis.document.head.prepend(n),$[e]=n})(t).setAttribute("content",ne(m)),u<1?X=globalThis.requestAnimationFrame(i):(X=null,null!==J&&(e(ce()),X=null))}))}))},getThemeColor:ce,removeThemeColor:function(e){void 0===e&&(e="default");var r=$[e];void 0!==r&&r.remove();$[e]=void 0},detectAppearance:function(){return s.isReactNative?new Promise((function(e){try{e(require("react-native").Appearance.getColorScheme()||i.Unknown)}catch(r){e(i.Unknown)}})):s.isElectron?new Promise((function(e){try{e(require("electron").nativeTheme.shouldUseDarkColors?i.Dark:i.Light)}catch(r){e(i.Unknown)}})):s.browser===t.SamsungInternet?oe():Promise.resolve(te())},onAppearanceChange:function(e,r){void 0===r&&(r=!1);var n={fn:e,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 o=le(n);-1===o?(F.push(n),1===F.length&&(s.browser===t.SamsungInternet?(oe().then((function(e){Q=e})),Y=globalThis.setInterval((function(){oe().then((function(e){e!==Q&&(Q=e,ae(e))}))}),2e3)):(i=n.capture,Q=te(),"function"==typeof M.addEventListener?M.addEventListener("change",ie,i):"function"==typeof M.addListener&&M.addListener(ie))),this.detectAppearance().then(ae)):F[o].once&&!n.once&&(F[o].once=!1);var i;void 0!==n.signal&&(n.signal.aborted?se(n):n.signal.addEventListener("abort",(function e(){void 0!==n.signal&&n.signal.removeEventListener("abort",e),se(n)})));return function(){se(n)}}};function re(e){var r=e.toString(16);switch(r.length){case 0:return"00";case 1:return"0"+r;default:return r}}function ne(e){return"#"+re(e.red)+re(e.green)+re(e.blue)+re(Math.round(255*e.alpha))}function oe(){return new Promise((function(e){var r=new Image;r.onload=function(){if(null===I)return e(i.Light);I.drawImage(r,0,0);var n=I.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?e(i.Dark):e(i.Light)},r.onerror=function(){e(i.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function te(){return A?M.matches?i.Dark:i.Light:i.Unknown}function ie(e){var r;(r=e.matches?i.Dark:i.Light)!==Q&&ae(Q=r)}function ae(e){for(var r=0;r<F.length;r++){var n=F[r];n.fn(e),n.once&&se(n)}}function se(e){var r,n=le(e);-1!==n&&F.splice(n,1),0===F.length&&(s.browser===t.SamsungInternet?(Q=null,null!==Y&&(clearInterval(Y),Y=null)):(r=e.capture,Q=null,"function"==typeof M.removeEventListener?M.removeEventListener("change",ie,r):"function"==typeof M.removeListener&&M.removeListener(ie)))}function le(e){for(var r=0;r<F.length;r++)if(F[r].fn===e.fn&&F[r].capture===e.capture)return r;return-1}function ue(){var e;$={},e=L?'meta[name="msapplication-navbutton-color"]':N?'meta[name="msapplication-TileColor"]':'meta[name="theme-color"]';var r=globalThis.document.querySelectorAll(e);if(C&&A&&!L&&!N)for(var n=0;n<r.length;n++){var o=r.item(n),t=o.getAttribute("media");if("(prefers-color-scheme: dark)"===t&&void 0===$.dark?$.dark=o:"(prefers-color-scheme: light)"===t&&void 0===$.light?$.light=o:null===t&&void 0===$.default&&($.default=o),void 0!==$.dark&&void 0!==$.light&&void 0!==$.default)return}else $.default=r[0]}function ce(){var e=function(){if(L)return globalThis.document.querySelector('meta[name="msapplication-navbutton-color"]');if(N)return globalThis.document.querySelector('meta[name="msapplication-TileColor"]');if(!C||!A)return globalThis.document.querySelector('meta[name="theme-color"]');var e,r=globalThis.document.querySelectorAll('meta[name="theme-color"]');e=te()===i.Dark?"(prefers-color-scheme: dark)":"(prefers-color-scheme: light)";for(var n=0;n<r.length;n++){var o=r.item(n);if(o.hasAttribute("content")){var t=o.getAttribute("media");if(null===t||t===e)return o}}return null}();return null!==e?e.getAttribute("content"):s.browser===t.Safari?s.isStandalone?te()===i.Dark?"#ffffffff":"#000000ff":ne(K(globalThis.getComputedStyle(globalThis.document.body).backgroundColor)):s.browser===t.Chrome?te()===i.Dark?"#28292cff":"#ffffffff":void 0}return Z=new MutationObserver((function(e){for(var r=0;r<e.length;r++){for(var n=e[r],o=n.addedNodes,t=n.removedNodes,i=0;i<o.length;i++)if(o[i]instanceof HTMLMetaElement)return ue();for(i=0;i<t.length;i++)if(t[i]instanceof HTMLMetaElement)return ue()}})),"function"==typeof M.addEventListener?M.addEventListener("change",ue):"function"==typeof M.addListener&&M.addListener(ue),Z.observe(globalThis.document.head,{childList:!0}),ue(),{installed:!1,name:"Theme",module:ee,Constants:{Appearances:i},Errors:{EasingError:P,UnsupportedEasingFunctionError:R,StepSyntaxError:D,LinearSyntaxError:W,CubicBezierSyntaxError:U,UnsupportedColorError:G}}}));
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).Theme=r()}(this,(function(){"use strict";function e(e,r){for(var n=e.split("."),t=r.split("."),o=Math.max(n.length,t.length),i=0;i<o;i++){var a=void 0,s=void 0;if((a=i<n.length?parseInt(n[i],10):0)>(s=i<t.length?parseInt(t[i],10):0))return 1;if(a<s)return-1}return 0}var r,n,t,o;!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(r||(r={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(n||(n={})),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"}(t||(t={})),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 i,a="undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:"",s={device:n.Unknown,os:r.Unknown,osVersion:"",engine:t.Unknown,engineVersion:"",browser:o.Unknown,browserVersion:"",renderer:function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var r=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===r)return"";if(r instanceof WebGLRenderingContext||"getParameter"in r&&"function"==typeof r.getParameter){var n=r.getExtension("WEBGL_debug_renderer_info");return null===n?r.getParameter(r.RENDERER):r.getParameter(n.UNMASKED_RENDERER_WEBGL)}return""}(),userAgent:a,isMobile:!1,isDesktop:!1,isStandalone:!1,isWebview:/; ?wv|applewebkit(?!.*safari)/i.test(a),isNodeJS:void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node,isElectron:void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.electron||/ electron\//i.test(a),isReactNative:"undefined"!=typeof navigator&&"ReactNative"===navigator.product},l=[[/windows nt (6\.[23]); arm/i,r.Windows,d],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,r.Windows,d],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,r.Windows,d],[/windows nt ?([\d.)]*)(?!.+xbox)/i,r.Windows,d],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,r.Windows,d],[/windows ce\/?([\d.]*)/i,r.Windows,d],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,r.iOS,m],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,r.iOS,m],[/cfnetwork\/.+darwin/i,r.iOS,m],[/mac os x ?([\w. ]*)/i,r.MacOS,m],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,r.MacOS,m],[/droid ([\w.]+)\b.+(android[- ]x86)/i,r.Android],[/android\w*[-\/.; ]?([\d.]*)/i,r.Android]],u=[[/windows.+ edge\/([\w.]+)/i,t.EdgeHTML],[/arkweb\/([\w.]+)/i,t.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,t.Blink],[/presto\/([\w.]+)/i,t.Presto],[/webkit\/([\w.]+)/i,t.WebKit],[/trident\/([\w.]+)/i,t.Trident],[/netfront\/([\w.]+)/i,t.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,t.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,t.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,t.Gecko]],c=[[/\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]];function d(e){if(void 0===e)return"";var r={"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!==r?r:e}function m(e){return void 0===e?"":e.replace(/_/g,".")}function f(e,r){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":r}function p(e,r){return"function"==typeof r?r(e):"string"==typeof r?r:void 0===e?"":e}function v(e){var r=e.split(".");return{major:parseInt(r[0]||"0"),minor:parseInt(r[1]||"0"),build:parseInt(r[2]||"0")}}for(var h=0;h<l.length;h++){var b=(j=l[h])[0],g=j[1],w=j[2];if(null!==(k=s.userAgent.match(b))){s.os=g,s.osVersion=p(k[1],w);break}}s.os===r.iOS&&0===e(s.osVersion,"18.6")&&(null!==(T=/\) Version\/([\d.]+)/.exec(s.userAgent))&&parseInt(T[1].substring(0,2),10)>=26&&(s.osVersion=T[1]));for(h=0;h<u.length;h++){b=(j=u[h])[0];var y=j[1];w=j[2];if(null!==(k=s.userAgent.match(b))){s.engine=y,s.engineVersion=p(k[1],w);break}}for(h=0;h<c.length;h++){b=(j=c[h])[0];var j,k,S=j[1];w=j[2];if(null!==(k=s.userAgent.match(b))){s.browser=S,s.browserVersion=p(k[1],w);break}}if(s.isReactNative)try{g=(x=require("react-native").Platform).OS;var T=v(E=""+x.Version);switch(g){case"android":s.os=r.Android,s.osVersion=function(e,r){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?"4.4W":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":r}(T,E);break;case"ios":s.os=r.iOS,s.osVersion=E;break;case"windows":s.os=r.Windows,s.osVersion=f(T,E);break;case"macos":s.os=r.MacOS,s.osVersion=E}}catch(e){}if(s.isNodeJS)try{var E,x=(g=require("os")).platform();T=v(E=g.release());switch(x){case"win32":s.os=r.Windows,s.osVersion=f(T,E);break;case"darwin":s.os=r.MacOS,s.osVersion=function(e,r){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:r}(T,E);break;case"android":s.os=r.Android,s.osVersion=E;break;case"linux":/android/i.test(E)&&(s.os=r.Android,s.osVersion=E)}}catch(e){}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 n,t=e.fullVersionList||e.brands||[],o=e.platformVersion,i=0;i<t.length;i++){var a=null==(n=t[i])?{brand:"",version:""}:"string"==typeof n?{brand:n,version:""}:{brand:n.brand,version:n.version},l=a.brand,u=a.version;/not.a.brand/i.test(l)||"Chromium"===l&&(s.engineVersion=u)}"string"==typeof o&&(s.os===r.Windows&&parseInt(o.replace(/[^\d.]/g,"").split(".")[0],10)>=13?s.osVersion="11":s.osVersion=o)})),s.device=s.os===r.iOS||s.os===r.Android?n.Mobile:s.os===r.Windows||s.os===r.MacOS?n.Desktop:n.Unknown,s.isMobile=s.device===n.Mobile,s.isDesktop=s.device===n.Desktop,s.isStandalone=function(e){return"matchMedia"in globalThis&&(e===r.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches)}(s.os),function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(i||(i={}));var M="matchMedia"in globalThis?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}},A="not all"!==M.media,C=s.browser!==o.Chrome||s.isMobile&&e(s.browserVersion,"92")>=0,I="document"in globalThis?globalThis.document.createElement("canvas").getContext("2d",{willReadFrequently:!0}):null,N=/iemobile/i.test(s.userAgent),L=/windows phone/i.test(s.userAgent),O=[];function F(e){var r="function"==typeof Symbol&&Symbol.iterator,n=r&&e[r],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function V(e,r){function n(t){if(!(this instanceof n))return new n(t);var o=new r(t||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(o,n.prototype):o.__proto__=n.prototype,o.name=e,void 0!==t&&(o.message=t),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(o,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(o,n);else if(r.captureStackTrace&&"function"==typeof r.captureStackTrace)r.captureStackTrace(o,n);else try{var i=new r;i.stack&&(o.stack=i.stack)}catch(e){}return o}void 0===r&&(r=Error),n.prototype=Object.create(r.prototype,{constructor:{value:n,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(n.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(r){try{n.prototype.name=e}catch(e){}}try{Object.defineProperty(n,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return n}"function"==typeof SuppressedError&&SuppressedError;var P=V("EasingError"),U=V("CubicBezierSyntaxError",P),W=V("LinearSyntaxError",P),D=V("StepSyntaxError",P),R=V("UnsupportedEasingFunctionError",P),z={linear:"linear(0, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)","step-start":"steps(1, jump-start)","step-end":"steps(1, jump-end)"};function q(e,r,n){return e<r?r:e>n?n:e}function H(e){var r=function(e){var r=e.match(/cubic-bezier\((.*)\)/);if(null===r)throw new U("Invalid cubic-bezier syntax");var n=r[1].trim().split(","),t=[];if(4!==n.length)throw new U("Cubic-bezier must have exactly 4 numeric values");for(var o=0;o<4;o++){var i=parseFloat(n[o]);if(isNaN(i))throw new U("Cubic-bezier must have exactly 4 numeric values");if(o%2==0&&(i<0||i>1))throw new U("x1 and x2 must be between 0 and 1");t.push(i)}return{x1:t[0],y1:t[1],x2:t[2],y2:t[3]}}(e),n=r.x1,t=r.x2,o=r.y1,i=r.y2;return function(e){if(0===(e=q(e,0,1))||1===e)return e;var r=function(e,r,o){if(void 0===r&&(r=1e-6),void 0===o&&(o=50),e<=0)return 0;if(e>=1)return 1;for(var i=e,a=0;a<o;a++){var s=3*(1-i)*(1-i)*i*n+3*(1-i)*i*i*t+i*i*i,l=3*(1-i)*(1-i)*n+6*(1-i)*i*(t-n)+3*i*i*(1-t);if(Math.abs(l)<r)break;var u=i-(s-e)/l;if(Math.abs(u-i)<r){i=u;break}i=Math.max(0,Math.min(1,u))}return i}(e);return 3*(1-r)*(1-r)*r*o+3*(1-r)*r*r*i+r*r*r}}function B(e){var r=function(e){var r,n,t=e.match(/linear\((.*)\)/);if(null===t)throw new W("Invalid linear syntax");var o=t[1].trim();if(""===o)throw new W("Linear function must have at least one point");for(var i=o.split(","),a=[],s=0;s<i.length;s++){var l=i[s].trim(),u=l.match(/^([+-]?\d*\.?\d+)((?:\s+[+-]?\d*\.?\d+%){2,})$/);if(null===u){var c=l.match(/^([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)%$/);if(null===c){var d=l.match(/^([+-]?\d*\.?\d+)$/);if(null===d)throw new W('Invalid linear point format: "'+l+'"');a.push({position:1===i.length?0:s/(i.length-1),value:parseFloat(d[1])})}else a.push({position:parseFloat(c[2])/100,value:parseFloat(c[1])})}else{var m=parseFloat(u[1]),f=u[2].trim().split(/\s+/);try{for(var p=(r=void 0,F(f)),v=p.next();!v.done;v=p.next()){var h=v.value;a.push({value:m,position:parseFloat(h)/100})}}catch(e){r={error:e}}finally{try{v&&!v.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}}}if(0===a.length)throw new W("No valid points found in linear function");return a.sort((function(e,r){return e.position-r.position})),a[0].position>0&&a.unshift({position:0,value:0}),a[a.length-1].position<1&&a.push({position:1,value:1}),a}(e);return function(e){if((e=q(e,0,1))<=r[0].position)return r[0].value;if(e>=r[r.length-1].position)return r[r.length-1].value;for(var n=0;n<r.length-1;n++){var t=r[n],o=r[n+1];if(e>=t.position&&e<=o.position){if(t.position===o.position)return o.value;var i=(e-t.position)/(o.position-t.position);return t.value+(o.value-t.value)*i}}return r[r.length-1].value}}function _(e){if(function(e){return!/(linear|cubic-bezier|steps)\((.*)\)/.test(e)}(e)&&(e=z[e]),function(e){return/cubic-bezier\(/.test(e)}(e))return H(e);if(function(e){return/linear\(/.test(e)}(e))return B(e);if(function(e){return/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/.test(e)}(e))return function(e){var r=e.match(/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/);if(null===r)throw new D("Invalid steps syntax");var n=parseInt(r[1],10),t=r[2];if(n<=0)throw new D("Steps count must be a positive integer");if("jump-none"===t&&n<2)throw new D("jump-none requires at least 2 steps");return function(e){switch(e=q(e,0,1),t){case"start":case"jump-start":return 0===e?1/n:1===e?1:Math.ceil(e*n)/n;case void 0:case"end":case"jump-end":return 1===e?1:Math.floor(e*n)/n;case"jump-both":return 0===e?0:1===e?1:Math.round(e*(n+1))/(n+1);case"jump-none":return 0===e?0:1===e?1:Math.floor(e*(n-1))/(n-1);default:throw new D('Unsupported step position: "'+t+'"')}}}(e);throw new R('Unsupported easing function: "'+e+'"')}var G=V("UnsupportedColorError");function K(e){if("undefined"!=typeof CSS&&CSS.supports&&!CSS.supports("color",e))throw new G('Unsupported color: "'+e+'".');if(null!==I)try{I.clearRect(0,0,1,1),I.fillStyle=e,I.fillRect(0,0,1,1);var r=I.getImageData(0,0,1,1).data;return{red:r[0],green:r[1],blue:r[2],alpha:parseFloat((r[3]/255).toFixed(2))}}catch(e){}var n=function(e,r){if(void 0===r&&(r=!0),void 0!==globalThis.document){var n=globalThis.document.createElement(e);return"width"in n&&(n.width="0"),"height"in n&&(n.height="0"),"border"in n&&(n.border="0"),"frameBorder"in n&&(n.frameBorder="0"),"scrolling"in n&&(n.scrolling="no"),"cellPadding"in n&&(n.cellPadding="0"),"cellSpacing"in n&&(n.cellSpacing="0"),"frame"in n&&(n.frame="void"),"rules"in n&&(n.rules="none"),"noWrap"in n&&(n.noWrap=!0),n.tabIndex=-1,n.setAttribute("role","presentation"),r?(n.style.width="1px",n.style.height="1px"):(n.setAttribute("aria-hidden","true"),n.style.width="0",n.style.height="0",n.style.zIndex="-9999",n.style.display="none",n.style.visibility="hidden",n.style.pointerEvents="none"),n.style.position="absolute",n.style.top="0",n.style.left="0",n.style.padding="0",n.style.margin="0",n.style.border="none",n.style.outline="none",n.style.clip="rect(1px, 1px, 1px, 1px)",n.style.clipPath="inset(50%)",n.style.overflow="hidden",n.style.whiteSpace="nowrap",n}}("div");if(void 0===n)throw new G('Failed to parse color values from: "'+e+'".');n.style.color=e,globalThis.document.body.appendChild(n);try{var t=globalThis.getComputedStyle(n).color,o=t.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/),i=t.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/),a=o||i;if(null===a)throw new G('Unsupported color: "'+e+'".');var s=parseInt(a[1],10),l=parseInt(a[2],10),u=parseInt(a[3],10),c=1;if(void 0!==a[4]){var d=a[4];c="%"===d.charAt(d.length-1)?parseFloat((parseFloat(d)/100).toFixed(2)):parseFloat(parseFloat(d).toFixed(2))}if(isNaN(s)||isNaN(l)||isNaN(u)||isNaN(c))throw new G('Failed to parse color values from: "'+e+'".');return{red:s,green:l,blue:u,alpha:c}}finally{globalThis.document.body.removeChild(n)}}var Z={},$=null,X=null,J=null,Q=null,Y={setAppearance:function(e){if(s.isReactNative)return function(e){try{require("react-native").Appearance.setColorScheme(e)}catch(e){}}(e);if(s.isElectron)return function(e){try{require("electron").nativeTheme.themeSource=e||"system"}catch(e){}}(e)},getAppearance:function(){return s.isReactNative?new Promise((function(e){try{e(require("react-native").Appearance.getColorScheme()||i.Unknown)}catch(r){e(i.Unknown)}})):s.isElectron?new Promise((function(e){try{e(require("electron").nativeTheme.shouldUseDarkColors?i.Dark:i.Light)}catch(r){e(i.Unknown)}})):s.browser===o.SamsungInternet?ne():Promise.resolve(te())},removeThemeColor:function(e){void 0===e&&(e="default");var r=Z[e];void 0!==r&&r.remove();Z[e]=void 0},setThemeColor:function(e,r){void 0===r&&(r={duration:0,easingFunction:"linear",appearance:"default"});var n=r.duration,t=_(r.easingFunction),o=r.appearance;null!==$&&(globalThis.cancelAnimationFrame($),$=null,null!==X&&(X(ue()),X=null));var a=ue();void 0===a&&(a=void 0!==r.defaultColor?r.defaultColor:te()===i.Dark?"#181818ff":"#dcdcdcff");var s=K(a),l=K(e);return new Promise((function(e){X=e;var r=null;$=globalThis.requestAnimationFrame((function i(a){null===r&&(r=a);var u,c=a-r;u=0===n?1:Math.min(c/n,1);var d=t(u),m={red:Math.round(s.red+(l.red-s.red)*d),green:Math.round(s.green+(l.green-s.green)*d),blue:Math.round(s.blue+(l.blue-s.blue)*d),alpha:+(s.alpha+(l.alpha-s.alpha)*d).toFixed(2)};(function(e){void 0===e&&(e="default");var r;r=!C||!A||N||L?"default":e;var n=Z[r];if(void 0!==n)return n;n=globalThis.document.createElement("meta"),N?n.setAttribute("name","msapplication-navbutton-color"):L?n.setAttribute("name","msapplication-TileColor"):n.setAttribute("name","theme-color");"default"!==e&&n.setAttribute("media","(prefers-color-scheme: "+r+")");return globalThis.document.head.prepend(n),Z[e]=n})(o).setAttribute("content",re(m)),u<1?$=globalThis.requestAnimationFrame(i):($=null,null!==X&&(e(ue()),$=null))}))}))},getThemeColor:ue,onAppearanceChange:function(e,r){void 0===r&&(r=!1);var n={fn:e,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 t=se(n);-1===t?(O.push(n),1===O.length&&(s.browser===o.SamsungInternet?(ne().then((function(e){J=e})),Q=globalThis.setInterval((function(){ne().then((function(e){e!==J&&(J=e,ie(e))}))}),2e3)):(i=n.capture,J=te(),"function"==typeof M.addEventListener?M.addEventListener("change",oe,i):"function"==typeof M.addListener&&M.addListener(oe))),this.getAppearance().then(ie)):O[t].once&&!n.once&&(O[t].once=!1);var i;void 0!==n.signal&&(n.signal.aborted?ae(n):n.signal.addEventListener("abort",(function e(){void 0!==n.signal&&n.signal.removeEventListener("abort",e),ae(n)})));return function(){ae(n)}}};function ee(e){var r=e.toString(16);switch(r.length){case 0:return"00";case 1:return"0"+r;default:return r}}function re(e){return"#"+ee(e.red)+ee(e.green)+ee(e.blue)+ee(Math.round(255*e.alpha))}function ne(){return new Promise((function(e){var r=new Image;r.onload=function(){if(null===I)return e(i.Light);I.drawImage(r,0,0);var n=I.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?e(i.Dark):e(i.Light)},r.onerror=function(){e(i.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function te(){return A?M.matches?i.Dark:i.Light:i.Unknown}function oe(e){var r;(r=e.matches?i.Dark:i.Light)!==J&&ie(J=r)}function ie(e){for(var r=0;r<O.length;r++){var n=O[r];n.fn(e),n.once&&ae(n)}}function ae(e){var r,n=se(e);-1!==n&&O.splice(n,1),0===O.length&&(s.browser===o.SamsungInternet?(J=null,null!==Q&&(clearInterval(Q),Q=null)):(r=e.capture,J=null,"function"==typeof M.removeEventListener?M.removeEventListener("change",oe,r):"function"==typeof M.removeListener&&M.removeListener(oe)))}function se(e){for(var r=0;r<O.length;r++)if(O[r].fn===e.fn&&O[r].capture===e.capture)return r;return-1}function le(){var e;Z={},e=N?'meta[name="msapplication-navbutton-color"]':L?'meta[name="msapplication-TileColor"]':'meta[name="theme-color"]';var r=globalThis.document.querySelectorAll(e);if(C&&A&&!N&&!L)for(var n=0;n<r.length;n++){var t=r.item(n),o=t.getAttribute("media");if("(prefers-color-scheme: dark)"===o&&void 0===Z.dark?Z.dark=t:"(prefers-color-scheme: light)"===o&&void 0===Z.light?Z.light=t:null===o&&void 0===Z.default&&(Z.default=t),void 0!==Z.dark&&void 0!==Z.light&&void 0!==Z.default)return}else Z.default=r[0]}function ue(){if(!s.isReactNative&&!s.isElectron){var e=function(){if(N)return globalThis.document.querySelector('meta[name="msapplication-navbutton-color"]');if(L)return globalThis.document.querySelector('meta[name="msapplication-TileColor"]');if(!C||!A)return globalThis.document.querySelector('meta[name="theme-color"]');var e,r=globalThis.document.querySelectorAll('meta[name="theme-color"]');e=te()===i.Dark?"(prefers-color-scheme: dark)":"(prefers-color-scheme: light)";for(var n=0;n<r.length;n++){var t=r.item(n);if(t.hasAttribute("content")){var o=t.getAttribute("media");if(null===o||o===e)return t}}return null}();return null!==e?e.getAttribute("content"):s.browser===o.Safari?s.isStandalone?te()===i.Dark?"#ffffffff":"#000000ff":re(K(globalThis.getComputedStyle(globalThis.document.body).backgroundColor)):s.browser===o.Chrome?te()===i.Dark?"#28292cff":"#ffffffff":void 0}}return function(){if(void 0!==globalThis.MutationObserver){var e=new MutationObserver((function(e){for(var r=0;r<e.length;r++){for(var n=e[r],t=n.addedNodes,o=n.removedNodes,i=0;i<t.length;i++)if(t[i]instanceof HTMLMetaElement)return le();for(i=0;i<o.length;i++)if(o[i]instanceof HTMLMetaElement)return le()}}));"function"==typeof M.addEventListener?M.addEventListener("change",le):"function"==typeof M.addListener&&M.addListener(le),e.observe(globalThis.document.head,{childList:!0}),le()}}(),{installed:!1,name:"Theme",module:Y,Constants:{Appearances:i},Errors:{EasingError:P,UnsupportedEasingFunctionError:R,StepSyntaxError:D,LinearSyntaxError:W,CubicBezierSyntaxError:U,UnsupportedColorError:G}}}));
@@ -18,6 +18,7 @@ export declare interface ThemeInstance {
18
18
  setThemeColor(color: Color, options?: SetThemeColorOptions): Promise<string | undefined>;
19
19
  getThemeColor(): Color | undefined;
20
20
  removeThemeColor(appearance?: ThemeColorMetaAppearanceKeys): void;
21
- detectAppearance(): Promise<Appearances>;
21
+ getAppearance(): Promise<Appearances>;
22
+ setAppearance(appearances?: Exclude<Appearances, Appearances.Unknown>): void;
22
23
  onAppearanceChange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void;
23
24
  }
@@ -18,6 +18,7 @@ export declare interface ThemeInstance {
18
18
  setThemeColor(color: Color, options?: SetThemeColorOptions): Promise<string | undefined>;
19
19
  getThemeColor(): Color | undefined;
20
20
  removeThemeColor(appearance?: ThemeColorMetaAppearanceKeys): void;
21
- detectAppearance(): Promise<Appearances>;
21
+ getAppearance(): Promise<Appearances>;
22
+ setAppearance(appearances?: Exclude<Appearances, Appearances.Unknown>): void;
22
23
  onAppearanceChange(listener: (appearance?: Appearances) => any, options?: boolean | AddEventListenerOptions): () => void;
23
24
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "native-fn",
3
- "version": "1.0.52",
3
+ "version": "1.0.55",
4
4
  "description": " ",
5
5
  "type": "module",
6
6