matcha-components 1.0.6 → 1.0.8

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 (251) hide show
  1. package/index.ts +1 -0
  2. package/package.json +1 -1
  3. package/src/documentation/presentation.mdx +105 -0
  4. package/src/foundation/borders/borders.mdx +180 -0
  5. package/src/foundation/colors/base/amber.mdx +12 -9
  6. package/src/foundation/colors/base/blue.mdx +12 -9
  7. package/src/foundation/colors/base/cyan.mdx +12 -9
  8. package/src/foundation/colors/base/deep-orange.mdx +12 -9
  9. package/src/foundation/colors/base/deep-purple.mdx +12 -9
  10. package/src/foundation/colors/base/green.mdx +12 -9
  11. package/src/foundation/colors/base/indigo.mdx +12 -9
  12. package/src/foundation/colors/base/light-blue.mdx +12 -9
  13. package/src/foundation/colors/base/light-green.mdx +12 -9
  14. package/src/foundation/colors/base/lime.mdx +12 -9
  15. package/src/foundation/colors/base/orange.mdx +12 -9
  16. package/src/foundation/colors/base/pink.mdx +12 -9
  17. package/src/foundation/colors/base/purple.mdx +12 -9
  18. package/src/foundation/colors/base/red.mdx +12 -9
  19. package/src/foundation/colors/base/teal.mdx +12 -9
  20. package/src/foundation/colors/base/yellow.mdx +12 -9
  21. package/src/foundation/colors/base-colors.mdx +21 -18
  22. package/src/foundation/colors/theme/accent.mdx +12 -9
  23. package/src/foundation/colors/theme/primary.mdx +12 -9
  24. package/src/foundation/colors/theme/warn.mdx +12 -9
  25. package/src/foundation/colors/theme-colors.mdx +11 -37
  26. package/src/foundation/spacing/margins.mdx +183 -0
  27. package/src/foundation/spacing/paddings.mdx +156 -0
  28. package/src/foundation/typography/colors.mdx +26 -0
  29. package/src/foundation/typography/font-size.mdx +57 -0
  30. package/src/foundation/typography/font-weight.mdx +65 -0
  31. package/src/foundation/typography/helpers.mdx +86 -0
  32. package/src/foundation/typography/letter-spacing.mdx +35 -0
  33. package/src/foundation/typography/line-height.mdx +52 -0
  34. package/src/foundation/typography/message-box.mdx +43 -0
  35. package/src/foundation/typography/text-align.mdx +22 -0
  36. package/src/foundation/typography/text-styles.mdx +88 -0
  37. package/src/lib/matcha-autocomplete/autocomplete.mdx +1 -1
  38. package/src/lib/matcha-autocomplete/autocomplete.stories.ts +16 -25
  39. package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.css +9 -0
  40. package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.html +9 -0
  41. package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.ts +37 -0
  42. package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.css +19 -0
  43. package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.html +17 -0
  44. package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.ts +70 -0
  45. package/src/lib/matcha-badge/badge.argtypes.ts +77 -0
  46. package/src/lib/matcha-badge/badge.directive.ts +11 -0
  47. package/src/lib/matcha-badge/badge.mdx +69 -0
  48. package/src/lib/matcha-badge/badge.module.ts +5 -10
  49. package/src/lib/matcha-badge/badge.stories.ts +79 -0
  50. package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example-sheet.html +21 -0
  51. package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example.component.ts +34 -0
  52. package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example.html +2 -0
  53. package/src/lib/matcha-bottom-sheet/bottom-sheet.argtypes.ts +117 -0
  54. package/src/lib/matcha-bottom-sheet/bottom-sheet.mdx +69 -0
  55. package/src/lib/matcha-bottom-sheet/bottom-sheet.module.ts +5 -10
  56. package/src/lib/matcha-bottom-sheet/bottom-sheet.stories.ts +39 -0
  57. package/src/lib/matcha-button/button-overview-example.component.ts +18 -0
  58. package/src/lib/matcha-button/button-overview-example.html +118 -0
  59. package/src/lib/matcha-button/button-overview-example.scss +31 -0
  60. package/src/lib/matcha-button/button.argtypes.ts +20 -0
  61. package/src/lib/matcha-button/button.directive.ts +39 -0
  62. package/src/lib/matcha-button/button.mdx +171 -0
  63. package/src/lib/matcha-button/button.module.ts +10 -0
  64. package/src/lib/matcha-button/button.stories.ts +38 -0
  65. package/src/lib/matcha-button-toggle/button-toggle.argtype.ts +115 -0
  66. package/src/lib/matcha-button-toggle/button-toggle.directive.ts +13 -0
  67. package/src/lib/matcha-button-toggle/button-toggle.mdx +63 -0
  68. package/src/lib/matcha-button-toggle/button-toggle.stories.ts +64 -0
  69. package/src/lib/matcha-button-toggle/matcha-button-toggle.directive.ts +0 -1
  70. package/src/lib/matcha-card/card-argtype.ts +54 -0
  71. package/src/lib/matcha-card/card-header.html +10 -0
  72. package/src/lib/matcha-card/card-title-group.html +12 -0
  73. package/src/lib/matcha-card/card.component.spec.ts +21 -0
  74. package/src/lib/matcha-card/card.component.ts +47 -0
  75. package/src/lib/matcha-card/card.mdx +43 -0
  76. package/src/lib/matcha-card/card.module.ts +10 -0
  77. package/src/lib/matcha-card/card.stories.ts +92 -0
  78. package/src/lib/matcha-components.module.ts +12 -47
  79. package/src/lib/matcha-dialog/confirmation-dialog.component.ts +39 -0
  80. package/src/lib/matcha-dialog/confirmation-dialog.stories.ts +21 -0
  81. package/src/lib/matcha-divider/divider.argtypes.ts +18 -0
  82. package/src/lib/matcha-divider/divider.mdx +51 -0
  83. package/src/lib/matcha-divider/divider.module.ts +5 -9
  84. package/src/lib/matcha-divider/divider.stories.ts +49 -0
  85. package/src/lib/matcha-elevation/elevation.argtypes.ts +16 -0
  86. package/src/lib/matcha-elevation/elevation.directive.ts +24 -0
  87. package/src/lib/matcha-elevation/elevation.mdx +50 -0
  88. package/src/lib/matcha-elevation/elevation.module.ts +10 -0
  89. package/src/lib/matcha-elevation/elevation.stories.ts +50 -0
  90. package/src/lib/matcha-expansion/expansion.argtypes.ts +44 -0
  91. package/src/lib/matcha-expansion/expansion.directive.ts +11 -0
  92. package/src/lib/matcha-expansion/expansion.mdx +69 -0
  93. package/src/lib/matcha-expansion/expansion.module.ts +10 -0
  94. package/src/lib/matcha-expansion/expansion.stories.ts +67 -0
  95. package/src/lib/matcha-forms/form-field-argtype.ts +60 -0
  96. package/src/lib/matcha-forms/form-field.directive.ts +11 -0
  97. package/src/lib/matcha-forms/form-field.mdx +20 -0
  98. package/src/lib/matcha-forms/{matcha-form-field.stories.ts → form-field.stories.ts} +64 -68
  99. package/src/lib/matcha-forms/forms.module.ts +5 -14
  100. package/src/lib/matcha-headers/headers.argtype.ts +14 -0
  101. package/src/lib/matcha-headers/headers.mdx +94 -0
  102. package/src/lib/matcha-headers/headers.module.ts +12 -0
  103. package/src/lib/matcha-headers/headers.stories.ts +88 -0
  104. package/src/lib/matcha-headers/headine/headline.component.html +1 -0
  105. package/src/lib/matcha-headers/headine/headline.component.ts +20 -0
  106. package/src/lib/matcha-headers/subhead/subhead.component.html +1 -0
  107. package/src/lib/matcha-headers/subhead/subhead.component.ts +20 -0
  108. package/src/lib/matcha-headers/title/title.component.html +1 -0
  109. package/src/lib/matcha-headers/title/title.component.ts +20 -0
  110. package/src/lib/matcha-icon/icon-argtype.ts +36 -0
  111. package/src/lib/matcha-icon/icon.component.html +3 -0
  112. package/src/lib/matcha-icon/icon.component.scss +0 -0
  113. package/src/lib/matcha-icon/icon.component.ts +34 -0
  114. package/src/lib/matcha-icon/icon.mdx +60 -0
  115. package/src/lib/matcha-icon/icon.module.ts +5 -14
  116. package/src/lib/matcha-icon/icon.stories.ts +423 -0
  117. package/src/lib/matcha-input/input.argtypes.ts +42 -0
  118. package/src/lib/matcha-input/input.directive.ts +11 -0
  119. package/src/lib/matcha-input/input.mdx +73 -0
  120. package/src/lib/matcha-input/input.module.ts +9 -0
  121. package/src/lib/matcha-input/input.stories.ts +97 -0
  122. package/src/lib/matcha-list/list.argtypes.ts +44 -0
  123. package/src/lib/matcha-list/{matcha-list.directive.ts → list.directive.ts} +3 -8
  124. package/src/lib/matcha-list/list.mdx +69 -0
  125. package/src/lib/matcha-list/list.module.ts +5 -9
  126. package/src/lib/matcha-list/list.stories.ts +101 -0
  127. package/src/lib/matcha-menu/menu.argtypes.ts +114 -0
  128. package/src/lib/matcha-menu/menu.mdx +59 -0
  129. package/src/lib/matcha-menu/menu.module.ts +5 -9
  130. package/src/lib/matcha-menu/menu.stories.ts +122 -0
  131. package/src/lib/matcha-paginator/paginator-overview-example.component.ts +13 -0
  132. package/src/lib/matcha-paginator/paginator-overview-example.css +0 -0
  133. package/src/lib/matcha-paginator/paginator-overview-example.html +1 -0
  134. package/src/lib/matcha-paginator/paginator.argtypes.ts +11 -0
  135. package/src/lib/matcha-paginator/paginator.mdx +53 -0
  136. package/src/lib/matcha-paginator/paginator.module.ts +5 -9
  137. package/src/lib/matcha-paginator/paginator.stories.ts +34 -0
  138. package/src/lib/matcha-progress-bar/progress-bar.mdx +1 -1
  139. package/src/lib/matcha-progress-spinner/progress-spinner.mdx +33 -13
  140. package/src/lib/matcha-progress-spinner/progress-spinner.stories.ts +8 -8
  141. package/src/lib/matcha-select/select.argtypes.ts +265 -0
  142. package/src/lib/matcha-select/{matcha-select.directive.ts → select.directive.ts} +3 -8
  143. package/src/lib/matcha-select/select.mdx +54 -0
  144. package/src/lib/matcha-select/select.module.ts +5 -7
  145. package/src/lib/matcha-select/select.stories.ts +164 -0
  146. package/src/lib/matcha-sidenav/sidenav.argtypes.ts +60 -0
  147. package/src/lib/matcha-sidenav/sidenav.directive.ts +11 -0
  148. package/src/lib/matcha-sidenav/sidenav.mdx +57 -0
  149. package/src/lib/matcha-sidenav/sidenav.module.ts +10 -0
  150. package/src/lib/matcha-sidenav/sidenav.stories.ts +79 -0
  151. package/src/lib/matcha-slide-toggle/slide-toggle.mdx +1 -1
  152. package/src/lib/matcha-slider/slider.argtypes.ts +83 -0
  153. package/src/lib/matcha-slider/slider.mdx +45 -0
  154. package/src/lib/matcha-slider/slider.stories.ts +149 -0
  155. package/src/lib/matcha-snackbar/snack-bar-overview-example.component.ts +23 -0
  156. package/src/lib/matcha-snackbar/snack-bar-overview-example.css +3 -0
  157. package/src/lib/matcha-snackbar/snack-bar-overview-example.html +11 -0
  158. package/src/lib/matcha-snackbar/snack-bar.argtypes.ts +11 -0
  159. package/src/lib/matcha-snackbar/snack-bar.directive.ts +11 -0
  160. package/src/lib/matcha-snackbar/snack-bar.mdx +53 -0
  161. package/src/lib/matcha-snackbar/snack-bar.module.ts +10 -0
  162. package/src/lib/matcha-snackbar/snack-bar.stories.ts +34 -0
  163. package/src/lib/matcha-sort-header/example/sort-overview-example.component.ts +67 -0
  164. package/src/lib/matcha-sort-header/example/sort-overview-example.css +3 -0
  165. package/src/lib/matcha-sort-header/example/sort-overview-example.html +21 -0
  166. package/src/lib/matcha-sort-header/sort-header.argtypes.ts +11 -0
  167. package/src/lib/matcha-sort-header/sort-header.mdx +78 -0
  168. package/src/lib/matcha-sort-header/sort-header.module.ts +5 -7
  169. package/src/lib/matcha-sort-header/sort-header.stories.ts +34 -0
  170. package/src/lib/matcha-stepper/stepper.argtypes.ts +92 -0
  171. package/src/lib/matcha-stepper/stepper.mdx +68 -0
  172. package/src/lib/matcha-stepper/stepper.module.ts +5 -7
  173. package/src/lib/matcha-stepper/stepper.stories.ts +163 -0
  174. package/src/lib/matcha-table/example/table-basic-example.component.ts +37 -0
  175. package/src/lib/matcha-table/example/table-basic-example.css +0 -0
  176. package/src/lib/matcha-table/example/table-basic-example.html +35 -0
  177. package/src/lib/matcha-table/table.argtypes.ts +11 -0
  178. package/src/lib/matcha-table/table.mdx +78 -0
  179. package/src/lib/matcha-table/table.module.ts +5 -7
  180. package/src/lib/matcha-table/table.stories.ts +34 -0
  181. package/src/lib/matcha-tabs/tabs.argtypes.ts +11 -0
  182. package/src/lib/matcha-tabs/tabs.mdx +69 -0
  183. package/src/lib/matcha-tabs/tabs.module.ts +5 -11
  184. package/src/lib/matcha-tabs/tabs.stories.ts +49 -0
  185. package/src/lib/matcha-toolbar/toolbar.argtypes.ts +20 -0
  186. package/src/lib/matcha-toolbar/toolbar.directive.ts +11 -0
  187. package/src/lib/matcha-toolbar/toolbar.mdx +57 -0
  188. package/src/lib/matcha-toolbar/toolbar.module.ts +10 -0
  189. package/src/lib/matcha-toolbar/toolbar.stories.ts +100 -0
  190. package/src/lib/matcha-tooltip/tooltip.argtypes.ts +11 -0
  191. package/src/lib/matcha-tooltip/tooltip.mdx +69 -0
  192. package/src/lib/matcha-tooltip/tooltip.module.ts +5 -7
  193. package/src/lib/matcha-tooltip/tooltip.stories.ts +79 -0
  194. package/src/lib/matcha-tree/tree.argtypes.ts +42 -0
  195. package/src/lib/matcha-tree/tree.mdx +49 -0
  196. package/src/lib/matcha-tree/tree.module.ts +5 -7
  197. package/src/lib/matcha-tree/tree.stories.ts +130 -0
  198. package/src/public-api.ts +27 -28
  199. package/src/lib/matcha-badge/matcha-badge.directive.ts +0 -16
  200. package/src/lib/matcha-buttons/buttons.module.ts +0 -27
  201. package/src/lib/matcha-buttons/matcha-btn-md.directive.ts +0 -16
  202. package/src/lib/matcha-buttons/matcha-btn-pill.directive.ts +0 -15
  203. package/src/lib/matcha-buttons/matcha-btn-size.directive.ts +0 -17
  204. package/src/lib/matcha-buttons/matcha-btn-xl.directive.ts +0 -15
  205. package/src/lib/matcha-card/card.mdx.txt +0 -55
  206. package/src/lib/matcha-card/matcha-card-argtype.ts +0 -123
  207. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.html +0 -3
  208. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.spec.ts +0 -21
  209. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.ts +0 -10
  210. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.html +0 -3
  211. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.spec.ts +0 -21
  212. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.ts +0 -10
  213. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.html +0 -4
  214. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.spec.ts +0 -21
  215. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.ts +0 -10
  216. package/src/lib/matcha-card/matcha-card.component.scss +0 -117
  217. package/src/lib/matcha-card/matcha-card.component.spec.ts +0 -21
  218. package/src/lib/matcha-card/matcha-card.component.ts +0 -43
  219. package/src/lib/matcha-card/matcha-card.module.ts +0 -27
  220. package/src/lib/matcha-card/matcha-card.stories.ts +0 -80
  221. package/src/lib/matcha-expansion-panel/expansion-panel.module.ts +0 -14
  222. package/src/lib/matcha-expansion-panel/matcha-expansion-panel.directive.ts +0 -16
  223. package/src/lib/matcha-forms/matcha-form-field-appearance.directive.ts +0 -16
  224. package/src/lib/matcha-forms/matcha-form-field-argtype.ts +0 -73
  225. package/src/lib/matcha-forms/matcha-form-field.mdx +0 -284
  226. package/src/lib/matcha-forms/matcha-form-input-text.directive.ts +0 -16
  227. package/src/lib/matcha-icon/matcha-icon-position-pos.directive.ts +0 -15
  228. package/src/lib/matcha-icon/matcha-icon-position-pre.directive.ts +0 -15
  229. package/src/lib/matcha-menu/menu.stories.txt +0 -76
  230. package/src/lib/matcha-snackbar/matcha-snackbar.directive.ts +0 -16
  231. package/src/lib/matcha-snackbar/snackbar.module.ts +0 -12
  232. package/src/lib/matcha-title/matcha-title.component.html +0 -33
  233. package/src/lib/matcha-title/matcha-title.component.spec.ts +0 -21
  234. package/src/lib/matcha-title/matcha-title.component.ts +0 -24
  235. package/src/lib/matcha-title/matcha-title.module.ts +0 -18
  236. /package/src/lib/matcha-bottom-sheet/{matcha-bottom-sheet.directive.ts → bottom-sheet.directive.ts} +0 -0
  237. /package/src/lib/{matcha-buttons/button.stories.ts → matcha-button/button.stories.ts.TXT} +0 -0
  238. /package/src/lib/matcha-card/{matcha-card.component.html → card.component.html} +0 -0
  239. /package/src/lib/matcha-card/{matcha-card-content/matcha-card-content.component.scss → card.component.scss} +0 -0
  240. /package/src/lib/matcha-divider/{matcha-divider.directive.ts → divider.directive.ts} +0 -0
  241. /package/src/lib/{matcha-card/matcha-card-footer/matcha-card-footer.component.scss → matcha-headers/headine/headline.component.scss} +0 -0
  242. /package/src/lib/{matcha-card/matcha-card-header/matcha-card-header.component.scss → matcha-headers/subhead/subhead.component.scss} +0 -0
  243. /package/src/lib/{matcha-title/matcha-title.component.scss → matcha-headers/title/title.component.scss} +0 -0
  244. /package/src/lib/matcha-menu/{matcha-menu.directive.ts → menu.directive.ts} +0 -0
  245. /package/src/lib/matcha-paginator/{matcha-paginator.directive.ts → paginator.directive.ts} +0 -0
  246. /package/src/lib/matcha-sort-header/{matcha-sort-header.directive.ts → sort-header.directive.ts} +0 -0
  247. /package/src/lib/matcha-stepper/{matcha-stepper.directive.ts → stepper.directive.ts} +0 -0
  248. /package/src/lib/matcha-table/{matcha-table.directive.ts → table.directive.ts} +0 -0
  249. /package/src/lib/matcha-tabs/{matcha-tabs.directive.ts → tabs.directive.ts} +0 -0
  250. /package/src/lib/matcha-tooltip/{matcha-tooltip.directive.ts → tooltip.directive.ts} +0 -0
  251. /package/src/lib/matcha-tree/{matcha-tree.directive.ts → tree.directive.ts} +0 -0
@@ -0,0 +1,54 @@
1
+ import { Story } from "@storybook/blocks";
2
+ import { Meta } from "@storybook/addon-docs";
3
+ import * as ComponentStories from "./select.stories";
4
+
5
+ <Meta title="Atoms / Select / Documentação" />
6
+
7
+ # Select
8
+
9
+ > _select_ "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">Select - Date range picker comparison ranges</span>
19
+ <div class="matcha-card background-bg">
20
+ <Story of={ComponentStories.SelectBasic} />
21
+ </div>
22
+
23
+ <div class="d-flex-column">
24
+
25
+ ```html
26
+ <form>
27
+ <mat-form-field appearance="outline">
28
+
29
+ <mat-label>Choose an option</mat-label>
30
+ <mat-select [disabled]="disableSelect.value">
31
+ <mat-option value="option1">Option 1</mat-option>
32
+ <mat-option value="option2" disabled>Option 2 (disabled)</mat-option>
33
+ <mat-option value="option3">Option 3</mat-option>
34
+ </mat-select>
35
+
36
+ </mat-form-field>
37
+ </form>
38
+ ```
39
+
40
+ </div>
41
+ </div>
42
+ </div>
43
+
44
+ </div>
45
+
46
+ <br />
47
+
48
+ ### Installation
49
+
50
+ `import {MatSelectModule} from '@angular/material/select';`
51
+
52
+ [Official documentation](https://https://material.angular.io/components/select/overview)
53
+
54
+ <br />
@@ -1,12 +1,10 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { MatchaSelectDirective } from './matcha-select.directive';
3
+ import { MatchaSelectDirective } from './select.directive';
4
4
 
5
5
  @NgModule({
6
- declarations: [MatchaSelectDirective],
7
- imports: [
8
- CommonModule
9
- ],
10
- exports:[MatchaSelectDirective]
6
+ declarations: [MatchaSelectDirective],
7
+ imports: [CommonModule],
8
+ exports: [MatchaSelectDirective],
11
9
  })
12
- export class MatchaSelectModule { }
10
+ export class MatchaSelectModule {}
@@ -0,0 +1,164 @@
1
+ import { applicationConfig, Meta, moduleMetadata, StoryObj } from '@storybook/angular';
2
+ import { action } from '@storybook/addon-actions';
3
+
4
+ import { NgIf, NgFor } from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+ import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+ import { provideAnimations } from '@angular/platform-browser/animations';
8
+
9
+ import { MatSelectModule } from '@angular/material/select';
10
+ import { MatFormFieldModule } from '@angular/material/form-field';
11
+
12
+ import { selectArgtypes } from './select.argtypes';
13
+
14
+ export default {
15
+ title: 'Atoms / Select',
16
+ decorators: [
17
+ applicationConfig({
18
+ providers: [provideAnimations()],
19
+ }),
20
+
21
+ moduleMetadata({
22
+ imports: [CommonModule, FormsModule, MatFormFieldModule, MatSelectModule, ReactiveFormsModule, NgIf, NgFor],
23
+ }),
24
+ ],
25
+ args: {
26
+ color: 'accent',
27
+ required: true,
28
+ placeholder: 'Selecione uma opção',
29
+ panelWidth: 'auto',
30
+ panelClass: 'background-accent-alpha',
31
+ multiple: true,
32
+ id: 'select',
33
+ hideSingleSelectionIndicator: false,
34
+ errorStateMatcher: null,
35
+ disabled: false,
36
+ disableRipple: false,
37
+ disableOptionCentering: false,
38
+ sortComparator: null,
39
+ typeaheadDebounceInterval: 200,
40
+ value: '',
41
+ controlType: 'mat-select',
42
+ defaultTabIndex: 0,
43
+ empty: false,
44
+ errorState: false,
45
+ focused: false,
46
+ panelOpen: false,
47
+ shouldLabelFloat: true,
48
+ triggerValue: '',
49
+ openedChange: action('openedChange'),
50
+ selectionChange: action('selectionChange'),
51
+ },
52
+ argTypes: selectArgtypes,
53
+ parameters: {
54
+ controls: { expanded: true },
55
+ },
56
+ } as Meta;
57
+
58
+ export const SelectBasic: StoryObj = {
59
+ render: (args) => ({
60
+ props: {
61
+ ...args,
62
+ required: {
63
+ table: {
64
+ disable: true,
65
+ },
66
+ },
67
+ },
68
+ parameters: {
69
+ controls: {
70
+ controls: { expanded: false },
71
+ exclude: ['required', 'placeholder', 'panelWidth', 'panelClass', 'multiple', 'id', 'hideSingleSelectionIndicator', 'errorStateMatcher', 'disabled', 'disableRipple', 'disableOptionCentering', 'sortComparator', 'typeaheadDebounceInterval', 'value', 'controlType', 'defaultTabIndex', 'empty', 'errorState', 'focused', 'panelOpen', 'shouldLabelFloat', 'triggerValue'],
72
+ },
73
+ },
74
+ template: `
75
+ <div class="d-flex-center-center">
76
+ <form class="matcha-card background-surface d-flex-column gap-16 max-w-256 w-256">
77
+ <mat-form-field appearance="outline" [color]="color">
78
+
79
+ <mat-label>Choose an option</mat-label>
80
+ <mat-select (click)="openedChange($event)" (onchange)="selectionChange($event)">
81
+ <mat-option value="option1">Option 1</mat-option>
82
+ <mat-option value="option2" disabled>Option 2 (disabled)</mat-option>
83
+ <mat-option value="option3">Option 3</mat-option>
84
+ </mat-select>
85
+
86
+ </mat-form-field>
87
+ </form>
88
+ </div>
89
+ `,
90
+ }),
91
+ name: 'Basic',
92
+ };
93
+
94
+ const toppings = new FormControl('');
95
+ const toppingList: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];
96
+
97
+ export const SelectMultiple: StoryObj = {
98
+ render: (args) => ({
99
+ props: {
100
+ ...args,
101
+ toppings,
102
+ toppingList,
103
+ },
104
+ parameters: {
105
+ controls: {
106
+ exclude: ['color', 'required', 'placeholder', 'panelWidth', 'panelClass', 'multiple', 'id', 'hideSingleSelectionIndicator', 'errorStateMatcher', 'disabled', 'disableRipple', 'disableOptionCentering', 'sortComparator', 'typeaheadDebounceInterval', 'value', 'controlType', 'defaultTabIndex', 'empty', 'errorState', 'focused', 'panelOpen', 'shouldLabelFloat', 'triggerValue'],
107
+ },
108
+ },
109
+ template: `
110
+ <div class="d-flex-center-center">
111
+ <form class="matcha-card background-surface d-flex-column gap-16 max-w-256 w-256">
112
+ <mat-form-field appearance="outline" [color]="color">
113
+
114
+ <mat-label>Toppings</mat-label>
115
+ <mat-select [formControl]="toppings" multiple="true" (click)="openedChange($event)" (onChange)="selectionChange($event)">
116
+ <mat-select-trigger>
117
+ {{toppings.value?.[0] || ''}}
118
+ <span *ngIf="(toppings.value?.length || 0) > 1" class="example-additional-selection">
119
+ (+{{(toppings.value?.length || 0) - 1}} {{toppings.value?.length === 2 ? 'other' : 'others'}})
120
+ </span>
121
+ </mat-select-trigger>
122
+ <mat-option *ngFor="let topping of toppingList" [value]="topping">{{topping}}</mat-option>
123
+ </mat-select>
124
+
125
+ </mat-form-field>
126
+ </form>
127
+ </div>
128
+ `,
129
+ }),
130
+ name: 'Multiple Select',
131
+ };
132
+
133
+ const toppingsControls = new FormControl('');
134
+
135
+ export const SelectControls: StoryObj = {
136
+ render: (args) => ({
137
+ props: {
138
+ ...args,
139
+ toppingsControls,
140
+ toppingList,
141
+ },
142
+ template: `
143
+ <div class="d-flex-center-center">
144
+ <form class="matcha-card background-surface d-flex-column gap-16 max-w-256 w-256">
145
+ <mat-form-field appearance="outline" [color]="color">
146
+
147
+ <mat-label>Toppings</mat-label>
148
+ <mat-select [formControl]="toppingsControls" [multiple]="multiple" [required]="required" [placeholder]="placeholder" [panelWidth]="panelWidth" [panelClass]="panelClass" [id]="id" [hideSingleSelectionIndicator]="hideSingleSelectionIndicator" [errorStateMatcher]="errorStateMatcher" [disabled]="disabled" [disableRipple]="disableRipple" [disableOptionCentering]="disableOptionCentering" [sortComparator]="sortComparator" [typeaheadDebounceInterval]="typeaheadDebounceInterval" [value]="value" [controlType]="controlType" [defaultTabIndex]="defaultTabIndex" [empty]="empty" [errorState]="errorState" [focused]="focused" [panelOpen]="panelOpen" [shouldLabelFloat]="shouldLabelFloat" [triggerValue]="triggerValue" >
149
+ <mat-select-trigger>
150
+ {{toppingsControls.value?.[0] || ''}}
151
+ <span *ngIf="(toppingsControls.value?.length || 0) > 1" class="example-additional-selection">
152
+ (+{{(toppingsControls.value?.length || 0) - 1}} {{toppingsControls.value?.length === 2 ? 'other' : 'others'}})
153
+ </span>
154
+ </mat-select-trigger>
155
+ <mat-option *ngFor="let topping of toppingList" [value]="topping">{{topping}}</mat-option>
156
+ </mat-select>
157
+
158
+ </mat-form-field>
159
+ </form>
160
+ </div>
161
+ `,
162
+ }),
163
+ name: 'Controls',
164
+ };
@@ -0,0 +1,60 @@
1
+ export const sidenavArgtypes = {
2
+ autoFocus: {
3
+ description: 'Whether the drawer should focus the first focusable element automatically when opened.',
4
+ control: 'boolean',
5
+ defaultValue: false,
6
+ table: {
7
+ type: { summary: 'boolean' },
8
+ },
9
+ },
10
+ disableClose: {
11
+ description: 'Whether the drawer can be closed with the escape key or by clicking on the backdrop.',
12
+ control: 'boolean',
13
+ defaultValue: false,
14
+ table: {
15
+ type: { summary: 'boolean' },
16
+ },
17
+ },
18
+ mode: {
19
+ description: 'Mode of the drawer; one of "over", "push", or "side".',
20
+ control: 'select',
21
+ options: ['over', 'push', 'side'],
22
+ defaultValue: 'over',
23
+ table: {
24
+ type: { summary: 'MatDrawerMode' },
25
+ },
26
+ },
27
+ opened: {
28
+ description: 'Whether the drawer is opened.',
29
+ control: 'boolean',
30
+ defaultValue: false,
31
+ table: {
32
+ type: { summary: 'boolean' },
33
+ },
34
+ },
35
+ position: {
36
+ description: 'The side that the drawer is attached to.',
37
+ control: 'select',
38
+ options: ['start', 'end'],
39
+ defaultValue: 'start',
40
+ table: {
41
+ type: { summary: '"start" | "end"' },
42
+ },
43
+ },
44
+ closedStart: {
45
+ description: 'Event emitted when the drawer has started closing.',
46
+ action: 'closedStart',
47
+ },
48
+ onPositionChanged: {
49
+ description: "Event emitted when the drawer's position changes.",
50
+ action: 'onPositionChanged',
51
+ },
52
+ openedChange: {
53
+ description: 'Event emitted when the drawer open state is changed.',
54
+ action: 'openedChange',
55
+ },
56
+ openedStart: {
57
+ description: 'Event emitted when the drawer has started opening.',
58
+ action: 'openedStart',
59
+ },
60
+ };
@@ -0,0 +1,11 @@
1
+ import { Directive, ElementRef, Renderer2 } from '@angular/core';
2
+
3
+ @Directive({
4
+ selector: '[matcha-sidenav]',
5
+ })
6
+ export class MatchaSidenavDirective {
7
+ constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {
8
+ //this._elementRef.nativeElement.style.backgroundColor = 'grey';
9
+ this._renderer.addClass(this._elementRef.nativeElement, 'matcha-sidenav');
10
+ }
11
+ }
@@ -0,0 +1,57 @@
1
+ import { Story } from "@storybook/blocks";
2
+ import { Meta } from "@storybook/addon-docs";
3
+ import * as ComponentStories from "./sidenav.stories";
4
+
5
+ <Meta title="Atoms / Sidenav / Documentação" />
6
+
7
+ # Sidenav
8
+
9
+ > _sidenav_ "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">Autosize Sidenav</span>
19
+ <div class="matcha-card background-bg">
20
+ <Story of={ComponentStories.AutosizeSidenav} />
21
+ </div>
22
+
23
+ <div class="d-flex-column">
24
+
25
+ ```html
26
+ <mat-drawer-container class="example-container" autosize>
27
+ <mat-drawer #drawer class="example-sidenav" mode="side">
28
+ <p>Auto-resizing sidenav</p>
29
+ <p *ngIf="showFiller">Lorem, ipsum dolor sit amet consectetur.</p>
30
+ <button (click)="showFiller = !showFiller" mat-raised-button>
31
+ Toggle extra text
32
+ </button>
33
+ </mat-drawer>
34
+
35
+ <div class="example-sidenav-content">
36
+ <button type="button" mat-button (click)="drawer.toggle()">
37
+ Toggle sidenav
38
+ </button>
39
+ </div>
40
+ </mat-drawer-container>
41
+ ```
42
+
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ </div>
48
+
49
+ <br />
50
+
51
+ ### Installation
52
+
53
+ `import {MatSidenavModule} from '@angular/material/sidenav';`
54
+
55
+ [Official documentation](https://https://material.angular.io/components/sidenav/overview)
56
+
57
+ <br />
@@ -0,0 +1,10 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatchaSidenavDirective } from './sidenav.directive';
4
+
5
+ @NgModule({
6
+ declarations: [MatchaSidenavDirective],
7
+ imports: [CommonModule],
8
+ exports: [MatchaSidenavDirective],
9
+ })
10
+ export class MatchaSidenavModule {}
@@ -0,0 +1,79 @@
1
+ import { applicationConfig, Meta, moduleMetadata, StoryObj } from '@storybook/angular';
2
+ import { NgIf, NgFor, AsyncPipe, JsonPipe } from '@angular/common';
3
+ import { CommonModule } from '@angular/common';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatSidenavModule } from '@angular/material/sidenav';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { provideAnimations } from '@angular/platform-browser/animations';
8
+ import { sidenavArgtypes } from './sidenav.argtypes';
9
+
10
+ export default {
11
+ title: 'Atoms / Sidenav',
12
+ decorators: [
13
+ applicationConfig({
14
+ providers: [provideAnimations()],
15
+ }),
16
+
17
+ moduleMetadata({
18
+ imports: [CommonModule, MatIconModule, MatSidenavModule, MatButtonModule, NgIf, JsonPipe, NgFor, AsyncPipe],
19
+ }),
20
+ ],
21
+ args: {
22
+ color: 'accent',
23
+ },
24
+ argTypes: sidenavArgtypes,
25
+ parameters: {
26
+ controls: { expanded: true },
27
+ },
28
+ } as Meta;
29
+
30
+ const showFiller = false;
31
+ export const AutosizeSidenav: StoryObj = {
32
+ render: (args) => ({
33
+ props: {
34
+ ...args,
35
+ showFiller,
36
+ },
37
+ template: `
38
+ <style>
39
+ .example-container {
40
+ width: 500px;
41
+ height: 300px;
42
+ border: 1px solid rgba(0, 0, 0, 0.5);
43
+ }
44
+
45
+ .example-sidenav-content {
46
+ display: flex;
47
+ height: 100%;
48
+ align-items: center;
49
+ justify-content: center;
50
+ }
51
+
52
+ .example-sidenav {
53
+ padding: 20px;
54
+ }
55
+ </style>
56
+ <div class="d-flex-center-center">
57
+ <div class="matcha-card background-surface d-flex-column gap-16">
58
+ <mat-drawer-container class="example-container" autosize>
59
+ <mat-drawer #drawer class="example-sidenav" mode="side">
60
+ <p>Auto-resizing sidenav</p>
61
+ <p *ngIf="showFiller">Lorem, ipsum dolor sit amet consectetur.</p>
62
+ <button (click)="showFiller = !showFiller" mat-raised-button>
63
+ Toggle extra text
64
+ </button>
65
+ </mat-drawer>
66
+
67
+ <div class="example-sidenav-content">
68
+ <button type="button" mat-button (click)="drawer.toggle()">
69
+ Toggle sidenav
70
+ </button>
71
+ </div>
72
+ </mat-drawer-container>
73
+ </div>
74
+ </div>
75
+
76
+ `,
77
+ }),
78
+ name: 'Autosize sidenav',
79
+ };
@@ -6,7 +6,7 @@ import * as ComponentStories from "./slide-toggle.stories";
6
6
 
7
7
  # Slide Toggle
8
8
 
9
- > _mat-slide-toggle_ is an on/off control that can be toggled via clicking.
9
+ > _mat-slide-toggle_ "ESCREVER DEFINIÇÃO DO ATÔMICO"
10
10
 
11
11
  ---
12
12
 
@@ -0,0 +1,83 @@
1
+ export const sliderArgtypes = {
2
+ color: {
3
+ description: 'Theme color palette for the component.',
4
+ control: 'select',
5
+ options: ['primary', 'accent', 'warn'],
6
+ defaultValue: 'accent',
7
+ table: {
8
+ type: { summary: 'ThemePalette' },
9
+ },
10
+ },
11
+ disableRipple: {
12
+ description: 'Whether ripples are disabled.',
13
+ control: 'boolean',
14
+ defaultValue: false,
15
+ table: {
16
+ type: { summary: 'boolean' },
17
+ },
18
+ },
19
+ disabled: {
20
+ description: 'Whether the slider is disabled.',
21
+ control: 'boolean',
22
+ defaultValue: false,
23
+ table: {
24
+ type: { summary: 'boolean' },
25
+ },
26
+ },
27
+ discrete: {
28
+ description: 'Whether the slider displays a numeric value label upon pressing the thumb.',
29
+ control: 'boolean',
30
+ defaultValue: false,
31
+ table: {
32
+ type: { summary: 'boolean' },
33
+ },
34
+ },
35
+ displayWith: {
36
+ description: 'Function that will be used to format the value before it is displayed in the thumb label.',
37
+ control: null, // Como é uma função, não é necessário um controle.
38
+ table: {
39
+ disable: true,
40
+ },
41
+ },
42
+ max: {
43
+ description: 'The maximum value that the slider can have.',
44
+ control: 'number',
45
+ defaultValue: 100,
46
+ table: {
47
+ type: { summary: 'number' },
48
+ },
49
+ },
50
+ min: {
51
+ description: 'The minimum value that the slider can have.',
52
+ control: 'number',
53
+ defaultValue: 0,
54
+ table: {
55
+ type: { summary: 'number' },
56
+ },
57
+ },
58
+ showTickMarks: {
59
+ description: 'Whether the slider displays tick marks along the slider track.',
60
+ control: 'boolean',
61
+ defaultValue: false,
62
+ table: {
63
+ type: { summary: 'boolean' },
64
+ },
65
+ },
66
+ step: {
67
+ description: 'The values at which the thumb will snap.',
68
+ control: 'number',
69
+ defaultValue: 1,
70
+ table: {
71
+ type: { summary: 'number' },
72
+ },
73
+ },
74
+ defaultColor: {
75
+ description: 'Default color to fall back to if no value is set.',
76
+ control: 'select',
77
+ options: ['primary', 'accent', 'warn', 'undefined'],
78
+ defaultValue: 'undefined',
79
+ table: {
80
+ type: { summary: 'ThemePalette | undefined' },
81
+ },
82
+ },
83
+ };
@@ -0,0 +1,45 @@
1
+ import { Story } from "@storybook/blocks";
2
+ import { Meta } from "@storybook/addon-docs";
3
+ import * as ComponentStories from "./slider.stories";
4
+
5
+ <Meta title="Atoms / Slider / Documentação" />
6
+
7
+ # Slider
8
+
9
+ > _slider_ "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">Slider - Basic slider</span>
19
+ <div class="matcha-card background-bg">
20
+ <Story of={ComponentStories.SliderBasic} />
21
+ </div>
22
+
23
+ <div class="d-flex-column">
24
+
25
+ ```html
26
+ <form>
27
+
28
+ </form>
29
+ ```
30
+
31
+ </div>
32
+ </div>
33
+ </div>
34
+
35
+ </div>
36
+
37
+ <br />
38
+
39
+ ### Installation
40
+
41
+ `import {MatSliderModule} from '@angular/material/slider';`
42
+
43
+ [Official documentation](https://https://material.angular.io/components/slider/overview)
44
+
45
+ <br />