monkey-style-guide 2.0.169 → 2.0.171

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