matcha-components 1.0.6 → 1.0.7

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 (250) hide show
  1. package/package.json +1 -1
  2. package/src/documentation/presentation.mdx +105 -0
  3. package/src/foundation/borders/borders.mdx +180 -0
  4. package/src/foundation/colors/base/amber.mdx +12 -9
  5. package/src/foundation/colors/base/blue.mdx +12 -9
  6. package/src/foundation/colors/base/cyan.mdx +12 -9
  7. package/src/foundation/colors/base/deep-orange.mdx +12 -9
  8. package/src/foundation/colors/base/deep-purple.mdx +12 -9
  9. package/src/foundation/colors/base/green.mdx +12 -9
  10. package/src/foundation/colors/base/indigo.mdx +12 -9
  11. package/src/foundation/colors/base/light-blue.mdx +12 -9
  12. package/src/foundation/colors/base/light-green.mdx +12 -9
  13. package/src/foundation/colors/base/lime.mdx +12 -9
  14. package/src/foundation/colors/base/orange.mdx +12 -9
  15. package/src/foundation/colors/base/pink.mdx +12 -9
  16. package/src/foundation/colors/base/purple.mdx +12 -9
  17. package/src/foundation/colors/base/red.mdx +12 -9
  18. package/src/foundation/colors/base/teal.mdx +12 -9
  19. package/src/foundation/colors/base/yellow.mdx +12 -9
  20. package/src/foundation/colors/base-colors.mdx +21 -18
  21. package/src/foundation/colors/theme/accent.mdx +12 -9
  22. package/src/foundation/colors/theme/primary.mdx +12 -9
  23. package/src/foundation/colors/theme/warn.mdx +12 -9
  24. package/src/foundation/colors/theme-colors.mdx +11 -37
  25. package/src/foundation/spacing/margins.mdx +183 -0
  26. package/src/foundation/spacing/paddings.mdx +156 -0
  27. package/src/foundation/typography/colors.mdx +26 -0
  28. package/src/foundation/typography/font-size.mdx +57 -0
  29. package/src/foundation/typography/font-weight.mdx +65 -0
  30. package/src/foundation/typography/helpers.mdx +86 -0
  31. package/src/foundation/typography/letter-spacing.mdx +35 -0
  32. package/src/foundation/typography/line-height.mdx +52 -0
  33. package/src/foundation/typography/message-box.mdx +43 -0
  34. package/src/foundation/typography/text-align.mdx +22 -0
  35. package/src/foundation/typography/text-styles.mdx +88 -0
  36. package/src/lib/matcha-autocomplete/autocomplete.mdx +1 -1
  37. package/src/lib/matcha-autocomplete/autocomplete.stories.ts +16 -25
  38. package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.css +9 -0
  39. package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.html +9 -0
  40. package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.ts +37 -0
  41. package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.css +19 -0
  42. package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.html +17 -0
  43. package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.ts +70 -0
  44. package/src/lib/matcha-badge/badge.argtypes.ts +77 -0
  45. package/src/lib/matcha-badge/badge.directive.ts +11 -0
  46. package/src/lib/matcha-badge/badge.mdx +69 -0
  47. package/src/lib/matcha-badge/badge.module.ts +5 -10
  48. package/src/lib/matcha-badge/badge.stories.ts +79 -0
  49. package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example-sheet.html +21 -0
  50. package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example.component.ts +34 -0
  51. package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example.html +2 -0
  52. package/src/lib/matcha-bottom-sheet/bottom-sheet.argtypes.ts +117 -0
  53. package/src/lib/matcha-bottom-sheet/bottom-sheet.mdx +69 -0
  54. package/src/lib/matcha-bottom-sheet/bottom-sheet.module.ts +5 -10
  55. package/src/lib/matcha-bottom-sheet/bottom-sheet.stories.ts +39 -0
  56. package/src/lib/matcha-button/button-overview-example.component.ts +18 -0
  57. package/src/lib/matcha-button/button-overview-example.html +118 -0
  58. package/src/lib/matcha-button/button-overview-example.scss +31 -0
  59. package/src/lib/matcha-button/button.argtypes.ts +20 -0
  60. package/src/lib/matcha-button/button.directive.ts +39 -0
  61. package/src/lib/matcha-button/button.mdx +171 -0
  62. package/src/lib/matcha-button/button.module.ts +10 -0
  63. package/src/lib/matcha-button/button.stories.ts +38 -0
  64. package/src/lib/matcha-button-toggle/button-toggle.argtype.ts +115 -0
  65. package/src/lib/matcha-button-toggle/button-toggle.directive.ts +13 -0
  66. package/src/lib/matcha-button-toggle/button-toggle.mdx +63 -0
  67. package/src/lib/matcha-button-toggle/button-toggle.stories.ts +64 -0
  68. package/src/lib/matcha-button-toggle/matcha-button-toggle.directive.ts +0 -1
  69. package/src/lib/matcha-card/card-argtype.ts +54 -0
  70. package/src/lib/matcha-card/card-header.html +10 -0
  71. package/src/lib/matcha-card/card-title-group.html +12 -0
  72. package/src/lib/matcha-card/card.component.spec.ts +21 -0
  73. package/src/lib/matcha-card/card.component.ts +47 -0
  74. package/src/lib/matcha-card/card.mdx +43 -0
  75. package/src/lib/matcha-card/card.module.ts +10 -0
  76. package/src/lib/matcha-card/card.stories.ts +92 -0
  77. package/src/lib/matcha-components.module.ts +12 -47
  78. package/src/lib/matcha-dialog/confirmation-dialog.component.ts +39 -0
  79. package/src/lib/matcha-dialog/confirmation-dialog.stories.ts +21 -0
  80. package/src/lib/matcha-divider/divider.argtypes.ts +18 -0
  81. package/src/lib/matcha-divider/divider.mdx +51 -0
  82. package/src/lib/matcha-divider/divider.module.ts +5 -9
  83. package/src/lib/matcha-divider/divider.stories.ts +49 -0
  84. package/src/lib/matcha-elevation/elevation.argtypes.ts +16 -0
  85. package/src/lib/matcha-elevation/elevation.directive.ts +24 -0
  86. package/src/lib/matcha-elevation/elevation.mdx +50 -0
  87. package/src/lib/matcha-elevation/elevation.module.ts +10 -0
  88. package/src/lib/matcha-elevation/elevation.stories.ts +50 -0
  89. package/src/lib/matcha-expansion/expansion.argtypes.ts +44 -0
  90. package/src/lib/matcha-expansion/expansion.directive.ts +11 -0
  91. package/src/lib/matcha-expansion/expansion.mdx +69 -0
  92. package/src/lib/matcha-expansion/expansion.module.ts +10 -0
  93. package/src/lib/matcha-expansion/expansion.stories.ts +67 -0
  94. package/src/lib/matcha-forms/form-field-argtype.ts +60 -0
  95. package/src/lib/matcha-forms/form-field.directive.ts +11 -0
  96. package/src/lib/matcha-forms/form-field.mdx +20 -0
  97. package/src/lib/matcha-forms/{matcha-form-field.stories.ts → form-field.stories.ts} +64 -68
  98. package/src/lib/matcha-forms/forms.module.ts +5 -14
  99. package/src/lib/matcha-headers/headers.argtype.ts +14 -0
  100. package/src/lib/matcha-headers/headers.mdx +94 -0
  101. package/src/lib/matcha-headers/headers.module.ts +12 -0
  102. package/src/lib/matcha-headers/headers.stories.ts +88 -0
  103. package/src/lib/matcha-headers/headine/headline.component.html +1 -0
  104. package/src/lib/matcha-headers/headine/headline.component.ts +20 -0
  105. package/src/lib/matcha-headers/subhead/subhead.component.html +1 -0
  106. package/src/lib/matcha-headers/subhead/subhead.component.ts +20 -0
  107. package/src/lib/matcha-headers/title/title.component.html +1 -0
  108. package/src/lib/matcha-headers/title/title.component.ts +20 -0
  109. package/src/lib/matcha-icon/icon-argtype.ts +36 -0
  110. package/src/lib/matcha-icon/icon.component.html +3 -0
  111. package/src/lib/matcha-icon/icon.component.scss +0 -0
  112. package/src/lib/matcha-icon/icon.component.ts +34 -0
  113. package/src/lib/matcha-icon/icon.mdx +60 -0
  114. package/src/lib/matcha-icon/icon.module.ts +5 -14
  115. package/src/lib/matcha-icon/icon.stories.ts +416 -0
  116. package/src/lib/matcha-input/input.argtypes.ts +42 -0
  117. package/src/lib/matcha-input/input.directive.ts +11 -0
  118. package/src/lib/matcha-input/input.mdx +73 -0
  119. package/src/lib/matcha-input/input.module.ts +9 -0
  120. package/src/lib/matcha-input/input.stories.ts +97 -0
  121. package/src/lib/matcha-list/list.argtypes.ts +44 -0
  122. package/src/lib/matcha-list/{matcha-list.directive.ts → list.directive.ts} +3 -8
  123. package/src/lib/matcha-list/list.mdx +69 -0
  124. package/src/lib/matcha-list/list.module.ts +5 -9
  125. package/src/lib/matcha-list/list.stories.ts +101 -0
  126. package/src/lib/matcha-menu/menu.argtypes.ts +114 -0
  127. package/src/lib/matcha-menu/menu.mdx +59 -0
  128. package/src/lib/matcha-menu/menu.module.ts +5 -9
  129. package/src/lib/matcha-menu/menu.stories.ts +122 -0
  130. package/src/lib/matcha-paginator/paginator-overview-example.component.ts +13 -0
  131. package/src/lib/matcha-paginator/paginator-overview-example.css +0 -0
  132. package/src/lib/matcha-paginator/paginator-overview-example.html +1 -0
  133. package/src/lib/matcha-paginator/paginator.argtypes.ts +11 -0
  134. package/src/lib/matcha-paginator/paginator.mdx +53 -0
  135. package/src/lib/matcha-paginator/paginator.module.ts +5 -9
  136. package/src/lib/matcha-paginator/paginator.stories.ts +34 -0
  137. package/src/lib/matcha-progress-bar/progress-bar.mdx +1 -1
  138. package/src/lib/matcha-progress-spinner/progress-spinner.mdx +33 -13
  139. package/src/lib/matcha-progress-spinner/progress-spinner.stories.ts +8 -8
  140. package/src/lib/matcha-select/select.argtypes.ts +265 -0
  141. package/src/lib/matcha-select/{matcha-select.directive.ts → select.directive.ts} +3 -8
  142. package/src/lib/matcha-select/select.mdx +54 -0
  143. package/src/lib/matcha-select/select.module.ts +5 -7
  144. package/src/lib/matcha-select/select.stories.ts +164 -0
  145. package/src/lib/matcha-sidenav/sidenav.argtypes.ts +60 -0
  146. package/src/lib/matcha-sidenav/sidenav.directive.ts +11 -0
  147. package/src/lib/matcha-sidenav/sidenav.mdx +57 -0
  148. package/src/lib/matcha-sidenav/sidenav.module.ts +10 -0
  149. package/src/lib/matcha-sidenav/sidenav.stories.ts +79 -0
  150. package/src/lib/matcha-slide-toggle/slide-toggle.mdx +1 -1
  151. package/src/lib/matcha-slider/slider.argtypes.ts +83 -0
  152. package/src/lib/matcha-slider/slider.mdx +45 -0
  153. package/src/lib/matcha-slider/slider.stories.ts +149 -0
  154. package/src/lib/matcha-snackbar/snack-bar-overview-example.component.ts +23 -0
  155. package/src/lib/matcha-snackbar/snack-bar-overview-example.css +3 -0
  156. package/src/lib/matcha-snackbar/snack-bar-overview-example.html +11 -0
  157. package/src/lib/matcha-snackbar/snack-bar.argtypes.ts +11 -0
  158. package/src/lib/matcha-snackbar/snack-bar.directive.ts +11 -0
  159. package/src/lib/matcha-snackbar/snack-bar.mdx +53 -0
  160. package/src/lib/matcha-snackbar/snack-bar.module.ts +10 -0
  161. package/src/lib/matcha-snackbar/snack-bar.stories.ts +34 -0
  162. package/src/lib/matcha-sort-header/example/sort-overview-example.component.ts +67 -0
  163. package/src/lib/matcha-sort-header/example/sort-overview-example.css +3 -0
  164. package/src/lib/matcha-sort-header/example/sort-overview-example.html +21 -0
  165. package/src/lib/matcha-sort-header/sort-header.argtypes.ts +11 -0
  166. package/src/lib/matcha-sort-header/sort-header.mdx +78 -0
  167. package/src/lib/matcha-sort-header/sort-header.module.ts +5 -7
  168. package/src/lib/matcha-sort-header/sort-header.stories.ts +34 -0
  169. package/src/lib/matcha-stepper/stepper.argtypes.ts +92 -0
  170. package/src/lib/matcha-stepper/stepper.mdx +68 -0
  171. package/src/lib/matcha-stepper/stepper.module.ts +5 -7
  172. package/src/lib/matcha-stepper/stepper.stories.ts +163 -0
  173. package/src/lib/matcha-table/example/table-basic-example.component.ts +37 -0
  174. package/src/lib/matcha-table/example/table-basic-example.css +0 -0
  175. package/src/lib/matcha-table/example/table-basic-example.html +35 -0
  176. package/src/lib/matcha-table/table.argtypes.ts +11 -0
  177. package/src/lib/matcha-table/table.mdx +78 -0
  178. package/src/lib/matcha-table/table.module.ts +5 -7
  179. package/src/lib/matcha-table/table.stories.ts +34 -0
  180. package/src/lib/matcha-tabs/tabs.argtypes.ts +11 -0
  181. package/src/lib/matcha-tabs/tabs.mdx +69 -0
  182. package/src/lib/matcha-tabs/tabs.module.ts +5 -11
  183. package/src/lib/matcha-tabs/tabs.stories.ts +49 -0
  184. package/src/lib/matcha-toolbar/toolbar.argtypes.ts +20 -0
  185. package/src/lib/matcha-toolbar/toolbar.directive.ts +11 -0
  186. package/src/lib/matcha-toolbar/toolbar.mdx +57 -0
  187. package/src/lib/matcha-toolbar/toolbar.module.ts +10 -0
  188. package/src/lib/matcha-toolbar/toolbar.stories.ts +100 -0
  189. package/src/lib/matcha-tooltip/tooltip.argtypes.ts +11 -0
  190. package/src/lib/matcha-tooltip/tooltip.mdx +69 -0
  191. package/src/lib/matcha-tooltip/tooltip.module.ts +5 -7
  192. package/src/lib/matcha-tooltip/tooltip.stories.ts +79 -0
  193. package/src/lib/matcha-tree/tree.argtypes.ts +42 -0
  194. package/src/lib/matcha-tree/tree.mdx +49 -0
  195. package/src/lib/matcha-tree/tree.module.ts +5 -7
  196. package/src/lib/matcha-tree/tree.stories.ts +130 -0
  197. package/src/public-api.ts +27 -28
  198. package/src/lib/matcha-badge/matcha-badge.directive.ts +0 -16
  199. package/src/lib/matcha-buttons/buttons.module.ts +0 -27
  200. package/src/lib/matcha-buttons/matcha-btn-md.directive.ts +0 -16
  201. package/src/lib/matcha-buttons/matcha-btn-pill.directive.ts +0 -15
  202. package/src/lib/matcha-buttons/matcha-btn-size.directive.ts +0 -17
  203. package/src/lib/matcha-buttons/matcha-btn-xl.directive.ts +0 -15
  204. package/src/lib/matcha-card/card.mdx.txt +0 -55
  205. package/src/lib/matcha-card/matcha-card-argtype.ts +0 -123
  206. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.html +0 -3
  207. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.spec.ts +0 -21
  208. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.ts +0 -10
  209. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.html +0 -3
  210. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.spec.ts +0 -21
  211. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.ts +0 -10
  212. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.html +0 -4
  213. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.spec.ts +0 -21
  214. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.ts +0 -10
  215. package/src/lib/matcha-card/matcha-card.component.scss +0 -117
  216. package/src/lib/matcha-card/matcha-card.component.spec.ts +0 -21
  217. package/src/lib/matcha-card/matcha-card.component.ts +0 -43
  218. package/src/lib/matcha-card/matcha-card.module.ts +0 -27
  219. package/src/lib/matcha-card/matcha-card.stories.ts +0 -80
  220. package/src/lib/matcha-expansion-panel/expansion-panel.module.ts +0 -14
  221. package/src/lib/matcha-expansion-panel/matcha-expansion-panel.directive.ts +0 -16
  222. package/src/lib/matcha-forms/matcha-form-field-appearance.directive.ts +0 -16
  223. package/src/lib/matcha-forms/matcha-form-field-argtype.ts +0 -73
  224. package/src/lib/matcha-forms/matcha-form-field.mdx +0 -284
  225. package/src/lib/matcha-forms/matcha-form-input-text.directive.ts +0 -16
  226. package/src/lib/matcha-icon/matcha-icon-position-pos.directive.ts +0 -15
  227. package/src/lib/matcha-icon/matcha-icon-position-pre.directive.ts +0 -15
  228. package/src/lib/matcha-menu/menu.stories.txt +0 -76
  229. package/src/lib/matcha-snackbar/matcha-snackbar.directive.ts +0 -16
  230. package/src/lib/matcha-snackbar/snackbar.module.ts +0 -12
  231. package/src/lib/matcha-title/matcha-title.component.html +0 -33
  232. package/src/lib/matcha-title/matcha-title.component.spec.ts +0 -21
  233. package/src/lib/matcha-title/matcha-title.component.ts +0 -24
  234. package/src/lib/matcha-title/matcha-title.module.ts +0 -18
  235. /package/src/lib/matcha-bottom-sheet/{matcha-bottom-sheet.directive.ts → bottom-sheet.directive.ts} +0 -0
  236. /package/src/lib/{matcha-buttons/button.stories.ts → matcha-button/button.stories.ts.TXT} +0 -0
  237. /package/src/lib/matcha-card/{matcha-card.component.html → card.component.html} +0 -0
  238. /package/src/lib/matcha-card/{matcha-card-content/matcha-card-content.component.scss → card.component.scss} +0 -0
  239. /package/src/lib/matcha-divider/{matcha-divider.directive.ts → divider.directive.ts} +0 -0
  240. /package/src/lib/{matcha-card/matcha-card-footer/matcha-card-footer.component.scss → matcha-headers/headine/headline.component.scss} +0 -0
  241. /package/src/lib/{matcha-card/matcha-card-header/matcha-card-header.component.scss → matcha-headers/subhead/subhead.component.scss} +0 -0
  242. /package/src/lib/{matcha-title/matcha-title.component.scss → matcha-headers/title/title.component.scss} +0 -0
  243. /package/src/lib/matcha-menu/{matcha-menu.directive.ts → menu.directive.ts} +0 -0
  244. /package/src/lib/matcha-paginator/{matcha-paginator.directive.ts → paginator.directive.ts} +0 -0
  245. /package/src/lib/matcha-sort-header/{matcha-sort-header.directive.ts → sort-header.directive.ts} +0 -0
  246. /package/src/lib/matcha-stepper/{matcha-stepper.directive.ts → stepper.directive.ts} +0 -0
  247. /package/src/lib/matcha-table/{matcha-table.directive.ts → table.directive.ts} +0 -0
  248. /package/src/lib/matcha-tabs/{matcha-tabs.directive.ts → tabs.directive.ts} +0 -0
  249. /package/src/lib/matcha-tooltip/{matcha-tooltip.directive.ts → tooltip.directive.ts} +0 -0
  250. /package/src/lib/matcha-tree/{matcha-tree.directive.ts → tree.directive.ts} +0 -0
@@ -0,0 +1,171 @@
1
+ import { Story } from "@storybook/blocks";
2
+ import { Meta } from "@storybook/addon-docs";
3
+ import * as ComponentStories from "./button.stories";
4
+
5
+ <Meta title="Atoms / Button / Documentação" />
6
+
7
+ # Button
8
+
9
+ > _button_ "ESCREVER DEFINIÇÃO DO ATÔMICO"
10
+
11
+ ---
12
+
13
+ ### Modes
14
+
15
+ <div class="d-flex-column gap-16">
16
+ <div class="d-flex-column">
17
+ <div class="matcha-card background-surface d-flex-column gap-16">
18
+ <span class="h5">Button Basic</span>
19
+ <div class="matcha-card background-bg">
20
+ <Story of={ComponentStories.ButtonOverview} />
21
+ </div>
22
+
23
+ <div class="d-flex-column">
24
+
25
+ ```html
26
+ <section>
27
+ <div class="example-label">Basic</div>
28
+ <div class="example-button-row">
29
+ <button mat-button>Basic</button>
30
+ <button mat-button color="primary">Primary</button>
31
+ <button mat-button color="accent">Accent</button>
32
+ <button mat-button color="warn">Warn</button>
33
+ <button mat-button disabled>Disabled</button>
34
+ <a mat-button href="https://www.google.com/" target="_blank">Link</a>
35
+ </div>
36
+ </section>
37
+ <mat-divider></mat-divider>
38
+ <section>
39
+ <div class="example-label">Raised</div>
40
+ <div class="example-button-row">
41
+ <button mat-raised-button>Basic</button>
42
+ <button mat-raised-button color="primary">Primary</button>
43
+ <button mat-raised-button color="accent">Accent</button>
44
+ <button mat-raised-button color="warn">Warn</button>
45
+ <button mat-raised-button disabled>Disabled</button>
46
+ <a mat-raised-button href="https://www.google.com/" target="_blank">Link</a>
47
+ </div>
48
+ </section>
49
+ <mat-divider></mat-divider>
50
+ <section>
51
+ <div class="example-label">Stroked</div>
52
+ <div class="example-button-row">
53
+ <button mat-stroked-button>Basic</button>
54
+ <button mat-stroked-button color="primary">Primary</button>
55
+ <button mat-stroked-button color="accent">Accent</button>
56
+ <button mat-stroked-button color="warn">Warn</button>
57
+ <button mat-stroked-button disabled>Disabled</button>
58
+ <a mat-stroked-button href="https://www.google.com/" target="_blank">Link</a>
59
+ </div>
60
+ </section>
61
+ <mat-divider></mat-divider>
62
+ <section>
63
+ <div class="example-label">Flat</div>
64
+ <div class="example-button-row">
65
+ <button mat-flat-button>Basic</button>
66
+ <button mat-flat-button color="primary">Primary</button>
67
+ <button mat-flat-button color="accent">Accent</button>
68
+ <button mat-flat-button color="warn">Warn</button>
69
+ <button mat-flat-button disabled>Disabled</button>
70
+ <a mat-flat-button href="https://www.google.com/" target="_blank">Link</a>
71
+ </div>
72
+ </section>
73
+ <mat-divider></mat-divider>
74
+ <section>
75
+ <div class="example-label">Icon</div>
76
+ <div class="example-button-row">
77
+ <div class="example-flex-container">
78
+ <button mat-icon-button aria-label="Example icon button with a vertical three dot icon">
79
+ <mat-icon>more_vert</mat-icon>
80
+ </button>
81
+ <button mat-icon-button color="primary" aria-label="Example icon button with a home icon">
82
+ <mat-icon>home</mat-icon>
83
+ </button>
84
+ <button mat-icon-button color="accent" aria-label="Example icon button with a menu icon">
85
+ <mat-icon>menu</mat-icon>
86
+ </button>
87
+ <button mat-icon-button color="warn" aria-label="Example icon button with a heart icon">
88
+ <mat-icon>favorite</mat-icon>
89
+ </button>
90
+ <button mat-icon-button disabled aria-label="Example icon button with a open in new tab icon">
91
+ <mat-icon>open_in_new</mat-icon>
92
+ </button>
93
+ </div>
94
+ </div>
95
+ </section>
96
+ <mat-divider></mat-divider>
97
+ <section>
98
+ <div class="example-label">FAB</div>
99
+ <div class="example-button-row">
100
+ <div class="example-flex-container">
101
+ <div class="example-button-container">
102
+ <button mat-fab color="primary" aria-label="Example icon button with a delete icon">
103
+ <mat-icon>delete</mat-icon>
104
+ </button>
105
+ </div>
106
+ <div class="example-button-container">
107
+ <button mat-fab color="accent" aria-label="Example icon button with a bookmark icon">
108
+ <mat-icon>bookmark</mat-icon>
109
+ </button>
110
+ </div>
111
+ <div class="example-button-container">
112
+ <button mat-fab color="warn" aria-label="Example icon button with a home icon">
113
+ <mat-icon>home</mat-icon>
114
+ </button>
115
+ </div>
116
+ <div class="example-button-container">
117
+ <button mat-fab disabled aria-label="Example icon button with a heart icon">
118
+ <mat-icon>favorite</mat-icon>
119
+ </button>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ </section>
124
+ <mat-divider></mat-divider>
125
+ <section>
126
+ <div class="example-label">Mini FAB</div>
127
+ <div class="example-button-row">
128
+ <div class="example-flex-container">
129
+ <div class="example-button-container">
130
+ <button mat-mini-fab color="primary" aria-label="Example icon button with a menu icon">
131
+ <mat-icon>menu</mat-icon>
132
+ </button>
133
+ </div>
134
+ <div class="example-button-container">
135
+ <button mat-mini-fab color="accent" aria-label="Example icon button with a plus one icon">
136
+ <mat-icon>plus_one</mat-icon>
137
+ </button>
138
+ </div>
139
+ <div class="example-button-container">
140
+ <button mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon">
141
+ <mat-icon>filter_list</mat-icon>
142
+ </button>
143
+ </div>
144
+ <div class="example-button-container">
145
+ <button mat-mini-fab disabled aria-label="Example icon button with a home icon">
146
+ <mat-icon>home</mat-icon>
147
+ </button>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </section>
152
+
153
+
154
+ <button mat-stroked-button (click)="openButton(message.value, action.value)">Show button</button>
155
+ ```
156
+
157
+ </div>
158
+ </div>
159
+ </div>
160
+
161
+ </div>
162
+
163
+ <br />
164
+
165
+ ### Installation
166
+
167
+ `import { MatButton, MatButtonModule } from '@angular/material/button';`
168
+
169
+ [Official documentation](https://https://material.angular.io/components/button/overview)
170
+
171
+ <br />
@@ -0,0 +1,10 @@
1
+ import { NgModule } from '@angular/core';
2
+
3
+ import { MatchaButtonDirective } from './button.directive';
4
+
5
+ @NgModule({
6
+ declarations: [MatchaButtonDirective],
7
+ imports: [],
8
+ exports: [MatchaButtonDirective],
9
+ })
10
+ export class MatchaButtonModule {}
@@ -0,0 +1,38 @@
1
+ import { applicationConfig, Meta, moduleMetadata, StoryObj } from '@storybook/angular';
2
+ import { CommonModule } from '@angular/common';
3
+ import { provideAnimations } from '@angular/platform-browser/animations';
4
+ import { buttonArgtypes } from './button.argtypes';
5
+ import { ButtonOverviewExample } from './button-overview-example.component';
6
+ import { MatchaButtonModule } from './button.module';
7
+
8
+ export default {
9
+ title: 'Atoms / Button',
10
+ component: ButtonOverviewExample,
11
+ decorators: [
12
+ applicationConfig({
13
+ providers: [provideAnimations()],
14
+ }),
15
+
16
+ moduleMetadata({
17
+ imports: [CommonModule, MatchaButtonModule],
18
+ }),
19
+ ],
20
+ args: {
21
+ size: 'md',
22
+ color: 'accent',
23
+ pill: false,
24
+ },
25
+ argTypes: buttonArgtypes,
26
+ parameters: {
27
+ controls: { expanded: true },
28
+ },
29
+ } as Meta;
30
+
31
+ export const ButtonOverview: StoryObj<ButtonOverviewExample> = {
32
+ render: (args) => ({
33
+ props: {
34
+ ...args,
35
+ },
36
+ }),
37
+ name: 'Button Overview',
38
+ };
@@ -0,0 +1,115 @@
1
+ export const buttonToggleArgtypes = {
2
+ multiple: {
3
+ description: 'Whether multiple button toggles can be selected',
4
+ control: 'boolean',
5
+ defaultValue: false,
6
+ table: {
7
+ defaultValue: { summary: false },
8
+ },
9
+ },
10
+ disabledGroup: {
11
+ description: 'Whether the button is disabled',
12
+ control: 'boolean',
13
+ defaultValue: false,
14
+ table: {
15
+ defaultValue: { summary: false },
16
+ },
17
+ },
18
+ // nameGroup: {
19
+ // description: 'name attribute for the underlying input element',
20
+ // control: 'text',
21
+ // },
22
+ // valueGroup: {
23
+ // description: 'Value of the toggle group',
24
+ // control: 'text',
25
+ // },
26
+ vertical: {
27
+ description: 'Whether the toggle group is vertical',
28
+ control: 'boolean',
29
+ defaultValue: false,
30
+ table: {
31
+ defaultValue: { summary: false },
32
+ },
33
+ },
34
+ // changeGroup: {
35
+ // description: "Event emitted when the group's value changes",
36
+ // action: 'change',
37
+ // },
38
+ // selected: {
39
+ // description: 'Selected button toggles in the group',
40
+ // control: null, // No control for objects
41
+ // },
42
+
43
+ appearance: {
44
+ description: 'The appearance style of the button',
45
+ control: 'select',
46
+ defaultValue: 'standard',
47
+ table: {
48
+ defaultValue: { summary: 'standard' },
49
+ },
50
+ options: ['standard', 'legacy'],
51
+ },
52
+ // ariaLabel: {
53
+ // description:
54
+ // 'Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will take precedence so this may be omitted.',
55
+ // control: 'text',
56
+ // },
57
+ // ariaLabelledby: {
58
+ // description:
59
+ // 'Users can specify the aria-labelledby attribute which will be forwarded to the input element',
60
+ // control: 'text',
61
+ // },
62
+ checked: {
63
+ description: 'Whether the button is checked',
64
+ control: 'boolean',
65
+ defaultValue: false,
66
+ table: {
67
+ defaultValue: { summary: false },
68
+ },
69
+ },
70
+ disableRipple: {
71
+ description: 'Whether ripples are disabled',
72
+ control: 'boolean',
73
+ defaultValue: false,
74
+ table: {
75
+ defaultValue: { summary: false },
76
+ },
77
+ },
78
+ disabled: {
79
+ description: 'Whether the button is disabled',
80
+ control: 'boolean',
81
+ defaultValue: false,
82
+ table: {
83
+ defaultValue: { summary: false },
84
+ },
85
+ },
86
+ // id: {
87
+ // description: 'The unique ID for this button toggle',
88
+ // control: 'text',
89
+ // },
90
+ // name: {
91
+ // description:
92
+ // "HTML's 'name' attribute used to group radios for unique selection",
93
+ // control: 'text',
94
+ // },
95
+ // value: {
96
+ // description: 'MatButtonToggleGroup reads this to assign its own value',
97
+ // control: 'text',
98
+ // },
99
+ // change: {
100
+ // description: 'Event emitted when the group value changes',
101
+ // action: 'change',
102
+ // },
103
+ // buttonId: {
104
+ // description: 'Unique ID for the underlying button element',
105
+ // control: 'text',
106
+ // },
107
+ buttonToggleGroup: {
108
+ description:
109
+ 'The parent button toggle group (exclusive selection). Optional.',
110
+ control: null, // No control for objects
111
+ },
112
+ label: {
113
+ control: 'text',
114
+ },
115
+ };
@@ -0,0 +1,13 @@
1
+ import { Directive, ElementRef, Renderer2 } from '@angular/core';
2
+
3
+ @Directive({
4
+ selector: '[matcha-button-toggle]',
5
+ })
6
+ export class MatchaButtonToggleDirective {
7
+ constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {
8
+ this._renderer.addClass(
9
+ this._elementRef.nativeElement,
10
+ 'matcha-button-toggle'
11
+ );
12
+ }
13
+ }
@@ -0,0 +1,63 @@
1
+ import { Story } from '@storybook/blocks';
2
+ import { Meta } from '@storybook/addon-docs';
3
+ import * as ComponentStories from './button-toggle.stories';
4
+
5
+ <Meta title="Atoms / Button Toggle / Documentação" />
6
+
7
+ # Button Toggle
8
+
9
+ > _button toggle_ permite a criação de botões de alternância com a opção de
10
+ > seleção única ou múltipla.
11
+
12
+ ---
13
+
14
+ ### Modes
15
+
16
+ <div class="d-flex-column gap-16">
17
+ <div class="d-flex-column">
18
+ <div class="matcha-card background-surface d-flex-column gap-16">
19
+ <span class="h5">Basic Button Toggle</span>
20
+ <div class="matcha-card background-bg">
21
+ <Story of={ComponentStories.BasicButtonToggle} />
22
+ </div>
23
+ <div class="d-flex-column">
24
+ ```html
25
+ <mat-button-toggle-group name="fontStyle" aria-label="Font Style">
26
+ <mat-button-toggle value="bold">Bold</mat-button-toggle>
27
+ <mat-button-toggle value="italic">Italic</mat-button-toggle>
28
+ <mat-button-toggle value="underline">Underline</mat-button-toggle>
29
+ </mat-button-toggle-group>
30
+ ```
31
+ </div>
32
+ </div>
33
+ </div>
34
+
35
+ <div class="matcha-card background-surface d-flex-column gap-16">
36
+ <span class="h5">Multiple Selection</span>
37
+ <span class="font-size-16">
38
+ Para seleção de mais de uma opção simultaneamente.
39
+ </span>
40
+ <div class="matcha-card background-bg">
41
+ <Story of={ComponentStories.MultipleButtonToggle} />
42
+ </div>
43
+ <div class="d-flex-column">
44
+ ```html
45
+ <mat-button-toggle-group name="fontStyle" aria-label="Font Style" multiple>
46
+ <mat-button-toggle value="bold">Bold</mat-button-toggle>
47
+ <mat-button-toggle value="italic">Italic</mat-button-toggle>
48
+ <mat-button-toggle value="underline">Underline</mat-button-toggle>
49
+ </mat-button-toggle-group>
50
+ ```
51
+ </div>
52
+ </div>
53
+ </div>
54
+
55
+ <br />
56
+
57
+ ### Installation
58
+
59
+ `import {MatButtonToggleModule} from '@angular/material/button-toggle';`
60
+
61
+ [Official documentation](https://material.angular.io/components/button-toggle/overview)
62
+
63
+ <br />
@@ -0,0 +1,64 @@
1
+ import { StoryObj, Meta, moduleMetadata } from '@storybook/angular';
2
+ import { action } from '@storybook/addon-actions';
3
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
4
+ import { buttonToggleArgtypes } from './button-toggle.argtype';
5
+ import { MatchaButtonToggleDirective } from './button-toggle.directive';
6
+ import { config } from '@storybook/addon-designs';
7
+
8
+ export default {
9
+ title: 'Atoms / Button Toggle ',
10
+ decorators: [
11
+ moduleMetadata({
12
+ imports: [MatButtonToggleModule],
13
+ declarations: [MatchaButtonToggleDirective],
14
+ }),
15
+ ],
16
+ args: {
17
+ appearance: 'standard',
18
+ label: 'Bold',
19
+ multiple: true,
20
+ vertical: false,
21
+ checked: false,
22
+ disabled: false,
23
+ disabledGroup: false,
24
+ disableRipple: false,
25
+ },
26
+ argTypes: buttonToggleArgtypes,
27
+ parameters: {
28
+ controls: {
29
+ expanded: false,
30
+ },
31
+ design: config({
32
+ type: 'figma',
33
+ url: 'https://www.figma.com/file/Enji6Zk0UvtHyt8fdOPdBx/DS-PAINEL-(Copy)?type=design&mode=design&t=IKqH3YB1sj5qgDHJ-1',
34
+ }),
35
+ },
36
+ } as Meta;
37
+
38
+ export const BasicButtonToggle: StoryObj = {
39
+ render: (args) => ({
40
+ props: args,
41
+ template: `
42
+ <mat-button-toggle-group [appearance]="appearance" [disabled]="disabledGroup" [vertical]="vertical" name="fontStyle" aria-label="Font Style" [multiple]="multiple">
43
+ <mat-button-toggle value="bold" [disabled]="disabled" [disableRipple]="disableRipple" [checked]="checked" >{{label}}</mat-button-toggle>
44
+ <mat-button-toggle value="italic">Italic</mat-button-toggle>
45
+ <mat-button-toggle value="underline">Underline</mat-button-toggle>
46
+ </mat-button-toggle-group>
47
+ `,
48
+ }),
49
+ name: 'Basic Button Toggle',
50
+ };
51
+
52
+ export const MultipleButtonToggle: StoryObj = {
53
+ render: (args) => ({
54
+ props: args,
55
+ template: `
56
+ <mat-button-toggle-group [appearance]="appearance" [disabled]="disabledGroup" [vertical]="vertical" name="fontStyle" aria-label="Font Style" [multiple]="multiple">
57
+ <mat-button-toggle value="bold" [disabled]="disabled" [disableRipple]="disableRipple" [checked]="checked" >{{label}}</mat-button-toggle>
58
+ <mat-button-toggle value="italic">Italic</mat-button-toggle>
59
+ <mat-button-toggle value="underline">Underline</mat-button-toggle>
60
+ </mat-button-toggle-group>
61
+ `,
62
+ }),
63
+ name: 'Multiple Button Toggle',
64
+ };
@@ -9,7 +9,6 @@ export class MatchaButtonToggleDirective {
9
9
  private _elementRef: ElementRef,
10
10
  private _renderer: Renderer2
11
11
  ) {
12
- //this._elementRef.nativeElement.style.backgroundColor = 'grey';
13
12
  this._renderer.addClass(this._elementRef.nativeElement,'matcha-button-toggle')
14
13
  }
15
14
 
@@ -0,0 +1,54 @@
1
+ export const cardArgtypes = {
2
+ elevation: {
3
+ description: 'Elevation level of the card',
4
+ defaultValue: 0,
5
+ table: {
6
+ type: { summary: 'range' },
7
+ defaultValue: { summary: 0 },
8
+ },
9
+ control: {
10
+ type: 'range',
11
+ min: 0,
12
+ max: 24,
13
+ step: 1,
14
+ },
15
+ },
16
+ blockquote: {
17
+ description: 'Position of the blockquote bar',
18
+ control: 'select',
19
+ defaultValue: '',
20
+ table: {
21
+ defaultValue: { summary: '' },
22
+ },
23
+ options: ['left', 'right', 'none'],
24
+ },
25
+ blockquoteColor: {
26
+ description: 'Theme color palette for the blockquote bar',
27
+ control: 'select',
28
+ defaultValue: 'accent',
29
+ table: {
30
+ defaultValue: { summary: 'accent' },
31
+ },
32
+ options: ['fg', 'accent', 'primary', 'warn', 'red', 'pink', 'purple', 'deep-purple', 'indigo', 'blue', 'light-blue', 'cyan', 'teal', 'green', 'light-green', 'lime', 'yellow', 'amber', 'orange', 'deep-orange', null],
33
+ },
34
+ color: {
35
+ description: 'Theme color palette for the card background',
36
+ control: 'select',
37
+ defaultValue: 'surface',
38
+ table: {
39
+ defaultValue: { summary: 'surface' },
40
+ },
41
+ options: ['bg', 'fg', 'surface', 'accent', 'primary', 'warn', 'red', 'pink', 'purple', 'deep-purple', 'indigo', 'blue', 'light-blue', 'cyan', 'teal', 'green', 'light-green', 'lime', 'yellow', 'amber', 'orange', 'deep-orange'],
42
+ },
43
+ alpha: {
44
+ description: 'Opacity of the card color',
45
+ control: 'boolean',
46
+ defaultValue: true,
47
+ table: {
48
+ defaultValue: { summary: true },
49
+ },
50
+ },
51
+ label: {
52
+ control: 'text',
53
+ },
54
+ };
@@ -0,0 +1,10 @@
1
+ <ng-content select="[mat-card-avatar], [matCardAvatar]"></ng-content>
2
+ <div class="title text-bold">
3
+ <span class="title-bullet matcha-background-accent h-24 w-8"></span>
4
+ <ng-content
5
+ select="mat-card-title, mat-card-subtitle,
6
+ [mat-card-title], [mat-card-subtitle],
7
+ [matCardTitle], [matCardSubtitle]"
8
+ ></ng-content>
9
+ </div>
10
+ <ng-content></ng-content>
@@ -0,0 +1,12 @@
1
+ <div>
2
+ <ng-content
3
+ select="mat-card-title, mat-card-subtitle,
4
+ [mat-card-title], [mat-card-subtitle],
5
+ [matCardTitle], [matCardSubtitle]"></ng-content>
6
+ </div>
7
+ <ng-content select="[mat-card-image], [matCardImage],
8
+ [mat-card-sm-image], [matCardImageSmall],
9
+ [mat-card-md-image], [matCardImageMedium],
10
+ [mat-card-lg-image], [matCardImageLarge],
11
+ [mat-card-xl-image], [matCardImageXLarge]"></ng-content>
12
+ <ng-content></ng-content>
@@ -0,0 +1,21 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { MatchaCardComponent } from './card.component';
4
+
5
+ describe('MatchaCardComponent', () => {
6
+ let component: MatchaCardComponent;
7
+ let fixture: ComponentFixture<MatchaCardComponent>;
8
+
9
+ beforeEach(() => {
10
+ TestBed.configureTestingModule({
11
+ declarations: [MatchaCardComponent],
12
+ });
13
+ fixture = TestBed.createComponent(MatchaCardComponent);
14
+ component = fixture.componentInstance;
15
+ fixture.detectChanges();
16
+ });
17
+
18
+ it('should create', () => {
19
+ expect(component).toBeTruthy();
20
+ });
21
+ });
@@ -0,0 +1,47 @@
1
+ import { ChangeDetectionStrategy, Component, Directive, Inject, InjectionToken, Input, Optional, ViewEncapsulation } from '@angular/core';
2
+
3
+ @Component({
4
+ selector: 'matcha-card',
5
+ templateUrl: './card.component.html',
6
+ styleUrls: ['./card.component.scss'],
7
+ })
8
+ export class MatchaCardComponent {
9
+ @Input()
10
+ elevation: number | string = 0;
11
+
12
+ @Input()
13
+ blockquote: 'left' | 'right' | 'none' | null = 'none';
14
+
15
+ @Input()
16
+ color: 'bg' | 'fg' | 'surface' | 'accent' | 'primary' | 'warn' | 'red' | 'pink' | 'purple' | 'deep-purple' | 'indigo' | 'blue' | 'light-blue' | 'cyan' | 'teal' | 'green' | 'light-green' | 'lime' | 'yellow' | 'amber' | 'orange' | 'deep-orange' | string = 'surface';
17
+
18
+ @Input()
19
+ blockquoteColor: 'fg' | 'accent' | 'primary' | 'warn' | 'red' | 'pink' | 'purple' | 'deep-purple' | 'indigo' | 'blue' | 'light-blue' | 'cyan' | 'teal' | 'green' | 'light-green' | 'lime' | 'yellow' | 'amber' | 'orange' | 'deep-orange' | null = null;
20
+
21
+ @Input()
22
+ class: string = '';
23
+
24
+ @Input()
25
+ alpha: boolean = false;
26
+
27
+ @Input()
28
+ loading: boolean = false;
29
+
30
+ public get classes(): string {
31
+ const elevation = `elevation-z-${this.elevation}`;
32
+ let blockquoteposition = this.blockquote === 'right' || 'left' ? `matcha-card-border-${this.blockquote}` : '';
33
+ let backgroundColor = '';
34
+ let blockquoteColor = '';
35
+
36
+ if (this.color === 'bg' || this.color === 'surface') {
37
+ backgroundColor = `background-${this.color}${this.alpha ? '-alpha' : ''}`;
38
+ blockquoteColor = this.blockquoteColor ? `border-color-${this.blockquoteColor}` : '';
39
+ } else {
40
+ backgroundColor = `background-${this.color}${this.alpha ? '-alpha' : ''} border-color-${this.color}`;
41
+ this.alpha ? (blockquoteposition = this.blockquote === 'right' || 'left' ? `matcha-card-border-${this.blockquote}` : '') : (blockquoteposition = '');
42
+ }
43
+
44
+ const activeClasses = `matcha-card ${elevation} ${blockquoteposition} ${blockquoteColor} ${backgroundColor} ${this.loading ? 'loading' : ''} ${this.class}`;
45
+ return activeClasses;
46
+ }
47
+ }