monkey-style-guide 2.0.162 → 2.0.163

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