monkey-style-guide 2.0.154 → 2.0.155

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