matcha-components 1.0.5 → 1.0.6

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 (177) hide show
  1. package/README.md +239 -2
  2. package/assets/open_in_new.png +0 -0
  3. package/ng-package.json +7 -0
  4. package/package.json +10 -23
  5. package/src/foundation/colors/base/amber.mdx +232 -0
  6. package/src/foundation/colors/base/blue.mdx +232 -0
  7. package/src/foundation/colors/base/cyan.mdx +232 -0
  8. package/src/foundation/colors/base/deep-orange.mdx +232 -0
  9. package/src/foundation/colors/base/deep-purple.mdx +232 -0
  10. package/src/foundation/colors/base/green.mdx +232 -0
  11. package/src/foundation/colors/base/indigo.mdx +232 -0
  12. package/src/foundation/colors/base/light-blue.mdx +232 -0
  13. package/src/foundation/colors/base/light-green.mdx +232 -0
  14. package/src/foundation/colors/base/lime.mdx +232 -0
  15. package/src/foundation/colors/base/orange.mdx +232 -0
  16. package/src/foundation/colors/base/pink.mdx +232 -0
  17. package/src/foundation/colors/base/purple.mdx +232 -0
  18. package/src/foundation/colors/base/red.mdx +232 -0
  19. package/src/foundation/colors/base/teal.mdx +232 -0
  20. package/src/foundation/colors/base/yellow.mdx +232 -0
  21. package/src/foundation/colors/base-colors.mdx +141 -0
  22. package/src/foundation/colors/surface-colors.mdx +93 -0
  23. package/src/foundation/colors/theme/accent.mdx +232 -0
  24. package/src/foundation/colors/theme/primary.mdx +232 -0
  25. package/src/foundation/colors/theme/warn.mdx +232 -0
  26. package/src/foundation/colors/theme-colors.mdx +159 -0
  27. package/src/foundation/sizes/heights.mdx +232 -0
  28. package/src/foundation/sizes/max-heights.mdx +237 -0
  29. package/src/foundation/sizes/max-width.mdx +236 -0
  30. package/src/foundation/sizes/min-heights.mdx +237 -0
  31. package/src/foundation/sizes/min-width.mdx +236 -0
  32. package/src/foundation/sizes/sizes.mdx +219 -0
  33. package/src/foundation/sizes/widths.mdx +234 -0
  34. package/src/lib/matcha-autocomplete/autocomplete-overview.directive.ts +16 -0
  35. package/src/lib/matcha-autocomplete/autocomplete.argtypes.ts +64 -0
  36. package/src/lib/matcha-autocomplete/autocomplete.directive.ts +14 -0
  37. package/src/lib/matcha-autocomplete/autocomplete.mdx +112 -0
  38. package/src/lib/matcha-autocomplete/autocomplete.module.ts +14 -0
  39. package/src/lib/matcha-autocomplete/autocomplete.stories.ts +113 -0
  40. package/src/lib/matcha-badge/badge.module.ts +14 -0
  41. package/src/lib/matcha-badge/matcha-badge.directive.ts +16 -0
  42. package/src/lib/matcha-bottom-sheet/bottom-sheet.module.ts +14 -0
  43. package/src/lib/matcha-bottom-sheet/matcha-bottom-sheet.directive.ts +16 -0
  44. package/src/lib/matcha-button-toggle/button-toggle.module.ts +14 -0
  45. package/src/lib/matcha-button-toggle/matcha-button-toggle.directive.ts +16 -0
  46. package/src/lib/matcha-buttons/button.stories.ts +111 -0
  47. package/src/lib/matcha-buttons/buttons.module.ts +27 -0
  48. package/src/lib/matcha-buttons/matcha-btn-md.directive.ts +16 -0
  49. package/src/lib/matcha-buttons/matcha-btn-pill.directive.ts +15 -0
  50. package/src/lib/matcha-buttons/matcha-btn-size.directive.ts +17 -0
  51. package/src/lib/matcha-buttons/matcha-btn-xl.directive.ts +15 -0
  52. package/src/lib/matcha-card/card.mdx.txt +55 -0
  53. package/src/lib/matcha-card/matcha-card-argtype.ts +123 -0
  54. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.html +3 -0
  55. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.scss +0 -0
  56. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.spec.ts +21 -0
  57. package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.ts +10 -0
  58. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.html +3 -0
  59. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.scss +0 -0
  60. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.spec.ts +21 -0
  61. package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.ts +10 -0
  62. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.html +4 -0
  63. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.scss +0 -0
  64. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.spec.ts +21 -0
  65. package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.ts +10 -0
  66. package/src/lib/matcha-card/matcha-card.component.html +3 -0
  67. package/src/lib/matcha-card/matcha-card.component.scss +117 -0
  68. package/src/lib/matcha-card/matcha-card.component.spec.ts +21 -0
  69. package/src/lib/matcha-card/matcha-card.component.ts +43 -0
  70. package/src/lib/matcha-card/matcha-card.module.ts +27 -0
  71. package/src/lib/matcha-card/matcha-card.stories.ts +80 -0
  72. package/src/lib/matcha-checkbox/checkbox.argtype.ts +79 -0
  73. package/src/lib/matcha-checkbox/checkbox.directive.ts +14 -0
  74. package/src/lib/matcha-checkbox/checkbox.mdx +76 -0
  75. package/src/lib/matcha-checkbox/checkbox.module.ts +9 -0
  76. package/src/lib/matcha-checkbox/checkbox.stories.ts +161 -0
  77. package/src/lib/matcha-checkbox/checkbox.stories.txt +74 -0
  78. package/src/lib/matcha-chips/chips.module.ts +12 -0
  79. package/src/lib/matcha-chips/matcha-chips.directive.ts +16 -0
  80. package/src/lib/matcha-components.module.ts +78 -0
  81. package/src/lib/matcha-datepicker/datepicker.argtypes.ts +63 -0
  82. package/src/lib/matcha-datepicker/datepicker.directive.ts +14 -0
  83. package/src/lib/matcha-datepicker/datepicker.mdx +73 -0
  84. package/src/lib/matcha-datepicker/datepicker.module.ts +9 -0
  85. package/src/lib/matcha-datepicker/datepicker.stories.ts +277 -0
  86. package/src/lib/matcha-dialog/dialog.module.ts +14 -0
  87. package/src/lib/matcha-dialog/matcha-dialog.directive.ts +16 -0
  88. package/src/lib/matcha-dialog2/confirmation-dialog.component.ts.txt +54 -0
  89. package/src/lib/matcha-dialog2/confirmation-dialog.stories.ts.txt +24 -0
  90. package/src/lib/matcha-divider/divider.module.ts +14 -0
  91. package/src/lib/matcha-divider/matcha-divider.directive.ts +16 -0
  92. package/src/lib/matcha-expansion-panel/expansion-panel.module.ts +14 -0
  93. package/src/lib/matcha-expansion-panel/matcha-expansion-panel.directive.ts +16 -0
  94. package/src/lib/matcha-forms/forms.module.ts +19 -0
  95. package/src/lib/matcha-forms/matcha-form-field-appearance.directive.ts +16 -0
  96. package/src/lib/matcha-forms/matcha-form-field-argtype.ts +73 -0
  97. package/src/lib/matcha-forms/matcha-form-field.mdx +284 -0
  98. package/src/lib/matcha-forms/matcha-form-field.stories.ts +345 -0
  99. package/src/lib/matcha-forms/matcha-form-input-text.directive.ts +16 -0
  100. package/src/lib/matcha-icon/icon.module.ts +19 -0
  101. package/src/lib/matcha-icon/matcha-icon-position-pos.directive.ts +15 -0
  102. package/src/lib/matcha-icon/matcha-icon-position-pre.directive.ts +15 -0
  103. package/src/lib/matcha-list/list.module.ts +14 -0
  104. package/src/lib/matcha-list/matcha-list.directive.ts +16 -0
  105. package/src/lib/matcha-menu/matcha-menu.directive.ts +16 -0
  106. package/src/lib/matcha-menu/menu.module.ts +14 -0
  107. package/src/lib/matcha-menu/menu.stories.txt +76 -0
  108. package/src/lib/matcha-paginator/matcha-paginator.directive.ts +16 -0
  109. package/src/lib/matcha-paginator/paginator.module.ts +14 -0
  110. package/src/lib/matcha-progress-bar/progress-bar.argtype.ts +48 -0
  111. package/src/lib/matcha-progress-bar/progress-bar.directive.ts +16 -0
  112. package/src/lib/matcha-progress-bar/progress-bar.mdx +95 -0
  113. package/src/lib/matcha-progress-bar/progress-bar.module.ts +14 -0
  114. package/src/lib/matcha-progress-bar/progress-bar.stories.ts +89 -0
  115. package/src/lib/matcha-progress-spinner/progress-spinner.argtype.ts +65 -0
  116. package/src/lib/matcha-progress-spinner/progress-spinner.directive.ts +16 -0
  117. package/src/lib/matcha-progress-spinner/progress-spinner.mdx +23 -0
  118. package/src/lib/matcha-progress-spinner/progress-spinner.module.ts +14 -0
  119. package/src/lib/matcha-progress-spinner/progress-spinner.stories.ts +44 -0
  120. package/src/lib/matcha-radio-button/matcha-radio-button.argtype.ts +85 -0
  121. package/src/lib/matcha-radio-button/matcha-radio-button.directive.ts +16 -0
  122. package/src/lib/matcha-radio-button/matcha-radio-button.stories.ts +44 -0
  123. package/src/lib/matcha-radio-button/radio-button.module.ts +12 -0
  124. package/src/lib/matcha-select/matcha-select.directive.ts +16 -0
  125. package/src/lib/matcha-select/select.module.ts +12 -0
  126. package/src/lib/matcha-select/select.stories.txt +109 -0
  127. package/src/lib/matcha-slide-toggle/slide-toggle.argtype.ts +66 -0
  128. package/src/lib/matcha-slide-toggle/slide-toggle.directive.ts +16 -0
  129. package/src/lib/matcha-slide-toggle/slide-toggle.mdx +92 -0
  130. package/src/lib/matcha-slide-toggle/slide-toggle.module.ts +12 -0
  131. package/src/lib/matcha-slide-toggle/slide-toggle.stories.ts +167 -0
  132. package/src/lib/matcha-slider/matcha-slider.directive.ts +16 -0
  133. package/src/lib/matcha-slider/slider.module.ts +12 -0
  134. package/src/lib/matcha-snackbar/matcha-snackbar.directive.ts +16 -0
  135. package/src/lib/matcha-snackbar/snackbar.module.ts +12 -0
  136. package/src/lib/matcha-sort-header/matcha-sort-header.directive.ts +16 -0
  137. package/src/lib/matcha-sort-header/sort-header.module.ts +12 -0
  138. package/src/lib/matcha-stepper/matcha-stepper.directive.ts +16 -0
  139. package/src/lib/matcha-stepper/stepper.module.ts +12 -0
  140. package/src/lib/matcha-table/matcha-table.directive.ts +16 -0
  141. package/src/lib/matcha-table/table.module.ts +12 -0
  142. package/src/lib/matcha-tabs/matcha-tabs.directive.ts +17 -0
  143. package/src/lib/matcha-tabs/tabs.module.ts +16 -0
  144. package/src/lib/matcha-tabs/tabs.stories.txt +18 -0
  145. package/src/lib/matcha-title/matcha-title.component.html +33 -0
  146. package/src/lib/matcha-title/matcha-title.component.scss +0 -0
  147. package/src/lib/matcha-title/matcha-title.component.spec.ts +21 -0
  148. package/src/lib/matcha-title/matcha-title.component.ts +24 -0
  149. package/src/lib/matcha-title/matcha-title.module.ts +18 -0
  150. package/src/lib/matcha-tooltip/matcha-tooltip.directive.ts +16 -0
  151. package/src/lib/matcha-tooltip/tooltip.module.ts +12 -0
  152. package/src/lib/matcha-tree/matcha-tree.directive.ts +16 -0
  153. package/src/lib/matcha-tree/tree.module.ts +12 -0
  154. package/src/public-api.ts +93 -0
  155. package/tsconfig.lib.json +18 -0
  156. package/tsconfig.lib.prod.json +10 -0
  157. package/tsconfig.spec.json +14 -0
  158. package/esm2022/lib/matcha-button/matcha-button.component.mjs +0 -12
  159. package/esm2022/lib/matcha-card/matcha-card-content/matcha-card-content.component.mjs +0 -12
  160. package/esm2022/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.mjs +0 -12
  161. package/esm2022/lib/matcha-card/matcha-card-header/matcha-card-header.component.mjs +0 -12
  162. package/esm2022/lib/matcha-card/matcha-card.component.mjs +0 -12
  163. package/esm2022/lib/matcha-card/matcha-card.module.mjs +0 -40
  164. package/esm2022/lib/matcha-components.module.mjs +0 -27
  165. package/esm2022/matcha-components.mjs +0 -5
  166. package/esm2022/public-api.mjs +0 -20
  167. package/fesm2022/matcha-components.mjs +0 -113
  168. package/fesm2022/matcha-components.mjs.map +0 -1
  169. package/index.d.ts +0 -5
  170. package/lib/matcha-button/matcha-button.component.d.ts +0 -5
  171. package/lib/matcha-card/matcha-card-content/matcha-card-content.component.d.ts +0 -5
  172. package/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.d.ts +0 -5
  173. package/lib/matcha-card/matcha-card-header/matcha-card-header.component.d.ts +0 -5
  174. package/lib/matcha-card/matcha-card.component.d.ts +0 -5
  175. package/lib/matcha-card/matcha-card.module.d.ts +0 -11
  176. package/lib/matcha-components.module.d.ts +0 -8
  177. package/public-api.d.ts +0 -7
@@ -0,0 +1,219 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Fundamentos / Sizes / Documentação" />
4
+
5
+ # Tamanhos
6
+
7
+ Nesta seção, apresentamos as classes utilizadas para tamanhos do Matcha Design
8
+ System.
9
+
10
+ ---
11
+
12
+ ### Pixels e Porcentagem
13
+
14
+ Os tamanhos das classes em **pixels** são sempre múltiplos de **4**, sendo o
15
+ mínimo 0 e o máximo **256**.
16
+
17
+ Os tamanhos em **porcentagem** das classes são sempre múltiplos de **5**, sendo
18
+ o mínimo 0 e o máximo **100**.
19
+
20
+ <div class="h-24"></div>
21
+
22
+ <div class="grid-1 grid-lg-2 gap-32">
23
+ <div class="d-flex-column gap-16">
24
+ <div class="d-flex-row d-flex-space-between d-flex-align-end pr-12">
25
+ <div class="h5 mb-8 font-size-24">Widths</div>
26
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver mais](/docs/fundamentos-sizes-width--docs)</div>
27
+ </div>
28
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
29
+ <span class="font-size-16">.w-24</span>
30
+ <div class="min-w-30-p">
31
+ ```html
32
+ <div class="w-24">24px Width</div>
33
+ ```
34
+ </div>
35
+ </div>
36
+
37
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
38
+ <span class="font-size-16">.w-75-p</span>
39
+ <div class="min-w-30-p">
40
+ ```html
41
+ <div class="w-75-p">75% Width</div>
42
+ ```
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ <div class="d-flex-column gap-16">
48
+ <div class="d-flex-row d-flex-space-between d-flex-align-end pr-12">
49
+ <div class="h5 mb-8 font-size-24">Heights</div>
50
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver mais](/docs/fundamentos-sizes-height--docs)</div>
51
+ </div>
52
+
53
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
54
+ <span class="font-size-16">.h-24</span>
55
+ <div class="min-w-30-p">
56
+ ```html
57
+ <div class="h-24">24px Height</div>
58
+ ```
59
+ </div>
60
+ </div>
61
+
62
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
63
+ <span class="font-size-16">.h-75-p</span>
64
+ <div class="min-w-30-p">
65
+ ```html
66
+ <div class="h-75-p">75% Height</div>
67
+ ```
68
+ </div>
69
+ </div>
70
+ </div>
71
+
72
+ <div class="d-flex-column gap-16">
73
+ <div class="d-flex-row d-flex-space-between d-flex-align-end pr-12">
74
+ <div class="h5 mb-8 font-size-24">Max-widths</div>
75
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver mais](/docs/fundamentos-sizes-max-width--docs)</div>
76
+ </div>
77
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
78
+ <span class="font-size-16">.max-w-24</span>
79
+ <div class="min-w-30-p">
80
+ ```html
81
+ <div class="max-w-24">24px Max-width</div>
82
+ ```
83
+ </div>
84
+ </div>
85
+
86
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
87
+ <span class="font-size-16">.max-w-75-p</span>
88
+ <div class="min-w-30-p">
89
+ ```html
90
+ <div class="max-w-75-p">75% Max-width</div>
91
+ ```
92
+ </div>
93
+ </div>
94
+ </div>
95
+
96
+ <div class="d-flex-column gap-16">
97
+ <div class="d-flex-row d-flex-space-between d-flex-align-end pr-12">
98
+ <div class="h5 mb-8 font-size-24">Max-heights</div>
99
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver mais](/docs/fundamentos-sizes-max-height--docs)</div>
100
+ </div>
101
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
102
+ <span class="font-size-16">.max-h-24</span>
103
+ <div class="min-w-30-p">
104
+ ```html
105
+ <div class="max-h-24">24px Max-height</div>
106
+ ```
107
+ </div>
108
+ </div>
109
+
110
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
111
+ <span class="font-size-16">.max-w-75-p</span>
112
+ <div class="min-w-30-p">
113
+ ```html
114
+ <div class="max-h-75-p">75% Max-height</div>
115
+ ```
116
+ </div>
117
+ </div>
118
+ </div>
119
+
120
+ <div class="d-flex-column gap-16">
121
+ <div class="d-flex-row d-flex-space-between d-flex-align-end pr-12">
122
+ <div class="h5 mb-8 font-size-24">Min-widths</div>
123
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver mais](/docs/fundamentos-sizes-min-width--docs)</div>
124
+ </div>
125
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
126
+ <span class="font-size-16">.min-w-24</span>
127
+ <div class="min-w-30-p">
128
+ ```html
129
+ <div class="min-w-24">24px Min-width</div>
130
+ ```
131
+ </div>
132
+ </div>
133
+
134
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
135
+ <span class="font-size-16">.min-w-75-p</span>
136
+ <div class="min-w-30-p">
137
+ ```html
138
+ <div class="min-w-75-p">75% Min-width</div>
139
+ ```
140
+ </div>
141
+ </div>
142
+ </div>
143
+
144
+ <div class="d-flex-column gap-16">
145
+ <div class="d-flex-row d-flex-space-between d-flex-align-end pr-12">
146
+ <div class="h5 mb-8 font-size-24">Min-heights</div>
147
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver mais](/docs/fundamentos-sizes-min-height--docs)</div>
148
+ </div>
149
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
150
+ <span class="font-size-16">.min-h-24</span>
151
+ <div class="min-w-30-p">
152
+ ```html
153
+ <div class="min-h-24">24px Min-height</div>
154
+ ```
155
+ </div>
156
+ </div>
157
+
158
+ <div class="matcha-card background-surface d-flex-row d-flex-xs-column d-flex-space-between d-flex-align-center d-flex-xs-align-start gap-8">
159
+ <span class="font-size-16">.min-h-75-p</span>
160
+ <div class="min-w-30-p">
161
+ ```html
162
+ <div class="min-h-75-p">75% Min-height</div>
163
+ ```
164
+ </div>
165
+ </div>
166
+ </div>
167
+ </div>
168
+
169
+ <div class="h-24"></div>
170
+
171
+ ### Breakpoints
172
+
173
+ - xs: 600px
174
+ - sm: 1024px
175
+ - md: 1440px
176
+ - lg: 1920px
177
+ - xl: 2560px
178
+
179
+ As classes seguem a seguinte convenção:
180
+
181
+ \{**w / h**\}-\{**breakpoint**\}-\{**valorEmPixels**\}
182
+
183
+ \{**max / min**\}-\{**w / h**\}-\{**breakpoint**\}-\{**valorEmPorcentagem**\}-p
184
+
185
+ Exemplos:
186
+
187
+ **h-xs-8** é aplicado quando a largura mínima da tela atinge 600px, e a altura
188
+ do elemento é definida como 8px.
189
+
190
+ **min-h-lg-75-p** é aplicado quando a largura mínima da tela atinge 1920px, e a
191
+ altura mínima do elemento é definida como 75%.
192
+
193
+ <div class="h-24"></div>
194
+ <div class="grid-2 grid-sm-2 gap-16">
195
+ <div class="d-flex-column matcha-card gap-8 d-flex-align-center background-surface">
196
+ <div class="h5 mb-8 font-size-16">Widths</div>
197
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver breakpoints](/docs/fundamentos-sizes-width--docs#breakpoints)</div>
198
+ </div>
199
+ <div class="d-flex-column matcha-card gap-8 d-flex-align-center background-surface">
200
+ <div class="h5 mb-8 font-size-16">Heights</div>
201
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver breakpoints](/docs/fundamentos-sizes-height--docs#breakpoints)</div>
202
+ </div>
203
+ <div class="d-flex-column matcha-card gap-8 d-flex-align-center background-surface">
204
+ <div class="h5 mb-8 font-size-16">Max-widths</div>
205
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver breakpoints](/docs/fundamentos-sizes-max-width--docs#breakpoints)</div>
206
+ </div>
207
+ <div class="d-flex-column matcha-card gap-8 d-flex-align-center background-surface">
208
+ <div class="h5 mb-8 font-size-16">Max-heights</div>
209
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver breakpoints](/docs/fundamentos-sizes-max-height--docs#breakpoints)</div>
210
+ </div>
211
+ <div class="d-flex-column matcha-card gap-8 d-flex-align-center background-surface">
212
+ <div class="h5 mb-8 font-size-16">Min-widths</div>
213
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver breakpoints](/docs/fundamentos-sizes-min-width--docs#breakpoints)</div>
214
+ </div>
215
+ <div class="d-flex-column matcha-card gap-8 d-flex-align-center background-surface">
216
+ <div class="h5 mb-8 font-size-16">Min-heights</div>
217
+ <div class="h3 mb-8 font-size-16 color-accent">[Ver breakpoints](/docs/fundamentos-sizes-min-height--docs#breakpoints)</div>
218
+ </div>
219
+ </div>
@@ -0,0 +1,234 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Fundamentos / Sizes / Width" />
4
+
5
+ ### Widths
6
+
7
+ Nessa seção serão apresentadas as maneiras de se usar as classes para Width.
8
+
9
+ #### Pixels
10
+
11
+ Os tamanhos em pixels das classes são sempre múltiplos de **4**, sendo o mínimo
12
+ 0 e o máximo **256**.
13
+
14
+ <div class="h-256 w-100-p overflow-y-scroll">
15
+ <table class="w-100-p">
16
+ <thead>
17
+ <tr>
18
+ <th>Classe</th>
19
+ <th>Propriedade</th>
20
+ </tr>
21
+ </thead>
22
+ <tbody>
23
+ {Array.from({ length: 65 }, (_, index) => {
24
+ const widthValue = index * 4;
25
+ return (
26
+ <tr key={`w-${widthValue}`}>
27
+ <td>w-{widthValue}</td>
28
+ <td>width: {widthValue}px;</td>
29
+ </tr>
30
+ );
31
+ })}
32
+ </tbody>
33
+ </table>
34
+ </div>
35
+
36
+ <div class="h-24"></div>
37
+
38
+ <p class="h5 mb-8 font-size-16 mt-4">Exemplos</p>
39
+
40
+ <div class="matcha-card background-surface d-flex-column gap-16">
41
+ <div class="matcha-card background-bg d-flex-column gap-8">
42
+ <div class="w-4 h-32 background-accent"></div>
43
+ <div class="w-16 h-32 background-accent"></div>
44
+ <div class="w-28 h-32 background-accent"></div>
45
+ <div class="w-40 h-32 background-accent"></div>
46
+ <div class="w-52 h-32 background-accent"></div>
47
+ <div class="w-64 h-32 background-accent"></div>
48
+ </div>
49
+ <div>
50
+ ```html
51
+ <div class="w-4">4px Width</div>
52
+ <div class="w-16">16px Width</div>
53
+ <div class="w-28">28px Width</div>
54
+ <div class="w-40">40px Width</div>
55
+ <div class="w-52">52px Width</div>
56
+ <div class="w-64">64px Width</div>
57
+ ```
58
+ </div>
59
+ </div>
60
+
61
+ #### Porcentagem
62
+
63
+ Os tamanhos em porcentagem das classes são sempre múltiplos de **5**, sendo o
64
+ mínimo 0 e o máximo **100**.
65
+
66
+ <div class="h-256 w-100-p overflow-y-scroll">
67
+ <table class="w-100-p">
68
+ <thead>
69
+ <tr>
70
+ <th>Classe</th>
71
+ <th>Propriedade</th>
72
+ </tr>
73
+ </thead>
74
+ <tbody>
75
+ {Array.from({ length: 21 }, (_, index) => {
76
+ const widthValue = index * 5;
77
+ return (
78
+ <tr key={`w-${widthValue}-p`}>
79
+ <td>w-{widthValue}</td>
80
+ <td>width: {widthValue}%;</td>
81
+ </tr>
82
+ );
83
+ })}
84
+ </tbody>
85
+ </table>
86
+ </div>
87
+
88
+ <div class="h-24"></div>
89
+
90
+ <p class="h5 mb-8 font-size-16 mt-4">Exemplos</p>
91
+
92
+ <div class="matcha-card background-surface d-flex-column gap-16">
93
+ <div class="matcha-card background-bg d-flex-column gap-8">
94
+ <div class="w-20-p h-32 background-accent"></div>
95
+ <div class="w-30-p h-32 background-accent"></div>
96
+ <div class="w-50-p h-32 background-accent"></div>
97
+ <div class="w-75-p h-32 background-accent"></div>
98
+ <div class="w-100-p h-32 background-accent"></div>
99
+ </div>
100
+ <div>
101
+ ```html
102
+ <div class="w-20-p">20% Width</div>
103
+ <div class="w-30-p">30% Width</div>
104
+ <div class="w-50-p">50% Width</div>
105
+ <div class="w-75-p">75% Width</div>
106
+ <div class="w-100-p">100% Width</div>
107
+ ```
108
+ </div>
109
+ </div>
110
+
111
+ <div class="h-24"></div>
112
+
113
+ #### Breakpoints
114
+
115
+ - xs: 600px
116
+ - sm: 1024px
117
+ - md: 1440px
118
+ - lg: 1920px
119
+ - xl: 2560px
120
+
121
+ As classes de largura (width) seguem a seguinte convenção:
122
+
123
+ w-\{**breakpoint**\}-\{**valorEmPixels**\}
124
+
125
+ w-\{**breakpoint**\}-\{**valorEmPorcentagem**\}-p
126
+
127
+ Exemplos:
128
+
129
+ **w-xs-8** é aplicado quando a largura mínima da tela atinge 600px, e a largura
130
+ do elemento é definida como 8px.
131
+
132
+ **w-lg-75-p** é aplicado quando a largura mínima da tela atinge 1920px, e a
133
+ largura do elemento é definida como 75%.
134
+
135
+ <div class="h-16"></div>
136
+
137
+ ---
138
+
139
+ <p class="h5 mb-8 font-size-16">Classes em Pixels:</p>
140
+
141
+ <div class="h-256 w-100-p overflow-y-scroll">
142
+ <table class="w-100-p">
143
+ <thead>
144
+ <tr>
145
+ <th>Classe</th>
146
+ <th>Propriedade</th>
147
+ <th>Breakpoint</th>
148
+ </tr>
149
+ </thead>
150
+ <tbody>
151
+ {Array.from({ length: 65 }, (_, index) => {
152
+ const widthValue = index * 4;
153
+ return (
154
+ <>
155
+ <tr key={`w-${widthValue}`}>
156
+ <td>w-xs-{widthValue}</td>
157
+ <td>width: {widthValue}px;</td>
158
+ <td>@media only screen and (min-width: 600px)</td>
159
+ </tr>
160
+ <tr key={`w-${widthValue}`}>
161
+ <td>w-sm-{widthValue}</td>
162
+ <td>width: {widthValue}px;</td>
163
+ <td>@media only screen and (min-width: 1024px)</td>
164
+ </tr>
165
+ <tr key={`w-${widthValue}`}>
166
+ <td>w-md-{widthValue}</td>
167
+ <td>width: {widthValue}px;</td>
168
+ <td>@media only screen and (min-width: 1440px)</td>
169
+ </tr>
170
+ <tr key={`w-${widthValue}`}>
171
+ <td>w-lg-{widthValue}</td>
172
+ <td>width: {widthValue}px;</td>
173
+ <td>@media only screen and (min-width: 1920px)</td>
174
+ </tr>
175
+ <tr key={`w-${widthValue}`}>
176
+ <td>w-xl-{widthValue}</td>
177
+ <td>width: {widthValue}px;</td>
178
+ <td>@media only screen and (min-width: 2560px)</td>
179
+ </tr>
180
+ </>
181
+ );
182
+ })}
183
+ </tbody>
184
+ </table>
185
+ </div>
186
+
187
+ <div class="h-16"></div>
188
+ <p class="h5 mb-8 font-size-16 mt-16">Classes em Porcentagem:</p>
189
+
190
+ <div class="h-256 w-100-p overflow-y-scroll">
191
+ <table class="w-100-p">
192
+ <thead>
193
+ <tr>
194
+ <th>Classe</th>
195
+ <th>Propriedade</th>
196
+ <th>Breakpoint</th>
197
+ </tr>
198
+ </thead>
199
+ <tbody>
200
+ {Array.from({ length: 21 }, (_, index) => {
201
+ const widthValue = index * 5;
202
+ return (
203
+ <>
204
+ <tr key={`w-${widthValue}`}>
205
+ <td>w-xs-{widthValue}-p</td>
206
+ <td>width: {widthValue}%;</td>
207
+ <td>@media only screen and (min-width: 600px)</td>
208
+ </tr>
209
+ <tr key={`w-${widthValue}`}>
210
+ <td>w-sm-{widthValue}-p</td>
211
+ <td>width: {widthValue}%;</td>
212
+ <td>@media only screen and (min-width: 1024px)</td>
213
+ </tr>
214
+ <tr key={`w-${widthValue}`}>
215
+ <td>w-md-{widthValue}-p</td>
216
+ <td>width: {widthValue}%;</td>
217
+ <td>@media only screen and (min-width: 1440px)</td>
218
+ </tr>
219
+ <tr key={`w-${widthValue}`}>
220
+ <td>w-lg-{widthValue}-p</td>
221
+ <td>width: {widthValue}%;</td>
222
+ <td>@media only screen and (min-width: 1920px)</td>
223
+ </tr>
224
+ <tr key={`w-${widthValue}`}>
225
+ <td>w-xl-{widthValue}-p</td>
226
+ <td>width: {widthValue}%;</td>
227
+ <td>@media only screen and (min-width: 2560px)</td>
228
+ </tr>
229
+ </>
230
+ );
231
+ })}
232
+ </tbody>
233
+ </table>
234
+ </div>
@@ -0,0 +1,16 @@
1
+ import { Directive, ElementRef, Renderer2 } from '@angular/core';
2
+
3
+ @Directive({
4
+ selector: '[matcha-autocomplete-overview]'
5
+ })
6
+ export class MatchaAutocompleteOverviewDirective {
7
+
8
+ constructor(
9
+ private _elementRef: ElementRef,
10
+ private _renderer: Renderer2
11
+ ) {
12
+ //this._elementRef.nativeElement.style.backgroundColor = 'grey';
13
+ this._renderer.addClass(this._elementRef.nativeElement,'matcha-autocomplete-overview')
14
+ }
15
+
16
+ }
@@ -0,0 +1,64 @@
1
+ export const autocompleteArgtypes = {
2
+ autoActiveFirstOption: {
3
+ description:
4
+ 'Whether the first option should be highlighted when the autocomplete panel is opened.',
5
+ defaultValue: false,
6
+ },
7
+ class: {
8
+ description:
9
+ 'Classes to be applied to the autocomplete panel inside of the overlay container.',
10
+ },
11
+ disableRipple: {
12
+ description: 'Whether ripples are disabled.',
13
+ },
14
+ panelWidth: {
15
+ description:
16
+ 'Specifies the width of the autocomplete panel. (Can be any CSS sizing value)',
17
+ },
18
+ onClosed: {
19
+ description:
20
+ 'Event that is emitted when the autocomplete panel is closed.',
21
+ action: 'onClosed',
22
+ },
23
+ onOpened: {
24
+ description:
25
+ 'Event that is emitted when the autocomplete panel is opened.',
26
+ action: 'onOpened',
27
+ },
28
+ onOptionActivated: {
29
+ description:
30
+ 'Event that is emitted when an option is activated using the keyboard.',
31
+ action: 'onOptionActivated',
32
+ },
33
+ onOptionSelected: {
34
+ description: 'Event that is emitted when an option is selected.',
35
+ action: 'onOptionSelected',
36
+ },
37
+ autocompleteTriggerDisabled: {
38
+ description: 'Whether the autocomplete is disabled.',
39
+ defaultValue: false,
40
+ },
41
+ autocompleteTriggerPosition: {
42
+ description:
43
+ 'Position of the autocomplete panel relative to the trigger element.',
44
+ options: [null, 'auto', 'above', 'below'],
45
+ control: { type: 'select' },
46
+ },
47
+ label: {
48
+ description: 'Label of the autocomplete',
49
+ defaultValue: 'Number',
50
+ table: {
51
+ defaultValue: { summary: 'Number' },
52
+ },
53
+ control: 'text',
54
+ },
55
+ color: {
56
+ description: 'Theme color palette',
57
+ control: 'select',
58
+ defaultValue: 'accent',
59
+ table: {
60
+ defaultValue: { summary: 'accent' },
61
+ },
62
+ options: ['primary', 'accent', 'warn'],
63
+ },
64
+ };
@@ -0,0 +1,14 @@
1
+ import { Directive, ElementRef, Renderer2 } from '@angular/core';
2
+
3
+ @Directive({
4
+ selector: '[matcha-autocomplete]'
5
+ })
6
+ export class MatchaAutocompleteDirective {
7
+
8
+ constructor(
9
+ private _elementRef: ElementRef,
10
+ private _renderer: Renderer2
11
+ ) {
12
+ this._renderer.addClass(this._elementRef.nativeElement,'matcha-autocomplete')
13
+ }
14
+ }
@@ -0,0 +1,112 @@
1
+ import { Story } from "@storybook/blocks";
2
+ import { Meta } from "@storybook/addon-docs";
3
+ import * as ComponentStories from "./autocomplete.stories";
4
+
5
+ <Meta title="Atoms / Autocomplete / Documentação" />
6
+
7
+ # Autocomplete
8
+
9
+ > _autocomplete_ é uma entrada de texto normal aprimorada por um painel de opções sugeridas.
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">Autocomplete - Default</span>
19
+ <div class="matcha-card background-bg">
20
+ <Story of={ComponentStories.AutocompleteDefault} />
21
+ </div>
22
+
23
+ <div class="d-flex-column">
24
+ ```html
25
+ <form class="example-form">
26
+ <mat-form-field class="example-full-width">
27
+ <mat-label>Number</mat-label>
28
+ <input type="text"
29
+ placeholder="Pick one"
30
+ aria-label="Number"
31
+ matInput
32
+ [formControl]="myControl"
33
+ [matAutocomplete]="auto">
34
+ <mat-autocomplete autoActiveFirstOption #auto="matAutocomplete">
35
+ <mat-option *ngFor="let option of filteredOptions | async" [value]="option">
36
+ {{option}}
37
+ </mat-option>
38
+ </mat-autocomplete>
39
+ </mat-form-field>
40
+ </form>
41
+ ```
42
+ </div>
43
+ </div>
44
+ </div>
45
+
46
+ </div>
47
+
48
+ <br />
49
+
50
+ ### Installation
51
+
52
+ `import {MatAutocompleteModule} from '@angular/material/autocomplete';`
53
+
54
+ [Official documentation](https://material.angular.io/components/autocomplete/overview)
55
+
56
+ <br />
57
+ <div class="d-flex-column gap-16">
58
+ <div class="d-flex-column">
59
+ <div class="matcha-card background-surface d-flex-column gap-16">
60
+ <div class="d-flex-column">
61
+ ```ts
62
+ import {Component, OnInit} from '@angular/core';
63
+ import {FormControl, FormsModule, ReactiveFormsModule} from '@angular/forms';
64
+ import {Observable} from 'rxjs';
65
+ import {map, startWith} from 'rxjs/operators';
66
+ import {NgFor, AsyncPipe} from '@angular/common';
67
+ import {MatAutocompleteModule} from '@angular/material/autocomplete';
68
+ import {MatInputModule} from '@angular/material/input';
69
+ import {MatFormFieldModule} from '@angular/material/form-field';
70
+
71
+ /**
72
+ * @title Highlight the first autocomplete option
73
+ */
74
+ @Component({
75
+ selector: 'autocomplete-auto-active-first-option-example',
76
+ templateUrl: 'autocomplete-auto-active-first-option-example.html',
77
+ styleUrls: ['autocomplete-auto-active-first-option-example.css'],
78
+ standalone: true,
79
+ imports: [
80
+ FormsModule,
81
+ MatFormFieldModule,
82
+ MatInputModule,
83
+ MatAutocompleteModule,
84
+ ReactiveFormsModule,
85
+ NgFor,
86
+ AsyncPipe,
87
+ ],
88
+ })
89
+
90
+ export class AutocompleteAutoActiveFirstOptionExample implements OnInit {
91
+ myControl = new FormControl('');
92
+ options: string[] = ['One', 'Two', 'Three'];
93
+ filteredOptions: Observable<string[]>;
94
+
95
+ ngOnInit() {
96
+ this.filteredOptions = this.myControl.valueChanges.pipe(
97
+ startWith(''),
98
+ map(value => this._filter(value || '')),
99
+ );
100
+ }
101
+
102
+ private _filter(value: string): string[] {
103
+ const filterValue = value.toLowerCase();
104
+ return this.options.filter(option => option.toLowerCase().includes(filterValue));
105
+ }
106
+ }
107
+ ```
108
+ </div>
109
+ </div>
110
+ </div>
111
+
112
+ </div>
@@ -0,0 +1,14 @@
1
+ import { NgModule } from '@angular/core';
2
+
3
+ import { MatchaAutocompleteDirective } from './autocomplete.directive';
4
+ import { MatchaAutocompleteOverviewDirective } from './autocomplete-overview.directive';
5
+
6
+ @NgModule({
7
+ declarations: [
8
+ MatchaAutocompleteDirective,
9
+ MatchaAutocompleteOverviewDirective,
10
+ ],
11
+ imports: [],
12
+ exports: [MatchaAutocompleteDirective, MatchaAutocompleteOverviewDirective],
13
+ })
14
+ export class MatchaAutocompleteModule {}