ku4web-components 6.5.6 → 6.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. package/angular/index.js +3 -1
  2. package/angular/index.mjs +1 -1
  3. package/dist/cjs/{index-e69a9e98.js → index-4e2544a7.js} +10 -8
  4. package/dist/cjs/index-ad5278ca.js +10 -0
  5. package/dist/cjs/ku4-carousel-controls.cjs.entry.js +2 -2
  6. package/dist/cjs/ku4-carousel-slide.cjs.entry.js +1 -1
  7. package/dist/cjs/ku4-carousel.cjs.entry.js +3 -3
  8. package/dist/cjs/ku4-col.cjs.entry.js +1 -1
  9. package/dist/cjs/ku4-drawer.cjs.entry.js +1 -1
  10. package/dist/cjs/ku4-feature.cjs.entry.js +2 -2
  11. package/dist/cjs/ku4-focus-trap.cjs.entry.js +26 -26
  12. package/dist/cjs/ku4-form.cjs.entry.js +3 -3
  13. package/dist/cjs/ku4-grid.cjs.entry.js +1 -1
  14. package/dist/cjs/ku4-label.cjs.entry.js +2 -2
  15. package/dist/cjs/ku4-mask.cjs.entry.js +2 -2
  16. package/dist/cjs/ku4-modal.cjs.entry.js +3 -3
  17. package/dist/cjs/ku4-panel.cjs.entry.js +1 -1
  18. package/dist/cjs/ku4-preview.cjs.entry.js +14 -43
  19. package/dist/cjs/ku4-tab-list.cjs.entry.js +4 -4
  20. package/dist/cjs/ku4-tab-panel.cjs.entry.js +3 -3
  21. package/dist/cjs/ku4-tab.cjs.entry.js +3 -3
  22. package/dist/cjs/ku4-table.cjs.entry.js +1 -1
  23. package/dist/cjs/ku4-tooltip.cjs.entry.js +2 -2
  24. package/dist/cjs/ku4-validation.cjs.entry.js +2 -2
  25. package/dist/cjs/ku4web-components.cjs.js +7 -102
  26. package/dist/cjs/loader.cjs.js +2 -18
  27. package/dist/cjs/{shadow-css-42acdd0e.js → shadow-css-abc19485.js} +2 -3
  28. package/dist/esm/{index-3a223c58.js → index-e5173978.js} +10 -8
  29. package/dist/esm/index-f06d1dc2.js +3 -0
  30. package/dist/esm/ku4-carousel-controls.entry.js +2 -2
  31. package/dist/esm/ku4-carousel-slide.entry.js +1 -1
  32. package/dist/esm/ku4-carousel.entry.js +3 -3
  33. package/dist/esm/ku4-col.entry.js +1 -1
  34. package/dist/esm/ku4-drawer.entry.js +1 -1
  35. package/dist/esm/ku4-feature.entry.js +2 -2
  36. package/dist/esm/ku4-focus-trap.entry.js +3 -3
  37. package/dist/esm/ku4-form.entry.js +3 -3
  38. package/dist/esm/ku4-grid.entry.js +1 -1
  39. package/dist/esm/ku4-label.entry.js +2 -2
  40. package/dist/esm/ku4-mask.entry.js +2 -2
  41. package/dist/esm/ku4-modal.entry.js +3 -3
  42. package/dist/esm/ku4-panel.entry.js +1 -1
  43. package/dist/esm/ku4-preview.entry.js +5 -34
  44. package/dist/esm/ku4-tab-list.entry.js +4 -4
  45. package/dist/esm/ku4-tab-panel.entry.js +3 -3
  46. package/dist/esm/ku4-tab.entry.js +3 -3
  47. package/dist/esm/ku4-table.entry.js +1 -1
  48. package/dist/esm/ku4-tooltip.entry.js +2 -2
  49. package/dist/esm/ku4-validation.entry.js +2 -2
  50. package/dist/esm/ku4web-components.js +7 -102
  51. package/dist/esm/loader.js +2 -18
  52. package/dist/{ku4web-components/shadow-css-38a1326b.js → esm/shadow-css-02866686.js} +2 -3
  53. package/dist/esm-es5/{index-3a223c58.js → index-e5173978.js} +2 -1
  54. package/dist/esm-es5/index-f06d1dc2.js +1 -0
  55. package/dist/esm-es5/ku4-carousel-controls.entry.js +1 -1
  56. package/dist/esm-es5/ku4-carousel-slide.entry.js +1 -1
  57. package/dist/esm-es5/ku4-carousel.entry.js +1 -1
  58. package/dist/esm-es5/ku4-col.entry.js +1 -1
  59. package/dist/esm-es5/ku4-drawer.entry.js +1 -1
  60. package/dist/esm-es5/ku4-feature.entry.js +1 -1
  61. package/dist/esm-es5/ku4-focus-trap.entry.js +1 -1
  62. package/dist/esm-es5/ku4-form.entry.js +1 -1
  63. package/dist/esm-es5/ku4-grid.entry.js +1 -1
  64. package/dist/esm-es5/ku4-label.entry.js +1 -1
  65. package/dist/esm-es5/ku4-mask.entry.js +1 -1
  66. package/dist/esm-es5/ku4-modal.entry.js +1 -1
  67. package/dist/esm-es5/ku4-panel.entry.js +1 -1
  68. package/dist/esm-es5/ku4-preview.entry.js +1 -1
  69. package/dist/esm-es5/ku4-tab-list.entry.js +1 -1
  70. package/dist/esm-es5/ku4-tab-panel.entry.js +1 -1
  71. package/dist/esm-es5/ku4-tab.entry.js +1 -1
  72. package/dist/esm-es5/ku4-table.entry.js +1 -1
  73. package/dist/esm-es5/ku4-tooltip.entry.js +1 -1
  74. package/dist/esm-es5/ku4-validation.entry.js +1 -1
  75. package/dist/esm-es5/ku4web-components.js +1 -1
  76. package/dist/esm-es5/loader.js +1 -1
  77. package/dist/esm-es5/shadow-css-02866686.js +12 -0
  78. package/dist/index.js +1 -1
  79. package/dist/ku4web-components/index.esm.js +0 -1
  80. package/dist/ku4web-components/ku4web-components.css +1 -299
  81. package/dist/ku4web-components/ku4web-components.esm.js +1 -129
  82. package/dist/ku4web-components/ku4web-components.js +1 -1
  83. package/dist/ku4web-components/{p-96033515.system.entry.js → p-02eef79e.system.entry.js} +1 -1
  84. package/dist/ku4web-components/p-06b0b9bc.js +2 -0
  85. package/dist/ku4web-components/{p-2ee63f57.system.js → p-0b3bdc7f.system.js} +1 -1
  86. package/dist/ku4web-components/{p-b1680ef4.entry.js → p-155f4481.entry.js} +1 -1
  87. package/dist/ku4web-components/{p-c5448cc1.system.entry.js → p-2723d2b6.system.entry.js} +1 -1
  88. package/dist/ku4web-components/{p-e31755cd.system.entry.js → p-2c79be2e.system.entry.js} +1 -1
  89. package/dist/ku4web-components/p-2df8696a.entry.js +1 -0
  90. package/dist/ku4web-components/{p-046b3990.entry.js → p-364b562f.entry.js} +1 -1
  91. package/dist/ku4web-components/{p-bb698020.system.entry.js → p-3ba44adc.system.entry.js} +1 -1
  92. package/dist/ku4web-components/{p-4ecd9b1d.system.entry.js → p-42d52222.system.entry.js} +1 -1
  93. package/dist/ku4web-components/{p-0f1646ca.system.entry.js → p-4733f8b6.system.entry.js} +1 -1
  94. package/dist/ku4web-components/{p-8173d389.system.entry.js → p-48b0bb76.system.entry.js} +1 -1
  95. package/dist/ku4web-components/p-5109ce9d.system.js +1 -0
  96. package/dist/ku4web-components/{p-ae7ce1fe.system.entry.js → p-55a4a947.system.entry.js} +1 -1
  97. package/dist/ku4web-components/{p-d0f3bec4.js → p-5a51f33e.js} +1 -1
  98. package/dist/ku4web-components/{p-e11fbd79.entry.js → p-5c296352.entry.js} +1 -1
  99. package/dist/ku4web-components/{p-3deab7f6.system.entry.js → p-5e666fe4.system.entry.js} +1 -1
  100. package/dist/ku4web-components/{p-bb5410b5.entry.js → p-6028fc6f.entry.js} +1 -1
  101. package/dist/ku4web-components/{p-72be654e.system.entry.js → p-65643a0b.system.entry.js} +1 -1
  102. package/dist/ku4web-components/{p-4da33ea7.entry.js → p-67a2204b.entry.js} +1 -1
  103. package/dist/ku4web-components/{p-7b6ca6a8.entry.js → p-6ab4928a.entry.js} +1 -1
  104. package/dist/ku4web-components/{p-cfd1b93c.entry.js → p-6e918f89.entry.js} +1 -1
  105. package/dist/ku4web-components/{p-1e19bc01.system.entry.js → p-71cbf981.system.entry.js} +1 -1
  106. package/dist/ku4web-components/{p-7b93a362.system.entry.js → p-7260c454.system.entry.js} +1 -1
  107. package/dist/ku4web-components/{p-5e628256.entry.js → p-731cff07.entry.js} +1 -1
  108. package/dist/ku4web-components/{p-fd3d3f56.system.js → p-8f2e658a.system.js} +2 -1
  109. package/dist/ku4web-components/{p-9e2f37cc.entry.js → p-939f438f.entry.js} +1 -1
  110. package/dist/ku4web-components/{p-6509d3e7.system.entry.js → p-9a6aa058.system.entry.js} +1 -1
  111. package/dist/ku4web-components/{p-da8a8b83.entry.js → p-9db782b0.entry.js} +1 -1
  112. package/dist/ku4web-components/{p-0b777b57.entry.js → p-9ebb7181.entry.js} +1 -1
  113. package/dist/ku4web-components/{p-d42bd64d.entry.js → p-9fcb26bb.entry.js} +1 -1
  114. package/dist/ku4web-components/{p-27647af0.system.entry.js → p-a3b9acd3.system.entry.js} +1 -1
  115. package/dist/ku4web-components/{p-de3b2ba1.entry.js → p-a45df4c1.entry.js} +1 -1
  116. package/dist/ku4web-components/{p-17c2a7ac.system.entry.js → p-b2512286.system.entry.js} +1 -1
  117. package/dist/ku4web-components/{p-ea1961f5.entry.js → p-b334f07e.entry.js} +1 -1
  118. package/dist/ku4web-components/{p-a13796dc.system.entry.js → p-bc388bcc.system.entry.js} +1 -1
  119. package/dist/ku4web-components/p-c00ad706.system.js +13 -0
  120. package/dist/ku4web-components/{p-6515c623.system.entry.js → p-c0dce18b.system.entry.js} +1 -1
  121. package/dist/ku4web-components/{p-1abe6f26.entry.js → p-c46a6ff5.entry.js} +1 -1
  122. package/dist/ku4web-components/p-ccf9d584.js +1 -0
  123. package/dist/ku4web-components/{p-9778d082.system.entry.js → p-e4693cda.system.entry.js} +1 -1
  124. package/dist/ku4web-components/{p-d4877fdf.entry.js → p-e5170dc1.entry.js} +1 -1
  125. package/dist/ku4web-components/{p-0a68e802.entry.js → p-e65f0ac5.entry.js} +1 -1
  126. package/dist/ku4web-components/{p-1a09ae2c.entry.js → p-ea1b0df6.entry.js} +1 -1
  127. package/dist/ku4web-components/{p-5e8921ef.system.entry.js → p-f0dbdb77.system.entry.js} +1 -1
  128. package/dist/ku4web-components/{p-9b01a63a.entry.js → p-f76dfee1.entry.js} +1 -1
  129. package/dist/ku4web-components/{p-a7ab7c23.system.entry.js → p-faa0713d.system.entry.js} +1 -1
  130. package/dist/types/components.d.ts +27 -7
  131. package/package.json +37 -30
  132. package/react/index.js +3 -1
  133. package/react/index.mjs +1 -1
  134. package/vue/index.js +3 -1
  135. package/vue/index.mjs +1 -1
  136. package/vue3/index.js +3 -1
  137. package/vue3/index.mjs +1 -1
  138. package/dist/cjs/app-globals-3a1e7e63.js +0 -5
  139. package/dist/cjs/css-shim-f1391d35.js +0 -6
  140. package/dist/cjs/dom-5345ed9a.js +0 -75
  141. package/dist/cjs/index-065185f8.js +0 -3093
  142. package/dist/cjs/index-16f16ed9.js +0 -14
  143. package/dist/cjs/index-436596bf.js +0 -10
  144. package/dist/cjs/index-49d3746b.js +0 -10
  145. package/dist/cjs/uid-a1348ea5.js +0 -11
  146. package/dist/collection/capabilities/a11y/aria.js +0 -26
  147. package/dist/collection/capabilities/angular/index.js +0 -24
  148. package/dist/collection/capabilities/decorators/deprecated.js +0 -20
  149. package/dist/collection/capabilities/decorators/index.js +0 -3
  150. package/dist/collection/capabilities/decorators/memoize.js +0 -7
  151. package/dist/collection/capabilities/dom/isFocusable.js +0 -7
  152. package/dist/collection/capabilities/dom/queryFocusable.js +0 -2
  153. package/dist/collection/capabilities/identity/uid.js +0 -6
  154. package/dist/collection/capabilities/mask/index.js +0 -5
  155. package/dist/collection/capabilities/mask/patterns/date.js +0 -40
  156. package/dist/collection/capabilities/mask/patterns/index.js +0 -7
  157. package/dist/collection/capabilities/react/index.js +0 -25
  158. package/dist/collection/capabilities/testing/html.js +0 -14
  159. package/dist/collection/capabilities/testing/styles.js +0 -14
  160. package/dist/collection/capabilities/vue/index.js +0 -28
  161. package/dist/collection/capabilities/vue3/index.js +0 -26
  162. package/dist/collection/collection-manifest.json +0 -31
  163. package/dist/collection/components/ku4-carousel/ku4-carousel.css +0 -221
  164. package/dist/collection/components/ku4-carousel/ku4-carousel.js +0 -369
  165. package/dist/collection/components/ku4-carousel-controls/ku4-carousel-controls.css +0 -32
  166. package/dist/collection/components/ku4-carousel-controls/ku4-carousel-controls.js +0 -112
  167. package/dist/collection/components/ku4-carousel-slide/ku4-carousel-slide.css +0 -3
  168. package/dist/collection/components/ku4-carousel-slide/ku4-carousel-slide.js +0 -159
  169. package/dist/collection/components/ku4-col/ku4-col.css +0 -601
  170. package/dist/collection/components/ku4-col/ku4-col.js +0 -288
  171. package/dist/collection/components/ku4-drawer/ku4-drawer.css +0 -56
  172. package/dist/collection/components/ku4-drawer/ku4-drawer.js +0 -163
  173. package/dist/collection/components/ku4-feature/ku4-feature.js +0 -70
  174. package/dist/collection/components/ku4-focus-trap/ku4-focus-trap.css +0 -3
  175. package/dist/collection/components/ku4-focus-trap/ku4-focus-trap.js +0 -441
  176. package/dist/collection/components/ku4-form/ku4-form.js +0 -265
  177. package/dist/collection/components/ku4-grid/ku4-grid.css +0 -751
  178. package/dist/collection/components/ku4-grid/ku4-grid.js +0 -408
  179. package/dist/collection/components/ku4-label/ku4-label.css +0 -36
  180. package/dist/collection/components/ku4-label/ku4-label.js +0 -115
  181. package/dist/collection/components/ku4-mask/ku4-mask.css +0 -3
  182. package/dist/collection/components/ku4-mask/ku4-mask.js +0 -459
  183. package/dist/collection/components/ku4-modal/ku4-modal.css +0 -85
  184. package/dist/collection/components/ku4-modal/ku4-modal.js +0 -231
  185. package/dist/collection/components/ku4-panel/ku4-panel.css +0 -14
  186. package/dist/collection/components/ku4-panel/ku4-panel.js +0 -119
  187. package/dist/collection/components/ku4-preview/ku4-preview.css +0 -23
  188. package/dist/collection/components/ku4-preview/ku4-preview.js +0 -266
  189. package/dist/collection/components/ku4-tab/ku4-tab.css +0 -82
  190. package/dist/collection/components/ku4-tab/ku4-tab.js +0 -191
  191. package/dist/collection/components/ku4-tab-list/ku4-tab-list.css +0 -6
  192. package/dist/collection/components/ku4-tab-list/ku4-tab-list.js +0 -118
  193. package/dist/collection/components/ku4-tab-panel/ku4-tab-panel.css +0 -26
  194. package/dist/collection/components/ku4-tab-panel/ku4-tab-panel.js +0 -166
  195. package/dist/collection/components/ku4-table/ku4-table.css +0 -116
  196. package/dist/collection/components/ku4-table/ku4-table.js +0 -120
  197. package/dist/collection/components/ku4-tooltip/ku4-tooltip.css +0 -56
  198. package/dist/collection/components/ku4-tooltip/ku4-tooltip.js +0 -274
  199. package/dist/collection/components/ku4-validation/ku4-validation.css +0 -19
  200. package/dist/collection/components/ku4-validation/ku4-validation.js +0 -364
  201. package/dist/collection/components/ku4-validation/validate.js +0 -14
  202. package/dist/collection/index.js +0 -1
  203. package/dist/collection/security.js +0 -27
  204. package/dist/esm/app-globals-0f993ce5.js +0 -3
  205. package/dist/esm/css-shim-10e6e2ae.js +0 -4
  206. package/dist/esm/dom-7cd9cf71.js +0 -73
  207. package/dist/esm/index-5448a818.js +0 -3
  208. package/dist/esm/index-6cfd87e4.js +0 -3
  209. package/dist/esm/index-a02dcfc8.js +0 -3057
  210. package/dist/esm/index-aa119486.js +0 -3
  211. package/dist/esm/shadow-css-38a1326b.js +0 -388
  212. package/dist/esm/uid-3716c2c4.js +0 -9
  213. package/dist/esm-es5/index-5448a818.js +0 -1
  214. package/dist/esm-es5/shadow-css-38a1326b.js +0 -12
  215. package/dist/ku4web-components/app-globals-0f993ce5.js +0 -3
  216. package/dist/ku4web-components/app-globals-497eb362.system.js +0 -1
  217. package/dist/ku4web-components/css-shim-10e6e2ae.js +0 -4
  218. package/dist/ku4web-components/css-shim-c8dd4551.system.js +0 -1
  219. package/dist/ku4web-components/dom-67d1e45e.system.js +0 -21
  220. package/dist/ku4web-components/dom-7cd9cf71.js +0 -73
  221. package/dist/ku4web-components/index-1c93827a.system.js +0 -1
  222. package/dist/ku4web-components/index-29f2b09f.system.js +0 -1
  223. package/dist/ku4web-components/index-5d0cb00d.system.js +0 -1
  224. package/dist/ku4web-components/index-6cfd87e4.js +0 -3
  225. package/dist/ku4web-components/index-a02dcfc8.js +0 -3057
  226. package/dist/ku4web-components/index-aa119486.js +0 -3
  227. package/dist/ku4web-components/index.system.js +0 -1
  228. package/dist/ku4web-components/ku4-carousel-controls.entry.js +0 -89
  229. package/dist/ku4web-components/ku4-carousel-controls.system.entry.js +0 -1
  230. package/dist/ku4web-components/ku4-carousel-slide.entry.js +0 -47
  231. package/dist/ku4web-components/ku4-carousel-slide.system.entry.js +0 -1
  232. package/dist/ku4web-components/ku4-carousel.entry.js +0 -175
  233. package/dist/ku4web-components/ku4-carousel.system.entry.js +0 -1
  234. package/dist/ku4web-components/ku4-col.entry.js +0 -75
  235. package/dist/ku4web-components/ku4-col.system.entry.js +0 -1
  236. package/dist/ku4web-components/ku4-drawer.entry.js +0 -35
  237. package/dist/ku4web-components/ku4-drawer.system.entry.js +0 -1
  238. package/dist/ku4web-components/ku4-feature.entry.js +0 -29
  239. package/dist/ku4web-components/ku4-feature.system.entry.js +0 -1
  240. package/dist/ku4web-components/ku4-focus-trap.entry.js +0 -323
  241. package/dist/ku4web-components/ku4-focus-trap.system.entry.js +0 -1
  242. package/dist/ku4web-components/ku4-form.entry.js +0 -120
  243. package/dist/ku4web-components/ku4-form.system.entry.js +0 -1
  244. package/dist/ku4web-components/ku4-grid.entry.js +0 -108
  245. package/dist/ku4web-components/ku4-grid.system.entry.js +0 -1
  246. package/dist/ku4web-components/ku4-label.entry.js +0 -70
  247. package/dist/ku4web-components/ku4-label.system.entry.js +0 -1
  248. package/dist/ku4web-components/ku4-mask.entry.js +0 -343
  249. package/dist/ku4web-components/ku4-mask.system.entry.js +0 -1
  250. package/dist/ku4web-components/ku4-modal.entry.js +0 -80
  251. package/dist/ku4web-components/ku4-modal.system.entry.js +0 -1
  252. package/dist/ku4web-components/ku4-panel.entry.js +0 -49
  253. package/dist/ku4web-components/ku4-panel.system.entry.js +0 -1
  254. package/dist/ku4web-components/ku4-preview.entry.js +0 -128
  255. package/dist/ku4web-components/ku4-preview.system.entry.js +0 -1
  256. package/dist/ku4web-components/ku4-tab-list.entry.js +0 -76
  257. package/dist/ku4web-components/ku4-tab-list.system.entry.js +0 -1
  258. package/dist/ku4web-components/ku4-tab-panel.entry.js +0 -72
  259. package/dist/ku4web-components/ku4-tab-panel.system.entry.js +0 -1
  260. package/dist/ku4web-components/ku4-tab.entry.js +0 -63
  261. package/dist/ku4web-components/ku4-tab.system.entry.js +0 -1
  262. package/dist/ku4web-components/ku4-table.entry.js +0 -79
  263. package/dist/ku4web-components/ku4-table.system.entry.js +0 -1
  264. package/dist/ku4web-components/ku4-tooltip.entry.js +0 -120
  265. package/dist/ku4web-components/ku4-tooltip.system.entry.js +0 -1
  266. package/dist/ku4web-components/ku4-validation.entry.js +0 -162
  267. package/dist/ku4web-components/ku4-validation.system.entry.js +0 -1
  268. package/dist/ku4web-components/ku4web-components.system.js +0 -1
  269. package/dist/ku4web-components/p-016a7b4e.js +0 -1
  270. package/dist/ku4web-components/p-0de744b1.system.js +0 -1
  271. package/dist/ku4web-components/p-791e2dfc.js +0 -1
  272. package/dist/ku4web-components/p-ac7884f3.entry.js +0 -1
  273. package/dist/ku4web-components/p-e7cd2284.system.js +0 -13
  274. package/dist/ku4web-components/shadow-css-7fde17ac.system.js +0 -13
  275. package/dist/ku4web-components/uid-2ed9f227.system.js +0 -1
  276. package/dist/ku4web-components/uid-3716c2c4.js +0 -9
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- class t{static isNull(t){return null===t}static isEmpty(e){return t.isString(e)&&""===e||t.isArray(e)&&e.length<1||t.isObjectLiteral(e)&&Object.keys(e).length<1}static isUndefined(t){return void 0===t}static isZero(t){return 0===t}static exists(e){return !(t.isUndefined(e)||t.isNull(e))}static isNullOrEmpty(e){return !t.exists(e)||t.isEmpty(e)}static isArray(t){return Array.isArray(t)}static isBool(t){return "boolean"==typeof t}static isTrue(e){return t.isBool(e)&&!0===e}static isFalse(e){return t.isBool(e)&&!1===e}static isDate(t){return t instanceof Date}static isNumber(t){return ("number"==typeof t||t instanceof Number)&&!isNaN(t)}static isEven(t){return this.isNumber(t)&&!this.isZero(t)&&t%2==0}static isOdd(t){return this.isNumber(t)&&!this.isZero(t)&&!this.isEven(t)}static isString(t){return "string"==typeof t||t instanceof String}static isFunction(t){return t instanceof Function}static isAsyncFunction(e){try{return "AsyncFunction"===Object.getPrototypeOf(e).constructor.name||t.isFunction(e)&&/^async/.test(e.toString())||t.isFunction(e().then)}catch(t){return !1}}static isPromise(t){return t instanceof Promise}static isObject(e){return t.exists(e)&&"object"==typeof e&&!(t.isBool(e)||t.isNumber(e)||t.isDate(e)||t.isArray(e)||t.isString(e)||t.isFunction(e))}static isObjectLiteral(e){return t.isObject(e)&&e.constructor==={}.constructor}static isTruthy(e){return !t.isFalsy(e)}static isFalsy(e){return t.isZero(e)||t.isFalse(e)||t.isNullOrEmpty(e)||isNaN(e)}}function e(...t){return "".concat(...t)}function r(t,...e){return e.reduce(((t,e,r)=>t.replace(new RegExp(`\\{${r}\\}`,"g"),e&&e.toString?e.toString():e)),t)}function i(t){return s(n(t))}function s(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/^[\s\n]*/,""):e}function n(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/[\s\n]*$/,""):e}var a=Object.freeze({__proto__:null,build:e,chunk:function(e,r=0){if(!t.isString(e)||Number.isNaN(r)||r<0)return [];if(r<e.length){let t=0;const i=r||e.length,s=[];for(;t<e.length;)s.push(e.slice(t,t+i)),t+=i;return s}return [e]},format:r,trim:i,trimStart:s,trimEnd:n,capitalize:function(t=""){return (t||"").charAt(0).toUpperCase()+(t||"").slice(1).toLowerCase()},mask:function(e,r,i="_"){return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((t,e)=>t.replace(new RegExp(i),e)),r)},unmask:function(e,r,i="_"){const s=new RegExp(i);return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((t,e,i)=>!s.test(e)&&s.test(r.charAt(i))?t+e:t),"")}});class u{_first;_middle;_last;constructor(t="",e="",r=""){this._first=t||"",this._middle=e||"",this._last=r||"";}get first(){return this._first}get middle(){return this._middle}get last(){return this._last}get full(){const e=t.isNullOrEmpty(this.middle)?"F L":"F M L";return i(this.toString(e).replace(/\s+/," "))}get initials(){const e=t.isNullOrEmpty(this.middle)?"f.l.":"f.m.l.";return i(this.toString(e).replace(/\s{2,}/,""))}equals(e){return t.exists(e)&&e.first===this.first&&e.middle===this.middle&&e.last===this.last}toString(e){const r=this.first.charAt(0),i=this.middle.charAt(0),s=this.last.charAt(0);return t.isNullOrEmpty(e)?this.full:e.replace(/([FfMmLl])/g,"{$1}").replace("{F}",this.first).replace("{M}",this.middle).replace("{L}",this.last).replace("{f}",r).replace("{m}",i).replace("{l}",s)}}var o=t=>t.reduce(((t,e)=>(t.includes(e)||t.push(e),t)),[]);class c{_list;_head;constructor(t){this._list=t,this._head=0;}get isEmpty(){return this.length<1}get index(){return this._head}get length(){return this._list.length}get current(){return this._list[this._head]}get next(){const{length:t}=this;let e=this._head;return this._head=e++<t-1?e:0,this.current}get prev(){const{length:t}=this;let e=this._head;return this._head=--e<0?t-1:e,this.current}get peekNext(){const{length:t}=this,e=this._head;return this._list[e+1<t?e+1:0]}get peekPrev(){const{length:t}=this,e=this._head;return this._list[e-1<0?t-1:e-1]}}function h(t,e){try{return t()}catch{return e}}let l;h.async=async(t,e)=>{try{return await t()}catch{return e}};class d{constructor(t,e,r){if(e<1||e>12)throw new Error("Invalid month at Assert.DayPoint");if(r<1||r>y(e,t))throw new Error("Invalid date at DayPoint");this._value=arguments.length>=3?new Date(t,e-1,r):new Date,this._day=this._value.getDay(),this._date=r,this._month=e,this._year=t;}get value(){return this._value}get day(){return this._day}get date(){return this._date}get month(){return this._month}get year(){return this._year}get shortYear(){const t=this._year.toString();return parseInt(t.substr(t.length-2))}get isWeekday(){const t=this._day;return t>0&&t<6}get isWeekend(){return !this.isWeekday}get isLeapYear(){return f(this._year)}get nextDay(){return p(this,1,0,0)}get prevDay(){return p(this,-1,0,0)}get nextMonth(){return p(this,0,1,0)}get prevMonth(){return p(this,0,-1,0)}get nextYear(){return p(this,0,0,1)}get prevYear(){return p(this,0,0,-1)}get firstDayOfMonth(){return new d(this._year,this._month,1)}get lastDayOfMonth(){return new d(this._year,this._month,y(this._month,this._year))}add(t,e,r){function i(t,e,r){let i=t,s=e;for(;s--;)i=i[r];return i}const{abs:s}=Math,n=s(t),a=s(r),u=s(e),o=r<0?"prevDay":"nextDay",c=e<0?"prevMonth":"nextMonth";return i(i(i(this,n,t<0?"prevYear":"nextYear"),u,c),a,o)}isBefore(t){return !(this.isAfter(t)||this.equals(t))}isAfter(t){const e=this._year,r=t.year,i=this._month,s=t.month;return e>r||(e===r&&i>s||e===r&&i===s&&this._date>t.date)}equals(t){return this._year===t.year&&this._month===t.month&&this._date===t.date}toString(t="mm/dd/yyyy"){const e=/y{3,}/i.test(t)?this._year:this.shortYear,i=this._month,s=this._date,n=/m{2}/i.test(t)&&i<10?"0{1}":"{1}",a=/d{2}/i.test(t)&&s<10?"0{2}":"{2}";return r(t.replace(/y+/gi,"{0}").replace(/m+/gi,n).replace(/d+/gi,a),e,i,s)}toDate(){return this._value}toJson(){return this._value.toJSON()}static canParse(e){return t.isString(e)||t.isNumber(e)||t.isDate(e)?!isNaN(new Date(e).valueOf()):e instanceof d}static parse(e){if(e instanceof d)return e;let s=t.isString(e)?i(e).replace(/T\d{2}:\d{2}:\d{2}(.\d+)?Z/,""):e;if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(s)){const t=s.split("-"),[e]=t;t.push(e),t.shift(),s=t.join("/");}const n=new Date(s);if(!t.exists(s)||Number.isNaN(n.valueOf()))throw new Error(r("Cannot parse value= {0}",s));return new d(n.getFullYear(),n.getMonth()+1,n.getDate())}static tryParse(t){return h((()=>d.parse(t)),null)}static assumeNow(t){l=d.parse(t);}static get today(){return l||d.parse(new Date)}}function y(e,r){return 2===e?f(r)?29:28:e<8&&t.isEven(e)||e>7&&t.isOdd(e)?30:31}function f(t){const r=t.toString().split(/\B/);return parseFloat(e(r[r.length-2],r[r.length-1]))%4==0}function p(t,e,r,i){const s=t.month,n=t.year,a=t.date,u=r,o=i;let c=a+e,h=s+u,l=n+o;if(a+e>y(s,n)&&(c=1,h=s+u+1),a+e<1){const e=t.prevMonth;c=y(e.month,e.year),h=s+u-1;}return h>12&&(h=1,l=n+o+1),h<1&&(h=12,l=n+o-1),new d(l,h,c)}function m(t,e=0){const r=Math.pow(10,-e);return Math.round(parseFloat((t*r).toFixed(Math.abs(e))))/r}function g(t,e=0){return m(t+5*Math.pow(10,e-1),e)}function _(t,e=0){if(0===t)return 0;return m(t-5*Math.pow(10,e-1),e)}function w(t,e=0){return t<0?g(t,e):_(t,e)}function x(t){const e=(t,r=0,i=1)=>0<t?e(--t,i,r+i):r;return e(t)}function v(t){let e=0,r=1,i=0;for(;t>1;)i=e,e=r,r+=i,t--;return t<1?e:r}function b(t,e=0){const r=parseInt(t);return Number.isNaN(r)?e:r}var N=Object.freeze({__proto__:null,random:function(t=0,e=1){return Math.random()*(e-t)+t},round:m,roundUp:g,roundDown:_,roundTowardZero:w,gcd:function t(e,r){return 0===r?Math.abs(e):t(r,e%r)},fib:x,fib2:v,fibArray:function(t){return Array(t).fill(0).map((()=>x(--t))).reverse()},fib2Array:function(t){return Array(t).fill(0).map((()=>v(--t))).reverse()},tryParseInt:b,tryParseFloat:function(t,e=0){const r=parseFloat(t);return Number.isNaN(r)?e:r}});class S{constructor(e=0,r){if(!t.isNumber(e))throw new Error("Money requires valid numeric amount.");const i=w(e);this._cents=/\./.test(e)?parseFloat(e.toString().replace(/\d+\./,".")):0,this._dollars=i,this._currency=r||"$",this._value=e;}get cents(){return this._cents}get dollars(){return this._dollars}get currency(){return this._currency}get value(){return this._value}add(t){return A(this,t),new S(this.value+t.value,this.currency)}subtract(t){return A(this,t),new S(this.value-t.value,this.currency)}multiply(e){if(!t.isNumber(e))throw new Error(`Invalid factor ${e}`);return new S(this.value*e,this.currency)}divide(e){if(!t.isNumber(e))throw new Error(`Invalid divisor ${e}`);return new S(this.value/e,this.currency)}equals(t){return this.isOfCurrency(t)&&this.value===t.value}isGreaterThan(t){return A(this,t),this.value>t.value}isLessThan(t){return A(this,t),this.value<t.value}get nearestWhole(){return new S(m(this.value,0),this.currency)}get nearestDollar(){return this.nearestWhole}round(t=-2){return new S(m(this.value,t),this.currency)}roundDown(t=-2){return new S(_(this.value,t),this.currency)}roundUp(t=-2){return new S(g(this.value,t),this.currency)}exchange(t,e){return new S(this.multiply(t).value,e)}isOfCurrency(t){return this.currency===t.currency}toString(t="d.c2",e){const[,r,i]=/d(.)c(\d+)/.exec(t),s=e||{".":",",",":"."}[r],n=function(t,e){if(0===t)return "0";const r=t.toString().replace(/[^\d]/,"").split(/\B/);let i=0;return r.reverse().reduce(((t,r)=>(i>0&&!(i%3)&&(t.push(e),i=0),t.push(r),i++,t)),[]).reverse().join("").replace(/[^\d]$/,"")}(this.dollars,s||","),a=function(t,e){const r=t.toString().replace(/[^\d]|0\./g,""),i="0".repeat(e);return `${r}${i}`.slice(0,e)}(this.cents,b(i,2)),u=`${this.currency}${n}${r}${a}`;return this.value<0?`(${u})`:u}static zero(t){return new S(0,t)}static isMoney(t){return t instanceof S}static canParse(t){try{return S.parse(t),!0}catch(t){return !1}}static parse(e){if(t.isNumber(e))return new S(e);let r=e;if(/,\d{2}$/.test(e)){const t=e.split(","),i=t.pop();r=`${t.join().replace(/\./g,",")}.${i}`;}const i=/(\(.*\))|(-)/.test(r),s=i?1:0,n=r.match(/[^\d.,-]/g),a=t.isArray(n)?n[s]:null,u=parseFloat(r.replace(/[^\d.]/g,""));return new S(i?-u:u,a)}static tryParse(t){return h((()=>S.parse(t)),null)}}function A(t,e){if(!t.isOfCurrency(e))throw new Error(`Invalid operation on non-conforming currencies. ${t.currency} !== ${e.currency}`)}class ${constructor(e=0,r=0){if(!t.isNumber(e)||!t.isNumber(r))throw new Error("Coord requires numeric x and y values");this._x=e,this._y=r;}get x(){return this._x}get y(){return this._y}get value(){return {x:this.x,y:this.y}}get half(){return this.divide(new $(2,2))}get abs(){return new $(Math.abs(this.x),Math.abs(this.y))}equals(t){return this.x===t.x&&this.y===t.y}add(t){return new $(this.x+t.x,this.y+t.y)}subtract(t){return new $(this.x-t.x,this.y-t.y)}multiply(t){return new $(this.x*t.x,this.y*t.y)}divide(t){return new $(this.x/t.x,this.y/t.y)}round(t=0){return new $(m(this.x,t),m(this.y,t))}toString(){return `(${this.x},${this.y})`}static canParse(e){return t.isArray(e)?!(Number.isNaN(e[0])||Number.isNaN(e[1])):t.isObjectLiteral(e)&&"x"in e&&"y"in e?!(Number.isNaN(e.x)||Number.isNaN(e.y)):e instanceof $}static parse(e){return t.exists(e)?e instanceof $?e:t.isArray(e)?new $(e[0],e[1]):t.isObjectLiteral(e)&&t.exists(e.x)&&t.exists(e.y)?new $(e.x,e.y):null:null}static tryParse(t){return h((()=>$.parse(t)),null)}}class F extends ${constructor(t=0,e=0){super(t,e),this._lengthSquared=Math.pow(t,2)+Math.pow(e,2),this._magnitude=Math.sqrt(this._lengthSquared),this._unitNormalX=0===t&&0===e?0:t/this._magnitude,this._unitNormalY=0===t&&0===e?0:e/this._magnitude;}get magnitude(){return this._magnitude}get isZero(){return 0===this.x&&0===this.y}get normal(){return new F(this._unitNormalX,this._unitNormalY)}get invert(){return new F(-this.x,-this.y)}get norm(){return new F(Math.abs(this.x),Math.abs(this.y))}get perpendicular(){return new F(-this.y,this.x)}equals(t){return t instanceof F&&this.x===t.x&&this.y===t.y}add(t){return t instanceof F?new F(this.x+t.x,this.y+t.y):null}dot(t){return t instanceof F?this.x*t.x+this.y*t.y:null}perpendicularAtTo(t){if(!(t instanceof F))return null;const e=t.add(this.projectionOfOnto(t).invert);return new F(e.x,e.y)}projectionOfOnto(t){if(!(t instanceof F))return null;const e=t.normal.scale(this.dot(t.normal));return new F(e.x,e.y)}scale(t){return new F(this.x*t,this.y*t)}unitNormalDot(t){return t instanceof F?this.normal.x*t.normal.x+this.normal.y*t.normal.y:null}reflect(t){if(!(t instanceof F))return null;if(t.isZero)return this;const e=t.normal;return this.add(e.scale(2*e.dot(this)).invert)}round(t=0){return new F(m(this.x,t),m(this.y,t))}}class O extends ${constructor(t,e){super(t,e);}isAbove(t){return this.y<t.y}isBelow(t){return this.y>t.y}isLeftOf(t){return this.x<t.x}isRightOf(t){return this.x>t.x}distanceFrom(t){return new F(this.x-t.x,this.y-t.y)}distanceTo(t){return this.distanceFrom(t).invert}static canParse(t){return t instanceof O||$.canParse(t)}static parse(t){if(t instanceof O)return t;const e=$.parse(t);return new O(e.x,e.y)}static tryParse(t){return h((()=>O.parse(t)),null)}}class M{constructor(t=0,e=0,r=0,i=0){this.origin=new O(t,e),this.dimensions=new $(r,i),this.diagonal=O.parse(this.origin.add(this.dimensions)),this.center=this.diagonal.half;}contains(t){return this.origin.isAbove(t)&&this.origin.isLeftOf(t)&&this.diagonal.isRightOf(t)&&this.diagonal.isBelow(t)}aspectToFit(t){const e=this.dimensions,r=t.dimensions,i=r.x,s=r.y;let n=e.x,a=e.y;return n>a&&0!==n?(a*=i/n,n=i,a>s&&(a=s,n*=a/e.y)):a>s&&(n*=s/a,a=s),new M(this.origin.x,this.origin.y,n,a)}}class B{constructor(){if(this.constructor===B)throw new Error("Cannot instantiate abstract class: AbstractSpecification")}and(t){return new E(this,t)}or(t){return new I(this,t)}xor(t){return new D(this,t)}not(t){return new T(this,t)}isSatisfiedBy(){throw new Error("Abstract method must be implemented.")}}class E extends B{constructor(t,e){super(),this._specificationA=t,this._specificationB=e;}isSatisfiedBy(t){return this._specificationA.isSatisfiedBy(t)&&this._specificationB.isSatisfiedBy(t)}}class I extends B{constructor(t,e){super(),this._specificationA=t,this._specificationB=e;}isSatisfiedBy(t){return this._specificationA.isSatisfiedBy(t)||this._specificationB.isSatisfiedBy(t)}}class D extends B{constructor(t,e){super(),this._specificationA=t,this._specificationB=e;}isSatisfiedBy(t){return !this._specificationA.isSatisfiedBy(t)!=!this._specificationB.isSatisfiedBy(t)}}class T extends B{constructor(t){super(),this._specification=t;}isSatisfiedBy(t){return !this._specification.isSatisfiedBy(t)}}class P{constructor(){if(this.constructor===P)throw new Error("Cannot instantiate abstract class.")}execute(){throw new Error("Abstract method must be implemented.")}}var j=(t,e,r=!1)=>{let i;return (...s)=>{const n=r&&!i;clearTimeout(i),i=setTimeout((()=>{i=null,r||t(...s);}),e),n&&t(...s);}},z=(e,r)=>t.isPromise(e)||t.isAsyncFunction(e)?t.isFunction(e.then)?e.then((t=>t&&r())):e().then((t=>t&&r())):t.isFunction(e)&&e?e()&&r():t.isTrue(e)&&r();class L{_milliseconds;_intervalId;_didInterval;constructor(t){this._milliseconds=t;}get isRunning(){return t.exists(this._intervalId)}onInterval(t){return this.clear(),this._didInterval=t,this}start(){return this.clear(),this._intervalId=setInterval((()=>{this._didInterval();}),this._milliseconds),this}clear(){return clearInterval(this._intervalId),this._intervalId=null,this}}var q=t=>setTimeout(t,0);class C{_milliseconds;_timeoutId;_didTimeout;constructor(t){this._milliseconds=t;}get isRunning(){return t.exists(this._timeoutId)}onTimeout(t){return this.clear(),this._didTimeout=t,this}start(){return this.clear(),this._timeoutId=setTimeout((()=>{this._didTimeout();}),this._milliseconds),this}clear(){return clearTimeout(this._timeoutId),this._timeoutId=null,this}}var Y=t=>new Promise((e=>setTimeout(e,t)));function k(t){const e=isNaN(parseInt(t))||t<0||t>24?24:t,r=Math.random().toString().substring(2),i=Math.random().toString().substring(2);return r.concat(i).substring(0,e)}function Z(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}var R=Object.freeze({__proto__:null,uid:k,uuid:Z,suid:function(){return Symbol(k())},suuid:function(){return Symbol(Z())}});var U=Object.freeze({__proto__:null,pattern:t=>t.toString().replace(/(^\/)|(\/$)/g,"").replace(/\\/g,"\\"),escape:t=>t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),alpha:/^[A-z]+$/,alphaNumeric:/^[A-z0-9]+$/,base64:/^[A-z0-9=]+$/,dataUrl:/^\s*data:([a-z]+\/[a-z0-9+-]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,[a-z0-9!$&',()*+;=._~:@/?%\s-]*\s*$/i,email:/^\w+([.\w-+]+)?@\w+([.\w-]+)?\.[A-Za-z0-9]{2,}$/,empty:/^$/,numeric:/^-?[0-9]+$/,script:/(<script[A-z0-9\n\s\t\r.={([\])}'",;!&|$/_:<>*?+\u0000-\u0037\u00C2\u00A0\u2122-]*?<\/script>)/,uid:/^\d{14,}$/i,url:/^(https?:\/\/)?[^{}\\:]+\.[A-z0-9]{2,12}(\/[^?\s]+)*\/?(\?([^=?_]+=[^=?_]*(&[^=?_]+=[^=?_]*)*(_.*)?)?)?$/,uuid:/^[{(]?[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$/i});
4
-
5
- exports.C = C;
6
- exports.L = L;
7
- exports.M = M;
8
- exports.R = R;
9
- exports.Y = Y;
10
- exports.a = a;
11
- exports.c = c;
12
- exports.j = j;
13
- exports.o = o;
14
- exports.t = t;
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- class t{static isNull(e){return null===e}static isEmpty(e){return t.isString(e)&&""===e||t.isArray(e)&&e.length<1||t.isObjectLiteral(e)&&Object.keys(e).length<1}static isUndefined(e){return void 0===e}static isZero(e){return 0===e}static exists(e){return !(t.isUndefined(e)||t.isNull(e))}static isNullOrEmpty(e){return !t.exists(e)||t.isEmpty(e)}static isArray(e){return Array.isArray(e)}static isBool(e){return "boolean"==typeof e}static isTrue(e){return t.isBool(e)&&!0===e}static isFalse(e){return t.isBool(e)&&!1===e}static isDate(e){return e instanceof Date}static isNumber(e){return ("number"==typeof e||e instanceof Number)&&!isNaN(e)}static isEven(e){return this.isNumber(e)&&!this.isZero(e)&&e%2==0}static isOdd(e){return this.isNumber(e)&&!this.isZero(e)&&!this.isEven(e)}static isString(e){return "string"==typeof e||e instanceof String}static isFunction(e){return e instanceof Function}static isAsyncFunction(e){try{return "AsyncFunction"===Object.getPrototypeOf(e).constructor.name||t.isFunction(e)&&/^async/.test(e.toString())||t.isFunction(e().then)}catch(e){return !1}}static isPromise(e){return e instanceof Promise}static isObject(e){return t.exists(e)&&"object"==typeof e&&!(t.isBool(e)||t.isNumber(e)||t.isDate(e)||t.isArray(e)||t.isString(e)||t.isFunction(e))}static isObjectLiteral(e){return t.isObject(e)&&e.constructor==={}.constructor}static isTruthy(e){return !t.isFalsy(e)}static isFalsy(e){return t.isZero(e)||t.isFalse(e)||t.isNullOrEmpty(e)||isNaN(e)}}function e(...e){return "".concat(...e)}function r(e,...t){return t.reduce(((e,t,r)=>e.replace(new RegExp(`\\{${r}\\}`,"g"),t&&t.toString?t.toString():t)),e)}function i(e){return s(n(e))}function s(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/^[\s\n]*/,""):e}function n(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/[\s\n]*$/,""):e}Object.freeze({__proto__:null,build:e,chunk:function(e,r=0){if(!t.isString(e)||Number.isNaN(r)||r<0)return [];if(r<e.length){let t=0;const n=r||e.length,s=[];for(;t<e.length;)s.push(e.slice(t,t+n)),t+=n;return s}return [e]},format:r,trim:i,trimStart:s,trimEnd:n,capitalize:function(e=""){return (e||"").charAt(0).toUpperCase()+(e||"").slice(1).toLowerCase()},mask:function(e,r,n="_"){return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t)=>e.replace(new RegExp(n),t)),r)},unmask:function(e,r,n="_"){const s=new RegExp(n);return t.isFunction(r)?r(e):t.isString(r)&&e.length===r.length&&r.split("").every(((t,r)=>s.test(t)||t===e.charAt(r)))?e.split("").reduce(((e,t,n)=>s.test(t)||!s.test(r.charAt(n))&&r.charAt(n)===t?e:e+t),""):e}});function h(e,t){try{return e()}catch{return t}}let l;h.async=async(e,t)=>{try{return await e()}catch{return t}};class d{constructor(e,t,r){if(t<1||t>12)throw new Error("Invalid month at Assert.DayPoint");if(r<1||r>y(t,e))throw new Error("Invalid date at DayPoint");this._value=arguments.length>=3?new Date(e,t-1,r):new Date,this._day=this._value.getDay(),this._date=r,this._month=t,this._year=e;}get value(){return this._value}get day(){return this._day}get date(){return this._date}get month(){return this._month}get year(){return this._year}get shortYear(){const e=this._year.toString();return parseInt(e.substr(e.length-2))}get isWeekday(){const e=this._day;return e>0&&e<6}get isWeekend(){return !this.isWeekday}get isLeapYear(){return f(this._year)}get nextDay(){return p(this,1,0,0)}get prevDay(){return p(this,-1,0,0)}get nextMonth(){return p(this,0,1,0)}get prevMonth(){return p(this,0,-1,0)}get nextYear(){return p(this,0,0,1)}get prevYear(){return p(this,0,0,-1)}get firstDayOfMonth(){return new d(this._year,this._month,1)}get lastDayOfMonth(){return new d(this._year,this._month,y(this._month,this._year))}add(e,t,r){function n(e,t,r){let n=e,s=t;for(;s--;)n=n[r];return n}const{abs:s}=Math,o=s(e),i=s(r),a=s(t),c=r<0?"prevDay":"nextDay",u=t<0?"prevMonth":"nextMonth";return n(n(n(this,o,e<0?"prevYear":"nextYear"),a,u),i,c)}isBefore(e){return !(this.isAfter(e)||this.equals(e))}isAfter(e){const t=this._year,r=e.year,n=this._month,s=e.month;return t>r||t===r&&n>s||t===r&&n===s&&this._date>e.date}equals(e){return this._year===e.year&&this._month===e.month&&this._date===e.date}toString(e="mm/dd/yyyy"){const t=/y{3,}/i.test(e)?this._year:this.shortYear,n=this._month,s=this._date,o=/m{2}/i.test(e)&&n<10?"0{1}":"{1}",i=/d{2}/i.test(e)&&s<10?"0{2}":"{2}";return r(e.replace(/y+/gi,"{0}").replace(/m+/gi,o).replace(/d+/gi,i),t,n,s)}toDate(){return this._value}toJson(){return this._value.toJSON()}static canParse(e){return t.isString(e)||t.isNumber(e)||t.isDate(e)?!isNaN(new Date(e).valueOf()):e instanceof d}static parse(e){if(e instanceof d)return e;let n=t.isString(e)?i(e).replace(/T\d{2}:\d{2}:\d{2}(.\d+)?Z/,""):e;if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(n)){const e=n.split("-"),[t]=e;e.push(t),e.shift(),n=e.join("/");}const s=new Date(n);if(!t.exists(n)||Number.isNaN(s.valueOf()))throw new Error(r("Cannot parse value= {0}",n));return new d(s.getFullYear(),s.getMonth()+1,s.getDate())}static tryParse(e){return h((()=>d.parse(e)),null)}static assumeNow(e){l=d.parse(e);}static get today(){return l||d.parse(new Date)}}function y(e,r){return 2===e?f(r)?29:28:e<8&&t.isEven(e)||e>7&&t.isOdd(e)?30:31}function f(t){const r=t.toString().split(/\B/);return parseFloat(e(r[r.length-2],r[r.length-1]))%4==0}function p(e,t,r,n){const s=e.month,o=e.year,i=e.date,a=r,c=n;let u=i+t,l=s+a,h=o+c;if(i+t>y(s,o)&&(u=1,l=s+a+1),i+t<1){const t=e.prevMonth;u=y(t.month,t.year),l=s+a-1;}return l>12&&(l=1,h=o+c+1),l<1&&(l=12,h=o+c-1),new d(h,l,u)}function m(e,t=0){const r=Math.pow(10,-t);return Math.round(parseFloat((e*r).toFixed(Math.abs(t))))/r}function g(e,t=0){return m(e+5*Math.pow(10,t-1),t)}function _(e,t=0){return 0===e?0:m(e-5*Math.pow(10,t-1),t)}function w(e,t=0){return e<0?g(e,t):_(e,t)}function x(e){const t=(e,r=0,n=1)=>0<e?t(--e,n,r+n):r;return t(e)}function v(e){let t=0,r=1,n=0;for(;e>1;)n=t,t=r,r+=n,e--;return e<1?t:r}function b(e,t=0){const r=parseInt(e);return Number.isNaN(r)?t:r}Object.freeze({__proto__:null,random:function(e=0,t=1){return Math.random()*(t-e)+e},round:m,roundUp:g,roundDown:_,roundTowardZero:w,gcd:function e(t,r){return 0===r?Math.abs(t):e(r,t%r)},fib:x,fib2:v,fibArray:function(e){return Array(e).fill(0).map((()=>x(--e))).reverse()},fib2Array:function(e){return Array(e).fill(0).map((()=>v(--e))).reverse()},tryParseInt:b,tryParseFloat:function(e,t=0){const r=parseFloat(e);return Number.isNaN(r)?t:r}});class ${constructor(e=0,r=0){if(!t.isNumber(e)||!t.isNumber(r))throw new Error("Coord requires numeric x and y values");this._x=e,this._y=r;}get x(){return this._x}get y(){return this._y}get value(){return {x:this.x,y:this.y}}get half(){return this.divide(new $(2,2))}get abs(){return new $(Math.abs(this.x),Math.abs(this.y))}equals(e){return this.x===e.x&&this.y===e.y}add(e){return new $(this.x+e.x,this.y+e.y)}subtract(e){return new $(this.x-e.x,this.y-e.y)}multiply(e){return new $(this.x*e.x,this.y*e.y)}divide(e){return new $(this.x/e.x,this.y/e.y)}round(e=0){return new $(m(this.x,e),m(this.y,e))}toString(){return `(${this.x},${this.y})`}static canParse(e){return t.isArray(e)?!(Number.isNaN(e[0])||Number.isNaN(e[1])):t.isObjectLiteral(e)&&"x"in e&&"y"in e?!(Number.isNaN(e.x)||Number.isNaN(e.y)):e instanceof $}static parse(e){return t.exists(e)?e instanceof $?e:t.isArray(e)?new $(e[0],e[1]):t.isObjectLiteral(e)&&t.exists(e.x)&&t.exists(e.y)?new $(e.x,e.y):null:null}static tryParse(e){return h((()=>$.parse(e)),null)}}class F extends ${constructor(e=0,t=0){super(e,t),this._lengthSquared=Math.pow(e,2)+Math.pow(t,2),this._magnitude=Math.sqrt(this._lengthSquared),this._unitNormalX=0===e&&0===t?0:e/this._magnitude,this._unitNormalY=0===e&&0===t?0:t/this._magnitude;}get magnitude(){return this._magnitude}get isZero(){return 0===this.x&&0===this.y}get normal(){return new F(this._unitNormalX,this._unitNormalY)}get invert(){return new F(-this.x,-this.y)}get norm(){return new F(Math.abs(this.x),Math.abs(this.y))}get perpendicular(){return new F(-this.y,this.x)}equals(e){return e instanceof F&&this.x===e.x&&this.y===e.y}add(e){return e instanceof F?new F(this.x+e.x,this.y+e.y):null}dot(e){return e instanceof F?this.x*e.x+this.y*e.y:null}perpendicularAtTo(e){if(!(e instanceof F))return null;const t=e.add(this.projectionOfOnto(e).invert);return new F(t.x,t.y)}projectionOfOnto(e){if(!(e instanceof F))return null;const t=e.normal.scale(this.dot(e.normal));return new F(t.x,t.y)}scale(e){return new F(this.x*e,this.y*e)}unitNormalDot(e){return e instanceof F?this.normal.x*e.normal.x+this.normal.y*e.normal.y:null}reflect(e){if(!(e instanceof F))return null;if(e.isZero)return this;const t=e.normal;return this.add(t.scale(2*t.dot(this)).invert)}round(e=0){return new F(m(this.x,e),m(this.y,e))}}class O extends ${constructor(e,t){super(e,t);}isAbove(e){return this.y<e.y}isBelow(e){return this.y>e.y}isLeftOf(e){return this.x<e.x}isRightOf(e){return this.x>e.x}distanceFrom(e){return new F(this.x-e.x,this.y-e.y)}distanceTo(e){return this.distanceFrom(e).invert}static canParse(e){return e instanceof O||$.canParse(e)}static parse(e){if(e instanceof O)return e;const t=$.parse(e);return new O(t.x,t.y)}static tryParse(e){return h((()=>O.parse(e)),null)}}function k(e){const t=isNaN(parseInt(e))||e<0||e>24?24:e,r=Math.random().toString().substring(2),n=Math.random().toString().substring(2);return r.concat(n).substring(0,t)}function Z(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}var R=Object.freeze({__proto__:null,uid:k,uuid:Z,suid:function(){return Symbol(k())},suuid:function(){return Symbol(Z())}});Object.freeze({__proto__:null,pattern:e=>e.toString().replace(/(^\/)|(\/$)/g,"").replace(/\\/g,"\\"),escape:e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),alpha:/^[A-z]+$/,alphaNumeric:/^[A-z0-9]+$/,base64:/^[A-z0-9=]+$/,dataUrl:/^\s*data:([a-z]+\/[a-z0-9+-]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,[a-z0-9!$&',()*+;=._~:@/?%\s-]*\s*$/i,email:/^\w+([.\w-+]+)?@\w+([.\w-]+)?\.[A-Za-z0-9]{2,}$/,empty:/^$/,numeric:/^-?[0-9]+$/,script:/(<script[A-z0-9\n\s\t\r.={([\])}'",;!&|$/_:<>*?+\u0000-\u0037\u00C2\u00A0\u2122-]*?<\/script>)/,uid:/^\d{14,}$/i,url:/^(https?:\/\/)?[^{}\\:]+\.[A-z0-9]{2,12}(\/[^?\s]+)*\/?(\?([^=?_]+=[^=?_]*(&[^=?_]+=[^=?_]*)*(_.*)?)?)?$/,uuid:/^[{(]?[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$/i});({name:R.uid(),expires:d.today.nextYear.toDate(),path:"/",domain:null,secure:!1});class Device{static get orientation(){const{screen:e}=window,t=(e.orientation||{}).type||e.mozOrientation||e.msOrientation,r=window.orientation;return t===Device.landscapePrimary||90===r?Device.landscapePrimary:t===Device.landscapeSecondary||-90===r?Device.landscapeSecondary:t===Device.portraitPrimary||0===r?Device.portraitPrimary:t===Device.portraitSecondary||180===r?Device.portraitSecondary:void 0}static get landscapePrimary(){return "landscape-primary"}static get landscapeSecondary(){return "landscape-secondary"}static get portraitPrimary(){return "portrait-primary"}static get portraitSecondary(){return "portrait-secondary"}static get isMobile(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(window.navigator.userAgent)}}const onPreventScroll=new Set,onResumeScroll=new Set;let scroll,lastPageYOffset,lastPageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1;class Document{static get scrollbarWidth(){return window.innerWidth-document.documentElement.clientWidth}static get isScrollPrevented(){return t.exists(Document.scrollY)}static preventScroll(){try{onPreventScroll.forEach((e=>e()));}catch(e){}Document.position=document.body.style.position,Document.offsetY=document.body.style.top,Document.offsetX=document.body.style.left,Document.width=document.body.style.width,Document.height=document.body.style.height,Document.documentWidth=document.documentElement.style.width,Document.documentWidth=document.documentElement.style.width,Document.documentHeight=document.documentElement.style.height,Document.overflowY=document.documentElement.style.overflowY,Document.scrollX=window.scrollX||window.pageXOffset,Document.scrollY=window.scrollY||window.pageYOffset;const{scrollbarWidth:e}=Document;document.body.style.position="fixed",document.body.style.left=`-${Document.scrollX}px`,document.body.style.top=`calc(-${Document.scrollY}px - ${window.getComputedStyle(document.body)["padding-top"]} - ${window.getComputedStyle(document.body)["margin-top"]})`,document.body.style.width=`calc(100vw - ${e}px - ${window.getComputedStyle(document.body)["padding-left"]} - ${window.getComputedStyle(document.body)["padding-right"]} - ${window.getComputedStyle(document.body)["margin-left"]} - ${window.getComputedStyle(document.body)["margin-right"]})`,document.documentElement.style.width="100wh",document.documentElement.style.height="100vh",document.documentElement.style.overflowY=e&&"scroll";}static resumeScroll(){try{onResumeScroll.forEach((e=>e()));}catch(e){}document.body.style.position=Document.position,document.body.style.top=Document.offsetY,document.body.style.left=Document.offsetX,document.body.style.width=Document.width,document.body.style.height=Document.height,document.documentElement.style.width=Document.documentWidth,document.documentElement.style.height=Document.documentHeight,document.documentElement.style.overflowY=Document.overflowY,window.scrollTo(Document.scrollX,Document.scrollY),Document.position=null,Document.offsetY=null,Document.offsetX=null,Document.width=null,Document.height=null,Document.documentWidth=null,Document.documentHeight=null,Document.overflowY=null,Document.scrollX=null,Document.scrollY=null;}static onPreventScroll(e){onPreventScroll.add(e);}static onResumeScroll(e){onResumeScroll.add(e);}static get scroll(){return scroll||(scroll=new Scroll,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,window.addEventListener("unload",(()=>scroll.unload()))),scroll}}const updateScrollValue=()=>{const e=window.pageYOffset,t=window.pageXOffset;scrollIsDown=e>lastPageYOffset,scrollIsUp=e<lastPageYOffset,scrollIsRight=t>lastPageXOffset,scrollIsLeft=t<lastPageXOffset,lastPageYOffset=e||window.pageYOffset,lastPageXOffset=t||window.pageXOffset;};class Scroll{constructor(){document.addEventListener("scroll",updateScrollValue,{passive:!0});}get down(){return scrollIsDown}get up(){return scrollIsUp}get left(){return scrollIsLeft}get right(){return scrollIsRight}unload(){document.removeEventListener("scroll",updateScrollValue),scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scroll=null;}}class Event{static mute(e){return !!t.exists(e)&&(t.isFunction(e.preventDefault)&&e.preventDefault(),t.isFunction(e.stopPropagation)&&e.stopPropagation(),t.isFunction(e.stopImmediatePropagation)&&e.stopImmediatePropagation(),t.exists(e.cancelBubble)&&(e.cancelBubble=!0),!1)}}const readFieldNames=e=>{const t=e.getAttribute("id"),r=[...e.querySelectorAll("[name]")].map((e=>e.name)),n=t?[...document.querySelectorAll(`[form="${t}"]`)].map((e=>e.name)):[];return [...r,...n]},readData=e=>new window.FormData(e),read=e=>{const r={};try{readData(e).forEach(((e,n)=>{const s=r[n];t.isArray(s)?r[n].push(e):t.exists(s)?r[n]=[r[n],e]:r[n]=e;}));}catch(t){[...e.elements].forEach((e=>{const{name:t,type:n,value:s,files:o}=e;if("file"===n)r[t]=o[0];else if("checkbox"===n||"radio"===n)e.checked&&(r[t]=s);else if(e.multiple){const n=[];e.querySelectorAll("option").forEach((e=>e.selected&&n.push(e.value))),r[t]=n.length<2?n[0]:n;}else r[t]=s;}));}return r},readJson=e=>JSON.stringify(read(e)),write=(e,r)=>{[...e.elements].forEach((e=>{/^select$/i.test(e.nodeName)?t.isArray(r[e.name])?[...e.options].forEach((t=>{t.selected=r[e.name].indexOf(t.value)>=0;})):t.exists(r[e.name])&&(e.value=r[e.name]):t.exists(r[e.name])&&("checkbox"===e.type||"radio"===e.type?e.checked=r[e.name]===e.value:e.value=r[e.name]);}));};var index={readFieldNames:readFieldNames,read:read,readData:readData,readJson:readJson,write:write};class Key{constructor(e,t,r={}){this.key=e,this.msKey=t||e,this.altKey=r.altKey||!1,this.ctrlKey=r.ctrlKey||!1,this.metaKey=r.metaKey||!1,this.shiftKey=r.shiftKey||!1;}get alt(){const{key:e,msKey:t,ctrlKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:!0,ctrlKey:r,metaKey:n,shiftKey:s})}get ctrl(){const{key:e,msKey:t,altKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:!0,metaKey:n,shiftKey:s})}get meta(){const{key:e,msKey:t,altKey:r,ctrlKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:!0,shiftKey:s})}get shift(){const{key:e,msKey:t,altKey:r,ctrlKey:n,metaKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:s,shiftKey:!0})}equals(e){return e instanceof Key&&this.altKey===e.altKey&&this.ctrlKey===e.ctrlKey&&this.metaKey===e.metaKey&&this.shiftKey===e.shiftKey&&(this.key===e.key||this.msKey===e.msKey)}didFire(e){const{code:t,key:r,altKey:n,ctrlKey:s,metaKey:o,shiftKey:i}=e,a="Dead"===r?t:r;return e&&("ANY"===this.key||this.equals(new Key(a,a,{altKey:n,ctrlKey:s,metaKey:o,shiftKey:i})))}static get press(){return "keypress"}static get down(){return "keydown"}static get up(){return "keyup"}static get any(){return new Key("ANY")}static get esc(){return new Key("Escape","Esc")}static get enter(){return new Key("Enter")}static get space(){return new Key(" ","Spacebar")}static get tab(){return new Key("Tab")}static get left(){return new Key("ArrowLeft","Left")}static get right(){return new Key("ArrowRight","Right")}}class Swipe{constructor(e,t=0){this.didTouchStart=this.didTouchStart.bind(this),this.didTouchEnd=this.didTouchEnd.bind(this),this.didTouchMove=this.didTouchMove.bind(this),e.addEventListener("touchstart",this.didTouchStart,{capture:!1,passive:!0}),e.addEventListener("touchend",this.didTouchEnd,{capture:!1,passive:!0}),e.addEventListener("touchmove",this.didTouchMove,{capture:!1,passive:!0}),this.element=e,this.tolerance=t,this.didSwipeLeft=()=>{},this.didSwipeRight=()=>{},this.didMove=()=>{};}onLeft(e){return this.didSwipeLeft=e,this}onRight(e){return this.didSwipeRight=e,this}onMove(e){return this.didMove=e,this}destroy(){const{element:e}=this;return e.removeEventListener("touchstart",this.didTouchStart,{capture:!1}),e.removeEventListener("touchend",this.didTouchEnd,{capture:!1}),e.removeEventListener("touchmove",this.didTouchMove,{capture:!1}),this}didTouchStart({touches:[e]}){this.touchStartPoint=new O(e.pageX,e.pageY);}didTouchEnd(e){const[t]=e.changedTouches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);n.isLeftOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeLeft(e),n.isRightOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeRight(e);}didTouchMove(e){const[t]=e.touches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);this.didMove({distance:n.distanceFrom(r),up:n.isAbove(r),down:n.isBelow(r),left:n.isLeftOf(r),right:n.isRightOf(r)});}}
4
-
5
- exports.Device = Device;
6
- exports.Document = Document;
7
- exports.Event = Event;
8
- exports.Key = Key;
9
- exports.Swipe = Swipe;
10
- exports.index = index;
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- class t{static isNull(e){return null===e}static isEmpty(e){return t.isString(e)&&""===e||t.isArray(e)&&e.length<1||t.isObjectLiteral(e)&&Object.keys(e).length<1}static isUndefined(e){return void 0===e}static isZero(e){return 0===e}static exists(e){return !(t.isUndefined(e)||t.isNull(e))}static isNullOrEmpty(e){return !t.exists(e)||t.isEmpty(e)}static isArray(e){return Array.isArray(e)}static isBool(e){return "boolean"==typeof e}static isTrue(e){return t.isBool(e)&&!0===e}static isFalse(e){return t.isBool(e)&&!1===e}static isDate(e){return e instanceof Date}static isNumber(e){return ("number"==typeof e||e instanceof Number)&&!isNaN(e)}static isEven(e){return this.isNumber(e)&&!this.isZero(e)&&e%2==0}static isOdd(e){return this.isNumber(e)&&!this.isZero(e)&&!this.isEven(e)}static isString(e){return "string"==typeof e||e instanceof String}static isFunction(e){return e instanceof Function}static isAsyncFunction(e){try{return "AsyncFunction"===Object.getPrototypeOf(e).constructor.name||t.isFunction(e)&&/^async/.test(e.toString())||t.isFunction(e().then)}catch(e){return !1}}static isPromise(e){return e instanceof Promise}static isObject(e){return t.exists(e)&&"object"==typeof e&&!(t.isBool(e)||t.isNumber(e)||t.isDate(e)||t.isArray(e)||t.isString(e)||t.isFunction(e))}static isObjectLiteral(e){return t.isObject(e)&&e.constructor==={}.constructor}static isTruthy(e){return !t.isFalsy(e)}static isFalsy(e){return t.isZero(e)||t.isFalse(e)||t.isNullOrEmpty(e)||isNaN(e)}}function e(...e){return "".concat(...e)}function r(e,...t){return t.reduce(((e,t,r)=>e.replace(new RegExp(`\\{${r}\\}`,"g"),t&&t.toString?t.toString():t)),e)}function i(e){return s(n(e))}function s(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/^[\s\n]*/,""):e}function n(e){return t.exists(e)&&t.isFunction(e.replace)?e.replace(/[\s\n]*$/,""):e}var a=Object.freeze({__proto__:null,build:e,chunk:function(e,r=0){if(!t.isString(e)||Number.isNaN(r)||r<0)return [];if(r<e.length){let t=0;const n=r||e.length,s=[];for(;t<e.length;)s.push(e.slice(t,t+n)),t+=n;return s}return [e]},format:r,trim:i,trimStart:s,trimEnd:n,capitalize:function(e=""){return (e||"").charAt(0).toUpperCase()+(e||"").slice(1).toLowerCase()},mask:function(e,r,n="_"){return t.isFunction(r)?r(e):t.isString(r)&&e.split("").reduce(((e,t)=>e.replace(new RegExp(n),t)),r)},unmask:function(e,r,n="_"){const s=new RegExp(n);return t.isFunction(r)?r(e):t.isString(r)&&e.length===r.length&&r.split("").every(((t,r)=>s.test(t)||t===e.charAt(r)))?e.split("").reduce(((e,t,n)=>s.test(t)||!s.test(r.charAt(n))&&r.charAt(n)===t?e:e+t),""):e}});function h(e,t){try{return e()}catch{return t}}let l;h.async=async(e,t)=>{try{return await e()}catch{return t}};class d{constructor(e,t,r){if(t<1||t>12)throw new Error("Invalid month at Assert.DayPoint");if(r<1||r>y(t,e))throw new Error("Invalid date at DayPoint");this._value=arguments.length>=3?new Date(e,t-1,r):new Date,this._day=this._value.getDay(),this._date=r,this._month=t,this._year=e;}get value(){return this._value}get day(){return this._day}get date(){return this._date}get month(){return this._month}get year(){return this._year}get shortYear(){const e=this._year.toString();return parseInt(e.substr(e.length-2))}get isWeekday(){const e=this._day;return e>0&&e<6}get isWeekend(){return !this.isWeekday}get isLeapYear(){return f(this._year)}get nextDay(){return p(this,1,0,0)}get prevDay(){return p(this,-1,0,0)}get nextMonth(){return p(this,0,1,0)}get prevMonth(){return p(this,0,-1,0)}get nextYear(){return p(this,0,0,1)}get prevYear(){return p(this,0,0,-1)}get firstDayOfMonth(){return new d(this._year,this._month,1)}get lastDayOfMonth(){return new d(this._year,this._month,y(this._month,this._year))}add(e,t,r){function n(e,t,r){let n=e,s=t;for(;s--;)n=n[r];return n}const{abs:s}=Math,o=s(e),i=s(r),a=s(t),c=r<0?"prevDay":"nextDay",u=t<0?"prevMonth":"nextMonth";return n(n(n(this,o,e<0?"prevYear":"nextYear"),a,u),i,c)}isBefore(e){return !(this.isAfter(e)||this.equals(e))}isAfter(e){const t=this._year,r=e.year,n=this._month,s=e.month;return t>r||t===r&&n>s||t===r&&n===s&&this._date>e.date}equals(e){return this._year===e.year&&this._month===e.month&&this._date===e.date}toString(e="mm/dd/yyyy"){const t=/y{3,}/i.test(e)?this._year:this.shortYear,n=this._month,s=this._date,o=/m{2}/i.test(e)&&n<10?"0{1}":"{1}",i=/d{2}/i.test(e)&&s<10?"0{2}":"{2}";return r(e.replace(/y+/gi,"{0}").replace(/m+/gi,o).replace(/d+/gi,i),t,n,s)}toDate(){return this._value}toJson(){return this._value.toJSON()}static canParse(e){return t.isString(e)||t.isNumber(e)||t.isDate(e)?!isNaN(new Date(e).valueOf()):e instanceof d}static parse(e){if(e instanceof d)return e;let n=t.isString(e)?i(e).replace(/T\d{2}:\d{2}:\d{2}(.\d+)?Z/,""):e;if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(n)){const e=n.split("-"),[t]=e;e.push(t),e.shift(),n=e.join("/");}const s=new Date(n);if(!t.exists(n)||Number.isNaN(s.valueOf()))throw new Error(r("Cannot parse value= {0}",n));return new d(s.getFullYear(),s.getMonth()+1,s.getDate())}static tryParse(e){return h((()=>d.parse(e)),null)}static assumeNow(e){l=d.parse(e);}static get today(){return l||d.parse(new Date)}}function y(e,r){return 2===e?f(r)?29:28:e<8&&t.isEven(e)||e>7&&t.isOdd(e)?30:31}function f(t){const r=t.toString().split(/\B/);return parseFloat(e(r[r.length-2],r[r.length-1]))%4==0}function p(e,t,r,n){const s=e.month,o=e.year,i=e.date,a=r,c=n;let u=i+t,l=s+a,h=o+c;if(i+t>y(s,o)&&(u=1,l=s+a+1),i+t<1){const t=e.prevMonth;u=y(t.month,t.year),l=s+a-1;}return l>12&&(l=1,h=o+c+1),l<1&&(l=12,h=o+c-1),new d(h,l,u)}function m(e,t=0){const r=Math.pow(10,-t);return Math.round(parseFloat((e*r).toFixed(Math.abs(t))))/r}function g(e,t=0){return m(e+5*Math.pow(10,t-1),t)}function _(e,t=0){return 0===e?0:m(e-5*Math.pow(10,t-1),t)}function w(e,t=0){return e<0?g(e,t):_(e,t)}function x(e){const t=(e,r=0,n=1)=>0<e?t(--e,n,r+n):r;return t(e)}function v(e){let t=0,r=1,n=0;for(;e>1;)n=t,t=r,r+=n,e--;return e<1?t:r}function b(e,t=0){const r=parseInt(e);return Number.isNaN(r)?t:r}var N=Object.freeze({__proto__:null,random:function(e=0,t=1){return Math.random()*(t-e)+e},round:m,roundUp:g,roundDown:_,roundTowardZero:w,gcd:function e(t,r){return 0===r?Math.abs(t):e(r,t%r)},fib:x,fib2:v,fibArray:function(e){return Array(e).fill(0).map((()=>x(--e))).reverse()},fib2Array:function(e){return Array(e).fill(0).map((()=>v(--e))).reverse()},tryParseInt:b,tryParseFloat:function(e,t=0){const r=parseFloat(e);return Number.isNaN(r)?t:r}});class ${constructor(e=0,r=0){if(!t.isNumber(e)||!t.isNumber(r))throw new Error("Coord requires numeric x and y values");this._x=e,this._y=r;}get x(){return this._x}get y(){return this._y}get value(){return {x:this.x,y:this.y}}get half(){return this.divide(new $(2,2))}get abs(){return new $(Math.abs(this.x),Math.abs(this.y))}equals(e){return this.x===e.x&&this.y===e.y}add(e){return new $(this.x+e.x,this.y+e.y)}subtract(e){return new $(this.x-e.x,this.y-e.y)}multiply(e){return new $(this.x*e.x,this.y*e.y)}divide(e){return new $(this.x/e.x,this.y/e.y)}round(e=0){return new $(m(this.x,e),m(this.y,e))}toString(){return `(${this.x},${this.y})`}static canParse(e){return t.isArray(e)?!(Number.isNaN(e[0])||Number.isNaN(e[1])):t.isObjectLiteral(e)&&"x"in e&&"y"in e?!(Number.isNaN(e.x)||Number.isNaN(e.y)):e instanceof $}static parse(e){return t.exists(e)?e instanceof $?e:t.isArray(e)?new $(e[0],e[1]):t.isObjectLiteral(e)&&t.exists(e.x)&&t.exists(e.y)?new $(e.x,e.y):null:null}static tryParse(e){return h((()=>$.parse(e)),null)}}class F extends ${constructor(e=0,t=0){super(e,t),this._lengthSquared=Math.pow(e,2)+Math.pow(t,2),this._magnitude=Math.sqrt(this._lengthSquared),this._unitNormalX=0===e&&0===t?0:e/this._magnitude,this._unitNormalY=0===e&&0===t?0:t/this._magnitude;}get magnitude(){return this._magnitude}get isZero(){return 0===this.x&&0===this.y}get normal(){return new F(this._unitNormalX,this._unitNormalY)}get invert(){return new F(-this.x,-this.y)}get norm(){return new F(Math.abs(this.x),Math.abs(this.y))}get perpendicular(){return new F(-this.y,this.x)}equals(e){return e instanceof F&&this.x===e.x&&this.y===e.y}add(e){return e instanceof F?new F(this.x+e.x,this.y+e.y):null}dot(e){return e instanceof F?this.x*e.x+this.y*e.y:null}perpendicularAtTo(e){if(!(e instanceof F))return null;const t=e.add(this.projectionOfOnto(e).invert);return new F(t.x,t.y)}projectionOfOnto(e){if(!(e instanceof F))return null;const t=e.normal.scale(this.dot(e.normal));return new F(t.x,t.y)}scale(e){return new F(this.x*e,this.y*e)}unitNormalDot(e){return e instanceof F?this.normal.x*e.normal.x+this.normal.y*e.normal.y:null}reflect(e){if(!(e instanceof F))return null;if(e.isZero)return this;const t=e.normal;return this.add(t.scale(2*t.dot(this)).invert)}round(e=0){return new F(m(this.x,e),m(this.y,e))}}class O extends ${constructor(e,t){super(e,t);}isAbove(e){return this.y<e.y}isBelow(e){return this.y>e.y}isLeftOf(e){return this.x<e.x}isRightOf(e){return this.x>e.x}distanceFrom(e){return new F(this.x-e.x,this.y-e.y)}distanceTo(e){return this.distanceFrom(e).invert}static canParse(e){return e instanceof O||$.canParse(e)}static parse(e){if(e instanceof O)return e;const t=$.parse(e);return new O(t.x,t.y)}static tryParse(e){return h((()=>O.parse(e)),null)}}function k(e){const t=isNaN(parseInt(e))||e<0||e>24?24:e,r=Math.random().toString().substring(2),n=Math.random().toString().substring(2);return r.concat(n).substring(0,t)}function Z(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}var R=Object.freeze({__proto__:null,uid:k,uuid:Z,suid:function(){return Symbol(k())},suuid:function(){return Symbol(Z())}});Object.freeze({__proto__:null,pattern:e=>e.toString().replace(/(^\/)|(\/$)/g,"").replace(/\\/g,"\\"),escape:e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),alpha:/^[A-z]+$/,alphaNumeric:/^[A-z0-9]+$/,base64:/^[A-z0-9=]+$/,dataUrl:/^\s*data:([a-z]+\/[a-z0-9+-]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,[a-z0-9!$&',()*+;=._~:@/?%\s-]*\s*$/i,email:/^\w+([.\w-+]+)?@\w+([.\w-]+)?\.[A-Za-z0-9]{2,}$/,empty:/^$/,numeric:/^-?[0-9]+$/,script:/(<script[A-z0-9\n\s\t\r.={([\])}'",;!&|$/_:<>*?+\u0000-\u0037\u00C2\u00A0\u2122-]*?<\/script>)/,uid:/^\d{14,}$/i,url:/^(https?:\/\/)?[^{}\\:]+\.[A-z0-9]{2,12}(\/[^?\s]+)*\/?(\?([^=?_]+=[^=?_]*(&[^=?_]+=[^=?_]*)*(_.*)?)?)?$/,uuid:/^[{(]?[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$/i});class Cookie{static serialize(e,r=defaultParams){try{if(t.isUndefined(e))throw new Error;const{name:n,expires:s,path:o,domain:i,secure:a}=Object.assign(defaultParams,r),c=kvPair(n,e),u=d.canParse(s)?kvPair("; expires",d.parse(s).toDate().toGMTString()):"",l=o?kvPair("; path",o.split("/").map((e=>encodeURIComponent(e))).join("/")):"",h=i?kvPair("; domain",encodeURIComponent(i)):"";return c+u+l+h+(a?"; secure":"")}catch(t){throw new Error(a.format("Cannot serialize {0}",e))}}static deserialize(e){try{return read$1(e)[1]}catch(t){throw new Error(a.format("Cannot deserialize {0}",e))}}static read(e){try{const[t,r]=read$1(e);return {name:t,value:r}}catch(t){throw new Error(a.format("Cannot read {0}",e))}}}const defaultParams={name:R.uid(),expires:d.today.nextYear.toDate(),path:"/",domain:null,secure:!1},kvPair=(e,t)=>`${e}=${t}`,read$1=e=>/;/.test(e)?e.substring(0,e.search(";")).split("="):e.split("=");class Device{static get orientation(){const{screen:e}=window,t=(e.orientation||{}).type||e.mozOrientation||e.msOrientation,r=window.orientation;return t===Device.landscapePrimary||90===r?Device.landscapePrimary:t===Device.landscapeSecondary||-90===r?Device.landscapeSecondary:t===Device.portraitPrimary||0===r?Device.portraitPrimary:t===Device.portraitSecondary||180===r?Device.portraitSecondary:void 0}static get landscapePrimary(){return "landscape-primary"}static get landscapeSecondary(){return "landscape-secondary"}static get portraitPrimary(){return "portrait-primary"}static get portraitSecondary(){return "portrait-secondary"}static get isMobile(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(window.navigator.userAgent)}}const onPreventScroll=new Set,onResumeScroll=new Set;let scroll,lastPageYOffset,lastPageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1;class Document{static get scrollbarWidth(){return window.innerWidth-document.documentElement.clientWidth}static get isScrollPrevented(){return t.exists(Document.scrollY)}static preventScroll(){try{onPreventScroll.forEach((e=>e()));}catch(e){}Document.position=document.body.style.position,Document.offsetY=document.body.style.top,Document.offsetX=document.body.style.left,Document.width=document.body.style.width,Document.height=document.body.style.height,Document.documentWidth=document.documentElement.style.width,Document.documentWidth=document.documentElement.style.width,Document.documentHeight=document.documentElement.style.height,Document.overflowY=document.documentElement.style.overflowY,Document.scrollX=window.scrollX||window.pageXOffset,Document.scrollY=window.scrollY||window.pageYOffset;const{scrollbarWidth:e}=Document;document.body.style.position="fixed",document.body.style.left=`-${Document.scrollX}px`,document.body.style.top=`calc(-${Document.scrollY}px - ${window.getComputedStyle(document.body)["padding-top"]} - ${window.getComputedStyle(document.body)["margin-top"]})`,document.body.style.width=`calc(100vw - ${e}px - ${window.getComputedStyle(document.body)["padding-left"]} - ${window.getComputedStyle(document.body)["padding-right"]} - ${window.getComputedStyle(document.body)["margin-left"]} - ${window.getComputedStyle(document.body)["margin-right"]})`,document.documentElement.style.width="100wh",document.documentElement.style.height="100vh",document.documentElement.style.overflowY=e&&"scroll";}static resumeScroll(){try{onResumeScroll.forEach((e=>e()));}catch(e){}document.body.style.position=Document.position,document.body.style.top=Document.offsetY,document.body.style.left=Document.offsetX,document.body.style.width=Document.width,document.body.style.height=Document.height,document.documentElement.style.width=Document.documentWidth,document.documentElement.style.height=Document.documentHeight,document.documentElement.style.overflowY=Document.overflowY,window.scrollTo(Document.scrollX,Document.scrollY),Document.position=null,Document.offsetY=null,Document.offsetX=null,Document.width=null,Document.height=null,Document.documentWidth=null,Document.documentHeight=null,Document.overflowY=null,Document.scrollX=null,Document.scrollY=null;}static onPreventScroll(e){onPreventScroll.add(e);}static onResumeScroll(e){onResumeScroll.add(e);}static get scroll(){return scroll||(scroll=new Scroll,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,window.addEventListener("unload",(()=>scroll.unload()))),scroll}}const updateScrollValue=()=>{const e=window.pageYOffset,t=window.pageXOffset;scrollIsDown=e>lastPageYOffset,scrollIsUp=e<lastPageYOffset,scrollIsRight=t>lastPageXOffset,scrollIsLeft=t<lastPageXOffset,lastPageYOffset=e||window.pageYOffset,lastPageXOffset=t||window.pageXOffset;};class Scroll{constructor(){document.addEventListener("scroll",updateScrollValue,{passive:!0});}get down(){return scrollIsDown}get up(){return scrollIsUp}get left(){return scrollIsLeft}get right(){return scrollIsRight}unload(){document.removeEventListener("scroll",updateScrollValue),scrollIsDown=!1,scrollIsUp=!1,scrollIsLeft=!1,scrollIsRight=!1,lastPageYOffset=window.pageYOffset,lastPageXOffset=window.pageXOffset,scroll=null;}}function encodeBase64(e,r=!1){if(!t.isString(e))throw new Error("Cannot encode non-string values.");const n=window.btoa(e);return r?n.replace(/=/g,""):n}function decodeBase64(e){if(!t.isString(e))throw new Error("Cannot encode non-string values.");return window.atob(e)}function encodeUtf8(e){if(!t.isString(e))throw new Error("Cannot encode non-string values.");return decodeURIComponent(encodeURIComponent(e))}function decodeUtf8(e){if(!t.isString(e))throw new Error("Cannot decode non-string values.");return decodeURIComponent(encodeURIComponent(e))}class Json{static serialize(e){if(t.isFunction(e))return;if(!t.exists(e))return e;if(!t.isArray(e)&&!t.isObject(e))return e.toString();const r=t.isArray(e)?"[{0}]":"{{0}}",n=[];return Object.keys(e).forEach((r=>{const s=e[r];if(t.isUndefined(s))return;const o=t.isNumber(s)?s:t.isDate(s)?`"${d.parse(s).toJson()}"`:t.isString(s)?`"${serializeString(s)}"`:Json.serialize(s);n[n.length]=(t.isObject(e)&&!t.isArray(e)?`"${r}":`:"")+o;})),a.format(r,n)}static deserialize(e){return /function|(=$)/i.test(e)?e:Json.deserialize_unsafe(e)}static deserialize_unsafe(value){try{const result=t.isString(value)&&!/^0/.test(value)?eval(`(${deserializeString(value)})`):value;return t.exists(result)?t.isNullOrEmpty(result.tagName)&&(t.isObject(result)||t.isArray(result))?(Object.keys(result).forEach((e=>{const r=result[e];(t.isObject(r)||t.isArray(r))&&(result[e]=Json.deserialize(r)),/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/.test(r)&&d.canParse(r)&&(result[e]=d.parse(r).toDate());})),result):/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/.test(result)?d.parse(result).toDate():result:result}catch(e){throw new Error(a.format("Cannot deserialize {0}",value))}}static encode(e,t=!1){try{return encodeBase64(Json.serialize(e),t)}catch(t){throw new Error(a.format("Cannot encode {0}",e))}}static decode(e){try{return Json.deserialize(decodeBase64(e))}catch(t){throw new Error(a.format("Cannot decode {0}",e))}}}function serializeString(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\//g,"/").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}function deserializeString(e){return e.replace(/\\\//g,"/").replace(/\\\\f/g,"\\f").replace(/\\\\n/g,"\\n").replace(/\\\\r/g,"\\r").replace(/\\\\t/g,"\\t")}class QueryString{static serialize(e){try{let r="";return Object.keys(e).forEach((n=>{const s=e[n],o=t.isDate(s)?d.parse(s).toJson():s;r+=a.format("&{0}={1}",encodeURIComponent(n),encodeURIComponent(Json.serialize(o)));})),r.replace(/^&/,"")}catch(t){throw new Error(a.format("Cannot serialize {0}",e))}}static deserialize(e){if(/\??[^\s"'<>]+=[^\s"'<>]+/.test(e)){const t=e.replace(/.*\?/,"").split("&"),r={};return t.forEach((e=>{const[t,n]=e.split("="),s=/^null$|^true$|^false$|^\d+(\.\d+?)?$|^\[.*]$|^{.*}$/.test(n)?n:`"${n}"`;r[decodeURIComponent(t)]=Json.deserialize(decodeURIComponent(s));})),r}}}var worker=e=>{const t=e.toString(),r=t.indexOf("{")+1,n=t.lastIndexOf("}"),s=/(=>)/.test(t)&&!/{/gm.test(t)?`${t.replace("=>","=> {")}}`:t.substring(r,n),o=new self.Blob([s],{type:"text/javascript"});return new Worker(URL.createObjectURL(o))},connection=()=>{const e=self.indexedDB||self.mozIndexedDB||self.webkitIndexedDB||self.msIndexedDB;function t(t){if(!/^[A-z][A-z0-9]*$/.test(t))throw new Error("Invalid collection name. Must be alphanumeric and begin with an alpha character");return new Promise(((r,n)=>{try{const s=e.open(t);s.onerror=()=>{n(new Error("Error opening IndexedDB."));},s.onupgradeneeded=e=>{e.target.result.createObjectStore(t,{autoIncrement:!1});},s.onsuccess=()=>{r(s.result);};}catch(e){n(e);}}))}onmessage=function(e){const r=e.data[0],n=e.data[1],s=e.data[2];try{"read"===r&&function(e){return t(e).then((t=>new Promise(((r,n)=>{const s=t.transaction([e],"readonly").objectStore(e).get(1);s.onsuccess=e=>{t.close(),r(e.target.result);},s.onerror=()=>{t.close(),n(s.error);};}))))}(n).then((e=>postMessage([r,n,e]))).catch((e=>postMessage(["error",e.message]))),"write"===r&&function(e,r){return t(e).then((t=>new Promise(((n,s)=>{const o=t.transaction([e],"readwrite").objectStore(e).put(r,1);o.onsuccess=e=>{t.close(),n(e.target.result);},o.onerror=()=>{t.close(),s(o.error);};}))))}(n,s).then((e=>postMessage([r,n,e]))).catch((e=>postMessage(["error",e.message]))),"remove"===r&&function(e){return t(e).then((t=>new Promise(((r,n)=>{const s=t.transaction([e],"readwrite").objectStore(e).delete(1);s.onsuccess=e=>{t.close(),r(e.target.result);},s.onerror=()=>{t.close(),n(s.error);};}))))}(n).then((e=>postMessage([r,n,e]))).catch((e=>postMessage(["error",e.message]))),"drop"===r&&function(e){return t(e).then((t=>(t.onversionchange=()=>t.close(),new Promise(((t,r)=>{const n=indexedDB.deleteDatabase(e);n.onsuccess=()=>{t(!0);},n.onerror=()=>{r(n.error);},n.onblocked=()=>{r(n.error);};})))))}(n).then((e=>postMessage([r,n,e]))).catch((e=>postMessage(["error",e.message])));}catch(e){postMessage(["error",e.message]);}};};const validCollection=/^[A-z]+$/;let connectionThread;class Store{static get connected(){return t.exists(connectionThread)}static connect(){try{return Store.connected||(connectionThread=worker(connection)),Store}catch{throw new Error("Store could not connect.")}}static disconnect(){try{if(Store.connected)return connectionThread.terminate(),connectionThread=null,Store}catch{throw new Error("Store could not be disconnected.")}}static async read(e){return new Promise(((r,n)=>{if(validCollection.test(e))if(t.exists(connectionThread)){const t=s=>{const[o,i,a]=s.data;"error"===o&&i===e&&(n(new Error(a)),connectionThread.removeEventListener("message",t)),"read"===o&&i===e&&(r(a),connectionThread.removeEventListener("message",t));};connectionThread.addEventListener("message",t),connectionThread.postMessage(["read",e]);}else n(new Error("Cannot read disconnected Store."));else n(new Error("Invalid collection name must contain only alpha characters."));}))}static async write(e,r){return new Promise(((n,s)=>{if(validCollection.test(e))if(t.exists(connectionThread)){const t=r=>{const[o,i,a]=r.data;"error"===o&&i===e&&(s(new Error(a)),connectionThread.removeEventListener("message",t)),"write"===o&&i===e&&(n(a),connectionThread.removeEventListener("message",t));};connectionThread.addEventListener("message",t),connectionThread.postMessage(["write",e,r]);}else s(Error("Cannot write disconnected Store."));else s(new Error("Invalid collection name must contain only alpha characters."));}))}static async remove(e){return new Promise(((r,n)=>{if(validCollection.test(e))if(t.exists(connectionThread)){const t=s=>{const[o,i,a]=s.data;"error"===o&&i===e&&(n(new Error(a)),connectionThread.removeEventListener("message",t)),"remove"===o&&i===e&&(r(a),connectionThread.removeEventListener("message",t));};connectionThread.addEventListener("message",t),connectionThread.postMessage(["remove",e]);}else n(Error("Cannot write disconnected Store."));else n(new Error("Invalid collection name must contain only alpha characters."));}))}static async delete(e){return new Promise(((r,n)=>{if(!t.isNullOrEmpty(e)&&validCollection.test(e))if(t.exists(connectionThread)){const t=s=>{const[o,i,a]=s.data;"error"===o&&i===e&&(n(new Error(a)),connectionThread.removeEventListener("message",t)),"drop"===o&&i===e&&(r(a),connectionThread.removeEventListener("message",t));};connectionThread.addEventListener("message",t),connectionThread.postMessage(["drop",e]);}else n(Error("Cannot drop disconnected Store."));else n(new Error("Invalid collection name must contain only alpha characters."));}))}static async save(){try{return await navigator.storage.persist()}catch(e){return !1}}static async estimate(){try{const e=navigator.storage||navigator.webkitPersistentStorage,{quota:t=NaN,usage:r=NaN}=await e.estimate()||{};return {quota:t,usage:r,free:`${N.roundUp((t-r)/t*100,-4)}%`,used:`${N.roundUp(r/t*100,-4)}%`}}catch(e){return {}}}static async saved(){try{return await navigator.storage.persisted()}catch{return !1}}}class Dto{constructor(e={},r){if(!t.isArray(e)&&!t.isObject(e))throw new TypeError("Dto value must be Array or object literal");this._value=e,this._name=r;}get value(){return t.isArray(this._value)?[...this._value]:{...this._value}}get name(){return this._name}set name(e){this._name=e;}read(e){return t.exists(e)?!t.isArray(this._value)||t.isNumber(e)?this._value[e]:void 0:this.value}remove(e){return t.isString(e)&&t.exists(e)&&delete this._value[e],t.isFunction(e)&&this._value.splice(this._value.findIndex(e),1),this}write(e,r){return t.isNullOrEmpty(e)||(t.isArray(this._value)?(t.isUndefined(r)&&this._value.push(e),t.isNumber(e)&&(this._value[e]=r)):this._value[e]=r),this}update(e){const r=Object.assign(this.value,e);return this._value=t.isArray(this._value)?Object.values(r):r,this}clear(){return this._value=t.isArray(this._value)?[]:{},this}async save(){return Store.connect(),await Store.write(this.name,this.encode(!0,!0)),await Store.save()}async saveAs(e){return this.name=e,Store.connect(),await Store.delete(this.name),this.save()}async delete(){return Store.connect(),await Store.delete(this.name),this}encode(e=!1,t=!1){const r=Json.serialize(this._value);return encodeBase64(t?encodeURIComponent(r):r,e)}static decode(e,t){const r=decodeBase64(e),n=decodeURIComponent(r);return new Dto(Json.deserialize(n),t)}toFormData(){const{value:e}=this,t=new window.FormData;return Object.keys(e).forEach((r=>t.append(r,e[r]))),t}toJson(){return Json.serialize(this._value)}toQueryString(){return QueryString.serialize(this._value)}static parseFormData(e){const t={};for(const[r,n]of e.entries())t[r]=n;return new Dto(t)}static parseJson(e){return new Dto(Json.deserialize(e))}static parseJwt(e){try{const[,t]=e.split(".");return new Dto(JSON.parse(window.atob(t)))}catch(t){throw new SyntaxError(`Cannot parseJwt: ${e}`)}}static parseQueryString(e){return new Dto(QueryString.deserialize(e))}static async load(e){return Store.connect(),Store.read(e).then((t=>{try{return Dto.decode(t,e)}catch{return}})).catch((()=>{}))}}class Event{static mute(e){return !!t.exists(e)&&(t.isFunction(e.preventDefault)&&e.preventDefault(),t.isFunction(e.stopPropagation)&&e.stopPropagation(),t.isFunction(e.stopImmediatePropagation)&&e.stopImmediatePropagation(),t.exists(e.cancelBubble)&&(e.cancelBubble=!0),!1)}}const readFieldNames=e=>{const t=e.getAttribute("id"),r=[...e.querySelectorAll("[name]")].map((e=>e.name)),n=t?[...document.querySelectorAll(`[form="${t}"]`)].map((e=>e.name)):[];return [...r,...n]},readData=e=>new window.FormData(e),read=e=>{const r={};try{readData(e).forEach(((e,n)=>{const s=r[n];t.isArray(s)?r[n].push(e):t.exists(s)?r[n]=[r[n],e]:r[n]=e;}));}catch(t){[...e.elements].forEach((e=>{const{name:t,type:n,value:s,files:o}=e;if("file"===n)r[t]=o[0];else if("checkbox"===n||"radio"===n)e.checked&&(r[t]=s);else if(e.multiple){const n=[];e.querySelectorAll("option").forEach((e=>e.selected&&n.push(e.value))),r[t]=n.length<2?n[0]:n;}else r[t]=s;}));}return r},readJson=e=>JSON.stringify(read(e)),write=(e,r)=>{[...e.elements].forEach((e=>{/^select$/i.test(e.nodeName)?t.isArray(r[e.name])?[...e.options].forEach((t=>{t.selected=r[e.name].indexOf(t.value)>=0;})):t.exists(r[e.name])&&(e.value=r[e.name]):t.exists(r[e.name])&&("checkbox"===e.type||"radio"===e.type?e.checked=r[e.name]===e.value:e.value=r[e.name]);}));};var index={readFieldNames:readFieldNames,read:read,readData:readData,readJson:readJson,write:write};class Key{constructor(e,t,r={}){this.key=e,this.msKey=t||e,this.altKey=r.altKey||!1,this.ctrlKey=r.ctrlKey||!1,this.metaKey=r.metaKey||!1,this.shiftKey=r.shiftKey||!1;}get alt(){const{key:e,msKey:t,ctrlKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:!0,ctrlKey:r,metaKey:n,shiftKey:s})}get ctrl(){const{key:e,msKey:t,altKey:r,metaKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:!0,metaKey:n,shiftKey:s})}get meta(){const{key:e,msKey:t,altKey:r,ctrlKey:n,shiftKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:!0,shiftKey:s})}get shift(){const{key:e,msKey:t,altKey:r,ctrlKey:n,metaKey:s}=this;return new Key(e,t,{altKey:r,ctrlKey:n,metaKey:s,shiftKey:!0})}equals(e){return e instanceof Key&&this.altKey===e.altKey&&this.ctrlKey===e.ctrlKey&&this.metaKey===e.metaKey&&this.shiftKey===e.shiftKey&&(this.key===e.key||this.msKey===e.msKey)}didFire(e){const{code:t,key:r,altKey:n,ctrlKey:s,metaKey:o,shiftKey:i}=e,a="Dead"===r?t:r;return e&&("ANY"===this.key||this.equals(new Key(a,a,{altKey:n,ctrlKey:s,metaKey:o,shiftKey:i})))}static get press(){return "keypress"}static get down(){return "keydown"}static get up(){return "keyup"}static get any(){return new Key("ANY")}static get esc(){return new Key("Escape","Esc")}static get enter(){return new Key("Enter")}static get space(){return new Key(" ","Spacebar")}static get tab(){return new Key("Tab")}static get left(){return new Key("ArrowLeft","Left")}static get right(){return new Key("ArrowRight","Right")}}class Keyboard{static on(e,t,r,n){const s=e=>t.didFire(e)?r(e,t):null;return window.addEventListener(e,s,n),{unsubscribe:()=>{window.removeEventListener(e,s);}}}static onKeyPress(e,t,r){return Keyboard.on(Key.press,e,t,r)}static onKeyDown(e,t,r){return Keyboard.on(Key.down,e,t,r)}static onKeyUp(e,t,r){return Keyboard.on(Key.up,e,t,r)}}class Swipe{constructor(e,t=0){this.didTouchStart=this.didTouchStart.bind(this),this.didTouchEnd=this.didTouchEnd.bind(this),this.didTouchMove=this.didTouchMove.bind(this),e.addEventListener("touchstart",this.didTouchStart,{capture:!1,passive:!0}),e.addEventListener("touchend",this.didTouchEnd,{capture:!1,passive:!0}),e.addEventListener("touchmove",this.didTouchMove,{capture:!1,passive:!0}),this.element=e,this.tolerance=t,this.didSwipeLeft=()=>{},this.didSwipeRight=()=>{},this.didMove=()=>{};}onLeft(e){return this.didSwipeLeft=e,this}onRight(e){return this.didSwipeRight=e,this}onMove(e){return this.didMove=e,this}destroy(){const{element:e}=this;return e.removeEventListener("touchstart",this.didTouchStart,{capture:!1}),e.removeEventListener("touchend",this.didTouchEnd,{capture:!1}),e.removeEventListener("touchmove",this.didTouchMove,{capture:!1}),this}didTouchStart({touches:[e]}){this.touchStartPoint=new O(e.pageX,e.pageY);}didTouchEnd(e){const[t]=e.changedTouches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);n.isLeftOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeLeft(e),n.isRightOf(r)&&Math.abs(n.distanceFrom(r).x)>this.tolerance&&this.didSwipeRight(e);}didTouchMove(e){const[t]=e.touches,{touchStartPoint:r}=this,n=new O(t.pageX,t.pageY);this.didMove({distance:n.distanceFrom(r),up:n.isAbove(r),down:n.isBelow(r),left:n.isLeftOf(r),right:n.isRightOf(r)});}}
4
-
5
- exports.Device = Device;
6
- exports.Document = Document;
7
- exports.Event = Event;
8
- exports.Key = Key;
9
- exports.Swipe = Swipe;
10
- exports.index = index;
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-16f16ed9.js');
4
-
5
- const uid = () => {
6
- // @ts-ignore
7
- let value;
8
- return (() => { value = index.R.uid(); })();
9
- };
10
-
11
- exports.uid = uid;
@@ -1,26 +0,0 @@
1
- /**
2
- * Sets aria-hidden attribute for passed elements
3
- * @param {Array} elements - List of elements to set aria-hidden on
4
- * @param {boolean} [value] - Optional value for aria-hidden.
5
- * No value will set to previous value if available.
6
- */
7
- export const ariaHidden = (elements, value) => {
8
- if (!value) {
9
- // eslint-disable-next-line @stencil/ban-side-effects
10
- elements.forEach((element) => {
11
- if (!element.currentAriaHidden) {
12
- element.removeAttribute('aria-hidden');
13
- }
14
- else {
15
- element.setAttribute('aria-hidden', element.currentAriaHidden);
16
- }
17
- });
18
- }
19
- else {
20
- // eslint-disable-next-line @stencil/ban-side-effects
21
- elements.forEach((element) => {
22
- element.currentAriaHidden = element.getAttribute('aria-hidden');
23
- element.setAttribute('aria-hidden', value);
24
- });
25
- }
26
- };
@@ -1,24 +0,0 @@
1
- import { Assert } from 'ku4es-kernel';
2
- import {form} from 'ku4es-ui-kernel';
3
- /**
4
- * Method to wire a form to pass through the ku4-form validation
5
- * mechanism before calling the application onSubmit method
6
- * @param {Node} ref - A ref for the target form
7
- * @param {function} onSubmit - the function to call on submit
8
- */
9
- export const wireForm = (ref, onSubmit) => {
10
- if(!ref || ref.__ku4wired__) return;
11
- try {
12
- const submit = ref.submit;
13
- ref.submit = async () => {
14
- const values = form.read(ref);
15
- const formData = form.readData(ref);
16
- const cont = await onSubmit(values, formData, ref);
17
- if(!Assert.isFalse(cont)) submit.call(ref);
18
- };
19
- ref.__ku4wired__ = true;
20
- }
21
- catch(e) {
22
- throw new Error('wireForm Error. See https://kodmunki.com/storybook/?path=/docs/form-ku4-form--basic for more information.');
23
- }
24
- };
@@ -1,20 +0,0 @@
1
- import { Assert } from 'ku4es-kernel';
2
- /**
3
- * Decorates deprecated members.
4
- *
5
- * Note: Due to inherent issues with Stencil `@Component`, classes
6
- * should be `@Deprecated` at the `render` method.
7
- *
8
- * @param {string} [replacement] - Name of target replacement member
9
- * @param {function} [callback] - Optional callback for Unit Tests.
10
- */
11
- export default (label, replacement, callback) => (_target, propertyKey, _descriptor) => {
12
- const property = propertyKey === 'render' ? '' : `.${propertyKey}`;
13
- const message = [
14
- `DEPRECATED: ${label}${property}`,
15
- '\nUse identified replacement if available.',
16
- Assert.exists(replacement) ? `\nReplacement: ${replacement}` : '',
17
- ].join('');
18
- // eslint-disable-next-line no-console
19
- (callback || (message => console.warn(message)))(message);
20
- };
@@ -1,3 +0,0 @@
1
- import Deprecated from './deprecated';
2
- import Memoize from './memoize';
3
- export { Deprecated, Memoize, };
@@ -1,7 +0,0 @@
1
- export default () => (_target, _propertyKey, descriptor) => ((type) => {
2
- let value;
3
- return Object.assign(Object.assign({}, descriptor), { [type](...params) {
4
- value = value || descriptor[type].call(this, ...params);
5
- return value;
6
- } });
7
- })(descriptor.get ? 'get' : 'value');
@@ -1,7 +0,0 @@
1
- const focusableTags = ['A', 'BUTTON', 'INPUT', 'SELECT', 'TEXTAREA'];
2
- export default (element) => {
3
- const tabindex = element.getAttribute('tabindex');
4
- return (focusableTags.includes(element.tagName.toUpperCase()) ||
5
- element.getAttribute('href')) &&
6
- (!tabindex || isNaN(tabindex) || parseInt(tabindex) > -1);
7
- };
@@ -1,2 +0,0 @@
1
- export const queryFocusable = element => [].slice.call(element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));
2
- export const queryTabbable = element => [].slice.call(element.querySelectorAll(':not([tabindex="-1"])'));
@@ -1,6 +0,0 @@
1
- import { identity } from 'ku4es-kernel';
2
- export default () => {
3
- // @ts-ignore
4
- let value;
5
- return (() => { value = identity.uid(); })();
6
- };
@@ -1,5 +0,0 @@
1
- import * as patterns from './patterns'
2
-
3
- export {
4
- patterns
5
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * A pattern to use for ku4-mask when a date pattern is desired.
3
- * This will only work for mm/dd/yyyy templates. It is advised
4
- * that this not be edited other than on lines 24+ where the
5
- * year rules are defined.
6
- */
7
-
8
- export const mm_dd = ',[01],(((?<=0)[1-9])|((?<=1)[0-2])),(((?<=(1[0-2]/))[0-3])|((?<=(0[^2]/))[0-3])|((?<=(02/))[0-2])),(((?<=/[0-2])[0-9])|((?<=/3)[01]))'
9
- export const _1900_2199 = `,[12],(((?<=/../1)9)|((?<=/../2)[01]))`
10
- export const _1900_2999 = `,[12],(((?<=/../1)9)|((?<=/../2)[0-9]))`
11
-
12
- /**
13
- * The following is an expanded for of the expression above.
14
- * This is done to compress the expression for export. This
15
- * could be scripted in the future.
16
- */
17
- /*
18
- export default `
19
- ,
20
- [01],
21
- (
22
- ((?<=0)[1-9])|
23
- ((?<=1)[0-2])
24
- ),
25
- (
26
- ((?<=(1[0-2]/))[0-3])|
27
- ((?<=(0[^2]/))[0-3])|
28
- ((?<=(02/))[0-2])
29
- ),
30
- (
31
- ((?<=/[0-2])[0-9])|
32
- ((?<=/3)[01])
33
- ),
34
- [12],
35
- (
36
- ((?<=/../1)9)|
37
- ((?<=/../2)[01])
38
- )
39
- `
40
- */
@@ -1,7 +0,0 @@
1
- import { mm_dd, _1900_2199, _1900_2999 } from './date'
2
-
3
- export {
4
- mm_dd,
5
- _1900_2199,
6
- _1900_2999
7
- }
@@ -1,25 +0,0 @@
1
- import { Assert } from 'ku4es-kernel';
2
- import { form } from 'ku4es-ui-kernel';
3
-
4
- /**
5
- * Method to wire a form to pass through the ku4-form validation
6
- * mechanism before calling the application onSubmit method
7
- * @param {Node} ref - A React ref for the target form
8
- * @param {function} onSubmit - the function to call on submit
9
- */
10
- export const wireForm = (ref, onSubmit) => {
11
- if(!ref || ref.__ku4wired__) return;
12
- try {
13
- const submit = ref.submit;
14
- ref.submit = async () => {
15
- const values = form.read(ref);
16
- const formData = form.readData(ref);
17
- const cont = await onSubmit(values, formData, ref);
18
- if(!Assert.isFalse(cont)) submit.call(ref);
19
- };
20
- ref.__ku4wired__ = true;
21
- }
22
- catch(e) {
23
- throw new Error('wireForm Error. See https://kodmunki.com/storybook/?path=/docs/form-ku4-form--basic for more information.');
24
- }
25
- };
@@ -1,14 +0,0 @@
1
- /**
2
- * Removes all extraneous whitespace from an HTML string so that well-formatted HTML
3
- * can be used without consequence in Stenciljs end-to-end testing \.
4
- *
5
- * @param {string} value - a valid html string to 'trim'
6
- * @returns {string}
7
- */
8
- export default value => value
9
- .replace(/<!--.*?-->/g, '')
10
- .replace(/[\n\s]+/g, ' ')
11
- .replace(/[\n\s]>/g, '>')
12
- .replace(/[\n\s]+</g, '<')
13
- .replace(/>[\n\s]+/g, '>')
14
- .trim();
@@ -1,14 +0,0 @@
1
- /**
2
- * Returns an object literal of the style property values
3
- * for the requested selector and property array
4
- *
5
- * @param {string} selector - a valid query selector string
6
- * @param {string[]} properties - an array of valid style property values to return
7
- * @returns {string}
8
- */
9
- export default (selector, properties) => properties.reduce((acc, property) => {
10
- acc[property] = window
11
- .getComputedStyle(document.querySelector(selector))
12
- .getPropertyValue(property);
13
- return acc;
14
- }, {});
@@ -1,28 +0,0 @@
1
- import {Assert} from 'ku4es-kernel';
2
- import {form} from 'ku4es-ui-kernel';
3
-
4
- /**
5
- * Method to wire a form to pass through the ku4-form validation
6
- * mechanism before calling the application onSubmit method
7
- * @param {Vue} vm - The Vue instance for the target Vue Component instance
8
- * that encapsulates ku4-form.
9
- * @param {string} ref - The ref for this form.
10
- * @param {function} onSubmit - the function to call on submit
11
- */
12
- export const wireForm = (vm, ref, onSubmit) => {
13
- if(!vm || !vm.$refs || !vm.$refs[ref] || vm.$refs[ref].__ku4wired__) { return; }
14
- try {
15
- const _ref = vm.$refs[ref];
16
- const {submit} = _ref;
17
- _ref.submit = async () => {
18
- const values = form.read(ref);
19
- const formData = form.readData(ref);
20
- const cont = await onSubmit.call(vm, values, formData, _ref);
21
- if(!Assert.isFalse(cont)) submit.call(ref);
22
- };
23
- _ref.__ku4wired__ = true;
24
- }
25
- catch(e) {
26
- throw new Error('wireForm Error. See https://kodmunki.com/storybook/?path=/docs/form-ku4-form--basic for more information.');
27
- }
28
- };
@@ -1,26 +0,0 @@
1
- import {Assert} from 'ku4es-kernel';
2
- import {form} from 'ku4es-ui-kernel';
3
-
4
- /**
5
- * Method to wire a form to pass through the ku4-form validation
6
- * mechanism before calling the application onSubmit method
7
- * @param {string} ref - The ref for this form.
8
- * @param {function} onSubmit - the function to call on submit
9
- */
10
- export const wireForm = (ref, onSubmit) => {
11
- if(!ref || !ref.value || ref.value.__ku4wired__) { return; }
12
- try {
13
- const _ref = ref.value;
14
- const {submit} = _ref;
15
- _ref.submit = async () => {
16
- const values = form.read(ref.value);
17
- const formData = form.readData(ref.value);
18
- const cont = await onSubmit(values, formData, _ref);
19
- if(!Assert.isFalse(cont)) submit.call(ref.value);
20
- };
21
- _ref.__ku4wired__ = true;
22
- }
23
- catch(e) {
24
- throw new Error('wireForm Error. See https://kodmunki.com/storybook/?path=/docs/form-ku4-form--basic for more information.');
25
- }
26
- };
@@ -1,31 +0,0 @@
1
- {
2
- "entries": [
3
- "./components/ku4-carousel/ku4-carousel.js",
4
- "./components/ku4-carousel-controls/ku4-carousel-controls.js",
5
- "./components/ku4-carousel-slide/ku4-carousel-slide.js",
6
- "./components/ku4-col/ku4-col.js",
7
- "./components/ku4-drawer/ku4-drawer.js",
8
- "./components/ku4-feature/ku4-feature.js",
9
- "./components/ku4-focus-trap/ku4-focus-trap.js",
10
- "./components/ku4-form/ku4-form.js",
11
- "./components/ku4-grid/ku4-grid.js",
12
- "./components/ku4-label/ku4-label.js",
13
- "./components/ku4-mask/ku4-mask.js",
14
- "./components/ku4-modal/ku4-modal.js",
15
- "./components/ku4-panel/ku4-panel.js",
16
- "./components/ku4-preview/ku4-preview.js",
17
- "./components/ku4-tab/ku4-tab.js",
18
- "./components/ku4-tab-list/ku4-tab-list.js",
19
- "./components/ku4-tab-panel/ku4-tab-panel.js",
20
- "./components/ku4-table/ku4-table.js",
21
- "./components/ku4-tooltip/ku4-tooltip.js",
22
- "./components/ku4-validation/ku4-validation.js"
23
- ],
24
- "compiler": {
25
- "name": "@stencil/core",
26
- "version": "2.15.2",
27
- "typescriptVersion": "4.5.4"
28
- },
29
- "collections": [],
30
- "bundles": []
31
- }