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,69 @@
1
+ import { Story } from "@storybook/blocks";
2
+ import { Meta } from "@storybook/addon-docs";
3
+ import * as ComponentStories from "./expansion.stories";
4
+
5
+ <Meta title="Atoms / Expansion / Documentação" />
6
+
7
+ # Expansion
8
+
9
+ > _expansion_ "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">Expansion overview</span>
19
+ <div class="matcha-card background-bg">
20
+ <Story of={ComponentStories.ExpansionOverview} />
21
+ </div>
22
+
23
+ <div class="d-flex-column">
24
+
25
+ ```html
26
+
27
+ <mat-accordion>
28
+ <mat-expansion-panel hideToggle>
29
+ <mat-expansion-panel-header>
30
+ <mat-panel-title>
31
+ This is the expansion title
32
+ </mat-panel-title>
33
+ <mat-panel-description>
34
+ This is a summary of the content
35
+ </mat-panel-description>
36
+ </mat-expansion-panel-header>
37
+ <p>This is the primary content of the panel.</p>
38
+ </mat-expansion-panel>
39
+ <mat-expansion-panel (opened)="panelOpenState = true"
40
+ (closed)="panelOpenState = false">
41
+ <mat-expansion-panel-header>
42
+ <mat-panel-title>
43
+ Self aware panel
44
+ </mat-panel-title>
45
+ <mat-panel-description>
46
+ Currently I am {{panelOpenState ? 'open' : 'closed'}}
47
+ </mat-panel-description>
48
+ </mat-expansion-panel-header>
49
+ <p>I'm visible because I am open</p>
50
+ </mat-expansion-panel>
51
+ </mat-accordion>
52
+
53
+ ```
54
+
55
+ </div>
56
+ </div>
57
+ </div>
58
+
59
+ </div>
60
+
61
+ <br />
62
+
63
+ ### Installation
64
+
65
+ `import {MatExpansionModule} from '@angular/material/expansion';`
66
+
67
+ [Official documentation](https://https://material.angular.io/components/expansion/overview)
68
+
69
+ <br />
@@ -0,0 +1,10 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatchaExpansionDirective } from './expansion.directive';
4
+
5
+ @NgModule({
6
+ declarations: [MatchaExpansionDirective],
7
+ imports: [CommonModule],
8
+ exports: [MatchaExpansionDirective],
9
+ })
10
+ export class MatchaExpansionModule {}
@@ -0,0 +1,67 @@
1
+ import { applicationConfig, Meta, moduleMetadata, StoryObj } from '@storybook/angular';
2
+
3
+ import { NgIf, NgFor, AsyncPipe, JsonPipe } from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+
6
+ import { provideAnimations } from '@angular/platform-browser/animations';
7
+
8
+ import { MatExpansionModule } from '@angular/material/expansion';
9
+
10
+ import { expansionArgtypes } from './expansion.argtypes';
11
+ import { MatchaExpansionDirective } from './expansion.directive';
12
+
13
+ export default {
14
+ title: 'Atoms / Expansion',
15
+ decorators: [
16
+ applicationConfig({
17
+ providers: [provideAnimations()],
18
+ }),
19
+
20
+ moduleMetadata({
21
+ imports: [CommonModule, MatExpansionModule, NgIf, JsonPipe, NgFor, AsyncPipe],
22
+ declarations: [MatchaExpansionDirective],
23
+ }),
24
+ ],
25
+ args: {},
26
+ argTypes: expansionArgtypes,
27
+ parameters: {
28
+ controls: { expanded: true },
29
+ },
30
+ } as Meta;
31
+
32
+ const panelOpenState = false;
33
+ export const ExpansionOverview: StoryObj = {
34
+ render: (args) => ({
35
+ props: {
36
+ ...args,
37
+ },
38
+ template: `
39
+ <mat-accordion>
40
+ <mat-expansion-panel hideToggle>
41
+ <mat-expansion-panel-header>
42
+ <mat-panel-title>
43
+ This is the expansion title
44
+ </mat-panel-title>
45
+ <mat-panel-description>
46
+ This is a summary of the content
47
+ </mat-panel-description>
48
+ </mat-expansion-panel-header>
49
+ <p>This is the primary content of the panel.</p>
50
+ </mat-expansion-panel>
51
+ <mat-expansion-panel (opened)="panelOpenState = true"
52
+ (closed)="panelOpenState = false">
53
+ <mat-expansion-panel-header>
54
+ <mat-panel-title>
55
+ Self aware panel
56
+ </mat-panel-title>
57
+ <mat-panel-description>
58
+ Currently I am {{panelOpenState ? 'open' : 'closed'}}
59
+ </mat-panel-description>
60
+ </mat-expansion-panel-header>
61
+ <p>I'm visible because I am open</p>
62
+ </mat-expansion-panel>
63
+ </mat-accordion>
64
+ `,
65
+ }),
66
+ name: ' Expansion Overview',
67
+ };
@@ -0,0 +1,60 @@
1
+ export const formFieldArgtypes = {
2
+ appearance: {
3
+ description: 'The form field appearance style',
4
+ control: 'select',
5
+ defaultValue: 'standard',
6
+ table: {
7
+ defaultValue: { summary: 'outline' },
8
+ },
9
+ options: ['outline'],
10
+ },
11
+ color: {
12
+ description: 'Theme color palette',
13
+ control: 'select',
14
+ defaultValue: 'accent',
15
+ table: {
16
+ defaultValue: { summary: 'accent' },
17
+ },
18
+ options: ['primary', 'accent', 'warn'],
19
+ },
20
+ floatLabel: {
21
+ description: 'Whether the label should always float, never float or float as the user types',
22
+ control: 'select',
23
+ defaultValue: 'auto',
24
+ table: {
25
+ defaultValue: { summary: 'auto' },
26
+ },
27
+ options: ['always', 'never', 'auto'],
28
+ },
29
+ hideRequiredMarker: {
30
+ description: 'Whether the required marker should be hidden',
31
+ defaultValue: false,
32
+ table: {
33
+ type: { summary: 'boolean' },
34
+ defaultValue: { summary: false },
35
+ },
36
+ control: {
37
+ type: 'boolean',
38
+ },
39
+ },
40
+ hintLabel: {
41
+ description: 'Text for the form field hint',
42
+ defaultValue: '',
43
+ table: {
44
+ type: { summary: 'text' },
45
+ defaultValue: { summary: '' },
46
+ },
47
+ control: {
48
+ type: 'text',
49
+ },
50
+ },
51
+ alignHint: {
52
+ description: 'Whether to align the hint label at the start or end of the line',
53
+ control: 'select',
54
+ defaultValue: 'start',
55
+ table: {
56
+ defaultValue: { summary: 'start' },
57
+ },
58
+ options: ['start', 'end'],
59
+ },
60
+ };
@@ -0,0 +1,11 @@
1
+ import { Directive, ElementRef, Renderer2 } from '@angular/core';
2
+
3
+ @Directive({
4
+ selector: '[matchaFormField]',
5
+ })
6
+ export class MatchaFormFieldDirective {
7
+ constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {
8
+ //this._elementRef.nativeElement.style.backgroundColor = 'grey';
9
+ this._renderer.addClass(this._elementRef.nativeElement, 'matcha-form-field');
10
+ }
11
+ }
@@ -0,0 +1,20 @@
1
+ import { Story } from "@storybook/blocks";
2
+ import { Meta } from "@storybook/addon-docs";
3
+ import LinkTo from "@storybook/addon-links/react";
4
+
5
+ import linkImage from "../../../assets/open_in_new.png";
6
+ import * as ComponentStories from "./form-field.stories";
7
+
8
+ <Meta title="Atoms / Forms / Documentação" />
9
+
10
+ # Form field
11
+
12
+ > _mat-form-field_ is a component used to wrap several Angular Material components and apply common Text field styles such as the underline, floating label, and hint messages.
13
+
14
+ <br />
15
+
16
+ ## Installation
17
+
18
+ `import {MatFormFieldModule} from '@angular/material/form-field';`
19
+
20
+ [Official documentation](https://material.angular.io/components/form-field/overview)
@@ -1,61 +1,53 @@
1
- import { Meta, moduleMetadata, StoryObj } from '@storybook/angular';
1
+ import { applicationConfig, Meta, moduleMetadata, StoryObj } from '@storybook/angular';
2
2
  import { MatFormFieldModule } from '@angular/material/form-field';
3
3
  import { MatInputModule } from '@angular/material/input';
4
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
5
- import { formFieldArgtypes } from './matcha-form-field-argtype';
4
+ import { BrowserAnimationsModule, provideAnimations } from '@angular/platform-browser/animations';
5
+ import { formFieldArgtypes } from './form-field-argtype';
6
+ import { MatchaFormFieldDirective } from './form-field.directive';
6
7
  import { MatSelectModule } from '@angular/material/select';
7
8
  import { MatIconModule } from '@angular/material/icon';
8
9
  import { MatButtonModule } from '@angular/material/button';
9
- import {
10
- FormControl,
11
- FormsModule,
12
- ReactiveFormsModule,
13
- Validators,
14
- } from '@angular/forms';
10
+ import { FormControl, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
15
11
  import { userEvent, within } from '@storybook/testing-library';
16
12
  import { expect } from '@storybook/jest';
17
13
 
18
14
  export default {
19
- title: 'Atoms / Form field',
20
- // tags: ['autodocs'],
15
+ title: 'Atoms / Forms',
21
16
  decorators: [
17
+ applicationConfig({
18
+ providers: [provideAnimations()],
19
+ }),
20
+
22
21
  moduleMetadata({
23
- imports: [
24
- BrowserAnimationsModule,
25
- MatFormFieldModule,
26
- MatInputModule,
27
- MatSelectModule,
28
- MatIconModule,
29
- MatButtonModule,
30
- ReactiveFormsModule,
31
- FormsModule,
32
- ],
22
+ imports: [BrowserAnimationsModule, MatFormFieldModule, MatInputModule, MatSelectModule, MatIconModule, MatButtonModule, ReactiveFormsModule, FormsModule],
23
+ declarations: [MatchaFormFieldDirective],
33
24
  }),
34
25
  ],
26
+ args: {
27
+ appearance: 'outline',
28
+ color: 'accent',
29
+ },
30
+ argTypes: formFieldArgtypes,
35
31
  parameters: {
36
32
  actions: { argTypesRegex: '^on.*' },
37
- controls: {
38
- expanded: true,
39
- },
33
+ controls: { expanded: true },
40
34
  },
41
- argTypes: formFieldArgtypes,
42
35
  } as Meta;
43
36
 
44
37
  export const WithBasicUsage: StoryObj = {
45
38
  render: (args) => ({
46
39
  props: args,
47
40
  template: `
41
+ <mat-form-field matchaFormField id="email" appearance="outline" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
42
+ <mat-label>email</mat-label>
43
+ <input type="text" matInput>
44
+ </mat-form-field>
48
45
 
49
- <mat-form-field id="email" appearance="outline" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
50
- <mat-label>email</mat-label>
51
- <input type="text" matInput>
52
- </mat-form-field>
53
-
54
- <mat-form-field id="password" appearance="outline" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
55
- <mat-label>Password</mat-label>
56
- <input type="text" matInput>
57
- </mat-form-field>
58
- `,
46
+ <mat-form-field matchaFormField id="password" appearance="outline" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
47
+ <mat-label>Password</mat-label>
48
+ <input type="text" matInput>
49
+ </mat-form-field>
50
+ `,
59
51
  }),
60
52
  // Added an example of how to use the play function
61
53
  // For more information, see https://storybook.js.org/docs/angular/writing-tests/interaction-testing
@@ -65,17 +57,10 @@ export const WithBasicUsage: StoryObj = {
65
57
 
66
58
  // 👇 Simulate interactions with the component
67
59
  await userEvent.type(canvas.getByTestId('email'), 'email@provider.com');
68
- await userEvent.type(
69
- canvas.getByTestId('password'),
70
- 'a-random-password'
71
- );
60
+ await userEvent.type(canvas.getByTestId('password'), 'a-random-password');
72
61
  await userEvent.click(canvas.getByRole('button'));
73
62
  // 👇 Assert DOM structure
74
- await expect(
75
- canvas.getByText(
76
- 'Everything is perfect. Your account is ready and we should probably get you started!'
77
- )
78
- );
63
+ await expect(canvas.getByText('Everything is perfect. Your account is ready and we should probably get you started!'));
79
64
  },
80
65
  name: 'basic usage',
81
66
  parameters: {
@@ -87,13 +72,16 @@ export const WithBasicUsage: StoryObj = {
87
72
 
88
73
  export const WithStateFilled: StoryObj = {
89
74
  render: (args) => ({
90
- props: args,
75
+ props: {
76
+ args,
77
+ appearance: 'outline',
78
+ },
91
79
  template: `
92
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
93
- <mat-label>Password</mat-label>
94
- <input type="text" matInput [ngModel]="'admin'">
95
- </mat-form-field>
96
- `,
80
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
81
+ <mat-label>Password</mat-label>
82
+ <input type="text" matInput [ngModel]="'admin'">
83
+ </mat-form-field>
84
+ `,
97
85
  }),
98
86
  name: 'with state (filled)',
99
87
  parameters: {
@@ -110,7 +98,7 @@ export const WithStateDisabled: StoryObj = {
110
98
  appearance: 'outline',
111
99
  },
112
100
  template: `
113
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
101
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
114
102
  <mat-label>Password</mat-label>
115
103
  <input type="text" matInput disabled>
116
104
  </mat-form-field>
@@ -131,7 +119,7 @@ export const WithStateFocused: StoryObj = {
131
119
  appearance: 'outline',
132
120
  },
133
121
  template: `
134
- <mat-form-field class="mat-focused" [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
122
+ <mat-form-field matchaFormField class="mat-focused" [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
135
123
  <mat-label>Password 1</mat-label>
136
124
  <input type="text" matInput [ngModel]="'admin'">
137
125
  </mat-form-field>
@@ -152,7 +140,7 @@ export const WithStateHover: StoryObj = {
152
140
  appearance: 'outline',
153
141
  },
154
142
  template: `
155
- <mat-form-field class="mat-focused" [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
143
+ <mat-form-field matchaFormField class="mat-focused" [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
156
144
  <mat-label>Password</mat-label>
157
145
  <input type="text" matInput>
158
146
  </mat-form-field>
@@ -176,7 +164,7 @@ export const WithAppearanceOutline: StoryObj = {
176
164
  appearance: 'outline',
177
165
  },
178
166
  template: `
179
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
167
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
180
168
  <mat-label>Password</mat-label>
181
169
  <input type="text" matInput>
182
170
  </mat-form-field>
@@ -194,7 +182,7 @@ export const WithStartHint: StoryObj = {
194
182
  render: (args) => ({
195
183
  props: args,
196
184
  template: `
197
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
185
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
198
186
  <mat-label>Password</mat-label>
199
187
  <input type="text" matInput>
200
188
  <mat-hint align="start">at least 8 characters</mat-hint>
@@ -208,7 +196,7 @@ export const WithEndHint: StoryObj = {
208
196
  render: (args) => ({
209
197
  props: args,
210
198
  template: `
211
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
199
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
212
200
  <mat-label>Contributions</mat-label>
213
201
  <mat-select>
214
202
  <mat-option>Components</mat-option>
@@ -225,7 +213,7 @@ export const WithDoubleHints: StoryObj = {
225
213
  render: (args) => ({
226
214
  props: args,
227
215
  template: `
228
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
216
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
229
217
  <mat-label>Username</mat-label>
230
218
  <input type="text" matInput #input [attr.maxlength]="10">
231
219
  <mat-hint align="start">Max 10 characters</mat-hint>
@@ -243,7 +231,7 @@ export const WithPrefix: StoryObj = {
243
231
  hide: true,
244
232
  },
245
233
  template: `
246
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
234
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
247
235
  <mat-label>Password</mat-label>
248
236
  <input matInput [type]="hide ? 'password' : 'text'">
249
237
  <span class="i-matcha-action_key"></span>
@@ -265,14 +253,22 @@ export const WithSuffix: StoryObj = {
265
253
  hide: true,
266
254
  },
267
255
  template: `
268
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
269
- <mat-label>Password</mat-label>
270
- <input matInput [type]="hide ? 'password' : 'text'">
271
- <button mat-icon-button matSuffix (click)="hide = !hide" [attr.aria-label]="'Hide password'" [attr.aria-pressed]="hide">
272
- <span class="{{hide ? 'i-matcha-visibility-on' : 'i-matcha-visibility-off'}}"></span>
273
- </button>
274
- </mat-form-field>
275
- `,
256
+ <div class="d-flex-column max-w-600 gap-16">
257
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
258
+ <mat-label>Password</mat-label>
259
+ <input matInput [type]="hide ? 'password' : 'text'">
260
+ <button mat-icon-button matSuffix (click)="hide = !hide" [attr.aria-label]="'Hide password'" [attr.aria-pressed]="hide">
261
+ <span class="{{hide ? 'i-matcha-visibility-on' : 'i-matcha-visibility-off'}}"></span>
262
+ </button>
263
+ </mat-form-field>
264
+
265
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
266
+ <mat-label>Name</mat-label>
267
+ <input matInput #suffix_hint maxlength="50">
268
+ <span matSuffix class="small pr-8">{{ suffix_hint.value?.length || 0}}/50</span>
269
+ </mat-form-field>
270
+ </div>
271
+ `,
276
272
  }),
277
273
  name: 'with suffix',
278
274
  parameters: {
@@ -303,7 +299,7 @@ export const WithPrefixAndSuffix: StoryObj = {
303
299
  -moz-appearance: textfield;
304
300
  }
305
301
  </style>
306
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
302
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
307
303
  <mat-label>Amount</mat-label>
308
304
  <input matInput type="number" class="example-right-align" placeholder="0">
309
305
  <span matPrefix>$&nbsp;</span>
@@ -329,7 +325,7 @@ export const WithErrorMessage: StoryObj = {
329
325
  control: control,
330
326
  },
331
327
  template: `
332
- <mat-form-field [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
328
+ <mat-form-field matchaFormField [appearance]="appearance" [color]="color" [floatLabel]="floatLabel" [hideRequiredMarker]="hideRequiredMarker" [hintLabel]="hintLabel">
333
329
  <mat-label>Password</mat-label>
334
330
  <input type="text" matInput [formControl]="control">
335
331
  <mat-error *ngIf="control.hasError('required')">This field is required</mat-error>
@@ -1,19 +1,10 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { MatchaFormInputTextDirective } from './matcha-form-input-text.directive';
4
- import { MatchaFormFieldAppearanceDirective } from './matcha-form-field-appearance.directive';
3
+ import { MatchaFormFieldDirective } from './form-field.directive';
5
4
 
6
5
  @NgModule({
7
- declarations: [
8
- MatchaFormInputTextDirective,
9
- MatchaFormFieldAppearanceDirective
10
- ],
11
- imports: [
12
- CommonModule
13
- ],
14
- exports: [
15
- MatchaFormInputTextDirective,
16
- MatchaFormFieldAppearanceDirective
17
- ]
6
+ declarations: [MatchaFormFieldDirective],
7
+ imports: [CommonModule],
8
+ exports: [MatchaFormFieldDirective],
18
9
  })
19
- export class MatchaFormsModule { }
10
+ export class MatchaFormsModule {}
@@ -0,0 +1,14 @@
1
+ export const headersArgtypes = {
2
+ bulletColor: {
3
+ description: 'The color theme for the bullet of the title.',
4
+ control: 'select',
5
+ defaultValue: 'surface',
6
+ table: {
7
+ defaultValue: { summary: 'accent' },
8
+ },
9
+ 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],
10
+ },
11
+ label: {
12
+ control: 'text',
13
+ },
14
+ };
@@ -0,0 +1,94 @@
1
+ import { Story } from "@storybook/blocks";
2
+ import { Meta } from "@storybook/addon-docs";
3
+ import * as ComponentStories from "./headers.stories";
4
+
5
+ <Meta title="Atoms / Headers / Documentação" />
6
+
7
+ # Title
8
+
9
+ > _title_ "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">Headers overview</span>
19
+ <div class="matcha-card background-bg">
20
+ <Story of={ComponentStories.HeadersOverview}/>
21
+ </div>
22
+
23
+ <div class="d-flex-column">
24
+
25
+ ```html
26
+ <div class="d-flex-center-center gap-16">
27
+ <matcha-headline bulletColor="accent">Headline Example</matcha-headline>
28
+ <matcha-subhead bulletColor="accent">Subhead Example</matcha-subhead>
29
+ <matcha-title bulletColor="accent">Title Example</matcha-title>
30
+ </div>
31
+ ```
32
+
33
+ </div>
34
+ </div>
35
+ </div>
36
+
37
+ <div class="d-flex-column">
38
+ <div class="matcha-card background-surface d-flex-column gap-16">
39
+ <span class="h5">Headline overview</span>
40
+ <div class="matcha-card background-bg">
41
+ <Story of={ComponentStories.HeadlineOverview}/>
42
+ </div>
43
+
44
+ <div class="d-flex-column">
45
+
46
+ ```html
47
+ <div class="d-flex-center-center">
48
+ <matcha-headline bulletColor="accent">Headline Example</matcha-headline>
49
+ </div>
50
+ ```
51
+
52
+ </div>
53
+ </div>
54
+ </div>
55
+
56
+ <div class="d-flex-column">
57
+ <div class="matcha-card background-surface d-flex-column gap-16">
58
+ <span class="h5">Subhead overview</span>
59
+ <div class="matcha-card background-bg">
60
+ <Story of={ComponentStories.SubheadOverview}/>
61
+ </div>
62
+
63
+ <div class="d-flex-column">
64
+
65
+ ```html
66
+ <div class="d-flex-center-center">
67
+ <matcha-subhead bulletColor="accent">Subhead Example</matcha-subhead>
68
+ </div>
69
+ ```
70
+
71
+ </div>
72
+ </div>
73
+ </div>
74
+
75
+ <div class="d-flex-column">
76
+ <div class="matcha-card background-surface d-flex-column gap-16">
77
+ <span class="h5">Title overview</span>
78
+ <div class="matcha-card background-bg">
79
+ <Story of={ComponentStories.TitleOverview}/>
80
+ </div>
81
+
82
+ <div class="d-flex-column">
83
+
84
+ ```html
85
+ <div class="d-flex-center-center">
86
+ <matcha-title bulletColor="accent">Title Example</matcha-title>
87
+ </div>
88
+ ```
89
+
90
+ </div>
91
+ </div>
92
+ </div>
93
+
94
+ </div>
@@ -0,0 +1,12 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatchaTitleComponent } from './title/title.component';
4
+ import { MatchaHeadlineComponent } from './headine/headline.component';
5
+ import { MatchaSubheadComponent } from './subhead/subhead.component';
6
+
7
+ @NgModule({
8
+ declarations: [MatchaTitleComponent, MatchaHeadlineComponent, MatchaSubheadComponent],
9
+ imports: [CommonModule],
10
+ exports: [MatchaTitleComponent, MatchaHeadlineComponent, MatchaSubheadComponent],
11
+ })
12
+ export class MatchaHeadersModule {}