monkey-style-guide 2.0.158 → 2.0.160

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