reslib 1.0.0

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 (200) hide show
  1. package/README.md +298 -0
  2. package/build/auth/index.d.ts +2034 -0
  3. package/build/auth/index.js +5 -0
  4. package/build/auth/types.d.ts +465 -0
  5. package/build/auth/types.js +1 -0
  6. package/build/countries/countries.d.ts +1454 -0
  7. package/build/countries/countries.js +1 -0
  8. package/build/countries/index.d.ts +159 -0
  9. package/build/countries/index.js +5 -0
  10. package/build/countries/types.d.ts +65 -0
  11. package/build/countries/types.js +1 -0
  12. package/build/currency/currencies.d.ts +8 -0
  13. package/build/currency/currencies.js +1 -0
  14. package/build/currency/index.d.ts +51 -0
  15. package/build/currency/index.js +5 -0
  16. package/build/currency/session.d.ts +23 -0
  17. package/build/currency/session.js +5 -0
  18. package/build/currency/types.d.ts +1039 -0
  19. package/build/currency/types.js +1 -0
  20. package/build/currency/utils.d.ts +25 -0
  21. package/build/currency/utils.js +1 -0
  22. package/build/i18n/index.d.ts +640 -0
  23. package/build/i18n/index.js +5 -0
  24. package/build/inputFormatter/index.d.ts +396 -0
  25. package/build/inputFormatter/index.js +5 -0
  26. package/build/inputFormatter/types.d.ts +544 -0
  27. package/build/inputFormatter/types.js +1 -0
  28. package/build/logger/index.d.ts +235 -0
  29. package/build/logger/index.js +5 -0
  30. package/build/observable/index.d.ts +329 -0
  31. package/build/observable/index.js +1 -0
  32. package/build/platform/index.d.ts +32 -0
  33. package/build/platform/index.js +1 -0
  34. package/build/resources/ResourcePaginationHelper.d.ts +537 -0
  35. package/build/resources/ResourcePaginationHelper.js +2 -0
  36. package/build/resources/decorators/create.decorator.d.ts +20 -0
  37. package/build/resources/decorators/create.decorator.js +1 -0
  38. package/build/resources/decorators/index.d.ts +41 -0
  39. package/build/resources/decorators/index.js +1 -0
  40. package/build/resources/fields/index.d.ts +33 -0
  41. package/build/resources/fields/index.js +1 -0
  42. package/build/resources/filters.d.ts +62 -0
  43. package/build/resources/filters.js +1 -0
  44. package/build/resources/index.d.ts +854 -0
  45. package/build/resources/index.js +6 -0
  46. package/build/resources/types/filters.d.ts +508 -0
  47. package/build/resources/types/filters.js +1 -0
  48. package/build/resources/types/index.d.ts +4138 -0
  49. package/build/resources/types/index.js +1 -0
  50. package/build/session/index.d.ts +1474 -0
  51. package/build/session/index.js +1 -0
  52. package/build/translations/auth.en.d.ts +3 -0
  53. package/build/translations/auth.en.js +1 -0
  54. package/build/translations/countries.en.d.ts +6 -0
  55. package/build/translations/countries.en.js +1 -0
  56. package/build/translations/currencies.en.d.ts +5 -0
  57. package/build/translations/currencies.en.js +1 -0
  58. package/build/translations/date.en.d.ts +19 -0
  59. package/build/translations/date.en.js +1 -0
  60. package/build/translations/index.d.ts +1583 -0
  61. package/build/translations/index.js +5 -0
  62. package/build/translations/resources.en.d.ts +6 -0
  63. package/build/translations/resources.en.js +1 -0
  64. package/build/translations/validator.en.d.ts +104 -0
  65. package/build/translations/validator.en.js +5 -0
  66. package/build/types/date.d.ts +44 -0
  67. package/build/types/date.js +1 -0
  68. package/build/types/dictionary.d.ts +29 -0
  69. package/build/types/dictionary.js +1 -0
  70. package/build/types/i18n.d.ts +121 -0
  71. package/build/types/i18n.js +1 -0
  72. package/build/types/index.d.ts +145 -0
  73. package/build/types/index.js +1 -0
  74. package/build/utils/areEquals.d.ts +19 -0
  75. package/build/utils/areEquals.js +1 -0
  76. package/build/utils/date/dateHelper.d.ts +371 -0
  77. package/build/utils/date/dateHelper.js +5 -0
  78. package/build/utils/date/index.d.ts +212 -0
  79. package/build/utils/date/index.js +5 -0
  80. package/build/utils/date/isDateObj.d.ts +14 -0
  81. package/build/utils/date/isDateObj.js +1 -0
  82. package/build/utils/debounce.d.ts +52 -0
  83. package/build/utils/debounce.js +1 -0
  84. package/build/utils/defaultArray.d.ts +18 -0
  85. package/build/utils/defaultArray.js +1 -0
  86. package/build/utils/defaultBool.d.ts +14 -0
  87. package/build/utils/defaultBool.js +1 -0
  88. package/build/utils/defaultStr.d.ts +17 -0
  89. package/build/utils/defaultStr.js +1 -0
  90. package/build/utils/defaultVal.d.ts +18 -0
  91. package/build/utils/defaultVal.js +1 -0
  92. package/build/utils/dom/index.d.ts +65 -0
  93. package/build/utils/dom/index.js +1 -0
  94. package/build/utils/dom/isDOMElement.d.ts +11 -0
  95. package/build/utils/dom/isDOMElement.js +1 -0
  96. package/build/utils/file/index.d.ts +26 -0
  97. package/build/utils/file/index.js +1 -0
  98. package/build/utils/global.d.ts +53 -0
  99. package/build/utils/global.js +1 -0
  100. package/build/utils/image.d.ts +56 -0
  101. package/build/utils/image.js +1 -0
  102. package/build/utils/index.d.ts +39 -0
  103. package/build/utils/index.js +6 -0
  104. package/build/utils/interpolate.d.ts +105 -0
  105. package/build/utils/interpolate.js +1 -0
  106. package/build/utils/isEmail.d.ts +57 -0
  107. package/build/utils/isEmail.js +1 -0
  108. package/build/utils/isEmpty.d.ts +18 -0
  109. package/build/utils/isEmpty.js +1 -0
  110. package/build/utils/isNonNullString.d.ts +17 -0
  111. package/build/utils/isNonNullString.js +1 -0
  112. package/build/utils/isNullable.d.ts +7 -0
  113. package/build/utils/isNullable.js +1 -0
  114. package/build/utils/isNumber.d.ts +36 -0
  115. package/build/utils/isNumber.js +1 -0
  116. package/build/utils/isPrimitive.d.ts +16 -0
  117. package/build/utils/isPrimitive.js +1 -0
  118. package/build/utils/isPromise.d.ts +14 -0
  119. package/build/utils/isPromise.js +1 -0
  120. package/build/utils/isRegex.d.ts +15 -0
  121. package/build/utils/isRegex.js +1 -0
  122. package/build/utils/isTime.d.ts +18 -0
  123. package/build/utils/isTime.js +1 -0
  124. package/build/utils/json.d.ts +224 -0
  125. package/build/utils/json.js +1 -0
  126. package/build/utils/numbers.d.ts +148 -0
  127. package/build/utils/numbers.js +5 -0
  128. package/build/utils/object.d.ts +567 -0
  129. package/build/utils/object.js +1 -0
  130. package/build/utils/sort.d.ts +67 -0
  131. package/build/utils/sort.js +1 -0
  132. package/build/utils/string.d.ts +165 -0
  133. package/build/utils/string.js +1 -0
  134. package/build/utils/stringify.d.ts +23 -0
  135. package/build/utils/stringify.js +1 -0
  136. package/build/utils/uniqid.d.ts +18 -0
  137. package/build/utils/uniqid.js +1 -0
  138. package/build/utils/uri/index.d.ts +333 -0
  139. package/build/utils/uri/index.js +2 -0
  140. package/build/validator/index.d.ts +4 -0
  141. package/build/validator/index.js +6 -0
  142. package/build/validator/rules/array.d.ts +848 -0
  143. package/build/validator/rules/array.js +5 -0
  144. package/build/validator/rules/boolean.d.ts +87 -0
  145. package/build/validator/rules/boolean.js +5 -0
  146. package/build/validator/rules/date.d.ts +551 -0
  147. package/build/validator/rules/date.js +5 -0
  148. package/build/validator/rules/default.d.ts +367 -0
  149. package/build/validator/rules/default.js +5 -0
  150. package/build/validator/rules/enum.d.ts +155 -0
  151. package/build/validator/rules/enum.js +5 -0
  152. package/build/validator/rules/file.d.ts +356 -0
  153. package/build/validator/rules/file.js +5 -0
  154. package/build/validator/rules/format.d.ts +2825 -0
  155. package/build/validator/rules/format.js +6 -0
  156. package/build/validator/rules/index.d.ts +16 -0
  157. package/build/validator/rules/index.js +6 -0
  158. package/build/validator/rules/multiRules.d.ts +475 -0
  159. package/build/validator/rules/multiRules.js +5 -0
  160. package/build/validator/rules/numeric.d.ts +1135 -0
  161. package/build/validator/rules/numeric.js +5 -0
  162. package/build/validator/rules/string.d.ts +504 -0
  163. package/build/validator/rules/string.js +5 -0
  164. package/build/validator/rules/target.d.ts +137 -0
  165. package/build/validator/rules/target.js +5 -0
  166. package/build/validator/rules/utils.d.ts +1 -0
  167. package/build/validator/rules/utils.js +1 -0
  168. package/build/validator/rulesMarkers.d.ts +11 -0
  169. package/build/validator/rulesMarkers.js +1 -0
  170. package/build/validator/types.d.ts +2906 -0
  171. package/build/validator/types.js +1 -0
  172. package/build/validator/validator.d.ts +3692 -0
  173. package/build/validator/validator.js +5 -0
  174. package/lib/cjs/auth.js +1 -0
  175. package/lib/cjs/countries.js +1 -0
  176. package/lib/cjs/currency.js +1 -0
  177. package/lib/cjs/i18n.js +1 -0
  178. package/lib/cjs/inputFormatter.js +1 -0
  179. package/lib/cjs/logger.js +1 -0
  180. package/lib/cjs/observable.js +1 -0
  181. package/lib/cjs/platform.js +1 -0
  182. package/lib/cjs/resources.js +1 -0
  183. package/lib/cjs/session.js +1 -0
  184. package/lib/cjs/types.js +1 -0
  185. package/lib/cjs/utils.js +1 -0
  186. package/lib/cjs/validator.js +1 -0
  187. package/lib/esm/auth.mjs +1 -0
  188. package/lib/esm/countries.mjs +1 -0
  189. package/lib/esm/currency.mjs +1 -0
  190. package/lib/esm/i18n.mjs +1 -0
  191. package/lib/esm/inputFormatter.mjs +1 -0
  192. package/lib/esm/logger.mjs +1 -0
  193. package/lib/esm/observable.mjs +1 -0
  194. package/lib/esm/platform.mjs +1 -0
  195. package/lib/esm/resources.mjs +1 -0
  196. package/lib/esm/session.mjs +1 -0
  197. package/lib/esm/types.mjs +1 -0
  198. package/lib/esm/utils.mjs +1 -0
  199. package/lib/esm/validator.mjs +1 -0
  200. package/package.json +244 -0
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Returns the global object for the current JavaScript environment.
3
+ *
4
+ * This function attempts to detect and return the global object, supporting a variety of environments:
5
+ * - **Browser**: Returns `window` if available.
6
+ * - **Web Worker**: Returns `self` if available.
7
+ * - **Node.js**: Returns `global` if available.
8
+ * - **Modern JS**: Returns `globalThis` if available.
9
+ * - **Fallback**: Returns an empty object if none of the above are found.
10
+ *
11
+ * This utility is useful for writing universal (isomorphic) code that needs to access the global scope
12
+ * regardless of the runtime environment.
13
+ *
14
+ * @returns {object} The detected global object, or an empty object if none is found.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // In a browser environment
19
+ * const g = getGlobal();
20
+ * console.log(g === window); // true
21
+ *
22
+ * // In a Node.js environment
23
+ * const g = getGlobal();
24
+ * console.log(g === global); // true
25
+ * ```
26
+ *
27
+ * @remarks
28
+ * This function is especially useful for libraries that need to work in both browser and server environments.
29
+ */
30
+ export declare function getGlobal(): {};
31
+ /**
32
+ * The global object that provides access to the global scope in various environments.
33
+ * This object is determined based on the following checks:
34
+ * - If `window` is defined, it returns `window` (for browsers).
35
+ * - If `self` is defined, it returns `self` (for web workers).
36
+ * - If `global` is defined, it returns `global` (for Node.js).
37
+ * - If `globalThis` is defined, it returns `globalThis` (for modern environments).
38
+ * - If none of the above are defined, it returns an empty object.
39
+ *
40
+ * @returns {object} The global object or an empty object if none are found.
41
+ *
42
+ * @example
43
+ * // Accessing the global object
44
+ * const globalScope = gbl;
45
+ * console.log(globalScope); // Logs the global object based on the environment
46
+ *
47
+ * @example
48
+ * // Using the global object to access a global variable
49
+ * if (gbl.myGlobalVar) {
50
+ * console.log(gbl.myGlobalVar);
51
+ * }
52
+ */
53
+ export declare const Global: {};
@@ -0,0 +1 @@
1
+ 'use strict';function e(){return typeof window!="undefined"&&typeof window=="object"?window:typeof self!="undefined"&&typeof self=="object"?self:typeof global!="undefined"&&typeof global=="object"?global:typeof globalThis!="undefined"&&typeof globalThis=="object"?globalThis:{}}var o=e();exports.Global=o;exports.getGlobal=e;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Options for configuring image source validation behavior.
3
+ */
4
+ export interface IsImageSrcOptions {
5
+ /**
6
+ * List of supported image file extensions. If provided, only URLs with these extensions are considered valid.
7
+ * Extensions should be specified with leading dots (e.g., '.jpg', '.png').
8
+ *
9
+ * @defaultValue A comprehensive list of common image extensions
10
+ */
11
+ supportedExtensions?: string[];
12
+ }
13
+ /**
14
+ * Checks if the provided source is a valid image source.
15
+ *
16
+ * This function verifies whether the input `src` is a valid image source by performing
17
+ * several checks:
18
+ *
19
+ * 1. **Non-null String Check**: It first checks if `src` is a non-null string using the
20
+ * `isNonNullString` function.
21
+ *
22
+ * 2. **Trim Whitespace**: The function trims any leading or trailing whitespace from the
23
+ * source string to ensure accurate validation.
24
+ *
25
+ * 3. **Blob URL Handling**: If the source starts with `blob:http`, it removes the `blob:`
26
+ * prefix for further validation. Note that `ltrim` should be defined elsewhere in your code.
27
+ *
28
+ * 4. **Validation Checks**: The function then checks if the modified source is:
29
+ * - A valid data URL using the `isDataUrl` function.
30
+ * - A string that matches supported image file extensions.
31
+ *
32
+ * The function returns `true` if any of these conditions are met, indicating that the source
33
+ * is a valid image source; otherwise, it returns `false`.
34
+ *
35
+ * @param {any} src - The source to validate as an image source.
36
+ * @param {IsImageSrcOptions} options - Optional configuration for validation behavior.
37
+ * @returns {boolean} - Returns `true` if the source is a valid image source,
38
+ * `false` otherwise.
39
+ *
40
+ * @example
41
+ * // Valid image sources with default extensions
42
+ * console.log(isImageSrc('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...')); // true
43
+ * console.log(isImageSrc('https://example.com/image.jpg')); // true
44
+ * console.log(isImageSrc('image.png')); // true (if file extension is valid)
45
+ *
46
+ * // With custom supported extensions
47
+ * console.log(isImageSrc('image.webp', { supportedExtensions: ['.jpg', '.png'] })); // false
48
+ * console.log(isImageSrc('image.jpg', { supportedExtensions: ['.jpg', '.png'] })); // true
49
+ *
50
+ * // Invalid image sources
51
+ * console.log(isImageSrc(null)); // false
52
+ * console.log(isImageSrc('')); // false
53
+ * console.log(isImageSrc('not-a-valid-url')); // false
54
+ * console.log(isImageSrc('blob:http://example.com/...')); // true (if valid blob URL)
55
+ */
56
+ export declare const isImageSrc: (src: string | null | undefined, options?: IsImageSrcOptions) => boolean;
@@ -0,0 +1 @@
1
+ 'use strict';require('qs');function U(t,e){var c;let r=(c=e==null?void 0:e.withoutDot)!=null?c:false;if(!t||typeof t!="string")return "";let n=t.trim();if(n==="")return "";let a=n.split("/").pop()||n.split("\\").pop()||n,i=a.lastIndexOf(".");if(i<=0||i===a.length-1)return "";let g=a.substring(i);return r?g.substring(1):g}function o(t){return !!(t&&typeof t=="string")}var C=function(t,e=""){if(!t||typeof t!="string")return "";if(!e||typeof e!="string")return t.trim();let r=t.length;for(;t.startsWith(e)&&r>=0;)t=t.slice(e.length),--r;return t.toString()},A=function(t,e=""){if(!t||typeof t!="string")return "";if(!e||typeof e!="string")return t.trim();let r=t.length;for(;t.endsWith(e)&&r>=0;)t=t.slice(0,-e.length),--r;return t.toString()},R=(t,e=true)=>typeof t!="string"?false:e!==false?/^\d*\.?\d+$/.test(t):/^\d+$/.test(t);String.prototype.ltrim=function(t){return C(this.toString(),t)};String.prototype.rtrim=function(t){return A(this.toString(),t)};String.prototype.isNumber=function(t=true){return R(this.toString(),t)};String.prototype.replaceAll=function(t,e){return !o(t)||!o(e)?this.toString():this.toString().split(t).join(e)};var L=t=>o(t)?(t=t.trim(),t.replace(/(.)([A-Z][a-z]+)/,"$1_$2").replace(/([a-z0-9])([A-Z])/,"$1_$2").toUpperCase()):"";String.prototype.toSnakeCase=function(){return L(this.toString())};var N=t=>o(t)?(t=t.trim(),t.charAt(0)+t.replace(/(_\w)/g,e=>e[1].toUpperCase()).substring(1)):"";String.prototype.toCamelCase=function(){return N(this.toString())};var z=function(t){return !t||typeof t!="string"?"":(t=t.trim(),t.charAt(0).toUpperCase()+t.slice(1))};String.prototype.upperFirst=function(){return z(this.toString())};var D=function(t){return !t||typeof t!="string"?"":(t=t.trim(),t.charAt(0).toLowerCase()+t.slice(1))};String.prototype.lowerFirst=function(){return D(this.toString())};function $(t,e={}){let{allowedMimeTypes:r,requireBase64:n=false,validateBase64:a=false}=Object.assign({},e);if(typeof t!="string"||t.trim()==="")return false;let i=t.trim();if(!i.toLowerCase().startsWith("data:"))return false;if(typeof URL!="undefined")try{if(new URL(i).protocol!=="data:")return !1;let l=/^data:([^,;]*)(;[^,]*)?,(.*)$/i,d=i.match(l);if(!d)return !1;let[,p,x,s]=d;if(s===void 0||s.length===0)return !1;let S=(p||"text/plain").trim().toLowerCase();if(p&&p.trim()!==""&&!/^[a-z]+\/[a-z0-9][a-z0-9\-+.]*$/i.test(S)||r&&r.length>0&&!r.some(m=>m.toLowerCase()===S))return !1;let I=(x==null?void 0:x.toLowerCase().includes("base64"))||!1;if(n&&!I)return !1;if(a&&I){if(!/^[A-Za-z0-9+/]*={0,2}$/.test(s)||s.length%4!==0)return !1;let m=s.match(/=+$/);if(m&&m[0].length>2)return !1;if(s.includes("=")){let j=s.indexOf("="),P=s.slice(j);if(!/^=+$/.test(P))return !1}}return !0}catch(u){return false}let g=/^data:([^,;]*)(;[^,]*)?,(.+)$/i,c=i.match(g);if(!c)return false;let[,h,y,f]=c,b=(h||"text/plain").trim().toLowerCase();if(h&&h.trim()!==""&&!/^[a-z]+\/[a-z0-9][a-z0-9\-+.]*$/i.test(b)||r&&r.length>0&&!r.some(l=>l.toLowerCase()===b))return false;let w=(y==null?void 0:y.toLowerCase().includes("base64"))||false;if(n&&!w)return false;if(a&&w){if(!/^[A-Za-z0-9+/]*={0,2}$/.test(f)||f.length%4!==0)return false;let l=f.match(/=+$/);if(l&&l[0].length>2)return false;if(f.includes("=")){let d=f.indexOf("="),p=f.slice(d);if(!/^=+$/.test(p))return false}}return true}var tt=(t,e)=>o(t)?(t=t.trim(),t.startsWith("blob:http")&&(t=t.ltrim("blob:")),$(t,{validateBase64:true})||E(t,e==null?void 0:e.supportedExtensions)):false,T=[".jpg",".jpeg",".jpe",".jfif",".png",".gif",".bmp",".dib",".tiff",".tif",".webp",".svg",".ico",".cur",".avif",".heic",".heif",".jp2",".j2k",".jpf",".jpx",".psd",".apng",".tga",".icb",".vda",".vst",".pbm",".pgm",".ppm",".xbm",".xpm",".pcx",".ras",".sgi",".rgb",".bw",".cr2",".nef",".arw",".dng",".orf",".rw2",".pef",".srw",".bpg",".flif",".jxr",".hdp"];function E(t,e){let r=t.split("?")[0].split("#")[0].toLowerCase(),n=U(r,{withoutDot:false}).toLowerCase().trim();return (Array.isArray(e)&&e.length>0?e:T).includes(n)}exports.isImageSrc=tt;
@@ -0,0 +1,39 @@
1
+ import 'reflect-metadata';
2
+ export * from './date';
3
+ export * from './debounce';
4
+ export { debounce } from './debounce';
5
+ export * from './defaultArray';
6
+ export { defaultBool } from './defaultBool';
7
+ export { defaultStr } from './defaultStr';
8
+ export { defaultVal } from './defaultVal';
9
+ export * from './dom';
10
+ export * from './image';
11
+ export { isNonNullString } from './isNonNullString';
12
+ export * from './isNumber';
13
+ export { isPromise } from './isPromise';
14
+ export { isRegExp as isRegex } from './isRegex';
15
+ export * from './json';
16
+ export * from './numbers';
17
+ export * from './object';
18
+ export * from './sort';
19
+ export { stringify } from './stringify';
20
+ export { uniqid } from './uniqid';
21
+ export * from './uri';
22
+ export * from './global';
23
+ export * from './isEmail';
24
+ export { isPrimitive } from './isPrimitive';
25
+ export * from './string';
26
+ export * from './uri';
27
+ /**
28
+ * Checks if a value is an integer.
29
+ *
30
+ * This function returns true if the value is a finite number and its floor value is equal to the value itself.
31
+ *
32
+ * @param x The value to check.
33
+ * @returns True if the value is an integer, false otherwise.
34
+ */
35
+ export declare function isInteger(x: any): x is number;
36
+ export * from './isNullable';
37
+ export { areEquals } from './areEquals';
38
+ export { isEmpty } from './isEmpty';
39
+ export * from './interpolate';
@@ -0,0 +1,6 @@
1
+ 'use strict';require('reflect-metadata');var i18nJs=require('i18n-js'),U=require('moment'),ze=require('qs');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var U__default=/*#__PURE__*/_interopDefault(U);var ze__default=/*#__PURE__*/_interopDefault(ze);var Se=Object.defineProperty,nt=Object.defineProperties;var rt=Object.getOwnPropertyDescriptors;var _=Object.getOwnPropertySymbols;var Me=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable;var Te=(e,t,n)=>t in e?Se(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,Y=(e,t)=>{for(var n in t||(t={}))Me.call(t,n)&&Te(e,n,t[n]);if(_)for(var n of _(t))ve.call(t,n)&&Te(e,n,t[n]);return e},X=(e,t)=>nt(e,rt(t));var ee=(e,t)=>{var n={};for(var r in e)Me.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_)for(var r of _(e))t.indexOf(r)<0&&ve.call(e,r)&&(n[r]=e[r]);return n};var it=(e,t)=>{for(var n in t)Se(e,n,{get:t[n],enumerable:true});};function N(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}var Ne=function(e){let t={},n={},r=Array.prototype.slice;return X(Y({},Object.assign({},e)),{on:function(i,a){return a&&i&&(t[i]=t[i]||[]).push(a),{remove:()=>{this.off(i,a);}}},finally:function(i,a){return a&&i?((n[i]=n[i]||[]).push(a),this):this},off:function(i,a){if(!i)return this;if(i=="*"&&!a)t={};else if(a)for(var o=t[i],s=0,l;l=o&&o[s];++s)l==a&&o.splice(s--,1);return this},once:function(i,a){let o=(...s)=>{this.off(i,o),a.apply(this,s);};return this.on(i,o)},trigger:function(i,...a){if(!i)return this;let o,s,l,d=null;typeof a[a.length-1]=="function"&&(d=a.pop()),o=r.call(t[i]||[],0);let u=[];for(l=0;s=o[l];++l)typeof s=="function"&&u.push(s.apply(this,a));typeof t["*"]=="function"&&i!="*"&&(this.trigger(i,...a),this.trigger("*",...a));var y=r.call(n[i]||[],0);for(l=0;s=y[l];++l)s.call(this,u,a);return d&&d.call(this,u,a),this},offAll:function(){return t={},n={},this},getEventCallBacks:function(){return t}})};function Pe(e,t){return Object.assign({},Object.assign({},Reflect.getMetadata(t,e)),Object.assign({},Reflect.getMetadata(t,e.prototype)))}var ue={};it(ue,{en:()=>at});var Ae={AF:{code:"AF",dialCode:"93",name:"Afghanistan (\u202B\u0627\u0641\u063A\u0627\u0646\u0633\u062A\u0627\u0646\u202C\u200E)",priority:0},AL:{code:"AL",dialCode:"355",name:"Albania (Shqip\xEBri)",priority:0},DZ:{code:"DZ",dialCode:"213",name:"Algeria (\u202B\u0627\u0644\u062C\u0632\u0627\u0626\u0631\u202C\u200E)",priority:0},AS:{code:"AS",dialCode:"1684",name:"American Samoa",priority:0},AD:{code:"AD",dialCode:"376",name:"Andorra",priority:0},AO:{code:"AO",dialCode:"244",name:"Angola",priority:0},AI:{code:"AI",dialCode:"1264",name:"Anguilla",priority:0},AG:{code:"AG",dialCode:"1268",name:"Antigua and Barbuda",priority:0},AR:{code:"AR",dialCode:"54",name:"Argentina",priority:0},AM:{code:"AM",dialCode:"374",name:"Armenia (\u0540\u0561\u0575\u0561\u057D\u057F\u0561\u0576)",priority:0},AW:{code:"AW",dialCode:"297",name:"Aruba",priority:0},AU:{code:"AU",dialCode:"61",name:"Australia",priority:0},AT:{code:"AT",dialCode:"43",name:"Austria (\xD6sterreich)",priority:0},AZ:{code:"AZ",dialCode:"994",name:"Azerbaijan (Az\u0259rbaycan)",priority:0},BS:{code:"BS",dialCode:"1242",name:"Bahamas",priority:0},BH:{code:"BH",dialCode:"973",name:"Bahrain (\u202B\u0627\u0644\u0628\u062D\u0631\u064A\u0646\u202C\u200E)",priority:0},BD:{code:"BD",dialCode:"880",name:"Bangladesh (\u09AC\u09BE\u0982\u09B2\u09BE\u09A6\u09C7\u09B6)",priority:0},BB:{code:"BB",dialCode:"1246",name:"Barbados",priority:0},BY:{code:"BY",dialCode:"375",name:"Belarus (\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u044C)",priority:0},BE:{code:"BE",dialCode:"32",name:"Belgium (Belgi\xEB)",priority:0},BZ:{code:"BZ",dialCode:"501",name:"Belize",priority:0},BJ:{code:"BJ",dialCode:"229",name:"Benin (B\xE9nin)",priority:0},BM:{code:"BM",dialCode:"1441",name:"Bermuda",priority:0},BT:{code:"BT",dialCode:"975",name:"Bhutan (\u0F60\u0F56\u0FB2\u0F74\u0F42)",priority:0},BO:{code:"BO",dialCode:"591",name:"Bolivia",priority:0},BA:{code:"BA",dialCode:"387",name:"Bosnia and Herzegovina (\u0411\u043E\u0441\u043D\u0430 \u0438 \u0425\u0435\u0440\u0446\u0435\u0433\u043E\u0432\u0438\u043D\u0430)",priority:0},BW:{code:"BW",dialCode:"267",name:"Botswana",priority:0},BR:{code:"BR",dialCode:"55",name:"Brazil (Brasil)",priority:0},IO:{code:"IO",dialCode:"246",name:"British Indian Ocean Territory",priority:0},VG:{code:"VG",dialCode:"1284",name:"British Virgin Islands",priority:0},BN:{code:"BN",dialCode:"673",name:"Brunei",priority:0},BG:{code:"BG",dialCode:"359",name:"Bulgaria (\u0411\u044A\u043B\u0433\u0430\u0440\u0438\u044F)",priority:0},BF:{code:"BF",dialCode:"226",name:"Burkina Faso",priority:0},BI:{code:"BI",dialCode:"257",name:"Burundi (Uburundi)",priority:0},KH:{code:"KH",dialCode:"855",name:"Cambodia (\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6)",priority:0},CM:{code:"CM",dialCode:"237",name:"Cameroon (Cameroun)",priority:0},CA:{code:"CA",dialCode:"1",name:"Canada",priority:1},CV:{code:"CV",dialCode:"238",name:"Cape Verde (Kabu Verdi)",priority:0},BQ:{code:"BQ",dialCode:"599",name:"Caribbean Netherlands",priority:1},KY:{code:"KY",dialCode:"1345",name:"Cayman Islands",priority:0},CF:{code:"CF",dialCode:"236",name:"Central African Republic (R\xE9publique centrafricaine)",priority:0},TD:{code:"TD",dialCode:"235",name:"Chad (Tchad)",priority:0},CL:{code:"CL",dialCode:"56",name:"Chile",priority:0},CN:{code:"CN",dialCode:"86",name:"China (\u4E2D\u56FD)",priority:0},CX:{code:"CX",dialCode:"61",name:"Christmas Island",priority:2},CC:{code:"CC",dialCode:"61",name:"Cocos (Keeling) Islands",priority:1},CO:{code:"CO",dialCode:"57",name:"Colombia",priority:0},KM:{code:"KM",dialCode:"269",name:"Comoros (\u202B\u062C\u0632\u0631 \u0627\u0644\u0642\u0645\u0631\u202C\u200E)",priority:0},CD:{code:"CD",dialCode:"243",name:"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)",priority:0},CG:{code:"CG",dialCode:"242",name:"Congo (Republic) (Congo-Brazzaville)",priority:0},CK:{code:"CK",dialCode:"682",name:"Cook Islands",priority:0},CR:{code:"CR",dialCode:"506",name:"Costa Rica",priority:0},CI:{code:"CI",dialCode:"225",name:"C\xF4te d\u2019Ivoire",priority:0},HR:{code:"HR",dialCode:"385",name:"Croatia (Hrvatska)",priority:0},CU:{code:"CU",dialCode:"53",name:"Cuba",priority:0},CW:{code:"CW",dialCode:"599",name:"Cura\xE7ao",priority:0},CY:{code:"CY",dialCode:"357",name:"Cyprus (\u039A\u03CD\u03C0\u03C1\u03BF\u03C2)",priority:0},CZ:{code:"CZ",dialCode:"420",name:"Czech Republic (\u010Cesk\xE1 republika)",priority:0},DK:{code:"DK",dialCode:"45",name:"Denmark (Danmark)",priority:0},DJ:{code:"DJ",dialCode:"253",name:"Djibouti",priority:0},DM:{code:"DM",dialCode:"1767",name:"Dominica",priority:0},DO:{code:"DO",dialCode:"1",name:"Dominican Republic (Rep\xFAblica Dominicana)",priority:2},EC:{code:"EC",dialCode:"593",name:"Ecuador",priority:0},EG:{code:"EG",dialCode:"20",name:"Egypt (\u202B\u0645\u0635\u0631\u202C\u200E)",priority:0},SV:{code:"SV",dialCode:"503",name:"El Salvador",priority:0},GQ:{code:"GQ",dialCode:"240",name:"Equatorial Guinea (Guinea Ecuatorial)",priority:0},ER:{code:"ER",dialCode:"291",name:"Eritrea",priority:0},EE:{code:"EE",dialCode:"372",name:"Estonia (Eesti)",priority:0},ET:{code:"ET",dialCode:"251",name:"Ethiopia",priority:0},FK:{code:"FK",dialCode:"500",name:"Falkland Islands (Islas Malvinas)",priority:0},FO:{code:"FO",dialCode:"298",name:"Faroe Islands (F\xF8royar)",priority:0},FJ:{code:"FJ",dialCode:"679",name:"Fiji",priority:0},FI:{code:"FI",dialCode:"358",name:"Finland (Suomi)",priority:0},FR:{code:"FR",dialCode:"33",name:"France",priority:0},GF:{code:"GF",dialCode:"594",name:"French Guiana (Guyane fran\xE7aise)",priority:0},PF:{code:"PF",dialCode:"689",name:"French Polynesia (Polyn\xE9sie fran\xE7aise)",priority:0},GA:{code:"GA",dialCode:"241",name:"Gabon",priority:0},GM:{code:"GM",dialCode:"220",name:"Gambia",priority:0},GE:{code:"GE",dialCode:"995",name:"Georgia (\u10E1\u10D0\u10E5\u10D0\u10E0\u10D7\u10D5\u10D4\u10DA\u10DD)",priority:0},DE:{code:"DE",dialCode:"49",name:"Germany (Deutschland)",priority:0},GH:{code:"GH",dialCode:"233",name:"Ghana (Gaana)",priority:0},GI:{code:"GI",dialCode:"350",name:"Gibraltar",priority:0},GR:{code:"GR",dialCode:"30",name:"Greece (\u0395\u03BB\u03BB\u03AC\u03B4\u03B1)",priority:0},GL:{code:"GL",dialCode:"299",name:"Greenland (Kalaallit Nunaat)",priority:0},GD:{code:"GD",dialCode:"1473",name:"Grenada",priority:0},GP:{code:"GP",dialCode:"590",name:"Guadeloupe",priority:0},GU:{code:"GU",dialCode:"1671",name:"Guam",priority:0},GT:{code:"GT",dialCode:"502",name:"Guatemala",priority:0},GG:{code:"GG",dialCode:"44",name:"Guernsey",priority:1},GN:{code:"GN",dialCode:"224",name:"Guinea (Guin\xE9e)",priority:0},GW:{code:"GW",dialCode:"245",name:"Guinea-Bissau (Guin\xE9 Bissau)",priority:0},GY:{code:"GY",dialCode:"592",name:"Guyana",priority:0},HT:{code:"HT",dialCode:"509",name:"Haiti",priority:0},HN:{code:"HN",dialCode:"504",name:"Honduras",priority:0},HK:{code:"HK",dialCode:"852",name:"Hong Kong (\u9999\u6E2F)",priority:0},HU:{code:"HU",dialCode:"36",name:"Hungary (Magyarorsz\xE1g)",priority:0},IS:{code:"IS",dialCode:"354",name:"Iceland (\xCDsland)",priority:0},IN:{code:"IN",dialCode:"91",name:"India (\u092D\u093E\u0930\u0924)",priority:0},ID:{code:"ID",dialCode:"62",name:"Indonesia",priority:0},IR:{code:"IR",dialCode:"98",name:"Iran (\u202B\u0627\u06CC\u0631\u0627\u0646\u202C\u200E)",priority:0},IQ:{code:"IQ",dialCode:"964",name:"Iraq (\u202B\u0627\u0644\u0639\u0631\u0627\u0642\u202C\u200E)",priority:0},IE:{code:"IE",dialCode:"353",name:"Ireland",priority:0},IM:{code:"IM",dialCode:"44",name:"Isle of Man",priority:2},IL:{code:"IL",dialCode:"972",name:"Israel (\u202B\u05D9\u05E9\u05E8\u05D0\u05DC\u202C\u200E)",priority:0},IT:{code:"IT",dialCode:"39",name:"Italy (Italia)",priority:0},JM:{code:"JM",dialCode:"1876",name:"Jamaica",priority:0},JP:{code:"JP",dialCode:"81",name:"Japan (\u65E5\u672C)",priority:0},JE:{code:"JE",dialCode:"44",name:"Jersey",priority:3},JO:{code:"JO",dialCode:"962",name:"Jordan (\u202B\u0627\u0644\u0623\u0631\u062F\u0646\u202C\u200E)",priority:0},KZ:{code:"KZ",dialCode:"77",name:"Kazakhstan (\u041A\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043D)",priority:1},KE:{code:"KE",dialCode:"254",name:"Kenya",priority:0},KI:{code:"KI",dialCode:"686",name:"Kiribati",priority:0},KW:{code:"KW",dialCode:"965",name:"Kuwait (\u202B\u0627\u0644\u0643\u0648\u064A\u062A\u202C\u200E)",priority:0},KG:{code:"KG",dialCode:"996",name:"Kyrgyzstan (\u041A\u044B\u0440\u0433\u044B\u0437\u0441\u0442\u0430\u043D)",priority:0},LA:{code:"LA",dialCode:"856",name:"Laos (\u0EA5\u0EB2\u0EA7)",priority:0},LV:{code:"LV",dialCode:"371",name:"Latvia (Latvija)",priority:0},LB:{code:"LB",dialCode:"961",name:"Lebanon (\u202B\u0644\u0628\u0646\u0627\u0646\u202C\u200E)",priority:0},LS:{code:"LS",dialCode:"266",name:"Lesotho",priority:0},LR:{code:"LR",dialCode:"231",name:"Liberia",priority:0},LY:{code:"LY",dialCode:"218",name:"Libya (\u202B\u0644\u064A\u0628\u064A\u0627\u202C\u200E)",priority:0},LI:{code:"LI",dialCode:"423",name:"Liechtenstein",priority:0},LT:{code:"LT",dialCode:"370",name:"Lithuania (Lietuva)",priority:0},LU:{code:"LU",dialCode:"352",name:"Luxembourg",priority:0},MO:{code:"MO",dialCode:"853",name:"Macau (\u6FB3\u9580)",priority:0},MK:{code:"MK",dialCode:"389",name:"Macedonia (FYROM) (\u041C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430)",priority:0},MG:{code:"MG",dialCode:"261",name:"Madagascar (Madagasikara)",priority:0},MW:{code:"MW",dialCode:"265",name:"Malawi",priority:0},MY:{code:"MY",dialCode:"60",name:"Malaysia",priority:0},MV:{code:"MV",dialCode:"960",name:"Maldives",priority:0},ML:{code:"ML",dialCode:"223",name:"Mali",priority:0},MT:{code:"MT",dialCode:"356",name:"Malta",priority:0},MH:{code:"MH",dialCode:"692",name:"Marshall Islands",priority:0},MQ:{code:"MQ",dialCode:"596",name:"Martinique",priority:0},MR:{code:"MR",dialCode:"222",name:"Mauritania (\u202B\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627\u202C\u200E)",priority:0},MU:{code:"MU",dialCode:"230",name:"Mauritius (Moris)",priority:0},YT:{code:"YT",dialCode:"262",name:"Mayotte",priority:1},MX:{code:"MX",dialCode:"52",name:"Mexico (M\xE9xico)",priority:0},FM:{code:"FM",dialCode:"691",name:"Micronesia",priority:0},MD:{code:"MD",dialCode:"373",name:"Moldova (Republica Moldova)",priority:0},MC:{code:"MC",dialCode:"377",name:"Monaco",priority:0},MN:{code:"MN",dialCode:"976",name:"Mongolia (\u041C\u043E\u043D\u0433\u043E\u043B)",priority:0},ME:{code:"ME",dialCode:"382",name:"Montenegro (Crna Gora)",priority:0},MS:{code:"MS",dialCode:"1664",name:"Montserrat",priority:0},MA:{code:"MA",dialCode:"212",name:"Morocco (\u202B\u0627\u0644\u0645\u063A\u0631\u0628\u202C\u200E)",priority:0},MZ:{code:"MZ",dialCode:"258",name:"Mozambique (Mo\xE7ambique)",priority:0},MM:{code:"MM",dialCode:"95",name:"Myanmar (Burma)",priority:0},NA:{code:"NA",dialCode:"264",name:"Namibia (Namibi\xEB)",priority:0},NR:{code:"NR",dialCode:"674",name:"Nauru",priority:0},NP:{code:"NP",dialCode:"977",name:"Nepal (\u0928\u0947\u092A\u093E\u0932)",priority:0},NL:{code:"NL",dialCode:"31",name:"Netherlands (Nederland)",priority:0},NC:{code:"NC",dialCode:"687",name:"New Caledonia (Nouvelle-Cal\xE9donie)",priority:0},NZ:{code:"NZ",dialCode:"64",name:"New Zealand",priority:0},NI:{code:"NI",dialCode:"505",name:"Nicaragua",priority:0},NE:{code:"NE",dialCode:"227",name:"Niger (Nijar)",priority:0},NG:{code:"NG",dialCode:"234",name:"Nigeria",priority:0},NU:{code:"NU",dialCode:"683",name:"Niue",priority:0},NF:{code:"NF",dialCode:"672",name:"Norfolk Island",priority:0},KP:{code:"KP",dialCode:"850",name:"North Korea (\uC870\uC120 \uBBFC\uC8FC\uC8FC\uC758 \uC778\uBBFC \uACF5\uD654\uAD6D)",priority:0},MP:{code:"MP",dialCode:"1670",name:"Northern Mariana Islands",priority:0},NO:{code:"NO",dialCode:"47",name:"Norway (Norge)",priority:0},OM:{code:"OM",dialCode:"968",name:"Oman (\u202B\u0639\u064F\u0645\u0627\u0646\u202C\u200E)",priority:0},PK:{code:"PK",dialCode:"92",name:"Pakistan (\u202B\u067E\u0627\u06A9\u0633\u062A\u0627\u0646\u202C\u200E)",priority:0},PW:{code:"PW",dialCode:"680",name:"Palau",priority:0},PS:{code:"PS",dialCode:"970",name:"Palestine (\u202B\u0641\u0644\u0633\u0637\u064A\u0646\u202C\u200E)",priority:0},PA:{code:"PA",dialCode:"507",name:"Panama (Panam\xE1)",priority:0},PG:{code:"PG",dialCode:"675",name:"Papua New Guinea",priority:0},PY:{code:"PY",dialCode:"595",name:"Paraguay",priority:0},PE:{code:"PE",dialCode:"51",name:"Peru (Per\xFA)",priority:0},PH:{code:"PH",dialCode:"63",name:"Philippines",priority:0},PL:{code:"PL",dialCode:"48",name:"Poland (Polska)",priority:0},PT:{code:"PT",dialCode:"351",name:"Portugal",priority:0},PR:{code:"PR",dialCode:"1",name:"Puerto Rico",priority:3},QA:{code:"QA",dialCode:"974",name:"Qatar (\u202B\u0642\u0637\u0631\u202C\u200E)",priority:0},RE:{code:"RE",dialCode:"262",name:"R\xE9union (La R\xE9union)",priority:0},RO:{code:"RO",dialCode:"40",name:"Romania (Rom\xE2nia)",priority:0},RU:{code:"RU",dialCode:"7",name:"Russia (\u0420\u043E\u0441\u0441\u0438\u044F)",priority:0},RW:{code:"RW",dialCode:"250",name:"Rwanda",priority:0},BL:{code:"BL",dialCode:"590",name:"Saint Barth\xE9lemy (Saint-Barth\xE9lemy)",priority:1},SH:{code:"SH",dialCode:"290",name:"Saint Helena",priority:0},KN:{code:"KN",dialCode:"1869",name:"Saint Kitts and Nevis",priority:0},LC:{code:"LC",dialCode:"1758",name:"Saint Lucia",priority:0},MF:{code:"MF",dialCode:"590",name:"Saint Martin (Saint-Martin (partie fran\xE7aise))",priority:2},PM:{code:"PM",dialCode:"508",name:"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)",priority:0},VC:{code:"VC",dialCode:"1784",name:"Saint Vincent and the Grenadines",priority:0},WS:{code:"WS",dialCode:"685",name:"Samoa",priority:0},SM:{code:"SM",dialCode:"378",name:"San Marino",priority:0},ST:{code:"ST",dialCode:"239",name:"S\xE3o Tom\xE9 and Pr\xEDncipe (S\xE3o Tom\xE9 e Pr\xEDncipe)",priority:0},SA:{code:"SA",dialCode:"966",name:"Saudi Arabia (\u202B\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629\u202C\u200E)",priority:0},SN:{code:"SN",dialCode:"221",name:"Senegal (S\xE9n\xE9gal)",priority:0},RS:{code:"RS",dialCode:"381",name:"Serbia (\u0421\u0440\u0431\u0438\u0458\u0430)",priority:0},SC:{code:"SC",dialCode:"248",name:"Seychelles",priority:0},SL:{code:"SL",dialCode:"232",name:"Sierra Leone",priority:0},SG:{code:"SG",dialCode:"65",name:"Singapore",priority:0},SX:{code:"SX",dialCode:"1721",name:"Sint Maarten",priority:0},SK:{code:"SK",dialCode:"421",name:"Slovakia (Slovensko)",priority:0},SI:{code:"SI",dialCode:"386",name:"Slovenia (Slovenija)",priority:0},SB:{code:"SB",dialCode:"677",name:"Solomon Islands",priority:0},SO:{code:"SO",dialCode:"252",name:"Somalia (Soomaaliya)",priority:0},ZA:{code:"ZA",dialCode:"27",name:"South Africa",priority:0},KR:{code:"KR",dialCode:"82",name:"South Korea (\uB300\uD55C\uBBFC\uAD6D)",priority:0},SS:{code:"SS",dialCode:"211",name:"South Sudan (\u202B\u062C\u0646\u0648\u0628 \u0627\u0644\u0633\u0648\u062F\u0627\u0646\u202C\u200E)",priority:0},ES:{code:"ES",dialCode:"34",name:"Spain (Espa\xF1a)",priority:0},LK:{code:"LK",dialCode:"94",name:"Sri Lanka (\u0DC1\u0DCA\u200D\u0DBB\u0DD3 \u0DBD\u0D82\u0D9A\u0DCF\u0DC0)",priority:0},SD:{code:"SD",dialCode:"249",name:"Sudan (\u202B\u0627\u0644\u0633\u0648\u062F\u0627\u0646\u202C\u200E)",priority:0},SR:{code:"SR",dialCode:"597",name:"Suriname",priority:0},SJ:{code:"SJ",dialCode:"47",name:"Svalbard and Jan Mayen",priority:1},SZ:{code:"SZ",dialCode:"268",name:"Swaziland",priority:0},SE:{code:"SE",dialCode:"46",name:"Sweden (Sverige)",priority:0},CH:{code:"CH",dialCode:"41",name:"Switzerland (Schweiz)",priority:0},SY:{code:"SY",dialCode:"963",name:"Syria (\u202B\u0633\u0648\u0631\u064A\u0627\u202C\u200E)",priority:0},TW:{code:"TW",dialCode:"886",name:"Taiwan (\u53F0\u7063)",priority:0},TJ:{code:"TJ",dialCode:"992",name:"Tajikistan",priority:0},TZ:{code:"TZ",dialCode:"255",name:"Tanzania",priority:0},TH:{code:"TH",dialCode:"66",name:"Thailand (\u0E44\u0E17\u0E22)",priority:0},TL:{code:"TL",dialCode:"670",name:"Timor-Leste",priority:0},TG:{code:"TG",dialCode:"228",name:"Togo",priority:0},TK:{code:"TK",dialCode:"690",name:"Tokelau",priority:0},TO:{code:"TO",dialCode:"676",name:"Tonga",priority:0},TT:{code:"TT",dialCode:"1868",name:"Trinidad and Tobago",priority:0},TN:{code:"TN",dialCode:"216",name:"Tunisia (\u202B\u062A\u0648\u0646\u0633\u202C\u200E)",priority:0},TR:{code:"TR",dialCode:"90",name:"Turkey (T\xFCrkiye)",priority:0},TM:{code:"TM",dialCode:"993",name:"Turkmenistan",priority:0},TC:{code:"TC",dialCode:"1649",name:"Turks and Caicos Islands",priority:0},TV:{code:"TV",dialCode:"688",name:"Tuvalu",priority:0},VI:{code:"VI",dialCode:"1340",name:"U.S. Virgin Islands",priority:0},UG:{code:"UG",dialCode:"256",name:"Uganda",priority:0},UA:{code:"UA",dialCode:"380",name:"Ukraine (\u0423\u043A\u0440\u0430\u0457\u043D\u0430)",priority:0},AE:{code:"AE",dialCode:"971",name:"United Arab Emirates (\u202B\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0627\u0644\u0645\u062A\u062D\u062F\u0629\u202C\u200E)",priority:0},GB:{code:"GB",dialCode:"44",name:"United Kingdom",priority:0},US:{code:"US",dialCode:"1",name:"United States",priority:0},UY:{code:"UY",dialCode:"598",name:"Uruguay",priority:0},UZ:{code:"UZ",dialCode:"998",name:"Uzbekistan (O\u02BBzbekiston)",priority:0},VU:{code:"VU",dialCode:"678",name:"Vanuatu",priority:0},VA:{code:"VA",dialCode:"39",name:"Vatican City (Citt\xE0 del Vaticano)",priority:1},VE:{code:"VE",dialCode:"58",name:"Venezuela",priority:0},VN:{code:"VN",dialCode:"84",name:"Vietnam (Vi\u1EC7t Nam)",priority:0},WF:{code:"WF",dialCode:"681",name:"Wallis and Futuna",priority:0},EH:{code:"EH",dialCode:"212",name:"Western Sahara (\u202B\u0627\u0644\u0635\u062D\u0631\u0627\u0621 \u0627\u0644\u063A\u0631\u0628\u064A\u0629\u202C\u200E)",priority:1},YE:{code:"YE",dialCode:"967",name:"Yemen (\u202B\u0627\u0644\u064A\u0645\u0646\u202C\u200E)",priority:0},ZM:{code:"ZM",dialCode:"260",name:"Zambia",priority:0},ZW:{code:"ZW",dialCode:"263",name:"Zimbabwe",priority:0},AX:{code:"AX",dialCode:"358",name:"\xC5land Islands",priority:1}};var Ye={invalidSignInUser:"Invalid user provided to sign in"};var Oe={thousandSeparator:",",decimalSeparator:".",decimalDigits:2};var Re={defaultDateFormat:"YYYY-MM-DD",defaultTimeFormat:"HH:mm",defaultDateTimeFormat:"YYYY-MM-DD HH:mm",invalidDate:"Invalid date",invalidTime:"Invalid time",invalidDateTime:"Invalid date and time",today:"Today",yesterday:"Yesterday",tomorrow:"Tomorrow",selectedDate:"Selected date",selectedTime:"Selected time",selectedDateTime:"Selected date and time"};var xe={};var we={separators:{multiple:", ",single:", "},failedForNFields:{one:"Validation failed for one field",other:"Validation failed for %{count} fields"},failedForNItems:{one:"Validation failed for one item",other:"Validation failed for %{count} items"},multipleOf:"This field must be a multiple of %{multipleOf}",invalidRule:"Invalid validation rule: %{rule}",invalidRuleParams:"Invalid parameters for rule %{rule}; params: %{ruleParams[0]}, %{ruleParams[1]}, ...",invalidMessage:"Invalid validation message for rule %{rule}; error validating value %{value}",invalidEnumValue:"The field %{field} must be one of %{expectedValues}",required:"This field is required",minLength:"This field must be at least %{minLength} characters long",maxLength:"This field must be at most %{maxLength} characters long",minValue:"This field must be at least %{minValue}",maxValue:"This field must be at most %{maxValue}",pattern:"This field must match the pattern %{pattern}",email:"This field must be a valid email address",url:"This field must be a valid URL",date:"This field must be a valid date",time:"This field must be a valid time",datetime:"This field must be a valid date and time","datetime-local":"This field must be a valid date and time",month:"This field must be a valid month",week:"This field must be a valid week",number:"This field must be a valid number",integer:"This field must be a valid integer",evenNumber:"This field must be an even integer",oddNumber:"This field must be an odd integer",float:"This field must be a valid float",fileName:"This field must be a valid file name",isNumber:"This field must be a valid number",isNonNullString:"This field must be a non null string",length:"This field must be exactly %{length} characters long",lengthRange:"This field must be between %{minLength} and %{maxLength} characters long",numberLTE:"This field must be less than or equal to %{ruleParams[0]}",numberLT:"This field must be less than %{ruleParams[0]}",numberGTE:"This field must be greater than or equal to %{ruleParams[0]}",numberGT:"This field must be greater than %{ruleParams[0]}",noteEquals:"This field must be different from %{ruleParams[0]}",numberIsDifferentFrom:"This field must be different from %{ruleParams[0]}",numberEquals:"This field must be equal to %{ruleParams[0]}",phoneNumber:"This field must be a valid phone number",emailOrPhoneNumber:"This field must be a valid email or phone number",boolean:"This field must be a valid boolean value",numberBetween:"This field must be between %{min} and %{max}",decimalCount:"This field must have(at least) %{ruleParams[0]} decimal places or/and at most %{ruleParams[1]} decimal places",decimalPlaces:"This field must have exactly %{places} decimal places",string:"This field must be a string",endsWithOneOf:"This field must end with one of the following values: %{endings}",startsWithOneOf:"This field must start with one of the following values: %{prefixes}",array:"This field must be an array",arrayMinLength:"This field must have at least %{minLength} items",arrayMaxLength:"This field must have at most %{maxLength} items",arrayLength:"This field must have exactly %{length} items",arrayContains:"This field must contain all of the following values: %{requiredValues}",arrayUnique:"This field must contain only unique values",arrayAllStrings:"This field must be an array of strings",arrayAllNumbers:"This field must be an array of numbers",arrayOf:`The field %{fieldName} must be an array where each item matches all the specified rules. Errors:
2
+ %{failedRulesErrors}`,oneOf:`The field %{fieldName} must match at least one of the following validation rules:
3
+ %{failedRulesErrors}`,allOf:`The field %{fieldName} must match all of the following validation rules:
4
+ %{failedRulesErrors}`,validateNested:`The field %{fieldName} must be a valid nested object. Errors:
5
+ %{nestedErrors}`,validateNestedInvalidType:"The field %{fieldName} must be an object, but received %{receivedType}",dateAfter:"This field must be after %{date}",dateBefore:"This field must be before %{date}",dateBetween:"This field must be between %{startDate} and %{endDate}",dateEquals:"This field must be equal to %{date}",futureDate:"This field must be a date in the future",pastDate:"This field must be a date in the past",file:"This field must be a valid file",fileSize:"This field must not exceed %{maxSize} bytes",fileType:"This field must be one of the following types: %{allowedTypes}",image:"This field must be a valid image file",fileExtension:"This field must have one of the following extensions: %{allowedExtensions}",minFileSize:"This field must be at least %{minSize} bytes",uuid:"This field must be a valid UUID",json:"This field must be valid JSON",base64:"This field must be valid Base64 encoded data",hexColor:"This field must be a valid hexadecimal color code",creditCard:"This field must be a valid credit card number",ip:"This field must be a valid IP address (version %{version})",macAddress:"This field must be a valid MAC address",matches:"This field must match the pattern %{pattern}",tests:{entity:{name:"Name",id:"Id",email:"Email",aString:"A String",url:"Url",note:"Note",createdAt:"Created At",updatedAt:"Updated At"}}};var at={auth:Ye,currencies:Oe,countries:Ae,dates:Re,resources:xe,validator:we};function c(e){return !!(e&&typeof e=="string")}function p(...e){for(var t in e){let n=e[t];if(c(n))return n}return ""}var L=class L{static get logger(){let t=Reflect.getMetadata(L.loggerMetaData,L);return Le(t)&&(this._logger=t),this._logger?this._logger:console}static set logger(t){Le(t)&&Reflect.defineMetadata(L.loggerMetaData,t,L);}static _log(t,...n){let r=L.logger;t=p(t),t&&typeof r[t]=="function"?r[t](L.getDateTimeString(),...n):console.log("Logger level not found : [",t,"]",...n);}static getDateTimeString(){let{day:t,year:n,hours:r,minutes:i,seconds:a,dayNameShort:o,monthName:s}=P.getUTCDateTimeDetails(),l=t<10?"0"+t:t,d=r<10?"0"+r:r,u=i<10?"0"+i:i,y=a<10?"0"+a:a;return "["+[o,l,s,n].join(" ")+" "+[d,u,y].join(":")+"]"}static log(...t){this._log("log",...t);}static info(...t){this._log("info",...t);}static debug(...t){this._log("debug",...t);}static warn(...t){this._log("warn",...t);}static error(...t){this._log("error",...t);}};L.loggerMetaData=Symbol("logger-meta-data");var j=L,Le=e=>{if(!e)return false;try{return ["warn","info","error"].every(t=>typeof e[t]=="function")}catch(t){return false}};function ot(e){return typeof e=="boolean"||!e||typeof e=="number"||typeof e=="string"||typeof e=="symbol"?false:Object(e).constructor===Promise||e.constructor&&(e.constructor.name==="Promise"||e.constructor.name==="AsyncFunction")||e instanceof Promise||typeof(e==null?void 0:e.then)=="function"&&typeof(e==null?void 0:e.catch)=="function"&&typeof(e==null?void 0:e.finally)=="function"?true:e&&typeof e.constructor=="function"&&Function.prototype.toString.call(e.constructor).replace(/\(.*\)/,"()")===Function.prototype.toString.call(Function).replace("Function","Promise").replace(/\(.*\)/,"()")}function me(e){return e&&Object.prototype.toString.call(e)==="[object Promise]"?true:ot(e)}function Ee(){return typeof window!="undefined"&&(window==null?void 0:window.document)!==void 0&&typeof document!="undefined"&&typeof navigator!="undefined"}var te=()=>{var e;try{if(typeof process!="undefined"&&(process!=null&&process.versions)&&((e=process==null?void 0:process.versions)!=null&&e.node)||typeof global=="object"&&(global==null?void 0:global.toString.call(global))==="[object global]")return !0}catch(t){}return false},st=()=>{var e,t;return !!(typeof window!="undefined"&&window&&typeof(window==null?void 0:window.process)=="object"&&((e=window==null?void 0:window.process)==null?void 0:e.type)==="renderer"||typeof process!="undefined"&&typeof(process==null?void 0:process.versions)=="object"&&((t=process.versions)!=null&&t.electron)||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&String(navigator==null?void 0:navigator.userAgent).toLowerCase().indexOf("electron")>=0)},lt=()=>{if(typeof document!="undefined"&&document)try{return document.createEvent("TouchEvent"),!0}catch(e){try{return "ontouchstart"in window||"onmsgesturechange"in window}catch(t){}}return false},dt=()=>typeof window=="undefined"&&typeof process!="undefined",Ie=()=>!!(typeof window!="undefined"&&typeof window=="object"&&window),ct=()=>{if(!Ee()||typeof navigator!="object"||!navigator||typeof navigator.userAgent!="string")return false;let e=navigator.userAgent.toLowerCase();return /android/i.test(e)},ut=()=>{var e;return !Ie()||!(window!=null&&window.ReactNativeWebView)?false:typeof((e=window==null?void 0:window.ReactNativeWebView)==null?void 0:e.postMessage)=="function"},mt=()=>te()&&process.platform==="darwin",ft=()=>te()&&process.platform==="win32",yt=()=>te()&&process.platform==="linux",Fe={isWeb:Ee,isLinux:yt,isDarwin:mt,isWin32:ft,isNode:te,isElectron:st,isTouchDevice:lt,isServerSide:dt,isClientSide:Ie,isAndroidMobileBrowser:ct,isReactNativeWebview:ut};var V=class e{static decycle(t,n=[]){if(typeof t=="function")return;if(!t||typeof t!="object")return t;if(n.includes(t))return null;let r=n.concat([t]);return Array.isArray(t)?t.map(i=>e.decycle(i,r)):Object.fromEntries(Object.entries(t).map(([i,a])=>[i,e.decycle(a,r)]))}static stringify(t,n=false){return typeof t=="string"?t:JSON.stringify(n!==false?e.decycle(t):t)}static isJSON(t){if(typeof t!="string")return false;let n=t.trim();if(n.length===0)return false;let r=n[0];if(r!=="{"&&r!=="[")return false;try{let i=JSON.parse(n);return i!==null&&typeof i=="object"}catch(i){return false}}static parse(t,n){if(typeof t=="string")try{t=JSON.parse(t,n);}catch(r){return t}if(t&&typeof t=="object")for(let r in t){let i=t[r];e.isJSON(i)&&(t[r]=e.parse(i,n));}return t}};var k=class k{static get storage(){var n;let t=Reflect.getMetadata(k.sessionStorageMetaData,k);if(fe(t)&&(this._storage=t),this._storage)return this._storage;if(Fe.isClientSide()&&typeof window!="undefined"&&window.localStorage&&((n=window.localStorage)!=null&&n.getItem))this._storage={get:r=>window.localStorage.getItem(r),set:(r,i)=>window.localStorage.setItem(r,i),remove:r=>window.localStorage.removeItem(r),removeAll:()=>window.localStorage.clear()};else {let r={};this._storage={get:i=>r[i],set:(i,a)=>r[i]=a,remove:i=>delete r[i],removeAll:()=>r={}};}return this._storage}static set storage(t){fe(t)&&Reflect.defineMetadata(k.sessionStorageMetaData,t,k);}static get keyNamespace(){return c(this._keyNamespace)?this._keyNamespace:""}static set keyNamespace(t){c(t)&&(this._keyNamespace=t.trim().replace(/\s+/g,"-"));}static sanitizeKey(t){if(!t||!c(t))return "";t=t.trim().replace(/\s+/g,"-");let n=this.keyNamespace;return n?`${n}-${t}`:t}};k.sessionStorageMetaData=Symbol("sessionStorage"),k._keyNamespace=void 0;var O=k;function ne(e){return O.sanitizeKey(e)}var Be=(e,t)=>(e=e&&V.stringify(e,t),e==null&&(e=""),e),ke=e=>{if(me(e))return new Promise((t,n)=>{e.then(r=>{t(V.parse(r));}).catch(r=>{n(r);});});if(e!=null)return V.parse(e)},gt=e=>{if(e=ne(e),O.storage&&e&&typeof e=="string"){let t=O.storage.get(e);return ke(t)}},pt=e=>{if(e=ne(e),O.storage&&e&&typeof e=="string")return O.storage.remove(e)},bt=()=>{if(O.storage)return O.storage.removeAll()},fe=e=>{if(!e)return false;try{return ["get","set","remove","removeAll"].every(t=>typeof e[t]=="function")}catch(t){return false}},E={get:gt,set:(e,t,n=true)=>(e=ne(e),O.storage.set(e,Be(t,n))),remove:pt,handleGetValue:ke,sanitizeKey:ne,handleSetValue:Be,isValidStorage:fe,Manager:O,removeAll:bt};function I(e){return e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function $(e){if(e instanceof RegExp)return true;if(!e||typeof e!="object"||!Object.prototype.toString.call(e).includes("RegExp"))return false;try{return new RegExp(e),!0}catch(t){return false}}function J(e){return !e||typeof e!="object"?false:e instanceof Date?true:typeof e.getTime!="function"?false:!(Object.prototype.toString.call(e)!=="[object Date]"||isNaN(e.getTime()))}function z(e){return typeof window!="object"||!window||typeof document=="undefined"||typeof HTMLElement=="undefined"||!HTMLElement?false:e===document?true:"HTMLElement"in window?!!e&&e instanceof HTMLElement:!!e&&typeof e=="object"&&e.nodeType===1&&!!e.nodeName}function _n(){if(typeof document=="undefined"||!document||typeof window=="undefined"||!window||typeof(window==null?void 0:window.getComputedStyle)!="function")return 1e3;let e=0;return e=Math.max(e,...Array.from(document.querySelectorAll("body *:not([data-highest]):not(.yetHigher)"),t=>parseFloat(window.getComputedStyle(t).zIndex)).filter(t=>!isNaN(t))),e}function ht(e,t){return !z(e)||!t?false:new RegExp(" "+t+" ").test(" "+e.className+" ")}function Xn(e,...t){if(z(e))for(let n=0;n<t.length;n++){let r=t[n];r&&!ht(e,r)&&(e.className+=" "+r);}}function er(e,...t){if(!(!e||!z(e)))for(let n=0;n<t.length;n++){let r=t[n];if(r&&e.className&&typeof e.className=="string"){let i=new RegExp("(\\s|^)"+r+"(\\s|$)");e.className=e.className.replace(i," "),e.className=e.className.replace(r,"");}}}function D(e){if(e===null||typeof e!="object"||z(e)||J(e)||$(e)||I(e))return false;let t=Object.getPrototypeOf(e);if(t===null)return true;let n=t.constructor;if(typeof n!="function")return false;if(n===Object)return true;let r=n.prototype;return typeof r!="object"?false:r===Object.prototype?true:typeof t.hasOwnProperty=="function"&&Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")&&typeof t.isPrototypeOf=="function"}function ye(e){if(Array.isArray(e)){let r=[];for(var t=0;t<e.length;t++)r[t]=ye(e[t]);return r}else if(D(e)&&e){let r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]=ye(e[n]));return r}else return e}var or=Object.getSize=function(e,t=false){if(!e||typeof e!="object")return 0;if(Array.isArray(e))return e.length;typeof t!="boolean"&&(t=false);let n=0;for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&(n++,t===true))return n;return n};function sr(...e){if(e.length===1)return D(e[0])?e[0]:{};let t=null;for(var n in e){let r=e[n];if(D(r)){if(Object.getSize(r,true)>0)return r;t||(t=r);}}return t||{}}function Q(e,...t){let n=Array.isArray(e),r=D(e);(e==null||!n&&!r)&&(e={});for(let i=0;i<t.length;i++){let a=t[i];if(a==null)continue;let o=D(a),s=Array.isArray(a);if(!(!o&&!s)){if(n){s&&Ke(e,a);continue}else if(s)continue;for(let l in a){let d=a[l];if(d==null)continue;if(d===a){e[l]=e;continue}let u=e[l],y=Array.isArray(u),g=Array.isArray(d);if(y){g?Ke(e[l],d):e[l]=d;continue}else if(!D(u)){e[l]=d;continue}if(g||!D(d)){e[l]=d;continue}e[l]=Q({},u,d);}}}return e}var Ke=(e,t)=>{let n=t.length,r=0;for(let i=0;i<e.length;i++){let a=e[i],o=t[i];if(i<n){let s=Array.isArray(a),l=Array.isArray(o),d=D(a),u=D(o);s&&l||d&&u?(e[r]=Q(s?[]:{},a,o),r++):o!=null?(e[r]=o,r++):a!=null&&(e[r]=a,r++);}}for(let i=e.length;i<n;i++)t[i]!==void 0&&t[i]!==null&&e.push(t[i]);return e};function Dt(e,t){return re(e,"",{},t)}function re(e,t="",n={},r){if(n=D(n)?n:{},I(e)||J(e)||$(e)||Array.isArray(e)&&(r!=null&&r.skipArrays))return t&&(n[t]=e),n;if(typeof e=="function"||typeof e=="object"&&!D(e)&&!Ct(e))return n;if(e instanceof Map||e instanceof WeakMap)return Array.from(e.entries()).forEach(([i,a])=>{let o=t?`${t}[${String(i)}]`:String(i);re(a,o,n,r);}),n;if(Array.isArray(e)||e instanceof Set||e instanceof WeakSet)return (Array.isArray(e)?e:Array.from(e)).forEach((a,o)=>{let s=t?`${t}[${o}]`:String(o);re(a,s,n,r);}),n;if(D(e))for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let a=e[i],o=t?t.endsWith("]")?`${t}.${i}`:`${t}.${i}`:i;re(a,o,n,r);}return n}function Ct(e){return Array.isArray(e)||e instanceof Set||e instanceof Map||e instanceof WeakMap||e instanceof WeakSet}function Tt(e){return Object.entries(e)}Object.typedEntries=Tt;Object.flatten=Dt;Object.clone=ye;function q(e,t){if(e==null)return "";if(typeof e=="string")return e;if((typeof e=="number"||typeof e=="object"&&e instanceof Number)&&typeof e.formatNumber=="function")return e.formatNumber();if(e instanceof Date||typeof e=="object"&&e!==null&&e.constructor===Date)return typeof e.toFormat=="function"?e.toFormat():e.toISOString();if(e instanceof Error)return `Error: ${e.message}`;if($(e))return e.toString();if(I(e))return String(e);if(Array.isArray(e))return JSON.stringify(e);if(typeof e=="object"&&e!==null){if(typeof e.toString=="function"&&e.toString!==Object.prototype.toString)return e.toString();if(typeof e.toString=="function"){let n=e.toString();if(n!=="[object Object]")return n}return JSON.stringify(e)}return typeof(e==null?void 0:e.toString)=="function"?e.toString():String(e)}function He(e,t,n){let r=(n==null?void 0:n.valueFormatter)||q,i=p(e);if(!D(t)||!t)return i;let a=(n==null?void 0:n.tagRegex)||/%\{([^}]+)\}/g,o=new Set,s,l=p(e);for(;(s=a.exec(l))!==null;){let d=s[1];d!==void 0&&o.add(d);}return o.forEach(d=>{let u;if(n!=null&&n.tagRegex){let m=new RegExp(n.tagRegex.source,n.tagRegex.flags);[...l.matchAll(m)].forEach(h=>{let S=h[0];if(!h[1])return;let A=h[1],x=Object.prototype.hasOwnProperty.call(t,A)?t[A]:void 0,w=x===void 0?"":(()=>{try{return r(x,A,q)}catch(C){return q(x)}})(),b=S.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");i=i.replace(new RegExp(b,"g"),w);});return}else u=`%{${d}}`;let y=Object.prototype.hasOwnProperty.call(t,d)?t[d]:void 0,g=y===void 0?"":(()=>{try{return r(y,d,q)}catch(m){return q(y)}})(),M=u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");i=i.replace(new RegExp(M,"g"),g);}),i}function ge(e){return !!(e==null||typeof e=="number"&&isNaN(e)||typeof e=="string"&&e.trim()==="")}function St(e){return p(e).replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f")}function ie(e,t){var n=Object.prototype.toString.call(e);return n==="[object "+t+"]"}function H(e,t){if(["boolean","undefined"].includes(typeof e)||e===null)return String(e);if(N(e))return e.formatNumber();if(e instanceof Date)return e.toFormat();if(e instanceof Error)return e==null?void 0:e.toString();t=Object.assign({},t);let{parenthesis:n}=t,r=n?"(":"",i=n?")":"";return typeof e=="string"?(t==null?void 0:t.escapeString)!==false?"'"+St(e)+"'":e:ie(e,"RegExp")||ie(e,"Number")||ie(e,"Boolean")?e.toString():ie(e,"Date")?"new Date("+e.getTime()+")":Array.isArray(e)?"["+e.map(a=>H(a,t)).join(",")+"]":typeof e=="object"?r+"{"+Object.keys(e).map(a=>{var o=e[a];return H(a,t)+":"+H(o,t)}).join(",")+"}"+i:e&&typeof(e==null?void 0:e.toString)=="function"?e==null?void 0:e.toString():String(e)}var Ue=Symbol("TRANSLATION_KEY");var v=class v extends i18nJs.I18n{constructor(n={},r={}){super({},r);this._isLoading=false;this._locales=[];this.namespaceResolvers={};this._observableFactory=Ne();this._____isObservable=true;this.hasRegisteredDefaultTranslations=false;this._namespacesLoaded={};this.hasRegisteredDefaultTranslations||(this.registerTranslations(ue),this.hasRegisteredDefaultTranslations=true),this.registerTranslations(n),this.loadNamespaces();}static[Symbol.hasInstance](n){return this.isI18nInstance(n)}static isI18nInstance(n){if(!n||typeof n!="object")return false;try{if(n instanceof i18nJs.I18n)return !0}catch(r){}return typeof n.getLocale=="function"&&typeof n.translate=="function"&&typeof n.translateTarget=="function"}translate(n,r){return this.isPluralizeOptions(r)&&this.canPluralize(n)?(typeof r.count=="number"&&(r.countStr=r.count.formatNumber()),this.pluralize(r.count,n,r)):super.translate(n,r)}translateTarget(n,r){let i=v.getTargetTanslationKeys(n);for(let a in i)c(i[a])&&(i[a]=this.translate(i[a],r));return i}translateObject(n,r){if(!D(n))return {};let i={};for(let a in n){let o=n[a];c(o)&&(i[a]=ae.translate(o,r));}return i}static getTargetTanslationKeys(n){return Pe(n,Ue)}on(n,r){return this._observableFactory.on.call(this,n,r)}finally(n,r){return this._observableFactory.finally.call(this,n,r)}off(n,r){var i;return (i=this._observableFactory)==null?void 0:i.off.call(this,n,r)}trigger(n,...r){var i;return (i=this._observableFactory)==null?void 0:i.trigger.call(this,n,...r)}offAll(){var n;return (n=this._observableFactory)==null?void 0:n.offAll.call(this)}once(n,r){var i;return (i=this._observableFactory)==null?void 0:i.once.call(this,n,r)}getEventCallBacks(){var n;return (n=this._observableFactory)==null?void 0:n.getEventCallBacks.call(this)}static getInstance(n){if(!this.isI18nInstance(v.instance)){let r=v.getLocaleFromSession();v.instance=this.createInstance({},Object.assign({},r?{locale:r}:{},n));}return v.instance}isDefaultInstance(){return this===v.instance}static setLocaleToSession(n){E.set("i18n.locale",n);}static getLocaleFromSession(){let n=E.get("i18n.locale");return c(n)?n:""}canPluralize(n,r){r=p(r,this.getLocale());let i=this.getNestedTranslation(n,r);return !D(i)||!i?false:c(i==null?void 0:i.one)&&c(i==null?void 0:i.other)}getNestedTranslation(n,r){r=p(r,this.getLocale());let i=(c(n)?n.trim().split("."):Array.isArray(n)?n:[]).filter(c);if(!i.length)return;let a=this.getTranslations(r);for(let o of i)if(D(a))a=a[o];else return;return a}isPluralizeOptions(n){return !!(D(n)&&n&&typeof n.count=="number")}static RegisterTranslations(n){return v.getInstance().registerTranslations(n)}static createInstance(n={},r={}){let s=Object.assign({},r),{interpolate:i}=s,a=ee(s,["interpolate"]),o=new v(n,a);return o.interpolate=(l,d,u)=>{let y=v.flattenObject(u),g=this.defaultInterpolator(l,d,y);return c(g)&&g!==d&&(d=g),typeof i=="function"?i(l,d,u):He(d,u)},o}getTranslations(n){let r=D(this.translations)?this.translations:{};return c(n)?D(r[n])?r[n]:{}:r}static registerMomentLocale(n,r){return c(n)&&D(r)&&Array.isArray(r.months)&&(this.momentLocales[n]=Q({},this.momentLocales[n],r)),this.momentLocales}static getMomentLocale(n){return this.momentLocales[n]}static setMomentLocale(n){try{return U__default.default.updateLocale(n,this.getMomentLocale(n)),!0}catch(r){console.error(r," setting moment locale : ",n);}return false}registerTranslations(n){return this.store(n),this.getTranslations()}store(n){super.store(n),this.trigger("translations-changed",this.getLocale(),this.getTranslations());}resolveTranslations(n){try{let r=Object.getOwnPropertyNames(n);for(let i of r){let a=Reflect.getMetadata(Ue,n,i);if(a)try{n[i]=this.translate(a);}catch(o){j.error(o," resolving translation for key : ",a);}}}catch(r){j.error(r," resolving translations for target : ",n);}}getMissingPlaceholderString(n,r,i){return typeof this.missingPlaceholder=="function"?this.missingPlaceholder(this,n,p(r),Object.assign({},i)):n}getLocale(){return super.locale}setLocales(n){return this._locales=Array.isArray(n)?n:["en"],this._locales.includes("en")||this._locales.push("en"),this.getLocales()}hasLocale(n){return c(n)&&this.getLocales().includes(n)}getLocales(){let n=Object.keys(this.getTranslations()),r=Array.isArray(this._locales)?this._locales:["en"],i=[...n,...r.filter(a=>!n.includes(a))];return i.includes("en")||i.push("en"),i}isLocaleSupported(n){return c(n)?this.getLocales().includes(n):false}isLoading(){return this._isLoading}setLocale(n,r=false){return super.locale===n&&r!==true&&this._namespacesLoaded[n]?Promise.resolve(this.getLocale()):new Promise((i,a)=>(this._isLoading=true,this.trigger("namespaces-before-load",n),this.loadNamespaces(n).then(o=>{this.isDefaultInstance()&&(v.instance=this,this.isLocaleSupported(n)&&v.setLocaleToSession(n)),super.locale=n,v.setMomentLocale(n),this.trigger("locale-changed",n,o),i(n);}).catch(a).finally(()=>{this._isLoading=false;})))}registerNamespaceResolver(n,r){if(!c(n)||typeof r!="function"){console.warn("Invalid arguments for registerNamespaceResolver.",n,r);return}this.namespaceResolvers[n]=r;}static RegisterNamespaceResolver(n,r){return v.getInstance().registerNamespaceResolver(n,r)}loadNamespace(n,r,i=true){return !c(n)||!this.namespaceResolvers[n]?Promise.reject(new Error(`Invalid namespace or resolver for namespace "${n}".`)):(r=p(r,this.getLocale()),c(r)?this.namespaceResolvers[n](r).then(a=>{let o={};return o[r]=Object.assign({},a),D(a)&&(i!==false&&this.store(o),this.trigger("namespace-loaded",n,r,o)),o}):Promise.reject(new Error(`Locale is not set. Cannot load namespace "${n}".`)))}static LoadNamespace(n,r,i=true){return v.getInstance().loadNamespace(n,r,i)}loadNamespaces(n,r=true){let i=[],a={};n=p(n,this.getLocale()),this._isLoading=true;for(let o in this.namespaceResolvers)Object.prototype.hasOwnProperty.call(this.namespaceResolvers,o)&&typeof this.namespaceResolvers[o]=="function"&&i.push(new Promise(s=>{this.namespaceResolvers[o](n).then(l=>{Q(a,l);}).finally(()=>{s(true);});}));return Promise.all(i).then(()=>{let o={};return o[n]=a,r!==false&&this.store(o),setTimeout(()=>{this.trigger("namespaces-loaded",n,o);},100),o}).finally(()=>{this._isLoading=false;})}static LoadNamespaces(n,r=true){return v.getInstance().loadNamespaces(n,r)}static flattenObject(n){return D(n)?Object.flatten(n):n}static defaultInterpolator(n,r,i){return ge(r)?"":I(r)?(r=String(r),!D(i)||!i||!D(i)||!i?r:r.replace(/%{(.*?)}/g,(a,o)=>ge(i[o])?"":I(i[o])?String(i[o]):H(i[o],{escapeString:false}))):H(r,{escapeString:false})}};v.momentLocales={};var G=v,ae=G.getInstance();try{Object.setPrototypeOf(ae,G.prototype);}catch(e){}function oe(e){return !!(e==null||typeof e=="undefined"||typeof e=="string"&&e===""||Array.isArray(e)&&!e.length)}var f=class f{static parseString(t,n){if(c(t)&&c(n))try{let r=U__default.default(t,n,!0);if(r.isValid())return {date:r.toDate(),matchedFormat:n,isValid:!0}}catch(r){}try{if(Array.isArray(n)&&(n!=null&&n.length))for(let r of n){let i=Ve(t,r);if(i)return i}for(let r of f.DATE_FORMATS){let i=Ve(t,r);if(i)return i}return {date:null,matchedFormat:null,isValid:!1,error:"Unable to parse date string with any known format"}}catch(r){return {date:null,matchedFormat:null,isValid:false,error:r instanceof Error?r.message:"Unknown error occurred while parsing date"}}}static toIsoString(t){let n=t?f.parseDate(t):new Date;return n?n.toISOString():""}static isoStringToDate(t){return new Date(t)}static parseDate(t,n){if(f.isDateObj(t))return t;if(!c(n)){let r=f.parseString(t);return r!=null&&r.isValid?r.date:null}if(oe(t))return null;try{let r=U__default.default(t,n,!0);if(r!=null&&r.isValid())return r.toDate()}catch(r){console.error(r," parsing date with moment : ",t," format is : ",n);}return null}static toSQLDateTimeFormat(t){if(!f.isDateObj(t))return "";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0");return `${n}-${r}-${i} ${a}:${o}:${s}`}static getI18n(t){return G.isI18nInstance(t)?t:G.getInstance()}static getDefaultDateTimeFormat(t){return p(this.getI18n(t).getNestedTranslation("dates.defaultDateTimeFormat"),"YYYY-MM-DD HH:mm")}static getDefaultDateFormat(t){return p(this.getI18n(t).getNestedTranslation("dates.defaultDateFormat"),"YYYY-MM-DD")}static toSQLDateFormat(t){if(!f.isDateObj(t))return "";let n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0");return `${n}-${r}-${i}`}static toSQLTimeFormat(t){if(!f.isDateObj(t))return "";let n=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0");return `${n}:${r}:${i}`}static getDefaultTimeFormat(t){return p(this.getI18n(t).getNestedTranslation("dates.defaultTimeFormat"),"HH:mm")}static isValidDate(t,n){if(t==null||typeof t=="boolean")return false;if(f.isDateObj(t))return true;if(N(t)){let i=new Date(t);return i&&!isNaN(i.getTime())}if(c(t))return !!f.parseDate(t,n);if(t!=null&&t.toString&&(t==null?void 0:t.toString())==parseInt(t).toString())return false;let r=new Date(t);return f.isDateObj(r)}static addToDate(t,n,r){if(N(t)||(t=0),oe(n)&&(n=new Date),f.isValidDate(n)&&c(n)&&(n=new Date(n)),f.isValidDate(n)||(n=c(n)?new Date(n):new Date),c(r)&&typeof n["set"+r]=="function"&&typeof n["get"+r]=="function"){let i="set"+r,a="get"+r;n=new Date(n[i](n[a]()+t));}return n}static addDays(t,n){return f.addToDate(t,n,"Date")}static addMilliseconds(t,n){return N(t)||(t=0),f.isDateObj(n)||(n=new Date),n=n||new Date,new Date(n.getTime()+t)}static addSeconds(t,n){return N(t)||(t=0),f.addMilliseconds(t*1e3,n)}static addMinutes(t,n){return N(t)||(t=0),f.addMilliseconds(t*6e4,n)}static addHours(t,n){return N(t)||(t=0),f.addMilliseconds(t*36e5,n)}static addMonths(t,n,r){return f.addToDate(t,n,"Month")}static addWeeks(t,n){return t=(N(t)?t:0)*7,f.addToDate(t,n,"Date")}static addYears(t,n){N(t)||(t=0);let r=new Date(f.addToDate(0,n)),i=r.getFullYear();return i+t<0?t=0:t+=i,r.setFullYear(t),new Date(r)}static formatDate(t,n){try{let r=U__default.default(t);if(r.isValid())return r.format(p(n,f.getDefaultDateTimeFormat()))}catch(r){}return p(f.isValidDate(t)?t==null?void 0:t.toString():"")}static getUTCDateTimeDetails(t){let n=t?U__default.default.utc(t):U__default.default.utc();return {year:n.year(),day:n.day(),month:n.month(),monthString:n.format("MM"),hours:n.hours(),date:n.date(),minutes:n.minutes(),seconds:n.seconds(),monthName:n.format("MMMM"),dayName:n.format("dddd"),dayNameShort:n.format("ddd")}}};f.DATE_FORMATS=["YYYY-MM-DD","YYYY-MM-DDTHH:mm:ss","YYYY-MM-DDTHH:mm:ssZ","YYYY-MM-DDTHH:mm:ss.SSSZ","YYYY-MM-DDTHH:mm:ss[Z]","YYYY-MM-DDTHH:mm:ss.SSS[Z]","YYYY-MM-DDTHH:mm:ss.SSSZ ","YYYY-MM-DDTHH:mm:ss.SSS","YYYY-MM-DD HH:mm:ss","YYYY-MM-DD HH:mm:ss.SSSZ","YYYY-MM-DDTHH:mm:ss.SSS[Z]","YYYY-MM-DD HH:mm:ssZ","YYYY-MM-DD HH:mmZ","MM/DD/YYYY","MM-DD-YYYY","MM.DD.YYYY","MM/DD/YY","MMMM DD, YYYY","MMM DD, YYYY","DD/MM/YYYY","DD-MM-YYYY","DD.MM.YYYY","DD/MM/YY","DD MMMM YYYY","DD MMM YYYY","HH:mm:ss.SSSZ","HH:mm:ssZ","HH:mmZ","YYYYMMDD","YYYYMMDDTHHMM","YYYYMMDDTHHMMSS","HH:mm:ss","HH:mm","hh:mm A","h:mm A","HH:mm:ss.SSS","YYYY-DDD","YYYY-Www","YYYY-Www-D","YYYY/MM/DD","YYYY.MM.DD","MMM D, YYYY","MMMM D, YYYY","D MMM YYYY","D MMMM YYYY","MMM D YYYY","ddd, DD MMM YYYY HH:mm:ss ZZ","ddd, DD MMM YYYY HH:mm:ss","dddd, MMMM D, YYYY","dddd, D MMMM YYYY","hh:mm:ss A","H:mm:ss","YYYY-[W]WW","YYYY-[W]WW-E","YYYY-MM-DDTHH:mm:ss.SSS","DD-MM-YYYY HH:mm:ss","YYYY/MM/DD HH:mm:ss","YYYY.MM.DD HH:mm:ss","DD/MM/YYYY HH:mm:ss","MMM D YYYY, h:mm a","MMMM D YYYY, h:mm a","h:mm A MMM D, YYYY","MMMM D, YYYY","YY-MM-DD","DD-MM-YY","MM/DD/YY","MMM DD, YY","D MMM YY","D MMMM YY","YYYY MMM D","YYYY-MM-DD HH:mm","YYYY-MM-DD HH:mm:ss.SSS"],f.SQL_DATE_FORMAT="YYYY-MM-DD",f.SQL_DATE_TIME_FORMAT="YYYY-MM-DD HH:mm:ss",f.SQL_TIME_FORMAT="HH:mm:ss",f.getCurrentMonthDaysRange=t=>{let n=f.isValidDate(t)?new Date(t):new Date().resetHours2Minutes2Seconds(),r=new Date(n.getFullYear(),n.getMonth(),1),i=new Date(n.getFullYear(),n.getMonth()+1,0);return {first:r,last:i}},f.getPreviousWeekDaysRange=t=>{let n=f.isValidDate(t)?new Date(t):new Date().resetHours2Minutes2Seconds(),r=new Date(n.getTime()-3600*24*7*1e3),i=new Date(r),a=r.getDay(),o=r.getDate()-a+(a===0?-6:1),s=new Date(r.setDate(o)),l=new Date(i.setDate(o+6));return {first:s,last:l}},f.getCurrentWeekDaysRange=t=>{let n=f.isValidDate(t)?new Date(t):new Date().resetHours2Minutes2Seconds(),r=n.getDay(),i=n.getDate()-r+(r==0?-6:1),a=new Date(n),o=new Date(n.setDate(i));return a.setDate(a.getDate()+6),{first:o,last:a}},f.isDateObj=J;var P=f,Ve=(e,t)=>{let n=U__default.default(e,t,true);try{if(n.isValid()&&n.format(t)===e||U__default.default.utc(n,!0).format(t)===e)return {date:n.toDate(),matchedFormat:t,isValid:!0}}catch(r){}return null};Date.prototype.toSQLDateTimeFormat=function(){return P.toSQLDateTimeFormat(this)};Date.prototype.toSQLDateFormat=function(){return P.toSQLDateFormat(this)};Date.prototype.toSQLTimeFormat=function(){return P.toSQLTimeFormat(this)};Date.prototype.resetHours=function(){return this.setHours(0),this};Date.prototype.resetMinutes=function(){return this.setMinutes(0),this};Date.prototype.resetSeconds=function(){return this.setSeconds(0),this};Date.prototype.resetMilliseconds=function(){return this.setMilliseconds(0),this};Date.prototype.resetHours2Minutes2Seconds=function(){return this.setHours(0),this.setMinutes(0),this.setSeconds(0),this.setMilliseconds(0),this};Date.prototype.toFormat=function(e){return P.formatDate(this,e)};Date.prototype.addYears=function(e){return P.addYears(e,this)};Date.prototype.addMonths=function(e){return P.addMonths(e,this)};Date.prototype.addMinutes=function(e){return P.addMinutes(e,this)};Date.prototype.addSeconds=function(e){return P.addSeconds(e,this)};Date.prototype.addDays=function(e){return P.addDays(e,this)};Date.prototype.addWeeks=function(e){return P.addWeeks(e,this)};Date.prototype.addHours=function(e){return P.addHours(e,this)};function vt(e,t=0,n={}){n=Object.assign({},n);let r,i,a,o,s,l,d=0,u=!!n.leading,y=n.trailing!==false;n.maxWait!==void 0&&(a=n.maxWait);let g=()=>Date.now();function M(b){let C=b-(l||0);return l===void 0||C>=t?true:a!==void 0?b-d>=a:false}function m(b){let C=r,B=i;return d=b,o=e.apply(B,C),o}function T(b,C){return setTimeout(b,C)}function h(){s!==void 0&&(clearTimeout(s),s=void 0);}function S(){let b=g();if(M(b))return x(b);let C=b-(l||0),B=b-d,Z=t-C;if(a!==void 0){let tt=a-B;Z=Math.min(Z,tt);}s=T(S,Z);}function A(b){d=b;let C=a!==void 0?Math.min(t,a-(b-d)):t;return s=T(S,C),u?m(b):o}function x(b){if(s=void 0,y&&r){let C=m(b);return r=void 0,i=void 0,C}return r=void 0,i=void 0,o}function w(...b){let C=g();if(t===0)return d=C,e.apply(this,b);let B=M(C);if(r=b,i=this,l=C,B){if(s===void 0)return A(C);if(a!==void 0)return h(),s=T(S,t),m(C)}return s===void 0&&(s=T(S,t)),o}return w.cancel=function(){s!==void 0&&h(),d=0,r=void 0,l=void 0,i=void 0,s=void 0;},w.flush=function(){return s!==void 0?x(g()):o},w.isPending=function(){return s!==void 0},w}function ei(...e){if(e.length===1)return Array.isArray(e[0])?e[0]:[];let t=null;for(var n in e){let r=e[n];if(Array.isArray(r)){if(r.length)return r;t||(t=r);}}return t||[]}function Nt(...e){for(let t in e)if(typeof e[t]=="boolean")return e[t];return false}function Pt(...e){let t;for(let n in e){if(e[n]!==void 0&&e[n]!==null)return e[n];e[n]===null&&(t=null);}return t}function $e(e,t){var s;let n=(s=t==null?void 0:t.withoutDot)!=null?s:false;if(!e||typeof e!="string")return "";let r=e.trim();if(r==="")return "";let i=r.split("/").pop()||r.split("\\").pop()||r,a=i.lastIndexOf(".");if(a<=0||a===i.length-1)return "";let o=i.substring(a);return n?o.substring(1):o}var se=function(e,t=""){if(!e||typeof e!="string")return "";if(!t||typeof t!="string")return e.trim();let n=e.length;for(;e.startsWith(t)&&n>=0;)e=e.slice(t.length),--n;return e.toString()},pe=function(e,t=""){if(!e||typeof e!="string")return "";if(!t||typeof t!="string")return e.trim();let n=e.length;for(;e.endsWith(t)&&n>=0;)e=e.slice(0,-t.length),--n;return e.toString()},At=(e,t=true)=>typeof e!="string"?false:t!==false?/^\d*\.?\d+$/.test(e):/^\d+$/.test(e);String.prototype.ltrim=function(e){return se(this.toString(),e)};String.prototype.rtrim=function(e){return pe(this.toString(),e)};String.prototype.isNumber=function(e=true){return At(this.toString(),e)};String.prototype.replaceAll=function(e,t){return !c(e)||!c(t)?this.toString():this.toString().split(e).join(t)};var Yt=e=>c(e)?(e=e.trim(),e.replace(/(.)([A-Z][a-z]+)/,"$1_$2").replace(/([a-z0-9])([A-Z])/,"$1_$2").toUpperCase()):"";String.prototype.toSnakeCase=function(){return Yt(this.toString())};var Ot=e=>c(e)?(e=e.trim(),e.charAt(0)+e.replace(/(_\w)/g,t=>t[1].toUpperCase()).substring(1)):"";String.prototype.toCamelCase=function(){return Ot(this.toString())};var Rt=function(e){return !e||typeof e!="string"?"":(e=e.trim(),e.charAt(0).toUpperCase()+e.slice(1))};String.prototype.upperFirst=function(){return Rt(this.toString())};var xt=function(e){return !e||typeof e!="string"?"":(e=e.trim(),e.charAt(0).toLowerCase()+e.slice(1))};String.prototype.lowerFirst=function(){return xt(this.toString())};var wt=(e,t=true)=>{if(typeof e!="string")return "";let n=Ft(e);return e=typeof n.search=="string"?n.search:"",t&&e?"?"+se(e,"?"):(e=pe(se(e.trim(),"?"),"?"),e)},Lt=function(e,t={}){return typeof e!="string"?{}:ze__default.default.parse(wt(e,false),Y({allowSparse:true,decoder:n=>decodeURIComponent(n.replace(/\+/g," "))},Object.assign({},t)))},Et=function(e,t=false){return typeof e!="string"?"":(e=e.replace(/#.*$/,"").replace(/\?.*$/,""),t===true?decodeURIComponent(e):e)},It={indices:true,encodeValuesOnly:false,skipNulls:false,arrayFormat:"indices",encoder:e=>encodeURIComponent(e).replace(/%5B/g,"[").replace(/%5D/g,"]")};function mi(e,t,n,r={}){if(typeof e!="string")return "";e||(e="");let i=Lt(e),a=e.split("#"),o=a[0],s=a[1]?"#"+a[1]:"";e=Et(o),typeof t=="object"?(t||(t={}),r=typeof r=="object"&&r?r:typeof n=="object"&&n?n:{}):typeof t=="string"&&(t={[t]:n}),typeof t=="object"&&t&&!Array.isArray(t)&&Object.assign(i,t);let l=ze__default.default.stringify(i,Y(Y({},It),Object.assign({},r)));return e+(l?"?"+l:"")+s}function fi(e,t=false){if(e==null||typeof e!="object")return "";function n(i,a){if(Array.isArray(i)){i.forEach(function(o){n(o,a+"[]");});return}if(i!==null&&typeof i=="object"){Object.keys(i).forEach(function(o){n(i[o],a+"["+o+"]");});return}r.push((t?encodeURIComponent(a):a)+"="+(t?encodeURIComponent(i):i));}let r=[];return Object.keys(e).forEach(function(i){n(e[i],i);}),r.join("&")}var Ft=e=>{if(typeof e!="string")return {};if(typeof URL!="undefined"&&URL&&Bt(e))try{return new URL(e)}catch(r){}e=kt(e)?decodeURIComponent(e):e;var t=e.match(/^(([^:\\/?#]+:)?(?:\/\/((?:([^\\/?#:]*):([^\\/?#:]*)@)?([^\\/?#:]*)(?::([^\\/?#:]*))?)))?([^?#]*)(\?[^#]*)?(#.*)?$/);let n=t?{hash:t[10]||"",host:t[3]||"",hostname:t[6]||"",href:t[0]||"",origin:t[1]||"",pathname:t[8]||(t[1]?"/":""),port:t[7]||"",protocol:t[2]||"",search:t[9]||"",username:t[4]||"",password:t[5]||""}:{};return n.protocol&&n.protocol.length==2&&(n.protocol="file:///"+n.protocol.toUpperCase(),n.origin=n.protocol+"//"+n.host),n.protocol&&(n.href=n.origin+n.pathname+n.search+n.hash),n};function Bt(e,t={}){let{requireHost:n=true,allowedProtocols:r}=Object.assign({},t);if(!c(e)||!c(e.trim()))return false;let i=e;if(typeof URL!="undefined"&&URL)try{let a=new URL(i);if(!a.protocol||a.protocol===":")return !1;let o=a.protocol.slice(0,-1);if(r&&r.length>0&&!r.includes(o))return !1;if(n)if(["http","https","ftp","ftps","ws","wss"].includes(o)){if(!c(a.hostname)||!a.hostname.trim()||!c(a.host)||!a.host.trim())return !1;let l=`${o}://`;if(!i.startsWith(l)||i.slice(l.length).startsWith("/"))return !1;let u=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,y=a.hostname.match(u);if(y&&!y.slice(1,5).map(Number).every(m=>m>=0&&m<=255))return !1}else return !1;return !0}catch(a){return false}if(n){let a=i.indexOf("://");if(a===-1)return false;let o=i.slice(0,a);if(!o||r&&r.length>0&&!r.includes(o))return false;let s=i.slice(a+3);if(s==="")return false;let l=s.indexOf("@"),d=l>=0?s.slice(l+1):s;if(d===""||d.startsWith("/"))return false;let u=d.indexOf("/"),y=d.indexOf("?"),g=d.indexOf("#"),M=Math.min(u>=0?u:d.length,y>=0?y:d.length,g>=0?g:d.length),m=d.slice(0,M);if(!m)return false;let T=m;if(m.startsWith("[")){let h=m.indexOf("]");if(h===-1)return false;T=m.slice(0,h+1);let S=m.slice(h+1);if(S&&!S.startsWith(":"))return false}else {let h=m.indexOf(":");h>=0&&(T=m.slice(0,h));}if(!T)return false;if(T==="localhost")return true;if(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(T))return !T.split(".").map(Number).some(S=>S>255||S<0);if(/^\[.*\]$/.test(T)){let h=T.slice(1,-1);return !(!h||h.includes(":::"))}return !!(/^[a-zA-Z\d-]*(\.[a-zA-Z\d-]+)*$/.test(T)&&T!=="")}else {let a="[a-zA-Z][a-zA-Z\\d+\\-.]*";return r&&r.length>0&&(a=`(?:${r.join("|")})`),new RegExp(`^(${a}):.+$`).test(i)}}var kt=e=>{if(!c(e)||!e.includes("%"))return false;let t=/%[0-9A-Fa-f]{2}/g;if(!e.match(t))return false;try{let r=decodeURIComponent(e);if(r!==e)return !0;try{if(decodeURIComponent(r)!==r)return !0}catch(i){return !0}}catch(r){return false}return false};function We(e,t={}){let{allowedMimeTypes:n,requireBase64:r=false,validateBase64:i=false}=Object.assign({},t);if(typeof e!="string"||e.trim()==="")return false;let a=e.trim();if(!a.toLowerCase().startsWith("data:"))return false;if(typeof URL!="undefined")try{if(new URL(a).protocol!=="data:")return !1;let m=/^data:([^,;]*)(;[^,]*)?,(.*)$/i,T=a.match(m);if(!T)return !1;let[,h,S,A]=T;if(A===void 0||A.length===0)return !1;let x=(h||"text/plain").trim().toLowerCase();if(h&&h.trim()!==""&&!/^[a-z]+\/[a-z0-9][a-z0-9\-+.]*$/i.test(x)||n&&n.length>0&&!n.some(C=>C.toLowerCase()===x))return !1;let w=(S==null?void 0:S.toLowerCase().includes("base64"))||!1;if(r&&!w)return !1;if(i&&w){if(!/^[A-Za-z0-9+/]*={0,2}$/.test(A)||A.length%4!==0)return !1;let C=A.match(/=+$/);if(C&&C[0].length>2)return !1;if(A.includes("=")){let B=A.indexOf("="),Z=A.slice(B);if(!/^=+$/.test(Z))return !1}}return !0}catch(M){return false}let o=/^data:([^,;]*)(;[^,]*)?,(.+)$/i,s=a.match(o);if(!s)return false;let[,l,d,u]=s,y=(l||"text/plain").trim().toLowerCase();if(l&&l.trim()!==""&&!/^[a-z]+\/[a-z0-9][a-z0-9\-+.]*$/i.test(y)||n&&n.length>0&&!n.some(m=>m.toLowerCase()===y))return false;let g=(d==null?void 0:d.toLowerCase().includes("base64"))||false;if(r&&!g)return false;if(i&&g){if(!/^[A-Za-z0-9+/]*={0,2}$/.test(u)||u.length%4!==0)return false;let m=u.match(/=+$/);if(m&&m[0].length>2)return false;if(u.includes("=")){let T=u.indexOf("="),h=u.slice(T);if(!/^=+$/.test(h))return false}}return true}var Di=(e,t)=>c(e)?(e=e.trim(),e.startsWith("blob:http")&&(e=e.ltrim("blob:")),We(e,{validateBase64:true})||Ht(e,t==null?void 0:t.supportedExtensions)):false,Kt=[".jpg",".jpeg",".jpe",".jfif",".png",".gif",".bmp",".dib",".tiff",".tif",".webp",".svg",".ico",".cur",".avif",".heic",".heif",".jp2",".j2k",".jpf",".jpx",".psd",".apng",".tga",".icb",".vda",".vst",".pbm",".pgm",".ppm",".xbm",".xpm",".pcx",".ras",".sgi",".rgb",".bw",".cr2",".nef",".arw",".dng",".orf",".rw2",".pef",".srw",".bpg",".flif",".jxr",".hdp"];function Ht(e,t){let n=e.split("?")[0].split("#")[0].toLowerCase(),r=$e(n,{withoutDot:false}).toLowerCase().trim();return (Array.isArray(t)&&t.length>0?t:Kt).includes(r)}var R={USD:{symbol:"$",name:"US Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"USD",namePlural:"US dollars"},CAD:{symbol:"CA$",name:"Canadian Dollar",symbolNative:"$",decimalDigits:2,format:"%s %v",rounding:0,code:"CAD",namePlural:"Canadian dollars"},EUR:{symbol:"\u20AC",name:"Euro",symbolNative:"\u20AC",decimalDigits:2,rounding:0,code:"EUR",namePlural:"euros"},AED:{symbol:"AED",name:"United Arab Emirates Dirham",symbolNative:"\u062F.\u0625.\u200F",decimalDigits:2,rounding:0,code:"AED",namePlural:"UAE dirhams"},AFN:{symbol:"Af",name:"Afghan Afghani",symbolNative:"\u060B",decimalDigits:0,rounding:0,code:"AFN",namePlural:"Afghan Afghanis"},ALL:{symbol:"ALL",name:"Albanian Lek",symbolNative:"Lek",decimalDigits:0,rounding:0,code:"ALL",namePlural:"Albanian lek\xEB"},AMD:{symbol:"AMD",name:"Armenian Dram",symbolNative:"\u0564\u0580.",decimalDigits:0,rounding:0,code:"AMD",namePlural:"Armenian drams"},ARS:{symbol:"AR$",name:"Argentine Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"ARS",namePlural:"Argentine pesos"},AUD:{symbol:"AU$",name:"Australian Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"AUD",namePlural:"Australian dollars"},AZN:{symbol:"man.",name:"Azerbaijani Manat",symbolNative:"\u043C\u0430\u043D.",decimalDigits:2,rounding:0,code:"AZN",namePlural:"Azerbaijani manats"},BAM:{symbol:"KM",name:"Bosnia-Herzegovina Convertible Mark",symbolNative:"KM",decimalDigits:2,rounding:0,code:"BAM",namePlural:"Bosnia-Herzegovina convertible marks"},BDT:{symbol:"Tk",name:"Bangladeshi Taka",symbolNative:"\u09F3",decimalDigits:2,rounding:0,code:"BDT",namePlural:"Bangladeshi takas"},BGN:{symbol:"BGN",name:"Bulgarian Lev",symbolNative:"\u043B\u0432.",decimalDigits:2,rounding:0,code:"BGN",namePlural:"Bulgarian leva"},BHD:{symbol:"BD",name:"Bahraini Dinar",symbolNative:"\u062F.\u0628.\u200F",decimalDigits:2,rounding:0,code:"BHD",namePlural:"Bahraini dinars"},BIF:{symbol:"FBu",name:"Burundian Franc",symbolNative:"FBu",decimalDigits:0,rounding:0,code:"BIF",namePlural:"Burundian francs"},BND:{symbol:"BN$",name:"Brunei Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"BND",namePlural:"Brunei dollars"},BOB:{symbol:"Bs",name:"Bolivian Boliviano",symbolNative:"Bs",decimalDigits:2,rounding:0,code:"BOB",namePlural:"Bolivian bolivianos"},BRL:{symbol:"R$",name:"Brazilian Real",symbolNative:"R$",decimalDigits:2,rounding:0,code:"BRL",namePlural:"Brazilian reals"},BWP:{symbol:"BWP",name:"Botswanan Pula",symbolNative:"P",decimalDigits:2,rounding:0,code:"BWP",namePlural:"Botswanan pulas"},BYR:{symbol:"BYR",name:"Belarusian Ruble",symbolNative:"BYR",decimalDigits:0,rounding:0,code:"BYR",namePlural:"Belarusian rubles"},BZD:{symbol:"BZ$",name:"Belize Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"BZD",namePlural:"Belize dollars"},CDF:{symbol:"CDF",name:"Congolese Franc",symbolNative:"FrCD",decimalDigits:2,rounding:0,code:"CDF",namePlural:"Congolese francs"},CHF:{symbol:"CHF",name:"Swiss Franc",symbolNative:"CHF",decimalDigits:2,rounding:.05,code:"CHF",namePlural:"Swiss francs"},CLP:{symbol:"CL$",name:"Chilean Peso",symbolNative:"$",decimalDigits:0,rounding:0,code:"CLP",namePlural:"Chilean pesos"},CNY:{symbol:"CN\xA5",name:"Chinese Yuan",symbolNative:"CN\xA5",decimalDigits:2,rounding:0,code:"CNY",namePlural:"Chinese yuan"},COP:{symbol:"CO$",name:"Colombian Peso",symbolNative:"$",decimalDigits:0,rounding:0,code:"COP",namePlural:"Colombian pesos"},CRC:{symbol:"\u20A1",name:"Costa Rican Col\xF3n",symbolNative:"\u20A1",decimalDigits:0,rounding:0,code:"CRC",namePlural:"Costa Rican col\xF3ns"},CVE:{symbol:"CV$",name:"Cape Verdean Escudo",symbolNative:"CV$",decimalDigits:2,rounding:0,code:"CVE",namePlural:"Cape Verdean escudos"},CZK:{symbol:"K\u010D",name:"Czech Republic Koruna",symbolNative:"K\u010D",decimalDigits:2,rounding:0,code:"CZK",namePlural:"Czech Republic korunas"},DJF:{symbol:"Fdj",name:"Djiboutian Franc",symbolNative:"Fdj",decimalDigits:0,rounding:0,code:"DJF",namePlural:"Djiboutian francs"},DKK:{symbol:"Dkr",name:"Danish Krone",symbolNative:"kr",decimalDigits:2,rounding:0,code:"DKK",namePlural:"Danish kroner"},DOP:{symbol:"RD$",name:"Dominican Peso",symbolNative:"RD$",decimalDigits:2,rounding:0,code:"DOP",namePlural:"Dominican pesos"},DZD:{symbol:"DA",name:"Algerian Dinar",symbolNative:"\u062F.\u062C.\u200F",decimalDigits:2,rounding:0,code:"DZD",namePlural:"Algerian dinars"},EEK:{symbol:"Ekr",name:"Estonian Kroon",symbolNative:"kr",decimalDigits:2,rounding:0,code:"EEK",namePlural:"Estonian kroons"},EGP:{symbol:"EGP",name:"Egyptian Pound",symbolNative:"\u062C.\u0645.\u200F",decimalDigits:2,rounding:0,code:"EGP",namePlural:"Egyptian pounds"},ERN:{symbol:"Nfk",name:"Eritrean Nakfa",symbolNative:"Nfk",decimalDigits:2,rounding:0,code:"ERN",namePlural:"Eritrean nakfas"},ETB:{symbol:"Br",name:"Ethiopian Birr",symbolNative:"Br",decimalDigits:2,rounding:0,code:"ETB",namePlural:"Ethiopian birrs"},GBP:{symbol:"\xA3",name:"British Pound Sterling",symbolNative:"\xA3",decimalDigits:2,rounding:0,code:"GBP",namePlural:"British pounds sterling"},GEL:{symbol:"GEL",name:"Georgian Lari",symbolNative:"GEL",decimalDigits:2,rounding:0,code:"GEL",namePlural:"Georgian laris"},GHS:{symbol:"GH\u20B5",name:"Ghanaian Cedi",symbolNative:"GH\u20B5",decimalDigits:2,rounding:0,code:"GHS",namePlural:"Ghanaian cedis"},GNF:{symbol:"FG",name:"Guinean Franc",symbolNative:"FG",decimalDigits:0,rounding:0,code:"GNF",namePlural:"Guinean francs"},GTQ:{symbol:"GTQ",name:"Guatemalan Quetzal",symbolNative:"Q",decimalDigits:2,rounding:0,code:"GTQ",namePlural:"Guatemalan quetzals"},HKD:{symbol:"HK$",name:"Hong Kong Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"HKD",namePlural:"Hong Kong dollars"},HNL:{symbol:"HNL",name:"Honduran Lempira",symbolNative:"L",decimalDigits:2,rounding:0,code:"HNL",namePlural:"Honduran lempiras"},HRK:{symbol:"kn",name:"Croatian Kuna",symbolNative:"kn",decimalDigits:2,rounding:0,code:"HRK",namePlural:"Croatian kunas"},HUF:{symbol:"Ft",name:"Hungarian Forint",symbolNative:"Ft",decimalDigits:0,rounding:0,code:"HUF",namePlural:"Hungarian forints"},IDR:{symbol:"Rp",name:"Indonesian Rupiah",symbolNative:"Rp",decimalDigits:0,rounding:0,code:"IDR",namePlural:"Indonesian rupiahs"},ILS:{symbol:"\u20AA",name:"Israeli New Sheqel",symbolNative:"\u20AA",decimalDigits:2,rounding:0,code:"ILS",namePlural:"Israeli new sheqels"},INR:{symbol:"Rs",name:"Indian Rupee",symbolNative:"\u099F\u0995\u09BE",decimalDigits:2,rounding:0,code:"INR",namePlural:"Indian rupees"},IQD:{symbol:"IQD",name:"Iraqi Dinar",symbolNative:"\u062F.\u0639.\u200F",decimalDigits:0,rounding:0,code:"IQD",namePlural:"Iraqi dinars"},IRR:{symbol:"IRR",name:"Iranian Rial",symbolNative:"\uFDFC",decimalDigits:0,rounding:0,code:"IRR",namePlural:"Iranian rials"},ISK:{symbol:"Ikr",name:"Icelandic Kr\xF3na",symbolNative:"kr",decimalDigits:0,rounding:0,code:"ISK",namePlural:"Icelandic kr\xF3nur"},JMD:{symbol:"J$",name:"Jamaican Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"JMD",namePlural:"Jamaican dollars"},JOD:{symbol:"JD",name:"Jordanian Dinar",symbolNative:"\u062F.\u0623.\u200F",decimalDigits:2,rounding:0,code:"JOD",namePlural:"Jordanian dinars"},JPY:{symbol:"\xA5",name:"Japanese Yen",symbolNative:"\uFFE5",decimalDigits:0,rounding:0,code:"JPY",namePlural:"Japanese yen"},KES:{symbol:"Ksh",name:"Kenyan Shilling",symbolNative:"Ksh",decimalDigits:2,rounding:0,code:"KES",namePlural:"Kenyan shillings"},KHR:{symbol:"KHR",name:"Cambodian Riel",symbolNative:"\u17DB",decimalDigits:2,rounding:0,code:"KHR",namePlural:"Cambodian riels"},KMF:{symbol:"CF",name:"Comorian Franc",symbolNative:"FC",decimalDigits:0,rounding:0,code:"KMF",namePlural:"Comorian francs"},KRW:{symbol:"\u20A9",name:"South Korean Won",symbolNative:"\u20A9",decimalDigits:0,rounding:0,code:"KRW",namePlural:"South Korean won"},KWD:{symbol:"KD",name:"Kuwaiti Dinar",symbolNative:"\u062F.\u0643.\u200F",decimalDigits:2,rounding:0,code:"KWD",namePlural:"Kuwaiti dinars"},KZT:{symbol:"KZT",name:"Kazakhstani Tenge",symbolNative:"\u0442\u04A3\u0433.",decimalDigits:2,rounding:0,code:"KZT",namePlural:"Kazakhstani tenges"},LBP:{symbol:"LB\xA3",name:"Lebanese Pound",symbolNative:"\u0644.\u0644.\u200F",decimalDigits:0,rounding:0,code:"LBP",namePlural:"Lebanese pounds"},LKR:{symbol:"SLRs",name:"Sri Lankan Rupee",symbolNative:"SL Re",decimalDigits:2,rounding:0,code:"LKR",namePlural:"Sri Lankan rupees"},LTL:{symbol:"Lt",name:"Lithuanian Litas",symbolNative:"Lt",decimalDigits:2,rounding:0,code:"LTL",namePlural:"Lithuanian litai"},LVL:{symbol:"Ls",name:"Latvian Lats",symbolNative:"Ls",decimalDigits:2,rounding:0,code:"LVL",namePlural:"Latvian lati"},LYD:{symbol:"LD",name:"Libyan Dinar",symbolNative:"\u062F.\u0644.\u200F",decimalDigits:2,rounding:0,code:"LYD",namePlural:"Libyan dinars"},MAD:{symbol:"MAD",name:"Moroccan Dirham",symbolNative:"\u062F.\u0645.\u200F",decimalDigits:2,rounding:0,code:"MAD",namePlural:"Moroccan dirhams"},MDL:{symbol:"MDL",name:"Moldovan Leu",symbolNative:"MDL",decimalDigits:2,rounding:0,code:"MDL",namePlural:"Moldovan lei"},MGA:{symbol:"MGA",name:"Malagasy Ariary",symbolNative:"MGA",decimalDigits:0,rounding:0,code:"MGA",namePlural:"Malagasy Ariaries"},MKD:{symbol:"MKD",name:"Macedonian Denar",symbolNative:"MKD",decimalDigits:2,rounding:0,code:"MKD",namePlural:"Macedonian denari"},MMK:{symbol:"MMK",name:"Myanma Kyat",symbolNative:"K",decimalDigits:0,rounding:0,code:"MMK",namePlural:"Myanma kyats"},MOP:{symbol:"MOP$",name:"Macanese Pataca",symbolNative:"MOP$",decimalDigits:2,rounding:0,code:"MOP",namePlural:"Macanese patacas"},MUR:{symbol:"MURs",name:"Mauritian Rupee",symbolNative:"MURs",decimalDigits:0,rounding:0,code:"MUR",namePlural:"Mauritian rupees"},MXN:{symbol:"MX$",name:"Mexican Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"MXN",namePlural:"Mexican pesos"},MYR:{symbol:"RM",name:"Malaysian Ringgit",symbolNative:"RM",decimalDigits:2,rounding:0,code:"MYR",namePlural:"Malaysian ringgits"},MZN:{symbol:"MTn",name:"Mozambican Metical",symbolNative:"MTn",decimalDigits:2,rounding:0,code:"MZN",namePlural:"Mozambican meticals"},NAD:{symbol:"N$",name:"Namibian Dollar",symbolNative:"N$",decimalDigits:2,rounding:0,code:"NAD",namePlural:"Namibian dollars"},NGN:{symbol:"\u20A6",name:"Nigerian Naira",symbolNative:"\u20A6",decimalDigits:2,rounding:0,code:"NGN",namePlural:"Nigerian nairas"},NIO:{symbol:"C$",name:"Nicaraguan C\xF3rdoba",symbolNative:"C$",decimalDigits:2,rounding:0,code:"NIO",namePlural:"Nicaraguan c\xF3rdobas"},NOK:{symbol:"Nkr",name:"Norwegian Krone",symbolNative:"kr",decimalDigits:2,rounding:0,code:"NOK",namePlural:"Norwegian kroner"},NPR:{symbol:"NPRs",name:"Nepalese Rupee",symbolNative:"\u0928\u0947\u0930\u0942",decimalDigits:2,rounding:0,code:"NPR",namePlural:"Nepalese rupees"},NZD:{symbol:"NZ$",name:"New Zealand Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"NZD",namePlural:"New Zealand dollars"},OMR:{symbol:"OMR",name:"Omani Rial",symbolNative:"\u0631.\u0639.\u200F",decimalDigits:2,rounding:0,code:"OMR",namePlural:"Omani rials"},PAB:{symbol:"B/.",name:"Panamanian Balboa",symbolNative:"B/.",decimalDigits:2,rounding:0,code:"PAB",namePlural:"Panamanian balboas"},PEN:{symbol:"S/.",name:"Peruvian Nuevo Sol",symbolNative:"S/.",decimalDigits:2,rounding:0,code:"PEN",namePlural:"Peruvian nuevos soles"},PHP:{symbol:"\u20B1",name:"Philippine Peso",symbolNative:"\u20B1",decimalDigits:2,rounding:0,code:"PHP",namePlural:"Philippine pesos"},PKR:{symbol:"PKRs",name:"Pakistani Rupee",symbolNative:"\u20A8",decimalDigits:0,rounding:0,code:"PKR",namePlural:"Pakistani rupees"},PLN:{symbol:"z\u0142",name:"Polish Zloty",symbolNative:"z\u0142",decimalDigits:2,rounding:0,code:"PLN",namePlural:"Polish zlotys"},PYG:{symbol:"\u20B2",name:"Paraguayan Guarani",symbolNative:"\u20B2",decimalDigits:0,rounding:0,code:"PYG",namePlural:"Paraguayan guaranis"},QAR:{symbol:"QR",name:"Qatari Rial",symbolNative:"\u0631.\u0642.\u200F",decimalDigits:2,rounding:0,code:"QAR",namePlural:"Qatari rials"},RON:{symbol:"RON",name:"Romanian Leu",symbolNative:"RON",decimalDigits:2,rounding:0,code:"RON",namePlural:"Romanian lei"},RSD:{symbol:"din.",name:"Serbian Dinar",symbolNative:"\u0434\u0438\u043D.",decimalDigits:0,rounding:0,code:"RSD",namePlural:"Serbian dinars"},RUB:{symbol:"RUB",name:"Russian Ruble",symbolNative:"\u0440\u0443\u0431.",decimalDigits:2,rounding:0,code:"RUB",namePlural:"Russian rubles"},RWF:{symbol:"RWF",name:"Rwandan Franc",symbolNative:"FR",decimalDigits:0,rounding:0,code:"RWF",namePlural:"Rwandan francs"},SAR:{symbol:"SR",name:"Saudi Riyal",symbolNative:"\u0631.\u0633.\u200F",decimalDigits:2,rounding:0,code:"SAR",namePlural:"Saudi riyals"},SDG:{symbol:"SDG",name:"Sudanese Pound",symbolNative:"SDG",decimalDigits:2,rounding:0,code:"SDG",namePlural:"Sudanese pounds"},SEK:{symbol:"Skr",name:"Swedish Krona",symbolNative:"kr",decimalDigits:2,rounding:0,code:"SEK",namePlural:"Swedish kronor"},SGD:{symbol:"S$",name:"Singapore Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"SGD",namePlural:"Singapore dollars"},SOS:{symbol:"Ssh",name:"Somali Shilling",symbolNative:"Ssh",decimalDigits:0,rounding:0,code:"SOS",namePlural:"Somali shillings"},SYP:{symbol:"SY\xA3",name:"Syrian Pound",symbolNative:"\u0644.\u0633.\u200F",decimalDigits:0,rounding:0,code:"SYP",namePlural:"Syrian pounds"},THB:{symbol:"\u0E3F",name:"Thai Baht",symbolNative:"\u0E3F",decimalDigits:2,rounding:0,code:"THB",namePlural:"Thai baht"},TND:{symbol:"DT",name:"Tunisian Dinar",symbolNative:"\u062F.\u062A.\u200F",decimalDigits:2,rounding:0,code:"TND",namePlural:"Tunisian dinars"},TOP:{symbol:"T$",name:"Tongan Pa\u02BBanga",symbolNative:"T$",decimalDigits:2,rounding:0,code:"TOP",namePlural:"Tongan pa\u02BBanga"},TRY:{symbol:"TL",name:"Turkish Lira",symbolNative:"TL",decimalDigits:2,rounding:0,code:"TRY",namePlural:"Turkish Lira"},TTD:{symbol:"TT$",name:"Trinidad and Tobago Dollar",symbolNative:"$",decimalDigits:2,rounding:0,code:"TTD",namePlural:"Trinidad and Tobago dollars"},TWD:{symbol:"NT$",name:"New Taiwan Dollar",symbolNative:"NT$",decimalDigits:2,rounding:0,code:"TWD",namePlural:"New Taiwan dollars"},TZS:{symbol:"TSh",name:"Tanzanian Shilling",symbolNative:"TSh",decimalDigits:0,rounding:0,code:"TZS",namePlural:"Tanzanian shillings"},UAH:{symbol:"\u20B4",name:"Ukrainian Hryvnia",symbolNative:"\u20B4",decimalDigits:2,rounding:0,code:"UAH",namePlural:"Ukrainian hryvnias"},UGX:{symbol:"USh",name:"Ugandan Shilling",symbolNative:"USh",decimalDigits:0,rounding:0,code:"UGX",namePlural:"Ugandan shillings"},UYU:{symbol:"$U",name:"Uruguayan Peso",symbolNative:"$",decimalDigits:2,rounding:0,code:"UYU",namePlural:"Uruguayan pesos"},UZS:{symbol:"UZS",name:"Uzbekistan Som",symbolNative:"UZS",decimalDigits:0,rounding:0,code:"UZS",namePlural:"Uzbekistan som"},VEF:{symbol:"Bs.F.",name:"Venezuelan Bol\xEDvar",symbolNative:"Bs.F.",decimalDigits:2,rounding:0,code:"VEF",namePlural:"Venezuelan bol\xEDvars"},VND:{symbol:"\u20AB",name:"Vietnamese Dong",symbolNative:"\u20AB",decimalDigits:0,rounding:0,code:"VND",namePlural:"Vietnamese dong"},XAF:{symbol:"FCFA",name:"CFA Franc BEAC",symbolNative:"FCFA",decimalDigits:0,rounding:0,code:"XAF",namePlural:"francs CFA"},XOF:{symbol:"CFA",name:"CFA Franc BCEAO",symbolNative:"CFA",decimalDigits:0,rounding:0,code:"XOF",namePlural:"francs CFA"},YER:{symbol:"YR",name:"Yemeni Rial",symbolNative:"\u0631.\u064A.\u200F",decimalDigits:0,rounding:0,code:"YER",namePlural:"Yemeni rials"},ZAR:{symbol:"R",name:"South African Rand",symbolNative:"R",decimalDigits:2,rounding:0,code:"ZAR",namePlural:"South African rand"},ZMK:{symbol:"ZK",name:"Zambian Kwacha",symbolNative:"ZK",decimalDigits:0,rounding:0,code:"ZMK",namePlural:"Zambian kwachas"}};var F=e=>e&&typeof e=="object"&&!Array.isArray(e)&&e.name&&typeof e.name=="string"&&e.symbol&&typeof e.symbol=="string";var Ze="%v %s",be=e=>{let t=E.get("currencyFormat");return t&&typeof t=="string"&&t.includes("%v")?t:e!==false?Ze:""};function je(e){return e=e&&typeof e=="string"?e.trim():"",E.set("currencyFormat",e)}var Gt=e=>{if(!F(e)){let n=typeof e=="object"&&e&&!Array.isArray(e)?p(e.code,e.name):typeof e=="string"?e:void 0;n&&(n=n.trim().toUpperCase()),n&&F(R[n])?e=R[n]:typeof e=="string"&&(n=e.trim().toUpperCase(),F(R[n])&&(e=R[n]));}let t=Object.assign({},e);if(!t.format){let n=be();n&&(t.format=n);}return t.format&&je(t.format),E.set("appConfigCurrency",t),t},Ut=()=>{var i,a,o,s;let e=Object.assign({},E.get("appConfigCurrency")),t=E.get("currencyCode");if(c(t)&&F(R[t.trim().toUpperCase()])&&(e=Y(Y({},R[t.trim().toUpperCase()]),e)),!c(e==null?void 0:e.format)){let l=be(false);c(l)&&l.includes("%v")&&(e.format=l);}let r=R["USD"];return Y(Y({symbol:r.symbol,format:(i=r.format)!=null?i:"%v %s",decimalSeparator:(a=r.decimalSeparator)!=null?a:".",thousandSeparator:(o=r.thousandSeparator)!=null?o:",",decimalDigits:(s=r.decimalDigits)!=null?s:0},Object.assign({},ae.getNestedTranslation("currencies"))),e)},K={getFormat:be,setFormat:je,setCurrency:Gt,getCurrency:Ut,defaultCurrencyFormat:Ze};var Vt=e=>e&&typeof e=="object";function De(e){let t=Object.assign({},K.getCurrency());if(e&&Vt(e))for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==void 0&&(t[n]=e[n]);if(c(t.format)){let n=qe(t.format);n.format&&(t.format=n.format),typeof n.decimalDigits=="number"&&(t.decimalDigits=n.decimalDigits);}return t}function Ce(e,t){return e=typeof e=="number"?e:0,t=typeof t=="number"?t:0,e=Math.round(Math.abs(e)),isNaN(e)?t:e}function $t(e){let t=K.getCurrency(),n=(t==null?void 0:t.format).toLowerCase();return typeof e=="string"&&(e=e.toLowerCase()),(typeof e!="string"||!e.match("%v"))&&(e=n),{pos:e,neg:e.replace("-","").replace("%v","-%v"),zero:e}}var le=(e,t)=>{let n=K.getCurrency();if(e=e||0,typeof e=="number")return e;t=t||n.decimalSeparator;let r=new RegExp("[^0-9-"+t+"]","g"),i=parseFloat((""+e).replace(/\((?=\d+)(.*)\)/,"-$1").replace(r,"").replace(t,"."));return isNaN(i)?0:i},he=(e,t)=>{let n=K.getCurrency();t=Ce(t,n.decimalDigits);let i=String(e).replace(/[^\d.-]/g,"");if(i.length>15&&!i.includes("."))return i+"."+"0".repeat(t);try{let a=Number(i);if(isNaN(a))return "NaN";let o=+(a+"e"+t);return (+(Math.round(o)+"e-"+t)).toFixed(t)}catch(a){return "NaN"}},Je=(e,t,n,r)=>{var y;e=le(e);let i=F(t)?t:K.getCurrency();typeof t=="number"&&(i.decimalDigits=t),typeof i.decimalDigits!="number"&&(i.decimalDigits=(y=String(e).split(".")[1])==null?void 0:y.length),n!==void 0&&(i.thousandSeparator=n),r!==void 0&&(i.decimalSeparator=r);let a=De(i),o=Ce(a.decimalDigits),s=e<0?"-":"",l=parseInt(he(Math.abs(e||0),o),10)+"",d=l.length>3?l.length%3:0,u="";if(o){let g=String(parseFloat(he(Math.abs(e),o))||0);g.includes(".")&&(u=p(g.split(".")[1]).trim());}return s+(d?l.substring(0,d)+a.thousandSeparator:"")+l.substring(d).replace(/(\d{3})(?=\d)/g,"$1"+a.thousandSeparator)+(o&&u?a.decimalSeparator+u:"")},Qe=(e,t,n,r,i,a)=>{e=le(e);let o=F(t)?t:K.getCurrency();t!==void 0&&typeof t=="string"&&(o.symbol=t),n!==void 0&&(o.decimalDigits=n),r!==void 0&&(o.thousandSeparator=r),i!==void 0&&(o.decimalSeparator=i),c(a)&&(o.format=a);let s=De(o),l=$t(s.format),d=p(e>0?l.pos:e<0?l.neg:l.zero),u=p(s.symbol),y=d.replace(u&&"%s",u),g=Je(Math.abs(e),Ce(s.decimalDigits),s.thousandSeparator,s.decimalSeparator),M=y.replace("%v",g);return X(Y({},s),{formattedValue:y,formattedNumber:g,symbol:s.symbol,usedFormat:d,result:M})},zt=(e,t,n,r,i,a)=>Qe(e,t,n,r,i,a).result,qe=e=>{e=p(e).trim();let t={};if(e){let n=/(\.)(\#{0,9}\s*$)/,r=e.match(n);Array.isArray(r)&&r.length===3&&(t.decimalDigits=p(r[2]).trim().length),e=e.replace(n,"");}return t.format=e,t},W={parse:le,session:K,formatMoney:zt,currencies:R,isCurrency:F,formatNumber:Je,formatMoneyAsObject:Qe,unformat:le,toFixed:he,prepareOptions:De,parseFormat:qe};var{currencies:_e}=W;Number.prototype.countDecimals=function(){let e=String(this.toString()).match(/\.(\d+)/);return e?e[1].length:0};Number.prototype.formatNumber=function(e,t,n){return W.formatNumber(this.valueOf(),e,t,n)};Number.prototype.formatMoney=function(e,t,n,r,i){return W.formatMoney(this.valueOf(),e,t,n,r,i)};var Wt=(e,t,n,r)=>{var h;if(e===null||typeof e!="number"||isNaN(e))return {result:"",format:"",suffix:"",formattedValue:"",minAbreviationDecimalDigits:0,value:NaN};if(!isFinite(e)){let S=e>0?"\u221E":"-\u221E";return {result:S,value:e,format:"",suffix:"",formattedValue:S,minAbreviationDecimalDigits:0}}let i=Math.abs(e)<1e3,a=[{value:1e12,suffix:"T"},{value:1e9,suffix:"B"},{value:1e6,suffix:"M"},{value:1e3,suffix:"K"},{value:1,suffix:""}],o=e.countDecimals?e.countDecimals():Math.floor(e)===e?0:((h=e.toString().split(".")[1])==null?void 0:h.length)||0,s=a.find(S=>Math.abs(e)>=S.value)||a[a.length-1],l=i?e:e/(s.value===1?1:s.value),d=s.suffix,u=Zt(l,5);if(e===0)return {result:"0",value:0,format:"",suffix:"",formattedValue:"0",minAbreviationDecimalDigits:0};let g=N(t)&&t>0?t:s.value===1?Math.min(o,5):Math.max(u,0),M=l.toFixed(g);n=p(n),r=p(r,".");let m=M.toString().split(".");return m[0]=m[0].replace(/\B(?=(\d{3})+(?!\d))/g,n),g>0&&m.length===1?m.push("0".repeat(g)):g>0&&m.length>1&&m[1].length<g&&(m[1]=m[1].padEnd(g,"0")),M=m.join(r),{result:M+d,value:e,format:d,suffix:d,formattedValue:M,minAbreviationDecimalDigits:u}};function Zt(e,t){let n=Math.abs(e);if(Number.isInteger(n))return 0;let r=n.toString().split(".")[1]||"",i=0;for(;i<r.length&&r[i]==="0";)i++;return n<1&&i>0?Math.min(i+t,r.length):Math.min(t,r.length)}var Xe=(e,t,n,r)=>Wt(e,t,n,r).result;Number.prototype.abreviate2FormatNumber=function(e,t,n){return Xe(this.valueOf(),e,t,n)};var et=(e,t,n,r,i,a)=>{if(!N(e))return "";let l=W.formatMoneyAsObject(e,t,n,r,i,a),{formattedValue:o}=l,s=ee(l,["formattedValue"]);return o.replace("%v",Xe(e,s.decimalDigits,s.thousandSeparator,s.decimalSeparator))};Number.prototype.abreviate2FormatMoney=function(e,t,n,r,i){return et(this.valueOf(),e,t,n,r,i)};function Vi(...e){for(let t of e)if(N(t)&&t!==0)return t;return 0}Object.keys(_e).forEach(e=>{let t=e,n=_e[t],r=`format${t}`,i=`abreviate2Format${t}`;Number.prototype[r]=function(a,o,s,l){return W.formatMoney(this.valueOf(),n,a,o,s,l)},Number.prototype[i]=function(a,o,s,l){return et(this.valueOf(),n,a,o,s,l)};});function Wi(e,t,n={}){if(!Array.isArray(e))return [];if(e.length<=1)return n.inPlace===false?[...e]:e;let r=n.direction==="desc"?"desc":"asc",i=n.ignoreCase!==false,a=n.inPlace!==false,o=n.chunkSize&&n.chunkSize>0?n.chunkSize:5e4,s=a?e:[...e];return s.length>o?jt(s,t,r,i,o):s.sort((l,d)=>de(t(l),t(d),r,i))}function de(e,t,n,r){if(e==null&&t==null)return 0;if(e==null)return n==="asc"?-1:1;if(t==null)return n==="asc"?1:-1;if(typeof e=="number"&&typeof t=="number"){let s=e-t;return n==="asc"?s:-s}if(typeof e=="string"&&typeof t=="string"){let s=e,l=t;r&&(s=s.toLowerCase(),l=l.toLowerCase());let d=s<l?-1:s>l?1:0;return n==="asc"?d:-d}if(e instanceof Date&&t instanceof Date){let s=e.getTime()-t.getTime();return n==="asc"?s:-s}let i=String(e),a=String(t),o=r?i.toLowerCase()<a.toLowerCase()?-1:i.toLowerCase()>a.toLowerCase()?1:0:i<a?-1:i>a?1:0;return n==="asc"?o:-o}function jt(e,t,n,r,i){if(e.length<=i)return e.sort((s,l)=>de(t(s),t(l),n,r));let a=[];for(let s=0;s<e.length;s+=i)a.push(e.slice(s,s+i));let o=a.map(s=>s.sort((l,d)=>de(t(l),t(d),n,r)));return Jt(o,t,n,r)}function Jt(e,t,n,r){if(e.length===0)return [];if(e.length===1)return e[0];let i=[],a=new Array(e.length).fill(0);for(;;){let o=-1,s=null;for(let l=0;l<e.length;l++)if(a[l]<e[l].length){let d=e[l][a[l]];(s===null||de(t(d),t(s),n,r)<0)&&(s=d,o=l);}if(o===-1)break;i.push(s),a[o]++;}return i}function Qt(e,t=16,n=""){n=n||"",e=e||"",t<=0&&(t=16),t=Math.floor(t);var r=e+(Math.floor(Math.random()*25)+10).toString(36)+n;r+=new Date().getTime().toString(36)+n;do r+=Math.floor(Math.random()*35).toString(36);while(r.length<t);return r}function qt(){return typeof window!="undefined"&&typeof window=="object"?window:typeof self!="undefined"&&typeof self=="object"?self:typeof global!="undefined"&&typeof global=="object"?global:typeof globalThis!="undefined"&&typeof globalThis=="object"?globalThis:{}}var Ji=qt();function _i(e,t={}){let{maxTotalLength:n=320,maxLocalPartLength:r=64,maxDomainLength:i=255,maxDomainLabelLength:a=63}=Object.assign({},t);if(!c(e)||e.length>n)return false;let o=e.lastIndexOf("@");if(o===-1||o===0||o===e.length-1)return false;let s=e.substring(0,o),l=e.substring(o+1);return !(s.length===0||s.length>r||l.length===0||l.length>i||!_t(s)||!en(l,a))}function _t(e){return e.startsWith('"')&&e.endsWith('"')?Xt(e):!(!/^[a-zA-Z0-9.!#$%&'*+\-/=?^_`{|}~]+$/.test(e)||e.startsWith(".")||e.endsWith(".")||e.includes(".."))}function Xt(e){if(!e.startsWith('"')||!e.endsWith('"'))return false;let t=e.slice(1,-1),n=0;for(;n<t.length;)if(t[n]==="\\")n+=2;else {if(t[n]==='"')return false;n++;}return true}function en(e,t){if(e.startsWith("[")&&e.endsWith("]"))return nn(e.slice(1,-1));if(!e.includes("."))return false;let n=e.split(".");for(let i of n)if(!tn(i,t))return false;let r=n[n.length-1];return !(r.length<2||!/^[a-zA-Z]+$/.test(r))}function tn(e,t){return !(e.length===0||e.length>t||!/^[a-zA-Z0-9\-]+$/.test(e)||e.startsWith("-")||e.endsWith("-"))}function nn(e){return !!(rn(e)||an(e))}function rn(e){let t=e.split(".");if(t.length!==4)return false;for(let n of t){let r=parseInt(n,10);if(isNaN(r)||r<0||r>255||n!==r.toString())return false}return true}function an(e){if(e.includes(":::"))return false;let t=e.split(":");if(t.length>8||e.includes("::")&&t.length>=8)return false;for(let n of t)if(n!==""&&!/^[0-9a-fA-F]{1,4}$/.test(n))return false;return true}var on=typeof Element!="undefined",sn=typeof Map=="function",ln=typeof Set=="function",dn=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function ce(e,t){if(e===t)return true;if(dn&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)){let n=e.byteLength;if(n!=t.byteLength)return false;let r=new Int32Array(e),i=new Int32Array(t);for(let a=n;a--!==0;)if(r[a]!==i[a])return false;return true}if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return false;let n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return false;for(r=n;r--!==0;)if(!ce(e[r],t[r]))return false;return true}let a;if(sn&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return false;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return false;for(a=e.entries();!(r=a.next()).done;)if(!ce(r.value[1],t.get(r.value[0])))return false;return true}if(ln&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return false;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return false;return true}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return false;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return false;if(on&&e instanceof Element)return false;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!ce(e[i[r]],t[i[r]]))return false;return true}return e!==e&&t!==t}function cn(e,t){try{return ce(e,t)}catch(n){}return false}function ra(e){return N(e)&&isFinite(e)&&Math.floor(e)===e}
6
+ exports.DateHelper=P;exports.Global=Ji;exports.JsonHelper=V;exports._abreviateNumber=Wt;exports.abreviate2FormatMoney=et;exports.abreviateNumber=Xe;exports.addClassName=Xn;exports.areEquals=cn;exports.cloneObject=ye;exports.debounce=vt;exports.defaultArray=ei;exports.defaultBool=Nt;exports.defaultNumber=Vi;exports.defaultObj=sr;exports.defaultStr=p;exports.defaultVal=Pt;exports.extendObj=Q;exports.extractQueryString=wt;exports.flattenObject=Dt;exports.getGlobal=qt;exports.getMaxZindex=_n;exports.getQueryParams=Lt;exports.hasClassName=ht;exports.interpolate=He;exports.isDOMElement=z;exports.isDataUrl=We;exports.isEmail=_i;exports.isEmpty=oe;exports.isImageSrc=Di;exports.isInteger=ra;exports.isIterableStructure=Ct;exports.isNonNullString=c;exports.isNullable=ge;exports.isNumber=N;exports.isObj=D;exports.isPrimitive=I;exports.isPromise=me;exports.isRegex=$;exports.isStringNumber=At;exports.isUriEncoded=kt;exports.isUrl=Bt;exports.lowerFirst=xt;exports.ltrim=se;exports.objectSize=or;exports.objectToQueryString=fi;exports.parseURI=Ft;exports.removeClassName=er;exports.removeQueryString=Et;exports.rtrim=pe;exports.setQueryParams=mi;exports.sortBy=Wi;exports.stringify=H;exports.toCamelCase=Ot;exports.toSnakeCase=Yt;exports.typedEntries=Tt;exports.uniqid=Qt;exports.upperFirst=Rt;
@@ -0,0 +1,105 @@
1
+ import { Dictionary } from '../types';
2
+ /**
3
+ * Options for the interpolate function.
4
+ */
5
+ export interface InterpolateOptions {
6
+ /**
7
+ * Custom regex pattern to match placeholders.
8
+ * Defaults to `\%\{([^}]+)\}` for `%{key}` format.
9
+ * The regex should have a capturing group for the key.
10
+ */
11
+ tagRegex?: RegExp;
12
+ /**
13
+ * Custom function to format values before interpolation.
14
+ * If not provided, a default formatter will be used.
15
+ * @param value - The value to format
16
+ * @param tagName - The name of the tag being replaced
17
+ * @param defaultFormatter - The default value formatter function
18
+ * @returns The formatted string representation
19
+ */
20
+ valueFormatter?: (value: any, tagName: string, defaultFormatter: typeof defaultValueFormatter) => string;
21
+ }
22
+ /**
23
+ * Interpolates placeholders in a string with values from a parameters object.
24
+ *
25
+ * This function is particularly useful for internationalization (i18n) and dynamic string formatting,
26
+ * where text templates contain placeholders that need to be replaced with actual values.
27
+ * By default, placeholders are in the format `%{key}`, where `key` can be a simple string or a dotted path.
28
+ *
29
+ * If a placeholder's key is not found in the params object or the value is empty,
30
+ * the placeholder is replaced with an empty string.
31
+ *
32
+ * @param text - The template string containing placeholders.
33
+ * @param params - An object containing key-value pairs for interpolation.
34
+ * @param options - Optional configuration object for interpolation behavior.
35
+ * @returns The interpolated string with placeholders replaced by their corresponding values.
36
+ *
37
+ * @example
38
+ * // Basic interpolation with default %{key} format
39
+ * const result = interpolate("Hello, %{name}!", { name: "World" });
40
+ * // Result: "Hello, World!"
41
+ *
42
+ * @example
43
+ * // Multiple placeholders
44
+ * const result = interpolate("User %{firstName} %{lastName} is %{age} years old.", {
45
+ * firstName: "John",
46
+ * lastName: "Doe",
47
+ * age: 30
48
+ * });
49
+ * // Result: "User John Doe is 30 years old."
50
+ *
51
+ * @example
52
+ * // Missing or empty parameters - placeholders are removed
53
+ * const result = interpolate("Welcome %{user} to %{location}.", {
54
+ * user: "Alice"
55
+ * });
56
+ * // Result: "Welcome Alice to ."
57
+ *
58
+ * @example
59
+ * // Dotted keys (treated as flat keys)
60
+ * const result = interpolate("Contact: %{user.email}", {
61
+ * "user.email": "alice@example.com"
62
+ * });
63
+ * // Result: "Contact: alice@example.com"
64
+ *
65
+ * @example
66
+ * // Custom regex for double braces {{key}}
67
+ * const result = interpolate("Hello, {{name}}!", { name: "World" }, { tagRegex: /\{\{([^}]+)\}\}/g });
68
+ * // Result: "Hello, World!"
69
+ *
70
+ * @example
71
+ * // Custom value formatter for uppercase strings
72
+ * const result = interpolate("Hello %{name}!", { name: "world" }, {
73
+ * valueFormatter: (value, tagName) => typeof value === 'string' ? value.toUpperCase() : String(value)
74
+ * });
75
+ * // Result: "Hello WORLD!"
76
+ *
77
+ * @example
78
+ * // Custom value formatter for numbers with currency
79
+ * const result = interpolate("Price: %{amount}", { amount: 99.99 }, {
80
+ * valueFormatter: (value, tagName) => typeof value === 'number' ? `$${value.toFixed(2)}` : String(value)
81
+ * });
82
+ * // Result: "Price: $99.99"
83
+ *
84
+ * @example
85
+ * // Custom value formatter based on tag name
86
+ * const result = interpolate("User: %{name}, Age: %{age}", { name: "John", age: 25 }, {
87
+ * valueFormatter: (value, tagName) => {
88
+ * if (tagName === 'age') return `${value} years old`;
89
+ * return String(value);
90
+ * }
91
+ * });
92
+ * // Result: "User: John, Age: 25 years old"
93
+ *
94
+ * @example
95
+ * // No params provided - returns original string
96
+ * const result = interpolate("No placeholders here.");
97
+ * // Result: "No placeholders here."
98
+ *
99
+ /**
100
+ * Default value formatter for interpolation.
101
+ * Handles all common JavaScript value types.
102
+ */
103
+ declare function defaultValueFormatter(value: any, tagName: string): string;
104
+ export declare function interpolate(text?: string, params?: Dictionary, options?: InterpolateOptions): string;
105
+ export {};
@@ -0,0 +1 @@
1
+ 'use strict';function N(t){return !!(t&&typeof t=="string")}function T(...t){for(var e in t){let n=t[e];if(N(n))return n}return ""}function a(t){return t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function y(t){if(t instanceof RegExp)return true;if(!t||typeof t!="object"||!Object.prototype.toString.call(t).includes("RegExp"))return false;try{return new RegExp(t),!0}catch(e){return false}}function A(t){return !t||typeof t!="object"?false:t instanceof Date?true:typeof t.getTime!="function"?false:!(Object.prototype.toString.call(t)!=="[object Date]"||isNaN(t.getTime()))}function x(t){return typeof window!="object"||!window||typeof document=="undefined"||typeof HTMLElement=="undefined"||!HTMLElement?false:t===document?true:"HTMLElement"in window?!!t&&t instanceof HTMLElement:!!t&&typeof t=="object"&&t.nodeType===1&&!!t.nodeName}function s(t){if(t===null||typeof t!="object"||x(t)||A(t)||y(t)||a(t))return false;let e=Object.getPrototypeOf(t);if(e===null)return true;let n=e.constructor;if(typeof n!="function")return false;if(n===Object)return true;let r=n.prototype;return typeof r!="object"?false:r===Object.prototype?true:typeof e.hasOwnProperty=="function"&&Object.prototype.hasOwnProperty.call(e,"isPrototypeOf")&&typeof e.isPrototypeOf=="function"}function S(t){if(Array.isArray(t)){let r=[];for(var e=0;e<t.length;e++)r[e]=S(t[e]);return r}else if(s(t)&&t){let r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=S(t[n]));return r}else return t}Object.getSize=function(t,e=false){if(!t||typeof t!="object")return 0;if(Array.isArray(t))return t.length;typeof e!="boolean"&&(e=false);let n=0;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&(n++,e===true))return n;return n};function D(t,e){return g(t,"",{},e)}function g(t,e="",n={},r){if(n=s(n)?n:{},a(t)||A(t)||y(t)||Array.isArray(t)&&(r!=null&&r.skipArrays))return e&&(n[e]=t),n;if(typeof t=="function"||typeof t=="object"&&!s(t)&&!P(t))return n;if(t instanceof Map||t instanceof WeakMap)return Array.from(t.entries()).forEach(([i,c])=>{let o=e?`${e}[${String(i)}]`:String(i);g(c,o,n,r);}),n;if(Array.isArray(t)||t instanceof Set||t instanceof WeakSet)return (Array.isArray(t)?t:Array.from(t)).forEach((c,o)=>{let l=e?`${e}[${o}]`:String(o);g(c,l,n,r);}),n;if(s(t))for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let c=t[i],o=e?e.endsWith("]")?`${e}.${i}`:`${e}.${i}`:i;g(c,o,n,r);}return n}function P(t){return Array.isArray(t)||t instanceof Set||t instanceof Map||t instanceof WeakMap||t instanceof WeakSet}function $(t){return Object.entries(t)}Object.typedEntries=$;Object.flatten=D;Object.clone=S;function u(t,e){if(t==null)return "";if(typeof t=="string")return t;if((typeof t=="number"||typeof t=="object"&&t instanceof Number)&&typeof t.formatNumber=="function")return t.formatNumber();if(t instanceof Date||typeof t=="object"&&t!==null&&t.constructor===Date)return typeof t.toFormat=="function"?t.toFormat():t.toISOString();if(t instanceof Error)return `Error: ${t.message}`;if(y(t))return t.toString();if(a(t))return String(t);if(Array.isArray(t))return JSON.stringify(t);if(typeof t=="object"&&t!==null){if(typeof t.toString=="function"&&t.toString!==Object.prototype.toString)return t.toString();if(typeof t.toString=="function"){let n=t.toString();if(n!=="[object Object]")return n}return JSON.stringify(t)}return typeof(t==null?void 0:t.toString)=="function"?t.toString():String(t)}function nt(t,e,n){let r=(n==null?void 0:n.valueFormatter)||u,i=T(t);if(!s(e)||!e)return i;let c=(n==null?void 0:n.tagRegex)||/%\{([^}]+)\}/g,o=new Set,l,b=T(t);for(;(l=c.exec(b))!==null;){let f=l[1];f!==void 0&&o.add(f);}return o.forEach(f=>{let h;if(n!=null&&n.tagRegex){let w=new RegExp(n.tagRegex.source,n.tagRegex.flags);[...b.matchAll(w)].forEach(m=>{let j=m[0];if(!m[1])return;let p=m[1],O=Object.prototype.hasOwnProperty.call(e,p)?e[p]:void 0,k=O===void 0?"":(()=>{try{return r(O,p,u)}catch(F){return u(O)}})(),M=j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");i=i.replace(new RegExp(M,"g"),k);});return}else h=`%{${f}}`;let d=Object.prototype.hasOwnProperty.call(e,f)?e[f]:void 0,R=d===void 0?"":(()=>{try{return r(d,f,u)}catch(w){return u(d)}})(),E=h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");i=i.replace(new RegExp(E,"g"),R);}),i}exports.interpolate=nt;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Options for configuring email validation constraints.
3
+ * All lengths are in characters and follow RFC 5321/5322 specifications.
4
+ */
5
+ export interface IsEmailOptions {
6
+ /**
7
+ * Maximum total length of the email address (local part + @ + domain).
8
+ * RFC 5321 recommends a maximum of 320 characters for SMTP.
9
+ * @default 320
10
+ */
11
+ maxTotalLength?: number;
12
+ /**
13
+ * Maximum length of the local part (before @).
14
+ * RFC 5321 specifies a maximum of 64 characters for the local part.
15
+ * @default 64
16
+ */
17
+ maxLocalPartLength?: number;
18
+ /**
19
+ * Maximum length of the domain part (after @).
20
+ * RFC 1035 specifies a maximum of 255 characters for domain names.
21
+ * @default 255
22
+ */
23
+ maxDomainLength?: number;
24
+ /**
25
+ * Maximum length of individual domain labels (parts separated by dots).
26
+ * RFC 1035 specifies a maximum of 63 characters per label.
27
+ * @default 63
28
+ */
29
+ maxDomainLabelLength?: number;
30
+ }
31
+ /**
32
+ * Validates whether a given string is a valid email address.
33
+ *
34
+ * This function performs comprehensive email validation according to RFC 5322 standards,
35
+ * handling all edge cases including:
36
+ * - Local part validation (before @): allows letters, numbers, and special chars like .!#$%&'*+-/=?^_`{|}~
37
+ * - Quoted strings in local part (e.g., "john..doe"@example.com)
38
+ * - Domain validation: proper domain structure with valid TLD
39
+ * - IP address domains: [IPv4] and [IPv6] formats
40
+ * - International domains: IDN (Internationalized Domain Names)
41
+ * - Configurable length constraints with sensible defaults
42
+ * - Edge cases: consecutive dots, leading/trailing dots, escaped characters
43
+ *
44
+ * @param email - The string to validate as an email address
45
+ * @param options - Optional configuration for validation constraints
46
+ * @returns true if the string is a valid email address, false otherwise
47
+ *
48
+ * @example
49
+ * isEmail("user@example.com") // true
50
+ * isEmail("user.name+tag@example.co.uk") // true
51
+ * isEmail("invalid@") // false
52
+ * isEmail("@invalid.com") // false
53
+ *
54
+ * // Custom length limits
55
+ * isEmail("very.long.email@domain.com", { maxTotalLength: 100 }) // true if under 100 chars
56
+ */
57
+ export declare function isEmail(email: string, options?: IsEmailOptions): boolean;
@@ -0,0 +1 @@
1
+ 'use strict';function u(t){return !!(t&&typeof t=="string")}function p(t,n={}){let{maxTotalLength:e=320,maxLocalPartLength:r=64,maxDomainLength:i=255,maxDomainLabelLength:l=63}=Object.assign({},n);if(!u(t)||t.length>e)return false;let s=t.lastIndexOf("@");if(s===-1||s===0||s===t.length-1)return false;let f=t.substring(0,s),a=t.substring(s+1);return !(f.length===0||f.length>r||a.length===0||a.length>i||!o(f)||!h(a,l))}function o(t){return t.startsWith('"')&&t.endsWith('"')?g(t):!(!/^[a-zA-Z0-9.!#$%&'*+\-/=?^_`{|}~]+$/.test(t)||t.startsWith(".")||t.endsWith(".")||t.includes(".."))}function g(t){if(!t.startsWith('"')||!t.endsWith('"'))return false;let n=t.slice(1,-1),e=0;for(;e<n.length;)if(n[e]==="\\")e+=2;else {if(n[e]==='"')return false;e++;}return true}function h(t,n){if(t.startsWith("[")&&t.endsWith("]"))return m(t.slice(1,-1));if(!t.includes("."))return false;let e=t.split(".");for(let i of e)if(!c(i,n))return false;let r=e[e.length-1];return !(r.length<2||!/^[a-zA-Z]+$/.test(r))}function c(t,n){return !(t.length===0||t.length>n||!/^[a-zA-Z0-9\-]+$/.test(t)||t.startsWith("-")||t.endsWith("-"))}function m(t){return !!(b(t)||d(t))}function b(t){let n=t.split(".");if(n.length!==4)return false;for(let e of n){let r=parseInt(e,10);if(isNaN(r)||r<0||r>255||e!==r.toString())return false}return true}function d(t){if(t.includes(":::"))return false;let n=t.split(":");if(n.length>8||t.includes("::")&&n.length>=8)return false;for(let e of n)if(e!==""&&!/^[0-9a-fA-F]{1,4}$/.test(e))return false;return true}exports.isEmail=p;