tin-spa 2.13.15 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/README.md +2 -2
  2. package/bundles/tin-spa.umd.js +6694 -0
  3. package/bundles/tin-spa.umd.js.map +1 -0
  4. package/bundles/tin-spa.umd.min.js +16 -0
  5. package/bundles/tin-spa.umd.min.js.map +1 -0
  6. package/esm2015/lib/classes/Classes.js +254 -0
  7. package/esm2015/lib/classes/TinCore.js +137 -0
  8. package/esm2015/lib/components/activity/activity.component.js +92 -0
  9. package/esm2015/lib/components/attach/attach.component.js +181 -0
  10. package/esm2015/lib/components/change-password/change-password.component.js +179 -0
  11. package/esm2015/lib/components/check/check.component.js +69 -0
  12. package/esm2015/lib/components/chips/chips.component.js +107 -0
  13. package/esm2015/lib/components/create-account/create-account.component.js +160 -0
  14. package/esm2015/lib/components/date/date.component.js +66 -0
  15. package/esm2015/lib/components/datetime/datetime.component.js +57 -0
  16. package/esm2015/lib/components/filter/filter.component.js +64 -0
  17. package/esm2015/lib/components/html/html.component.js +102 -0
  18. package/esm2015/lib/components/label/label.component.js +117 -0
  19. package/esm2015/lib/components/loader/loader.component.js +53 -0
  20. package/esm2015/lib/components/login/login.component.js +240 -0
  21. package/esm2015/lib/components/logs/logs.component.js +195 -0
  22. package/esm2015/lib/components/message/messageDialog.component.js +142 -0
  23. package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
  24. package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
  25. package/esm2015/lib/components/money/money.component.js +152 -0
  26. package/esm2015/lib/components/nav-menu/nav-menu.component.js +204 -0
  27. package/esm2015/lib/components/option/option.component.js +129 -0
  28. package/esm2015/lib/components/profile/profile.component.js +198 -0
  29. package/esm2015/lib/components/recover-account/recover-account.component.js +74 -0
  30. package/esm2015/lib/components/roles/addRoleDialog.component.js +132 -0
  31. package/esm2015/lib/components/roles/roles.component.js +211 -0
  32. package/esm2015/lib/components/select/select.component.js +133 -0
  33. package/esm2015/lib/components/settings/settings.component.js +118 -0
  34. package/esm2015/lib/components/signup/signup.component.js +139 -0
  35. package/esm2015/lib/components/steps/steps.component.js +114 -0
  36. package/esm2015/lib/components/table/table.component.js +375 -0
  37. package/esm2015/lib/components/text/text.component.js +240 -0
  38. package/esm2015/lib/components/tiles/tiles.component.js +95 -0
  39. package/esm2015/lib/components/timeout/timeout.component.js +133 -0
  40. package/esm2015/lib/components/tin-spa.component.js +26 -0
  41. package/esm2015/lib/components/users/users.component.js +373 -0
  42. package/esm2015/lib/components/viewer/viewer.component.js +92 -0
  43. package/esm2015/lib/components/viewer/viewerDialog.component.js +131 -0
  44. package/esm2015/lib/dnd.directive.js +56 -0
  45. package/esm2015/lib/modules/spa-admin.module.js +81 -0
  46. package/esm2015/lib/modules/spa-index.module.js +58 -0
  47. package/esm2015/lib/modules/spa-mat.module.js +68 -0
  48. package/esm2015/lib/modules/spa-user.module.js +55 -0
  49. package/esm2015/lib/services/auth.service.js +142 -0
  50. package/esm2015/lib/services/data.service.js +111 -0
  51. package/esm2015/lib/services/export.service.js +29 -0
  52. package/esm2015/lib/services/http.service.js +79 -0
  53. package/esm2015/lib/services/loader-interceptor.service.js +77 -0
  54. package/esm2015/lib/services/loader.service.js +17 -0
  55. package/esm2015/lib/services/log.service.js +76 -0
  56. package/esm2015/lib/services/message.service.js +52 -0
  57. package/esm2015/lib/services/storage.service.js +43 -0
  58. package/esm2015/lib/services/tin-spa.service.js +14 -0
  59. package/esm2015/lib/tin-spa.module.js +156 -0
  60. package/esm2015/public-api.js +56 -0
  61. package/esm2015/tin-spa.js +5 -0
  62. package/esm5/lib/classes/Classes.js +313 -0
  63. package/esm5/lib/classes/TinCore.js +164 -0
  64. package/esm5/lib/components/activity/activity.component.js +94 -0
  65. package/esm5/lib/components/attach/attach.component.js +195 -0
  66. package/esm5/lib/components/change-password/change-password.component.js +182 -0
  67. package/esm5/lib/components/check/check.component.js +71 -0
  68. package/esm5/lib/components/chips/chips.component.js +110 -0
  69. package/esm5/lib/components/create-account/create-account.component.js +163 -0
  70. package/esm5/lib/components/date/date.component.js +68 -0
  71. package/esm5/lib/components/datetime/datetime.component.js +59 -0
  72. package/esm5/lib/components/filter/filter.component.js +66 -0
  73. package/esm5/lib/components/html/html.component.js +104 -0
  74. package/esm5/lib/components/label/label.component.js +119 -0
  75. package/esm5/lib/components/loader/loader.component.js +56 -0
  76. package/esm5/lib/components/login/login.component.js +244 -0
  77. package/esm5/lib/components/logs/logs.component.js +198 -0
  78. package/esm5/lib/components/message/messageDialog.component.js +144 -0
  79. package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
  80. package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
  81. package/esm5/lib/components/money/money.component.js +154 -0
  82. package/esm5/lib/components/nav-menu/nav-menu.component.js +207 -0
  83. package/esm5/lib/components/option/option.component.js +131 -0
  84. package/esm5/lib/components/profile/profile.component.js +203 -0
  85. package/esm5/lib/components/recover-account/recover-account.component.js +77 -0
  86. package/esm5/lib/components/roles/addRoleDialog.component.js +135 -0
  87. package/esm5/lib/components/roles/roles.component.js +218 -0
  88. package/esm5/lib/components/select/select.component.js +136 -0
  89. package/esm5/lib/components/settings/settings.component.js +122 -0
  90. package/esm5/lib/components/signup/signup.component.js +142 -0
  91. package/esm5/lib/components/steps/steps.component.js +128 -0
  92. package/esm5/lib/components/table/table.component.js +378 -0
  93. package/esm5/lib/components/text/text.component.js +244 -0
  94. package/esm5/lib/components/tiles/tiles.component.js +97 -0
  95. package/esm5/lib/components/timeout/timeout.component.js +136 -0
  96. package/esm5/lib/components/tin-spa.component.js +25 -0
  97. package/esm5/lib/components/users/users.component.js +380 -0
  98. package/esm5/lib/components/viewer/viewer.component.js +94 -0
  99. package/esm5/lib/components/viewer/viewerDialog.component.js +133 -0
  100. package/esm5/lib/dnd.directive.js +58 -0
  101. package/esm5/lib/modules/spa-admin.module.js +85 -0
  102. package/esm5/lib/modules/spa-index.module.js +62 -0
  103. package/esm5/lib/modules/spa-mat.module.js +72 -0
  104. package/esm5/lib/modules/spa-user.module.js +59 -0
  105. package/esm5/lib/services/auth.service.js +145 -0
  106. package/esm5/lib/services/data.service.js +113 -0
  107. package/esm5/lib/services/export.service.js +31 -0
  108. package/esm5/lib/services/http.service.js +81 -0
  109. package/esm5/lib/services/loader-interceptor.service.js +80 -0
  110. package/esm5/lib/services/loader.service.js +19 -0
  111. package/esm5/lib/services/log.service.js +114 -0
  112. package/esm5/lib/services/message.service.js +54 -0
  113. package/esm5/lib/services/storage.service.js +76 -0
  114. package/esm5/lib/services/tin-spa.service.js +17 -0
  115. package/esm5/lib/tin-spa.module.js +160 -0
  116. package/esm5/public-api.js +56 -0
  117. package/esm5/tin-spa.js +5 -0
  118. package/fesm2015/tin-spa.js +6204 -0
  119. package/fesm2015/tin-spa.js.map +1 -0
  120. package/fesm5/tin-spa.js +6453 -0
  121. package/fesm5/tin-spa.js.map +1 -0
  122. package/lib/classes/Classes.d.ts +228 -375
  123. package/lib/classes/TinCore.d.ts +11 -43
  124. package/lib/components/activity/activity.component.d.ts +2 -2
  125. package/lib/components/attach/attach.component.d.ts +27 -15
  126. package/lib/{pages → components}/change-password/change-password.component.d.ts +4 -4
  127. package/lib/components/check/check.component.d.ts +3 -8
  128. package/lib/components/chips/chips.component.d.ts +2 -2
  129. package/lib/{pages → components}/create-account/create-account.component.d.ts +4 -8
  130. package/lib/components/date/date.component.d.ts +12 -24
  131. package/lib/components/datetime/datetime.component.d.ts +2 -6
  132. package/lib/components/filter/filter.component.d.ts +2 -7
  133. package/lib/components/html/html.component.d.ts +10 -11
  134. package/lib/components/label/label.component.d.ts +2 -4
  135. package/lib/components/loader/loader.component.d.ts +2 -2
  136. package/lib/components/login/login.component.d.ts +32 -0
  137. package/lib/components/logs/logs.component.d.ts +18 -0
  138. package/lib/components/message/messageDialog.component.d.ts +2 -2
  139. package/lib/components/money/currency-input-mask.directive.d.ts +2 -2
  140. package/lib/components/money/currency-input-mask.module.d.ts +2 -3
  141. package/lib/components/money/money.component.d.ts +3 -13
  142. package/lib/components/nav-menu/nav-menu.component.d.ts +4 -22
  143. package/lib/components/option/option.component.d.ts +3 -14
  144. package/lib/{pages → components}/profile/profile.component.d.ts +4 -6
  145. package/lib/{pages → components}/recover-account/recover-account.component.d.ts +3 -3
  146. package/lib/components/roles/addRoleDialog.component.d.ts +22 -0
  147. package/lib/components/roles/roles.component.d.ts +30 -0
  148. package/lib/components/select/select.component.d.ts +20 -20
  149. package/lib/{pages → components}/settings/settings.component.d.ts +3 -3
  150. package/lib/{pages → components}/signup/signup.component.d.ts +4 -4
  151. package/lib/components/steps/steps.component.d.ts +10 -19
  152. package/lib/components/table/table.component.d.ts +21 -84
  153. package/lib/components/text/text.component.d.ts +14 -36
  154. package/lib/components/tiles/tiles.component.d.ts +7 -21
  155. package/lib/components/timeout/timeout.component.d.ts +24 -0
  156. package/lib/components/tin-spa.component.d.ts +6 -3
  157. package/lib/{pages → components}/users/users.component.d.ts +18 -11
  158. package/lib/components/viewer/viewer.component.d.ts +5 -11
  159. package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
  160. package/lib/dnd.directive.d.ts +11 -0
  161. package/lib/modules/spa-admin.module.d.ts +10 -10
  162. package/lib/modules/spa-index.module.d.ts +7 -8
  163. package/lib/modules/spa-mat.module.d.ts +2 -8
  164. package/lib/modules/spa-user.module.d.ts +6 -6
  165. package/lib/services/auth.service.d.ts +4 -16
  166. package/lib/services/data.service.d.ts +38 -0
  167. package/lib/services/export.service.d.ts +6 -2
  168. package/lib/services/http.service.d.ts +2 -2
  169. package/lib/services/loader-interceptor.service.d.ts +3 -4
  170. package/lib/services/loader.service.d.ts +2 -2
  171. package/lib/services/log.service.d.ts +3 -3
  172. package/lib/services/message.service.d.ts +3 -4
  173. package/lib/services/storage.service.d.ts +2 -2
  174. package/lib/services/tin-spa.service.d.ts +2 -2
  175. package/lib/tin-spa.module.d.ts +34 -83
  176. package/package.json +16 -24
  177. package/public-api.d.ts +16 -47
  178. package/esm2020/lib/classes/Classes.mjs +0 -112
  179. package/esm2020/lib/classes/LibClasses.mjs +0 -180
  180. package/esm2020/lib/classes/TinCore.mjs +0 -568
  181. package/esm2020/lib/components/activity/activity.component.mjs +0 -24
  182. package/esm2020/lib/components/alert/alert.component.mjs +0 -43
  183. package/esm2020/lib/components/attach/attach.component.mjs +0 -102
  184. package/esm2020/lib/components/capsules/capsules.component.mjs +0 -63
  185. package/esm2020/lib/components/cards/cards.component.mjs +0 -103
  186. package/esm2020/lib/components/check/check.component.mjs +0 -67
  187. package/esm2020/lib/components/chips/chips.component.mjs +0 -58
  188. package/esm2020/lib/components/date/date.component.mjs +0 -103
  189. package/esm2020/lib/components/datetime/datetime.component.mjs +0 -55
  190. package/esm2020/lib/components/email/email.component.mjs +0 -133
  191. package/esm2020/lib/components/filter/filter.component.mjs +0 -58
  192. package/esm2020/lib/components/form/form.component.mjs +0 -296
  193. package/esm2020/lib/components/html/html.component.mjs +0 -34
  194. package/esm2020/lib/components/label/label.component.mjs +0 -31
  195. package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +0 -68
  196. package/esm2020/lib/components/loader/loader.component.mjs +0 -25
  197. package/esm2020/lib/components/message/messageDialog.component.mjs +0 -33
  198. package/esm2020/lib/components/money/currency-input-mask.directive.mjs +0 -185
  199. package/esm2020/lib/components/money/currency-input-mask.module.mjs +0 -28
  200. package/esm2020/lib/components/money/money.component.mjs +0 -137
  201. package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -165
  202. package/esm2020/lib/components/multi-text/multi-text.component.mjs +0 -208
  203. package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +0 -88
  204. package/esm2020/lib/components/notes/notes.component.mjs +0 -62
  205. package/esm2020/lib/components/number/number.component.mjs +0 -131
  206. package/esm2020/lib/components/option/option.component.mjs +0 -92
  207. package/esm2020/lib/components/page/page.component.mjs +0 -101
  208. package/esm2020/lib/components/search/search.component.mjs +0 -36
  209. package/esm2020/lib/components/select/select.component.mjs +0 -75
  210. package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +0 -87
  211. package/esm2020/lib/components/select-common/select-common.component.mjs +0 -206
  212. package/esm2020/lib/components/select-internal/select-internal.component.mjs +0 -75
  213. package/esm2020/lib/components/select-lite/select-lite.component.mjs +0 -18
  214. package/esm2020/lib/components/statuses/statuses.component.mjs +0 -44
  215. package/esm2020/lib/components/steps/steps.component.mjs +0 -112
  216. package/esm2020/lib/components/suffix/suffix.component.mjs +0 -70
  217. package/esm2020/lib/components/table/detailsDialog.component.mjs +0 -406
  218. package/esm2020/lib/components/table/table.component.mjs +0 -440
  219. package/esm2020/lib/components/table-action/table-action.component.mjs +0 -80
  220. package/esm2020/lib/components/table-header/table-header.component.mjs +0 -148
  221. package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +0 -406
  222. package/esm2020/lib/components/table-internal/table-internal.component.mjs +0 -441
  223. package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +0 -404
  224. package/esm2020/lib/components/table-lite/table-lite.component.mjs +0 -441
  225. package/esm2020/lib/components/table-row/table-row.component.mjs +0 -93
  226. package/esm2020/lib/components/tabs/tabs.component.mjs +0 -74
  227. package/esm2020/lib/components/text/text.component.mjs +0 -255
  228. package/esm2020/lib/components/tiles/tiles.component.mjs +0 -99
  229. package/esm2020/lib/components/tin-spa.component.mjs +0 -19
  230. package/esm2020/lib/components/viewer/viewer.component.mjs +0 -83
  231. package/esm2020/lib/components/viewer/viewerDialog.component.mjs +0 -95
  232. package/esm2020/lib/modules/admin/admin-routing.module.mjs +0 -71
  233. package/esm2020/lib/modules/admin/admin.module.mjs +0 -26
  234. package/esm2020/lib/modules/index/index-routing.module.mjs +0 -27
  235. package/esm2020/lib/modules/index/index.module.mjs +0 -26
  236. package/esm2020/lib/modules/spa-admin.module.mjs +0 -71
  237. package/esm2020/lib/modules/spa-index.module.mjs +0 -54
  238. package/esm2020/lib/modules/spa-mat.module.mjs +0 -84
  239. package/esm2020/lib/modules/spa-user.module.mjs +0 -47
  240. package/esm2020/lib/modules/user/user-routing.module.mjs +0 -23
  241. package/esm2020/lib/modules/user/user.module.mjs +0 -26
  242. package/esm2020/lib/pages/accounts/accountDialog.component.mjs +0 -56
  243. package/esm2020/lib/pages/accounts/accounts.component.mjs +0 -70
  244. package/esm2020/lib/pages/app-models/app-models.component.mjs +0 -56
  245. package/esm2020/lib/pages/approvals/approvals.component.mjs +0 -19
  246. package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +0 -165
  247. package/esm2020/lib/pages/bug/bug.component.mjs +0 -14
  248. package/esm2020/lib/pages/change-password/change-password.component.mjs +0 -92
  249. package/esm2020/lib/pages/create-account/create-account.component.mjs +0 -110
  250. package/esm2020/lib/pages/customers/customers.component.mjs +0 -21
  251. package/esm2020/lib/pages/departments/departments.component.mjs +0 -22
  252. package/esm2020/lib/pages/employees/employees.component.mjs +0 -20
  253. package/esm2020/lib/pages/grades/grades.component.mjs +0 -14
  254. package/esm2020/lib/pages/inventory/inventory.component.mjs +0 -99
  255. package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +0 -53
  256. package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +0 -71
  257. package/esm2020/lib/pages/login/login.component.mjs +0 -166
  258. package/esm2020/lib/pages/logs/logs.component.mjs +0 -42
  259. package/esm2020/lib/pages/membership/membership.component.mjs +0 -44
  260. package/esm2020/lib/pages/notifications/notifications.component.mjs +0 -90
  261. package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +0 -113
  262. package/esm2020/lib/pages/plans/plans.component.mjs +0 -44
  263. package/esm2020/lib/pages/positions/positions.component.mjs +0 -21
  264. package/esm2020/lib/pages/profile/profile.component.mjs +0 -94
  265. package/esm2020/lib/pages/recover-account/recover-account.component.mjs +0 -46
  266. package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +0 -60
  267. package/esm2020/lib/pages/roles/roles.component.mjs +0 -151
  268. package/esm2020/lib/pages/settings/settings.component.mjs +0 -54
  269. package/esm2020/lib/pages/signup/signup.component.mjs +0 -50
  270. package/esm2020/lib/pages/suppliers/suppliers.component.mjs +0 -22
  271. package/esm2020/lib/pages/tasks/tasks.component.mjs +0 -86
  272. package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +0 -228
  273. package/esm2020/lib/pages/tenants/tenants.component.mjs +0 -47
  274. package/esm2020/lib/pages/transactions/transactDialog.component.mjs +0 -80
  275. package/esm2020/lib/pages/transactions/transactions.component.mjs +0 -101
  276. package/esm2020/lib/pages/users/users.component.mjs +0 -167
  277. package/esm2020/lib/pages/welcome/welcome.component.mjs +0 -86
  278. package/esm2020/lib/pipes/camelToWords.pipe.mjs +0 -17
  279. package/esm2020/lib/select-context.directive.mjs +0 -23
  280. package/esm2020/lib/services/auth.service.mjs +0 -175
  281. package/esm2020/lib/services/button.service.mjs +0 -162
  282. package/esm2020/lib/services/condition.service.mjs +0 -32
  283. package/esm2020/lib/services/csv.service.mjs +0 -49
  284. package/esm2020/lib/services/datalib.service.mjs +0 -860
  285. package/esm2020/lib/services/dialog.service.mjs +0 -125
  286. package/esm2020/lib/services/export.service.mjs +0 -16
  287. package/esm2020/lib/services/http.service.mjs +0 -79
  288. package/esm2020/lib/services/loader-interceptor.service.mjs +0 -86
  289. package/esm2020/lib/services/loader.service.mjs +0 -17
  290. package/esm2020/lib/services/log.service.mjs +0 -77
  291. package/esm2020/lib/services/message.service.mjs +0 -59
  292. package/esm2020/lib/services/notifications.service.mjs +0 -33
  293. package/esm2020/lib/services/storage.service.mjs +0 -34
  294. package/esm2020/lib/services/table-config.service.mjs +0 -78
  295. package/esm2020/lib/services/tin-spa.service.mjs +0 -14
  296. package/esm2020/lib/tin-spa.module.mjs +0 -225
  297. package/esm2020/public-api.mjs +0 -90
  298. package/esm2020/tin-spa.mjs +0 -5
  299. package/fesm2015/tin-spa.mjs +0 -11736
  300. package/fesm2015/tin-spa.mjs.map +0 -1
  301. package/fesm2020/tin-spa.mjs +0 -11738
  302. package/fesm2020/tin-spa.mjs.map +0 -1
  303. package/lib/classes/LibClasses.d.ts +0 -173
  304. package/lib/components/alert/alert.component.d.ts +0 -15
  305. package/lib/components/capsules/capsules.component.d.ts +0 -26
  306. package/lib/components/cards/cards.component.d.ts +0 -39
  307. package/lib/components/email/email.component.d.ts +0 -40
  308. package/lib/components/form/form.component.d.ts +0 -47
  309. package/lib/components/list-dialog/list-dialog.component.d.ts +0 -23
  310. package/lib/components/multi-select/multi-select.component.d.ts +0 -47
  311. package/lib/components/multi-text/multi-text.component.d.ts +0 -56
  312. package/lib/components/notes/notes.component.d.ts +0 -19
  313. package/lib/components/number/number.component.d.ts +0 -41
  314. package/lib/components/page/page.component.d.ts +0 -38
  315. package/lib/components/search/search.component.d.ts +0 -15
  316. package/lib/components/select-bitwise/select-bitwise.component.d.ts +0 -31
  317. package/lib/components/select-common/select-common.component.d.ts +0 -53
  318. package/lib/components/select-internal/select-internal.component.d.ts +0 -23
  319. package/lib/components/select-lite/select-lite.component.d.ts +0 -8
  320. package/lib/components/statuses/statuses.component.d.ts +0 -12
  321. package/lib/components/suffix/suffix.component.d.ts +0 -23
  322. package/lib/components/table/detailsDialog.component.d.ts +0 -86
  323. package/lib/components/table-action/table-action.component.d.ts +0 -25
  324. package/lib/components/table-header/table-header.component.d.ts +0 -46
  325. package/lib/components/table-internal/detailsDialog-internal.component.d.ts +0 -86
  326. package/lib/components/table-internal/table-internal.component.d.ts +0 -91
  327. package/lib/components/table-lite/detailsDialog-lite.component.d.ts +0 -86
  328. package/lib/components/table-lite/table-lite.component.d.ts +0 -91
  329. package/lib/components/table-row/table-row.component.d.ts +0 -31
  330. package/lib/components/tabs/tabs.component.d.ts +0 -32
  331. package/lib/modules/admin/admin-routing.module.d.ts +0 -7
  332. package/lib/modules/admin/admin.module.d.ts +0 -9
  333. package/lib/modules/index/index-routing.module.d.ts +0 -7
  334. package/lib/modules/index/index.module.d.ts +0 -9
  335. package/lib/modules/user/user-routing.module.d.ts +0 -7
  336. package/lib/modules/user/user.module.d.ts +0 -9
  337. package/lib/pages/accounts/accountDialog.component.d.ts +0 -27
  338. package/lib/pages/accounts/accounts.component.d.ts +0 -25
  339. package/lib/pages/app-models/app-models.component.d.ts +0 -15
  340. package/lib/pages/approvals/approvals.component.d.ts +0 -10
  341. package/lib/pages/approvals-config/approvals-config.component.d.ts +0 -24
  342. package/lib/pages/bug/bug.component.d.ts +0 -8
  343. package/lib/pages/customers/customers.component.d.ts +0 -12
  344. package/lib/pages/departments/departments.component.d.ts +0 -14
  345. package/lib/pages/employees/employees.component.d.ts +0 -12
  346. package/lib/pages/grades/grades.component.d.ts +0 -8
  347. package/lib/pages/inventory/inventory.component.d.ts +0 -25
  348. package/lib/pages/inventory/quantityDialog.component.d.ts +0 -23
  349. package/lib/pages/invitations-table/invitations-table.component.d.ts +0 -19
  350. package/lib/pages/login/login.component.d.ts +0 -46
  351. package/lib/pages/logs/logs.component.d.ts +0 -14
  352. package/lib/pages/membership/membership.component.d.ts +0 -13
  353. package/lib/pages/notifications/notifications.component.d.ts +0 -16
  354. package/lib/pages/notifications-config/notifications-config.component.d.ts +0 -17
  355. package/lib/pages/plans/plans.component.d.ts +0 -13
  356. package/lib/pages/positions/positions.component.d.ts +0 -12
  357. package/lib/pages/roles/addRoleDialog.component.d.ts +0 -24
  358. package/lib/pages/roles/roles.component.d.ts +0 -42
  359. package/lib/pages/suppliers/suppliers.component.d.ts +0 -14
  360. package/lib/pages/tasks/tasks.component.d.ts +0 -27
  361. package/lib/pages/tenant-settings/tenant-settings.component.d.ts +0 -47
  362. package/lib/pages/tenants/tenants.component.d.ts +0 -17
  363. package/lib/pages/transactions/transactDialog.component.d.ts +0 -26
  364. package/lib/pages/transactions/transactions.component.d.ts +0 -31
  365. package/lib/pages/welcome/welcome.component.d.ts +0 -25
  366. package/lib/pipes/camelToWords.pipe.d.ts +0 -7
  367. package/lib/select-context.directive.d.ts +0 -10
  368. package/lib/services/button.service.d.ts +0 -30
  369. package/lib/services/condition.service.d.ts +0 -10
  370. package/lib/services/csv.service.d.ts +0 -10
  371. package/lib/services/datalib.service.d.ts +0 -125
  372. package/lib/services/dialog.service.d.ts +0 -20
  373. package/lib/services/notifications.service.d.ts +0 -12
  374. package/lib/services/table-config.service.d.ts +0 -17
  375. /package/{index.d.ts → tin-spa.d.ts} +0 -0
@@ -0,0 +1,142 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/form-field";
7
+ import * as i4 from "@angular/material/button";
8
+ function messageDialog_mat_label_1_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelementStart(0, "mat-label");
10
+ i0.ɵɵtext(1, "Confirm");
11
+ i0.ɵɵelementEnd();
12
+ } }
13
+ function messageDialog_mat_label_2_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵelementStart(0, "mat-label");
15
+ i0.ɵɵtext(1, "Information");
16
+ i0.ɵɵelementEnd();
17
+ } }
18
+ function messageDialog_mat_label_3_Template(rf, ctx) { if (rf & 1) {
19
+ i0.ɵɵelementStart(0, "mat-label");
20
+ i0.ɵɵtext(1, "Error");
21
+ i0.ɵɵelementEnd();
22
+ } }
23
+ function messageDialog_p_5_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementStart(0, "p");
25
+ i0.ɵɵtext(1);
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ const ctx_r3 = i0.ɵɵnextContext();
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵtextInterpolate(ctx_r3._messageDetails);
31
+ } }
32
+ function messageDialog_div_6_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "div");
34
+ i0.ɵɵelementStart(1, "h3");
35
+ i0.ɵɵtext(2);
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementStart(3, "mat-label");
38
+ i0.ɵɵtext(4);
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵelementEnd();
41
+ } if (rf & 2) {
42
+ const ctx_r4 = i0.ɵɵnextContext();
43
+ i0.ɵɵadvance(2);
44
+ i0.ɵɵtextInterpolate(ctx_r4._messageSubject);
45
+ i0.ɵɵadvance(2);
46
+ i0.ɵɵtextInterpolate(ctx_r4._messageDetails);
47
+ } }
48
+ function messageDialog_div_7_Template(rf, ctx) { if (rf & 1) {
49
+ i0.ɵɵelementStart(0, "div");
50
+ i0.ɵɵelementStart(1, "mat-label");
51
+ i0.ɵɵtext(2);
52
+ i0.ɵɵelementEnd();
53
+ i0.ɵɵelementEnd();
54
+ } if (rf & 2) {
55
+ const ctx_r5 = i0.ɵɵnextContext();
56
+ i0.ɵɵadvance(2);
57
+ i0.ɵɵtextInterpolate(ctx_r5._messageDetails);
58
+ } }
59
+ function messageDialog_button_9_Template(rf, ctx) { if (rf & 1) {
60
+ const _r10 = i0.ɵɵgetCurrentView();
61
+ i0.ɵɵelementStart(0, "button", 6);
62
+ i0.ɵɵlistener("click", function messageDialog_button_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.response("yes"); });
63
+ i0.ɵɵtext(1, "Yes");
64
+ i0.ɵɵelementEnd();
65
+ } }
66
+ function messageDialog_button_10_Template(rf, ctx) { if (rf & 1) {
67
+ const _r12 = i0.ɵɵgetCurrentView();
68
+ i0.ɵɵelementStart(0, "button", 7);
69
+ i0.ɵɵlistener("click", function messageDialog_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.response("no"); });
70
+ i0.ɵɵtext(1, "No");
71
+ i0.ɵɵelementEnd();
72
+ } }
73
+ function messageDialog_button_11_Template(rf, ctx) { if (rf & 1) {
74
+ const _r14 = i0.ɵɵgetCurrentView();
75
+ i0.ɵɵelementStart(0, "button", 8);
76
+ i0.ɵɵlistener("click", function messageDialog_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.response("ok"); });
77
+ i0.ɵɵtext(1, "OK");
78
+ i0.ɵɵelementEnd();
79
+ } }
80
+ export class messageDialog {
81
+ constructor(dialogRef, data) {
82
+ this.dialogRef = dialogRef;
83
+ this.data = data;
84
+ }
85
+ ngOnInit() {
86
+ this.messageType = this.data.type;
87
+ this._messageSubject = this.data.subject;
88
+ this._messageDetails = this.data.details;
89
+ }
90
+ response(resp) {
91
+ this.dialogRef.close(resp);
92
+ }
93
+ }
94
+ messageDialog.ɵfac = function messageDialog_Factory(t) { return new (t || messageDialog)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
95
+ messageDialog.ɵcmp = i0.ɵɵdefineComponent({ type: messageDialog, selectors: [["lib-app-message"]], decls: 12, vars: 9, consts: [["mat-dialog-title", ""], [4, "ngIf"], [1, "mat-typography"], ["id", "btnYes", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click", 4, "ngIf"], ["id", "btnNo", "mat-stroked-button", "", 3, "click", 4, "ngIf"], ["id", "btnOK", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click", 4, "ngIf"], ["id", "btnYes", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click"], ["id", "btnNo", "mat-stroked-button", "", 3, "click"], ["id", "btnOK", "mat-stroked-button", "", "cdkFocusInitial", "", 3, "click"]], template: function messageDialog_Template(rf, ctx) { if (rf & 1) {
96
+ i0.ɵɵelementStart(0, "h2", 0);
97
+ i0.ɵɵtemplate(1, messageDialog_mat_label_1_Template, 2, 0, "mat-label", 1);
98
+ i0.ɵɵtemplate(2, messageDialog_mat_label_2_Template, 2, 0, "mat-label", 1);
99
+ i0.ɵɵtemplate(3, messageDialog_mat_label_3_Template, 2, 0, "mat-label", 1);
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵelementStart(4, "mat-dialog-content", 2);
102
+ i0.ɵɵtemplate(5, messageDialog_p_5_Template, 2, 1, "p", 1);
103
+ i0.ɵɵtemplate(6, messageDialog_div_6_Template, 5, 2, "div", 1);
104
+ i0.ɵɵtemplate(7, messageDialog_div_7_Template, 3, 1, "div", 1);
105
+ i0.ɵɵelementEnd();
106
+ i0.ɵɵelementStart(8, "mat-dialog-actions");
107
+ i0.ɵɵtemplate(9, messageDialog_button_9_Template, 2, 0, "button", 3);
108
+ i0.ɵɵtemplate(10, messageDialog_button_10_Template, 2, 0, "button", 4);
109
+ i0.ɵɵtemplate(11, messageDialog_button_11_Template, 2, 0, "button", 5);
110
+ i0.ɵɵelementEnd();
111
+ } if (rf & 2) {
112
+ i0.ɵɵadvance(1);
113
+ i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
114
+ i0.ɵɵadvance(1);
115
+ i0.ɵɵproperty("ngIf", ctx.messageType == "info");
116
+ i0.ɵɵadvance(1);
117
+ i0.ɵɵproperty("ngIf", ctx.messageType == "error");
118
+ i0.ɵɵadvance(2);
119
+ i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
120
+ i0.ɵɵadvance(1);
121
+ i0.ɵɵproperty("ngIf", ctx.messageType == "info");
122
+ i0.ɵɵadvance(1);
123
+ i0.ɵɵproperty("ngIf", ctx.messageType == "error");
124
+ i0.ɵɵadvance(2);
125
+ i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
126
+ i0.ɵɵadvance(1);
127
+ i0.ɵɵproperty("ngIf", ctx.messageType == "confirm");
128
+ i0.ɵɵadvance(1);
129
+ i0.ɵɵproperty("ngIf", ctx.messageType == "info" || ctx.messageType == "error");
130
+ } }, directives: [i1.MatDialogTitle, i2.NgIf, i1.MatDialogContent, i1.MatDialogActions, i3.MatLabel, i4.MatButton], encapsulation: 2 });
131
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(messageDialog, [{
132
+ type: Component,
133
+ args: [{
134
+ selector: 'lib-app-message',
135
+ templateUrl: './messageDialog.component.html'
136
+ }]
137
+ }], function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
138
+ type: Inject,
139
+ args: [MAT_DIALOG_DATA]
140
+ }] }]; }, null); })();
141
+ ;
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZURpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbWVzc2FnZS9tZXNzYWdlRGlhbG9nLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL21lc3NhZ2UvbWVzc2FnZURpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWEsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0lDRWhGLGlDQUEwQztJQUFBLHVCQUFPO0lBQUEsaUJBQVk7OztJQUM3RCxpQ0FBdUM7SUFBQSwyQkFBVztJQUFBLGlCQUFZOzs7SUFDOUQsaUNBQXdDO0lBQUEscUJBQUs7SUFBQSxpQkFBWTs7O0lBUXpELHlCQUFrQztJQUFBLFlBQW1CO0lBQUEsaUJBQUk7OztJQUF2QixlQUFtQjtJQUFuQiw0Q0FBbUI7OztJQUlyRCwyQkFFRTtJQUFBLDBCQUFJO0lBQUEsWUFBbUI7SUFBQSxpQkFBSztJQUM1QixpQ0FBVztJQUFBLFlBQW1CO0lBQUEsaUJBQVk7SUFFNUMsaUJBQU07OztJQUhBLGVBQW1CO0lBQW5CLDRDQUFtQjtJQUNaLGVBQW1CO0lBQW5CLDRDQUFtQjs7O0lBTWhDLDJCQUVFO0lBQUEsaUNBQVc7SUFBQSxZQUFtQjtJQUFBLGlCQUFZO0lBRTVDLGlCQUFNOzs7SUFGTyxlQUFtQjtJQUFuQiw0Q0FBbUI7Ozs7SUFTbEMsaUNBQWlIO0lBQTFDLDhLQUFrQixLQUFLLEtBQUU7SUFBaUIsbUJBQUc7SUFBQSxpQkFBUzs7OztJQUU3SCxpQ0FBK0Y7SUFBMUIsaUxBQWtCLElBQUksS0FBRTtJQUFFLGtCQUFFO0lBQUEsaUJBQVM7Ozs7SUFFMUcsaUNBQW1JO0lBQXpDLGlMQUFrQixJQUFJLEtBQUU7SUFBaUIsa0JBQUU7SUFBQSxpQkFBUzs7QUQvQmhKLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQW9CLFNBQXNDLEVBQWtDLElBQUk7UUFBNUUsY0FBUyxHQUFULFNBQVMsQ0FBNkI7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBQTtJQUFJLENBQUM7SUFHckcsUUFBUTtRQUVOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBRTNDLENBQUM7SUFNRCxRQUFRLENBQUMsSUFBWTtRQUVuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixDQUFDOzswRUFyQlUsYUFBYSw4REFFNEMsZUFBZTtrREFGeEUsYUFBYTtRQ1R4Qiw2QkFFRTtRQUFBLDBFQUEwQztRQUMxQywwRUFBdUM7UUFDdkMsMEVBQXdDO1FBRTFDLGlCQUFLO1FBRUwsNkNBR0U7UUFDQSwwREFBa0M7UUFJbEMsOERBRUU7UUFPRiw4REFFRTtRQUtKLGlCQUFxQjtRQUV2QiwwQ0FFRTtRQUFBLG9FQUFpSDtRQUVqSCxzRUFBK0Y7UUFFL0Ysc0VBQW1JO1FBRXJJLGlCQUFxQjs7UUF4Q04sZUFBOEI7UUFBOUIsbURBQThCO1FBQzlCLGVBQTJCO1FBQTNCLGdEQUEyQjtRQUMzQixlQUE0QjtRQUE1QixpREFBNEI7UUFRcEMsZUFBOEI7UUFBOUIsbURBQThCO1FBSTVCLGVBQTJCO1FBQTNCLGdEQUEyQjtRQVMzQixlQUE0QjtRQUE1QixpREFBNEI7UUFXSyxlQUE4QjtRQUE5QixtREFBOEI7UUFFaEMsZUFBOEI7UUFBOUIsbURBQThCO1FBRTlCLGVBQW1EO1FBQW5ELDhFQUFtRDs7a0REL0I5RSxhQUFhO2NBTHpCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixXQUFXLEVBQUUsZ0NBQWdDO2FBQzlDOztzQkFJOEQsTUFBTTt1QkFBQyxlQUFlOztBQXFCcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hcHAtbWVzc2FnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lc3NhZ2VEaWFsb2cuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgbWVzc2FnZURpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8bWVzc2FnZURpYWxvZz4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSkgeyB9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLm1lc3NhZ2VUeXBlID0gdGhpcy5kYXRhLnR5cGVcclxuICAgIHRoaXMuX21lc3NhZ2VTdWJqZWN0ID0gdGhpcy5kYXRhLnN1YmplY3Q7XHJcbiAgICB0aGlzLl9tZXNzYWdlRGV0YWlscyA9IHRoaXMuZGF0YS5kZXRhaWxzO1xyXG5cclxuICB9XHJcblxyXG4gIG1lc3NhZ2VUeXBlO1xyXG4gIF9tZXNzYWdlU3ViamVjdDtcclxuICBfbWVzc2FnZURldGFpbHM7XHJcblxyXG4gIHJlc3BvbnNlKHJlc3A6IHN0cmluZykge1xyXG5cclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3ApO1xyXG5cclxuICB9XHJcblxyXG59O1xyXG5cclxuXHJcblxyXG4iLCJcclxuICA8aDIgbWF0LWRpYWxvZy10aXRsZT5cclxuXHJcbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibWVzc2FnZVR5cGU9PSdjb25maXJtJ1wiPkNvbmZpcm08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJtZXNzYWdlVHlwZT09J2luZm8nXCI+SW5mb3JtYXRpb248L21hdC1sYWJlbD5cclxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJtZXNzYWdlVHlwZT09J2Vycm9yJ1wiPkVycm9yPC9tYXQtbGFiZWw+XHJcblxyXG4gIDwvaDI+XHJcblxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG5cclxuXHJcbiAgICA8IS0tIENvbmZpcm0gLS0+XHJcbiAgICA8cCAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0nY29uZmlybSdcIj57e19tZXNzYWdlRGV0YWlsc319PC9wPlxyXG5cclxuXHJcbiAgICA8IS0tIEluZm9ybWF0aW9uIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0naW5mbydcIj5cclxuXHJcbiAgICAgIDxoMz57e19tZXNzYWdlU3ViamVjdH19PC9oMz5cclxuICAgICAgPG1hdC1sYWJlbD57e19tZXNzYWdlRGV0YWlsc319PC9tYXQtbGFiZWw+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwhLS0gRXJyb3IgLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibWVzc2FnZVR5cGU9PSdlcnJvcidcIj5cclxuXHJcbiAgICAgIDxtYXQtbGFiZWw+e3tfbWVzc2FnZURldGFpbHN9fTwvbWF0LWxhYmVsPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG5cclxuICA8YnV0dG9uIGlkPVwiYnRuWWVzXCIgbWF0LXN0cm9rZWQtYnV0dG9uICAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0nY29uZmlybSdcIiAoY2xpY2spPVwicmVzcG9uc2UoJ3llcycpXCIgY2RrRm9jdXNJbml0aWFsPlllczwvYnV0dG9uPlxyXG5cclxuICA8YnV0dG9uIGlkPVwiYnRuTm9cIiBtYXQtc3Ryb2tlZC1idXR0b24gKm5nSWY9XCJtZXNzYWdlVHlwZT09J2NvbmZpcm0nXCIgKGNsaWNrKT1cInJlc3BvbnNlKCdubycpXCIgPk5vPC9idXR0b24+XHJcblxyXG4gIDxidXR0b24gaWQ9XCJidG5PS1wiIG1hdC1zdHJva2VkLWJ1dHRvbiAqbmdJZj1cIm1lc3NhZ2VUeXBlPT0naW5mbycgfHwgbWVzc2FnZVR5cGU9PSdlcnJvcidcIiAoY2xpY2spPVwicmVzcG9uc2UoJ29rJylcIiBjZGtGb2N1c0luaXRpYWw+T0s8L2J1dHRvbj5cclxuXHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG5cclxuXHJcblxyXG4iXX0=
@@ -0,0 +1,187 @@
1
+ import { Directive, HostListener, forwardRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { DecimalPipe } from '@angular/common';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export const CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR = {
7
+ provide: NG_VALUE_ACCESSOR,
8
+ useExisting: forwardRef(() => CurrencyInputMaskDirective),
9
+ multi: true
10
+ };
11
+ export class CurrencyInputMaskDirective {
12
+ constructor(elementRef, decimalPipe) {
13
+ this.elementRef = elementRef;
14
+ this.decimalPipe = decimalPipe;
15
+ this.DECIMAL_MARK = '.';
16
+ }
17
+ ngOnInit() {
18
+ this.el = this.elementRef.nativeElement;
19
+ }
20
+ handleFocus(event) {
21
+ const strVal = this.getInputValue();
22
+ const unmaskedStr = this.getUnmaskedValue(strVal);
23
+ this.updateInputValue(unmaskedStr);
24
+ }
25
+ handleCut(event) {
26
+ setTimeout(() => {
27
+ this.inputUpdated();
28
+ }, 0);
29
+ }
30
+ handleKeypress(event) {
31
+ // Restrict characters
32
+ const newChar = String.fromCharCode(event.which);
33
+ const allowedChars = /^[\d.]+$/;
34
+ if (!allowedChars.test(newChar)) {
35
+ event.preventDefault();
36
+ return;
37
+ }
38
+ // Handle decimal mark input
39
+ const currentValue = event.target.value;
40
+ const separatorIdx = currentValue.indexOf(this.DECIMAL_MARK);
41
+ const hasFractionalPart = (separatorIdx >= 0);
42
+ if (!hasFractionalPart || newChar !== this.DECIMAL_MARK) {
43
+ return;
44
+ }
45
+ const isOutsideSelection = !this.isIdxBetweenSelection(separatorIdx);
46
+ if (isOutsideSelection) {
47
+ const positionAfterMark = separatorIdx + 1;
48
+ this.setCursorPosition(positionAfterMark);
49
+ event.preventDefault();
50
+ return;
51
+ }
52
+ }
53
+ handleInput(event) {
54
+ this.inputUpdated();
55
+ }
56
+ handlePaste(event) {
57
+ setTimeout(() => {
58
+ this.inputUpdated();
59
+ }, 1);
60
+ }
61
+ handleBlur(event) {
62
+ const strVal = this.getInputValue();
63
+ const numVal = this.convertStrToDecimal(strVal);
64
+ this.maskInput(numVal);
65
+ this.onModelTouched.apply(event);
66
+ }
67
+ registerOnChange(callbackFunction) {
68
+ this.onModelChange = callbackFunction;
69
+ }
70
+ registerOnTouched(callbackFunction) {
71
+ this.onModelTouched = callbackFunction;
72
+ }
73
+ setDisabledState(value) {
74
+ this.el.disabled = value;
75
+ }
76
+ writeValue(numValue) {
77
+ this.maskInput(numValue);
78
+ }
79
+ maskInput(numVal) {
80
+ if (!this.isNumeric(numVal)) {
81
+ this.updateInputValue('');
82
+ return;
83
+ }
84
+ const strVal = this.convertDecimalToStr(numVal);
85
+ const newVal = this.transformWithPipe(strVal);
86
+ this.updateInputValue(newVal);
87
+ }
88
+ inputUpdated() {
89
+ this.restrictDecimalValue();
90
+ const strVal = this.getInputValue();
91
+ const unmaskedVal = this.getUnmaskedValue(strVal);
92
+ const numVal = this.convertStrToDecimal(unmaskedVal);
93
+ if (numVal !== this.lastNumVal) {
94
+ this.lastNumVal = numVal;
95
+ this.onModelChange(numVal);
96
+ }
97
+ }
98
+ restrictDecimalValue() {
99
+ const strVal = this.getInputValue();
100
+ const dotIdx = strVal.indexOf(this.DECIMAL_MARK);
101
+ const hasFractionalPart = (dotIdx >= 0);
102
+ if (hasFractionalPart) {
103
+ const fractionalPart = strVal.substring(dotIdx + 1);
104
+ if (fractionalPart.length > 2) {
105
+ const choppedVal = strVal.substring(0, dotIdx + 3);
106
+ this.updateInputValue(choppedVal, true);
107
+ return;
108
+ }
109
+ }
110
+ }
111
+ transformWithPipe(str) {
112
+ return this.decimalPipe.transform(str, '1.2-2');
113
+ }
114
+ getUnmaskedValue(value) {
115
+ return value.replace(/[^-\d\\.]/g, '');
116
+ }
117
+ updateInputValue(value, savePosition = false) {
118
+ if (savePosition) {
119
+ this.saveCursorPosition();
120
+ }
121
+ this.el.value = value;
122
+ }
123
+ getInputValue() {
124
+ return this.el.value;
125
+ }
126
+ convertStrToDecimal(str) {
127
+ return (this.isNumeric(str)) ? parseFloat(str) : null;
128
+ }
129
+ convertDecimalToStr(n) {
130
+ return (this.isNumeric(n)) ? n + '' : '';
131
+ }
132
+ isNumeric(n) {
133
+ return !isNaN(parseFloat(n)) && isFinite(n);
134
+ }
135
+ saveCursorPosition() {
136
+ const position = this.el.selectionStart;
137
+ setTimeout(() => {
138
+ this.setCursorPosition(position);
139
+ }, 1);
140
+ }
141
+ setCursorPosition(position) {
142
+ this.el.selectionStart = position;
143
+ this.el.selectionEnd = position;
144
+ }
145
+ isIdxBetweenSelection(idx) {
146
+ if (this.el.selectionStart === this.el.selectionEnd) {
147
+ return false;
148
+ }
149
+ return (idx >= this.el.selectionStart && idx < this.el.selectionEnd);
150
+ }
151
+ }
152
+ CurrencyInputMaskDirective.ɵfac = function CurrencyInputMaskDirective_Factory(t) { return new (t || CurrencyInputMaskDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.DecimalPipe)); };
153
+ CurrencyInputMaskDirective.ɵdir = i0.ɵɵdefineDirective({ type: CurrencyInputMaskDirective, selectors: [["", "appCurrencyInputMask", ""]], hostBindings: function CurrencyInputMaskDirective_HostBindings(rf, ctx) { if (rf & 1) {
154
+ i0.ɵɵlistener("focus", function CurrencyInputMaskDirective_focus_HostBindingHandler($event) { return ctx.handleFocus($event); })("cut", function CurrencyInputMaskDirective_cut_HostBindingHandler($event) { return ctx.handleCut($event); })("keypress", function CurrencyInputMaskDirective_keypress_HostBindingHandler($event) { return ctx.handleKeypress($event); })("input", function CurrencyInputMaskDirective_input_HostBindingHandler($event) { return ctx.handleInput($event); })("paste", function CurrencyInputMaskDirective_paste_HostBindingHandler($event) { return ctx.handlePaste($event); })("blur", function CurrencyInputMaskDirective_blur_HostBindingHandler($event) { return ctx.handleBlur($event); });
155
+ } }, features: [i0.ɵɵProvidersFeature([
156
+ CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR,
157
+ DecimalPipe
158
+ ])] });
159
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CurrencyInputMaskDirective, [{
160
+ type: Directive,
161
+ args: [{
162
+ selector: '[appCurrencyInputMask]',
163
+ providers: [
164
+ CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR,
165
+ DecimalPipe
166
+ ]
167
+ }]
168
+ }], function () { return [{ type: i0.ElementRef }, { type: i1.DecimalPipe }]; }, { handleFocus: [{
169
+ type: HostListener,
170
+ args: ['focus', ['$event']]
171
+ }], handleCut: [{
172
+ type: HostListener,
173
+ args: ['cut', ['$event']]
174
+ }], handleKeypress: [{
175
+ type: HostListener,
176
+ args: ['keypress', ['$event']]
177
+ }], handleInput: [{
178
+ type: HostListener,
179
+ args: ['input', ['$event']]
180
+ }], handlePaste: [{
181
+ type: HostListener,
182
+ args: ['paste', ['$event']]
183
+ }], handleBlur: [{
184
+ type: HostListener,
185
+ args: ['blur', ['$event']]
186
+ }] }); })();
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbW9uZXkvY3VycmVuY3ktaW5wdXQtbWFzay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ0EsVUFBVSxFQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFOUMsTUFBTSxDQUFDLE1BQU0sNENBQTRDLEdBQVE7SUFDL0QsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO0lBQ3pELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTywwQkFBMEI7SUFPckMsWUFDVSxVQUFzQixFQUN0QixXQUF3QjtRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSjFCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO0lBS3ZCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQVU7UUFDcEIsTUFBTSxNQUFNLEdBQVcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLFVBQVUsQ0FBQyxH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XG4gIERpcmVjdGl2ZSxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgRWxlbWVudFJlZiwgZm9yd2FyZFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmV4cG9ydCBjb25zdCBDVVJSRU5DWV9JTlBVVF9NQVNLX0RJUkVDVElWRV9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1cnJlbmN5SW5wdXRNYXNrRGlyZWN0aXZlKSxcclxuICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwQ3VycmVuY3lJbnB1dE1hc2tdJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIENVUlJFTkNZX0lOUFVUX01BU0tfRElSRUNUSVZFX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgRGVjaW1hbFBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUlucHV0TWFza0RpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG4gIHByaXZhdGUgZWw6IEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBvbk1vZGVsQ2hhbmdlOiBGdW5jdGlvbjtcclxuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbjtcclxuICBwcml2YXRlIGxhc3ROdW1WYWw6IG51bWJlcjtcclxuICBwcml2YXRlIERFQ0lNQUxfTUFSSyA9ICcuJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5lbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUZvY3VzKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHN0clZhbDogc3RyaW5nID0gdGhpcy5nZXRJbnB1dFZhbHVlKCk7XHJcbiAgICBjb25zdCB1bm1hc2tlZFN0cjogc3RyaW5nID0gdGhpcy5nZXRVbm1hc2tlZFZhbHVlKHN0clZhbCk7XHJcbiAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUodW5tYXNrZWRTdHIpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY3V0JywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVDdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wdXRVcGRhdGVkKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXByZXNzJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlwcmVzcyhldmVudDogYW55KSB7XHJcbiAgICAvLyBSZXN0cmljdCBjaGFyYWN0ZXJzXHJcbiAgICBjb25zdCBuZXdDaGFyOiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LndoaWNoKTtcclxuICAgIGNvbnN0IGFsbG93ZWRDaGFyczogUmVnRXhwID0gL15bXFxkLl0rJC87XHJcbiAgICBpZiAoIWFsbG93ZWRDaGFycy50ZXN0KG5ld0NoYXIpKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSBkZWNpbWFsIG1hcmsgaW5wdXRcclxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZTogc3RyaW5nID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgY29uc3Qgc2VwYXJhdG9ySWR4OiBudW1iZXIgPSBjdXJyZW50VmFsdWUuaW5kZXhPZih0aGlzLkRFQ0lNQUxfTUFSSyk7XHJcbiAgICBjb25zdCBoYXNGcmFjdGlvbmFsUGFydDogYm9vbGVhbiA9IChzZXBhcmF0b3JJZHggPj0gMCk7XHJcbiAgICBpZiAoIWhhc0ZyYWN0aW9uYWxQYXJ0IHx8IG5ld0NoYXIgIT09IHRoaXMuREVDSU1BTF9NQVJLKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGlzT3V0c2lkZVNlbGVjdGlvbiA9ICF0aGlzLmlzSWR4QmV0d2VlblNlbGVjdGlvbihzZXBhcmF0b3JJZHgpO1xyXG4gICAgaWYgKGlzT3V0c2lkZVNlbGVjdGlvbikge1xyXG4gICAgICBjb25zdCBwb3NpdGlvbkFmdGVyTWFyayA9IHNlcGFyYXRvcklkeCArIDE7XHJcbiAgICAgIHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24ocG9zaXRpb25BZnRlck1hcmspO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pbnB1dFVwZGF0ZWQoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVQYXN0ZShldmVudDogYW55KSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pbnB1dFVwZGF0ZWQoKTtcclxuICAgIH0sIDEpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlQmx1cihldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBzdHJWYWw6IHN0cmluZyA9IHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xyXG4gICAgY29uc3QgbnVtVmFsOiBudW1iZXIgPSB0aGlzLmNvbnZlcnRTdHJUb0RlY2ltYWwoc3RyVmFsKTtcclxuICAgIHRoaXMubWFza0lucHV0KG51bVZhbCk7XHJcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkLmFwcGx5KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoY2FsbGJhY2tGdW5jdGlvbjogRnVuY3Rpb24pOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGNhbGxiYWNrRnVuY3Rpb247XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChjYWxsYmFja0Z1bmN0aW9uOiBGdW5jdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGNhbGxiYWNrRnVuY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsLmRpc2FibGVkID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKG51bVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza0lucHV0KG51bVZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFza0lucHV0KG51bVZhbDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNOdW1lcmljKG51bVZhbCkpIHtcclxuICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKCcnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3RyVmFsOiBzdHJpbmcgPSB0aGlzLmNvbnZlcnREZWNpbWFsVG9TdHIobnVtVmFsKTtcclxuICAgIGNvbnN0IG5ld1ZhbDogc3RyaW5nID0gdGhpcy50cmFuc2Zvcm1XaXRoUGlwZShzdHJWYWwpO1xyXG4gICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKG5ld1ZhbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlucHV0VXBkYXRlZCgpIHtcclxuICAgIHRoaXMucmVzdHJpY3REZWNpbWFsVmFsdWUoKTtcclxuICAgIGNvbnN0IHN0clZhbDogc3RyaW5nID0gdGhpcy5nZXRJbnB1dFZhbHVlKCk7XHJcbiAgICBjb25zdCB1bm1hc2tlZFZhbDogc3RyaW5nID0gdGhpcy5nZXRVbm1hc2tlZFZhbHVlKHN0clZhbCk7XHJcbiAgICBjb25zdCBudW1WYWw6IG51bWJlciA9IHRoaXMuY29udmVydFN0clRvRGVjaW1hbCh1bm1hc2tlZFZhbCk7XHJcbiAgICBpZiAobnVtVmFsICE9PSB0aGlzLmxhc3ROdW1WYWwpIHtcclxuICAgICAgdGhpcy5sYXN0TnVtVmFsID0gbnVtVmFsO1xyXG4gICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UobnVtVmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzdHJpY3REZWNpbWFsVmFsdWUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdHJWYWw6IHN0cmluZyA9IHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xyXG4gICAgY29uc3QgZG90SWR4OiBudW1iZXIgPSBzdHJWYWwuaW5kZXhPZih0aGlzLkRFQ0lNQUxfTUFSSyk7XHJcbiAgICBjb25zdCBoYXNGcmFjdGlvbmFsUGFydDogYm9vbGVhbiA9IChkb3RJZHggPj0gMCk7XHJcbiAgICBpZiAoaGFzRnJhY3Rpb25hbFBhcnQpIHtcclxuICAgICAgY29uc3QgZnJhY3Rpb25hbFBhcnQ6IHN0cmluZyA9IHN0clZhbC5zdWJzdHJpbmcoZG90SWR4ICsgMSk7XHJcbiAgICAgIGlmIChmcmFjdGlvbmFsUGFydC5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgY29uc3QgY2hvcHBlZFZhbDogc3RyaW5nID0gc3RyVmFsLnN1YnN0cmluZygwLCBkb3RJZHggKyAzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUoY2hvcHBlZFZhbCwgdHJ1ZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1XaXRoUGlwZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oc3RyLCAnMS4yLTInKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VW5tYXNrZWRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bXi1cXGRcXFxcLl0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVJbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcsIHNhdmVQb3NpdGlvbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAoc2F2ZVBvc2l0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2F2ZUN1cnNvclBvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVsLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldElucHV0VmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVsLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0U3RyVG9EZWNpbWFsKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAodGhpcy5pc051bWVyaWMoc3RyKSkgPyBwYXJzZUZsb2F0KHN0cikgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0RGVjaW1hbFRvU3RyKG46IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuaXNOdW1lcmljKG4pKSA/IG4gKyAnJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc051bWVyaWMobjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlQ3Vyc29yUG9zaXRpb24oKSB7XHJcbiAgICBjb25zdCBwb3NpdGlvbjogbnVtYmVyID0gdGhpcy5lbC5zZWxlY3Rpb25TdGFydDtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldEN1cnNvclBvc2l0aW9uKHBvc2l0aW9uKTtcclxuICAgIH0sIDEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJzb3JQb3NpdGlvbihwb3NpdGlvbjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID0gcG9zaXRpb247XHJcbiAgICB0aGlzLmVsLnNlbGVjdGlvbkVuZCA9IHBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0lkeEJldHdlZW5TZWxlY3Rpb24oaWR4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLnNlbGVjdGlvbkVuZCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGlkeCA+PSB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ICYmIGlkeCA8IHRoaXMuZWwuc2VsZWN0aW9uRW5kKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { CurrencyInputMaskDirective } from './currency-input-mask.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class CurrencyInputModule {
7
+ }
8
+ CurrencyInputModule.ɵmod = i0.ɵɵdefineNgModule({ type: CurrencyInputModule });
9
+ CurrencyInputModule.ɵinj = i0.ɵɵdefineInjector({ factory: function CurrencyInputModule_Factory(t) { return new (t || CurrencyInputModule)(); }, imports: [[
10
+ CommonModule,
11
+ FormsModule
12
+ ]] });
13
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CurrencyInputModule, { declarations: [CurrencyInputMaskDirective], imports: [CommonModule,
14
+ FormsModule], exports: [CurrencyInputMaskDirective] }); })();
15
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CurrencyInputModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ imports: [
19
+ CommonModule,
20
+ FormsModule
21
+ ],
22
+ declarations: [
23
+ CurrencyInputMaskDirective
24
+ ],
25
+ exports: [
26
+ CurrencyInputMaskDirective
27
+ ]
28
+ }]
29
+ }], null, null); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktaW5wdXQtbWFzay5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbW9uZXkvY3VycmVuY3ktaW5wdXQtbWFzay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWM3RSxNQUFNLE9BQU8sbUJBQW1COzt1REFBbkIsbUJBQW1CO3FIQUFuQixtQkFBbUIsa0JBWHJCO1lBQ1AsWUFBWTtZQUNaLFdBQVc7U0FDWjt3RkFRVSxtQkFBbUIsbUJBTjVCLDBCQUEwQixhQUoxQixZQUFZO1FBQ1osV0FBVyxhQU1YLDBCQUEwQjtrREFHakIsbUJBQW1CO2NBWi9CLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO2lCQUNaO2dCQUNELFlBQVksRUFBRTtvQkFDWiwwQkFBMEI7aUJBQzNCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7aUJBQzNCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEN1cnJlbmN5SW5wdXRNYXNrRGlyZWN0aXZlIH0gZnJvbSAnLi9jdXJyZW5jeS1pbnB1dC1tYXNrLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEN1cnJlbmN5SW5wdXRNYXNrRGlyZWN0aXZlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBDdXJyZW5jeUlucHV0TWFza0RpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5SW5wdXRNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,152 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FormControl, Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/form-field";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/input";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "./currency-input-mask.directive";
9
+ function MoneyComponent_span_4_Template(rf, ctx) { if (rf & 1) {
10
+ i0.ɵɵelementStart(0, "span", 4);
11
+ i0.ɵɵtext(1);
12
+ i0.ɵɵelementEnd();
13
+ } if (rf & 2) {
14
+ const ctx_r0 = i0.ɵɵnextContext();
15
+ i0.ɵɵadvance(1);
16
+ i0.ɵɵtextInterpolate1("", ctx_r0.currency, "\u00A0");
17
+ } }
18
+ function MoneyComponent_mat_error_5_Template(rf, ctx) { if (rf & 1) {
19
+ i0.ɵɵelementStart(0, "mat-error");
20
+ i0.ɵɵtext(1);
21
+ i0.ɵɵelementEnd();
22
+ } if (rf & 2) {
23
+ const ctx_r1 = i0.ɵɵnextContext();
24
+ i0.ɵɵadvance(1);
25
+ i0.ɵɵtextInterpolate(ctx_r1.validate(ctx_r1.control));
26
+ } }
27
+ const _c0 = function (a0) { return { "width": a0 }; };
28
+ export class MoneyComponent {
29
+ constructor() {
30
+ this.readonly = false;
31
+ this.hint = "";
32
+ this.display = "";
33
+ this.placeholder = "";
34
+ this.value = "";
35
+ this.width = "100%";
36
+ this.currency = "";
37
+ this.valueChange = new EventEmitter();
38
+ this.leave = new EventEmitter();
39
+ this.enterPress = new EventEmitter();
40
+ //validation input
41
+ this.required = true;
42
+ this.min = 0;
43
+ this.max = 9000000000000000; //Math.max 9000000000000000
44
+ //validation
45
+ this.control = new FormControl(this.value, [Validators.required, Validators.min(this.min), Validators.max(this.max)]);
46
+ }
47
+ ngOnInit() {
48
+ if (this.placeholder == "") {
49
+ this.placeholder = "Enter " + this.display;
50
+ }
51
+ }
52
+ ngOnChanges() {
53
+ }
54
+ ngAfterViewInit() {
55
+ this.initControl(this.control);
56
+ }
57
+ initControl(control) {
58
+ if (this.readonly) {
59
+ control.setValidators(null);
60
+ control.updateValueAndValidity();
61
+ }
62
+ if (!this.required && !this.readonly) {
63
+ control.setValidators([Validators.min(this.min), Validators.max(this.max)]);
64
+ this.control.updateValueAndValidity();
65
+ }
66
+ }
67
+ changed(x) {
68
+ this.valueChange.emit(x);
69
+ }
70
+ leaved() {
71
+ this.leave.emit();
72
+ }
73
+ enterPressed() {
74
+ this.enterPress.emit();
75
+ }
76
+ validate(control) {
77
+ if (this.required && control.hasError('required')) {
78
+ return `Required`;
79
+ }
80
+ if (parseFloat(this.value) < this.min) {
81
+ return `Minimun value is ${this.min}`;
82
+ }
83
+ if (parseFloat(this.value) > this.max) {
84
+ return `Maximum value is ${this.max}`;
85
+ }
86
+ if (control.hasError('min')) {
87
+ return `Minimun value is ${this.min}`;
88
+ }
89
+ if (control.hasError('max')) {
90
+ return `Maximum value is ${this.max}`;
91
+ }
92
+ return "";
93
+ }
94
+ }
95
+ MoneyComponent.ɵfac = function MoneyComponent_Factory(t) { return new (t || MoneyComponent)(); };
96
+ MoneyComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MoneyComponent, selectors: [["spa-money"]], inputs: { readonly: "readonly", hint: "hint", display: "display", placeholder: "placeholder", value: "value", width: "width", currency: "currency", required: "required", min: "min", max: "max" }, outputs: { valueChange: "valueChange", leave: "leave", enterPress: "enterPress" }, features: [i0.ɵɵNgOnChangesFeature], decls: 6, vars: 13, consts: [["hideRequiredMarker", "true", "hideRequiredMarker", "true", 2, "margin-right", "5px", 3, "hintLabel", "ngStyle"], ["matInput", "", "appCurrencyInputMask", "", "autocomplete", "off", 2, "text-align", "right", 3, "min", "max", "ngModel", "placeholder", "formControl", "readonly", "ngModelChange", "keyup.enter", "blur"], ["matPrefix", "", 4, "ngIf"], [4, "ngIf"], ["matPrefix", ""]], template: function MoneyComponent_Template(rf, ctx) { if (rf & 1) {
97
+ i0.ɵɵelementStart(0, "mat-form-field", 0);
98
+ i0.ɵɵelementStart(1, "mat-label");
99
+ i0.ɵɵtext(2);
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵelementStart(3, "input", 1);
102
+ i0.ɵɵlistener("ngModelChange", function MoneyComponent_Template_input_ngModelChange_3_listener($event) { return ctx.changed($event); })("keyup.enter", function MoneyComponent_Template_input_keyup_enter_3_listener() { return ctx.enterPressed(); })("blur", function MoneyComponent_Template_input_blur_3_listener() { return ctx.leaved(); });
103
+ i0.ɵɵelementEnd();
104
+ i0.ɵɵtemplate(4, MoneyComponent_span_4_Template, 2, 1, "span", 2);
105
+ i0.ɵɵtemplate(5, MoneyComponent_mat_error_5_Template, 2, 1, "mat-error", 3);
106
+ i0.ɵɵelementEnd();
107
+ } if (rf & 2) {
108
+ i0.ɵɵproperty("hintLabel", ctx.hint)("ngStyle", i0.ɵɵpureFunction1(11, _c0, ctx.width));
109
+ i0.ɵɵadvance(2);
110
+ i0.ɵɵtextInterpolate(ctx.display);
111
+ i0.ɵɵadvance(1);
112
+ i0.ɵɵproperty("min", ctx.min)("max", ctx.max)("ngModel", ctx.value)("placeholder", ctx.placeholder)("formControl", ctx.control)("readonly", ctx.readonly);
113
+ i0.ɵɵadvance(1);
114
+ i0.ɵɵproperty("ngIf", ctx.currency != "");
115
+ i0.ɵɵadvance(1);
116
+ i0.ɵɵproperty("ngIf", ctx.control.invalid);
117
+ } }, directives: [i1.MatFormField, i2.NgStyle, i1.MatLabel, i3.MatInput, i4.DefaultValueAccessor, i5.CurrencyInputMaskDirective, i4.NgControlStatus, i4.FormControlDirective, i2.NgIf, i1.MatPrefix, i1.MatError], styles: ["input.example-right-align[_ngcontent-%COMP%]{-moz-appearance:textfield}.example-right-align[_ngcontent-%COMP%]{text-align:right}input.example-right-align[_ngcontent-%COMP%]::-webkit-inner-spin-button, input.example-right-align[_ngcontent-%COMP%]::-webkit-outer-spin-button{display:none}.curr[_ngcontent-%COMP%]{background-color:red}"] });
118
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MoneyComponent, [{
119
+ type: Component,
120
+ args: [{
121
+ selector: 'spa-money',
122
+ templateUrl: './money.component.html',
123
+ styleUrls: ['./money.component.css']
124
+ }]
125
+ }], function () { return []; }, { readonly: [{
126
+ type: Input
127
+ }], hint: [{
128
+ type: Input
129
+ }], display: [{
130
+ type: Input
131
+ }], placeholder: [{
132
+ type: Input
133
+ }], value: [{
134
+ type: Input
135
+ }], width: [{
136
+ type: Input
137
+ }], currency: [{
138
+ type: Input
139
+ }], valueChange: [{
140
+ type: Output
141
+ }], leave: [{
142
+ type: Output
143
+ }], enterPress: [{
144
+ type: Output
145
+ }], required: [{
146
+ type: Input
147
+ }], min: [{
148
+ type: Input
149
+ }], max: [{
150
+ type: Input
151
+ }] }); })();
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL21vbmV5L21vbmV5LmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL21vbmV5L21vbmV5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7SUNNdkQsK0JBQXFDO0lBQUEsWUFBa0I7SUFBQSxpQkFBTzs7O0lBQXpCLGVBQWtCO0lBQWxCLG9EQUFrQjs7O0lBQ3ZELGlDQUFtQztJQUFBLFlBQXFCO0lBQUEsaUJBQVk7OztJQUFqQyxlQUFxQjtJQUFyQixxREFBcUI7OztBREExRCxNQUFNLE9BQU8sY0FBYztJQUV6QjtRQTRCUyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFVBQUssR0FBRyxNQUFNLENBQUE7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTFDLGtCQUFrQjtRQUNULGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLDJCQUEyQjtRQWU1RCxZQUFZO1FBQ1osWUFBTyxHQUFHLElBQUksV0FB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QUEsMEJBQUE7UUFFTCxlQUFvQjtRQUFwQix5Q0FBb0I7UUFDZixlQUF1QjtRQUF2QiwwQ0FBdUI7O2tEREF2QixjQUFjO2NBTDFCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDckM7O2tCQStCRSxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLOztrQkFFTCxNQUFNOztrQkFDTixNQUFNOztrQkFDTixNQUFNOztrQkFLTixLQUFLOztrQkFDTCxLQUFLOztrQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLW1vbmV5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9uZXkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21vbmV5LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9uZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyID09IFwiXCIpIHtcclxuICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IFwiRW50ZXIgXCIgKyB0aGlzLmRpc3BsYXk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmluaXRDb250cm9sKHRoaXMuY29udHJvbClcclxuICB9XHJcblxyXG4gIGluaXRDb250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sKSB7XHJcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMobnVsbCk7XHJcbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnJlcXVpcmVkICYmICF0aGlzLnJlYWRvbmx5KSB7XHJcblxyXG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMubWluKHRoaXMubWluKSwgVmFsaWRhdG9ycy5tYXgodGhpcy5tYXgpXSk7XHJcbiAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpbnQgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXkgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gXCJcIjtcclxuICBASW5wdXQoKSB2YWx1ZSA9IFwiXCI7XHJcbiAgQElucHV0KCkgd2lkdGggPSBcIjEwMCVcIlxyXG4gIEBJbnB1dCgpIGN1cnJlbmN5ID0gXCJcIjtcclxuXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZW50ZXJQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblxyXG5cclxuICAvL3ZhbGlkYXRpb24gaW5wdXRcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgbWluID0gMDtcclxuICBASW5wdXQoKSBtYXggPSA5MDAwMDAwMDAwMDAwMDAwOyAvL01hdGgubWF4IDkwMDAwMDAwMDAwMDAwMDBcclxuXHJcblxyXG4gIGNoYW5nZWQoeCl7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoeCk7XHJcbiAgfVxyXG5cclxuICBsZWF2ZWQoKSB7XHJcbiAgICB0aGlzLmxlYXZlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGVudGVyUHJlc3NlZCgpIHtcclxuICAgIHRoaXMuZW50ZXJQcmVzcy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvL3ZhbGlkYXRpb25cclxuICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMudmFsdWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbih0aGlzLm1pbiksIFZhbGlkYXRvcnMubWF4KHRoaXMubWF4KV0pO1xyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCk6IHN0cmluZyB7XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xyXG4gICAgICByZXR1cm4gYFJlcXVpcmVkYDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyc2VGbG9hdCh0aGlzLnZhbHVlKSA8IHRoaXMubWluKXtcclxuICAgICAgcmV0dXJuIGBNaW5pbXVuIHZhbHVlIGlzICR7dGhpcy5taW59YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyc2VGbG9hdCh0aGlzLnZhbHVlKSA+IHRoaXMubWF4KSB7XHJcbiAgICAgIHJldHVybiBgTWF4aW11bSB2YWx1ZSBpcyAke3RoaXMubWF4fWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRyb2wuaGFzRXJyb3IoJ21pbicpKSB7XHJcbiAgICAgIHJldHVybiBgTWluaW11biB2YWx1ZSBpcyAke3RoaXMubWlufWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbnRyb2wuaGFzRXJyb3IoJ21heCcpKSB7XHJcbiAgICAgIHJldHVybiBgTWF4aW11bSB2YWx1ZSBpcyAke3RoaXMubWF4fWA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiXHJcblxyXG48bWF0LWZvcm0tZmllbGQgaGlkZVJlcXVpcmVkTWFya2VyPVwidHJ1ZVwiIFtoaW50TGFiZWxdPVwiaGludFwiICBbbmdTdHlsZV09XCJ7J3dpZHRoJzp3aWR0aH1cIiBoaWRlUmVxdWlyZWRNYXJrZXI9XCJ0cnVlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweDtcIj5cclxuICA8bWF0LWxhYmVsPnt7ZGlzcGxheX19PC9tYXQtbGFiZWw+XHJcbiAgPGlucHV0IG1hdElucHV0IGFwcEN1cnJlbmN5SW5wdXRNYXNrIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCJcclxuICBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCJcclxuICBbbmdNb2RlbF09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZWQoJGV2ZW50KVwiIChrZXl1cC5lbnRlcik9XCJlbnRlclByZXNzZWQoKVwiIChibHVyKT1cImxlYXZlZCgpXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiAvPlxyXG4gIDxzcGFuICpuZ0lmPVwiY3VycmVuY3khPScnXCIgbWF0UHJlZml4Pnt7Y3VycmVuY3l9fSZuYnNwOzwvc3Bhbj5cclxuICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkXCI+e3t2YWxpZGF0ZShjb250cm9sKX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4iXX0=