monkey-style-guide 2.0.164 → 2.0.165

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