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
@@ -0,0 +1,22 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { getSupportedInputTypes } from '@angular/cdk/platform';
7
+ const INPUT_INVALID_TYPES = [
8
+ 'button',
9
+ 'checkbox',
10
+ 'file',
11
+ 'image',
12
+ 'radio',
13
+ 'range',
14
+ 'reset',
15
+ 'submit'
16
+ ];
17
+ export function validateType(type) {
18
+ if (INPUT_INVALID_TYPES.indexOf(type) > -1 || !getSupportedInputTypes().has(type)) {
19
+ throw Error(`Input type "${type}" isn't supported.`);
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFDN0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0QsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixRQUFRO0lBQ1IsVUFBVTtJQUNWLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsUUFBUTtDQUNULENBQUM7QUFFRixNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVk7SUFDdkMsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xGLE1BQU0sS0FBSyxDQUFDLGVBQWUsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbmltcG9ydCB7IGdldFN1cHBvcnRlZElucHV0VHlwZXMgfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuXG5jb25zdCBJTlBVVF9JTlZBTElEX1RZUEVTID0gW1xuICAnYnV0dG9uJyxcbiAgJ2NoZWNrYm94JyxcbiAgJ2ZpbGUnLFxuICAnaW1hZ2UnLFxuICAncmFkaW8nLFxuICAncmFuZ2UnLFxuICAncmVzZXQnLFxuICAnc3VibWl0J1xuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgaWYgKElOUFVUX0lOVkFMSURfVFlQRVMuaW5kZXhPZih0eXBlKSA+IC0xIHx8ICFnZXRTdXBwb3J0ZWRJbnB1dFR5cGVzKCkuaGFzKHR5cGUpKSB7XG4gICAgdGhyb3cgRXJyb3IoYElucHV0IHR5cGUgXCIke3R5cGV9XCIgaXNuJ3Qgc3VwcG9ydGVkLmApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ export * from './input-code.component';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LWNvZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBQzdCLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1jb2RlLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,232 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { CommonModule } from '@angular/common';
7
+ import { Component, Input, Optional, ViewChildren, booleanAttribute, computed, inject, input } from '@angular/core';
8
+ import { FormsModule, NgControl } from '@angular/forms';
9
+ import { Subject } from 'rxjs';
10
+ import { IdGenerator } from '../../../utils';
11
+ import { MonkeyFormFieldControl } from '../form-field';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "../form-field";
14
+ import * as i2 from "@angular/forms";
15
+ export class MonkeyInputCodeComponent {
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
+ set value(value) {
30
+ if (this._value !== value && value !== undefined) {
31
+ this._value = value;
32
+ this._onChange(value);
33
+ this._onTouched();
34
+ }
35
+ }
36
+ get value() {
37
+ return this._value;
38
+ }
39
+ constructor(formField) {
40
+ this.formField = formField;
41
+ this.stateChanges = new Subject();
42
+ this.type = 'input-code';
43
+ this.currency = false;
44
+ this.percent = false;
45
+ this.id = inject(IdGenerator).getId('monkey-input-code-');
46
+ this._onChange = () => { };
47
+ this._onTouched = () => { };
48
+ this._value = null;
49
+ this.ngControl = inject(NgControl, { self: true, optional: true });
50
+ this.focused = false;
51
+ this.length = input(6);
52
+ this.inputType = input('numeric');
53
+ this.inputIndices = computed(() => {
54
+ return Array.from({ length: this.length() }, (_, i) => {
55
+ return '';
56
+ });
57
+ });
58
+ this._disabled = false;
59
+ if (this.ngControl) {
60
+ this.ngControl.valueAccessor = this;
61
+ }
62
+ if (this.formField) {
63
+ this.formField.hideAction = true;
64
+ }
65
+ }
66
+ ngAfterViewInit() {
67
+ if (this.formField) {
68
+ const input = this.formField.elementRef.nativeElement.querySelector('.mecx-form-field-body');
69
+ const height = input.offsetHeight > 40 ? input.offsetHeight : 40;
70
+ this.inputs.forEach((inputEl) => {
71
+ inputEl.nativeElement.style.height = `${height}px`;
72
+ inputEl.nativeElement.style.width = `${height}px`;
73
+ });
74
+ }
75
+ }
76
+ _onFocus() {
77
+ if (!this.disabled) {
78
+ this.focused = true;
79
+ this._onTouched();
80
+ this.stateChanges.next();
81
+ }
82
+ }
83
+ propagateCode() {
84
+ const code = this.inputIndices().join('');
85
+ this.writeValue(code);
86
+ }
87
+ focusNextInput(input) {
88
+ const next = input.nextElementSibling;
89
+ next?.focus();
90
+ }
91
+ focusPreviousInput(input) {
92
+ const previous = input.previousElementSibling;
93
+ previous?.focus();
94
+ }
95
+ setFullInputValue(value) {
96
+ const chars = value?.slice(0, this.length()).split('') || '';
97
+ chars.forEach((digit, index) => {
98
+ this.inputIndices()[index] = digit;
99
+ });
100
+ }
101
+ isInvalid() {
102
+ return this.formField.showInvalid;
103
+ }
104
+ onContainerClick() {
105
+ if (!this._value) {
106
+ this.inputs.first.nativeElement.focus();
107
+ }
108
+ }
109
+ onKeyDown(event, index) {
110
+ const input = event.target;
111
+ this.inputIndices()[index] = input.value;
112
+ const { key } = event;
113
+ const keys = {
114
+ Backspace: () => {
115
+ if (input.value === '') {
116
+ this.focusPreviousInput(input);
117
+ }
118
+ },
119
+ Delete: () => {
120
+ if (input.value === '') {
121
+ this.focusNextInput(input);
122
+ }
123
+ },
124
+ ArrowLeft: () => {
125
+ if (index > 0) {
126
+ this.focusPreviousInput(input);
127
+ event.preventDefault();
128
+ }
129
+ },
130
+ ArrowUp: () => {
131
+ if (index > 0) {
132
+ this.focusPreviousInput(input);
133
+ event.preventDefault();
134
+ }
135
+ },
136
+ ArrowRight: () => {
137
+ if (index < this.length()) {
138
+ this.focusNextInput(input);
139
+ event.preventDefault();
140
+ }
141
+ },
142
+ ArrowDown: () => {
143
+ if (index < this.length()) {
144
+ this.focusNextInput(input);
145
+ event.preventDefault();
146
+ }
147
+ }
148
+ };
149
+ if (keys[key]) {
150
+ keys[key]();
151
+ }
152
+ }
153
+ onInput(event, index) {
154
+ const input = event.target;
155
+ const { value } = input;
156
+ if (value.length > 1) {
157
+ this.setFullInputValue(value);
158
+ input.value = value.charAt(0);
159
+ }
160
+ else {
161
+ input.value = value;
162
+ }
163
+ this.inputIndices()[index] = input.value;
164
+ if (input.value && index < this.length()) {
165
+ this.focusNextInput(input);
166
+ }
167
+ this.propagateCode();
168
+ }
169
+ onPaste(event) {
170
+ event.preventDefault();
171
+ const pastedData = event.clipboardData?.getData('text').trim() ?? '';
172
+ const chars = pastedData.slice(0, this.length()).split('');
173
+ chars.forEach((digit, index) => {
174
+ this.inputIndices()[index] = digit;
175
+ });
176
+ if (this.inputs.length > chars.length) {
177
+ this.inputs.get(chars.length)?.nativeElement.focus();
178
+ }
179
+ if (this.inputs.length <= chars.length) {
180
+ this.onBlur();
181
+ }
182
+ this.propagateCode();
183
+ }
184
+ onBlur() {
185
+ this.focused = false;
186
+ this.stateChanges.next();
187
+ }
188
+ onFocus(event) {
189
+ const input = event.target;
190
+ input.select();
191
+ this._onFocus();
192
+ }
193
+ writeValue(value) {
194
+ this.value = value;
195
+ }
196
+ registerOnChange(fn) {
197
+ this._onChange = fn;
198
+ }
199
+ registerOnTouched(fn) {
200
+ this._onTouched = fn;
201
+ }
202
+ setDisabledState(isDisabled) {
203
+ this.disabled = isDisabled;
204
+ }
205
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputCodeComponent, deps: [{ token: i1.MonkeyFormFieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
206
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyInputCodeComponent, isStandalone: true, selector: "monkey-input-code", inputs: { length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null }, inputType: { classPropertyName: "inputType", publicName: "inputType", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, host: { attributes: { "data-testid": "monkey-input-code" }, properties: { "attr.id": "id", "id": "id" } }, providers: [
207
+ // eslint-disable-next-line no-use-before-define
208
+ { provide: MonkeyFormFieldControl, useExisting: MonkeyInputCodeComponent }
209
+ ], viewQueries: [{ propertyName: "inputs", predicate: ["codeInput"], descendants: true }], ngImport: i0, template: "<div class=\"monkey-input-code\">\n @for (idx of inputIndices(); track $index; let i = $index) {\n <input\n #codeInput\n class=\"focus\"\n autocomplete=\"one-time-code\"\n [attr.type]=\"inputType()\"\n [disabled]=\"_disabled\"\n [attr.maxlength]=\"1\"\n [class.invalid]=\"isInvalid()\"\n [(ngModel)]=\"inputIndices()[i]\"\n (focus)=\"onFocus($event)\"\n (input)=\"onInput($event, i)\"\n (keydown)=\"onKeyDown($event, i)\"\n (paste)=\"onPaste($event)\"\n (blur)=\"onBlur()\"\n />\n }\n</div>\n", styles: [".monkey-input-code{display:flex;gap:12px}.monkey-input-code input{box-sizing:border-box;border-radius:4px;border:2px solid var(--mecx-color-gray-400);color:var(--mecx-color-gray-900);font-size:18px;font-style:normal;font-weight:400;letter-spacing:.14px;line-height:24px;text-align:center}.monkey-input-code input:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:2px}.monkey-input-code input.invalid{border:2px solid var(--mecx-color-error-700)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
210
+ }
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputCodeComponent, decorators: [{
212
+ type: Component,
213
+ args: [{ selector: 'monkey-input-code', standalone: true, imports: [CommonModule, FormsModule], host: {
214
+ 'data-testid': 'monkey-input-code',
215
+ '[attr.id]': 'id',
216
+ '[id]': 'id'
217
+ }, providers: [
218
+ // eslint-disable-next-line no-use-before-define
219
+ { provide: MonkeyFormFieldControl, useExisting: MonkeyInputCodeComponent }
220
+ ], template: "<div class=\"monkey-input-code\">\n @for (idx of inputIndices(); track $index; let i = $index) {\n <input\n #codeInput\n class=\"focus\"\n autocomplete=\"one-time-code\"\n [attr.type]=\"inputType()\"\n [disabled]=\"_disabled\"\n [attr.maxlength]=\"1\"\n [class.invalid]=\"isInvalid()\"\n [(ngModel)]=\"inputIndices()[i]\"\n (focus)=\"onFocus($event)\"\n (input)=\"onInput($event, i)\"\n (keydown)=\"onKeyDown($event, i)\"\n (paste)=\"onPaste($event)\"\n (blur)=\"onBlur()\"\n />\n }\n</div>\n", styles: [".monkey-input-code{display:flex;gap:12px}.monkey-input-code input{box-sizing:border-box;border-radius:4px;border:2px solid var(--mecx-color-gray-400);color:var(--mecx-color-gray-900);font-size:18px;font-style:normal;font-weight:400;letter-spacing:.14px;line-height:24px;text-align:center}.monkey-input-code input:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:2px}.monkey-input-code input.invalid{border:2px solid var(--mecx-color-error-700)}\n"] }]
221
+ }], ctorParameters: () => [{ type: i1.MonkeyFormFieldComponent, decorators: [{
222
+ type: Optional
223
+ }] }], propDecorators: { disabled: [{
224
+ type: Input,
225
+ args: [{ transform: booleanAttribute }]
226
+ }], value: [{
227
+ type: Input
228
+ }], inputs: [{
229
+ type: ViewChildren,
230
+ args: ['codeInput']
231
+ }] } });
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LWNvZGUvaW5wdXQtY29kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LWNvZGUvaW5wdXQtY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUVMLFFBQVEsRUFFUixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBNEIsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUE2QmpGLE1BQU0sT0FBTyx3QkFBd0I7SUFpQ25DLElBQ0ksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2pDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7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O3lDQWxDakIsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQXFCbEMsS0FBSztzQkFEUixLQUFLO2dCQWFxQixNQUFNO3NCQUFoQyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBPcHRpb25hbCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW4sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUZvcm1GaWVsZENvbXBvbmVudCwgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuXG50eXBlIEtleWJvYXJkS2V5cyA9ICdCYWNrc3BhY2UnIHwgJ0RlbGV0ZScgfCAnQXJyb3dMZWZ0JyB8ICdBcnJvd1VwJyB8ICdBcnJvd1JpZ2h0JyB8ICdBcnJvd0Rvd24nO1xuXG5pbnRlcmZhY2UgQWxsb3dlZEtleWJvYXJkS2V5cyB7XG4gIEJhY2tzcGFjZTogKCkgPT4gdm9pZDtcbiAgRGVsZXRlOiAoKSA9PiB2b2lkO1xuICBBcnJvd0xlZnQ6ICgpID0+IHZvaWQ7XG4gIEFycm93VXA6ICgpID0+IHZvaWQ7XG4gIEFycm93UmlnaHQ6ICgpID0+IHZvaWQ7XG4gIEFycm93RG93bjogKCkgPT4gdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9ua2V5LWlucHV0LWNvZGUnLFxuICBzdHlsZVVybDogJy4vaW5wdXQtY29kZS5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jb2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ21vbmtleS1pbnB1dC1jb2RlJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2lkXSc6ICdpZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gICAgeyBwcm92aWRlOiBNb25rZXlGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogTW9ua2V5SW5wdXRDb2RlQ29tcG9uZW50IH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlJbnB1dENvZGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCwgQWZ0ZXJWaWV3SW5pdFxue1xuICByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9ICdpbnB1dC1jb2RlJztcblxuICByZWFkb25seSBjdXJyZW5jeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHBlcmNlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByZWFkb25seSBpZDogYW55ID0gaW5qZWN0KElkR2VuZXJhdG9yKS5nZXRJZCgnbW9ua2V5LWlucHV0LWNvZGUtJyk7XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgX29uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgcHJpdmF0ZSBfdmFsdWUgPSBudWxsO1xuXG4gIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwgPSBpbmplY3QoTmdDb250cm9sLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pITtcblxuICBwdWJsaWMgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBsZW5ndGg6IElucHV0U2lnbmFsPG51bWJlcj4gPSBpbnB1dDxudW1iZXI+KDYpO1xuXG4gIHB1YmxpYyBpbnB1dFR5cGU6IElucHV0U2lnbmFsPHN0cmluZz4gPSBpbnB1dDxzdHJpbmc+KCdudW1lcmljJyk7XG5cbiAgcHVibGljIGlucHV0SW5kaWNlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5sZW5ndGgoKSB9LCAoXywgaSkgPT4ge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH0pO1xuICB9KTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLmRpc2FibGVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdmFsdWUgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGRyZW4oJ2NvZGVJbnB1dCcpIGlucHV0cyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PjtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1GaWVsZDogTW9ua2V5Rm9ybUZpZWxkQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb3JtRmllbGQpIHtcbiAgICAgIHRoaXMuZm9ybUZpZWxkLmhpZGVBY3Rpb24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtRmllbGQpIHtcbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5mb3JtRmllbGQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcubWVjeC1mb3JtLWZpZWxkLWJvZHknXG4gICAgICApIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICBjb25zdCBoZWlnaHQgPSBpbnB1dC5vZmZzZXRIZWlnaHQgPiA0MCA/IGlucHV0Lm9mZnNldEhlaWdodCA6IDQwO1xuXG4gICAgICB0aGlzLmlucHV0cy5mb3JFYWNoKChpbnB1dEVsKSA9PiB7XG4gICAgICAgIGlucHV0RWwubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xuICAgICAgICBpbnB1dEVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHtoZWlnaHR9cHhgO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Gb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb3BhZ2F0ZUNvZGUoKTogdm9pZCB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMuaW5wdXRJbmRpY2VzKCkuam9pbignJyk7XG5cbiAgICB0aGlzLndyaXRlVmFsdWUoY29kZSk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTmV4dElucHV0KGlucHV0OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgbmV4dDogSFRNTElucHV0RWxlbWVudCA9IGlucHV0Lm5leHRFbGVtZW50U2libGluZyBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgbmV4dD8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNQcmV2aW91c0lucHV0KGlucHV0OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgcHJldmlvdXM6IEhUTUxJbnB1dEVsZW1lbnQgPSBpbnB1dC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBwcmV2aW91cz8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RnVsbElucHV0VmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNoYXJzOiBzdHJpbmdbXSA9IHZhbHVlPy5zbGljZSgwLCB0aGlzLmxlbmd0aCgpKS5zcGxpdCgnJykgfHwgJyc7XG5cbiAgICBjaGFycy5mb3JFYWNoKChkaWdpdDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICB0aGlzLmlucHV0SW5kaWNlcygpW2luZGV4XSA9IGRpZ2l0O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtRmllbGQuc2hvd0ludmFsaWQ7XG4gIH1cblxuICBwdWJsaWMgb25Db250YWluZXJDbGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3ZhbHVlKSB7XG4gICAgICB0aGlzLmlucHV0cy5maXJzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5pbnB1dEluZGljZXMoKVtpbmRleF0gPSBpbnB1dC52YWx1ZTtcblxuICAgIGNvbnN0IHsga2V5IH0gPSBldmVudDtcbiAgICBjb25zdCBrZXlzOiBBbGxvd2VkS2V5Ym9hcmRLZXlzID0ge1xuICAgICAgQmFja3NwYWNlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmIChpbnB1dC52YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzUHJldmlvdXNJbnB1dChpbnB1dCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBEZWxldGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKGlucHV0LnZhbHVlID09PSAnJykge1xuICAgICAgICAgIHRoaXMuZm9jdXNOZXh0SW5wdXQoaW5wdXQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dMZWZ0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgICB0aGlzLmZvY3VzUHJldmlvdXNJbnB1dChpbnB1dCk7XG5cbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQXJyb3dVcDogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSW5wdXQoaW5wdXQpO1xuXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIEFycm93UmlnaHQ6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKGluZGV4IDwgdGhpcy5sZW5ndGgoKSkge1xuICAgICAgICAgIHRoaXMuZm9jdXNOZXh0SW5wdXQoaW5wdXQpO1xuXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIEFycm93RG93bjogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCgpKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c05leHRJbnB1dChpbnB1dCk7XG5cbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChrZXlzW2tleSBhcyBLZXlib2FyZEtleXNdKSB7XG4gICAgICBrZXlzW2tleSBhcyBLZXlib2FyZEtleXNdKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSW5wdXQoZXZlbnQ6IEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBpbnB1dDtcblxuICAgIGlmICh2YWx1ZS5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLnNldEZ1bGxJbnB1dFZhbHVlKHZhbHVlKTtcblxuICAgICAgaW5wdXQudmFsdWUgPSB2YWx1ZS5jaGFyQXQoMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlucHV0LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dEluZGljZXMoKVtpbmRleF0gPSBpbnB1dC52YWx1ZTtcblxuICAgIGlmIChpbnB1dC52YWx1ZSAmJiBpbmRleCA8IHRoaXMubGVuZ3RoKCkpIHtcbiAgICAgIHRoaXMuZm9jdXNOZXh0SW5wdXQoaW5wdXQpO1xuICAgIH1cblxuICAgIHRoaXMucHJvcGFnYXRlQ29kZSgpO1xuICB9XG5cbiAgcHVibGljIG9uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IHBhc3RlZERhdGE6IHN0cmluZyA9IGV2ZW50LmNsaXBib2FyZERhdGE/LmdldERhdGEoJ3RleHQnKS50cmltKCkgPz8gJyc7XG4gICAgY29uc3QgY2hhcnM6IHN0cmluZ1tdID0gcGFzdGVkRGF0YS5zbGljZSgwLCB0aGlzLmxlbmd0aCgpKS5zcGxpdCgnJyk7XG5cbiAgICBjaGFycy5mb3JFYWNoKChkaWdpdCwgaW5kZXgpID0+IHtcbiAgICAgIHRoaXMuaW5wdXRJbmRpY2VzKClbaW5kZXhdID0gZGlnaXQ7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5pbnB1dHMubGVuZ3RoID4gY2hhcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmlucHV0cy5nZXQoY2hhcnMubGVuZ3RoKT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlucHV0cy5sZW5ndGggPD0gY2hhcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9uQmx1cigpO1xuICAgIH1cblxuICAgIHRoaXMucHJvcGFnYXRlQ29kZSgpO1xuICB9XG5cbiAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBpbnB1dC5zZWxlY3QoKTtcbiAgICB0aGlzLl9vbkZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9ua2V5LWlucHV0LWNvZGVcIj5cbiAgQGZvciAoaWR4IG9mIGlucHV0SW5kaWNlcygpOyB0cmFjayAkaW5kZXg7IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGlucHV0XG4gICAgICAjY29kZUlucHV0XG4gICAgICBjbGFzcz1cImZvY3VzXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9uZS10aW1lLWNvZGVcIlxuICAgICAgW2F0dHIudHlwZV09XCJpbnB1dFR5cGUoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCIxXCJcbiAgICAgIFtjbGFzcy5pbnZhbGlkXT1cImlzSW52YWxpZCgpXCJcbiAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRJbmRpY2VzKClbaV1cIlxuICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQsIGkpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGkpXCJcbiAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgIC8+XG4gIH1cbjwvZGl2PlxuIl19
@@ -0,0 +1,7 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ export * from './input-upload.component';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LXVwbG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFDN0IsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXVwbG9hZC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,238 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { booleanAttribute, Component, EventEmitter, inject, Input, Output, ViewChild } from '@angular/core';
7
+ import { NgControl, Validators } from '@angular/forms';
8
+ import { Subject } from 'rxjs';
9
+ import { formatFileSize, getFileExtension, IdGenerator } from '../../../utils';
10
+ import { MonkeyFormFieldControl } from '../form-field';
11
+ import * as i0 from "@angular/core";
12
+ export class MonkeyInputUploadComponent {
13
+ get disabled() {
14
+ if (this.ngControl && this.ngControl.disabled !== null) {
15
+ return this.ngControl.disabled;
16
+ }
17
+ return this._disabled;
18
+ }
19
+ set disabled(value) {
20
+ this._disabled = value;
21
+ if (this.focused) {
22
+ this.focused = false;
23
+ this.stateChanges.next();
24
+ }
25
+ }
26
+ get required() {
27
+ return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
28
+ }
29
+ set required(value) {
30
+ this._required = value;
31
+ this.stateChanges.next();
32
+ }
33
+ set value(value) {
34
+ if (this._value !== value && value !== undefined) {
35
+ this._value = value;
36
+ this._onChange(value);
37
+ this._onTouched(value);
38
+ }
39
+ }
40
+ get value() {
41
+ return this._value;
42
+ }
43
+ constructor() {
44
+ this.progress = 0;
45
+ this.placeholder = '';
46
+ this.maxSizeBytes = 5 * 1024 * 1024;
47
+ this.allowedExtensions = ['.jpg', '.jpeg', '.png', '.pdf', '.txt', '.xls', '.xlsx'];
48
+ this.loading = false;
49
+ this.tabIndex = 0;
50
+ this._disabled = false;
51
+ this._value = null;
52
+ this.onChange = new EventEmitter();
53
+ this.ngControl = inject(NgControl, { self: true, optional: true });
54
+ this.idGenerator = inject(IdGenerator);
55
+ this.id = this.idGenerator.getId('monkey-input-upload-');
56
+ this.focused = false;
57
+ this.type = '';
58
+ this.currency = false;
59
+ this.percent = false;
60
+ this.stateChanges = new Subject();
61
+ this._onChange = () => { };
62
+ this._onTouched = () => { };
63
+ if (this.ngControl) {
64
+ this.ngControl.valueAccessor = this;
65
+ }
66
+ }
67
+ validateFileSize(file) {
68
+ return file.size <= this.maxSizeBytes;
69
+ }
70
+ validateFileExtension(file) {
71
+ if (!this.allowedExtensions || !this.allowedExtensions.length) {
72
+ return true;
73
+ }
74
+ const fileExtension = getFileExtension(file.name);
75
+ const allowedExts = this.allowedExtensions.map((ext) => {
76
+ return ext.trim().replace('.', '').toLowerCase();
77
+ });
78
+ return allowedExts.includes(fileExtension);
79
+ }
80
+ onContainerClick(event) {
81
+ if (!this.loading) {
82
+ this.fileInput.nativeElement.click();
83
+ }
84
+ }
85
+ _onFocus() {
86
+ if (!this.disabled) {
87
+ this.focused = true;
88
+ this._onTouched();
89
+ this.stateChanges.next();
90
+ }
91
+ }
92
+ _onBlur() {
93
+ this.focused = false;
94
+ this.stateChanges.next();
95
+ }
96
+ ngAfterContentInit() { }
97
+ ngOnChanges(changes) { }
98
+ ngOnDestroy() { }
99
+ registerOnChange(fn) {
100
+ this._onChange = fn;
101
+ }
102
+ registerOnTouched(fn) {
103
+ this._onTouched = fn;
104
+ }
105
+ setDisabledState(isDisabled) {
106
+ this.disabled = isDisabled;
107
+ if (this.fileInput) {
108
+ this.fileInput.nativeElement.disabled = isDisabled;
109
+ }
110
+ }
111
+ writeValue(value) {
112
+ this.value = value;
113
+ }
114
+ reset() {
115
+ if (this.fileInput) {
116
+ this.fileInput.nativeElement.value = '';
117
+ }
118
+ }
119
+ onFileSelected(event) {
120
+ const input = event.target;
121
+ this._onTouched();
122
+ if (!input.files?.length) {
123
+ return;
124
+ }
125
+ const file = input.files.item(0);
126
+ if (this.fileInput) {
127
+ this.fileInput.nativeElement.value = '';
128
+ }
129
+ if (!this.validateFileSize(file)) {
130
+ this.ngControl?.control?.setErrors({
131
+ maxFileSize: true,
132
+ sizeAllowed: formatFileSize(this.maxSizeBytes)
133
+ });
134
+ this._onBlur();
135
+ this.reset();
136
+ return;
137
+ }
138
+ if (!this.validateFileExtension(file)) {
139
+ this.ngControl?.control?.setErrors({
140
+ fileExtension: true,
141
+ extensionAllowed: this.allowedExtensions.join(', ')
142
+ });
143
+ this._onBlur();
144
+ this.reset();
145
+ return;
146
+ }
147
+ this._onBlur();
148
+ if (this.onChange.observed) {
149
+ this.onChange.emit({ component: this, file: file });
150
+ }
151
+ else {
152
+ this.value = {
153
+ fileName: file.name,
154
+ file
155
+ };
156
+ }
157
+ }
158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyInputUploadComponent, isStandalone: true, selector: "monkey-input-upload", inputs: { progress: "progress", placeholder: "placeholder", maxSizeBytes: "maxSizeBytes", allowedExtensions: "allowedExtensions", loading: ["loading", "loading", booleanAttribute], tabIndex: "tabIndex", disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "attr.data-testid": "'monkey-input-upload'", "class.mecx-input-upload-disabled": "_disabled", "class.mecx-input-upload-focused": "focused", "attr.id": "id", "attr.tabindex": "disabled ? -1 : tabIndex" }, classAttribute: "mecx-input-upload" }, providers: [
160
+ // eslint-disable-next-line no-use-before-define
161
+ { provide: MonkeyFormFieldControl, useExisting: MonkeyInputUploadComponent }
162
+ ], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
163
+ <div class="mecx-input-upload-value" [class.has-value]="value">
164
+ {{ value?.fileName || placeholder }}
165
+ </div>
166
+ <input
167
+ (change)="onFileSelected($event)"
168
+ type="file"
169
+ class="file-input"
170
+ #fileInput
171
+ [accept]="allowedExtensions.join(',')"
172
+ />
173
+ @if (loading) {
174
+ <div class="progress">
175
+ <div class="progress-bar" [style.width.%]="progress"></div>
176
+ </div>
177
+ }
178
+ `, isInline: true, styles: [":host{display:inline-flex;width:100%;min-width:0;cursor:pointer}:host .progress{position:absolute;left:0;bottom:0;right:0;height:2px;background-color:var(--mecx-color-gray-300);width:100%}:host .progress .progress-bar{background-color:var(--mecx-color-success-main);height:100%;transition:width .2s}:host:focus-visible,:host:focus{outline:none}:host .mecx-input-upload-value{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}:host .mecx-input-upload-value.has-value{color:var(--mecx-color-gray-900)}:host.mecx-input-upload-disabled .mecx-input-upload-value{color:var(--mecx-color-gray-400)!important}:host .file-input{display:none}\n"] }); }
179
+ }
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputUploadComponent, decorators: [{
181
+ type: Component,
182
+ args: [{ selector: 'monkey-input-upload', standalone: true, imports: [], template: `
183
+ <div class="mecx-input-upload-value" [class.has-value]="value">
184
+ {{ value?.fileName || placeholder }}
185
+ </div>
186
+ <input
187
+ (change)="onFileSelected($event)"
188
+ type="file"
189
+ class="file-input"
190
+ #fileInput
191
+ [accept]="allowedExtensions.join(',')"
192
+ />
193
+ @if (loading) {
194
+ <div class="progress">
195
+ <div class="progress-bar" [style.width.%]="progress"></div>
196
+ </div>
197
+ }
198
+ `, providers: [
199
+ // eslint-disable-next-line no-use-before-define
200
+ { provide: MonkeyFormFieldControl, useExisting: MonkeyInputUploadComponent }
201
+ ], host: {
202
+ '[attr.data-testid]': "'monkey-input-upload'",
203
+ class: 'mecx-input-upload',
204
+ '[class.mecx-input-upload-disabled]': '_disabled',
205
+ '[class.mecx-input-upload-focused]': 'focused',
206
+ '[attr.id]': 'id',
207
+ '[attr.tabindex]': 'disabled ? -1 : tabIndex',
208
+ '(focus)': '_onFocus()',
209
+ '(blur)': '_onBlur()'
210
+ }, styles: [":host{display:inline-flex;width:100%;min-width:0;cursor:pointer}:host .progress{position:absolute;left:0;bottom:0;right:0;height:2px;background-color:var(--mecx-color-gray-300);width:100%}:host .progress .progress-bar{background-color:var(--mecx-color-success-main);height:100%;transition:width .2s}:host:focus-visible,:host:focus{outline:none}:host .mecx-input-upload-value{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}:host .mecx-input-upload-value.has-value{color:var(--mecx-color-gray-900)}:host.mecx-input-upload-disabled .mecx-input-upload-value{color:var(--mecx-color-gray-400)!important}:host .file-input{display:none}\n"] }]
211
+ }], ctorParameters: () => [], propDecorators: { fileInput: [{
212
+ type: ViewChild,
213
+ args: ['fileInput']
214
+ }], progress: [{
215
+ type: Input
216
+ }], placeholder: [{
217
+ type: Input
218
+ }], maxSizeBytes: [{
219
+ type: Input
220
+ }], allowedExtensions: [{
221
+ type: Input
222
+ }], loading: [{
223
+ type: Input,
224
+ args: [{ transform: booleanAttribute }]
225
+ }], tabIndex: [{
226
+ type: Input
227
+ }], disabled: [{
228
+ type: Input,
229
+ args: [{ transform: booleanAttribute }]
230
+ }], required: [{
231
+ type: Input,
232
+ args: [{ transform: booleanAttribute }]
233
+ }], value: [{
234
+ type: Input
235
+ }], onChange: [{
236
+ type: Output
237
+ }] } });
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdXBsb2FkL2lucHV0LXVwbG9hZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUEwQ3ZELE1BQU0sT0FBTywwQkFBMEI7SUFrQnJDLElBQ0ksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJ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QUMxQixvQ0FBb0MsRUFBRSxXQUFXO3dCQUNqRCxtQ0FBbUMsRUFBRSxTQUFTO3dCQUM5QyxXQUFXLEVBQUUsSUFBSTt3QkFDakIsaUJBQWlCLEVBQUUsMEJBQTBCO3dCQUM3QyxTQUFTLEVBQUUsWUFBWTt3QkFDdkIsUUFBUSxFQUFFLFdBQVc7cUJBQ3RCO3dEQUt1QixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRWIsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHN0IsUUFBUTtzQkFBaEIsS0FBSztnQkFHRixRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBb0JsQyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBYWxDLEtBQUs7c0JBRFIsS0FBSztnQkFxQkksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZm9ybWF0RmlsZVNpemUsIGdldEZpbGVFeHRlbnNpb24sIElkR2VuZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbmV4cG9ydCB0eXBlIE1vbmtleUlucHV0VXBsb2FkQ2hhbmdlRXZlbnQgPSB7IGNvbXBvbmVudDogTW9ua2V5SW5wdXRVcGxvYWRDb21wb25lbnQ7IGZpbGU6IEZpbGUgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9ua2V5LWlucHV0LXVwbG9hZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJtZWN4LWlucHV0LXVwbG9hZC12YWx1ZVwiIFtjbGFzcy5oYXMtdmFsdWVdPVwidmFsdWVcIj5cbiAgICAgIHt7IHZhbHVlPy5maWxlTmFtZSB8fCBwbGFjZWhvbGRlciB9fVxuICAgIDwvZGl2PlxuICAgIDxpbnB1dFxuICAgICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIGNsYXNzPVwiZmlsZS1pbnB1dFwiXG4gICAgICAjZmlsZUlucHV0XG4gICAgICBbYWNjZXB0XT1cImFsbG93ZWRFeHRlbnNpb25zLmpvaW4oJywnKVwiXG4gICAgLz5cbiAgICBAaWYgKGxvYWRpbmcpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCIgW3N0eWxlLndpZHRoLiVdPVwicHJvZ3Jlc3NcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL2lucHV0LXVwbG9hZC5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICAgIHsgcHJvdmlkZTogTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IE1vbmtleUlucHV0VXBsb2FkQ29tcG9uZW50IH1cbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLXRlc3RpZF0nOiBcIidtb25rZXktaW5wdXQtdXBsb2FkJ1wiLFxuICAgIGNsYXNzOiAnbWVjeC1pbnB1dC11cGxvYWQnLFxuICAgICdbY2xhc3MubWVjeC1pbnB1dC11cGxvYWQtZGlzYWJsZWRdJzogJ19kaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5tZWN4LWlucHV0LXVwbG9hZC1mb2N1c2VkXSc6ICdmb2N1c2VkJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2Rpc2FibGVkID8gLTEgOiB0YWJJbmRleCcsXG4gICAgJyhmb2N1cyknOiAnX29uRm9jdXMoKScsXG4gICAgJyhibHVyKSc6ICdfb25CbHVyKCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5SW5wdXRVcGxvYWRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBNb25rZXlGb3JtRmllbGRDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKSBwcm9ncmVzczogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgbWF4U2l6ZUJ5dGVzID0gNSAqIDEwMjQgKiAxMDI0O1xuXG4gIEBJbnB1dCgpIGFsbG93ZWRFeHRlbnNpb25zID0gWycuanBnJywgJy5qcGVnJywgJy5wbmcnLCAnLnBkZicsICcudHh0JywgJy54bHMnLCAnLnhsc3gnXTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHRhYkluZGV4ID0gMDtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLmRpc2FibGVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQgPz8gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/PyBmYWxzZTtcbiAgfVxuXG4gIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gdmFsdWU7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IHZhbHVlICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLl9vblRvdWNoZWQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIF92YWx1ZSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1vbmtleUlucHV0VXBsb2FkQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsID0gaW5qZWN0KE5nQ29udHJvbCwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KSE7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpZEdlbmVyYXRvciA9IGluamVjdChJZEdlbmVyYXRvcik7XG5cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZyA9IHRoaXMuaWRHZW5lcmF0b3IuZ2V0SWQoJ21vbmtleS1pbnB1dC11cGxvYWQtJyk7XG5cbiAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9ICcnO1xuXG4gIGN1cnJlbmN5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgcGVyY2VudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpbGVTaXplKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmlsZS5zaXplIDw9IHRoaXMubWF4U2l6ZUJ5dGVzO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyB8fCAhdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZ2V0RmlsZUV4dGVuc2lvbihmaWxlLm5hbWUpO1xuXG4gICAgY29uc3QgYWxsb3dlZEV4dHMgPSB0aGlzLmFsbG93ZWRFeHRlbnNpb25zLm1hcCgoZXh0KSA9PiB7XG4gICAgICByZXR1cm4gZXh0LnRyaW0oKS5yZXBsYWNlKCcuJywgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYWxsb3dlZEV4dHMuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbik7XG4gIH1cblxuICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxvYWRpbmcpIHtcbiAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBfb25Gb2N1cygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBfb25CbHVyKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIGRpc2FibGVUb0JlRGlydHk/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIF9vbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG5cbiAgX29uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge31cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgaWYgKHRoaXMuZmlsZUlucHV0KSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZXNldCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWxlSW5wdXQpIHtcbiAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG4gIH1cblxuICBvbkZpbGVTZWxlY3RlZChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIGlmICghaW5wdXQuZmlsZXM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSBpbnB1dC5maWxlcy5pdGVtKDApO1xuXG4gICAgaWYgKHRoaXMuZmlsZUlucHV0KSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlRmlsZVNpemUoZmlsZSEpKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0RXJyb3JzKHtcbiAgICAgICAgbWF4RmlsZVNpemU6IHRydWUsXG4gICAgICAgIHNpemVBbGxvd2VkOiBmb3JtYXRGaWxlU2l6ZSh0aGlzLm1heFNpemVCeXRlcylcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb25CbHVyKCk7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlRmlsZUV4dGVuc2lvbihmaWxlISkpIHtcbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRFcnJvcnMoe1xuICAgICAgICBmaWxlRXh0ZW5zaW9uOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25BbGxvd2VkOiB0aGlzLmFsbG93ZWRFeHRlbnNpb25zLmpvaW4oJywgJylcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb25CbHVyKCk7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb25CbHVyKCk7XG4gICAgaWYgKHRoaXMub25DaGFuZ2Uub2JzZXJ2ZWQpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZmlsZTogZmlsZSEgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgIGZpbGVOYW1lOiBmaWxlIS5uYW1lLFxuICAgICAgICBmaWxlXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,9 +1,14 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
1
6
  import { Component, Inject } from '@angular/core';
2
7
  import { MonkeyModalRef } from '../modal-ref';
3
8
  import { MECX_MODAL_DEFAULT_CONFIG } from '../utils';
4
9
  import * as i0 from "@angular/core";
5
- import * as i1 from "../../monkey-button/monkey-button.component";
6
- import * as i2 from "../modal";
10
+ import * as i1 from "../../button/button.component";
11
+ import * as i2 from "../modal.component";
7
12
  import * as i3 from "../directives/title";
8
13
  import * as i4 from "../directives/subtitle";
9
14
  import * as i5 from "../directives/content";
@@ -20,9 +25,6 @@ export class MonkeyModalDefaultComponent {
20
25
  this.okLabel = '';
21
26
  // not to do
22
27
  }
23
- ngAfterViewInit() {
24
- // console.log(this.data);
25
- }
26
28
  onSubmit() {
27
29
  this.modalRef.close(true);
28
30
  }
@@ -65,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
65
67
  type: Inject,
66
68
  args: [MonkeyModalRef]
67
69
  }] }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LW1vZGFsL2NvbXBvbmVudHMvZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7O0FBZ0JyRCxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDLFlBQzRDLE1BQWdDLEVBQzFDLFFBQXdCO1FBRGQsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFDMUMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFaMUQsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQU1YLFlBQVk7SUFDZCxDQUFDO0lBRUQsZUFBZTtRQUNiLDBCQUEwQjtJQUM1QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQTVCVSwyQkFBMkIsa0JBWTVCLHlCQUF5QixhQUN6QixjQUFjO21HQWJiLDJCQUEyQiw0REFaNUI7Ozs7Ozs7Ozs7R0FVVDs7NEZBRVUsMkJBQTJCO2tCQWR2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO2lCQUNGOzswQkFhSSxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQ2hDLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlNb2RhbERlZmF1bHRDb25maWcgfSBmcm9tICcuLi9tb2RhbC1jb25maWcnO1xuaW1wb3J0IHsgTW9ua2V5TW9kYWxSZWYgfSBmcm9tICcuLi9tb2RhbC1yZWYnO1xuaW1wb3J0IHsgTUVDWF9NT0RBTF9ERUZBVUxUX0NPTkZJRyB9IGZyb20gJy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9ua2V5LW1vZGFsLWRlZmF1bHQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtb25rZXktbW9kYWw+XG4gICAgICA8bW9ua2V5LW1vZGFsLXRpdGxlIFtpbm5lckhUTUxdPVwiY29uZmlnLnRpdGxlXCI+PC9tb25rZXktbW9kYWwtdGl0bGU+XG4gICAgICA8bW9ua2V5LW1vZGFsLXN1YnRpdGxlIFtpbm5lckhUTUxdPVwiY29uZmlnLnN1YnRpdGxlXCI+PC9tb25rZXktbW9kYWwtc3VidGl0bGU+XG4gICAgICA8bW9ua2V5LW1vZGFsLWNvbnRlbnQgW2lubmVySFRNTF09XCJjb25maWcuY29udGVudFwiPjwvbW9ua2V5LW1vZGFsLWNvbnRlbnQ+XG4gICAgICA8bW9ua2V5LW1vZGFsLWFjdGlvbnMgbWtBbGlnbj1cImVuZFwiPlxuICAgICAgICA8bW9ua2V5LWJ1dHRvbiB0eXBlPVwidGVydGlhcnlcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+e3sgY29uZmlnLmNhbmNlbExhYmVsIH19PC9tb25rZXktYnV0dG9uPlxuICAgICAgICA8bW9ua2V5LWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIChjbGljayk9XCJvblN1Ym1pdCgpXCI+e3sgY29uZmlnLm9rTGFiZWwgfX08L21vbmtleS1idXR0b24+XG4gICAgICA8L21vbmtleS1tb2RhbC1hY3Rpb25zPlxuICAgIDwvbW9ua2V5LW1vZGFsPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleU1vZGFsRGVmYXVsdENvbXBvbmVudCB7XG4gIHRpdGxlID0gJyc7XG5cbiAgc3VidGl0bGUgPSAnJztcblxuICBjb250ZW50ID0gJyc7XG5cbiAgY2FuY2VsTGFiZWwgPSAnJztcblxuICBva0xhYmVsID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNRUNYX01PREFMX0RFRkFVTFRfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBNb25rZXlNb2RhbERlZmF1bHRDb25maWcsXG4gICAgQEluamVjdChNb25rZXlNb2RhbFJlZikgcHJpdmF0ZSBtb2RhbFJlZjogTW9ua2V5TW9kYWxSZWZcbiAgKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIHRoaXMubW9kYWxSZWYuY2xvc2UodHJ1ZSk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMubW9kYWxSZWYuY2xvc2UoKTtcbiAgfVxufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvY29tcG9uZW50cy9kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzZCQUk2QjtBQUM3QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7O0FBZ0JyRCxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDLFlBQzRDLE1BQWdDLEVBQzFDLFFBQXdCO1FBRGQsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFDMUMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFaMUQsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQU1YLFlBQVk7SUFDZCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQXhCVSwyQkFBMkIsa0JBWTVCLHlCQUF5QixhQUN6QixjQUFjO21HQWJiLDJCQUEyQiw0REFaNUI7Ozs7Ozs7Ozs7R0FVVDs7NEZBRVUsMkJBQTJCO2tCQWR2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7OztHQVVUO2lCQUNGOzswQkFhSSxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQ2hDLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5TW9kYWxEZWZhdWx0Q29uZmlnIH0gZnJvbSAnLi4vbW9kYWwtY29uZmlnJztcbmltcG9ydCB7IE1vbmtleU1vZGFsUmVmIH0gZnJvbSAnLi4vbW9kYWwtcmVmJztcbmltcG9ydCB7IE1FQ1hfTU9EQUxfREVGQVVMVF9DT05GSUcgfSBmcm9tICcuLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vbmtleS1tb2RhbC1kZWZhdWx0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bW9ua2V5LW1vZGFsPlxuICAgICAgPG1vbmtleS1tb2RhbC10aXRsZSBbaW5uZXJIVE1MXT1cImNvbmZpZy50aXRsZVwiPjwvbW9ua2V5LW1vZGFsLXRpdGxlPlxuICAgICAgPG1vbmtleS1tb2RhbC1zdWJ0aXRsZSBbaW5uZXJIVE1MXT1cImNvbmZpZy5zdWJ0aXRsZVwiPjwvbW9ua2V5LW1vZGFsLXN1YnRpdGxlPlxuICAgICAgPG1vbmtleS1tb2RhbC1jb250ZW50IFtpbm5lckhUTUxdPVwiY29uZmlnLmNvbnRlbnRcIj48L21vbmtleS1tb2RhbC1jb250ZW50PlxuICAgICAgPG1vbmtleS1tb2RhbC1hY3Rpb25zIG1rQWxpZ249XCJlbmRcIj5cbiAgICAgICAgPG1vbmtleS1idXR0b24gdHlwZT1cInRlcnRpYXJ5XCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPnt7IGNvbmZpZy5jYW5jZWxMYWJlbCB9fTwvbW9ua2V5LWJ1dHRvbj5cbiAgICAgICAgPG1vbmtleS1idXR0b24gdHlwZT1cInByaW1hcnlcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPnt7IGNvbmZpZy5va0xhYmVsIH19PC9tb25rZXktYnV0dG9uPlxuICAgICAgPC9tb25rZXktbW9kYWwtYWN0aW9ucz5cbiAgICA8L21vbmtleS1tb2RhbD5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlNb2RhbERlZmF1bHRDb21wb25lbnQge1xuICB0aXRsZSA9ICcnO1xuXG4gIHN1YnRpdGxlID0gJyc7XG5cbiAgY29udGVudCA9ICcnO1xuXG4gIGNhbmNlbExhYmVsID0gJyc7XG5cbiAgb2tMYWJlbCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUVDWF9NT0RBTF9ERUZBVUxUX0NPTkZJRykgcHVibGljIGNvbmZpZzogTW9ua2V5TW9kYWxEZWZhdWx0Q29uZmlnLFxuICAgIEBJbmplY3QoTW9ua2V5TW9kYWxSZWYpIHByaXZhdGUgbW9kYWxSZWY6IE1vbmtleU1vZGFsUmVmXG4gICkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgdGhpcy5tb2RhbFJlZi5jbG9zZSh0cnVlKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5tb2RhbFJlZi5jbG9zZSgpO1xuICB9XG59XG4iXX0=