monkey-style-guide 2.0.168 → 2.0.169

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 (539) hide show
  1. package/README.md +1266 -1266
  2. package/assets/data/country-codes.json +1466 -1466
  3. package/assets/icons/add-plus.svg +5 -5
  4. package/assets/icons/arrow-down.svg +3 -3
  5. package/assets/icons/arrow-left.svg +3 -3
  6. package/assets/icons/arrow-line-right.svg +5 -5
  7. package/assets/icons/arrow-right.svg +3 -3
  8. package/assets/icons/arrow-up.svg +3 -3
  9. package/assets/icons/arrows.svg +6 -6
  10. package/assets/icons/auction.svg +7 -7
  11. package/assets/icons/bank-account.svg +12 -12
  12. package/assets/icons/bank.svg +3 -3
  13. package/assets/icons/banknote-search.svg +8 -8
  14. package/assets/icons/bell.svg +4 -4
  15. package/assets/icons/block.svg +4 -4
  16. package/assets/icons/book-open-text.svg +10 -10
  17. package/assets/icons/book.svg +4 -4
  18. package/assets/icons/box.svg +6 -6
  19. package/assets/icons/build-person.svg +9 -9
  20. package/assets/icons/calendar.svg +6 -6
  21. package/assets/icons/camera.svg +4 -4
  22. package/assets/icons/card-machine.svg +14 -14
  23. package/assets/icons/card.svg +4 -4
  24. package/assets/icons/cash-banknote-invoice.svg +8 -8
  25. package/assets/icons/chat.svg +4 -4
  26. package/assets/icons/check-circle-out.svg +4 -4
  27. package/assets/icons/check-circle.svg +4 -4
  28. package/assets/icons/check-grey.svg +3 -3
  29. package/assets/icons/check-white.svg +4 -4
  30. package/assets/icons/check.svg +3 -3
  31. package/assets/icons/clipboard.svg +4 -4
  32. package/assets/icons/clock-closed.svg +6 -6
  33. package/assets/icons/clock.svg +4 -4
  34. package/assets/icons/close-circle.svg +5 -5
  35. package/assets/icons/close.svg +4 -4
  36. package/assets/icons/cnpj.svg +9 -9
  37. package/assets/icons/codepen.svg +7 -7
  38. package/assets/icons/company-name.svg +12 -12
  39. package/assets/icons/contract-pen.svg +7 -7
  40. package/assets/icons/contract.svg +14 -14
  41. package/assets/icons/delete.svg +5 -5
  42. package/assets/icons/document.svg +7 -7
  43. package/assets/icons/dollar-sign-circle.svg +7 -7
  44. package/assets/icons/dollar-sign.svg +5 -5
  45. package/assets/icons/domain.svg +9 -9
  46. package/assets/icons/dots-menu.svg +5 -5
  47. package/assets/icons/double-arrow-left.svg +4 -4
  48. package/assets/icons/double-arrow-right.svg +4 -4
  49. package/assets/icons/download.svg +5 -5
  50. package/assets/icons/drag-drop.svg +8 -0
  51. package/assets/icons/edit-square.svg +4 -4
  52. package/assets/icons/edit.svg +3 -3
  53. package/assets/icons/email.svg +4 -4
  54. package/assets/icons/empty-doc.svg +4 -4
  55. package/assets/icons/error.svg +5 -5
  56. package/assets/icons/eye-closed.svg +11 -11
  57. package/assets/icons/eye-open.svg +4 -4
  58. package/assets/icons/filter-add.svg +6 -6
  59. package/assets/icons/filter.svg +3 -3
  60. package/assets/icons/grid.svg +6 -6
  61. package/assets/icons/help.svg +5 -5
  62. package/assets/icons/hexagon.svg +3 -3
  63. package/assets/icons/home.svg +4 -4
  64. package/assets/icons/image.svg +5 -5
  65. package/assets/icons/info.svg +6 -6
  66. package/assets/icons/invoice.svg +5 -5
  67. package/assets/icons/invoices-anticipated.svg +8 -8
  68. package/assets/icons/invoices-approval.svg +8 -8
  69. package/assets/icons/invoices-refused.svg +8 -8
  70. package/assets/icons/list.svg +8 -8
  71. package/assets/icons/location-pin.svg +4 -4
  72. package/assets/icons/login.svg +5 -5
  73. package/assets/icons/logout.svg +5 -5
  74. package/assets/icons/medal.svg +12 -12
  75. package/assets/icons/menu.svg +5 -5
  76. package/assets/icons/money-cedule.svg +6 -6
  77. package/assets/icons/money-hand.svg +6 -6
  78. package/assets/icons/money-sign.svg +4 -4
  79. package/assets/icons/money.svg +6 -6
  80. package/assets/icons/more-circle.svg +5 -5
  81. package/assets/icons/more.svg +4 -4
  82. package/assets/icons/new-company.svg +10 -10
  83. package/assets/icons/offered.svg +5 -5
  84. package/assets/icons/open-external.svg +5 -5
  85. package/assets/icons/password.svg +4 -4
  86. package/assets/icons/people.svg +6 -6
  87. package/assets/icons/percent.svg +5 -5
  88. package/assets/icons/person-document.svg +10 -10
  89. package/assets/icons/person-sad.svg +6 -6
  90. package/assets/icons/phone.svg +3 -3
  91. package/assets/icons/pork.svg +5 -5
  92. package/assets/icons/radio.svg +4 -4
  93. package/assets/icons/refresh.svg +5 -5
  94. package/assets/icons/repeat.svg +4 -4
  95. package/assets/icons/search.svg +4 -4
  96. package/assets/icons/second-warning.svg +5 -5
  97. package/assets/icons/settings.svg +4 -4
  98. package/assets/icons/shield-chekmark.svg +3 -3
  99. package/assets/icons/star.svg +3 -3
  100. package/assets/icons/store.svg +8 -8
  101. package/assets/icons/today.svg +9 -9
  102. package/assets/icons/trash.svg +6 -6
  103. package/assets/icons/trophy.svg +8 -8
  104. package/assets/icons/unfold-more.svg +4 -4
  105. package/assets/icons/upload.svg +5 -5
  106. package/assets/icons/user.svg +4 -4
  107. package/assets/icons/waiting.svg +17 -17
  108. package/assets/icons/wallet.svg +5 -5
  109. package/assets/icons/warning.svg +5 -5
  110. package/assets/scss/partials/_forms.scss +350 -350
  111. package/assets/scss/partials/_index.scss +11 -11
  112. package/assets/scss/partials/_radio-button.scss +35 -35
  113. package/assets/scss/partials/_style-reset.scss +185 -185
  114. package/assets/scss/partials/_typography.scss +149 -149
  115. package/assets/scss/partials/_variables.scss +184 -184
  116. package/assets/scss/partials/components/_buttons.scss +831 -831
  117. package/assets/scss/partials/components/_checkbox.scss +69 -69
  118. package/assets/scss/partials/components/_date-range-picker.scss +265 -265
  119. package/assets/scss/partials/components/_expansion.scss +96 -96
  120. package/assets/scss/partials/components/_image-crop.scss +305 -305
  121. package/assets/scss/partials/components/_index.scss +23 -23
  122. package/assets/scss/partials/components/_input-phone.scss +36 -36
  123. package/assets/scss/partials/components/_input.scss +65 -65
  124. package/assets/scss/partials/components/_progressbar.scss +112 -112
  125. package/assets/scss/partials/components/_radiobutton.scss +66 -66
  126. package/assets/scss/partials/components/_select.scss +356 -356
  127. package/assets/scss/partials/components/_snackbar.scss +204 -204
  128. package/assets/scss/partials/components/_stepper.scss +86 -86
  129. package/assets/scss/partials/components/_table.scss +148 -148
  130. package/assets/scss/partials/components/_wizard.scss +112 -112
  131. package/esm2020/lib/components/badge/badge.component.mjs +43 -43
  132. package/esm2020/lib/components/badge/badge.module.mjs +18 -18
  133. package/esm2020/lib/components/badge/index.mjs +2 -2
  134. package/esm2020/lib/components/button/button-avatar.component.mjs +53 -53
  135. package/esm2020/lib/components/button/button-dropdown.component.mjs +121 -121
  136. package/esm2020/lib/components/button/button.component.mjs +154 -154
  137. package/esm2020/lib/components/button/button.module.mjs +23 -23
  138. package/esm2020/lib/components/button/index.mjs +5 -5
  139. package/esm2020/lib/components/checkbox/checkbox.component.mjs +165 -165
  140. package/esm2020/lib/components/checkbox/checkbox.module.mjs +20 -20
  141. package/esm2020/lib/components/checkbox/index.mjs +3 -3
  142. package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +660 -660
  143. package/esm2020/lib/components/date-range-picker/date-range-picker.module.mjs +22 -22
  144. package/esm2020/lib/components/date-range-picker/index.mjs +3 -3
  145. package/esm2020/lib/components/expansion/expansion.component.mjs +115 -115
  146. package/esm2020/lib/components/expansion/expansion.module.mjs +19 -19
  147. package/esm2020/lib/components/expansion/index.mjs +2 -2
  148. package/esm2020/lib/components/file-upload/file-upload.component.mjs +294 -294
  149. package/esm2020/lib/components/file-upload/file-upload.module.mjs +37 -37
  150. package/esm2020/lib/components/file-upload/index.mjs +3 -3
  151. package/esm2020/lib/components/icon/icon-add-plus.component.mjs +15 -15
  152. package/esm2020/lib/components/icon/icon-arrow-down.component.mjs +15 -15
  153. package/esm2020/lib/components/icon/icon-arrow-left.component.mjs +15 -15
  154. package/esm2020/lib/components/icon/icon-arrow-line-right.component.mjs +15 -15
  155. package/esm2020/lib/components/icon/icon-arrow-right.component.mjs +15 -15
  156. package/esm2020/lib/components/icon/icon-arrow-up.component.mjs +15 -15
  157. package/esm2020/lib/components/icon/icon-arrows.component.mjs +15 -15
  158. package/esm2020/lib/components/icon/icon-auction.component.mjs +15 -15
  159. package/esm2020/lib/components/icon/icon-average-tax.mjs +15 -15
  160. package/esm2020/lib/components/icon/icon-bank-account.component.mjs +15 -15
  161. package/esm2020/lib/components/icon/icon-bank-agency.mjs +15 -15
  162. package/esm2020/lib/components/icon/icon-bank.component.mjs +15 -15
  163. package/esm2020/lib/components/icon/icon-banknote-search.component.mjs +15 -15
  164. package/esm2020/lib/components/icon/icon-bell.component.mjs +15 -15
  165. package/esm2020/lib/components/icon/icon-block.component.mjs +15 -15
  166. package/esm2020/lib/components/icon/icon-book-open-text.component.mjs +15 -15
  167. package/esm2020/lib/components/icon/icon-book.component.mjs +15 -15
  168. package/esm2020/lib/components/icon/icon-box.component.mjs +15 -15
  169. package/esm2020/lib/components/icon/icon-build-person.component.mjs +15 -15
  170. package/esm2020/lib/components/icon/icon-calendar.component.mjs +15 -15
  171. package/esm2020/lib/components/icon/icon-camera.component.mjs +15 -15
  172. package/esm2020/lib/components/icon/icon-card-machine.component.mjs +15 -15
  173. package/esm2020/lib/components/icon/icon-card.component.mjs +15 -15
  174. package/esm2020/lib/components/icon/icon-cash-banknote-invoice.mjs +15 -15
  175. package/esm2020/lib/components/icon/icon-chat.component.mjs +15 -15
  176. package/esm2020/lib/components/icon/icon-check-circle-out.component.mjs +15 -15
  177. package/esm2020/lib/components/icon/icon-check-circle.component.mjs +15 -15
  178. package/esm2020/lib/components/icon/icon-check-grey.component.mjs +15 -15
  179. package/esm2020/lib/components/icon/icon-check-white.component.mjs +15 -15
  180. package/esm2020/lib/components/icon/icon-check.component.mjs +15 -15
  181. package/esm2020/lib/components/icon/icon-clipboard.component.mjs +15 -15
  182. package/esm2020/lib/components/icon/icon-clock-closed.component.mjs +15 -15
  183. package/esm2020/lib/components/icon/icon-clock.component.mjs +15 -15
  184. package/esm2020/lib/components/icon/icon-close-circle.component.mjs +15 -15
  185. package/esm2020/lib/components/icon/icon-close.component.mjs +15 -15
  186. package/esm2020/lib/components/icon/icon-cnpj.component.mjs +15 -15
  187. package/esm2020/lib/components/icon/icon-codepen.component.mjs +15 -15
  188. package/esm2020/lib/components/icon/icon-company-name.component.mjs +15 -15
  189. package/esm2020/lib/components/icon/icon-contract-pen.component.mjs +15 -15
  190. package/esm2020/lib/components/icon/icon-contract.component.mjs +15 -15
  191. package/esm2020/lib/components/icon/icon-delete.component.mjs +15 -15
  192. package/esm2020/lib/components/icon/icon-document.component.mjs +15 -15
  193. package/esm2020/lib/components/icon/icon-dollar-sign-circle.component.mjs +15 -15
  194. package/esm2020/lib/components/icon/icon-dollar-sign.component.mjs +15 -15
  195. package/esm2020/lib/components/icon/icon-domain.component.mjs +15 -15
  196. package/esm2020/lib/components/icon/icon-dots-menu.component.mjs +15 -15
  197. package/esm2020/lib/components/icon/icon-double-arrow-left.component.mjs +15 -15
  198. package/esm2020/lib/components/icon/icon-double-arrow-right.component.mjs +15 -15
  199. package/esm2020/lib/components/icon/icon-download.component.mjs +15 -15
  200. package/esm2020/lib/components/icon/icon-drag-drop.component.mjs +15 -0
  201. package/esm2020/lib/components/icon/icon-edit-square.component.mjs +15 -15
  202. package/esm2020/lib/components/icon/icon-edit.component.mjs +15 -15
  203. package/esm2020/lib/components/icon/icon-email.component.mjs +15 -15
  204. package/esm2020/lib/components/icon/icon-empty-doc.component.mjs +15 -15
  205. package/esm2020/lib/components/icon/icon-error.component.mjs +15 -15
  206. package/esm2020/lib/components/icon/icon-eye-closed.component.mjs +15 -15
  207. package/esm2020/lib/components/icon/icon-eye-open.component.mjs +15 -15
  208. package/esm2020/lib/components/icon/icon-filter-add.component.mjs +15 -15
  209. package/esm2020/lib/components/icon/icon-filter.component.mjs +15 -15
  210. package/esm2020/lib/components/icon/icon-grid.component.mjs +15 -15
  211. package/esm2020/lib/components/icon/icon-hands-clap.component.mjs +15 -15
  212. package/esm2020/lib/components/icon/icon-help.component.mjs +15 -15
  213. package/esm2020/lib/components/icon/icon-hexagon.component.mjs +15 -15
  214. package/esm2020/lib/components/icon/icon-home.component.mjs +15 -15
  215. package/esm2020/lib/components/icon/icon-image.component.mjs +15 -15
  216. package/esm2020/lib/components/icon/icon-info.component.mjs +15 -15
  217. package/esm2020/lib/components/icon/icon-invoice.component.mjs +15 -15
  218. package/esm2020/lib/components/icon/icon-invoices-anticipated.component.mjs +15 -15
  219. package/esm2020/lib/components/icon/icon-invoices-approval.component.mjs +15 -15
  220. package/esm2020/lib/components/icon/icon-invoices-refused.component.mjs +15 -15
  221. package/esm2020/lib/components/icon/icon-list.component.mjs +15 -15
  222. package/esm2020/lib/components/icon/icon-location-pin.component.mjs +15 -15
  223. package/esm2020/lib/components/icon/icon-login.component.mjs +15 -15
  224. package/esm2020/lib/components/icon/icon-logout.component.mjs +15 -15
  225. package/esm2020/lib/components/icon/icon-medal.component.mjs +15 -15
  226. package/esm2020/lib/components/icon/icon-menu.component.mjs +15 -15
  227. package/esm2020/lib/components/icon/icon-money-cedule.component.mjs +15 -15
  228. package/esm2020/lib/components/icon/icon-money-discount.mjs +15 -15
  229. package/esm2020/lib/components/icon/icon-money-hand.component.mjs +15 -15
  230. package/esm2020/lib/components/icon/icon-money-net.mjs +15 -15
  231. package/esm2020/lib/components/icon/icon-money-new.mjs +15 -15
  232. package/esm2020/lib/components/icon/icon-money-sign.component.mjs +15 -15
  233. package/esm2020/lib/components/icon/icon-money.component.mjs +15 -15
  234. package/esm2020/lib/components/icon/icon-more-circle.component.mjs +15 -15
  235. package/esm2020/lib/components/icon/icon-more.component.mjs +15 -15
  236. package/esm2020/lib/components/icon/icon-new-company.component.mjs +15 -15
  237. package/esm2020/lib/components/icon/icon-offered.component.mjs +15 -15
  238. package/esm2020/lib/components/icon/icon-open-external.component.mjs +15 -15
  239. package/esm2020/lib/components/icon/icon-password.component.mjs +15 -15
  240. package/esm2020/lib/components/icon/icon-people.component.mjs +15 -15
  241. package/esm2020/lib/components/icon/icon-percent.component.mjs +15 -15
  242. package/esm2020/lib/components/icon/icon-person-document.component.mjs +15 -15
  243. package/esm2020/lib/components/icon/icon-person-sad.component.mjs +15 -15
  244. package/esm2020/lib/components/icon/icon-phone-call.component.mjs +15 -15
  245. package/esm2020/lib/components/icon/icon-phone.component.mjs +15 -15
  246. package/esm2020/lib/components/icon/icon-pin-navigation.component.mjs +15 -15
  247. package/esm2020/lib/components/icon/icon-pork.component.mjs +15 -15
  248. package/esm2020/lib/components/icon/icon-radio.component.mjs +15 -15
  249. package/esm2020/lib/components/icon/icon-refresh.component.mjs +15 -15
  250. package/esm2020/lib/components/icon/icon-registration.mjs +15 -15
  251. package/esm2020/lib/components/icon/icon-repeat.component.mjs +15 -15
  252. package/esm2020/lib/components/icon/icon-search.component.mjs +15 -15
  253. package/esm2020/lib/components/icon/icon-second-warning.component.mjs +15 -15
  254. package/esm2020/lib/components/icon/icon-settings.component.mjs +15 -15
  255. package/esm2020/lib/components/icon/icon-shield-chekmark.component.mjs +15 -15
  256. package/esm2020/lib/components/icon/icon-star.component.mjs +15 -15
  257. package/esm2020/lib/components/icon/icon-store.component.mjs +15 -15
  258. package/esm2020/lib/components/icon/icon-today.component.mjs +15 -15
  259. package/esm2020/lib/components/icon/icon-trash.component.mjs +15 -15
  260. package/esm2020/lib/components/icon/icon-trophy.component.mjs +15 -15
  261. package/esm2020/lib/components/icon/icon-unfold-more.component.mjs +15 -15
  262. package/esm2020/lib/components/icon/icon-upload.component.mjs +15 -15
  263. package/esm2020/lib/components/icon/icon-user-group.component.mjs +15 -15
  264. package/esm2020/lib/components/icon/icon-user.component.mjs +15 -15
  265. package/esm2020/lib/components/icon/icon-waiting.component.mjs +15 -15
  266. package/esm2020/lib/components/icon/icon-wallet.component.mjs +15 -15
  267. package/esm2020/lib/components/icon/icon-warning.component.mjs +15 -15
  268. package/esm2020/lib/components/icon/icon.component.mjs +1613 -1601
  269. package/esm2020/lib/components/icon/icon.module.mjs +369 -369
  270. package/esm2020/lib/components/icon/index.mjs +109 -108
  271. package/esm2020/lib/components/image-crop/image-crop.component.mjs +516 -516
  272. package/esm2020/lib/components/image-crop/image-crop.module.mjs +41 -41
  273. package/esm2020/lib/components/image-crop/index.mjs +3 -3
  274. package/esm2020/lib/components/index.mjs +20 -20
  275. package/esm2020/lib/components/input/index.mjs +4 -4
  276. package/esm2020/lib/components/input/input-filter.component.mjs +286 -286
  277. package/esm2020/lib/components/input/input.component.mjs +384 -384
  278. package/esm2020/lib/components/input/input.module.mjs +38 -38
  279. package/esm2020/lib/components/input-phone/index.mjs +3 -3
  280. package/esm2020/lib/components/input-phone/input-phone.component.mjs +307 -307
  281. package/esm2020/lib/components/input-phone/input-phone.module.mjs +45 -45
  282. package/esm2020/lib/components/modal/index.mjs +3 -3
  283. package/esm2020/lib/components/modal/modal.component.mjs +236 -236
  284. package/esm2020/lib/components/modal/modal.module.mjs +21 -21
  285. package/esm2020/lib/components/option/index.mjs +3 -3
  286. package/esm2020/lib/components/option/option.component.mjs +131 -131
  287. package/esm2020/lib/components/option/option.module.mjs +29 -29
  288. package/esm2020/lib/components/radiobutton/index.mjs +3 -3
  289. package/esm2020/lib/components/radiobutton/radiobutton.component.mjs +165 -165
  290. package/esm2020/lib/components/radiobutton/radiobutton.module.mjs +36 -36
  291. package/esm2020/lib/components/select/index.mjs +6 -6
  292. package/esm2020/lib/components/select/select-filter.component.mjs +197 -197
  293. package/esm2020/lib/components/select/select-multiple.component.mjs +304 -304
  294. package/esm2020/lib/components/select/select-search.component.mjs +306 -306
  295. package/esm2020/lib/components/select/select.component.mjs +245 -245
  296. package/esm2020/lib/components/select/select.module.mjs +61 -61
  297. package/esm2020/lib/components/stepper/index.mjs +3 -3
  298. package/esm2020/lib/components/stepper/stepper.component.mjs +57 -57
  299. package/esm2020/lib/components/stepper/stepper.module.mjs +20 -20
  300. package/esm2020/lib/components/tab/index.mjs +2 -2
  301. package/esm2020/lib/components/tab/tab.component.mjs +91 -91
  302. package/esm2020/lib/components/tab/tab.module.mjs +20 -20
  303. package/esm2020/lib/components/table/index.mjs +4 -4
  304. package/esm2020/lib/components/table/table-column.component.mjs +34 -34
  305. package/esm2020/lib/components/table/table.component.mjs +267 -267
  306. package/esm2020/lib/components/table/table.module.mjs +23 -23
  307. package/esm2020/lib/components/toggle/index.mjs +2 -2
  308. package/esm2020/lib/components/toggle/toggle.component.mjs +56 -56
  309. package/esm2020/lib/components/toggle/toggle.module.mjs +18 -18
  310. package/esm2020/lib/components/wizard/index.mjs +3 -3
  311. package/esm2020/lib/components/wizard/wizard.component.mjs +61 -61
  312. package/esm2020/lib/components/wizard/wizard.module.mjs +33 -33
  313. package/esm2020/lib/core/index.mjs +4 -4
  314. package/esm2020/lib/core/interfaces/index.mjs +2 -2
  315. package/esm2020/lib/core/interfaces/monkey-modal-settings.mjs +1 -1
  316. package/esm2020/lib/core/interfaces/monkey-style-settings.mjs +2 -2
  317. package/esm2020/lib/core/services/index.mjs +4 -4
  318. package/esm2020/lib/core/services/modal/index.mjs +2 -2
  319. package/esm2020/lib/core/services/modal/monkey-style-guide-modal-fixed.service.mjs +51 -51
  320. package/esm2020/lib/core/services/modal/monkey-style-guide-modal.service.mjs +54 -54
  321. package/esm2020/lib/core/services/monkey-style-guide.service.mjs +17 -17
  322. package/esm2020/lib/core/services/settings/index.mjs +1 -1
  323. package/esm2020/lib/core/services/settings/monkey-style-guide-settings.service.mjs +41 -41
  324. package/esm2020/lib/core/services/settings/monkey-style-guide-theme-settings.service.mjs +80 -80
  325. package/esm2020/lib/core/services/snackbar/index.mjs +1 -1
  326. package/esm2020/lib/core/services/snackbar/mokey-style-guide-snackbar.service.mjs +226 -226
  327. package/esm2020/lib/core/utils/index.mjs +1 -1
  328. package/esm2020/lib/core/utils/utils.mjs +240 -240
  329. package/esm2020/lib/monkey-style-guide.module.mjs +31 -31
  330. package/esm2020/monkey-style-guide.mjs +4 -4
  331. package/esm2020/public-api.mjs +9 -9
  332. package/fesm2015/monkey-style-guide.mjs +9443 -9418
  333. package/fesm2015/monkey-style-guide.mjs.map +1 -1
  334. package/fesm2020/monkey-style-guide.mjs +9432 -9407
  335. package/fesm2020/monkey-style-guide.mjs.map +1 -1
  336. package/lib/components/badge/badge.component.d.ts +8 -8
  337. package/lib/components/badge/badge.module.d.ts +8 -8
  338. package/lib/components/badge/index.d.ts +2 -2
  339. package/lib/components/button/button-avatar.component.d.ts +19 -19
  340. package/lib/components/button/button-dropdown.component.d.ts +23 -23
  341. package/lib/components/button/button.component.d.ts +22 -22
  342. package/lib/components/button/button.module.d.ts +12 -12
  343. package/lib/components/button/index.d.ts +4 -4
  344. package/lib/components/checkbox/checkbox.component.d.ts +32 -32
  345. package/lib/components/checkbox/checkbox.module.d.ts +9 -9
  346. package/lib/components/checkbox/index.d.ts +2 -2
  347. package/lib/components/date-range-picker/date-range-picker.component.d.ts +69 -69
  348. package/lib/components/date-range-picker/date-range-picker.module.d.ts +11 -11
  349. package/lib/components/date-range-picker/index.d.ts +2 -2
  350. package/lib/components/expansion/expansion.component.d.ts +20 -20
  351. package/lib/components/expansion/expansion.module.d.ts +9 -9
  352. package/lib/components/expansion/index.d.ts +2 -2
  353. package/lib/components/file-upload/file-upload.component.d.ts +51 -51
  354. package/lib/components/file-upload/file-upload.module.d.ts +11 -11
  355. package/lib/components/file-upload/index.d.ts +2 -2
  356. package/lib/components/icon/icon-add-plus.component.d.ts +7 -7
  357. package/lib/components/icon/icon-arrow-down.component.d.ts +7 -7
  358. package/lib/components/icon/icon-arrow-left.component.d.ts +7 -7
  359. package/lib/components/icon/icon-arrow-line-right.component.d.ts +7 -7
  360. package/lib/components/icon/icon-arrow-right.component.d.ts +7 -7
  361. package/lib/components/icon/icon-arrow-up.component.d.ts +7 -7
  362. package/lib/components/icon/icon-arrows.component.d.ts +7 -7
  363. package/lib/components/icon/icon-auction.component.d.ts +7 -7
  364. package/lib/components/icon/icon-average-tax.d.ts +7 -7
  365. package/lib/components/icon/icon-bank-account.component.d.ts +7 -7
  366. package/lib/components/icon/icon-bank-agency.d.ts +7 -7
  367. package/lib/components/icon/icon-bank.component.d.ts +7 -7
  368. package/lib/components/icon/icon-banknote-search.component.d.ts +7 -7
  369. package/lib/components/icon/icon-bell.component.d.ts +7 -7
  370. package/lib/components/icon/icon-block.component.d.ts +7 -7
  371. package/lib/components/icon/icon-book-open-text.component.d.ts +7 -7
  372. package/lib/components/icon/icon-book.component.d.ts +7 -7
  373. package/lib/components/icon/icon-box.component.d.ts +7 -7
  374. package/lib/components/icon/icon-build-person.component.d.ts +7 -7
  375. package/lib/components/icon/icon-calendar.component.d.ts +7 -7
  376. package/lib/components/icon/icon-camera.component.d.ts +7 -7
  377. package/lib/components/icon/icon-card-machine.component.d.ts +7 -7
  378. package/lib/components/icon/icon-card.component.d.ts +7 -7
  379. package/lib/components/icon/icon-cash-banknote-invoice.d.ts +7 -7
  380. package/lib/components/icon/icon-chat.component.d.ts +7 -7
  381. package/lib/components/icon/icon-check-circle-out.component.d.ts +7 -7
  382. package/lib/components/icon/icon-check-circle.component.d.ts +7 -7
  383. package/lib/components/icon/icon-check-grey.component.d.ts +7 -7
  384. package/lib/components/icon/icon-check-white.component.d.ts +7 -7
  385. package/lib/components/icon/icon-check.component.d.ts +7 -7
  386. package/lib/components/icon/icon-clipboard.component.d.ts +7 -7
  387. package/lib/components/icon/icon-clock-closed.component.d.ts +7 -7
  388. package/lib/components/icon/icon-clock.component.d.ts +7 -7
  389. package/lib/components/icon/icon-close-circle.component.d.ts +7 -7
  390. package/lib/components/icon/icon-close.component.d.ts +7 -7
  391. package/lib/components/icon/icon-cnpj.component.d.ts +7 -7
  392. package/lib/components/icon/icon-codepen.component.d.ts +7 -7
  393. package/lib/components/icon/icon-company-name.component.d.ts +7 -7
  394. package/lib/components/icon/icon-contract-pen.component.d.ts +7 -7
  395. package/lib/components/icon/icon-contract.component.d.ts +7 -7
  396. package/lib/components/icon/icon-delete.component.d.ts +7 -7
  397. package/lib/components/icon/icon-document.component.d.ts +7 -7
  398. package/lib/components/icon/icon-dollar-sign-circle.component.d.ts +7 -7
  399. package/lib/components/icon/icon-dollar-sign.component.d.ts +7 -7
  400. package/lib/components/icon/icon-domain.component.d.ts +7 -7
  401. package/lib/components/icon/icon-dots-menu.component.d.ts +7 -7
  402. package/lib/components/icon/icon-double-arrow-left.component.d.ts +7 -7
  403. package/lib/components/icon/icon-double-arrow-right.component.d.ts +7 -7
  404. package/lib/components/icon/icon-download.component.d.ts +7 -7
  405. package/lib/components/icon/icon-drag-drop.component.d.ts +7 -0
  406. package/lib/components/icon/icon-edit-square.component.d.ts +7 -7
  407. package/lib/components/icon/icon-edit.component.d.ts +7 -7
  408. package/lib/components/icon/icon-email.component.d.ts +7 -7
  409. package/lib/components/icon/icon-empty-doc.component.d.ts +7 -7
  410. package/lib/components/icon/icon-error.component.d.ts +7 -7
  411. package/lib/components/icon/icon-eye-closed.component.d.ts +7 -7
  412. package/lib/components/icon/icon-eye-open.component.d.ts +7 -7
  413. package/lib/components/icon/icon-filter-add.component.d.ts +7 -7
  414. package/lib/components/icon/icon-filter.component.d.ts +7 -7
  415. package/lib/components/icon/icon-grid.component.d.ts +7 -7
  416. package/lib/components/icon/icon-hands-clap.component.d.ts +7 -7
  417. package/lib/components/icon/icon-help.component.d.ts +7 -7
  418. package/lib/components/icon/icon-hexagon.component.d.ts +7 -7
  419. package/lib/components/icon/icon-home.component.d.ts +7 -7
  420. package/lib/components/icon/icon-image.component.d.ts +7 -7
  421. package/lib/components/icon/icon-info.component.d.ts +7 -7
  422. package/lib/components/icon/icon-invoice.component.d.ts +7 -7
  423. package/lib/components/icon/icon-invoices-anticipated.component.d.ts +7 -7
  424. package/lib/components/icon/icon-invoices-approval.component.d.ts +7 -7
  425. package/lib/components/icon/icon-invoices-refused.component.d.ts +7 -7
  426. package/lib/components/icon/icon-list.component.d.ts +7 -7
  427. package/lib/components/icon/icon-location-pin.component.d.ts +7 -7
  428. package/lib/components/icon/icon-login.component.d.ts +7 -7
  429. package/lib/components/icon/icon-logout.component.d.ts +7 -7
  430. package/lib/components/icon/icon-medal.component.d.ts +7 -7
  431. package/lib/components/icon/icon-menu.component.d.ts +7 -7
  432. package/lib/components/icon/icon-money-cedule.component.d.ts +7 -7
  433. package/lib/components/icon/icon-money-discount.d.ts +7 -7
  434. package/lib/components/icon/icon-money-hand.component.d.ts +7 -7
  435. package/lib/components/icon/icon-money-net.d.ts +7 -7
  436. package/lib/components/icon/icon-money-new.d.ts +7 -7
  437. package/lib/components/icon/icon-money-sign.component.d.ts +7 -7
  438. package/lib/components/icon/icon-money.component.d.ts +7 -7
  439. package/lib/components/icon/icon-more-circle.component.d.ts +7 -7
  440. package/lib/components/icon/icon-more.component.d.ts +7 -7
  441. package/lib/components/icon/icon-new-company.component.d.ts +7 -7
  442. package/lib/components/icon/icon-offered.component.d.ts +7 -7
  443. package/lib/components/icon/icon-open-external.component.d.ts +7 -7
  444. package/lib/components/icon/icon-password.component.d.ts +7 -7
  445. package/lib/components/icon/icon-people.component.d.ts +7 -7
  446. package/lib/components/icon/icon-percent.component.d.ts +7 -7
  447. package/lib/components/icon/icon-person-document.component.d.ts +7 -7
  448. package/lib/components/icon/icon-person-sad.component.d.ts +7 -7
  449. package/lib/components/icon/icon-phone-call.component.d.ts +7 -7
  450. package/lib/components/icon/icon-phone.component.d.ts +7 -7
  451. package/lib/components/icon/icon-pin-navigation.component.d.ts +7 -7
  452. package/lib/components/icon/icon-pork.component.d.ts +7 -7
  453. package/lib/components/icon/icon-radio.component.d.ts +7 -7
  454. package/lib/components/icon/icon-refresh.component.d.ts +7 -7
  455. package/lib/components/icon/icon-registration.d.ts +7 -7
  456. package/lib/components/icon/icon-repeat.component.d.ts +7 -7
  457. package/lib/components/icon/icon-search.component.d.ts +7 -7
  458. package/lib/components/icon/icon-second-warning.component.d.ts +7 -7
  459. package/lib/components/icon/icon-settings.component.d.ts +7 -7
  460. package/lib/components/icon/icon-shield-chekmark.component.d.ts +7 -7
  461. package/lib/components/icon/icon-star.component.d.ts +7 -7
  462. package/lib/components/icon/icon-store.component.d.ts +7 -7
  463. package/lib/components/icon/icon-today.component.d.ts +7 -7
  464. package/lib/components/icon/icon-trash.component.d.ts +7 -7
  465. package/lib/components/icon/icon-trophy.component.d.ts +7 -7
  466. package/lib/components/icon/icon-unfold-more.component.d.ts +7 -7
  467. package/lib/components/icon/icon-upload.component.d.ts +7 -7
  468. package/lib/components/icon/icon-user-group.component.d.ts +7 -7
  469. package/lib/components/icon/icon-user.component.d.ts +7 -7
  470. package/lib/components/icon/icon-waiting.component.d.ts +7 -7
  471. package/lib/components/icon/icon-wallet.component.d.ts +7 -7
  472. package/lib/components/icon/icon-warning.component.d.ts +7 -7
  473. package/lib/components/icon/icon.component.d.ts +27 -27
  474. package/lib/components/icon/icon.module.d.ts +124 -124
  475. package/lib/components/icon/index.d.ts +108 -107
  476. package/lib/components/image-crop/image-crop.component.d.ts +77 -77
  477. package/lib/components/image-crop/image-crop.module.d.ts +12 -12
  478. package/lib/components/image-crop/index.d.ts +2 -2
  479. package/lib/components/index.d.ts +19 -19
  480. package/lib/components/input/index.d.ts +3 -3
  481. package/lib/components/input/input-filter.component.d.ts +55 -55
  482. package/lib/components/input/input.component.d.ts +64 -64
  483. package/lib/components/input/input.module.d.ts +12 -12
  484. package/lib/components/input-phone/index.d.ts +2 -2
  485. package/lib/components/input-phone/input-phone.component.d.ts +62 -62
  486. package/lib/components/input-phone/input-phone.module.d.ts +13 -13
  487. package/lib/components/modal/index.d.ts +2 -2
  488. package/lib/components/modal/modal.component.d.ts +24 -24
  489. package/lib/components/modal/modal.module.d.ts +10 -10
  490. package/lib/components/option/index.d.ts +2 -2
  491. package/lib/components/option/option.component.d.ts +22 -22
  492. package/lib/components/option/option.module.d.ts +8 -8
  493. package/lib/components/radiobutton/index.d.ts +2 -2
  494. package/lib/components/radiobutton/radiobutton.component.d.ts +39 -39
  495. package/lib/components/radiobutton/radiobutton.module.d.ts +9 -9
  496. package/lib/components/select/index.d.ts +5 -5
  497. package/lib/components/select/select-filter.component.d.ts +41 -41
  498. package/lib/components/select/select-multiple.component.d.ts +48 -48
  499. package/lib/components/select/select-search.component.d.ts +56 -56
  500. package/lib/components/select/select.component.d.ts +48 -48
  501. package/lib/components/select/select.module.d.ts +15 -15
  502. package/lib/components/stepper/index.d.ts +2 -2
  503. package/lib/components/stepper/stepper.component.d.ts +18 -18
  504. package/lib/components/stepper/stepper.module.d.ts +9 -9
  505. package/lib/components/tab/index.d.ts +2 -2
  506. package/lib/components/tab/tab.component.d.ts +24 -24
  507. package/lib/components/tab/tab.module.d.ts +10 -10
  508. package/lib/components/table/index.d.ts +3 -3
  509. package/lib/components/table/table-column.component.d.ts +5 -5
  510. package/lib/components/table/table.component.d.ts +59 -59
  511. package/lib/components/table/table.module.d.ts +12 -12
  512. package/lib/components/toggle/index.d.ts +2 -2
  513. package/lib/components/toggle/toggle.component.d.ts +18 -18
  514. package/lib/components/toggle/toggle.module.d.ts +8 -8
  515. package/lib/components/wizard/index.d.ts +2 -2
  516. package/lib/components/wizard/wizard.component.d.ts +18 -18
  517. package/lib/components/wizard/wizard.module.d.ts +9 -9
  518. package/lib/core/index.d.ts +3 -3
  519. package/lib/core/interfaces/index.d.ts +2 -2
  520. package/lib/core/interfaces/monkey-modal-settings.d.ts +58 -58
  521. package/lib/core/interfaces/monkey-style-settings.d.ts +59 -59
  522. package/lib/core/services/index.d.ts +3 -3
  523. package/lib/core/services/modal/index.d.ts +2 -2
  524. package/lib/core/services/modal/monkey-style-guide-modal-fixed.service.d.ts +16 -16
  525. package/lib/core/services/modal/monkey-style-guide-modal.service.d.ts +18 -18
  526. package/lib/core/services/monkey-style-guide.service.d.ts +10 -10
  527. package/lib/core/services/settings/index.d.ts +1 -1
  528. package/lib/core/services/settings/monkey-style-guide-settings.service.d.ts +15 -15
  529. package/lib/core/services/settings/monkey-style-guide-theme-settings.service.d.ts +12 -12
  530. package/lib/core/services/snackbar/index.d.ts +1 -1
  531. package/lib/core/services/snackbar/mokey-style-guide-snackbar.service.d.ts +58 -58
  532. package/lib/core/utils/index.d.ts +1 -1
  533. package/lib/core/utils/utils.d.ts +29 -29
  534. package/lib/monkey-style-guide.module.d.ts +8 -8
  535. package/monkey-style-guide-2.0.169.tgz +0 -0
  536. package/monkey-style-guide.d.ts +5 -5
  537. package/package.json +1 -1
  538. package/public-api.d.ts +8 -8
  539. package/monkey-style-guide-2.0.168.tgz +0 -0
@@ -1,197 +1,197 @@
1
- /**************************
2
- * Copyright Monkey Exchange. All Rights Reserved
3
- * This style guide was developed by Monkey Exchange Team
4
- * MIT Licence
5
- **************************/
6
- import { Component, ViewEncapsulation, Input, forwardRef, HostListener, ContentChildren, Output, EventEmitter, ViewChild, } from '@angular/core';
7
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
- import { MonkeyOptionComponent } from '../option';
9
- import { MonkeyUtils } from '../../core/utils';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../icon/icon.component";
12
- import * as i2 from "@angular/common";
13
- export class MonkeySelectFilterComponent {
14
- constructor(cdRef) {
15
- this.cdRef = cdRef;
16
- this.onChange = new EventEmitter();
17
- this.onModelChange = (value) => { };
18
- this.onModelTouched = (value) => { };
19
- this._opened = false;
20
- this._id = `mecx-select-filter-${MonkeyUtils.getRandomString(10)}`;
21
- this._disabled = false;
22
- }
23
- onHandleSelected() {
24
- const { _opened, _selected } = this;
25
- this.options.forEach((op) => {
26
- op.selected = _selected;
27
- });
28
- if (_opened) {
29
- let scrollValue = 0;
30
- if (_selected) {
31
- const { _id } = this._selected;
32
- scrollValue = document.getElementById(_id).offsetTop;
33
- }
34
- this.selectOptions.nativeElement.scrollTo(0, scrollValue);
35
- this.selectOptions.nativeElement.focus();
36
- this.cdRef.detectChanges();
37
- }
38
- }
39
- validateOptions() {
40
- if (!this.options)
41
- return;
42
- this.options.forEach((op) => {
43
- op.onSelectOption = this.onSelectOption.bind(this);
44
- op.type = 'select';
45
- op.selected = null;
46
- if (`${op.value}`.toLowerCase() === `${this.handledValue}`.toLowerCase()) {
47
- this._selected = op;
48
- op.selected = op;
49
- }
50
- });
51
- }
52
- registerOnChange(fn) {
53
- this.onModelChange = fn;
54
- }
55
- registerOnTouched(fn) {
56
- this.onModelTouched = fn;
57
- }
58
- setDisabledState(isDisabled) {
59
- this._disabled = isDisabled;
60
- }
61
- set value(value) {
62
- if (value !== undefined && this.handledValue !== value) {
63
- this.handledValue = value;
64
- this.onModelChange(value);
65
- this.onModelTouched(value);
66
- }
67
- this.validateOptions();
68
- }
69
- get value() {
70
- return this.handledValue;
71
- }
72
- writeValue(value) {
73
- this.value = value;
74
- }
75
- onChangeValue(event, value) {
76
- event?.preventDefault();
77
- event?.stopPropagation();
78
- this.writeValue(value);
79
- this.onChange.next(value);
80
- }
81
- clickout() {
82
- this._opened = false;
83
- }
84
- open() {
85
- if (!this._opened) {
86
- setTimeout(() => {
87
- this._opened = true;
88
- this.onHandleSelected();
89
- }, 50);
90
- }
91
- }
92
- ngOnInit() {
93
- setTimeout(() => {
94
- this.validateOptions();
95
- }, 0);
96
- }
97
- onSelectOption(select) {
98
- this._selected = select;
99
- const { value } = select;
100
- this._opened = false;
101
- this.onChangeValue(null, value);
102
- this.onHandleSelected();
103
- }
104
- }
105
- MonkeySelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeySelectFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
106
- MonkeySelectFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeySelectFilterComponent, selector: "monkey-select-filter", inputs: { placeholder: "placeholder", icon: "icon", type: "type", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "document:click": "clickout()" } }, providers: [
107
- {
108
- provide: NG_VALUE_ACCESSOR,
109
- useExisting: forwardRef(() => MonkeySelectFilterComponent),
110
- multi: true,
111
- },
112
- ], queries: [{ propertyName: "options", predicate: MonkeyOptionComponent }], viewQueries: [{ propertyName: "selectOptions", first: true, predicate: ["selectOptions"], descendants: true, static: true }], ngImport: i0, template: `
113
- <mecx-select-filter
114
- class="trigger"
115
- [ngClass]="{
116
- open: _opened,
117
- none: type === 'none',
118
- border: type === 'border'
119
- }"
120
- (click)="open()"
121
- >
122
- <mecx-select__trigger>
123
- <span>
124
- {{ _selected?.label || placeholder }}
125
- </span>
126
- <monkey-icon
127
- [icon]="!_opened ? 'arrow-down-16' : 'arrow-up-16'"
128
- [color]="'#4B4A53'"
129
- ></monkey-icon>
130
- </mecx-select__trigger>
131
- </mecx-select-filter>
132
- <mecx-select-inside [ngClass]="{ open: _opened }">
133
- <mecx-select-options #selectOptions>
134
- <ng-content> </ng-content>
135
- </mecx-select-options>
136
- </mecx-select-inside>
137
- `, isInline: true, components: [{ type: i1.MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "color", "contrast", "disabled"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeySelectFilterComponent, decorators: [{
139
- type: Component,
140
- args: [{
141
- selector: 'monkey-select-filter',
142
- template: `
143
- <mecx-select-filter
144
- class="trigger"
145
- [ngClass]="{
146
- open: _opened,
147
- none: type === 'none',
148
- border: type === 'border'
149
- }"
150
- (click)="open()"
151
- >
152
- <mecx-select__trigger>
153
- <span>
154
- {{ _selected?.label || placeholder }}
155
- </span>
156
- <monkey-icon
157
- [icon]="!_opened ? 'arrow-down-16' : 'arrow-up-16'"
158
- [color]="'#4B4A53'"
159
- ></monkey-icon>
160
- </mecx-select__trigger>
161
- </mecx-select-filter>
162
- <mecx-select-inside [ngClass]="{ open: _opened }">
163
- <mecx-select-options #selectOptions>
164
- <ng-content> </ng-content>
165
- </mecx-select-options>
166
- </mecx-select-inside>
167
- `,
168
- encapsulation: ViewEncapsulation.None,
169
- providers: [
170
- {
171
- provide: NG_VALUE_ACCESSOR,
172
- useExisting: forwardRef(() => MonkeySelectFilterComponent),
173
- multi: true,
174
- },
175
- ],
176
- }]
177
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
178
- type: Input
179
- }], icon: [{
180
- type: Input
181
- }], type: [{
182
- type: Input
183
- }], onChange: [{
184
- type: Output
185
- }], selectOptions: [{
186
- type: ViewChild,
187
- args: ['selectOptions', { static: true }]
188
- }], options: [{
189
- type: ContentChildren,
190
- args: [MonkeyOptionComponent]
191
- }], value: [{
192
- type: Input
193
- }], clickout: [{
194
- type: HostListener,
195
- args: ['document:click']
196
- }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBRVosZUFBZSxFQUNmLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBdUMvQyxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0QyxZQUFvQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWhCbEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNckMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUtyQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFFBQUcsR0FBVyxzQkFBc0IsV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3RFLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFYSxDQUFDO0lBRXhDLGdCQUFnQjtRQUN0QixNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFD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OzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjt3R0FFVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFHUCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFPcEMsT0FBTztzQkFEZCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFxRGxDLEtBQUs7c0JBRFIsS0FBSztnQkEwQk4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSW5wdXQsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgUXVlcnlMaXN0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTW9ua2V5T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uJztcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vbmtleS1zZWxlY3QtZmlsdGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWVjeC1zZWxlY3QtZmlsdGVyXG4gICAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICBvcGVuOiBfb3BlbmVkLFxuICAgICAgICBub25lOiB0eXBlID09PSAnbm9uZScsXG4gICAgICAgIGJvcmRlcjogdHlwZSA9PT0gJ2JvcmRlcidcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9wZW4oKVwiXG4gICAgPlxuICAgICAgPG1lY3gtc2VsZWN0X190cmlnZ2VyPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyBfc2VsZWN0ZWQ/LmxhYmVsIHx8IHBsYWNlaG9sZGVyIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPG1vbmtleS1pY29uXG4gICAgICAgICAgW2ljb25dPVwiIV9vcGVuZWQgPyAnYXJyb3ctZG93bi0xNicgOiAnYXJyb3ctdXAtMTYnXCJcbiAgICAgICAgICBbY29sb3JdPVwiJyM0QjRBNTMnXCJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XG4gICAgICA8L21lY3gtc2VsZWN0X190cmlnZ2VyPlxuICAgIDwvbWVjeC1zZWxlY3QtZmlsdGVyPlxuICAgIDxtZWN4LXNlbGVjdC1pbnNpZGUgW25nQ2xhc3NdPVwieyBvcGVuOiBfb3BlbmVkIH1cIj5cbiAgICAgIDxtZWN4LXNlbGVjdC1vcHRpb25zICNzZWxlY3RPcHRpb25zPlxuICAgICAgICA8bmctY29udGVudD4gPC9uZy1jb250ZW50PlxuICAgICAgPC9tZWN4LXNlbGVjdC1vcHRpb25zPlxuICAgIDwvbWVjeC1zZWxlY3QtaW5zaWRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1vbmtleVNlbGVjdEZpbHRlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlTZWxlY3RGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdE9wdGlvbnMnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBzZWxlY3RPcHRpb25zOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgaGFuZGxlZFZhbHVlOiBhbnk7XG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSBvbk1vZGVsVG91Y2hlZCA9ICh2YWx1ZTogYW55KSA9PiB7fTtcbiAgQENvbnRlbnRDaGlsZHJlbihNb25rZXlPcHRpb25Db21wb25lbnQpXG4gIHByaXZhdGUgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxNb25rZXlPcHRpb25Db21wb25lbnQ+O1xuXG4gIHB1YmxpYyBfc2VsZWN0ZWQ6IE1vbmtleU9wdGlvbkNvbXBvbmVudDtcbiAgcHVibGljIF9vcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIF9pZDogc3RyaW5nID0gYG1lY3gtc2VsZWN0LWZpbHRlci0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygxMCl9YDtcbiAgcHVibGljIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHByaXZhdGUgb25IYW5kbGVTZWxlY3RlZCgpIHtcbiAgICBjb25zdCB7IF9vcGVuZWQsIF9zZWxlY3RlZCB9ID0gdGhpcztcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3ApID0+IHtcbiAgICAgIG9wLnNlbGVjdGVkID0gX3NlbGVjdGVkO1xuICAgIH0pO1xuICAgIGlmIChfb3BlbmVkKSB7XG4gICAgICBsZXQgc2Nyb2xsVmFsdWUgPSAwO1xuICAgICAgaWYgKF9zZWxlY3RlZCkge1xuICAgICAgICBjb25zdCB7IF9pZCB9ID0gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgICAgIHNjcm9sbFZhbHVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoX2lkKS5vZmZzZXRUb3A7XG4gICAgICB9XG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbnMubmF0aXZlRWxlbWVudC5zY3JvbGxUbygwLCBzY3JvbGxWYWx1ZSk7XG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbnMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZU9wdGlvbnMoKSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMpIHJldHVybjtcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3ApID0+IHtcbiAgICAgIG9wLm9uU2VsZWN0T3B0aW9uID0gdGhpcy5vblNlbGVjdE9wdGlvbi5iaW5kKHRoaXMpO1xuICAgICAgb3AudHlwZSA9ICdzZWxlY3QnO1xuICAgICAgb3Auc2VsZWN0ZWQgPSBudWxsO1xuICAgICAgaWYgKGAke29wLnZhbHVlfWAudG9Mb3dlckNhc2UoKSA9PT0gYCR7dGhpcy5oYW5kbGVkVmFsdWV9YC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gb3A7XG4gICAgICAgIG9wLnNlbGVjdGVkID0gb3A7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmhhbmRsZWRWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlZFZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVPcHRpb25zKCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVkVmFsdWU7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBvbkNoYW5nZVZhbHVlKGV2ZW50OiBhbnksIHZhbHVlOiBhbnkpIHtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxuICBjbGlja291dCgpIHtcbiAgICB0aGlzLl9vcGVuZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgaWYgKCF0aGlzLl9vcGVuZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9vcGVuZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uSGFuZGxlU2VsZWN0ZWQoKTtcbiAgICAgIH0sIDUwKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudmFsaWRhdGVPcHRpb25zKCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBvblNlbGVjdE9wdGlvbihzZWxlY3Q6IE1vbmtleU9wdGlvbkNvbXBvbmVudCkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0O1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHNlbGVjdDtcbiAgICB0aGlzLl9vcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLm9uQ2hhbmdlVmFsdWUobnVsbCwgdmFsdWUpO1xuICAgIHRoaXMub25IYW5kbGVTZWxlY3RlZCgpO1xuICB9XG59XG4iXX0=
1
+ /**************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ **************************/
6
+ import { Component, ViewEncapsulation, Input, forwardRef, HostListener, ContentChildren, Output, EventEmitter, ViewChild, } from '@angular/core';
7
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
+ import { MonkeyOptionComponent } from '../option';
9
+ import { MonkeyUtils } from '../../core/utils';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../icon/icon.component";
12
+ import * as i2 from "@angular/common";
13
+ export class MonkeySelectFilterComponent {
14
+ constructor(cdRef) {
15
+ this.cdRef = cdRef;
16
+ this.onChange = new EventEmitter();
17
+ this.onModelChange = (value) => { };
18
+ this.onModelTouched = (value) => { };
19
+ this._opened = false;
20
+ this._id = `mecx-select-filter-${MonkeyUtils.getRandomString(10)}`;
21
+ this._disabled = false;
22
+ }
23
+ onHandleSelected() {
24
+ const { _opened, _selected } = this;
25
+ this.options.forEach((op) => {
26
+ op.selected = _selected;
27
+ });
28
+ if (_opened) {
29
+ let scrollValue = 0;
30
+ if (_selected) {
31
+ const { _id } = this._selected;
32
+ scrollValue = document.getElementById(_id).offsetTop;
33
+ }
34
+ this.selectOptions.nativeElement.scrollTo(0, scrollValue);
35
+ this.selectOptions.nativeElement.focus();
36
+ this.cdRef.detectChanges();
37
+ }
38
+ }
39
+ validateOptions() {
40
+ if (!this.options)
41
+ return;
42
+ this.options.forEach((op) => {
43
+ op.onSelectOption = this.onSelectOption.bind(this);
44
+ op.type = 'select';
45
+ op.selected = null;
46
+ if (`${op.value}`.toLowerCase() === `${this.handledValue}`.toLowerCase()) {
47
+ this._selected = op;
48
+ op.selected = op;
49
+ }
50
+ });
51
+ }
52
+ registerOnChange(fn) {
53
+ this.onModelChange = fn;
54
+ }
55
+ registerOnTouched(fn) {
56
+ this.onModelTouched = fn;
57
+ }
58
+ setDisabledState(isDisabled) {
59
+ this._disabled = isDisabled;
60
+ }
61
+ set value(value) {
62
+ if (value !== undefined && this.handledValue !== value) {
63
+ this.handledValue = value;
64
+ this.onModelChange(value);
65
+ this.onModelTouched(value);
66
+ }
67
+ this.validateOptions();
68
+ }
69
+ get value() {
70
+ return this.handledValue;
71
+ }
72
+ writeValue(value) {
73
+ this.value = value;
74
+ }
75
+ onChangeValue(event, value) {
76
+ event?.preventDefault();
77
+ event?.stopPropagation();
78
+ this.writeValue(value);
79
+ this.onChange.next(value);
80
+ }
81
+ clickout() {
82
+ this._opened = false;
83
+ }
84
+ open() {
85
+ if (!this._opened) {
86
+ setTimeout(() => {
87
+ this._opened = true;
88
+ this.onHandleSelected();
89
+ }, 50);
90
+ }
91
+ }
92
+ ngOnInit() {
93
+ setTimeout(() => {
94
+ this.validateOptions();
95
+ }, 0);
96
+ }
97
+ onSelectOption(select) {
98
+ this._selected = select;
99
+ const { value } = select;
100
+ this._opened = false;
101
+ this.onChangeValue(null, value);
102
+ this.onHandleSelected();
103
+ }
104
+ }
105
+ MonkeySelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeySelectFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
106
+ MonkeySelectFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MonkeySelectFilterComponent, selector: "monkey-select-filter", inputs: { placeholder: "placeholder", icon: "icon", type: "type", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "document:click": "clickout()" } }, providers: [
107
+ {
108
+ provide: NG_VALUE_ACCESSOR,
109
+ useExisting: forwardRef(() => MonkeySelectFilterComponent),
110
+ multi: true,
111
+ },
112
+ ], queries: [{ propertyName: "options", predicate: MonkeyOptionComponent }], viewQueries: [{ propertyName: "selectOptions", first: true, predicate: ["selectOptions"], descendants: true, static: true }], ngImport: i0, template: `
113
+ <mecx-select-filter
114
+ class="trigger"
115
+ [ngClass]="{
116
+ open: _opened,
117
+ none: type === 'none',
118
+ border: type === 'border'
119
+ }"
120
+ (click)="open()"
121
+ >
122
+ <mecx-select__trigger>
123
+ <span>
124
+ {{ _selected?.label || placeholder }}
125
+ </span>
126
+ <monkey-icon
127
+ [icon]="!_opened ? 'arrow-down-16' : 'arrow-up-16'"
128
+ [color]="'#4B4A53'"
129
+ ></monkey-icon>
130
+ </mecx-select__trigger>
131
+ </mecx-select-filter>
132
+ <mecx-select-inside [ngClass]="{ open: _opened }">
133
+ <mecx-select-options #selectOptions>
134
+ <ng-content> </ng-content>
135
+ </mecx-select-options>
136
+ </mecx-select-inside>
137
+ `, isInline: true, components: [{ type: i1.MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "color", "contrast", "disabled"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MonkeySelectFilterComponent, decorators: [{
139
+ type: Component,
140
+ args: [{
141
+ selector: 'monkey-select-filter',
142
+ template: `
143
+ <mecx-select-filter
144
+ class="trigger"
145
+ [ngClass]="{
146
+ open: _opened,
147
+ none: type === 'none',
148
+ border: type === 'border'
149
+ }"
150
+ (click)="open()"
151
+ >
152
+ <mecx-select__trigger>
153
+ <span>
154
+ {{ _selected?.label || placeholder }}
155
+ </span>
156
+ <monkey-icon
157
+ [icon]="!_opened ? 'arrow-down-16' : 'arrow-up-16'"
158
+ [color]="'#4B4A53'"
159
+ ></monkey-icon>
160
+ </mecx-select__trigger>
161
+ </mecx-select-filter>
162
+ <mecx-select-inside [ngClass]="{ open: _opened }">
163
+ <mecx-select-options #selectOptions>
164
+ <ng-content> </ng-content>
165
+ </mecx-select-options>
166
+ </mecx-select-inside>
167
+ `,
168
+ encapsulation: ViewEncapsulation.None,
169
+ providers: [
170
+ {
171
+ provide: NG_VALUE_ACCESSOR,
172
+ useExisting: forwardRef(() => MonkeySelectFilterComponent),
173
+ multi: true,
174
+ },
175
+ ],
176
+ }]
177
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
178
+ type: Input
179
+ }], icon: [{
180
+ type: Input
181
+ }], type: [{
182
+ type: Input
183
+ }], onChange: [{
184
+ type: Output
185
+ }], selectOptions: [{
186
+ type: ViewChild,
187
+ args: ['selectOptions', { static: true }]
188
+ }], options: [{
189
+ type: ContentChildren,
190
+ args: [MonkeyOptionComponent]
191
+ }], value: [{
192
+ type: Input
193
+ }], clickout: [{
194
+ type: HostListener,
195
+ args: ['document:click']
196
+ }] } });
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBRVosZUFBZSxFQUNmLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBdUMvQyxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0QyxZQUFvQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWhCbEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNckMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUtyQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFFBQUcsR0FBVyxzQkFBc0IsV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3RFLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFYSxDQUFDO0lBRXhDLGdCQUFnQjtRQUN0QixNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQzFCLEVBQUUsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQy9CLFdBQVcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQzthQUN0RDtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUMxQixFQUFFLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELEVBQUUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1lBQ25CLEVBQUUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixFQUFFLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUNJLEtBQUssQ0FBQyxLQUFVO1FBQ2xCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssRUFBRTtZQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVLEVBQUUsS0FBVTtRQUNsQyxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDeEIsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNSO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBNkI7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7UUFDeEIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDOzt5SEFuSFUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsK05BUjNCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7WUFDMUQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLGtEQWNnQixxQkFBcUIsMkpBL0M1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCVDs0RkFVVSwyQkFBMkI7a0JBckN2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjt3R0FFVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFHUCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFPcEMsT0FBTztzQkFEZCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFxRGxDLEtBQUs7c0JBRFIsS0FBSztnQkEwQk4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXHJcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxyXG4gKiBNSVQgTGljZW5jZVxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIElucHV0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTW9ua2V5T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbW9ua2V5LXNlbGVjdC1maWx0ZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWVjeC1zZWxlY3QtZmlsdGVyXHJcbiAgICAgIGNsYXNzPVwidHJpZ2dlclwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICBvcGVuOiBfb3BlbmVkLFxyXG4gICAgICAgIG5vbmU6IHR5cGUgPT09ICdub25lJyxcclxuICAgICAgICBib3JkZXI6IHR5cGUgPT09ICdib3JkZXInXHJcbiAgICAgIH1cIlxyXG4gICAgICAoY2xpY2spPVwib3BlbigpXCJcclxuICAgID5cclxuICAgICAgPG1lY3gtc2VsZWN0X190cmlnZ2VyPlxyXG4gICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAge3sgX3NlbGVjdGVkPy5sYWJlbCB8fCBwbGFjZWhvbGRlciB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8bW9ua2V5LWljb25cclxuICAgICAgICAgIFtpY29uXT1cIiFfb3BlbmVkID8gJ2Fycm93LWRvd24tMTYnIDogJ2Fycm93LXVwLTE2J1wiXHJcbiAgICAgICAgICBbY29sb3JdPVwiJyM0QjRBNTMnXCJcclxuICAgICAgICA+PC9tb25rZXktaWNvbj5cclxuICAgICAgPC9tZWN4LXNlbGVjdF9fdHJpZ2dlcj5cclxuICAgIDwvbWVjeC1zZWxlY3QtZmlsdGVyPlxyXG4gICAgPG1lY3gtc2VsZWN0LWluc2lkZSBbbmdDbGFzc109XCJ7IG9wZW46IF9vcGVuZWQgfVwiPlxyXG4gICAgICA8bWVjeC1zZWxlY3Qtb3B0aW9ucyAjc2VsZWN0T3B0aW9ucz5cclxuICAgICAgICA8bmctY29udGVudD4gPC9uZy1jb250ZW50PlxyXG4gICAgICA8L21lY3gtc2VsZWN0LW9wdGlvbnM+XHJcbiAgICA8L21lY3gtc2VsZWN0LWluc2lkZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNb25rZXlTZWxlY3RGaWx0ZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleVNlbGVjdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0T3B0aW9ucycsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgc2VsZWN0T3B0aW9uczogRWxlbWVudFJlZjtcclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVkVmFsdWU6IGFueTtcclxuICBwcml2YXRlIG9uTW9kZWxDaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XHJcbiAgcHJpdmF0ZSBvbk1vZGVsVG91Y2hlZCA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBAQ29udGVudENoaWxkcmVuKE1vbmtleU9wdGlvbkNvbXBvbmVudClcclxuICBwcml2YXRlIG9wdGlvbnMhOiBRdWVyeUxpc3Q8TW9ua2V5T3B0aW9uQ29tcG9uZW50PjtcclxuXHJcbiAgcHVibGljIF9zZWxlY3RlZDogTW9ua2V5T3B0aW9uQ29tcG9uZW50O1xyXG4gIHB1YmxpYyBfb3BlbmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIF9pZDogc3RyaW5nID0gYG1lY3gtc2VsZWN0LWZpbHRlci0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygxMCl9YDtcclxuICBwdWJsaWMgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBwcml2YXRlIG9uSGFuZGxlU2VsZWN0ZWQoKSB7XHJcbiAgICBjb25zdCB7IF9vcGVuZWQsIF9zZWxlY3RlZCB9ID0gdGhpcztcclxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcCkgPT4ge1xyXG4gICAgICBvcC5zZWxlY3RlZCA9IF9zZWxlY3RlZDtcclxuICAgIH0pO1xyXG4gICAgaWYgKF9vcGVuZWQpIHtcclxuICAgICAgbGV0IHNjcm9sbFZhbHVlID0gMDtcclxuICAgICAgaWYgKF9zZWxlY3RlZCkge1xyXG4gICAgICAgIGNvbnN0IHsgX2lkIH0gPSB0aGlzLl9zZWxlY3RlZDtcclxuICAgICAgICBzY3JvbGxWYWx1ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKF9pZCkub2Zmc2V0VG9wO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9ucy5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKDAsIHNjcm9sbFZhbHVlKTtcclxuICAgICAgdGhpcy5zZWxlY3RPcHRpb25zLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlT3B0aW9ucygpIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XHJcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3ApID0+IHtcclxuICAgICAgb3Aub25TZWxlY3RPcHRpb24gPSB0aGlzLm9uU2VsZWN0T3B0aW9uLmJpbmQodGhpcyk7XHJcbiAgICAgIG9wLnR5cGUgPSAnc2VsZWN0JztcclxuICAgICAgb3Auc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgICBpZiAoYCR7b3AudmFsdWV9YC50b0xvd2VyQ2FzZSgpID09PSBgJHt0aGlzLmhhbmRsZWRWYWx1ZX1gLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IG9wO1xyXG4gICAgICAgIG9wLnNlbGVjdGVkID0gb3A7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuaGFuZGxlZFZhbHVlICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZWRWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodmFsdWUpO1xyXG4gICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkKHZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsaWRhdGVPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VWYWx1ZShldmVudDogYW55LCB2YWx1ZTogYW55KSB7XHJcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxyXG4gIGNsaWNrb3V0KCkge1xyXG4gICAgdGhpcy5fb3BlbmVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvcGVuKCkge1xyXG4gICAgaWYgKCF0aGlzLl9vcGVuZWQpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm9uSGFuZGxlU2VsZWN0ZWQoKTtcclxuICAgICAgfSwgNTApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy52YWxpZGF0ZU9wdGlvbnMoKTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RPcHRpb24oc2VsZWN0OiBNb25rZXlPcHRpb25Db21wb25lbnQpIHtcclxuICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0O1xyXG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gc2VsZWN0O1xyXG4gICAgdGhpcy5fb3BlbmVkID0gZmFsc2U7XHJcbiAgICB0aGlzLm9uQ2hhbmdlVmFsdWUobnVsbCwgdmFsdWUpO1xyXG4gICAgdGhpcy5vbkhhbmRsZVNlbGVjdGVkKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==