monkey-style-guide 2.0.178 → 2.0.180

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 (603) hide show
  1. package/README.md +1283 -1281
  2. package/assets/data/country-codes.json +1466 -1466
  3. package/assets/icons/add-plus.svg +5 -5
  4. package/assets/icons/address-book.svg +4 -4
  5. package/assets/icons/arrow-down.svg +3 -3
  6. package/assets/icons/arrow-left.svg +3 -3
  7. package/assets/icons/arrow-line-right.svg +5 -5
  8. package/assets/icons/arrow-right.svg +3 -3
  9. package/assets/icons/arrow-up.svg +3 -3
  10. package/assets/icons/arrows.svg +6 -6
  11. package/assets/icons/auction.svg +7 -7
  12. package/assets/icons/average-tax.svg +6 -6
  13. package/assets/icons/bank-account.svg +12 -12
  14. package/assets/icons/bank-agency.svg +8 -8
  15. package/assets/icons/bank.svg +3 -3
  16. package/assets/icons/banknote-search.svg +8 -8
  17. package/assets/icons/bell.svg +4 -4
  18. package/assets/icons/block.svg +4 -4
  19. package/assets/icons/book-open-text.svg +10 -10
  20. package/assets/icons/book.svg +4 -4
  21. package/assets/icons/box.svg +6 -6
  22. package/assets/icons/build-approved.svg +9 -9
  23. package/assets/icons/build-person.svg +9 -9
  24. package/assets/icons/build-refused.svg +9 -9
  25. package/assets/icons/build-waiting.svg +8 -8
  26. package/assets/icons/calendar-box.svg +10 -10
  27. package/assets/icons/calendar.svg +6 -6
  28. package/assets/icons/camera.svg +4 -4
  29. package/assets/icons/card-machine.svg +14 -14
  30. package/assets/icons/card.svg +4 -4
  31. package/assets/icons/cash-banknote-invoice.svg +8 -8
  32. package/assets/icons/chat.svg +4 -4
  33. package/assets/icons/check-circle-out.svg +4 -4
  34. package/assets/icons/check-circle.svg +4 -4
  35. package/assets/icons/check-grey.svg +3 -3
  36. package/assets/icons/check-white.svg +4 -4
  37. package/assets/icons/check.svg +3 -3
  38. package/assets/icons/clipboard.svg +4 -4
  39. package/assets/icons/clock-closed.svg +6 -6
  40. package/assets/icons/clock.svg +4 -4
  41. package/assets/icons/close-circle.svg +5 -5
  42. package/assets/icons/close.svg +4 -4
  43. package/assets/icons/cnpj.svg +9 -9
  44. package/assets/icons/codepen.svg +7 -7
  45. package/assets/icons/company-name.svg +12 -12
  46. package/assets/icons/contract-pen.svg +7 -7
  47. package/assets/icons/contract.svg +14 -14
  48. package/assets/icons/delete.svg +5 -5
  49. package/assets/icons/document.svg +7 -7
  50. package/assets/icons/dollar-sign-circle.svg +7 -7
  51. package/assets/icons/dollar-sign.svg +5 -5
  52. package/assets/icons/domain.svg +9 -9
  53. package/assets/icons/dots-menu.svg +5 -5
  54. package/assets/icons/double-arrow-left.svg +4 -4
  55. package/assets/icons/double-arrow-right.svg +4 -4
  56. package/assets/icons/download.svg +5 -5
  57. package/assets/icons/drag-drop.svg +8 -8
  58. package/assets/icons/edit-square.svg +4 -4
  59. package/assets/icons/edit.svg +3 -3
  60. package/assets/icons/email-send-fast.svg +8 -8
  61. package/assets/icons/email.svg +4 -4
  62. package/assets/icons/empty-doc.svg +4 -4
  63. package/assets/icons/error.svg +5 -5
  64. package/assets/icons/eye-closed.svg +11 -11
  65. package/assets/icons/eye-open.svg +4 -4
  66. package/assets/icons/filter-add.svg +6 -6
  67. package/assets/icons/filter.svg +3 -3
  68. package/assets/icons/grid.svg +6 -6
  69. package/assets/icons/hands-clap.svg +10 -10
  70. package/assets/icons/help.svg +5 -5
  71. package/assets/icons/hexagon.svg +3 -3
  72. package/assets/icons/home.svg +4 -4
  73. package/assets/icons/image.svg +5 -5
  74. package/assets/icons/info.svg +6 -6
  75. package/assets/icons/invoice.svg +5 -5
  76. package/assets/icons/invoices-anticipated.svg +8 -8
  77. package/assets/icons/invoices-approval.svg +8 -8
  78. package/assets/icons/invoices-refused.svg +8 -8
  79. package/assets/icons/lighting-circle.svg +5 -5
  80. package/assets/icons/list.svg +8 -8
  81. package/assets/icons/location-pin.svg +4 -4
  82. package/assets/icons/login.svg +5 -5
  83. package/assets/icons/logout.svg +5 -5
  84. package/assets/icons/mail-box-upload.svg +6 -0
  85. package/assets/icons/mail-letter-fast-circle.svg +7 -0
  86. package/assets/icons/mail-open-document.svg +6 -6
  87. package/assets/icons/medal.svg +12 -12
  88. package/assets/icons/menu.svg +5 -5
  89. package/assets/icons/money-cedule.svg +6 -6
  90. package/assets/icons/money-discount.svg +8 -8
  91. package/assets/icons/money-hand.svg +6 -6
  92. package/assets/icons/money-net.svg +8 -8
  93. package/assets/icons/money-new.svg +7 -7
  94. package/assets/icons/money-percent.svg +10 -10
  95. package/assets/icons/money-refused.svg +9 -9
  96. package/assets/icons/money-sign.svg +4 -4
  97. package/assets/icons/money-waiting.svg +8 -8
  98. package/assets/icons/money.svg +6 -6
  99. package/assets/icons/more-circle.svg +5 -5
  100. package/assets/icons/more.svg +4 -4
  101. package/assets/icons/new-company.svg +10 -10
  102. package/assets/icons/offered.svg +5 -5
  103. package/assets/icons/office-work.svg +10 -10
  104. package/assets/icons/open-external.svg +5 -5
  105. package/assets/icons/password.svg +4 -4
  106. package/assets/icons/people.svg +6 -6
  107. package/assets/icons/percent-box.svg +6 -6
  108. package/assets/icons/percent.svg +5 -5
  109. package/assets/icons/person-document.svg +10 -10
  110. package/assets/icons/person-sad.svg +6 -6
  111. package/assets/icons/phone-call.svg +4 -4
  112. package/assets/icons/phone.svg +3 -3
  113. package/assets/icons/pin-navigation.svg +5 -5
  114. package/assets/icons/pork.svg +5 -5
  115. package/assets/icons/radio.svg +4 -4
  116. package/assets/icons/refresh.svg +5 -5
  117. package/assets/icons/registration.svg +8 -8
  118. package/assets/icons/repeat.svg +4 -4
  119. package/assets/icons/search.svg +4 -4
  120. package/assets/icons/second-warning.svg +5 -5
  121. package/assets/icons/settings.svg +4 -4
  122. package/assets/icons/shield-chekmark.svg +3 -3
  123. package/assets/icons/star-shining.svg +13 -13
  124. package/assets/icons/star.svg +3 -3
  125. package/assets/icons/store.svg +8 -8
  126. package/assets/icons/target-dart-arrow.svg +6 -6
  127. package/assets/icons/today.svg +9 -9
  128. package/assets/icons/trash.svg +6 -6
  129. package/assets/icons/trophy.svg +8 -8
  130. package/assets/icons/unfold-more.svg +4 -4
  131. package/assets/icons/upload.svg +5 -5
  132. package/assets/icons/user-group.svg +8 -8
  133. package/assets/icons/user.svg +4 -4
  134. package/assets/icons/waiting.svg +17 -17
  135. package/assets/icons/wallet.svg +5 -5
  136. package/assets/icons/warning.svg +5 -5
  137. package/assets/scss/partials/_breakpoints.scss +35 -35
  138. package/assets/scss/partials/_forms.scss +350 -350
  139. package/assets/scss/partials/_index.scss +11 -11
  140. package/assets/scss/partials/_radio-button.scss +35 -35
  141. package/assets/scss/partials/_style-reset.scss +185 -185
  142. package/assets/scss/partials/_typography.scss +149 -149
  143. package/assets/scss/partials/_variables.scss +184 -184
  144. package/assets/scss/partials/components/_badge.scss +55 -55
  145. package/assets/scss/partials/components/_buttons.scss +831 -831
  146. package/assets/scss/partials/components/_checkbox.scss +69 -69
  147. package/assets/scss/partials/components/_date-range-picker.scss +265 -265
  148. package/assets/scss/partials/components/_expansion.scss +96 -96
  149. package/assets/scss/partials/components/_image-crop.scss +305 -305
  150. package/assets/scss/partials/components/_index.scss +23 -23
  151. package/assets/scss/partials/components/_input-phone.scss +36 -36
  152. package/assets/scss/partials/components/_input.scss +65 -65
  153. package/assets/scss/partials/components/_modal.scss +282 -282
  154. package/assets/scss/partials/components/_progressbar.scss +112 -112
  155. package/assets/scss/partials/components/_radiobutton.scss +66 -66
  156. package/assets/scss/partials/components/_select.scss +356 -356
  157. package/assets/scss/partials/components/_snackbar.scss +204 -204
  158. package/assets/scss/partials/components/_stepper.scss +86 -86
  159. package/assets/scss/partials/components/_tab.scss +82 -82
  160. package/assets/scss/partials/components/_table.scss +148 -148
  161. package/assets/scss/partials/components/_toggle.scss +103 -103
  162. package/assets/scss/partials/components/_wizard.scss +112 -112
  163. package/esm2020/lib/components/badge/badge.component.mjs +43 -43
  164. package/esm2020/lib/components/badge/badge.module.mjs +19 -19
  165. package/esm2020/lib/components/badge/index.mjs +3 -3
  166. package/esm2020/lib/components/button/button-avatar.component.mjs +53 -53
  167. package/esm2020/lib/components/button/button-dropdown.component.mjs +121 -121
  168. package/esm2020/lib/components/button/button.component.mjs +154 -154
  169. package/esm2020/lib/components/button/button.module.mjs +23 -23
  170. package/esm2020/lib/components/button/index.mjs +5 -5
  171. package/esm2020/lib/components/checkbox/checkbox.component.mjs +165 -165
  172. package/esm2020/lib/components/checkbox/checkbox.module.mjs +20 -20
  173. package/esm2020/lib/components/checkbox/index.mjs +3 -3
  174. package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +660 -660
  175. package/esm2020/lib/components/date-range-picker/date-range-picker.module.mjs +22 -22
  176. package/esm2020/lib/components/date-range-picker/index.mjs +3 -3
  177. package/esm2020/lib/components/expansion/expansion.component.mjs +115 -115
  178. package/esm2020/lib/components/expansion/expansion.module.mjs +20 -20
  179. package/esm2020/lib/components/expansion/index.mjs +3 -3
  180. package/esm2020/lib/components/file-upload/file-upload.component.mjs +294 -294
  181. package/esm2020/lib/components/file-upload/file-upload.module.mjs +37 -37
  182. package/esm2020/lib/components/file-upload/index.mjs +3 -3
  183. package/esm2020/lib/components/icon/icon-add-plus.component.mjs +15 -15
  184. package/esm2020/lib/components/icon/icon-address-book.component.mjs +15 -15
  185. package/esm2020/lib/components/icon/icon-arrow-down.component.mjs +15 -15
  186. package/esm2020/lib/components/icon/icon-arrow-left.component.mjs +15 -15
  187. package/esm2020/lib/components/icon/icon-arrow-line-right.component.mjs +15 -15
  188. package/esm2020/lib/components/icon/icon-arrow-right.component.mjs +15 -15
  189. package/esm2020/lib/components/icon/icon-arrow-up.component.mjs +15 -15
  190. package/esm2020/lib/components/icon/icon-arrows.component.mjs +15 -15
  191. package/esm2020/lib/components/icon/icon-auction.component.mjs +15 -15
  192. package/esm2020/lib/components/icon/icon-average-tax.component.mjs +15 -15
  193. package/esm2020/lib/components/icon/icon-bank-account.component.mjs +15 -15
  194. package/esm2020/lib/components/icon/icon-bank-agency.component.mjs +15 -15
  195. package/esm2020/lib/components/icon/icon-bank.component.mjs +15 -15
  196. package/esm2020/lib/components/icon/icon-banknote-search.component.mjs +15 -15
  197. package/esm2020/lib/components/icon/icon-bell.component.mjs +15 -15
  198. package/esm2020/lib/components/icon/icon-block.component.mjs +15 -15
  199. package/esm2020/lib/components/icon/icon-book-open-text.component.mjs +15 -15
  200. package/esm2020/lib/components/icon/icon-book.component.mjs +15 -15
  201. package/esm2020/lib/components/icon/icon-box.component.mjs +15 -15
  202. package/esm2020/lib/components/icon/icon-build-approved.component.mjs +15 -15
  203. package/esm2020/lib/components/icon/icon-build-person.component.mjs +15 -15
  204. package/esm2020/lib/components/icon/icon-build-refused.component.mjs +15 -15
  205. package/esm2020/lib/components/icon/icon-build-waiting.component.mjs +15 -15
  206. package/esm2020/lib/components/icon/icon-calendar-box.component.mjs +15 -15
  207. package/esm2020/lib/components/icon/icon-calendar.component.mjs +15 -15
  208. package/esm2020/lib/components/icon/icon-camera.component.mjs +15 -15
  209. package/esm2020/lib/components/icon/icon-card-machine.component.mjs +15 -15
  210. package/esm2020/lib/components/icon/icon-card.component.mjs +15 -15
  211. package/esm2020/lib/components/icon/icon-cash-banknote-invoice.component.mjs +15 -15
  212. package/esm2020/lib/components/icon/icon-chat.component.mjs +15 -15
  213. package/esm2020/lib/components/icon/icon-check-circle-out.component.mjs +15 -15
  214. package/esm2020/lib/components/icon/icon-check-circle.component.mjs +15 -15
  215. package/esm2020/lib/components/icon/icon-check-grey.component.mjs +15 -15
  216. package/esm2020/lib/components/icon/icon-check-white.component.mjs +15 -15
  217. package/esm2020/lib/components/icon/icon-check.component.mjs +15 -15
  218. package/esm2020/lib/components/icon/icon-clipboard.component.mjs +15 -15
  219. package/esm2020/lib/components/icon/icon-clock-closed.component.mjs +15 -15
  220. package/esm2020/lib/components/icon/icon-clock.component.mjs +15 -15
  221. package/esm2020/lib/components/icon/icon-close-circle.component.mjs +15 -15
  222. package/esm2020/lib/components/icon/icon-close.component.mjs +15 -15
  223. package/esm2020/lib/components/icon/icon-cnpj.component.mjs +15 -15
  224. package/esm2020/lib/components/icon/icon-codepen.component.mjs +15 -15
  225. package/esm2020/lib/components/icon/icon-company-name.component.mjs +15 -15
  226. package/esm2020/lib/components/icon/icon-contract-pen.component.mjs +15 -15
  227. package/esm2020/lib/components/icon/icon-contract.component.mjs +15 -15
  228. package/esm2020/lib/components/icon/icon-delete.component.mjs +15 -15
  229. package/esm2020/lib/components/icon/icon-document.component.mjs +15 -15
  230. package/esm2020/lib/components/icon/icon-dollar-sign-circle.component.mjs +15 -15
  231. package/esm2020/lib/components/icon/icon-dollar-sign.component.mjs +15 -15
  232. package/esm2020/lib/components/icon/icon-domain.component.mjs +15 -15
  233. package/esm2020/lib/components/icon/icon-dots-menu.component.mjs +15 -15
  234. package/esm2020/lib/components/icon/icon-double-arrow-left.component.mjs +15 -15
  235. package/esm2020/lib/components/icon/icon-double-arrow-right.component.mjs +15 -15
  236. package/esm2020/lib/components/icon/icon-download.component.mjs +15 -15
  237. package/esm2020/lib/components/icon/icon-drag-drop.component.mjs +15 -15
  238. package/esm2020/lib/components/icon/icon-edit-square.component.mjs +15 -15
  239. package/esm2020/lib/components/icon/icon-edit.component.mjs +15 -15
  240. package/esm2020/lib/components/icon/icon-email-send-fast.component.mjs +15 -15
  241. package/esm2020/lib/components/icon/icon-email.component.mjs +15 -15
  242. package/esm2020/lib/components/icon/icon-empty-doc.component.mjs +15 -15
  243. package/esm2020/lib/components/icon/icon-error.component.mjs +15 -15
  244. package/esm2020/lib/components/icon/icon-eye-closed.component.mjs +15 -15
  245. package/esm2020/lib/components/icon/icon-eye-open.component.mjs +15 -15
  246. package/esm2020/lib/components/icon/icon-filter-add.component.mjs +15 -15
  247. package/esm2020/lib/components/icon/icon-filter.component.mjs +15 -15
  248. package/esm2020/lib/components/icon/icon-grid.component.mjs +15 -15
  249. package/esm2020/lib/components/icon/icon-hands-clap.component.mjs +15 -15
  250. package/esm2020/lib/components/icon/icon-help.component.mjs +15 -15
  251. package/esm2020/lib/components/icon/icon-hexagon.component.mjs +15 -15
  252. package/esm2020/lib/components/icon/icon-home.component.mjs +15 -15
  253. package/esm2020/lib/components/icon/icon-image.component.mjs +15 -15
  254. package/esm2020/lib/components/icon/icon-info.component.mjs +15 -15
  255. package/esm2020/lib/components/icon/icon-invoice.component.mjs +15 -15
  256. package/esm2020/lib/components/icon/icon-invoices-anticipated.component.mjs +15 -15
  257. package/esm2020/lib/components/icon/icon-invoices-approval.component.mjs +15 -15
  258. package/esm2020/lib/components/icon/icon-invoices-refused.component.mjs +15 -15
  259. package/esm2020/lib/components/icon/icon-lighting-circle.component.mjs +15 -15
  260. package/esm2020/lib/components/icon/icon-list.component.mjs +15 -15
  261. package/esm2020/lib/components/icon/icon-location-pin.component.mjs +15 -15
  262. package/esm2020/lib/components/icon/icon-login.component.mjs +15 -15
  263. package/esm2020/lib/components/icon/icon-logout.component.mjs +15 -15
  264. package/esm2020/lib/components/icon/icon-mail-box-upload.component.mjs +15 -0
  265. package/esm2020/lib/components/icon/icon-mail-letter-fast-circle.component.mjs +15 -0
  266. package/esm2020/lib/components/icon/icon-mail-open-document.component.mjs +15 -15
  267. package/esm2020/lib/components/icon/icon-medal.component.mjs +15 -15
  268. package/esm2020/lib/components/icon/icon-menu.component.mjs +15 -15
  269. package/esm2020/lib/components/icon/icon-money-cedule.component.mjs +15 -15
  270. package/esm2020/lib/components/icon/icon-money-discount.component.mjs +15 -15
  271. package/esm2020/lib/components/icon/icon-money-hand.component.mjs +15 -15
  272. package/esm2020/lib/components/icon/icon-money-net.component.mjs +15 -15
  273. package/esm2020/lib/components/icon/icon-money-new.component.mjs +15 -15
  274. package/esm2020/lib/components/icon/icon-money-percent.component.mjs +15 -15
  275. package/esm2020/lib/components/icon/icon-money-refused.component.mjs +15 -15
  276. package/esm2020/lib/components/icon/icon-money-sign.component.mjs +15 -15
  277. package/esm2020/lib/components/icon/icon-money-waiting.component.mjs +15 -15
  278. package/esm2020/lib/components/icon/icon-money.component.mjs +15 -15
  279. package/esm2020/lib/components/icon/icon-more-circle.component.mjs +15 -15
  280. package/esm2020/lib/components/icon/icon-more.component.mjs +15 -15
  281. package/esm2020/lib/components/icon/icon-new-company.component.mjs +15 -15
  282. package/esm2020/lib/components/icon/icon-offered.component.mjs +15 -15
  283. package/esm2020/lib/components/icon/icon-open-external.component.mjs +15 -15
  284. package/esm2020/lib/components/icon/icon-password.component.mjs +15 -15
  285. package/esm2020/lib/components/icon/icon-people.component.mjs +15 -15
  286. package/esm2020/lib/components/icon/icon-percent-box.component.mjs +15 -15
  287. package/esm2020/lib/components/icon/icon-percent.component.mjs +15 -15
  288. package/esm2020/lib/components/icon/icon-person-document.component.mjs +15 -15
  289. package/esm2020/lib/components/icon/icon-person-sad.component.mjs +15 -15
  290. package/esm2020/lib/components/icon/icon-phone-call.component.mjs +15 -15
  291. package/esm2020/lib/components/icon/icon-phone.component.mjs +15 -15
  292. package/esm2020/lib/components/icon/icon-pin-navigation.component.mjs +15 -15
  293. package/esm2020/lib/components/icon/icon-pork.component.mjs +15 -15
  294. package/esm2020/lib/components/icon/icon-radio.component.mjs +15 -15
  295. package/esm2020/lib/components/icon/icon-refresh.component.mjs +15 -15
  296. package/esm2020/lib/components/icon/icon-registration.component.mjs +15 -15
  297. package/esm2020/lib/components/icon/icon-repeat.component.mjs +15 -15
  298. package/esm2020/lib/components/icon/icon-search.component.mjs +15 -15
  299. package/esm2020/lib/components/icon/icon-second-warning.component.mjs +15 -15
  300. package/esm2020/lib/components/icon/icon-settings.component.mjs +15 -15
  301. package/esm2020/lib/components/icon/icon-shield-chekmark.component.mjs +15 -15
  302. package/esm2020/lib/components/icon/icon-star-shining.component.mjs +15 -15
  303. package/esm2020/lib/components/icon/icon-star.component.mjs +15 -15
  304. package/esm2020/lib/components/icon/icon-store.component.mjs +15 -15
  305. package/esm2020/lib/components/icon/icon-target-dart-arrow.component.mjs +15 -15
  306. package/esm2020/lib/components/icon/icon-today.component.mjs +15 -15
  307. package/esm2020/lib/components/icon/icon-trash.component.mjs +15 -15
  308. package/esm2020/lib/components/icon/icon-trophy.component.mjs +15 -15
  309. package/esm2020/lib/components/icon/icon-unfold-more.component.mjs +15 -15
  310. package/esm2020/lib/components/icon/icon-upload.component.mjs +15 -15
  311. package/esm2020/lib/components/icon/icon-user-group.component.mjs +15 -15
  312. package/esm2020/lib/components/icon/icon-user.component.mjs +15 -15
  313. package/esm2020/lib/components/icon/icon-waiting.component.mjs +15 -15
  314. package/esm2020/lib/components/icon/icon-wallet.component.mjs +15 -15
  315. package/esm2020/lib/components/icon/icon-warning.component.mjs +15 -15
  316. package/esm2020/lib/components/icon/icon.component.mjs +1822 -1796
  317. package/esm2020/lib/components/icon/icon.module.mjs +287 -283
  318. package/esm2020/lib/components/icon/index.mjs +137 -135
  319. package/esm2020/lib/components/image-crop/image-crop.component.mjs +516 -516
  320. package/esm2020/lib/components/image-crop/image-crop.module.mjs +41 -41
  321. package/esm2020/lib/components/image-crop/index.mjs +3 -3
  322. package/esm2020/lib/components/index.mjs +20 -20
  323. package/esm2020/lib/components/input/index.mjs +4 -4
  324. package/esm2020/lib/components/input/input-filter.component.mjs +286 -286
  325. package/esm2020/lib/components/input/input.component.mjs +384 -384
  326. package/esm2020/lib/components/input/input.module.mjs +38 -38
  327. package/esm2020/lib/components/input-phone/index.mjs +3 -3
  328. package/esm2020/lib/components/input-phone/input-phone.component.mjs +307 -307
  329. package/esm2020/lib/components/input-phone/input-phone.module.mjs +45 -45
  330. package/esm2020/lib/components/modal/index.mjs +3 -3
  331. package/esm2020/lib/components/modal/modal.component.mjs +236 -236
  332. package/esm2020/lib/components/modal/modal.module.mjs +21 -21
  333. package/esm2020/lib/components/option/index.mjs +3 -3
  334. package/esm2020/lib/components/option/option.component.mjs +131 -131
  335. package/esm2020/lib/components/option/option.module.mjs +29 -29
  336. package/esm2020/lib/components/radiobutton/index.mjs +3 -3
  337. package/esm2020/lib/components/radiobutton/radiobutton.component.mjs +165 -165
  338. package/esm2020/lib/components/radiobutton/radiobutton.module.mjs +36 -36
  339. package/esm2020/lib/components/select/index.mjs +6 -6
  340. package/esm2020/lib/components/select/select-filter.component.mjs +197 -197
  341. package/esm2020/lib/components/select/select-multiple.component.mjs +304 -304
  342. package/esm2020/lib/components/select/select-search.component.mjs +306 -306
  343. package/esm2020/lib/components/select/select.component.mjs +245 -245
  344. package/esm2020/lib/components/select/select.module.mjs +61 -61
  345. package/esm2020/lib/components/stepper/index.mjs +3 -3
  346. package/esm2020/lib/components/stepper/stepper.component.mjs +57 -57
  347. package/esm2020/lib/components/stepper/stepper.module.mjs +20 -20
  348. package/esm2020/lib/components/tab/index.mjs +3 -3
  349. package/esm2020/lib/components/tab/tab.component.mjs +100 -100
  350. package/esm2020/lib/components/tab/tab.module.mjs +21 -21
  351. package/esm2020/lib/components/table/index.mjs +4 -4
  352. package/esm2020/lib/components/table/table-column.component.mjs +34 -34
  353. package/esm2020/lib/components/table/table.component.mjs +267 -267
  354. package/esm2020/lib/components/table/table.module.mjs +23 -23
  355. package/esm2020/lib/components/toggle/index.mjs +3 -3
  356. package/esm2020/lib/components/toggle/toggle.component.mjs +56 -56
  357. package/esm2020/lib/components/toggle/toggle.module.mjs +19 -19
  358. package/esm2020/lib/components/wizard/index.mjs +3 -3
  359. package/esm2020/lib/components/wizard/wizard.component.mjs +61 -61
  360. package/esm2020/lib/components/wizard/wizard.module.mjs +33 -33
  361. package/esm2020/lib/core/index.mjs +4 -4
  362. package/esm2020/lib/core/interfaces/index.mjs +3 -3
  363. package/esm2020/lib/core/interfaces/monkey-modal-settings.mjs +2 -2
  364. package/esm2020/lib/core/interfaces/monkey-style-settings.mjs +2 -2
  365. package/esm2020/lib/core/services/index.mjs +4 -4
  366. package/esm2020/lib/core/services/modal/index.mjs +3 -3
  367. package/esm2020/lib/core/services/modal/monkey-style-guide-modal-fixed.service.mjs +52 -52
  368. package/esm2020/lib/core/services/modal/monkey-style-guide-modal.service.mjs +55 -55
  369. package/esm2020/lib/core/services/monkey-style-guide.service.mjs +17 -17
  370. package/esm2020/lib/core/services/settings/index.mjs +1 -1
  371. package/esm2020/lib/core/services/settings/monkey-style-guide-settings.service.mjs +41 -41
  372. package/esm2020/lib/core/services/settings/monkey-style-guide-theme-settings.service.mjs +80 -80
  373. package/esm2020/lib/core/services/snackbar/index.mjs +1 -1
  374. package/esm2020/lib/core/services/snackbar/mokey-style-guide-snackbar.service.mjs +226 -226
  375. package/esm2020/lib/core/utils/index.mjs +1 -1
  376. package/esm2020/lib/core/utils/utils.mjs +240 -240
  377. package/esm2020/lib/monkey-style-guide.module.mjs +31 -31
  378. package/esm2020/monkey-style-guide.mjs +4 -4
  379. package/esm2020/public-api.mjs +9 -9
  380. package/fesm2015/monkey-style-guide.mjs +9885 -9831
  381. package/fesm2015/monkey-style-guide.mjs.map +1 -1
  382. package/fesm2020/monkey-style-guide.mjs +9874 -9820
  383. package/fesm2020/monkey-style-guide.mjs.map +1 -1
  384. package/lib/components/badge/badge.component.d.ts +8 -8
  385. package/lib/components/badge/badge.module.d.ts +8 -8
  386. package/lib/components/badge/index.d.ts +2 -2
  387. package/lib/components/button/button-avatar.component.d.ts +19 -19
  388. package/lib/components/button/button-dropdown.component.d.ts +23 -23
  389. package/lib/components/button/button.component.d.ts +22 -22
  390. package/lib/components/button/button.module.d.ts +12 -12
  391. package/lib/components/button/index.d.ts +4 -4
  392. package/lib/components/checkbox/checkbox.component.d.ts +32 -32
  393. package/lib/components/checkbox/checkbox.module.d.ts +9 -9
  394. package/lib/components/checkbox/index.d.ts +2 -2
  395. package/lib/components/date-range-picker/date-range-picker.component.d.ts +69 -69
  396. package/lib/components/date-range-picker/date-range-picker.module.d.ts +11 -11
  397. package/lib/components/date-range-picker/index.d.ts +2 -2
  398. package/lib/components/expansion/expansion.component.d.ts +20 -20
  399. package/lib/components/expansion/expansion.module.d.ts +9 -9
  400. package/lib/components/expansion/index.d.ts +2 -2
  401. package/lib/components/file-upload/file-upload.component.d.ts +51 -51
  402. package/lib/components/file-upload/file-upload.module.d.ts +11 -11
  403. package/lib/components/file-upload/index.d.ts +2 -2
  404. package/lib/components/icon/icon-add-plus.component.d.ts +7 -7
  405. package/lib/components/icon/icon-address-book.component.d.ts +7 -7
  406. package/lib/components/icon/icon-arrow-down.component.d.ts +7 -7
  407. package/lib/components/icon/icon-arrow-left.component.d.ts +7 -7
  408. package/lib/components/icon/icon-arrow-line-right.component.d.ts +7 -7
  409. package/lib/components/icon/icon-arrow-right.component.d.ts +7 -7
  410. package/lib/components/icon/icon-arrow-up.component.d.ts +7 -7
  411. package/lib/components/icon/icon-arrows.component.d.ts +7 -7
  412. package/lib/components/icon/icon-auction.component.d.ts +7 -7
  413. package/lib/components/icon/icon-average-tax.component.d.ts +7 -7
  414. package/lib/components/icon/icon-bank-account.component.d.ts +7 -7
  415. package/lib/components/icon/icon-bank-agency.component.d.ts +7 -7
  416. package/lib/components/icon/icon-bank.component.d.ts +7 -7
  417. package/lib/components/icon/icon-banknote-search.component.d.ts +7 -7
  418. package/lib/components/icon/icon-bell.component.d.ts +7 -7
  419. package/lib/components/icon/icon-block.component.d.ts +7 -7
  420. package/lib/components/icon/icon-book-open-text.component.d.ts +7 -7
  421. package/lib/components/icon/icon-book.component.d.ts +7 -7
  422. package/lib/components/icon/icon-box.component.d.ts +7 -7
  423. package/lib/components/icon/icon-build-approved.component.d.ts +7 -7
  424. package/lib/components/icon/icon-build-person.component.d.ts +7 -7
  425. package/lib/components/icon/icon-build-refused.component.d.ts +7 -7
  426. package/lib/components/icon/icon-build-waiting.component.d.ts +7 -7
  427. package/lib/components/icon/icon-calendar-box.component.d.ts +7 -7
  428. package/lib/components/icon/icon-calendar.component.d.ts +7 -7
  429. package/lib/components/icon/icon-camera.component.d.ts +7 -7
  430. package/lib/components/icon/icon-card-machine.component.d.ts +7 -7
  431. package/lib/components/icon/icon-card.component.d.ts +7 -7
  432. package/lib/components/icon/icon-cash-banknote-invoice.component.d.ts +7 -7
  433. package/lib/components/icon/icon-chat.component.d.ts +7 -7
  434. package/lib/components/icon/icon-check-circle-out.component.d.ts +7 -7
  435. package/lib/components/icon/icon-check-circle.component.d.ts +7 -7
  436. package/lib/components/icon/icon-check-grey.component.d.ts +7 -7
  437. package/lib/components/icon/icon-check-white.component.d.ts +7 -7
  438. package/lib/components/icon/icon-check.component.d.ts +7 -7
  439. package/lib/components/icon/icon-clipboard.component.d.ts +7 -7
  440. package/lib/components/icon/icon-clock-closed.component.d.ts +7 -7
  441. package/lib/components/icon/icon-clock.component.d.ts +7 -7
  442. package/lib/components/icon/icon-close-circle.component.d.ts +7 -7
  443. package/lib/components/icon/icon-close.component.d.ts +7 -7
  444. package/lib/components/icon/icon-cnpj.component.d.ts +7 -7
  445. package/lib/components/icon/icon-codepen.component.d.ts +7 -7
  446. package/lib/components/icon/icon-company-name.component.d.ts +7 -7
  447. package/lib/components/icon/icon-contract-pen.component.d.ts +7 -7
  448. package/lib/components/icon/icon-contract.component.d.ts +7 -7
  449. package/lib/components/icon/icon-delete.component.d.ts +7 -7
  450. package/lib/components/icon/icon-document.component.d.ts +7 -7
  451. package/lib/components/icon/icon-dollar-sign-circle.component.d.ts +7 -7
  452. package/lib/components/icon/icon-dollar-sign.component.d.ts +7 -7
  453. package/lib/components/icon/icon-domain.component.d.ts +7 -7
  454. package/lib/components/icon/icon-dots-menu.component.d.ts +7 -7
  455. package/lib/components/icon/icon-double-arrow-left.component.d.ts +7 -7
  456. package/lib/components/icon/icon-double-arrow-right.component.d.ts +7 -7
  457. package/lib/components/icon/icon-download.component.d.ts +7 -7
  458. package/lib/components/icon/icon-drag-drop.component.d.ts +7 -7
  459. package/lib/components/icon/icon-edit-square.component.d.ts +7 -7
  460. package/lib/components/icon/icon-edit.component.d.ts +7 -7
  461. package/lib/components/icon/icon-email-send-fast.component.d.ts +7 -7
  462. package/lib/components/icon/icon-email.component.d.ts +7 -7
  463. package/lib/components/icon/icon-empty-doc.component.d.ts +7 -7
  464. package/lib/components/icon/icon-error.component.d.ts +7 -7
  465. package/lib/components/icon/icon-eye-closed.component.d.ts +7 -7
  466. package/lib/components/icon/icon-eye-open.component.d.ts +7 -7
  467. package/lib/components/icon/icon-filter-add.component.d.ts +7 -7
  468. package/lib/components/icon/icon-filter.component.d.ts +7 -7
  469. package/lib/components/icon/icon-grid.component.d.ts +7 -7
  470. package/lib/components/icon/icon-hands-clap.component.d.ts +7 -7
  471. package/lib/components/icon/icon-help.component.d.ts +7 -7
  472. package/lib/components/icon/icon-hexagon.component.d.ts +7 -7
  473. package/lib/components/icon/icon-home.component.d.ts +7 -7
  474. package/lib/components/icon/icon-image.component.d.ts +7 -7
  475. package/lib/components/icon/icon-info.component.d.ts +7 -7
  476. package/lib/components/icon/icon-invoice.component.d.ts +7 -7
  477. package/lib/components/icon/icon-invoices-anticipated.component.d.ts +7 -7
  478. package/lib/components/icon/icon-invoices-approval.component.d.ts +7 -7
  479. package/lib/components/icon/icon-invoices-refused.component.d.ts +7 -7
  480. package/lib/components/icon/icon-lighting-circle.component.d.ts +7 -7
  481. package/lib/components/icon/icon-list.component.d.ts +7 -7
  482. package/lib/components/icon/icon-location-pin.component.d.ts +7 -7
  483. package/lib/components/icon/icon-login.component.d.ts +7 -7
  484. package/lib/components/icon/icon-logout.component.d.ts +7 -7
  485. package/lib/components/icon/icon-mail-box-upload.component.d.ts +7 -0
  486. package/lib/components/icon/icon-mail-letter-fast-circle.component.d.ts +7 -0
  487. package/lib/components/icon/icon-mail-open-document.component.d.ts +7 -7
  488. package/lib/components/icon/icon-medal.component.d.ts +7 -7
  489. package/lib/components/icon/icon-menu.component.d.ts +7 -7
  490. package/lib/components/icon/icon-money-cedule.component.d.ts +7 -7
  491. package/lib/components/icon/icon-money-discount.component.d.ts +7 -7
  492. package/lib/components/icon/icon-money-hand.component.d.ts +7 -7
  493. package/lib/components/icon/icon-money-net.component.d.ts +7 -7
  494. package/lib/components/icon/icon-money-new.component.d.ts +7 -7
  495. package/lib/components/icon/icon-money-percent.component.d.ts +7 -7
  496. package/lib/components/icon/icon-money-refused.component.d.ts +7 -7
  497. package/lib/components/icon/icon-money-sign.component.d.ts +7 -7
  498. package/lib/components/icon/icon-money-waiting.component.d.ts +7 -7
  499. package/lib/components/icon/icon-money.component.d.ts +7 -7
  500. package/lib/components/icon/icon-more-circle.component.d.ts +7 -7
  501. package/lib/components/icon/icon-more.component.d.ts +7 -7
  502. package/lib/components/icon/icon-new-company.component.d.ts +7 -7
  503. package/lib/components/icon/icon-offered.component.d.ts +7 -7
  504. package/lib/components/icon/icon-open-external.component.d.ts +7 -7
  505. package/lib/components/icon/icon-password.component.d.ts +7 -7
  506. package/lib/components/icon/icon-people.component.d.ts +7 -7
  507. package/lib/components/icon/icon-percent-box.component.d.ts +7 -7
  508. package/lib/components/icon/icon-percent.component.d.ts +7 -7
  509. package/lib/components/icon/icon-person-document.component.d.ts +7 -7
  510. package/lib/components/icon/icon-person-sad.component.d.ts +7 -7
  511. package/lib/components/icon/icon-phone-call.component.d.ts +7 -7
  512. package/lib/components/icon/icon-phone.component.d.ts +7 -7
  513. package/lib/components/icon/icon-pin-navigation.component.d.ts +7 -7
  514. package/lib/components/icon/icon-pork.component.d.ts +7 -7
  515. package/lib/components/icon/icon-radio.component.d.ts +7 -7
  516. package/lib/components/icon/icon-refresh.component.d.ts +7 -7
  517. package/lib/components/icon/icon-registration.component.d.ts +7 -7
  518. package/lib/components/icon/icon-repeat.component.d.ts +7 -7
  519. package/lib/components/icon/icon-search.component.d.ts +7 -7
  520. package/lib/components/icon/icon-second-warning.component.d.ts +7 -7
  521. package/lib/components/icon/icon-settings.component.d.ts +7 -7
  522. package/lib/components/icon/icon-shield-chekmark.component.d.ts +7 -7
  523. package/lib/components/icon/icon-star-shining.component.d.ts +7 -7
  524. package/lib/components/icon/icon-star.component.d.ts +7 -7
  525. package/lib/components/icon/icon-store.component.d.ts +7 -7
  526. package/lib/components/icon/icon-target-dart-arrow.component.d.ts +7 -7
  527. package/lib/components/icon/icon-today.component.d.ts +7 -7
  528. package/lib/components/icon/icon-trash.component.d.ts +7 -7
  529. package/lib/components/icon/icon-trophy.component.d.ts +7 -7
  530. package/lib/components/icon/icon-unfold-more.component.d.ts +7 -7
  531. package/lib/components/icon/icon-upload.component.d.ts +7 -7
  532. package/lib/components/icon/icon-user-group.component.d.ts +7 -7
  533. package/lib/components/icon/icon-user.component.d.ts +7 -7
  534. package/lib/components/icon/icon-waiting.component.d.ts +7 -7
  535. package/lib/components/icon/icon-wallet.component.d.ts +7 -7
  536. package/lib/components/icon/icon-warning.component.d.ts +7 -7
  537. package/lib/components/icon/icon.component.d.ts +27 -27
  538. package/lib/components/icon/icon.module.d.ts +141 -139
  539. package/lib/components/icon/index.d.ts +136 -134
  540. package/lib/components/image-crop/image-crop.component.d.ts +77 -77
  541. package/lib/components/image-crop/image-crop.module.d.ts +12 -12
  542. package/lib/components/image-crop/index.d.ts +2 -2
  543. package/lib/components/index.d.ts +19 -19
  544. package/lib/components/input/index.d.ts +3 -3
  545. package/lib/components/input/input-filter.component.d.ts +55 -55
  546. package/lib/components/input/input.component.d.ts +64 -64
  547. package/lib/components/input/input.module.d.ts +12 -12
  548. package/lib/components/input-phone/index.d.ts +2 -2
  549. package/lib/components/input-phone/input-phone.component.d.ts +62 -62
  550. package/lib/components/input-phone/input-phone.module.d.ts +13 -13
  551. package/lib/components/modal/index.d.ts +2 -2
  552. package/lib/components/modal/modal.component.d.ts +24 -24
  553. package/lib/components/modal/modal.module.d.ts +10 -10
  554. package/lib/components/option/index.d.ts +2 -2
  555. package/lib/components/option/option.component.d.ts +22 -22
  556. package/lib/components/option/option.module.d.ts +8 -8
  557. package/lib/components/radiobutton/index.d.ts +2 -2
  558. package/lib/components/radiobutton/radiobutton.component.d.ts +39 -39
  559. package/lib/components/radiobutton/radiobutton.module.d.ts +9 -9
  560. package/lib/components/select/index.d.ts +5 -5
  561. package/lib/components/select/select-filter.component.d.ts +41 -41
  562. package/lib/components/select/select-multiple.component.d.ts +48 -48
  563. package/lib/components/select/select-search.component.d.ts +56 -56
  564. package/lib/components/select/select.component.d.ts +48 -48
  565. package/lib/components/select/select.module.d.ts +15 -15
  566. package/lib/components/stepper/index.d.ts +2 -2
  567. package/lib/components/stepper/stepper.component.d.ts +18 -18
  568. package/lib/components/stepper/stepper.module.d.ts +9 -9
  569. package/lib/components/tab/index.d.ts +2 -2
  570. package/lib/components/tab/tab.component.d.ts +24 -24
  571. package/lib/components/tab/tab.module.d.ts +10 -10
  572. package/lib/components/table/index.d.ts +3 -3
  573. package/lib/components/table/table-column.component.d.ts +5 -5
  574. package/lib/components/table/table.component.d.ts +59 -59
  575. package/lib/components/table/table.module.d.ts +12 -12
  576. package/lib/components/toggle/index.d.ts +2 -2
  577. package/lib/components/toggle/toggle.component.d.ts +18 -18
  578. package/lib/components/toggle/toggle.module.d.ts +8 -8
  579. package/lib/components/wizard/index.d.ts +2 -2
  580. package/lib/components/wizard/wizard.component.d.ts +18 -18
  581. package/lib/components/wizard/wizard.module.d.ts +9 -9
  582. package/lib/core/index.d.ts +3 -3
  583. package/lib/core/interfaces/index.d.ts +2 -2
  584. package/lib/core/interfaces/monkey-modal-settings.d.ts +58 -58
  585. package/lib/core/interfaces/monkey-style-settings.d.ts +59 -59
  586. package/lib/core/services/index.d.ts +3 -3
  587. package/lib/core/services/modal/index.d.ts +2 -2
  588. package/lib/core/services/modal/monkey-style-guide-modal-fixed.service.d.ts +16 -16
  589. package/lib/core/services/modal/monkey-style-guide-modal.service.d.ts +18 -18
  590. package/lib/core/services/monkey-style-guide.service.d.ts +10 -10
  591. package/lib/core/services/settings/index.d.ts +1 -1
  592. package/lib/core/services/settings/monkey-style-guide-settings.service.d.ts +15 -15
  593. package/lib/core/services/settings/monkey-style-guide-theme-settings.service.d.ts +12 -12
  594. package/lib/core/services/snackbar/index.d.ts +1 -1
  595. package/lib/core/services/snackbar/mokey-style-guide-snackbar.service.d.ts +58 -58
  596. package/lib/core/utils/index.d.ts +1 -1
  597. package/lib/core/utils/utils.d.ts +29 -29
  598. package/lib/monkey-style-guide.module.d.ts +8 -8
  599. package/monkey-style-guide-2.0.180.tgz +0 -0
  600. package/monkey-style-guide.d.ts +5 -5
  601. package/package.json +1 -1
  602. package/public-api.d.ts +8 -8
  603. package/monkey-style-guide-2.0.178.tgz +0 -0
package/README.md CHANGED
@@ -1,1281 +1,1283 @@
1
- [![Contributors][contributors-shield]][contributors-url]
2
- [![MIT License][license-shield]][license-url]
3
- [![LinkedIn][linkedin-shield]][linkedin-url]
4
-
5
- <br />
6
- <p align="center">
7
- <a href="https:monkey.exchange">
8
- <img src="https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/logo.png" alt="Monkey Logo" width="80" height="80">
9
- </a>
10
- <h3 align="center">Monkey Style Guide</h3>
11
- <p align="center">
12
- An style guide template to boost your projects.
13
- <br />
14
- <br />
15
- <a href="https://www.monkey.exchange/who-we-are.html">Who We Are?</a>
16
- </p>
17
- </p>
18
-
19
- ## About The Project
20
-
21
- This project was defined to be the main guide to styles, colors and html components of the entire ecosystem of Monkey Exchange systems.
22
-
23
- This style guide contains a concept to work with a range of different colors, making possible to create beautiful and useful html components.
24
-
25
- ## Components
26
-
27
- All components was developed to work with angular reactive forms, so we need to define a formGroup and set the formControlName, and the components will do the rest of the job to fill all fields properly.
28
- First developed on Angular 10, this color guide contains the following components:
29
-
30
- ---
31
-
32
- ### **Badge**
33
-
34
- ![Badge Demo Screen Shot][badge-screenshot]
35
-
36
- Parameters:
37
-
38
- - **count** (string) is used to define the content of badge.
39
- - **pulseOn** (boolean)(default: false) is used to define if badge has to pulse like a bell.
40
-
41
- Example:
42
-
43
- `example.module.ts`
44
-
45
- ```Typescript
46
- import { MonkeyBadgeModule } from 'monkey-style-guide';
47
-
48
- ...
49
-
50
- @NgModule({
51
- imports: [MonkeyBadgeModule]
52
- })
53
- ...
54
- ```
55
-
56
- `example.component.html`
57
-
58
- ```HTML
59
- <monkey-badge count="3" [pulseOn]="true"></monkey-badge>
60
- ```
61
-
62
- ---
63
-
64
- ### **Button**
65
-
66
- ![Button Demo Screen Shot][buttons-screenshot]
67
-
68
- Parameters:
69
-
70
- - **color** (string) can be _theme_, _error_, _warning_ or _success_
71
- - **disabled** (boolean)(default: false) to disable any action
72
- - **icon** (optional)(string) define the icon for button
73
- - **iconPoition** (string)(default: 'left') define the icon position. Can be _left_ or _right_
74
- - **label** (string) define the label that will be displayed inside the button
75
- - **type** (string) can be _primary_, _secondary_, _tertiary_
76
-
77
- Example:
78
-
79
- `example.module.ts`
80
-
81
- ```Typescript
82
- import { MonkeyButtonModule } from 'monkey-style-guide';
83
-
84
- ...
85
-
86
- @NgModule({
87
- imports: [MonkeyButtonModule]
88
- })
89
- ...
90
- ```
91
-
92
- `example.component.html`
93
-
94
- ```HTML
95
- <monkey-button color="theme" label="Primary" type="primary"></monkey-button>
96
- <monkey-button color="error" label="Secondary" type="secondary"></monkey-button>
97
- <monkey-button color="warning" label="Tertiary" type="tertiary"></monkey-button>
98
- ```
99
-
100
- ---
101
-
102
- There are other variations with buttons:
103
-
104
- ### **Button Avatar**
105
-
106
- ![Button Avatar Demo Screen Shot][button-avatar-screenshot]
107
-
108
- Parameters:
109
-
110
- - **label** (string) define the label that will be displayed inside the button
111
- - **size** (string) define the size of the button
112
- - **type** (string) can be _theme_, _theme-100_ or _none_
113
-
114
- Example:
115
-
116
- `example.component.html`
117
-
118
- ```HTML
119
- <monkey-button-avatar label="Amilson" size="sm" type="theme"></monkey-button-avatar>
120
- ```
121
-
122
- ### **Button Dropdown**
123
-
124
- ![Button Dropdown Demo Screen Shot][button-dropdown-screenshot1]
125
-
126
- ![Button Dropdown Demo Screen Shot][button-dropdown-screenshot2]
127
-
128
- Parameters:
129
-
130
- - **label** (ng-template) the label that will be displayed inside the button. For this particular component, label has be a ng-template.
131
- - **listenClicks** (boolean)(default: true) can be used to define if the dropdown will be closed with clicks inside
132
- - **type** (string)(default: 'filled') can be _unfilled_ or _filled_
133
-
134
- Example:
135
-
136
- `example.component.html`
137
-
138
- ```HTML
139
- <monkey-button-dropdown [label]="profileButton">
140
- <div class="mt-2">
141
- <monkey-button
142
- color="theme"
143
- label="Profile"
144
- type="tertiary"
145
- [routerLink]="'/app/user/profile/edit'"
146
- >
147
- </monkey-button>
148
- </div>
149
- <div class="mt-2">
150
- <monkey-button color="theme" label="Logout" type="tertiary"></monkey-button>
151
- </div>
152
- </monkey-button-dropdown>
153
-
154
- <ng-template #profileButton>
155
- <monkey-button-avatar label="Monkey" size="sm" type="theme"></monkey-button-avatar>
156
- </ng-template>
157
- ```
158
-
159
- ---
160
-
161
- ### **Checkbox**
162
-
163
- ![Checkbox Demo Screen Shot][checkbox-screenshot]
164
-
165
- Parameters:
166
-
167
- - **description** (optional)(string) description to be displayed by side of the checkbox
168
- - **errorMessage** (string) message to alert user
169
- - **helperMessage** (optional)(string) can be used with type single, for formfield purpose
170
- - **infoMessage** (optional)(string) message to help user knows about this component purpose
171
- - **label** (string) define the label that will be displayed inside
172
- - **type** (string)(default: 'single') can be _single_ or _multiple_. Will be used to render checkbox with formfield body or not.
173
-
174
- Events:
175
-
176
- - **onChange** event emited when user make changes
177
-
178
- Example:
179
-
180
- `example.module.ts`
181
-
182
- ```Typescript
183
- import { MonkeyCheckboxModule } from 'monkey-style-guide';
184
-
185
- ...
186
-
187
- @NgModule({
188
- imports: [MonkeyCheckboxModule]
189
- })
190
- ...
191
- ```
192
-
193
- `example.component.html`
194
-
195
- ```HTML
196
- <monkey-checkbox
197
- description="I Agree to Terms"
198
- errorMessage="Validation Message"
199
- formControlName="terms"
200
- helperMessage="Mandatory"
201
- infoMessage="Info message"
202
- label="Terms and Conditions"
203
- type="single">
204
- </monkey-checkbox>
205
- ```
206
-
207
- ---
208
-
209
- ### **Date Range Picker**
210
-
211
- ![Date Range Picker Demo Screen Shot][date-range-picker]
212
-
213
- Parameters:
214
-
215
- - **errorMessage** (string) message to alert user
216
- - **helperMessage** (optional)(string) can be used with type single, for formfield purpose
217
- - **infoMessage** (optional)(string) message to help user knows about this component purpose
218
- - **label** (string) define the label that will be displayed inside
219
- - **i18n** (Object) an i18n object (see example)
220
-
221
- Events:
222
-
223
- - **onChange** event emited when user select a range of dates or when clicked on some action
224
-
225
- Example:
226
-
227
- `example.module.ts`
228
-
229
- ```Typescript
230
- import { MonkeyDateRangePicker } from 'monkey-style-guide';
231
-
232
- ...
233
-
234
- @NgModule({
235
- imports: [MonkeyDateRangePicker]
236
- })
237
- ...
238
- ```
239
-
240
- `example.component.html`
241
-
242
- ```HTML
243
- <monkey-date-range-picker
244
- errorMessage="Error Message"
245
- helperMessage="Helper Message"
246
- infoMessage="Info Message"
247
- label="Label"
248
- [i18n]="i18n">
249
- </monkey-date-range-picker>
250
- ```
251
-
252
- `example.component.ts`
253
-
254
- ```Typescript
255
- ...
256
- i18n = {
257
- months: {
258
- '1': 'January',
259
- '2': 'Febuary',
260
- '3': 'March',
261
- '4': 'April',
262
- '5': 'May',
263
- '6': 'June',
264
- '7': 'July',
265
- '8': 'August',
266
- '9': 'September',
267
- '10': 'October',
268
- '11': 'November',
269
- '12': 'December'
270
- },
271
- days: {
272
- '1': 'Sun.',
273
- '2': 'Mon.',
274
- '3': 'Tue.',
275
- '4': 'Wed.',
276
- '5': 'Thu.',
277
- '6': 'Fri.',
278
- '7': 'Sat.'
279
- },
280
- actions: {
281
- '30': '30 days',
282
- '60': '60 days',
283
- '90': '90 days'
284
- },
285
- today: 'Today'
286
- };
287
- ...
288
- ```
289
-
290
- ---
291
-
292
- ### **Expansion**
293
-
294
- ![Expansion Demo Screen Shot][expansion-screenshot1]
295
-
296
- ![Expansion Demo Screen Shot][expansion-screenshot2]
297
-
298
- Parameters:
299
-
300
- - **color** (string) can be _theme_, _error_, _warning_ or _success_
301
- - **disabled** (boolean)(default: false) to disable any action
302
- - **helperMessage** (optional)(string) can be used with type single, for formfield purpose
303
- - **label** (string) define the label that will be displayed inside
304
- - **open** (boolean)(default: false) make expansion open or not
305
-
306
- Events:
307
-
308
- - **onChange** event emited when user make changes
309
-
310
- Example:
311
-
312
- `example.module.ts`
313
-
314
- ```Typescript
315
- import { MonkeyExpansionModule } from 'monkey-style-guide';
316
-
317
- ...
318
-
319
- @NgModule({
320
- imports: [MonkeyExpansionModule]
321
- })
322
- ...
323
- ```
324
-
325
- `example.component.html`
326
-
327
- ```HTML
328
- <monkey-expansion
329
- color="theme"
330
- label="Expansion"
331
- [helperMessage]="'helperMessage'"
332
- >
333
- <div>Content 1</div>
334
- <div>Content 2</div>
335
- </monkey-expansion>
336
- ```
337
-
338
- ---
339
-
340
- ### **File Upload**
341
-
342
- ![File Upload Demo Screen Shot][file-upload-screenshot1]
343
-
344
- Parameters:
345
-
346
- - **allowedExtensions** (array of string) for example ['.jpg', '.jpeg', '.png']
347
- - **allowedExtensionErrorMessage** (string) message to be displayed if the file extension is wrong
348
- - **errorMessage** (string) message to alert user
349
- - **fileUpload** (function) function to be used to upload file
350
- - **helperMessage** (optional)(string) message to help user to know what to do
351
- - **infoMessage** (optional)(string) required message
352
- - **label** (string) define the label that will be displayed inside
353
- - **listenFiles** (boolean)(default: false) if true, emit event to onHandleFilesReady with the selected file
354
- - **maxSize** (number) max file size in kbytes (1 \* 1024 \* 1024)
355
- - **maxSizeErrorMessage** (string) message to be displayed if the file size is wrong
356
- - **name** (string) name to identify the input
357
- - **placeholder** (optional)(string) message to help user that will be displayed inside the input
358
- - **uploadOngoingMessage** (string) message to be used when upload starts
359
-
360
- Events:
361
-
362
- - **onChange** event emited when user make changes
363
- - **onHandleFilesReady** event emited when listenFiled is true
364
-
365
- Example:
366
-
367
- `example.module.ts`
368
-
369
- ```Typescript
370
- import { MonkeyFileUploadModule } from 'monkey-style-guide';
371
-
372
- ...
373
-
374
- @NgModule({
375
- imports: [MonkeyFileUploadModule]
376
- })
377
- ...
378
- ```
379
-
380
- `example.component.ts`
381
-
382
- ```Typescript
383
- ...
384
-
385
- uploadFunction: Function = (file: any, callback?: Function) => {
386
- this.uploadService.uploadFile(file, callback);
387
- };
388
-
389
- service.uploadFile(file: File, callback?: Function) {
390
- const { httpClient, headers } = this;
391
- const formData = new FormData();
392
- formData.append('file', file);
393
-
394
- httpClient.post<any>('endpoint/upload', formData, {
395
- headers,
396
- reportProgress: true,
397
- observe: 'events'
398
- }).subscribe((event: any) => {
399
- const { loaded, total, body } = event;
400
- switch (event.type) {
401
- case HttpEventType.UploadProgress:
402
- const progress = Math.round((loaded / total * 100));
403
- if (callback) callback(progress);
404
- break;
405
- case HttpEventType.Response:
406
- const { filename, _links: { file: { href } } } = body;
407
- if (callback) {
408
- callback(null, {
409
- fileName: filename,
410
- url: href
411
- }, null);
412
- }
413
- break;
414
- default:
415
- break;
416
- }
417
- }, (err: HttpErrorResponse) => {
418
- const { error } = err;
419
- callback(null, error?.notifications?.join(''));
420
- });
421
- }
422
- ```
423
-
424
- `example.component.html`
425
-
426
- ```HTML
427
- <monkey-file-upload
428
- allowedExtensionErrorMessage="Extension not allowed"
429
- icon="upload-20"
430
- label="upload"
431
- maxSize="5242880"
432
- maxSizeErrorMessage="Max file size is 5mb"
433
- placeholder="Add File"
434
- [fileUpload]="uploadFunction"
435
- ></monkey-file-upload>
436
- ```
437
-
438
- ---
439
-
440
- ### **Icon**
441
-
442
- ![Icons Demo Screen Shot][icons-screenshot1]
443
-
444
- Parameters:
445
-
446
- - **color** (string) define color. Can be _theme_ or _#ffffff_ (hex value)
447
- - **icon** (string) icon name and size separeted by hyfhen
448
-
449
- Icons Options:
450
-
451
- - **add-plus**
452
- - **address-book**
453
- - **arrow-down**
454
- - **arrow-left**
455
- - **arrow-line-right**
456
- - **arrow-right**
457
- - **arrow-up**
458
- - **arrows**
459
- - **auction**
460
- - **average-tax**
461
- - **bank-account**
462
- - **bank-agency**
463
- - **bank**
464
- - **banknote-search**
465
- - **bell**
466
- - **block**
467
- - **book-open-text**
468
- - **book**
469
- - **box**
470
- - **build-approved**
471
- - **build-person**
472
- - **build-refused**
473
- - **build-waiting**
474
- - **calendar**
475
- - **calendar-box**
476
- - **camera**
477
- - **card-machine**
478
- - **card**
479
- - **cash-banknote-invoice**
480
- - **chat**
481
- - **check-circle-out**
482
- - **check-circle**
483
- - **check-grey**
484
- - **check-white**
485
- - **check**
486
- - **clipboard**
487
- - **clock-closed**
488
- - **clock**
489
- - **close-circle**
490
- - **close**
491
- - **cnpj**
492
- - **codepen**
493
- - **company-name**
494
- - **contract-pen**
495
- - **contract**
496
- - **delete**
497
- - **document**
498
- - **dollar-sign-circle**
499
- - **dollar-sign**
500
- - **domain**
501
- - **dots-menu**
502
- - **double-arrow-left**
503
- - **double-arrow-right**
504
- - **download**
505
- - **drag-drop**
506
- - **edit-square**
507
- - **edit**
508
- - **email-send-fast**
509
- - **email**
510
- - **empty-doc**
511
- - **error**
512
- - **eye-closed**
513
- - **eye-open**
514
- - **filter-add**
515
- - **filter**
516
- - **grid**
517
- - **hands-clap**
518
- - **help**
519
- - **hexagon**
520
- - **home**
521
- - **image**
522
- - **info**
523
- - **invoice**
524
- - **invoices-anticipated**
525
- - **invoices-approval**
526
- - **invoices-refused**
527
- - **lighting-circle**
528
- - **list**
529
- - **location-pin**
530
- - **login**
531
- - **logout**
532
- - **mail-open-document**
533
- - **medal**
534
- - **menu**
535
- - **money-cedule**
536
- - **money-discount**
537
- - **money-hand**
538
- - **money-net**
539
- - **money-new**
540
- - **money-percent**
541
- - **money-refused**
542
- - **money-sign**
543
- - **money**
544
- - **money-waiting**
545
- - **more-circle**
546
- - **more**
547
- - **new-company**
548
- - **offered**
549
- - **open-external**
550
- - **password**
551
- - **people**
552
- - **percent**
553
- - **percent-box**
554
- - **person-document**
555
- - **person-sad**
556
- - **phone-call**
557
- - **phone**
558
- - **pin-navigation**
559
- - **pork**
560
- - **radio**
561
- - **refresh**
562
- - **registration**
563
- - **repeat**
564
- - **search**
565
- - **second-warning**
566
- - **settings**
567
- - **shield-chekmark**
568
- - **star-shining**
569
- - **star**
570
- - **store**
571
- - **target-dart-arrow**
572
- - **today**
573
- - **trash**
574
- - **trophy**
575
- - **unfold-more**
576
- - **upload**
577
- - **user-group**
578
- - **user**
579
- - **wallet**
580
- - **warning**
581
-
582
- Example:
583
-
584
- `example.module.ts`
585
-
586
- ```Typescript
587
- import { MonkeyIconModule } from 'monkey-style-guide';
588
-
589
- ...
590
-
591
- @NgModule({
592
- imports: [MonkeyIconModule]
593
- })
594
- ...
595
- ```
596
-
597
- `example.component.html`
598
-
599
- ```HTML
600
- <monkey-icon color="#000000" icon="password-16"></monkey-icon>
601
- ```
602
-
603
- ---
604
-
605
- ### **Input**
606
-
607
- ![Input Demo Screen Shot][input-screenshot]
608
-
609
- Parameters:
610
-
611
- - **capitalize** (optional)(boolean) makes the value capitalcase
612
- - **currency** (optional)(boolean) transforms the input in currency input
613
- - **errorMessage** (string) message to alert user
614
- - **helperMessage** (optional)(string) message to help user to know what to do
615
- - **icon** (optional)(string) icon name and size separeted by hyfhen
616
- - **infoMessage** (optional)(string) message to help user knows about this component purpose
617
- - **label** (string) define the label that will be displayed inside
618
- - **lowerCase** (optional)(boolean) makes the value lowercase
619
- - **mask** (optional)(string) mask pattern to mask the input
620
- - **maxLength** (optional)(number) max 255
621
- - **name** (optional)(string) name to identify the input
622
- - **onlyNumber** (optional)(boolean) makes the input accept only number
623
- - **onlyAlphaNumeric** (optional)(boolean) makes the input accept only alphanumeric characters
624
- - **placeholder** (optional)(string) message to help user that will be displayed inside the input
625
- - **prefix** (optional)(string) prefix value for input
626
- - **type** (string) can be _text_ or _password_
627
- - **upperCase** (optional)(boolean) makes the value uppercase
628
-
629
- Events:
630
-
631
- - **onChange** event emited when user make changes
632
-
633
- Example:
634
-
635
- `example.module.ts`
636
-
637
- ```Typescript
638
- import { MonkeyInputModule } from 'monkey-style-guide';
639
-
640
- ...
641
-
642
- @NgModule({
643
- imports: [MonkeyInputModule]
644
- })
645
- ...
646
- ```
647
-
648
- `example.component.html`
649
-
650
- ```HTML
651
- <monkey-input
652
- errorMessage="Validation Message"
653
- formControlName="name"
654
- helperMessage="Mandatory"
655
- icon="user-20"
656
- infoMessage="Info message"
657
- label="Name"
658
- placeholder="Input your full name">
659
- </monkey-input>
660
- ```
661
-
662
- ---
663
-
664
- ### **Input Filter**
665
-
666
- ![Input Filter Demo Screen Shot][input-filter-screenshot]
667
-
668
- Parameters:
669
-
670
- - **helperMessage** (optional)(string) message to help user to know what to do
671
- - **icon** (optional)(string) icon name and size separeted by hyfhen
672
- - **infoMessage** (optional)(string) message to help user knows about this component purpose
673
- - **label** (string) define the label that will be displayed inside
674
- - **maxLength** (optional)(number) max 255
675
- - **name** (optional)(string) name to identify the input
676
- - **placeholder** (optional)(string) message to help user that will be displayed inside the input
677
-
678
- Events:
679
-
680
- - **onChange** event emited when user make changes
681
-
682
- Example:
683
-
684
- `example.module.ts`
685
-
686
- ```Typescript
687
- import { MonkeyInputModule } from 'monkey-style-guide';
688
-
689
- ...
690
-
691
- @NgModule({
692
- imports: [MonkeyInputModule]
693
- })
694
- ...
695
- ```
696
-
697
- `example.component.html`
698
-
699
- ```HTML
700
- <monkey-input-filter
701
- formControlName="name"
702
- helperMessage="Mandatory"
703
- icon="user-20"
704
- infoMessage="Info message"
705
- label="Name"
706
- placeholder="Input your full name">
707
- </monkey-input-filter>
708
- ```
709
-
710
- ---
711
-
712
- ### **Modal**
713
-
714
- ![Modal Demo Screen Shot][modal-screenshot]
715
-
716
- Parameters:
717
-
718
- - **config** (MonkeyModalConfig) the configuration of modal
719
- - **modalRef** (MonkeyModalRefs) the modal reference
720
- - **onHandleConfirm** (EventEmitter) will emit and event when you click confirm
721
-
722
- Example:
723
-
724
- `example.module.ts`
725
-
726
- ```Typescript
727
- import {
728
- MonkeyModalModule,
729
- MonkeyStyleGuideModalService
730
- } from 'monkey-style-guide';
731
-
732
- ...
733
-
734
- @NgModule({
735
- imports: [MonkeyModalModule],
736
- providers: [MonkeyStyleGuideModalService]
737
- })
738
- ...
739
- ```
740
-
741
- `parent.component.ts`
742
-
743
- ```Typescript
744
- ...
745
- import { MonkeyStyleGuideModalService } from 'monkey-style-guide';
746
- import { ModalComponent } from './modal/modal.component';
747
-
748
- ...
749
-
750
- constructor(private modalService: MonkeyStyleGuideModalService) {}
751
-
752
- openModal() {
753
- this.modalService.open(ModalComponent, {
754
- color: 'theme',
755
- size: 'md',
756
- action: {
757
- cancel: {
758
- actionColor: 'theme',
759
- actionType: 'tertiary',
760
- label: 'Cancel',
761
- },
762
- confirm: {
763
- actionColor: 'theme',
764
- actionType: 'primary',
765
- label: 'Confirm',
766
- },
767
- },
768
- });
769
- }
770
- ```
771
-
772
- `modal.component.ts`
773
-
774
- ```Typescript
775
- import { Component, EventEmitter, Input } from '@angular/core';
776
- import {
777
- MonkeyModalConfig,
778
- MonkeyModalRefs,
779
- MonkeyStyleGuideModalService
780
- } from 'monkey-style-guide';
781
-
782
- @Component({
783
- selector: 'mk-modal',
784
- template: `
785
- <monkey-modal
786
- [config]="config"
787
- [modalRef]="modalRef"
788
- [onHandleConfirm]="onHandleConfirm"
789
- >
790
- <div style="align-items: center; display: flex; justify-content: center;">
791
- <img
792
- src="https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/logo.png"
793
- />
794
- </div>
795
- </monkey-modal>
796
- `,
797
- })
798
- export class ModalComponent {
799
- @Input() config: MonkeyModalConfig;
800
- @Input() modalRef: MonkeyModalRefs<this>;
801
- @Input() onHandleConfirm = new EventEmitter<any>();
802
-
803
- constructor(private modalService: MonkeyStyleGuideModalService) {
804
- this.onHandleConfirm.subscribe(() => {
805
- console.log('Confirm clicked!');
806
-
807
- this.modalService.closeAll();
808
- });
809
- }
810
- }
811
- ```
812
-
813
- In case you need the logic in your parent component you can simply pass the `action` key to `MonkeyModalConfig` and remove `onHandleConfirm` of your modal component like this:
814
-
815
- ```Typescript
816
- ...
817
-
818
- openModal() {
819
- this.modalService.open(ModalComponent, {
820
- color: 'theme',
821
- size: 'md',
822
- action: {
823
- cancel: {
824
- actionColor: 'theme',
825
- actionType: 'tertiary',
826
- label: 'Cancel',
827
- },
828
- confirm: {
829
- action: () => {
830
- console.log('Modal closed!');
831
- },
832
- actionColor: 'theme',
833
- actionType: 'primary',
834
- label: 'Confirm',
835
- },
836
- },
837
- });
838
- }
839
- ```
840
-
841
- ```Typescript
842
- ...
843
-
844
- export class ModalComponent {
845
- @Input() config: MonkeyModalConfig;
846
- @Input() modalRef: MonkeyModalRefs<this>;
847
-
848
- constructor() {}
849
- }
850
- ```
851
-
852
- ---
853
-
854
- ### **Radiobutton**
855
-
856
- ![Radiobutton Demo Screen Shot][radiobutton-screenshot]
857
-
858
- Parameters:
859
-
860
- - **errorMessage** (string) message to alert user
861
- - **helperMessage** (optional)(string) message to help user to know what to do
862
- - **infoMessage** (optional)(string) message to help user knows about this component purpose
863
- - **label** (string) define the label that will be displayed inside
864
- - **placeholder** (optional)(string) message to help user that will be displayed inside the input
865
-
866
- Events:
867
-
868
- - **onChange** event emited when user make changes
869
-
870
- Example:
871
-
872
- `example.module.ts`
873
-
874
- ```Typescript
875
- import { MonkeyRadioButtonModule } from 'monkey-style-guide';
876
-
877
- ...
878
-
879
- @NgModule({
880
- imports: [MonkeyRadioButtonModule]
881
- })
882
- ...
883
- ```
884
-
885
- `example.component.html`
886
-
887
- ```HTML
888
- <monkey-radiobutton
889
- formControlName="gender"
890
- label="Gender"
891
- helperMessage="Mandatory"
892
- icon="help-20"
893
- infoMessage="Info message"
894
- errorMessage="Validation message"
895
- >
896
- <monkey-option label="Female" value="female"></monkey-option>
897
- <monkey-option label="Male" value="male"></monkey-option>
898
- <monkey-option label="I prefer not to choose" value="not_choose"></monkey-option>
899
- </monkey-radiobutton>
900
- ```
901
-
902
- ---
903
-
904
- ### **Select**
905
-
906
- ![Select Demo Screen Shot][select-screenshot]
907
-
908
- Parameters:
909
-
910
- - **errorMessage** (string) message to alert user
911
- - **helperMessage** (optional)(string) message to help user to know what to do
912
- - **icon** (optional)(string) icon name and size separeted by hyfhen
913
- - **infoMessage** (optional)(string) message to help user knows about this component purpose
914
- - **label** (string) define the label that will be displayed inside
915
- - **placeholder** (optional)(string) message to help user that will be displayed inside the input
916
-
917
- Events:
918
-
919
- - **onChange** event emited when user make changes
920
-
921
- Example:
922
-
923
- `example.module.ts`
924
-
925
- ```Typescript
926
- import {
927
- MonkeyOptionModule,
928
- MonkeySelectModule
929
- } from 'monkey-style-guide';
930
-
931
- ...
932
-
933
- @NgModule({
934
- imports: [
935
- MonkeyOptionModule,
936
- MonkeySelectModule
937
- ]
938
- })
939
- ...
940
- ```
941
-
942
- `example.component.html`
943
-
944
- ```HTML
945
- <monkey-select
946
- errorMessage="Validation Message"
947
- formControlName="documentType"
948
- helperMessage="Mandatory"
949
- icon="upload-20"
950
- infoMessage="Info message"
951
- label="Select the document type to upload"
952
- >
953
- <monkey-option label="Personal Document" value="personal_document">
954
- </monkey-option>
955
- <monkey-option label="Social Contract" value="social_contract">
956
- </monkey-option>
957
- <monkey-option label="Procuraction Contract" value="procuration_contract">
958
- </monkey-option>
959
- </monkey-select>
960
- ```
961
-
962
- ---
963
-
964
- ### **Table**
965
-
966
- ![Table Demo Screen Shot][table-screenshot]
967
-
968
- Parameters:
969
-
970
- - **dataSource** (array) the data to be displayed
971
- - **headers** (array) column headers
972
- - **loading** (optional)(boolean) show loading progress
973
- - **rowTemplate** (TemplateRef) the template to show rows
974
- - **selectable** (optional)(boolean) enable row selection
975
-
976
- Events:
977
-
978
- - **selection** returns an array with selected rows
979
-
980
- Example:
981
-
982
- `example.module.ts`
983
-
984
- ```Typescript
985
- import { MonkeyTableModule } from 'monkey-style-guide';
986
-
987
- ...
988
-
989
- @NgModule({
990
- imports: [MonkeyTableModule]
991
- })
992
- ...
993
- ```
994
-
995
- `example.component.ts`
996
-
997
- ```Typecript
998
- _dataSourceHeaders = ['column1', 'column2', 'column3', 'column4'];
999
- _dataSource = [
1000
- [1, 2, 3, 4, 5, 6],
1001
- [5, 6, 7, 8, 9, 10],
1002
- [5, 6, 7, 8, 9, 10],
1003
- [5, 6, 7, 8, 9, 10],
1004
- ];
1005
- ```
1006
-
1007
- `example.component.html`
1008
-
1009
- ```HTML
1010
- <monkey-table
1011
- [dataSource]="_dataSource"
1012
- [headers]="_dataSourceHeaders"
1013
- [loading]="true"
1014
- [rowTemplate]="rowTemplate"
1015
- [selectable]="true"
1016
- (selection)="onHandleSelection($event)"
1017
- >
1018
- <ng-template #rowTemplate let-row="row">
1019
- <monkey-table-column>{{ row[0] }}</monkey-table-column>
1020
- <monkey-table-column>{{ row[1] }}</monkey-table-column>
1021
- <monkey-table-column>{{ row[2] }}</monkey-table-column>
1022
- <monkey-table-column>{{ row[3] }}</monkey-table-column>
1023
- </ng-template>
1024
- </monkey-table>
1025
- ```
1026
-
1027
- ---
1028
-
1029
- ### **Toggle**
1030
-
1031
- ![Toggle Demo Screen Shot][toggle-screenshot]
1032
-
1033
- Parameters:
1034
-
1035
- - **value** (boolean)(default: false)
1036
- - **disabled** (boolean)(default: false) to disable any action
1037
-
1038
- Events:
1039
-
1040
- - **onChange** event emited when user make changes
1041
-
1042
- Example:
1043
-
1044
- `example.module.ts`
1045
-
1046
- ```Typescript
1047
- import { MonkeyToggleModule } from 'monkey-style-guide';
1048
-
1049
- ...
1050
-
1051
- @NgModule({
1052
- imports: [MonkeyToggleModule]
1053
- })
1054
- ...
1055
- ```
1056
-
1057
- `example.component.html`
1058
-
1059
- ```HTML
1060
- <monkey-toggle [value]="_form?.get('smsNotification').value"
1061
- (onChange)="onHandleToggleSMS($event)">
1062
- </monkey-toggle>
1063
- ```
1064
-
1065
- ## Prerequisites
1066
-
1067
- The main feature of this project is to allow changing the application theme, such as primary colors and error colors.
1068
- For this, it is necessary to have a file called monkey-style-guide-settings.json at the root of your project's assets folder.
1069
-
1070
- For example:
1071
-
1072
- ![Settings Json Screen Shot][settings-screenshot]
1073
-
1074
- Content of monkey-style-guide-settings.json:
1075
-
1076
- ```JSON
1077
- {
1078
- "theme": {
1079
- "title": "Monkey Exchange",
1080
- "favicon": "assets/favicon.svg"
1081
- },
1082
- "colors": {
1083
- "theme": {
1084
- "main": "#034EA2",
1085
- "100": "#F5FAFF",
1086
- "200": "#D7EAFE",
1087
- "300": "#A5CFFE",
1088
- "400": "#72B4FD",
1089
- "500": "#4099FC",
1090
- "600": "#0F7EFB",
1091
- "700": "#0465D2",
1092
- "800": "#023064",
1093
- "900": "#023064",
1094
- "contrast": {
1095
- "main": "white",
1096
- "100": "rgba(black, 0.87)",
1097
- "200": "white",
1098
- "300": "white",
1099
- "400": "white",
1100
- "500": "white",
1101
- "600": "white",
1102
- "700": "white",
1103
- "800": "white",
1104
- "900": "white"
1105
- }
1106
- },
1107
- "error": {
1108
- "main": "#e70c0c",
1109
- "100": "#fbb5b5",
1110
- "200": "#f87f7f",
1111
- "300": "#f53b3b",
1112
- "400": "#f31e1e",
1113
- "500": "#e70c0c",
1114
- "600": "#ca0a0a",
1115
- "700": "#ad0909",
1116
- "800": "#900707",
1117
- "900": "#730606",
1118
- "contrast": {
1119
- "main": "white",
1120
- "100": "rgba(black, 0.87)",
1121
- "200": "rgba(black, 0.87)",
1122
- "300": "white",
1123
- "400": "white",
1124
- "500": "white",
1125
- "600": "white",
1126
- "700": "white",
1127
- "800": "white",
1128
- "900": "white"
1129
- }
1130
- },
1131
- "warning": {
1132
- "main": "#efa30e",
1133
- "100": "#fbe7be",
1134
- "200": "#f8d389",
1135
- "300": "#f4b946",
1136
- "400": "#f2ae29",
1137
- "500": "#efa30e",
1138
- "600": "#d28f0c",
1139
- "700": "#b57c0b",
1140
- "800": "#986809",
1141
- "900": "#7b5407",
1142
- "contrast": {
1143
- "main": "rgba(black, 0.87)",
1144
- "100": "rgba(black, 0.87)",
1145
- "200": "rgba(black, 0.87)",
1146
- "300": "rgba(black, 0.87)",
1147
- "400": "rgba(black, 0.87)",
1148
- "500": "rgba(black, 0.87)",
1149
- "600": "rgba(black, 0.87)",
1150
- "700": "rgba(black, 0.87)",
1151
- "800": "white",
1152
- "900": "white"
1153
- }
1154
- },
1155
- "success": {
1156
- "main": "#00875a",
1157
- "100": "#45ffc1",
1158
- "200": "#0dffae",
1159
- "300": "#00c483",
1160
- "400": "#00a66e",
1161
- "500": "#00875a",
1162
- "600": "#006846",
1163
- "700": "#004a31",
1164
- "800": "#002b1d",
1165
- "900": "#000d08",
1166
- "contrast": {
1167
- "main": "white",
1168
- "100": "rgba(black, 0.87)",
1169
- "200": "rgba(black, 0.87)",
1170
- "300": "rgba(black, 0.87)",
1171
- "400": "white",
1172
- "500": "white",
1173
- "600": "white",
1174
- "700": "white",
1175
- "800": "white",
1176
- "900": "white"
1177
- }
1178
- },
1179
- "question": {
1180
- "main": "#8D38FA",
1181
- "100": "#F4EBFF",
1182
- "200": "#E8D7FE",
1183
- "300": "#D2AFFD",
1184
- "400": "#A460FB",
1185
- "500": "#8D38FA",
1186
- "600": "#7710F9",
1187
- "700": "#5104B3",
1188
- "800": "#2D0264",
1189
- "900": "#1B013C",
1190
- "contrast": {
1191
- "main": "white",
1192
- "100": "rgba(black, 0.87)",
1193
- "200": "rgba(black, 0.87)",
1194
- "300": "rgba(black, 0.87)",
1195
- "400": "white",
1196
- "500": "white",
1197
- "600": "white",
1198
- "700": "white",
1199
- "800": "white",
1200
- "900": "white"
1201
- }
1202
- }
1203
- }
1204
- }
1205
- ```
1206
-
1207
- ## Installation
1208
-
1209
- 1. Install NPM packages:
1210
-
1211
- ```sh
1212
- npm install monkey-style-guide
1213
- ```
1214
-
1215
- ## Usage
1216
-
1217
- Import `monkey-style-guide` in your `style.scss`
1218
-
1219
- ```scss
1220
- @import '~monkey-style-guide/assets/scss/theme';
1221
- ```
1222
-
1223
- Import `MonkeyStyleGuideModule` in your `app.module.ts`
1224
-
1225
- ```Typescript
1226
- import { MonkeyStyleGuideModule } from 'monkey-style-guide';
1227
-
1228
- @NgModule({
1229
- declarations: [AppComponent],
1230
- imports: [MonkeyStyleGuideModule],
1231
- bootstrap: [AppComponent],
1232
- })
1233
- export class AppModule {}
1234
- ```
1235
-
1236
- Than call the `bootstrap` method in your `app.component.ts`
1237
-
1238
- ```Typescript
1239
- import { Component } from '@angular/core';
1240
- import { MonkeyStyleGuideSettingsService } from 'monkey-style-guide';
1241
-
1242
- @Component({
1243
- selector: 'app-root',
1244
- templateUrl: './app.component.html',
1245
- styleUrls: ['./app.component.scss'],
1246
- })
1247
- export class AppComponent {
1248
- constructor(private settingsService: MonkeyStyleGuideSettingsService) {
1249
- this.settingsService.bootstrap('');
1250
- }
1251
- }
1252
- ```
1253
-
1254
- <!-- MARKDOWN LINKS & IMAGES -->
1255
- <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
1256
-
1257
- [badge-screenshot]: https://user-images.githubusercontent.com/10110065/111625441-9e5df280-87cb-11eb-905c-008607cf859e.png
1258
- [button-avatar-screenshot]: https://user-images.githubusercontent.com/10110065/111626956-50e28500-87cd-11eb-85c1-aaa8c06bb4e0.png
1259
- [button-dropdown-screenshot1]: https://user-images.githubusercontent.com/10110065/111631407-1e875680-87d2-11eb-9631-d1d2ccf8f076.png
1260
- [button-dropdown-screenshot2]: https://user-images.githubusercontent.com/10110065/111631726-82118400-87d2-11eb-9653-4502c3d82d51.png
1261
- [buttons-screenshot]: https://user-images.githubusercontent.com/10110065/142933460-7a84ad76-b57f-40a0-b809-292af31c1e8f.png
1262
- [checkbox-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/checkbox.png
1263
- [contributors-shield]: https://img.shields.io/badge/Contributors-2-brightgreen?style=flat
1264
- [contributors-url]: https://github.com/MonkeyECX/monkey-style-guide/graphs/contributors
1265
- [date-range-picker]: https://user-images.githubusercontent.com/12416871/146080473-8543b9ae-7186-42ee-8ec8-bfd1eef09df6.png
1266
- [expansion-screenshot1]: https://user-images.githubusercontent.com/10110065/111636157-f8b08080-87d6-11eb-86ab-86839297d068.png
1267
- [expansion-screenshot2]: https://user-images.githubusercontent.com/10110065/111636340-24336b00-87d7-11eb-9f19-504ab96cc9af.png
1268
- [file-upload-screenshot1]: https://user-images.githubusercontent.com/10110065/111640018-8b065380-87da-11eb-8d47-87ddea29b943.png
1269
- [icons-screenshot1]: https://github.com/MonkeyECX/monkey-style-guide/assets/12416871/a71f2dcf-b9d2-4868-9868-9ac798ffe28a
1270
- [input-filter-screenshot]: https://user-images.githubusercontent.com/32619691/163216159-3a9f985e-3ba9-4e10-8ba4-0f60931f83d1.png
1271
- [input-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/input.png
1272
- [license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=flat-square
1273
- [license-url]: https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt
1274
- [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=157
1275
- [linkedin-url]: https://www.linkedin.com/company/monkeyexchange
1276
- [modal-screenshot]: https://user-images.githubusercontent.com/12416871/119838920-2c480f00-beda-11eb-9e44-e42262f39c34.png
1277
- [radiobutton-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/radiobutton.png
1278
- [select-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/select.png
1279
- [settings-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/style-settings-json.png
1280
- [table-screenshot]: https://user-images.githubusercontent.com/12416871/119574643-29d79f00-bd8c-11eb-9747-2e6dc86410da.png
1281
- [toggle-screenshot]: https://user-images.githubusercontent.com/12416871/119849813-53570e80-bee3-11eb-87f8-0871f8e26f58.png
1
+ [![Contributors][contributors-shield]][contributors-url]
2
+ [![MIT License][license-shield]][license-url]
3
+ [![LinkedIn][linkedin-shield]][linkedin-url]
4
+
5
+ <br />
6
+ <p align="center">
7
+ <a href="https:monkey.exchange">
8
+ <img src="https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/logo.png" alt="Monkey Logo" width="80" height="80">
9
+ </a>
10
+ <h3 align="center">Monkey Style Guide</h3>
11
+ <p align="center">
12
+ An style guide template to boost your projects.
13
+ <br />
14
+ <br />
15
+ <a href="https://www.monkey.exchange/who-we-are.html">Who We Are?</a>
16
+ </p>
17
+ </p>
18
+
19
+ ## About The Project
20
+
21
+ This project was defined to be the main guide to styles, colors and html components of the entire ecosystem of Monkey Exchange systems.
22
+
23
+ This style guide contains a concept to work with a range of different colors, making possible to create beautiful and useful html components.
24
+
25
+ ## Components
26
+
27
+ All components was developed to work with angular reactive forms, so we need to define a formGroup and set the formControlName, and the components will do the rest of the job to fill all fields properly.
28
+ First developed on Angular 10, this color guide contains the following components:
29
+
30
+ ---
31
+
32
+ ### **Badge**
33
+
34
+ ![Badge Demo Screen Shot][badge-screenshot]
35
+
36
+ Parameters:
37
+
38
+ - **count** (string) is used to define the content of badge.
39
+ - **pulseOn** (boolean)(default: false) is used to define if badge has to pulse like a bell.
40
+
41
+ Example:
42
+
43
+ `example.module.ts`
44
+
45
+ ```Typescript
46
+ import { MonkeyBadgeModule } from 'monkey-style-guide';
47
+
48
+ ...
49
+
50
+ @NgModule({
51
+ imports: [MonkeyBadgeModule]
52
+ })
53
+ ...
54
+ ```
55
+
56
+ `example.component.html`
57
+
58
+ ```HTML
59
+ <monkey-badge count="3" [pulseOn]="true"></monkey-badge>
60
+ ```
61
+
62
+ ---
63
+
64
+ ### **Button**
65
+
66
+ ![Button Demo Screen Shot][buttons-screenshot]
67
+
68
+ Parameters:
69
+
70
+ - **color** (string) can be _theme_, _error_, _warning_ or _success_
71
+ - **disabled** (boolean)(default: false) to disable any action
72
+ - **icon** (optional)(string) define the icon for button
73
+ - **iconPoition** (string)(default: 'left') define the icon position. Can be _left_ or _right_
74
+ - **label** (string) define the label that will be displayed inside the button
75
+ - **type** (string) can be _primary_, _secondary_, _tertiary_
76
+
77
+ Example:
78
+
79
+ `example.module.ts`
80
+
81
+ ```Typescript
82
+ import { MonkeyButtonModule } from 'monkey-style-guide';
83
+
84
+ ...
85
+
86
+ @NgModule({
87
+ imports: [MonkeyButtonModule]
88
+ })
89
+ ...
90
+ ```
91
+
92
+ `example.component.html`
93
+
94
+ ```HTML
95
+ <monkey-button color="theme" label="Primary" type="primary"></monkey-button>
96
+ <monkey-button color="error" label="Secondary" type="secondary"></monkey-button>
97
+ <monkey-button color="warning" label="Tertiary" type="tertiary"></monkey-button>
98
+ ```
99
+
100
+ ---
101
+
102
+ There are other variations with buttons:
103
+
104
+ ### **Button Avatar**
105
+
106
+ ![Button Avatar Demo Screen Shot][button-avatar-screenshot]
107
+
108
+ Parameters:
109
+
110
+ - **label** (string) define the label that will be displayed inside the button
111
+ - **size** (string) define the size of the button
112
+ - **type** (string) can be _theme_, _theme-100_ or _none_
113
+
114
+ Example:
115
+
116
+ `example.component.html`
117
+
118
+ ```HTML
119
+ <monkey-button-avatar label="Amilson" size="sm" type="theme"></monkey-button-avatar>
120
+ ```
121
+
122
+ ### **Button Dropdown**
123
+
124
+ ![Button Dropdown Demo Screen Shot][button-dropdown-screenshot1]
125
+
126
+ ![Button Dropdown Demo Screen Shot][button-dropdown-screenshot2]
127
+
128
+ Parameters:
129
+
130
+ - **label** (ng-template) the label that will be displayed inside the button. For this particular component, label has be a ng-template.
131
+ - **listenClicks** (boolean)(default: true) can be used to define if the dropdown will be closed with clicks inside
132
+ - **type** (string)(default: 'filled') can be _unfilled_ or _filled_
133
+
134
+ Example:
135
+
136
+ `example.component.html`
137
+
138
+ ```HTML
139
+ <monkey-button-dropdown [label]="profileButton">
140
+ <div class="mt-2">
141
+ <monkey-button
142
+ color="theme"
143
+ label="Profile"
144
+ type="tertiary"
145
+ [routerLink]="'/app/user/profile/edit'"
146
+ >
147
+ </monkey-button>
148
+ </div>
149
+ <div class="mt-2">
150
+ <monkey-button color="theme" label="Logout" type="tertiary"></monkey-button>
151
+ </div>
152
+ </monkey-button-dropdown>
153
+
154
+ <ng-template #profileButton>
155
+ <monkey-button-avatar label="Monkey" size="sm" type="theme"></monkey-button-avatar>
156
+ </ng-template>
157
+ ```
158
+
159
+ ---
160
+
161
+ ### **Checkbox**
162
+
163
+ ![Checkbox Demo Screen Shot][checkbox-screenshot]
164
+
165
+ Parameters:
166
+
167
+ - **description** (optional)(string) description to be displayed by side of the checkbox
168
+ - **errorMessage** (string) message to alert user
169
+ - **helperMessage** (optional)(string) can be used with type single, for formfield purpose
170
+ - **infoMessage** (optional)(string) message to help user knows about this component purpose
171
+ - **label** (string) define the label that will be displayed inside
172
+ - **type** (string)(default: 'single') can be _single_ or _multiple_. Will be used to render checkbox with formfield body or not.
173
+
174
+ Events:
175
+
176
+ - **onChange** event emited when user make changes
177
+
178
+ Example:
179
+
180
+ `example.module.ts`
181
+
182
+ ```Typescript
183
+ import { MonkeyCheckboxModule } from 'monkey-style-guide';
184
+
185
+ ...
186
+
187
+ @NgModule({
188
+ imports: [MonkeyCheckboxModule]
189
+ })
190
+ ...
191
+ ```
192
+
193
+ `example.component.html`
194
+
195
+ ```HTML
196
+ <monkey-checkbox
197
+ description="I Agree to Terms"
198
+ errorMessage="Validation Message"
199
+ formControlName="terms"
200
+ helperMessage="Mandatory"
201
+ infoMessage="Info message"
202
+ label="Terms and Conditions"
203
+ type="single">
204
+ </monkey-checkbox>
205
+ ```
206
+
207
+ ---
208
+
209
+ ### **Date Range Picker**
210
+
211
+ ![Date Range Picker Demo Screen Shot][date-range-picker]
212
+
213
+ Parameters:
214
+
215
+ - **errorMessage** (string) message to alert user
216
+ - **helperMessage** (optional)(string) can be used with type single, for formfield purpose
217
+ - **infoMessage** (optional)(string) message to help user knows about this component purpose
218
+ - **label** (string) define the label that will be displayed inside
219
+ - **i18n** (Object) an i18n object (see example)
220
+
221
+ Events:
222
+
223
+ - **onChange** event emited when user select a range of dates or when clicked on some action
224
+
225
+ Example:
226
+
227
+ `example.module.ts`
228
+
229
+ ```Typescript
230
+ import { MonkeyDateRangePicker } from 'monkey-style-guide';
231
+
232
+ ...
233
+
234
+ @NgModule({
235
+ imports: [MonkeyDateRangePicker]
236
+ })
237
+ ...
238
+ ```
239
+
240
+ `example.component.html`
241
+
242
+ ```HTML
243
+ <monkey-date-range-picker
244
+ errorMessage="Error Message"
245
+ helperMessage="Helper Message"
246
+ infoMessage="Info Message"
247
+ label="Label"
248
+ [i18n]="i18n">
249
+ </monkey-date-range-picker>
250
+ ```
251
+
252
+ `example.component.ts`
253
+
254
+ ```Typescript
255
+ ...
256
+ i18n = {
257
+ months: {
258
+ '1': 'January',
259
+ '2': 'Febuary',
260
+ '3': 'March',
261
+ '4': 'April',
262
+ '5': 'May',
263
+ '6': 'June',
264
+ '7': 'July',
265
+ '8': 'August',
266
+ '9': 'September',
267
+ '10': 'October',
268
+ '11': 'November',
269
+ '12': 'December'
270
+ },
271
+ days: {
272
+ '1': 'Sun.',
273
+ '2': 'Mon.',
274
+ '3': 'Tue.',
275
+ '4': 'Wed.',
276
+ '5': 'Thu.',
277
+ '6': 'Fri.',
278
+ '7': 'Sat.'
279
+ },
280
+ actions: {
281
+ '30': '30 days',
282
+ '60': '60 days',
283
+ '90': '90 days'
284
+ },
285
+ today: 'Today'
286
+ };
287
+ ...
288
+ ```
289
+
290
+ ---
291
+
292
+ ### **Expansion**
293
+
294
+ ![Expansion Demo Screen Shot][expansion-screenshot1]
295
+
296
+ ![Expansion Demo Screen Shot][expansion-screenshot2]
297
+
298
+ Parameters:
299
+
300
+ - **color** (string) can be _theme_, _error_, _warning_ or _success_
301
+ - **disabled** (boolean)(default: false) to disable any action
302
+ - **helperMessage** (optional)(string) can be used with type single, for formfield purpose
303
+ - **label** (string) define the label that will be displayed inside
304
+ - **open** (boolean)(default: false) make expansion open or not
305
+
306
+ Events:
307
+
308
+ - **onChange** event emited when user make changes
309
+
310
+ Example:
311
+
312
+ `example.module.ts`
313
+
314
+ ```Typescript
315
+ import { MonkeyExpansionModule } from 'monkey-style-guide';
316
+
317
+ ...
318
+
319
+ @NgModule({
320
+ imports: [MonkeyExpansionModule]
321
+ })
322
+ ...
323
+ ```
324
+
325
+ `example.component.html`
326
+
327
+ ```HTML
328
+ <monkey-expansion
329
+ color="theme"
330
+ label="Expansion"
331
+ [helperMessage]="'helperMessage'"
332
+ >
333
+ <div>Content 1</div>
334
+ <div>Content 2</div>
335
+ </monkey-expansion>
336
+ ```
337
+
338
+ ---
339
+
340
+ ### **File Upload**
341
+
342
+ ![File Upload Demo Screen Shot][file-upload-screenshot1]
343
+
344
+ Parameters:
345
+
346
+ - **allowedExtensions** (array of string) for example ['.jpg', '.jpeg', '.png']
347
+ - **allowedExtensionErrorMessage** (string) message to be displayed if the file extension is wrong
348
+ - **errorMessage** (string) message to alert user
349
+ - **fileUpload** (function) function to be used to upload file
350
+ - **helperMessage** (optional)(string) message to help user to know what to do
351
+ - **infoMessage** (optional)(string) required message
352
+ - **label** (string) define the label that will be displayed inside
353
+ - **listenFiles** (boolean)(default: false) if true, emit event to onHandleFilesReady with the selected file
354
+ - **maxSize** (number) max file size in kbytes (1 \* 1024 \* 1024)
355
+ - **maxSizeErrorMessage** (string) message to be displayed if the file size is wrong
356
+ - **name** (string) name to identify the input
357
+ - **placeholder** (optional)(string) message to help user that will be displayed inside the input
358
+ - **uploadOngoingMessage** (string) message to be used when upload starts
359
+
360
+ Events:
361
+
362
+ - **onChange** event emited when user make changes
363
+ - **onHandleFilesReady** event emited when listenFiled is true
364
+
365
+ Example:
366
+
367
+ `example.module.ts`
368
+
369
+ ```Typescript
370
+ import { MonkeyFileUploadModule } from 'monkey-style-guide';
371
+
372
+ ...
373
+
374
+ @NgModule({
375
+ imports: [MonkeyFileUploadModule]
376
+ })
377
+ ...
378
+ ```
379
+
380
+ `example.component.ts`
381
+
382
+ ```Typescript
383
+ ...
384
+
385
+ uploadFunction: Function = (file: any, callback?: Function) => {
386
+ this.uploadService.uploadFile(file, callback);
387
+ };
388
+
389
+ service.uploadFile(file: File, callback?: Function) {
390
+ const { httpClient, headers } = this;
391
+ const formData = new FormData();
392
+ formData.append('file', file);
393
+
394
+ httpClient.post<any>('endpoint/upload', formData, {
395
+ headers,
396
+ reportProgress: true,
397
+ observe: 'events'
398
+ }).subscribe((event: any) => {
399
+ const { loaded, total, body } = event;
400
+ switch (event.type) {
401
+ case HttpEventType.UploadProgress:
402
+ const progress = Math.round((loaded / total * 100));
403
+ if (callback) callback(progress);
404
+ break;
405
+ case HttpEventType.Response:
406
+ const { filename, _links: { file: { href } } } = body;
407
+ if (callback) {
408
+ callback(null, {
409
+ fileName: filename,
410
+ url: href
411
+ }, null);
412
+ }
413
+ break;
414
+ default:
415
+ break;
416
+ }
417
+ }, (err: HttpErrorResponse) => {
418
+ const { error } = err;
419
+ callback(null, error?.notifications?.join(''));
420
+ });
421
+ }
422
+ ```
423
+
424
+ `example.component.html`
425
+
426
+ ```HTML
427
+ <monkey-file-upload
428
+ allowedExtensionErrorMessage="Extension not allowed"
429
+ icon="upload-20"
430
+ label="upload"
431
+ maxSize="5242880"
432
+ maxSizeErrorMessage="Max file size is 5mb"
433
+ placeholder="Add File"
434
+ [fileUpload]="uploadFunction"
435
+ ></monkey-file-upload>
436
+ ```
437
+
438
+ ---
439
+
440
+ ### **Icon**
441
+
442
+ ![Icons Demo Screen Shot][icons-screenshot1]
443
+
444
+ Parameters:
445
+
446
+ - **color** (string) define color. Can be _theme_ or _#ffffff_ (hex value)
447
+ - **icon** (string) icon name and size separeted by hyfhen
448
+
449
+ Icons Options:
450
+
451
+ - **add-plus**
452
+ - **address-book**
453
+ - **arrow-down**
454
+ - **arrow-left**
455
+ - **arrow-line-right**
456
+ - **arrow-right**
457
+ - **arrow-up**
458
+ - **arrows**
459
+ - **auction**
460
+ - **average-tax**
461
+ - **bank-account**
462
+ - **bank-agency**
463
+ - **bank**
464
+ - **banknote-search**
465
+ - **bell**
466
+ - **block**
467
+ - **book-open-text**
468
+ - **book**
469
+ - **box**
470
+ - **build-approved**
471
+ - **build-person**
472
+ - **build-refused**
473
+ - **build-waiting**
474
+ - **calendar**
475
+ - **calendar-box**
476
+ - **camera**
477
+ - **card-machine**
478
+ - **card**
479
+ - **cash-banknote-invoice**
480
+ - **chat**
481
+ - **check-circle-out**
482
+ - **check-circle**
483
+ - **check-grey**
484
+ - **check-white**
485
+ - **check**
486
+ - **clipboard**
487
+ - **clock-closed**
488
+ - **clock**
489
+ - **close-circle**
490
+ - **close**
491
+ - **cnpj**
492
+ - **codepen**
493
+ - **company-name**
494
+ - **contract-pen**
495
+ - **contract**
496
+ - **delete**
497
+ - **document**
498
+ - **dollar-sign-circle**
499
+ - **dollar-sign**
500
+ - **domain**
501
+ - **dots-menu**
502
+ - **double-arrow-left**
503
+ - **double-arrow-right**
504
+ - **download**
505
+ - **drag-drop**
506
+ - **edit-square**
507
+ - **edit**
508
+ - **email-send-fast**
509
+ - **email**
510
+ - **empty-doc**
511
+ - **error**
512
+ - **eye-closed**
513
+ - **eye-open**
514
+ - **filter-add**
515
+ - **filter**
516
+ - **grid**
517
+ - **hands-clap**
518
+ - **help**
519
+ - **hexagon**
520
+ - **home**
521
+ - **image**
522
+ - **info**
523
+ - **invoice**
524
+ - **invoices-anticipated**
525
+ - **invoices-approval**
526
+ - **invoices-refused**
527
+ - **lighting-circle**
528
+ - **list**
529
+ - **location-pin**
530
+ - **login**
531
+ - **logout**
532
+ - **mail-box-upload**
533
+ - **mail-letter-fast-circle**
534
+ - **mail-open-document**
535
+ - **medal**
536
+ - **menu**
537
+ - **money-cedule**
538
+ - **money-discount**
539
+ - **money-hand**
540
+ - **money-net**
541
+ - **money-new**
542
+ - **money-percent**
543
+ - **money-refused**
544
+ - **money-sign**
545
+ - **money**
546
+ - **money-waiting**
547
+ - **more-circle**
548
+ - **more**
549
+ - **new-company**
550
+ - **offered**
551
+ - **open-external**
552
+ - **password**
553
+ - **people**
554
+ - **percent**
555
+ - **percent-box**
556
+ - **person-document**
557
+ - **person-sad**
558
+ - **phone-call**
559
+ - **phone**
560
+ - **pin-navigation**
561
+ - **pork**
562
+ - **radio**
563
+ - **refresh**
564
+ - **registration**
565
+ - **repeat**
566
+ - **search**
567
+ - **second-warning**
568
+ - **settings**
569
+ - **shield-chekmark**
570
+ - **star-shining**
571
+ - **star**
572
+ - **store**
573
+ - **target-dart-arrow**
574
+ - **today**
575
+ - **trash**
576
+ - **trophy**
577
+ - **unfold-more**
578
+ - **upload**
579
+ - **user-group**
580
+ - **user**
581
+ - **wallet**
582
+ - **warning**
583
+
584
+ Example:
585
+
586
+ `example.module.ts`
587
+
588
+ ```Typescript
589
+ import { MonkeyIconModule } from 'monkey-style-guide';
590
+
591
+ ...
592
+
593
+ @NgModule({
594
+ imports: [MonkeyIconModule]
595
+ })
596
+ ...
597
+ ```
598
+
599
+ `example.component.html`
600
+
601
+ ```HTML
602
+ <monkey-icon color="#000000" icon="password-16"></monkey-icon>
603
+ ```
604
+
605
+ ---
606
+
607
+ ### **Input**
608
+
609
+ ![Input Demo Screen Shot][input-screenshot]
610
+
611
+ Parameters:
612
+
613
+ - **capitalize** (optional)(boolean) makes the value capitalcase
614
+ - **currency** (optional)(boolean) transforms the input in currency input
615
+ - **errorMessage** (string) message to alert user
616
+ - **helperMessage** (optional)(string) message to help user to know what to do
617
+ - **icon** (optional)(string) icon name and size separeted by hyfhen
618
+ - **infoMessage** (optional)(string) message to help user knows about this component purpose
619
+ - **label** (string) define the label that will be displayed inside
620
+ - **lowerCase** (optional)(boolean) makes the value lowercase
621
+ - **mask** (optional)(string) mask pattern to mask the input
622
+ - **maxLength** (optional)(number) max 255
623
+ - **name** (optional)(string) name to identify the input
624
+ - **onlyNumber** (optional)(boolean) makes the input accept only number
625
+ - **onlyAlphaNumeric** (optional)(boolean) makes the input accept only alphanumeric characters
626
+ - **placeholder** (optional)(string) message to help user that will be displayed inside the input
627
+ - **prefix** (optional)(string) prefix value for input
628
+ - **type** (string) can be _text_ or _password_
629
+ - **upperCase** (optional)(boolean) makes the value uppercase
630
+
631
+ Events:
632
+
633
+ - **onChange** event emited when user make changes
634
+
635
+ Example:
636
+
637
+ `example.module.ts`
638
+
639
+ ```Typescript
640
+ import { MonkeyInputModule } from 'monkey-style-guide';
641
+
642
+ ...
643
+
644
+ @NgModule({
645
+ imports: [MonkeyInputModule]
646
+ })
647
+ ...
648
+ ```
649
+
650
+ `example.component.html`
651
+
652
+ ```HTML
653
+ <monkey-input
654
+ errorMessage="Validation Message"
655
+ formControlName="name"
656
+ helperMessage="Mandatory"
657
+ icon="user-20"
658
+ infoMessage="Info message"
659
+ label="Name"
660
+ placeholder="Input your full name">
661
+ </monkey-input>
662
+ ```
663
+
664
+ ---
665
+
666
+ ### **Input Filter**
667
+
668
+ ![Input Filter Demo Screen Shot][input-filter-screenshot]
669
+
670
+ Parameters:
671
+
672
+ - **helperMessage** (optional)(string) message to help user to know what to do
673
+ - **icon** (optional)(string) icon name and size separeted by hyfhen
674
+ - **infoMessage** (optional)(string) message to help user knows about this component purpose
675
+ - **label** (string) define the label that will be displayed inside
676
+ - **maxLength** (optional)(number) max 255
677
+ - **name** (optional)(string) name to identify the input
678
+ - **placeholder** (optional)(string) message to help user that will be displayed inside the input
679
+
680
+ Events:
681
+
682
+ - **onChange** event emited when user make changes
683
+
684
+ Example:
685
+
686
+ `example.module.ts`
687
+
688
+ ```Typescript
689
+ import { MonkeyInputModule } from 'monkey-style-guide';
690
+
691
+ ...
692
+
693
+ @NgModule({
694
+ imports: [MonkeyInputModule]
695
+ })
696
+ ...
697
+ ```
698
+
699
+ `example.component.html`
700
+
701
+ ```HTML
702
+ <monkey-input-filter
703
+ formControlName="name"
704
+ helperMessage="Mandatory"
705
+ icon="user-20"
706
+ infoMessage="Info message"
707
+ label="Name"
708
+ placeholder="Input your full name">
709
+ </monkey-input-filter>
710
+ ```
711
+
712
+ ---
713
+
714
+ ### **Modal**
715
+
716
+ ![Modal Demo Screen Shot][modal-screenshot]
717
+
718
+ Parameters:
719
+
720
+ - **config** (MonkeyModalConfig) the configuration of modal
721
+ - **modalRef** (MonkeyModalRefs) the modal reference
722
+ - **onHandleConfirm** (EventEmitter) will emit and event when you click confirm
723
+
724
+ Example:
725
+
726
+ `example.module.ts`
727
+
728
+ ```Typescript
729
+ import {
730
+ MonkeyModalModule,
731
+ MonkeyStyleGuideModalService
732
+ } from 'monkey-style-guide';
733
+
734
+ ...
735
+
736
+ @NgModule({
737
+ imports: [MonkeyModalModule],
738
+ providers: [MonkeyStyleGuideModalService]
739
+ })
740
+ ...
741
+ ```
742
+
743
+ `parent.component.ts`
744
+
745
+ ```Typescript
746
+ ...
747
+ import { MonkeyStyleGuideModalService } from 'monkey-style-guide';
748
+ import { ModalComponent } from './modal/modal.component';
749
+
750
+ ...
751
+
752
+ constructor(private modalService: MonkeyStyleGuideModalService) {}
753
+
754
+ openModal() {
755
+ this.modalService.open(ModalComponent, {
756
+ color: 'theme',
757
+ size: 'md',
758
+ action: {
759
+ cancel: {
760
+ actionColor: 'theme',
761
+ actionType: 'tertiary',
762
+ label: 'Cancel',
763
+ },
764
+ confirm: {
765
+ actionColor: 'theme',
766
+ actionType: 'primary',
767
+ label: 'Confirm',
768
+ },
769
+ },
770
+ });
771
+ }
772
+ ```
773
+
774
+ `modal.component.ts`
775
+
776
+ ```Typescript
777
+ import { Component, EventEmitter, Input } from '@angular/core';
778
+ import {
779
+ MonkeyModalConfig,
780
+ MonkeyModalRefs,
781
+ MonkeyStyleGuideModalService
782
+ } from 'monkey-style-guide';
783
+
784
+ @Component({
785
+ selector: 'mk-modal',
786
+ template: `
787
+ <monkey-modal
788
+ [config]="config"
789
+ [modalRef]="modalRef"
790
+ [onHandleConfirm]="onHandleConfirm"
791
+ >
792
+ <div style="align-items: center; display: flex; justify-content: center;">
793
+ <img
794
+ src="https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/logo.png"
795
+ />
796
+ </div>
797
+ </monkey-modal>
798
+ `,
799
+ })
800
+ export class ModalComponent {
801
+ @Input() config: MonkeyModalConfig;
802
+ @Input() modalRef: MonkeyModalRefs<this>;
803
+ @Input() onHandleConfirm = new EventEmitter<any>();
804
+
805
+ constructor(private modalService: MonkeyStyleGuideModalService) {
806
+ this.onHandleConfirm.subscribe(() => {
807
+ console.log('Confirm clicked!');
808
+
809
+ this.modalService.closeAll();
810
+ });
811
+ }
812
+ }
813
+ ```
814
+
815
+ In case you need the logic in your parent component you can simply pass the `action` key to `MonkeyModalConfig` and remove `onHandleConfirm` of your modal component like this:
816
+
817
+ ```Typescript
818
+ ...
819
+
820
+ openModal() {
821
+ this.modalService.open(ModalComponent, {
822
+ color: 'theme',
823
+ size: 'md',
824
+ action: {
825
+ cancel: {
826
+ actionColor: 'theme',
827
+ actionType: 'tertiary',
828
+ label: 'Cancel',
829
+ },
830
+ confirm: {
831
+ action: () => {
832
+ console.log('Modal closed!');
833
+ },
834
+ actionColor: 'theme',
835
+ actionType: 'primary',
836
+ label: 'Confirm',
837
+ },
838
+ },
839
+ });
840
+ }
841
+ ```
842
+
843
+ ```Typescript
844
+ ...
845
+
846
+ export class ModalComponent {
847
+ @Input() config: MonkeyModalConfig;
848
+ @Input() modalRef: MonkeyModalRefs<this>;
849
+
850
+ constructor() {}
851
+ }
852
+ ```
853
+
854
+ ---
855
+
856
+ ### **Radiobutton**
857
+
858
+ ![Radiobutton Demo Screen Shot][radiobutton-screenshot]
859
+
860
+ Parameters:
861
+
862
+ - **errorMessage** (string) message to alert user
863
+ - **helperMessage** (optional)(string) message to help user to know what to do
864
+ - **infoMessage** (optional)(string) message to help user knows about this component purpose
865
+ - **label** (string) define the label that will be displayed inside
866
+ - **placeholder** (optional)(string) message to help user that will be displayed inside the input
867
+
868
+ Events:
869
+
870
+ - **onChange** event emited when user make changes
871
+
872
+ Example:
873
+
874
+ `example.module.ts`
875
+
876
+ ```Typescript
877
+ import { MonkeyRadioButtonModule } from 'monkey-style-guide';
878
+
879
+ ...
880
+
881
+ @NgModule({
882
+ imports: [MonkeyRadioButtonModule]
883
+ })
884
+ ...
885
+ ```
886
+
887
+ `example.component.html`
888
+
889
+ ```HTML
890
+ <monkey-radiobutton
891
+ formControlName="gender"
892
+ label="Gender"
893
+ helperMessage="Mandatory"
894
+ icon="help-20"
895
+ infoMessage="Info message"
896
+ errorMessage="Validation message"
897
+ >
898
+ <monkey-option label="Female" value="female"></monkey-option>
899
+ <monkey-option label="Male" value="male"></monkey-option>
900
+ <monkey-option label="I prefer not to choose" value="not_choose"></monkey-option>
901
+ </monkey-radiobutton>
902
+ ```
903
+
904
+ ---
905
+
906
+ ### **Select**
907
+
908
+ ![Select Demo Screen Shot][select-screenshot]
909
+
910
+ Parameters:
911
+
912
+ - **errorMessage** (string) message to alert user
913
+ - **helperMessage** (optional)(string) message to help user to know what to do
914
+ - **icon** (optional)(string) icon name and size separeted by hyfhen
915
+ - **infoMessage** (optional)(string) message to help user knows about this component purpose
916
+ - **label** (string) define the label that will be displayed inside
917
+ - **placeholder** (optional)(string) message to help user that will be displayed inside the input
918
+
919
+ Events:
920
+
921
+ - **onChange** event emited when user make changes
922
+
923
+ Example:
924
+
925
+ `example.module.ts`
926
+
927
+ ```Typescript
928
+ import {
929
+ MonkeyOptionModule,
930
+ MonkeySelectModule
931
+ } from 'monkey-style-guide';
932
+
933
+ ...
934
+
935
+ @NgModule({
936
+ imports: [
937
+ MonkeyOptionModule,
938
+ MonkeySelectModule
939
+ ]
940
+ })
941
+ ...
942
+ ```
943
+
944
+ `example.component.html`
945
+
946
+ ```HTML
947
+ <monkey-select
948
+ errorMessage="Validation Message"
949
+ formControlName="documentType"
950
+ helperMessage="Mandatory"
951
+ icon="upload-20"
952
+ infoMessage="Info message"
953
+ label="Select the document type to upload"
954
+ >
955
+ <monkey-option label="Personal Document" value="personal_document">
956
+ </monkey-option>
957
+ <monkey-option label="Social Contract" value="social_contract">
958
+ </monkey-option>
959
+ <monkey-option label="Procuraction Contract" value="procuration_contract">
960
+ </monkey-option>
961
+ </monkey-select>
962
+ ```
963
+
964
+ ---
965
+
966
+ ### **Table**
967
+
968
+ ![Table Demo Screen Shot][table-screenshot]
969
+
970
+ Parameters:
971
+
972
+ - **dataSource** (array) the data to be displayed
973
+ - **headers** (array) column headers
974
+ - **loading** (optional)(boolean) show loading progress
975
+ - **rowTemplate** (TemplateRef) the template to show rows
976
+ - **selectable** (optional)(boolean) enable row selection
977
+
978
+ Events:
979
+
980
+ - **selection** returns an array with selected rows
981
+
982
+ Example:
983
+
984
+ `example.module.ts`
985
+
986
+ ```Typescript
987
+ import { MonkeyTableModule } from 'monkey-style-guide';
988
+
989
+ ...
990
+
991
+ @NgModule({
992
+ imports: [MonkeyTableModule]
993
+ })
994
+ ...
995
+ ```
996
+
997
+ `example.component.ts`
998
+
999
+ ```Typecript
1000
+ _dataSourceHeaders = ['column1', 'column2', 'column3', 'column4'];
1001
+ _dataSource = [
1002
+ [1, 2, 3, 4, 5, 6],
1003
+ [5, 6, 7, 8, 9, 10],
1004
+ [5, 6, 7, 8, 9, 10],
1005
+ [5, 6, 7, 8, 9, 10],
1006
+ ];
1007
+ ```
1008
+
1009
+ `example.component.html`
1010
+
1011
+ ```HTML
1012
+ <monkey-table
1013
+ [dataSource]="_dataSource"
1014
+ [headers]="_dataSourceHeaders"
1015
+ [loading]="true"
1016
+ [rowTemplate]="rowTemplate"
1017
+ [selectable]="true"
1018
+ (selection)="onHandleSelection($event)"
1019
+ >
1020
+ <ng-template #rowTemplate let-row="row">
1021
+ <monkey-table-column>{{ row[0] }}</monkey-table-column>
1022
+ <monkey-table-column>{{ row[1] }}</monkey-table-column>
1023
+ <monkey-table-column>{{ row[2] }}</monkey-table-column>
1024
+ <monkey-table-column>{{ row[3] }}</monkey-table-column>
1025
+ </ng-template>
1026
+ </monkey-table>
1027
+ ```
1028
+
1029
+ ---
1030
+
1031
+ ### **Toggle**
1032
+
1033
+ ![Toggle Demo Screen Shot][toggle-screenshot]
1034
+
1035
+ Parameters:
1036
+
1037
+ - **value** (boolean)(default: false)
1038
+ - **disabled** (boolean)(default: false) to disable any action
1039
+
1040
+ Events:
1041
+
1042
+ - **onChange** event emited when user make changes
1043
+
1044
+ Example:
1045
+
1046
+ `example.module.ts`
1047
+
1048
+ ```Typescript
1049
+ import { MonkeyToggleModule } from 'monkey-style-guide';
1050
+
1051
+ ...
1052
+
1053
+ @NgModule({
1054
+ imports: [MonkeyToggleModule]
1055
+ })
1056
+ ...
1057
+ ```
1058
+
1059
+ `example.component.html`
1060
+
1061
+ ```HTML
1062
+ <monkey-toggle [value]="_form?.get('smsNotification').value"
1063
+ (onChange)="onHandleToggleSMS($event)">
1064
+ </monkey-toggle>
1065
+ ```
1066
+
1067
+ ## Prerequisites
1068
+
1069
+ The main feature of this project is to allow changing the application theme, such as primary colors and error colors.
1070
+ For this, it is necessary to have a file called monkey-style-guide-settings.json at the root of your project's assets folder.
1071
+
1072
+ For example:
1073
+
1074
+ ![Settings Json Screen Shot][settings-screenshot]
1075
+
1076
+ Content of monkey-style-guide-settings.json:
1077
+
1078
+ ```JSON
1079
+ {
1080
+ "theme": {
1081
+ "title": "Monkey Exchange",
1082
+ "favicon": "assets/favicon.svg"
1083
+ },
1084
+ "colors": {
1085
+ "theme": {
1086
+ "main": "#034EA2",
1087
+ "100": "#F5FAFF",
1088
+ "200": "#D7EAFE",
1089
+ "300": "#A5CFFE",
1090
+ "400": "#72B4FD",
1091
+ "500": "#4099FC",
1092
+ "600": "#0F7EFB",
1093
+ "700": "#0465D2",
1094
+ "800": "#023064",
1095
+ "900": "#023064",
1096
+ "contrast": {
1097
+ "main": "white",
1098
+ "100": "rgba(black, 0.87)",
1099
+ "200": "white",
1100
+ "300": "white",
1101
+ "400": "white",
1102
+ "500": "white",
1103
+ "600": "white",
1104
+ "700": "white",
1105
+ "800": "white",
1106
+ "900": "white"
1107
+ }
1108
+ },
1109
+ "error": {
1110
+ "main": "#e70c0c",
1111
+ "100": "#fbb5b5",
1112
+ "200": "#f87f7f",
1113
+ "300": "#f53b3b",
1114
+ "400": "#f31e1e",
1115
+ "500": "#e70c0c",
1116
+ "600": "#ca0a0a",
1117
+ "700": "#ad0909",
1118
+ "800": "#900707",
1119
+ "900": "#730606",
1120
+ "contrast": {
1121
+ "main": "white",
1122
+ "100": "rgba(black, 0.87)",
1123
+ "200": "rgba(black, 0.87)",
1124
+ "300": "white",
1125
+ "400": "white",
1126
+ "500": "white",
1127
+ "600": "white",
1128
+ "700": "white",
1129
+ "800": "white",
1130
+ "900": "white"
1131
+ }
1132
+ },
1133
+ "warning": {
1134
+ "main": "#efa30e",
1135
+ "100": "#fbe7be",
1136
+ "200": "#f8d389",
1137
+ "300": "#f4b946",
1138
+ "400": "#f2ae29",
1139
+ "500": "#efa30e",
1140
+ "600": "#d28f0c",
1141
+ "700": "#b57c0b",
1142
+ "800": "#986809",
1143
+ "900": "#7b5407",
1144
+ "contrast": {
1145
+ "main": "rgba(black, 0.87)",
1146
+ "100": "rgba(black, 0.87)",
1147
+ "200": "rgba(black, 0.87)",
1148
+ "300": "rgba(black, 0.87)",
1149
+ "400": "rgba(black, 0.87)",
1150
+ "500": "rgba(black, 0.87)",
1151
+ "600": "rgba(black, 0.87)",
1152
+ "700": "rgba(black, 0.87)",
1153
+ "800": "white",
1154
+ "900": "white"
1155
+ }
1156
+ },
1157
+ "success": {
1158
+ "main": "#00875a",
1159
+ "100": "#45ffc1",
1160
+ "200": "#0dffae",
1161
+ "300": "#00c483",
1162
+ "400": "#00a66e",
1163
+ "500": "#00875a",
1164
+ "600": "#006846",
1165
+ "700": "#004a31",
1166
+ "800": "#002b1d",
1167
+ "900": "#000d08",
1168
+ "contrast": {
1169
+ "main": "white",
1170
+ "100": "rgba(black, 0.87)",
1171
+ "200": "rgba(black, 0.87)",
1172
+ "300": "rgba(black, 0.87)",
1173
+ "400": "white",
1174
+ "500": "white",
1175
+ "600": "white",
1176
+ "700": "white",
1177
+ "800": "white",
1178
+ "900": "white"
1179
+ }
1180
+ },
1181
+ "question": {
1182
+ "main": "#8D38FA",
1183
+ "100": "#F4EBFF",
1184
+ "200": "#E8D7FE",
1185
+ "300": "#D2AFFD",
1186
+ "400": "#A460FB",
1187
+ "500": "#8D38FA",
1188
+ "600": "#7710F9",
1189
+ "700": "#5104B3",
1190
+ "800": "#2D0264",
1191
+ "900": "#1B013C",
1192
+ "contrast": {
1193
+ "main": "white",
1194
+ "100": "rgba(black, 0.87)",
1195
+ "200": "rgba(black, 0.87)",
1196
+ "300": "rgba(black, 0.87)",
1197
+ "400": "white",
1198
+ "500": "white",
1199
+ "600": "white",
1200
+ "700": "white",
1201
+ "800": "white",
1202
+ "900": "white"
1203
+ }
1204
+ }
1205
+ }
1206
+ }
1207
+ ```
1208
+
1209
+ ## Installation
1210
+
1211
+ 1. Install NPM packages:
1212
+
1213
+ ```sh
1214
+ npm install monkey-style-guide
1215
+ ```
1216
+
1217
+ ## Usage
1218
+
1219
+ Import `monkey-style-guide` in your `style.scss`
1220
+
1221
+ ```scss
1222
+ @import '~monkey-style-guide/assets/scss/theme';
1223
+ ```
1224
+
1225
+ Import `MonkeyStyleGuideModule` in your `app.module.ts`
1226
+
1227
+ ```Typescript
1228
+ import { MonkeyStyleGuideModule } from 'monkey-style-guide';
1229
+
1230
+ @NgModule({
1231
+ declarations: [AppComponent],
1232
+ imports: [MonkeyStyleGuideModule],
1233
+ bootstrap: [AppComponent],
1234
+ })
1235
+ export class AppModule {}
1236
+ ```
1237
+
1238
+ Than call the `bootstrap` method in your `app.component.ts`
1239
+
1240
+ ```Typescript
1241
+ import { Component } from '@angular/core';
1242
+ import { MonkeyStyleGuideSettingsService } from 'monkey-style-guide';
1243
+
1244
+ @Component({
1245
+ selector: 'app-root',
1246
+ templateUrl: './app.component.html',
1247
+ styleUrls: ['./app.component.scss'],
1248
+ })
1249
+ export class AppComponent {
1250
+ constructor(private settingsService: MonkeyStyleGuideSettingsService) {
1251
+ this.settingsService.bootstrap('');
1252
+ }
1253
+ }
1254
+ ```
1255
+
1256
+ <!-- MARKDOWN LINKS & IMAGES -->
1257
+ <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
1258
+
1259
+ [badge-screenshot]: https://user-images.githubusercontent.com/10110065/111625441-9e5df280-87cb-11eb-905c-008607cf859e.png
1260
+ [button-avatar-screenshot]: https://user-images.githubusercontent.com/10110065/111626956-50e28500-87cd-11eb-85c1-aaa8c06bb4e0.png
1261
+ [button-dropdown-screenshot1]: https://user-images.githubusercontent.com/10110065/111631407-1e875680-87d2-11eb-9631-d1d2ccf8f076.png
1262
+ [button-dropdown-screenshot2]: https://user-images.githubusercontent.com/10110065/111631726-82118400-87d2-11eb-9653-4502c3d82d51.png
1263
+ [buttons-screenshot]: https://user-images.githubusercontent.com/10110065/142933460-7a84ad76-b57f-40a0-b809-292af31c1e8f.png
1264
+ [checkbox-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/checkbox.png
1265
+ [contributors-shield]: https://img.shields.io/badge/Contributors-2-brightgreen?style=flat
1266
+ [contributors-url]: https://github.com/MonkeyECX/monkey-style-guide/graphs/contributors
1267
+ [date-range-picker]: https://user-images.githubusercontent.com/12416871/146080473-8543b9ae-7186-42ee-8ec8-bfd1eef09df6.png
1268
+ [expansion-screenshot1]: https://user-images.githubusercontent.com/10110065/111636157-f8b08080-87d6-11eb-86ab-86839297d068.png
1269
+ [expansion-screenshot2]: https://user-images.githubusercontent.com/10110065/111636340-24336b00-87d7-11eb-9f19-504ab96cc9af.png
1270
+ [file-upload-screenshot1]: https://user-images.githubusercontent.com/10110065/111640018-8b065380-87da-11eb-8d47-87ddea29b943.png
1271
+ [icons-screenshot1]: https://github.com/MonkeyECX/monkey-style-guide/assets/12416871/a71f2dcf-b9d2-4868-9868-9ac798ffe28a
1272
+ [input-filter-screenshot]: https://user-images.githubusercontent.com/32619691/163216159-3a9f985e-3ba9-4e10-8ba4-0f60931f83d1.png
1273
+ [input-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/input.png
1274
+ [license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=flat-square
1275
+ [license-url]: https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt
1276
+ [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=157
1277
+ [linkedin-url]: https://www.linkedin.com/company/monkeyexchange
1278
+ [modal-screenshot]: https://user-images.githubusercontent.com/12416871/119838920-2c480f00-beda-11eb-9e44-e42262f39c34.png
1279
+ [radiobutton-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/radiobutton.png
1280
+ [select-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/select.png
1281
+ [settings-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/style-settings-json.png
1282
+ [table-screenshot]: https://user-images.githubusercontent.com/12416871/119574643-29d79f00-bd8c-11eb-9747-2e6dc86410da.png
1283
+ [toggle-screenshot]: https://user-images.githubusercontent.com/12416871/119849813-53570e80-bee3-11eb-87f8-0871f8e26f58.png