monkey-style-guide-v2 0.0.17 → 0.0.18

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 (279) hide show
  1. package/assets/scss/directives/_badge.scss +49 -0
  2. package/assets/scss/directives/_index.scss +1 -0
  3. package/assets/scss/table/_styles.scss +0 -33
  4. package/esm2022/lib/components/accordion/accordion.component.mjs +102 -0
  5. package/esm2022/lib/components/accordion/index.mjs +7 -0
  6. package/esm2022/lib/components/action-bar/action-bar.component.mjs +46 -0
  7. package/esm2022/lib/components/action-bar/index.mjs +7 -0
  8. package/esm2022/lib/components/alert/alert.component.mjs +50 -0
  9. package/esm2022/lib/components/alert/index.mjs +7 -0
  10. package/esm2022/lib/components/avatar/avatar.component.mjs +55 -0
  11. package/esm2022/lib/components/avatar/index.mjs +7 -0
  12. package/esm2022/lib/components/badge/badge.component.mjs +74 -0
  13. package/esm2022/lib/components/badge/index.mjs +7 -0
  14. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +56 -0
  15. package/esm2022/lib/components/breadcrumb/index.mjs +7 -0
  16. package/esm2022/lib/components/{monkey-button/monkey-button.component.mjs → button/button.component.mjs} +1 -1
  17. package/esm2022/lib/components/button/index.mjs +7 -0
  18. package/esm2022/lib/components/checkbox/checkbox.component.mjs +219 -0
  19. package/esm2022/lib/components/checkbox/index.mjs +7 -0
  20. package/esm2022/lib/components/date-range/date-range.component.mjs +239 -0
  21. package/esm2022/lib/components/date-range/index.mjs +7 -0
  22. package/esm2022/lib/components/date-range/month/index.mjs +7 -0
  23. package/esm2022/lib/components/date-range/month/month.component.mjs +148 -0
  24. package/esm2022/lib/components/date-range/quick-actions/index.mjs +7 -0
  25. package/esm2022/lib/components/date-range/quick-actions/quick-actions.component.mjs +48 -0
  26. package/esm2022/lib/components/date-range/utils.mjs +102 -0
  27. package/esm2022/lib/components/divider/divider.component.mjs +44 -0
  28. package/esm2022/lib/components/divider/index.mjs +7 -0
  29. package/esm2022/lib/components/form-field/form-field-control.mjs +15 -0
  30. package/esm2022/lib/components/form-field/form-field.component.mjs +268 -0
  31. package/esm2022/lib/components/form-field/form-field.module.mjs +21 -0
  32. package/esm2022/lib/components/form-field/index.mjs +10 -0
  33. package/esm2022/lib/components/form-field/utils.mjs +16 -0
  34. package/esm2022/lib/components/icon/icon.component.mjs +51 -0
  35. package/esm2022/lib/components/icon/index.mjs +7 -0
  36. package/esm2022/lib/components/{monkey-icon-button/monkey-icon-button.component.mjs → icon-button/icon-button.component.mjs} +2 -2
  37. package/esm2022/lib/components/icon-button/index.mjs +7 -0
  38. package/esm2022/lib/components/index.mjs +27 -21
  39. package/esm2022/lib/components/input/index.mjs +9 -0
  40. package/esm2022/lib/components/input/input-currency.directive.mjs +185 -0
  41. package/esm2022/lib/components/input/input.directive.mjs +185 -0
  42. package/esm2022/lib/components/input/input.module.mjs +24 -0
  43. package/esm2022/lib/components/input/validators.mjs +22 -0
  44. package/esm2022/lib/components/input-code/index.mjs +7 -0
  45. package/esm2022/lib/components/input-code/input-code.component.mjs +232 -0
  46. package/esm2022/lib/components/input-upload/index.mjs +7 -0
  47. package/esm2022/lib/components/input-upload/input-upload.component.mjs +238 -0
  48. package/esm2022/lib/components/{monkey-modal → modal}/components/default.mjs +8 -6
  49. package/esm2022/lib/components/{monkey-modal → modal}/directives/actions.mjs +1 -1
  50. package/esm2022/lib/components/{monkey-modal → modal}/directives/content.mjs +1 -1
  51. package/esm2022/lib/components/{monkey-modal → modal}/directives/subtitle.mjs +1 -1
  52. package/esm2022/lib/components/{monkey-modal → modal}/directives/title.mjs +1 -1
  53. package/esm2022/lib/components/modal/index.mjs +16 -0
  54. package/esm2022/lib/components/modal/modal-config.mjs +20 -0
  55. package/esm2022/lib/components/modal/modal-ref.mjs +49 -0
  56. package/esm2022/lib/components/modal/modal.component.mjs +117 -0
  57. package/esm2022/lib/components/modal/modal.module.mjs +53 -0
  58. package/esm2022/lib/components/modal/modal.service.mjs +137 -0
  59. package/esm2022/lib/components/modal/utils.mjs +23 -0
  60. package/esm2022/lib/components/option/index.mjs +7 -0
  61. package/esm2022/lib/components/{monkey-option/monkey-option.component.mjs → option/option.component.mjs} +1 -1
  62. package/esm2022/lib/components/security-level/index.mjs +7 -0
  63. package/esm2022/lib/components/{monkey-security-level/monkey-security-level.component.mjs → security-level/security-level.component.mjs} +1 -1
  64. package/esm2022/lib/components/select/index.mjs +7 -0
  65. package/esm2022/lib/components/select/select.component.mjs +448 -0
  66. package/esm2022/lib/components/status/index.mjs +7 -0
  67. package/esm2022/lib/components/{monkey-status/monkey-status.component.mjs → status/status.component.mjs} +1 -1
  68. package/esm2022/lib/components/{monkey-table → table}/components/pagination-action/pagination-action.mjs +2 -2
  69. package/esm2022/lib/components/table/components/pagination-label/pagination-label.mjs +34 -0
  70. package/esm2022/lib/components/table/components/pagination-size/pagination-size.mjs +57 -0
  71. package/esm2022/lib/components/table/directives/column-checked.mjs +109 -0
  72. package/esm2022/lib/components/table/directives/column-expansible.mjs +134 -0
  73. package/esm2022/lib/components/table/directives/column-sortable.mjs +97 -0
  74. package/esm2022/lib/components/{monkey-table → table}/directives/column-stick.mjs +1 -1
  75. package/esm2022/lib/components/table/index.mjs +15 -0
  76. package/esm2022/lib/components/{monkey-table/table.mjs → table/table.component.mjs} +3 -2
  77. package/esm2022/lib/components/table/table.module.mjs +64 -0
  78. package/esm2022/lib/components/toast/index.mjs +7 -0
  79. package/esm2022/lib/components/toast/toast.component.mjs +79 -0
  80. package/esm2022/lib/components/toggle/index.mjs +7 -0
  81. package/esm2022/lib/components/{monkey-toggle/monkey-toggle.component.mjs → toggle/toggle.component.mjs} +6 -1
  82. package/esm2022/lib/components/toggle-line/index.mjs +8 -0
  83. package/esm2022/lib/components/toggle-line/toggle-line-button/index.mjs +7 -0
  84. package/esm2022/lib/components/{monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.mjs → toggle-line/toggle-line-button/toggle-line-button.component.mjs} +3 -3
  85. package/esm2022/lib/components/toggle-line/toggle-line.component.mjs +85 -0
  86. package/esm2022/lib/components/tooltip/index.mjs +8 -0
  87. package/esm2022/lib/components/tooltip/tooltip/index.mjs +7 -0
  88. package/esm2022/lib/components/tooltip/tooltip/tooltip.component.mjs +58 -0
  89. package/esm2022/lib/components/tooltip/tooltip.directive.mjs +180 -0
  90. package/esm2022/lib/directives/badge.mjs +74 -0
  91. package/esm2022/lib/directives/index.mjs +2 -1
  92. package/esm2022/lib/directives/module.mjs +33 -4
  93. package/esm2022/lib/interfaces/sizes.mjs +1 -1
  94. package/esm2022/lib/services/dictionary.service.mjs +224 -0
  95. package/esm2022/lib/services/icons.service.mjs +56 -0
  96. package/esm2022/lib/services/index.mjs +8 -4
  97. package/esm2022/lib/services/toast.service.mjs +72 -0
  98. package/esm2022/lib/tokens/index.mjs +3 -0
  99. package/esm2022/utils/utils.mjs +32 -1
  100. package/fesm2022/monkey-style-guide-v2.mjs +2254 -391
  101. package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
  102. package/lib/components/accordion/index.d.ts +6 -0
  103. package/lib/components/action-bar/action-bar.component.d.ts +9 -0
  104. package/lib/components/action-bar/index.d.ts +6 -0
  105. package/lib/components/alert/index.d.ts +6 -0
  106. package/lib/components/avatar/avatar.component.d.ts +30 -0
  107. package/lib/components/avatar/index.d.ts +6 -0
  108. package/lib/components/badge/badge.component.d.ts +19 -0
  109. package/lib/components/badge/index.d.ts +6 -0
  110. package/lib/components/breadcrumb/index.d.ts +6 -0
  111. package/lib/components/button/index.d.ts +6 -0
  112. package/lib/components/{monkey-checkbox/monkey-checkbox.component.d.ts → checkbox/checkbox.component.d.ts} +1 -1
  113. package/lib/components/checkbox/index.d.ts +6 -0
  114. package/lib/components/date-range/date-range.component.d.ts +59 -0
  115. package/lib/components/date-range/index.d.ts +6 -0
  116. package/lib/components/date-range/month/index.d.ts +6 -0
  117. package/lib/components/date-range/month/month.component.d.ts +38 -0
  118. package/lib/components/date-range/quick-actions/index.d.ts +6 -0
  119. package/lib/components/date-range/quick-actions/quick-actions.component.d.ts +19 -0
  120. package/lib/components/date-range/utils.d.ts +40 -0
  121. package/lib/components/divider/index.d.ts +6 -0
  122. package/lib/components/{monkey-form-field/form-field.d.ts → form-field/form-field.component.d.ts} +9 -4
  123. package/lib/components/{monkey-form-field/module.d.ts → form-field/form-field.module.d.ts} +1 -1
  124. package/lib/components/form-field/index.d.ts +9 -0
  125. package/lib/components/icon/index.d.ts +6 -0
  126. package/lib/components/icon-button/index.d.ts +6 -0
  127. package/lib/components/index.d.ts +26 -20
  128. package/lib/components/input/index.d.ts +8 -0
  129. package/lib/components/{monkey-input/monkey-input-currency.directive.d.ts → input/input-currency.directive.d.ts} +2 -2
  130. package/lib/components/{monkey-input/monkey-input.directive.d.ts → input/input.directive.d.ts} +8 -2
  131. package/lib/components/{monkey-input/monkey-input.module.d.ts → input/input.module.d.ts} +2 -2
  132. package/lib/components/input-code/index.d.ts +6 -0
  133. package/lib/components/input-code/input-code.component.d.ts +48 -0
  134. package/lib/components/input-upload/index.d.ts +6 -0
  135. package/lib/components/input-upload/input-upload.component.d.ts +64 -0
  136. package/lib/components/{monkey-modal → modal}/components/default.d.ts +0 -1
  137. package/lib/components/modal/index.d.ts +15 -0
  138. package/lib/components/{monkey-modal → modal}/modal-config.d.ts +3 -2
  139. package/lib/components/{monkey-modal → modal}/modal-ref.d.ts +1 -0
  140. package/lib/components/{monkey-modal/modal.d.ts → modal/modal.component.d.ts} +3 -4
  141. package/lib/components/{monkey-modal → modal}/modal.module.d.ts +4 -4
  142. package/lib/components/option/index.d.ts +6 -0
  143. package/lib/components/security-level/index.d.ts +6 -0
  144. package/lib/components/select/index.d.ts +6 -0
  145. package/lib/components/{monkey-select/monkey-select.component.d.ts → select/select.component.d.ts} +31 -13
  146. package/lib/components/status/index.d.ts +6 -0
  147. package/lib/components/{monkey-table → table}/directives/column-checked.d.ts +2 -2
  148. package/lib/components/{monkey-table → table}/directives/column-expansible.d.ts +1 -1
  149. package/lib/components/{monkey-table → table}/directives/column-sortable.d.ts +1 -1
  150. package/lib/components/{monkey-table → table}/index.d.ts +6 -1
  151. package/lib/components/table/table.module.d.ts +16 -0
  152. package/lib/components/toast/index.d.ts +6 -0
  153. package/lib/components/{monkey-toast/monkey-toast.component.d.ts → toast/toast.component.d.ts} +5 -0
  154. package/lib/components/toggle/index.d.ts +6 -0
  155. package/lib/components/toggle-line/index.d.ts +7 -0
  156. package/lib/components/toggle-line/toggle-line-button/index.d.ts +6 -0
  157. package/lib/components/{monkey-toggle-line/monkey-toggle-line.component.d.ts → toggle-line/toggle-line.component.d.ts} +1 -1
  158. package/lib/components/tooltip/index.d.ts +7 -0
  159. package/lib/components/tooltip/tooltip/index.d.ts +6 -0
  160. package/lib/directives/badge.d.ts +24 -0
  161. package/lib/directives/index.d.ts +1 -0
  162. package/lib/directives/module.d.ts +2 -1
  163. package/lib/interfaces/sizes.d.ts +1 -1
  164. package/lib/services/dictionary.service.d.ts +11 -0
  165. package/lib/services/{monkey-icons.service.d.ts → icons.service.d.ts} +2 -0
  166. package/lib/services/index.d.ts +7 -3
  167. package/lib/services/{monkey-toast.service.d.ts → toast.service.d.ts} +5 -0
  168. package/lib/tokens/index.d.ts +3 -0
  169. package/monkey-style-guide-v2-0.0.18.tgz +0 -0
  170. package/package.json +2 -1
  171. package/utils/utils.d.ts +5 -0
  172. package/esm2022/lib/components/monkey-accordion/index.mjs +0 -2
  173. package/esm2022/lib/components/monkey-accordion/monkey-accordion.component.mjs +0 -102
  174. package/esm2022/lib/components/monkey-alert/index.mjs +0 -2
  175. package/esm2022/lib/components/monkey-alert/monkey-alert.component.mjs +0 -50
  176. package/esm2022/lib/components/monkey-breadcrumb/index.mjs +0 -2
  177. package/esm2022/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.mjs +0 -56
  178. package/esm2022/lib/components/monkey-button/index.mjs +0 -2
  179. package/esm2022/lib/components/monkey-checkbox/index.mjs +0 -2
  180. package/esm2022/lib/components/monkey-checkbox/monkey-checkbox.component.mjs +0 -216
  181. package/esm2022/lib/components/monkey-divider/index.mjs +0 -2
  182. package/esm2022/lib/components/monkey-divider/monkey-divider.component.mjs +0 -44
  183. package/esm2022/lib/components/monkey-form-field/form-field-control.mjs +0 -15
  184. package/esm2022/lib/components/monkey-form-field/form-field.mjs +0 -250
  185. package/esm2022/lib/components/monkey-form-field/index.mjs +0 -5
  186. package/esm2022/lib/components/monkey-form-field/module.mjs +0 -21
  187. package/esm2022/lib/components/monkey-form-field/utils.mjs +0 -16
  188. package/esm2022/lib/components/monkey-icon/index.mjs +0 -2
  189. package/esm2022/lib/components/monkey-icon/monkey-icon.component.mjs +0 -51
  190. package/esm2022/lib/components/monkey-icon-button/index.mjs +0 -2
  191. package/esm2022/lib/components/monkey-input/index.mjs +0 -5
  192. package/esm2022/lib/components/monkey-input/monkey-input-currency.directive.mjs +0 -187
  193. package/esm2022/lib/components/monkey-input/monkey-input.directive.mjs +0 -166
  194. package/esm2022/lib/components/monkey-input/monkey-input.module.mjs +0 -24
  195. package/esm2022/lib/components/monkey-input/validators.mjs +0 -17
  196. package/esm2022/lib/components/monkey-modal/index.mjs +0 -12
  197. package/esm2022/lib/components/monkey-modal/modal-config.mjs +0 -18
  198. package/esm2022/lib/components/monkey-modal/modal-ref.mjs +0 -46
  199. package/esm2022/lib/components/monkey-modal/modal.mjs +0 -119
  200. package/esm2022/lib/components/monkey-modal/modal.module.mjs +0 -53
  201. package/esm2022/lib/components/monkey-modal/service.mjs +0 -92
  202. package/esm2022/lib/components/monkey-modal/utils.mjs +0 -23
  203. package/esm2022/lib/components/monkey-option/index.mjs +0 -2
  204. package/esm2022/lib/components/monkey-security-level/index.mjs +0 -2
  205. package/esm2022/lib/components/monkey-select/index.mjs +0 -2
  206. package/esm2022/lib/components/monkey-select/monkey-select.component.mjs +0 -352
  207. package/esm2022/lib/components/monkey-status/index.mjs +0 -2
  208. package/esm2022/lib/components/monkey-table/components/pagination-label/pagination-label.mjs +0 -34
  209. package/esm2022/lib/components/monkey-table/components/pagination-size/pagination-size.mjs +0 -57
  210. package/esm2022/lib/components/monkey-table/directives/column-checked.mjs +0 -109
  211. package/esm2022/lib/components/monkey-table/directives/column-expansible.mjs +0 -134
  212. package/esm2022/lib/components/monkey-table/directives/column-sortable.mjs +0 -97
  213. package/esm2022/lib/components/monkey-table/index.mjs +0 -10
  214. package/esm2022/lib/components/monkey-table/table.module.mjs +0 -60
  215. package/esm2022/lib/components/monkey-toast/index.mjs +0 -2
  216. package/esm2022/lib/components/monkey-toast/monkey-toast.component.mjs +0 -74
  217. package/esm2022/lib/components/monkey-toggle/index.mjs +0 -2
  218. package/esm2022/lib/components/monkey-toggle-line/index.mjs +0 -3
  219. package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.mjs +0 -2
  220. package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line.component.mjs +0 -85
  221. package/esm2022/lib/components/monkey-tooltip/index.mjs +0 -3
  222. package/esm2022/lib/components/monkey-tooltip/monkey-tooltip.directive.mjs +0 -175
  223. package/esm2022/lib/components/monkey-tooltip/tooltip/index.mjs +0 -2
  224. package/esm2022/lib/components/monkey-tooltip/tooltip/tooltip.component.mjs +0 -53
  225. package/esm2022/lib/services/monkey-destroy.service.mjs +0 -15
  226. package/esm2022/lib/services/monkey-icons.service.mjs +0 -45
  227. package/esm2022/lib/services/monkey-toast.service.mjs +0 -72
  228. package/lib/components/monkey-accordion/index.d.ts +0 -1
  229. package/lib/components/monkey-alert/index.d.ts +0 -1
  230. package/lib/components/monkey-breadcrumb/index.d.ts +0 -1
  231. package/lib/components/monkey-button/index.d.ts +0 -1
  232. package/lib/components/monkey-checkbox/index.d.ts +0 -1
  233. package/lib/components/monkey-divider/index.d.ts +0 -1
  234. package/lib/components/monkey-form-field/index.d.ts +0 -4
  235. package/lib/components/monkey-icon/index.d.ts +0 -1
  236. package/lib/components/monkey-icon-button/index.d.ts +0 -1
  237. package/lib/components/monkey-input/index.d.ts +0 -4
  238. package/lib/components/monkey-modal/index.d.ts +0 -11
  239. package/lib/components/monkey-option/index.d.ts +0 -1
  240. package/lib/components/monkey-security-level/index.d.ts +0 -1
  241. package/lib/components/monkey-select/index.d.ts +0 -1
  242. package/lib/components/monkey-status/index.d.ts +0 -1
  243. package/lib/components/monkey-table/table.module.d.ts +0 -15
  244. package/lib/components/monkey-toast/index.d.ts +0 -1
  245. package/lib/components/monkey-toggle/index.d.ts +0 -1
  246. package/lib/components/monkey-toggle-line/index.d.ts +0 -2
  247. package/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.d.ts +0 -1
  248. package/lib/components/monkey-tooltip/index.d.ts +0 -2
  249. package/lib/components/monkey-tooltip/tooltip/index.d.ts +0 -1
  250. package/lib/services/monkey-destroy.service.d.ts +0 -8
  251. package/monkey-style-guide-v2-0.0.17.tgz +0 -0
  252. /package/lib/components/{monkey-accordion/monkey-accordion.component.d.ts → accordion/accordion.component.d.ts} +0 -0
  253. /package/lib/components/{monkey-alert/monkey-alert.component.d.ts → alert/alert.component.d.ts} +0 -0
  254. /package/lib/components/{monkey-breadcrumb/monkey-breadcrumb.component.d.ts → breadcrumb/breadcrumb.component.d.ts} +0 -0
  255. /package/lib/components/{monkey-button/monkey-button.component.d.ts → button/button.component.d.ts} +0 -0
  256. /package/lib/components/{monkey-divider/monkey-divider.component.d.ts → divider/divider.component.d.ts} +0 -0
  257. /package/lib/components/{monkey-form-field → form-field}/form-field-control.d.ts +0 -0
  258. /package/lib/components/{monkey-form-field → form-field}/utils.d.ts +0 -0
  259. /package/lib/components/{monkey-icon/monkey-icon.component.d.ts → icon/icon.component.d.ts} +0 -0
  260. /package/lib/components/{monkey-icon-button/monkey-icon-button.component.d.ts → icon-button/icon-button.component.d.ts} +0 -0
  261. /package/lib/components/{monkey-input → input}/validators.d.ts +0 -0
  262. /package/lib/components/{monkey-modal → modal}/directives/actions.d.ts +0 -0
  263. /package/lib/components/{monkey-modal → modal}/directives/content.d.ts +0 -0
  264. /package/lib/components/{monkey-modal → modal}/directives/subtitle.d.ts +0 -0
  265. /package/lib/components/{monkey-modal → modal}/directives/title.d.ts +0 -0
  266. /package/lib/components/{monkey-modal/service.d.ts → modal/modal.service.d.ts} +0 -0
  267. /package/lib/components/{monkey-modal → modal}/utils.d.ts +0 -0
  268. /package/lib/components/{monkey-option/monkey-option.component.d.ts → option/option.component.d.ts} +0 -0
  269. /package/lib/components/{monkey-security-level/monkey-security-level.component.d.ts → security-level/security-level.component.d.ts} +0 -0
  270. /package/lib/components/{monkey-status/monkey-status.component.d.ts → status/status.component.d.ts} +0 -0
  271. /package/lib/components/{monkey-table → table}/components/pagination-action/pagination-action.d.ts +0 -0
  272. /package/lib/components/{monkey-table → table}/components/pagination-label/pagination-label.d.ts +0 -0
  273. /package/lib/components/{monkey-table → table}/components/pagination-size/pagination-size.d.ts +0 -0
  274. /package/lib/components/{monkey-table → table}/directives/column-stick.d.ts +0 -0
  275. /package/lib/components/{monkey-table/table.d.ts → table/table.component.d.ts} +0 -0
  276. /package/lib/components/{monkey-toggle/monkey-toggle.component.d.ts → toggle/toggle.component.d.ts} +0 -0
  277. /package/lib/components/{monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.d.ts → toggle-line/toggle-line-button/toggle-line-button.component.d.ts} +0 -0
  278. /package/lib/components/{monkey-tooltip → tooltip}/tooltip/tooltip.component.d.ts +0 -0
  279. /package/lib/components/{monkey-tooltip/monkey-tooltip.directive.d.ts → tooltip/tooltip.directive.d.ts} +0 -0
@@ -1,187 +0,0 @@
1
- /** ************************
2
- * Copyright Monkey Exchange. All Rights Reserved
3
- * This style guide was developed by Monkey Exchange Team
4
- * MIT Licence
5
- ************************* */
6
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
- import { booleanAttribute, ChangeDetectorRef, DEFAULT_CURRENCY_CODE, Directive, ElementRef, inject, Input, LOCALE_ID } from '@angular/core';
8
- import { NgControl, Validators } from '@angular/forms';
9
- import { Subject, takeUntil } from 'rxjs';
10
- import { IdGenerator } from '../../../utils';
11
- import { MonkeyDestroyService } from '../../services';
12
- import { MonkeyFormFieldControl } from '../monkey-form-field';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/common";
15
- export class MonkeyInputCurrencyDirective {
16
- get disabled() {
17
- if (this.ngControl && this.ngControl.disabled !== null) {
18
- return this.ngControl.disabled;
19
- }
20
- return this._disabled;
21
- }
22
- set disabled(value) {
23
- this._disabled = value;
24
- if (this.focused) {
25
- this.focused = false;
26
- this.stateChanges.next();
27
- }
28
- }
29
- get id() {
30
- return this._id;
31
- }
32
- set id(value) {
33
- this._id = value || this._uid;
34
- }
35
- get required() {
36
- return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
37
- }
38
- set required(value) {
39
- this._required = coerceBooleanProperty(value);
40
- }
41
- get type() {
42
- return this._type;
43
- }
44
- set type(value) {
45
- this._type = value;
46
- }
47
- get currency() {
48
- return true;
49
- }
50
- get percent() {
51
- return false;
52
- }
53
- constructor(el, renderer, currencyPipe) {
54
- this.el = el;
55
- this.renderer = renderer;
56
- this.currencyPipe = currencyPipe;
57
- this._elementRef = inject(ElementRef);
58
- this._uid = inject(IdGenerator).getId('monkey-input-currency-');
59
- this.stateChanges = new Subject();
60
- this._disabled = false;
61
- this._type = 'text';
62
- this._changeDetectorRef = inject(ChangeDetectorRef);
63
- this._currencyCode = inject(DEFAULT_CURRENCY_CODE);
64
- this._localeId = inject(LOCALE_ID);
65
- this._destroyed = new Subject();
66
- this._rawValue = 0;
67
- this.ngControl = inject(NgControl, { self: true, optional: true });
68
- this.focused = false;
69
- // eslint-disable-next-line no-self-assign
70
- this.id = this.id;
71
- }
72
- markAsUntouched() {
73
- this.ngControl?.control?.markAsUntouched();
74
- }
75
- focus(options) {
76
- this._elementRef.nativeElement.focus(options);
77
- this.markAsUntouched();
78
- }
79
- formatValue(value) {
80
- return this.currencyPipe.transform(value, this._currencyCode || 'BRL', '', '1.2-2', this._localeId || 'pt-BR');
81
- }
82
- handleControlValue() {
83
- const value = this.ngControl?.control?.value;
84
- if (this._rawValue !== value) {
85
- this._rawValue = value;
86
- let handled = value;
87
- const decimal = `${value}`.split('.')[1];
88
- if (`${decimal}`.length >= 2) {
89
- handled = `${value}`.replace(/[^0-9]/g, '');
90
- handled = `${Number(handled) / 100}`;
91
- }
92
- this.ngControl?.control?.setValue(Number(handled), { emitEvent: false, onlySelf: true });
93
- const formattedValue = this.formatValue(handled);
94
- this.renderer.setProperty(this.el.nativeElement, 'value', formattedValue);
95
- this._changeDetectorRef.markForCheck();
96
- }
97
- }
98
- ngOnInit() {
99
- this.handleControlValue();
100
- this._valueChanges?.unsubscribe();
101
- this._valueChanges = this.ngControl?.control?.valueChanges
102
- .pipe(takeUntil(this._destroyed))
103
- .subscribe(() => {
104
- this.handleControlValue();
105
- });
106
- }
107
- ngOnDestroy() {
108
- this.stateChanges.complete();
109
- this._valueChanges?.unsubscribe();
110
- }
111
- ngOnChanges({ disabled }) {
112
- if (!disabled) {
113
- this.stateChanges.next();
114
- }
115
- }
116
- onContainerClick() {
117
- if (!this.focused) {
118
- this.focus();
119
- }
120
- }
121
- focusChanged(isFocused) {
122
- if (isFocused === this.focused) {
123
- return;
124
- }
125
- if (isFocused && this.disabled) {
126
- const element = this._elementRef.nativeElement;
127
- element.setSelectionRange(0, 0);
128
- }
129
- this.markAsUntouched();
130
- this.focused = isFocused;
131
- this.stateChanges.next();
132
- }
133
- focusOutChanged() {
134
- this.ngControl?.control?.markAsTouched();
135
- }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputCurrencyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.CurrencyPipe }], target: i0.ɵɵFactoryTarget.Directive }); }
137
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyInputCurrencyDirective, selector: "input[monkey-input-currency]", inputs: { name: "name", disabled: ["disabled", "disabled", booleanAttribute], id: "id", required: "required", type: "type" }, host: { listeners: { "focus": "focusChanged(true)", "focusout": "focusOutChanged()", "blur": "focusChanged(false)" }, properties: { "class.mecx-input-disabled": "disabled", "id": "id", "disabled": "disabled", "required": "required", "attr.name": "name || null", "attr.disabled": "disabled || null", "attr.aria-invalid": "(empty && required) ? null : errorState", "attr.aria-required": "required", "attr.id": "id" }, classAttribute: "mecx-input" }, providers: [
138
- {
139
- provide: MonkeyFormFieldControl,
140
- // eslint-disable-next-line no-use-before-define
141
- useExisting: MonkeyInputCurrencyDirective
142
- },
143
- MonkeyDestroyService
144
- ], exportAs: ["monkeyInput"], usesOnChanges: true, ngImport: i0 }); }
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputCurrencyDirective, decorators: [{
147
- type: Directive,
148
- args: [{
149
- selector: 'input[monkey-input-currency]',
150
- exportAs: 'monkeyInput',
151
- host: {
152
- class: 'mecx-input',
153
- '[class.mecx-input-disabled]': 'disabled',
154
- '[id]': 'id',
155
- '[disabled]': 'disabled',
156
- '[required]': 'required',
157
- '[attr.name]': 'name || null',
158
- '[attr.disabled]': 'disabled || null',
159
- '[attr.aria-invalid]': '(empty && required) ? null : errorState',
160
- '[attr.aria-required]': 'required',
161
- '[attr.id]': 'id',
162
- '(focus)': 'focusChanged(true)',
163
- '(focusout)': 'focusOutChanged()',
164
- '(blur)': 'focusChanged(false)'
165
- },
166
- providers: [
167
- {
168
- provide: MonkeyFormFieldControl,
169
- // eslint-disable-next-line no-use-before-define
170
- useExisting: MonkeyInputCurrencyDirective
171
- },
172
- MonkeyDestroyService
173
- ]
174
- }]
175
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.CurrencyPipe }], propDecorators: { name: [{
176
- type: Input
177
- }], disabled: [{
178
- type: Input,
179
- args: [{ transform: booleanAttribute }]
180
- }], id: [{
181
- type: Input
182
- }], required: [{
183
- type: Input
184
- }], type: [{
185
- type: Input
186
- }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWlucHV0LWN1cnJlbmN5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWlucHV0L21vbmtleS1pbnB1dC1jdXJyZW5jeS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFNVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQTZCOUQsTUFBTSxPQUFPLDRCQUE0QjtJQWN2QyxJQUNJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFT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KioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBMT0NBTEVfSUQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleURlc3Ryb3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4uL21vbmtleS1mb3JtLWZpZWxkJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbbW9ua2V5LWlucHV0LWN1cnJlbmN5XScsXG4gIGV4cG9ydEFzOiAnbW9ua2V5SW5wdXQnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtZWN4LWlucHV0JyxcbiAgICAnW2NsYXNzLm1lY3gtaW5wdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2lkXSc6ICdpZCcsXG4gICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2F0dHIubmFtZV0nOiAnbmFtZSB8fCBudWxsJyxcbiAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJyhlbXB0eSAmJiByZXF1aXJlZCkgPyBudWxsIDogZXJyb3JTdGF0ZScsXG4gICAgJ1thdHRyLmFyaWEtcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnKGZvY3VzKSc6ICdmb2N1c0NoYW5nZWQodHJ1ZSknLFxuICAgICcoZm9jdXNvdXQpJzogJ2ZvY3VzT3V0Q2hhbmdlZCgpJyxcbiAgICAnKGJsdXIpJzogJ2ZvY3VzQ2hhbmdlZChmYWxzZSknXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1vbmtleUZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgIHVzZUV4aXN0aW5nOiBNb25rZXlJbnB1dEN1cnJlbmN5RGlyZWN0aXZlXG4gICAgfSxcbiAgICBNb25rZXlEZXN0cm95U2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUlucHV0Q3VycmVuY3lEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBNb25rZXlGb3JtRmllbGRDb250cm9sLCBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHByb3RlY3RlZCBfZWxlbWVudFJlZiA9XG4gICAgaW5qZWN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIHByb3RlY3RlZCBfdWlkID0gaW5qZWN0KElkR2VuZXJhdG9yKS5nZXRJZCgnbW9ua2V5LWlucHV0LWN1cnJlbmN5LScpO1xuXG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASW5wdXQoKSBuYW1lITogc3RyaW5nO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLmRpc2FibGVkICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdWlkO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZCA/PyB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/IGZhbHNlO1xuICB9XG5cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgc2V0IHR5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdHlwZSA9ICd0ZXh0JztcblxuICBnZXQgY3VycmVuY3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgcGVyY2VudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVuY3lDb2RlID0gaW5qZWN0KERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxlSWQgPSBpbmplY3QoTE9DQUxFX0lEKTtcblxuICBwcml2YXRlIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX3ZhbHVlQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX3Jhd1ZhbHVlID0gMDtcblxuICBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlXG4gICkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrQXNVbnRvdWNoZWQoKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lm1hcmtBc1VudG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIHRoaXMubWFya0FzVW50b3VjaGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKFxuICAgICAgdmFsdWUsXG4gICAgICB0aGlzLl9jdXJyZW5jeUNvZGUgfHwgJ0JSTCcsXG4gICAgICAnJyxcbiAgICAgICcxLjItMicsXG4gICAgICB0aGlzLl9sb2NhbGVJZCB8fCAncHQtQlInXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udHJvbFZhbHVlKCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICh0aGlzLl9yYXdWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX3Jhd1ZhbHVlID0gdmFsdWU7XG4gICAgICBsZXQgaGFuZGxlZCA9IHZhbHVlO1xuICAgICAgY29uc3QgZGVjaW1hbCA9IGAke3ZhbHVlfWAuc3BsaXQoJy4nKVsxXTtcbiAgICAgIGlmIChgJHtkZWNpbWFsfWAubGVuZ3RoID49IDIpIHtcbiAgICAgICAgaGFuZGxlZCA9IGAke3ZhbHVlfWAucmVwbGFjZSgvW14wLTldL2csICcnKTtcbiAgICAgICAgaGFuZGxlZCA9IGAke051bWJlcihoYW5kbGVkKSAvIDEwMH1gO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUoTnVtYmVyKGhhbmRsZWQpLCB7IGVtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdFZhbHVlKGhhbmRsZWQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlQ29udHJvbFZhbHVlKCk7XG4gICAgdGhpcy5fdmFsdWVDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fdmFsdWVDaGFuZ2VzID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVDb250cm9sVmFsdWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZXM/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IGRpc2FibGVkIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgb25Db250YWluZXJDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZm9jdXNlZCkge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzQ2hhbmdlZChpc0ZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNGb2N1c2VkID09PSB0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNGb2N1c2VkICYmIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgMCk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICB0aGlzLmZvY3VzZWQgPSBpc0ZvY3VzZWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgZm9jdXNPdXRDaGFuZ2VkKCkge1xuICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,166 +0,0 @@
1
- /** ************************
2
- * Copyright Monkey Exchange. All Rights Reserved
3
- * This style guide was developed by Monkey Exchange Team
4
- * MIT Licence
5
- ************************* */
6
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
- import { booleanAttribute, Directive, ElementRef, inject, Input } from '@angular/core';
8
- import { NgControl, Validators } from '@angular/forms';
9
- import { Subject } from 'rxjs';
10
- import { IdGenerator } from '../../../utils';
11
- import { MonkeyDestroyService } from '../../services';
12
- import { MonkeyFormFieldControl } from '../monkey-form-field';
13
- import { validateType } from './validators';
14
- import * as i0 from "@angular/core";
15
- export class MonkeyInputDirective {
16
- get disabled() {
17
- if (this.ngControl && this.ngControl.disabled !== null) {
18
- return this.ngControl.disabled;
19
- }
20
- return this._disabled;
21
- }
22
- set disabled(value) {
23
- this._disabled = value;
24
- if (this.focused) {
25
- this.focused = false;
26
- this.stateChanges.next();
27
- }
28
- }
29
- get id() {
30
- return this._id;
31
- }
32
- set id(value) {
33
- this._id = value || this._uid;
34
- }
35
- get required() {
36
- return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
37
- }
38
- set required(value) {
39
- this._required = coerceBooleanProperty(value);
40
- }
41
- get type() {
42
- return this._type;
43
- }
44
- set type(value) {
45
- validateType(value);
46
- this._type = value || 'text';
47
- this._elementRef.nativeElement.type = this._type;
48
- }
49
- get currency() {
50
- return false;
51
- }
52
- get percent() {
53
- return this._percent;
54
- }
55
- set percent(value) {
56
- this._percent = true;
57
- }
58
- constructor() {
59
- this._elementRef = inject(ElementRef);
60
- this._uid = inject(IdGenerator).getId('monkey-input-');
61
- this.stateChanges = new Subject();
62
- this._disabled = false;
63
- this._type = 'text';
64
- this._percent = false;
65
- this.ngControl = inject(NgControl, { self: true, optional: true });
66
- this.focused = false;
67
- // eslint-disable-next-line no-self-assign
68
- this.id = this.id;
69
- }
70
- markAsUntouched() {
71
- this.ngControl?.control?.markAsUntouched();
72
- }
73
- focus(options) {
74
- this._elementRef.nativeElement.focus(options);
75
- this.markAsUntouched();
76
- }
77
- ngOnDestroy() {
78
- this.stateChanges.complete();
79
- }
80
- ngOnChanges({ disabled }) {
81
- if (!disabled) {
82
- this.stateChanges.next();
83
- }
84
- }
85
- onContainerClick() {
86
- if (!this.focused) {
87
- this.focus();
88
- }
89
- }
90
- focusChanged(isFocused) {
91
- if (isFocused === this.focused) {
92
- return;
93
- }
94
- if (isFocused && this.disabled) {
95
- const element = this._elementRef.nativeElement;
96
- if (element.type === 'number') {
97
- element.type = 'text';
98
- element.setSelectionRange(0, 0);
99
- element.type = 'number';
100
- }
101
- else {
102
- element.setSelectionRange(0, 0);
103
- }
104
- }
105
- this.markAsUntouched();
106
- this.focused = isFocused;
107
- this.stateChanges.next();
108
- }
109
- focusOutChanged() {
110
- this.ngControl?.control?.markAsTouched();
111
- }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
113
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyInputDirective, selector: "input[monkey-input],textarea[monkey-input]", inputs: { name: "name", disabled: ["disabled", "disabled", booleanAttribute], id: "id", required: "required", type: "type", percent: "percent" }, host: { attributes: { "data-testid": "monkey-input" }, listeners: { "focus": "focusChanged(true)", "focusout": "focusOutChanged()", "blur": "focusChanged(false)" }, properties: { "class.mecx-input-disabled": "disabled", "id": "id", "disabled": "disabled", "required": "required", "attr.name": "name || null", "attr.disabled": "disabled || null", "attr.aria-invalid": "(empty && required) ? null : errorState", "attr.aria-required": "required", "attr.id": "id" }, classAttribute: "mecx-input" }, providers: [
114
- {
115
- provide: MonkeyFormFieldControl,
116
- // eslint-disable-next-line no-use-before-define
117
- useExisting: MonkeyInputDirective
118
- },
119
- MonkeyDestroyService
120
- ], exportAs: ["monkeyInput"], usesOnChanges: true, ngImport: i0 }); }
121
- }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputDirective, decorators: [{
123
- type: Directive,
124
- args: [{
125
- selector: 'input[monkey-input],textarea[monkey-input]',
126
- exportAs: 'monkeyInput',
127
- host: {
128
- class: 'mecx-input',
129
- 'data-testid': 'monkey-input',
130
- '[class.mecx-input-disabled]': 'disabled',
131
- '[id]': 'id',
132
- '[disabled]': 'disabled',
133
- '[required]': 'required',
134
- '[attr.name]': 'name || null',
135
- '[attr.disabled]': 'disabled || null',
136
- '[attr.aria-invalid]': '(empty && required) ? null : errorState',
137
- '[attr.aria-required]': 'required',
138
- '[attr.id]': 'id',
139
- '(focus)': 'focusChanged(true)',
140
- '(focusout)': 'focusOutChanged()',
141
- '(blur)': 'focusChanged(false)'
142
- },
143
- providers: [
144
- {
145
- provide: MonkeyFormFieldControl,
146
- // eslint-disable-next-line no-use-before-define
147
- useExisting: MonkeyInputDirective
148
- },
149
- MonkeyDestroyService
150
- ]
151
- }]
152
- }], ctorParameters: () => [], propDecorators: { name: [{
153
- type: Input
154
- }], disabled: [{
155
- type: Input,
156
- args: [{ transform: booleanAttribute }]
157
- }], id: [{
158
- type: Input
159
- }], required: [{
160
- type: Input
161
- }], type: [{
162
- type: Input
163
- }], percent: [{
164
- type: Input
165
- }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWlucHV0L21vbmtleS1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBOEI1QyxNQUFNLE9BQU8sb0JBQW9CO0lBWS9CLElBQ0ksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFB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QUFZO3dCQUNuQixhQUFhLEVBQUUsY0FBYzt3QkFDN0IsNkJBQTZCLEVBQUUsVUFBVTt3QkFDekMsTUFBTSxFQUFFLElBQUk7d0JBQ1osWUFBWSxFQUFFLFVBQVU7d0JBQ3hCLFlBQVksRUFBRSxVQUFVO3dCQUN4QixhQUFhLEVBQUUsY0FBYzt3QkFDN0IsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUNyQyxxQkFBcUIsRUFBRSx5Q0FBeUM7d0JBQ2hFLHNCQUFzQixFQUFFLFVBQVU7d0JBQ2xDLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixTQUFTLEVBQUUsb0JBQW9CO3dCQUMvQixZQUFZLEVBQUUsbUJBQW1CO3dCQUNqQyxRQUFRLEVBQUUscUJBQXFCO3FCQUNoQztvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsZ0RBQWdEOzRCQUNoRCxXQUFXLHNCQUFzQjt5QkFDbEM7d0JBQ0Qsb0JBQW9CO3FCQUNyQjtpQkFDRjt3REFXVSxJQUFJO3NCQUFaLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQWtCbEMsRUFBRTtzQkFETCxLQUFLO2dCQVVGLFFBQVE7c0JBRFgsS0FBSztnQkFjRixJQUFJO3NCQURQLEtBQUs7Z0JBbUJGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleURlc3Ryb3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4uL21vbmtleS1mb3JtLWZpZWxkJztcbmltcG9ydCB7IHZhbGlkYXRlVHlwZSB9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W21vbmtleS1pbnB1dF0sdGV4dGFyZWFbbW9ua2V5LWlucHV0XScsXG4gIGV4cG9ydEFzOiAnbW9ua2V5SW5wdXQnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtZWN4LWlucHV0JyxcbiAgICAnZGF0YS10ZXN0aWQnOiAnbW9ua2V5LWlucHV0JyxcbiAgICAnW2NsYXNzLm1lY3gtaW5wdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2lkXSc6ICdpZCcsXG4gICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2F0dHIubmFtZV0nOiAnbmFtZSB8fCBudWxsJyxcbiAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJyhlbXB0eSAmJiByZXF1aXJlZCkgPyBudWxsIDogZXJyb3JTdGF0ZScsXG4gICAgJ1thdHRyLmFyaWEtcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnKGZvY3VzKSc6ICdmb2N1c0NoYW5nZWQodHJ1ZSknLFxuICAgICcoZm9jdXNvdXQpJzogJ2ZvY3VzT3V0Q2hhbmdlZCgpJyxcbiAgICAnKGJsdXIpJzogJ2ZvY3VzQ2hhbmdlZChmYWxzZSknXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1vbmtleUZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgIHVzZUV4aXN0aW5nOiBNb25rZXlJbnB1dERpcmVjdGl2ZVxuICAgIH0sXG4gICAgTW9ua2V5RGVzdHJveVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE1vbmtleUZvcm1GaWVsZENvbnRyb2wsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIF9lbGVtZW50UmVmID1cbiAgICBpbmplY3Q8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgcHJvdGVjdGVkIF91aWQgPSBpbmplY3QoSWRHZW5lcmF0b3IpLmdldElkKCdtb25rZXktaW5wdXQtJyk7XG5cbiAgcHJvdGVjdGVkIF9pZCE6IHN0cmluZztcblxuICByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpIG5hbWUhOiBzdHJpbmc7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLl91aWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkID8/IHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgPz8gZmFsc2U7XG4gIH1cblxuICBzZXQgcmVxdWlyZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBzZXQgdHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdmFsaWRhdGVUeXBlKHZhbHVlKTtcbiAgICB0aGlzLl90eXBlID0gdmFsdWUgfHwgJ3RleHQnO1xuXG4gICAgKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50KS50eXBlID0gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdHlwZSA9ICd0ZXh0JztcblxuICBnZXQgY3VycmVuY3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHBlcmNlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlcmNlbnQ7XG4gIH1cblxuICBzZXQgcGVyY2VudCh2YWx1ZTogJycpIHtcbiAgICB0aGlzLl9wZXJjZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcGVyY2VudCA9IGZhbHNlO1xuXG4gIG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrQXNVbnRvdWNoZWQoKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lm1hcmtBc1VudG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIHRoaXMubWFya0FzVW50b3VjaGVkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyBkaXNhYmxlZCB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29udGFpbmVyQ2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBmb2N1c0NoYW5nZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgaWYgKGlzRm9jdXNlZCA9PT0gdGhpcy5mb2N1c2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzRm9jdXNlZCAmJiB0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGVsZW1lbnQudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgZWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSgwLCAwKTtcbiAgICAgICAgZWxlbWVudC50eXBlID0gJ251bWJlcic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubWFya0FzVW50b3VjaGVkKCk7XG4gICAgdGhpcy5mb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIGZvY3VzT3V0Q2hhbmdlZCgpIHtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICB9XG59XG4iXX0=
@@ -1,24 +0,0 @@
1
- /** ************************
2
- * Copyright Monkey Exchange. All Rights Reserved
3
- * This style guide was developed by Monkey Exchange Team
4
- * MIT Licence
5
- ************************* */
6
- import { CurrencyPipe } from '@angular/common';
7
- import { NgModule } from '@angular/core';
8
- import { MonkeyInputCurrencyDirective } from './monkey-input-currency.directive';
9
- import { MonkeyInputDirective } from './monkey-input.directive';
10
- import * as i0 from "@angular/core";
11
- export class MonkeyInputModule {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputModule, declarations: [MonkeyInputDirective, MonkeyInputCurrencyDirective], exports: [MonkeyInputDirective, MonkeyInputCurrencyDirective] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputModule, providers: [CurrencyPipe] }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- providers: [CurrencyPipe],
20
- declarations: [MonkeyInputDirective, MonkeyInputCurrencyDirective],
21
- exports: [MonkeyInputDirective, MonkeyInputCurrencyDirective]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWlucHV0L21vbmtleS1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU9oRSxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFIYixvQkFBb0IsRUFBRSw0QkFBNEIsYUFDdkQsb0JBQW9CLEVBQUUsNEJBQTRCO2dIQUVqRCxpQkFBaUIsYUFKakIsQ0FBQyxZQUFZLENBQUM7OzRGQUlkLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3pCLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLDRCQUE0QixDQUFDO29CQUNsRSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSw0QkFBNEIsQ0FBQztpQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleUlucHV0Q3VycmVuY3lEaXJlY3RpdmUgfSBmcm9tICcuL21vbmtleS1pbnB1dC1jdXJyZW5jeS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTW9ua2V5SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL21vbmtleS1pbnB1dC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtDdXJyZW5jeVBpcGVdLFxuICBkZWNsYXJhdGlvbnM6IFtNb25rZXlJbnB1dERpcmVjdGl2ZSwgTW9ua2V5SW5wdXRDdXJyZW5jeURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtNb25rZXlJbnB1dERpcmVjdGl2ZSwgTW9ua2V5SW5wdXRDdXJyZW5jeURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5SW5wdXRNb2R1bGUge31cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { getSupportedInputTypes } from '@angular/cdk/platform';
2
- const INPUT_INVALID_TYPES = [
3
- 'button',
4
- 'checkbox',
5
- 'file',
6
- 'image',
7
- 'radio',
8
- 'range',
9
- 'reset',
10
- 'submit'
11
- ];
12
- export function validateType(type) {
13
- if (INPUT_INVALID_TYPES.indexOf(type) > -1 || !getSupportedInputTypes().has(type)) {
14
- throw Error(`Input type "${type}" isn't supported.`);
15
- }
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWlucHV0L3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0QsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixRQUFRO0lBQ1IsVUFBVTtJQUNWLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsUUFBUTtDQUNULENBQUM7QUFFRixNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVk7SUFDdkMsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xGLE1BQU0sS0FBSyxDQUFDLGVBQWUsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U3VwcG9ydGVkSW5wdXRUeXBlcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbmNvbnN0IElOUFVUX0lOVkFMSURfVFlQRVMgPSBbXG4gICdidXR0b24nLFxuICAnY2hlY2tib3gnLFxuICAnZmlsZScsXG4gICdpbWFnZScsXG4gICdyYWRpbycsXG4gICdyYW5nZScsXG4gICdyZXNldCcsXG4gICdzdWJtaXQnXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUeXBlKHR5cGU6IHN0cmluZykge1xuICBpZiAoSU5QVVRfSU5WQUxJRF9UWVBFUy5pbmRleE9mKHR5cGUpID4gLTEgfHwgIWdldFN1cHBvcnRlZElucHV0VHlwZXMoKS5oYXModHlwZSkpIHtcbiAgICB0aHJvdyBFcnJvcihgSW5wdXQgdHlwZSBcIiR7dHlwZX1cIiBpc24ndCBzdXBwb3J0ZWQuYCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- export * from './components/default';
2
- export * from './directives/actions';
3
- export * from './directives/content';
4
- export * from './directives/subtitle';
5
- export * from './directives/title';
6
- export * from './modal';
7
- export * from './modal-config';
8
- export * from './modal-ref';
9
- export * from './modal.module';
10
- export * from './service';
11
- export * from './utils';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlZmF1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2FjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2NvbnRlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3N1YnRpdGxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy90aXRsZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtcmVmJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbiJdfQ==
@@ -1,18 +0,0 @@
1
- /** ************************
2
- * Copyright Monkey Exchange. All Rights Reserved
3
- * This style guide was developed by Monkey Exchange Team
4
- * MIT Licence
5
- ************************* */
6
- export class MonkeyModalConfig {
7
- constructor() {
8
- this.panelClass = '';
9
- this.hasBackdrop = true;
10
- this.backdropClass = 'mecx-modal-overlay';
11
- this.disableClose = false;
12
- this.width = '';
13
- this.height = '';
14
- this.data = null;
15
- this.closeOnNavigation = true;
16
- }
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktbW9kYWwvbW9kYWwtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzZCQUk2QjtBQUs3QixNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBS0UsZUFBVSxHQUF1QixFQUFFLENBQUM7UUFFcEMsZ0JBQVcsR0FBYSxJQUFJLENBQUM7UUFFN0Isa0JBQWEsR0FBdUIsb0JBQW9CLENBQUM7UUFFekQsaUJBQVksR0FBYSxLQUFLLENBQUM7UUFFL0IsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUVwQixXQUFNLEdBQVksRUFBRSxDQUFDO1FBWXJCLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBSXpCLHNCQUFpQixHQUFhLElBQUksQ0FBQztJQUdyQyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBQb3NpdGlvblN0cmF0ZWd5LCBTY3JvbGxTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFN0YXRpY1Byb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBNb25rZXlNb2RhbENvbmZpZyB7XG4gIGlkPzogc3RyaW5nO1xuXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgcGFuZWxDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuID0gdHJ1ZTtcblxuICBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnbWVjeC1tb2RhbC1vdmVybGF5JztcblxuICBkaXNhYmxlQ2xvc2U/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgd2lkdGg/OiBzdHJpbmcgPSAnJztcblxuICBoZWlnaHQ/OiBzdHJpbmcgPSAnJztcblxuICBtaW5XaWR0aD86IG51bWJlciB8IHN0cmluZztcblxuICBtaW5IZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIHBvc2l0aW9uU3RyYXRlZ3k/OiBQb3NpdGlvblN0cmF0ZWd5O1xuXG4gIGRhdGE/OiBhbnkgfCBudWxsID0gbnVsbDtcblxuICBzY3JvbGxTdHJhdGVneT86IFNjcm9sbFN0cmF0ZWd5O1xuXG4gIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlNb2RhbERlZmF1bHRDb25maWcge1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgY29udGVudDogc3RyaW5nO1xuICBjYW5jZWxMYWJlbDogc3RyaW5nO1xuICBva0xhYmVsOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,46 +0,0 @@
1
- /** ************************
2
- * Copyright Monkey Exchange. All Rights Reserved
3
- * This style guide was developed by Monkey Exchange Team
4
- * MIT Licence
5
- ************************* */
6
- import { hasModifierKey } from '@angular/cdk/keycodes';
7
- import { Subject } from 'rxjs';
8
- export class MonkeyModalRef {
9
- constructor(overlayRef, config) {
10
- this.overlayRef = overlayRef;
11
- this.config = config;
12
- this.closed = new Subject();
13
- this.id = config.id;
14
- this.icon = config.icon;
15
- this.disableClose = config.disableClose;
16
- this.closeOnNavigation = config.closeOnNavigation;
17
- this.backdropClick = overlayRef.backdropClick();
18
- this.keydownEvents = overlayRef.keydownEvents();
19
- this.outsidePointerEvents = overlayRef.outsidePointerEvents();
20
- this.keydownEvents.subscribe((event) => {
21
- if (event.key === 'Escape' && !this.disableClose && !hasModifierKey(event)) {
22
- event.preventDefault();
23
- this.close(undefined);
24
- }
25
- });
26
- this.backdropClick.subscribe(() => {
27
- if (!this.disableClose) {
28
- this.close(undefined);
29
- }
30
- });
31
- }
32
- close(result) {
33
- if (this.componentInstance) {
34
- const closedSubject = this.closed;
35
- this.overlayRef.dispose();
36
- closedSubject.next(result);
37
- closedSubject.complete();
38
- // eslint-disable-next-line no-multi-assign
39
- this.componentInstance = null;
40
- }
41
- }
42
- afterClosed() {
43
- return this.closed;
44
- }
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktbW9kYWwvbW9kYWwtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzZCQUk2QjtBQUU3QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdkQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxNQUFNLE9BQU8sY0FBYztJQXFCekIsWUFDVyxVQUFzQixFQUN0QixNQUF5QjtRQUR6QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBVjNCLFdBQU0sR0FBb0IsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQVlwRCxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU5RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3JDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzNFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQVk7UUFDaEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBc0IsQ0FBQztZQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFCLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0IsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLDJDQUEyQztZQUMxQyxJQUFtQyxDQUFDLGlCQUFpQixHQUFHLElBQUssQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuaW1wb3J0IHsgaGFzTW9kaWZpZXJLZXkgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTW9ua2V5TW9kYWxDb25maWcgfSBmcm9tICcuL21vZGFsLWNvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBNb25rZXlNb2RhbFJlZiB7XG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGNvbXBvbmVudEluc3RhbmNlITogYW55O1xuXG4gIHJlYWRvbmx5IGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+IHwgbnVsbDtcblxuICByZWFkb25seSBpY29uPzogc3RyaW5nO1xuXG4gIGRpc2FibGVDbG9zZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBjbG9zZU9uTmF2aWdhdGlvbjogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICByZWFkb25seSBjbG9zZWQ6IE9ic2VydmFibGU8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICByZWFkb25seSBiYWNrZHJvcENsaWNrOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gIHJlYWRvbmx5IGtleWRvd25FdmVudHM6IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD47XG5cbiAgcmVhZG9ubHkgb3V0c2lkZVBvaW50ZXJFdmVudHM6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICByZWFkb25seSBjb25maWc6IE1vbmtleU1vZGFsQ29uZmlnXG4gICkge1xuICAgIHRoaXMuaWQgPSBjb25maWcuaWQ7XG4gICAgdGhpcy5pY29uID0gY29uZmlnLmljb247XG4gICAgdGhpcy5kaXNhYmxlQ2xvc2UgPSBjb25maWcuZGlzYWJsZUNsb3NlO1xuICAgIHRoaXMuY2xvc2VPbk5hdmlnYXRpb24gPSBjb25maWcuY2xvc2VPbk5hdmlnYXRpb247XG4gICAgdGhpcy5iYWNrZHJvcENsaWNrID0gb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCk7XG4gICAgdGhpcy5rZXlkb3duRXZlbnRzID0gb3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCk7XG4gICAgdGhpcy5vdXRzaWRlUG9pbnRlckV2ZW50cyA9IG92ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKTtcblxuICAgIHRoaXMua2V5ZG93bkV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiAhdGhpcy5kaXNhYmxlQ2xvc2UgJiYgIWhhc01vZGlmaWVyS2V5KGV2ZW50KSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmNsb3NlKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmJhY2tkcm9wQ2xpY2suc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5kaXNhYmxlQ2xvc2UpIHtcbiAgICAgICAgdGhpcy5jbG9zZSh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY2xvc2UocmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgIGNvbnN0IGNsb3NlZFN1YmplY3QgPSB0aGlzLmNsb3NlZCBhcyBTdWJqZWN0PGFueT47XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgY2xvc2VkU3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgICBjbG9zZWRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbXVsdGktYXNzaWduXG4gICAgICAodGhpcyBhcyB7IGNvbXBvbmVudEluc3RhbmNlOiBhbnkgfSkuY29tcG9uZW50SW5zdGFuY2UgPSBudWxsITtcbiAgICB9XG4gIH1cblxuICBhZnRlckNsb3NlZCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlZDtcbiAgfVxufVxuIl19