native-fn 1.0.26 → 1.0.27

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 (146) hide show
  1. package/README.md +22 -192
  2. package/dist/index.d.ts +4 -28
  3. package/dist/native.cjs +27 -1400
  4. package/dist/native.min.cjs +1 -0
  5. package/dist/native.min.mjs +1 -0
  6. package/dist/native.mjs +27 -1400
  7. package/dist/native.umd.js +27 -1400
  8. package/dist/native.umd.min.js +1 -0
  9. package/dist/plugin/app/index.cjs +1025 -0
  10. package/dist/plugin/app/index.d.ts +4 -0
  11. package/dist/plugin/app/index.min.cjs +1 -0
  12. package/dist/plugin/app/index.min.mjs +1 -0
  13. package/dist/plugin/app/index.mjs +1023 -0
  14. package/dist/plugin/app/index.umd.js +1031 -0
  15. package/dist/plugin/app/index.umd.min.js +1 -0
  16. package/dist/plugin/app/src/constants/platform.d.ts +35 -0
  17. package/dist/plugin/app/src/constants/user-agent.d.ts +1 -0
  18. package/dist/{src → plugin/app/src/plugin/app}/cores/app.d.ts +1 -1
  19. package/dist/plugin/app/src/plugin/app/index.d.ts +5 -0
  20. package/dist/plugin/app/src/plugin/app/types/app.d.ts +54 -0
  21. package/dist/plugin/app/src/plugin/app/types/index.d.ts +1 -0
  22. package/dist/plugin/app/src/plugin/app/utils/event-listener-utils.d.ts +3 -0
  23. package/dist/{src → plugin/app/src/plugin/platform}/cores/platform.d.ts +1 -1
  24. package/dist/plugin/app/src/plugin/platform/index.d.ts +5 -0
  25. package/dist/plugin/app/src/plugin/platform/types/index.d.ts +1 -0
  26. package/dist/{src → plugin/app/src/plugin/platform}/types/platform.d.ts +1 -1
  27. package/dist/{src → plugin/app/src/plugin/theme}/constants/theme.d.ts +1 -1
  28. package/dist/{src → plugin/app/src/plugin/theme}/cores/theme.d.ts +1 -1
  29. package/dist/plugin/app/src/plugin/theme/index.d.ts +5 -0
  30. package/dist/plugin/app/src/plugin/theme/types/color.d.ts +17 -0
  31. package/dist/{src → plugin/app/src/plugin/theme}/types/easing-syntax.d.ts +1 -1
  32. package/dist/plugin/app/src/plugin/theme/types/index.d.ts +3 -0
  33. package/dist/{src → plugin/app/src/plugin/theme}/types/theme.d.ts +4 -4
  34. package/dist/{src → plugin/app/src/plugin/theme}/utils/parse-color.d.ts +1 -1
  35. package/dist/{src → plugin/app/src/plugin/theme}/utils/parse-easing-function.d.ts +1 -1
  36. package/dist/plugin/app/src/types/index.d.ts +1 -0
  37. package/dist/plugin/app/src/types/native.d.ts +14 -0
  38. package/dist/plugin/app/src/utils/assign.d.ts +1 -0
  39. package/dist/plugin/app/src/utils/create-custom-error.d.ts +1 -0
  40. package/dist/plugin/platform/index.cjs +171 -0
  41. package/dist/plugin/platform/index.d.ts +4 -0
  42. package/dist/plugin/platform/index.min.cjs +1 -0
  43. package/dist/plugin/platform/index.min.mjs +1 -0
  44. package/dist/plugin/platform/index.mjs +169 -0
  45. package/dist/plugin/platform/index.umd.js +177 -0
  46. package/dist/plugin/platform/index.umd.min.js +1 -0
  47. package/dist/plugin/platform/src/constants/platform.d.ts +35 -0
  48. package/dist/plugin/platform/src/constants/user-agent.d.ts +1 -0
  49. package/dist/plugin/platform/src/plugin/app/constants/app.d.ts +13 -0
  50. package/dist/plugin/platform/src/plugin/app/cores/app.d.ts +3 -0
  51. package/dist/plugin/platform/src/plugin/app/errors/url-open-error.d.ts +2 -0
  52. package/dist/plugin/platform/src/plugin/app/index.d.ts +5 -0
  53. package/dist/plugin/platform/src/plugin/app/types/app.d.ts +54 -0
  54. package/dist/plugin/platform/src/plugin/app/types/index.d.ts +1 -0
  55. package/dist/plugin/platform/src/plugin/app/utils/event-listener-utils.d.ts +3 -0
  56. package/dist/plugin/platform/src/plugin/app/utils/try-open-url.d.ts +1 -0
  57. package/dist/plugin/platform/src/plugin/platform/cores/platform.d.ts +3 -0
  58. package/dist/plugin/platform/src/plugin/platform/index.d.ts +5 -0
  59. package/dist/plugin/platform/src/plugin/platform/types/index.d.ts +1 -0
  60. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +13 -0
  61. package/dist/plugin/platform/src/plugin/theme/constants/theme.d.ts +16 -0
  62. package/dist/plugin/platform/src/plugin/theme/cores/theme.d.ts +3 -0
  63. package/dist/plugin/platform/src/plugin/theme/errors/easing-error.d.ts +6 -0
  64. package/dist/plugin/platform/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
  65. package/dist/plugin/platform/src/plugin/theme/index.d.ts +5 -0
  66. package/dist/plugin/platform/src/plugin/theme/types/color.d.ts +17 -0
  67. package/dist/plugin/platform/src/plugin/theme/types/easing-syntax.d.ts +16 -0
  68. package/dist/plugin/platform/src/plugin/theme/types/index.d.ts +3 -0
  69. package/dist/plugin/platform/src/plugin/theme/types/theme.d.ts +24 -0
  70. package/dist/plugin/platform/src/plugin/theme/utils/parse-color.d.ts +2 -0
  71. package/dist/plugin/platform/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
  72. package/dist/plugin/platform/src/types/index.d.ts +1 -0
  73. package/dist/plugin/platform/src/types/native.d.ts +14 -0
  74. package/dist/plugin/platform/src/utils/assign.d.ts +1 -0
  75. package/dist/plugin/platform/src/utils/create-custom-error.d.ts +1 -0
  76. package/dist/plugin/theme/index.cjs +810 -0
  77. package/dist/plugin/theme/index.d.ts +4 -0
  78. package/dist/plugin/theme/index.min.cjs +1 -0
  79. package/dist/plugin/theme/index.min.mjs +1 -0
  80. package/dist/plugin/theme/index.mjs +808 -0
  81. package/dist/plugin/theme/index.umd.js +816 -0
  82. package/dist/plugin/theme/index.umd.min.js +1 -0
  83. package/dist/plugin/theme/src/constants/platform.d.ts +35 -0
  84. package/dist/plugin/theme/src/constants/user-agent.d.ts +1 -0
  85. package/dist/plugin/theme/src/plugin/app/constants/app.d.ts +13 -0
  86. package/dist/plugin/theme/src/plugin/app/cores/app.d.ts +3 -0
  87. package/dist/plugin/theme/src/plugin/app/errors/url-open-error.d.ts +2 -0
  88. package/dist/plugin/theme/src/plugin/app/index.d.ts +5 -0
  89. package/dist/plugin/theme/src/plugin/app/types/app.d.ts +54 -0
  90. package/dist/plugin/theme/src/plugin/app/types/index.d.ts +1 -0
  91. package/dist/plugin/theme/src/plugin/app/utils/event-listener-utils.d.ts +3 -0
  92. package/dist/plugin/theme/src/plugin/app/utils/try-open-url.d.ts +1 -0
  93. package/dist/plugin/theme/src/plugin/platform/cores/platform.d.ts +3 -0
  94. package/dist/plugin/theme/src/plugin/platform/index.d.ts +5 -0
  95. package/dist/plugin/theme/src/plugin/platform/types/index.d.ts +1 -0
  96. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +13 -0
  97. package/dist/plugin/theme/src/plugin/theme/constants/theme.d.ts +16 -0
  98. package/dist/plugin/theme/src/plugin/theme/cores/theme.d.ts +3 -0
  99. package/dist/plugin/theme/src/plugin/theme/errors/easing-error.d.ts +6 -0
  100. package/dist/plugin/theme/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
  101. package/dist/plugin/theme/src/plugin/theme/index.d.ts +5 -0
  102. package/dist/plugin/theme/src/plugin/theme/types/color.d.ts +17 -0
  103. package/dist/plugin/theme/src/plugin/theme/types/easing-syntax.d.ts +16 -0
  104. package/dist/plugin/theme/src/plugin/theme/types/index.d.ts +3 -0
  105. package/dist/plugin/theme/src/plugin/theme/types/theme.d.ts +24 -0
  106. package/dist/plugin/theme/src/plugin/theme/utils/parse-color.d.ts +2 -0
  107. package/dist/plugin/theme/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
  108. package/dist/plugin/theme/src/types/index.d.ts +1 -0
  109. package/dist/plugin/theme/src/types/native.d.ts +14 -0
  110. package/dist/plugin/theme/src/utils/assign.d.ts +1 -0
  111. package/dist/plugin/theme/src/utils/create-custom-error.d.ts +1 -0
  112. package/dist/src/plugin/app/constants/app.d.ts +13 -0
  113. package/dist/src/plugin/app/cores/app.d.ts +3 -0
  114. package/dist/src/plugin/app/errors/url-open-error.d.ts +2 -0
  115. package/dist/src/plugin/app/index.d.ts +5 -0
  116. package/dist/src/plugin/app/types/app.d.ts +54 -0
  117. package/dist/src/plugin/app/types/index.d.ts +1 -0
  118. package/dist/src/plugin/app/utils/event-listener-utils.d.ts +3 -0
  119. package/dist/src/plugin/app/utils/try-open-url.d.ts +1 -0
  120. package/dist/src/plugin/platform/cores/platform.d.ts +3 -0
  121. package/dist/src/plugin/platform/index.d.ts +5 -0
  122. package/dist/src/plugin/platform/types/index.d.ts +1 -0
  123. package/dist/src/plugin/platform/types/platform.d.ts +13 -0
  124. package/dist/src/plugin/theme/constants/theme.d.ts +16 -0
  125. package/dist/src/plugin/theme/cores/theme.d.ts +3 -0
  126. package/dist/src/plugin/theme/errors/easing-error.d.ts +6 -0
  127. package/dist/src/plugin/theme/errors/unsupported-color-error.d.ts +2 -0
  128. package/dist/src/plugin/theme/index.d.ts +5 -0
  129. package/dist/src/plugin/theme/types/color.d.ts +17 -0
  130. package/dist/src/plugin/theme/types/easing-syntax.d.ts +16 -0
  131. package/dist/src/plugin/theme/types/index.d.ts +3 -0
  132. package/dist/src/plugin/theme/types/theme.d.ts +24 -0
  133. package/dist/src/plugin/theme/utils/parse-color.d.ts +2 -0
  134. package/dist/src/plugin/theme/utils/parse-easing-function.d.ts +2 -0
  135. package/dist/src/types/index.d.ts +1 -5
  136. package/dist/src/types/native.d.ts +14 -0
  137. package/dist/src/utils/assign.d.ts +1 -0
  138. package/package.json +3 -2
  139. package/dist/src/types/app.d.ts +0 -44
  140. package/dist/src/types/color.d.ts +0 -17
  141. package/dist/src/utils/freeze-deep.d.ts +0 -1
  142. /package/dist/{src → plugin/app/src/plugin/app}/constants/app.d.ts +0 -0
  143. /package/dist/{src → plugin/app/src/plugin/app}/errors/url-open-error.d.ts +0 -0
  144. /package/dist/{src → plugin/app/src/plugin/app}/utils/try-open-url.d.ts +0 -0
  145. /package/dist/{src → plugin/app/src/plugin/theme}/errors/easing-error.d.ts +0 -0
  146. /package/dist/{src → plugin/app/src/plugin/theme}/errors/unsupported-color-error.d.ts +0 -0
@@ -0,0 +1,4 @@
1
+ import { Native } from "./src/types";
2
+ export * from './src/types';
3
+ declare const Native: Native;
4
+ export default Native;
@@ -0,0 +1 @@
1
+ "use strict";var e,t=navigator.userAgent;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var r=function(){var e=t.match(/chrome\/([\w.]+) mobile/i);if(null===e)return NaN;var r=parseInt(e[1]);return isNaN(r)?NaN:r}(),n=window.matchMedia("(prefers-color-scheme: dark)"),a="not all"!==n.media,o=isNaN(r)||r>=92,i=document.createElement("canvas").getContext("2d",{willReadFrequently:!0}),u=/Samsung/i.test(t),l=/iemobile/i.test(t),s=/windows phone/i.test(t),c=[];function f(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function d(e,t){function r(n){if(!(this instanceof r))return new r(n);var a=new t(n||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(a,r.prototype):a.__proto__=r.prototype,a.name=e,void 0!==n&&(a.message=n),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(a,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(a,r);else if(t.captureStackTrace&&"function"==typeof t.captureStackTrace)t.captureStackTrace(a,r);else try{var o=new t;o.stack&&(a.stack=o.stack)}catch(e){}return a}void 0===t&&(t=Error),r.prototype=Object.create(t.prototype,{constructor:{value:r,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(r.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(t){try{r.prototype.name=e}catch(e){}}try{Object.defineProperty(r,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return r}"function"==typeof SuppressedError&&SuppressedError;var p=d("EasingError"),v=d("CubicBezierSyntaxError",p),m=d("LinearSyntaxError",p),h=d("StepSyntaxError",p),b=d("UnsupportedEasingFunctionError",p),g={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 y(e,t,r){return e<t?t:e>r?r:e}function w(e){var t=function(e){var t=e.match(/cubic-bezier\((.*)\)/);if(null===t)throw new v("Invalid cubic-bezier syntax");var r=t[1].trim().split(","),n=[];if(4!==r.length)throw new v("Cubic-bezier must have exactly 4 numeric values");for(var a=0;a<4;a++){var o=parseFloat(r[a]);if(isNaN(o))throw new v("Cubic-bezier must have exactly 4 numeric values");if(a%2==0&&(o<0||o>1))throw new v("x1 and x2 must be between 0 and 1");n.push(o)}return{x1:n[0],y1:n[1],x2:n[2],y2:n[3]}}(e),r=t.x1,n=t.x2,a=t.y1,o=t.y2;return function(e){if(0===(e=y(e,0,1))||1===e)return e;var t=function(e,t,a){if(void 0===t&&(t=1e-6),void 0===a&&(a=50),e<=0)return 0;if(e>=1)return 1;for(var o=e,i=0;i<a;i++){var u=3*(1-o)*(1-o)*o*r+3*(1-o)*o*o*n+o*o*o,l=3*(1-o)*(1-o)*r+6*(1-o)*o*(n-r)+3*o*o*(1-n);if(Math.abs(l)<t)break;var s=o-(u-e)/l;if(Math.abs(s-o)<t){o=s;break}o=Math.max(0,Math.min(1,s))}return o}(e);return 3*(1-t)*(1-t)*t*a+3*(1-t)*t*t*o+t*t*t}}function S(e){var t=function(e){var t,r,n=e.match(/linear\((.*)\)/);if(null===n)throw new m("Invalid linear syntax");var a=n[1].trim();if(""===a)throw new m("Linear function must have at least one point");for(var o=a.split(","),i=[],u=0;u<o.length;u++){var l=o[u].trim(),s=l.match(/^([+-]?\d*\.?\d+)((?:\s+[+-]?\d*\.?\d+%){2,})$/);if(null===s){var c=l.match(/^([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)%$/);if(null===c){var d=l.match(/^([+-]?\d*\.?\d+)$/);if(null===d)throw new m('Invalid linear point format: "'+l+'"');i.push({position:1===o.length?0:u/(o.length-1),value:parseFloat(d[1])})}else i.push({position:parseFloat(c[2])/100,value:parseFloat(c[1])})}else{var p=parseFloat(s[1]),v=s[2].trim().split(/\s+/);try{for(var h=(t=void 0,f(v)),b=h.next();!b.done;b=h.next()){var g=b.value;i.push({value:p,position:parseFloat(g)/100})}}catch(e){t={error:e}}finally{try{b&&!b.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}}if(0===i.length)throw new m("No valid points found in linear function");return i.sort((function(e,t){return e.position-t.position})),i[0].position>0&&i.unshift({position:0,value:0}),i[i.length-1].position<1&&i.push({position:1,value:1}),i}(e);return function(e){if((e=y(e,0,1))<=t[0].position)return t[0].value;if(e>=t[t.length-1].position)return t[t.length-1].value;for(var r=0;r<t.length-1;r++){var n=t[r],a=t[r+1];if(e>=n.position&&e<=a.position){if(n.position===a.position)return a.value;var o=(e-n.position)/(a.position-n.position);return n.value+(a.value-n.value)*o}}return t[t.length-1].value}}function x(e){if(function(e){return!/(linear|cubic-bezier|steps)\((.*)\)/.test(e)}(e)&&(e=g[e]),function(e){return/cubic-bezier\(/.test(e)}(e))return w(e);if(function(e){return/linear\(/.test(e)}(e))return S(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 t=e.match(/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/);if(null===t)throw new h("Invalid steps syntax");var r=parseInt(t[1],10),n=t[2];if(r<=0)throw new h("Steps count must be a positive integer");if("jump-none"===n&&r<2)throw new h("jump-none requires at least 2 steps");return function(e){switch(e=y(e,0,1),n){case"start":case"jump-start":return 0===e?1/r:1===e?1:Math.ceil(e*r)/r;case void 0:case"end":case"jump-end":return 1===e?1:Math.floor(e*r)/r;case"jump-both":return 0===e?0:1===e?1:Math.round(e*(r+1))/(r+1);case"jump-none":return 0===e?0:1===e?1:Math.floor(e*(r-1))/(r-1);default:throw new h('Unsupported step position: "'+n+'"')}}}(e);throw new b('Unsupported easing function: "'+e+'"')}var E=d("UnsupportedColorError");function k(e){if("undefined"!=typeof CSS&&CSS.supports&&!CSS.supports("color",e))throw new E('Unsupported color: "'+e+'".');if(null!==i)try{i.clearRect(0,0,1,1),i.fillStyle=e,i.fillRect(0,0,1,1);var t=i.getImageData(0,0,1,1).data;return{red:t[0],green:t[1],blue:t[2],alpha:parseFloat((t[3]/255).toFixed(2))}}catch(e){}var r=document.createElement("div");r.style.position="absolute",r.style.top="-9999px",r.style.left="-9999px",r.style.width="1px",r.style.height="1px",r.style.color=e,document.body.appendChild(r);try{var n=window.getComputedStyle(r).color,a=n.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/),o=n.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/),u=a||o;if(null===u)throw new E('Unsupported color: "'+e+'".');var l=parseInt(u[1],10),s=parseInt(u[2],10),c=parseInt(u[3],10),f=1;if(void 0!==u[4]){var d=u[4];f="%"===d.charAt(d.length-1)?parseFloat((parseFloat(d)/100).toFixed(2)):parseFloat(parseFloat(d).toFixed(2))}if(isNaN(l)||isNaN(s)||isNaN(c)||isNaN(f))throw new E('Failed to parse color values from: "'+e+'".');return{red:l,green:s,blue:c,alpha:f}}finally{document.body.removeChild(r)}}var j,C={},L=null,I=null,F=null,M=null,N={setThemeColor:function(t,r){void 0===r&&(r={duration:0,easingFunction:"linear",appearance:"default"});var n=r.duration,i=x(r.easingFunction),u=r.appearance;null!==L&&(window.cancelAnimationFrame(L),L=null,null!==I&&(I(R()),I=null));var c=R();void 0===c&&(c=void 0!==r.defaultColor?r.defaultColor:P()===e.Dark?"#181818ff":"#dcdcdcff");var f=k(c),d=k(t);return new Promise((function(e){I=e;var t=null;L=window.requestAnimationFrame((function r(c){null===t&&(t=c);var p,v=c-t;p=0===n?1:Math.min(v/n,1);var m=i(p),h={red:Math.round(f.red+(d.red-f.red)*m),green:Math.round(f.green+(d.green-f.green)*m),blue:Math.round(f.blue+(d.blue-f.blue)*m),alpha:+(f.alpha+(d.alpha-f.alpha)*m).toFixed(2)};(function(e){void 0===e&&(e="default");var t;t=!o||!a||l||s?"default":e;var r=C[t];if(void 0!==r)return r;r=document.createElement("meta"),l?r.setAttribute("name","msapplication-navbutton-color"):s?r.setAttribute("name","msapplication-TileColor"):r.setAttribute("name","theme-color");"default"!==e&&r.setAttribute("media","(prefers-color-scheme: "+t+")");return document.head.prepend(r),C[e]=r})(u).setAttribute("content",T(h)),p<1?L=window.requestAnimationFrame(r):(L=null,null!==I&&(e(R()),L=null))}))}))},getThemeColor:R,removeThemeColor:function(e){void 0===e&&(e="default");var t=C[e];void 0!==t&&t.remove();C[e]=void 0},detectAppearance:function(){return u?z():Promise.resolve(P())},onAppearanceChange:function(e,t){void 0===t&&(t=!1);var r={fn:e,capture:!1,once:!1};"boolean"==typeof t&&(t={capture:t});void 0!==t.capture&&(r.capture=t.capture);void 0!==t.once&&(r.once=t.once);void 0!==t.signal&&(r.signal=t.signal);var a=q(r);-1===a?(c.push(r),1===c.length&&(u?(z().then((function(e){F=e})),M=window.setInterval((function(){z().then((function(e){e!==F&&(F=e,U(e))}))}),2e3)):(o=r.capture,F=P(),"function"==typeof n.addEventListener?n.addEventListener("change",D,o):"function"==typeof n.addListener&&n.addListener(D))),this.detectAppearance().then(U)):c[a].once&&!r.once&&(c[a].once=!1);var o;void 0!==r.signal&&(r.signal.aborted?O(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),O(r)})));return function(){O(r)}}};function A(e){var t=e.toString(16);switch(t.length){case 0:return"00";case 1:return"0"+t;default:return t}}function T(e){return"#"+A(e.red)+A(e.green)+A(e.blue)+A(Math.round(255*e.alpha))}function z(){return new Promise((function(t){var r=new Image;r.onload=function(){if(null===i)return t(e.Light);i.drawImage(r,0,0);var n=i.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?t(e.Dark):t(e.Light)},r.onerror=function(){t(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function P(){return a?n.matches?e.Dark:e.Light:e.Unknown}function D(t){var r;(r=t.matches?e.Dark:e.Light)!==F&&U(F=r)}function U(e){for(var t=0;t<c.length;t++){var r=c[t];r.fn(e),r.once&&O(r)}}function O(e){var t,r=q(e);-1!==r&&c.splice(r,1),0===c.length&&(u?(F=null,null!==M&&(clearInterval(M),M=null)):(t=e.capture,F=null,"function"==typeof n.removeEventListener?n.removeEventListener("change",D,t):"function"==typeof n.removeListener&&n.removeListener(D)))}function q(e){for(var t=0;t<c.length;t++)if(c[t].fn===e.fn&&c[t].capture===e.capture)return t;return-1}function H(){var e;C={},e=l?'meta[name="msapplication-navbutton-color"]':s?'meta[name="msapplication-TileColor"]':'meta[name="theme-color"]';var t=document.querySelectorAll(e);if(o&&a&&!l&&!s)for(var r=0;r<t.length;r++){var n=t.item(r),i=n.getAttribute("media");if("(prefers-color-scheme: dark)"===i&&void 0===C.dark?C.dark=n:"(prefers-color-scheme: light)"===i&&void 0===C.light?C.light=n:null===i&&void 0===C.default&&(C.default=n),void 0!==C.dark&&void 0!==C.light&&void 0!==C.default)return}else C.default=t[0]}function R(){var r=function(){if(l)return document.querySelector('meta[name="msapplication-navbutton-color"]');if(s)return document.querySelector('meta[name="msapplication-TileColor"]');if(!o||!a)return document.querySelector('meta[name="theme-color"]');var t,r=document.querySelectorAll('meta[name="theme-color"]');t=P()===e.Dark?"(prefers-color-scheme: dark)":"(prefers-color-scheme: light)";for(var n=0;n<r.length;n++){var i=r.item(n);if(i.hasAttribute("content")){var u=i.getAttribute("media");if(null===u||u===t)return i}}return null}();return null!==r?r.getAttribute("content"):/version\/[\w.,]+ .*safari/i.test(t)?navigator.standalone?P()===e.Dark?"#ffffffff":"#000000ff":T(k(window.getComputedStyle(document.body).backgroundColor)):/\b(?:crmo|crios)\/[\w.]+/i.test(t)||/chrome\/[\w.]+ mobile/i.test(t)?P()===e.Dark?"#28292cff":"#ffffffff":void 0}j=new MutationObserver((function(e){for(var t=0;t<e.length;t++){for(var r=e[t],n=r.addedNodes,a=r.removedNodes,o=0;o<n.length;o++)if(n[o]instanceof HTMLMetaElement)return H();for(o=0;o<a.length;o++)if(a[o]instanceof HTMLMetaElement)return H()}})),"function"==typeof n.addEventListener?n.addEventListener("change",H):"function"==typeof n.addListener&&n.addListener(H),j.observe(document.head,{childList:!0}),H();var Z={installed:!1,name:"Theme",module:N,constants:{Appearances:e},errors:{EasingError:p,UnsupportedEasingFunctionError:b,StepSyntaxError:h,LinearSyntaxError:m,CubicBezierSyntaxError:v,UnsupportedColorError:E}};module.exports=Z;
@@ -0,0 +1 @@
1
+ var e,t=navigator.userAgent;!function(e){e.Unknown="unknown",e.Light="light",e.Dark="dark"}(e||(e={}));var r=function(){var e=t.match(/chrome\/([\w.]+) mobile/i);if(null===e)return NaN;var r=parseInt(e[1]);return isNaN(r)?NaN:r}(),n=window.matchMedia("(prefers-color-scheme: dark)"),a="not all"!==n.media,o=isNaN(r)||r>=92,i=document.createElement("canvas").getContext("2d",{willReadFrequently:!0}),u=/Samsung/i.test(t),l=/iemobile/i.test(t),c=/windows phone/i.test(t),s=[];function f(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function d(e,t){function r(n){if(!(this instanceof r))return new r(n);var a=new t(n||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(a,r.prototype):a.__proto__=r.prototype,a.name=e,void 0!==n&&(a.message=n),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(a,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(a,r);else if(t.captureStackTrace&&"function"==typeof t.captureStackTrace)t.captureStackTrace(a,r);else try{var o=new t;o.stack&&(a.stack=o.stack)}catch(e){}return a}void 0===t&&(t=Error),r.prototype=Object.create(t.prototype,{constructor:{value:r,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(r.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(t){try{r.prototype.name=e}catch(e){}}try{Object.defineProperty(r,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return r}"function"==typeof SuppressedError&&SuppressedError;var p=d("EasingError"),v=d("CubicBezierSyntaxError",p),m=d("LinearSyntaxError",p),h=d("StepSyntaxError",p),b=d("UnsupportedEasingFunctionError",p),g={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 y(e,t,r){return e<t?t:e>r?r:e}function w(e){var t=function(e){var t=e.match(/cubic-bezier\((.*)\)/);if(null===t)throw new v("Invalid cubic-bezier syntax");var r=t[1].trim().split(","),n=[];if(4!==r.length)throw new v("Cubic-bezier must have exactly 4 numeric values");for(var a=0;a<4;a++){var o=parseFloat(r[a]);if(isNaN(o))throw new v("Cubic-bezier must have exactly 4 numeric values");if(a%2==0&&(o<0||o>1))throw new v("x1 and x2 must be between 0 and 1");n.push(o)}return{x1:n[0],y1:n[1],x2:n[2],y2:n[3]}}(e),r=t.x1,n=t.x2,a=t.y1,o=t.y2;return function(e){if(0===(e=y(e,0,1))||1===e)return e;var t=function(e,t,a){if(void 0===t&&(t=1e-6),void 0===a&&(a=50),e<=0)return 0;if(e>=1)return 1;for(var o=e,i=0;i<a;i++){var u=3*(1-o)*(1-o)*o*r+3*(1-o)*o*o*n+o*o*o,l=3*(1-o)*(1-o)*r+6*(1-o)*o*(n-r)+3*o*o*(1-n);if(Math.abs(l)<t)break;var c=o-(u-e)/l;if(Math.abs(c-o)<t){o=c;break}o=Math.max(0,Math.min(1,c))}return o}(e);return 3*(1-t)*(1-t)*t*a+3*(1-t)*t*t*o+t*t*t}}function S(e){var t=function(e){var t,r,n=e.match(/linear\((.*)\)/);if(null===n)throw new m("Invalid linear syntax");var a=n[1].trim();if(""===a)throw new m("Linear function must have at least one point");for(var o=a.split(","),i=[],u=0;u<o.length;u++){var l=o[u].trim(),c=l.match(/^([+-]?\d*\.?\d+)((?:\s+[+-]?\d*\.?\d+%){2,})$/);if(null===c){var s=l.match(/^([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)%$/);if(null===s){var d=l.match(/^([+-]?\d*\.?\d+)$/);if(null===d)throw new m('Invalid linear point format: "'+l+'"');i.push({position:1===o.length?0:u/(o.length-1),value:parseFloat(d[1])})}else i.push({position:parseFloat(s[2])/100,value:parseFloat(s[1])})}else{var p=parseFloat(c[1]),v=c[2].trim().split(/\s+/);try{for(var h=(t=void 0,f(v)),b=h.next();!b.done;b=h.next()){var g=b.value;i.push({value:p,position:parseFloat(g)/100})}}catch(e){t={error:e}}finally{try{b&&!b.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}}if(0===i.length)throw new m("No valid points found in linear function");return i.sort((function(e,t){return e.position-t.position})),i[0].position>0&&i.unshift({position:0,value:0}),i[i.length-1].position<1&&i.push({position:1,value:1}),i}(e);return function(e){if((e=y(e,0,1))<=t[0].position)return t[0].value;if(e>=t[t.length-1].position)return t[t.length-1].value;for(var r=0;r<t.length-1;r++){var n=t[r],a=t[r+1];if(e>=n.position&&e<=a.position){if(n.position===a.position)return a.value;var o=(e-n.position)/(a.position-n.position);return n.value+(a.value-n.value)*o}}return t[t.length-1].value}}function x(e){if(function(e){return!/(linear|cubic-bezier|steps)\((.*)\)/.test(e)}(e)&&(e=g[e]),function(e){return/cubic-bezier\(/.test(e)}(e))return w(e);if(function(e){return/linear\(/.test(e)}(e))return S(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 t=e.match(/steps\(\s*(\d+)\s*(?:,\s*(jump-start|jump-end|jump-none|jump-both|start|end)\s*)?\)$/);if(null===t)throw new h("Invalid steps syntax");var r=parseInt(t[1],10),n=t[2];if(r<=0)throw new h("Steps count must be a positive integer");if("jump-none"===n&&r<2)throw new h("jump-none requires at least 2 steps");return function(e){switch(e=y(e,0,1),n){case"start":case"jump-start":return 0===e?1/r:1===e?1:Math.ceil(e*r)/r;case void 0:case"end":case"jump-end":return 1===e?1:Math.floor(e*r)/r;case"jump-both":return 0===e?0:1===e?1:Math.round(e*(r+1))/(r+1);case"jump-none":return 0===e?0:1===e?1:Math.floor(e*(r-1))/(r-1);default:throw new h('Unsupported step position: "'+n+'"')}}}(e);throw new b('Unsupported easing function: "'+e+'"')}var E=d("UnsupportedColorError");function k(e){if("undefined"!=typeof CSS&&CSS.supports&&!CSS.supports("color",e))throw new E('Unsupported color: "'+e+'".');if(null!==i)try{i.clearRect(0,0,1,1),i.fillStyle=e,i.fillRect(0,0,1,1);var t=i.getImageData(0,0,1,1).data;return{red:t[0],green:t[1],blue:t[2],alpha:parseFloat((t[3]/255).toFixed(2))}}catch(e){}var r=document.createElement("div");r.style.position="absolute",r.style.top="-9999px",r.style.left="-9999px",r.style.width="1px",r.style.height="1px",r.style.color=e,document.body.appendChild(r);try{var n=window.getComputedStyle(r).color,a=n.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/),o=n.match(/rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)\s*(?:\/\s*([\d.]+%?))?\s*\)/),u=a||o;if(null===u)throw new E('Unsupported color: "'+e+'".');var l=parseInt(u[1],10),c=parseInt(u[2],10),s=parseInt(u[3],10),f=1;if(void 0!==u[4]){var d=u[4];f="%"===d.charAt(d.length-1)?parseFloat((parseFloat(d)/100).toFixed(2)):parseFloat(parseFloat(d).toFixed(2))}if(isNaN(l)||isNaN(c)||isNaN(s)||isNaN(f))throw new E('Failed to parse color values from: "'+e+'".');return{red:l,green:c,blue:s,alpha:f}}finally{document.body.removeChild(r)}}var j,C={},L=null,I=null,F=null,M=null,N={setThemeColor:function(t,r){void 0===r&&(r={duration:0,easingFunction:"linear",appearance:"default"});var n=r.duration,i=x(r.easingFunction),u=r.appearance;null!==L&&(window.cancelAnimationFrame(L),L=null,null!==I&&(I(R()),I=null));var s=R();void 0===s&&(s=void 0!==r.defaultColor?r.defaultColor:P()===e.Dark?"#181818ff":"#dcdcdcff");var f=k(s),d=k(t);return new Promise((function(e){I=e;var t=null;L=window.requestAnimationFrame((function r(s){null===t&&(t=s);var p,v=s-t;p=0===n?1:Math.min(v/n,1);var m=i(p),h={red:Math.round(f.red+(d.red-f.red)*m),green:Math.round(f.green+(d.green-f.green)*m),blue:Math.round(f.blue+(d.blue-f.blue)*m),alpha:+(f.alpha+(d.alpha-f.alpha)*m).toFixed(2)};(function(e){void 0===e&&(e="default");var t;t=!o||!a||l||c?"default":e;var r=C[t];if(void 0!==r)return r;r=document.createElement("meta"),l?r.setAttribute("name","msapplication-navbutton-color"):c?r.setAttribute("name","msapplication-TileColor"):r.setAttribute("name","theme-color");"default"!==e&&r.setAttribute("media","(prefers-color-scheme: "+t+")");return document.head.prepend(r),C[e]=r})(u).setAttribute("content",T(h)),p<1?L=window.requestAnimationFrame(r):(L=null,null!==I&&(e(R()),L=null))}))}))},getThemeColor:R,removeThemeColor:function(e){void 0===e&&(e="default");var t=C[e];void 0!==t&&t.remove();C[e]=void 0},detectAppearance:function(){return u?z():Promise.resolve(P())},onAppearanceChange:function(e,t){void 0===t&&(t=!1);var r={fn:e,capture:!1,once:!1};"boolean"==typeof t&&(t={capture:t});void 0!==t.capture&&(r.capture=t.capture);void 0!==t.once&&(r.once=t.once);void 0!==t.signal&&(r.signal=t.signal);var a=q(r);-1===a?(s.push(r),1===s.length&&(u?(z().then((function(e){F=e})),M=window.setInterval((function(){z().then((function(e){e!==F&&(F=e,U(e))}))}),2e3)):(o=r.capture,F=P(),"function"==typeof n.addEventListener?n.addEventListener("change",D,o):"function"==typeof n.addListener&&n.addListener(D))),this.detectAppearance().then(U)):s[a].once&&!r.once&&(s[a].once=!1);var o;void 0!==r.signal&&(r.signal.aborted?O(r):r.signal.addEventListener("abort",(function e(){void 0!==r.signal&&r.signal.removeEventListener("abort",e),O(r)})));return function(){O(r)}}};function A(e){var t=e.toString(16);switch(t.length){case 0:return"00";case 1:return"0"+t;default:return t}}function T(e){return"#"+A(e.red)+A(e.green)+A(e.blue)+A(Math.round(255*e.alpha))}function z(){return new Promise((function(t){var r=new Image;r.onload=function(){if(null===i)return t(e.Light);i.drawImage(r,0,0);var n=i.getImageData(0,0,1,1).data;(n[0]&n[1]&n[2])<255?t(e.Dark):t(e.Light)},r.onerror=function(){t(e.Unknown)},r.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IndoaXRlIi8+PC9zdmc+"}))}function P(){return a?n.matches?e.Dark:e.Light:e.Unknown}function D(t){var r;(r=t.matches?e.Dark:e.Light)!==F&&U(F=r)}function U(e){for(var t=0;t<s.length;t++){var r=s[t];r.fn(e),r.once&&O(r)}}function O(e){var t,r=q(e);-1!==r&&s.splice(r,1),0===s.length&&(u?(F=null,null!==M&&(clearInterval(M),M=null)):(t=e.capture,F=null,"function"==typeof n.removeEventListener?n.removeEventListener("change",D,t):"function"==typeof n.removeListener&&n.removeListener(D)))}function q(e){for(var t=0;t<s.length;t++)if(s[t].fn===e.fn&&s[t].capture===e.capture)return t;return-1}function H(){var e;C={},e=l?'meta[name="msapplication-navbutton-color"]':c?'meta[name="msapplication-TileColor"]':'meta[name="theme-color"]';var t=document.querySelectorAll(e);if(o&&a&&!l&&!c)for(var r=0;r<t.length;r++){var n=t.item(r),i=n.getAttribute("media");if("(prefers-color-scheme: dark)"===i&&void 0===C.dark?C.dark=n:"(prefers-color-scheme: light)"===i&&void 0===C.light?C.light=n:null===i&&void 0===C.default&&(C.default=n),void 0!==C.dark&&void 0!==C.light&&void 0!==C.default)return}else C.default=t[0]}function R(){var r=function(){if(l)return document.querySelector('meta[name="msapplication-navbutton-color"]');if(c)return document.querySelector('meta[name="msapplication-TileColor"]');if(!o||!a)return document.querySelector('meta[name="theme-color"]');var t,r=document.querySelectorAll('meta[name="theme-color"]');t=P()===e.Dark?"(prefers-color-scheme: dark)":"(prefers-color-scheme: light)";for(var n=0;n<r.length;n++){var i=r.item(n);if(i.hasAttribute("content")){var u=i.getAttribute("media");if(null===u||u===t)return i}}return null}();return null!==r?r.getAttribute("content"):/version\/[\w.,]+ .*safari/i.test(t)?navigator.standalone?P()===e.Dark?"#ffffffff":"#000000ff":T(k(window.getComputedStyle(document.body).backgroundColor)):/\b(?:crmo|crios)\/[\w.]+/i.test(t)||/chrome\/[\w.]+ mobile/i.test(t)?P()===e.Dark?"#28292cff":"#ffffffff":void 0}j=new MutationObserver((function(e){for(var t=0;t<e.length;t++){for(var r=e[t],n=r.addedNodes,a=r.removedNodes,o=0;o<n.length;o++)if(n[o]instanceof HTMLMetaElement)return H();for(o=0;o<a.length;o++)if(a[o]instanceof HTMLMetaElement)return H()}})),"function"==typeof n.addEventListener?n.addEventListener("change",H):"function"==typeof n.addListener&&n.addListener(H),j.observe(document.head,{childList:!0}),H();var Z={installed:!1,name:"Theme",module:N,constants:{Appearances:e},errors:{EasingError:p,UnsupportedEasingFunctionError:b,StepSyntaxError:h,LinearSyntaxError:m,CubicBezierSyntaxError:v,UnsupportedColorError:E}};export{Z as default};