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.
- package/README.md +239 -2
- package/assets/open_in_new.png +0 -0
- package/ng-package.json +7 -0
- package/package.json +10 -23
- package/src/foundation/colors/base/amber.mdx +232 -0
- package/src/foundation/colors/base/blue.mdx +232 -0
- package/src/foundation/colors/base/cyan.mdx +232 -0
- package/src/foundation/colors/base/deep-orange.mdx +232 -0
- package/src/foundation/colors/base/deep-purple.mdx +232 -0
- package/src/foundation/colors/base/green.mdx +232 -0
- package/src/foundation/colors/base/indigo.mdx +232 -0
- package/src/foundation/colors/base/light-blue.mdx +232 -0
- package/src/foundation/colors/base/light-green.mdx +232 -0
- package/src/foundation/colors/base/lime.mdx +232 -0
- package/src/foundation/colors/base/orange.mdx +232 -0
- package/src/foundation/colors/base/pink.mdx +232 -0
- package/src/foundation/colors/base/purple.mdx +232 -0
- package/src/foundation/colors/base/red.mdx +232 -0
- package/src/foundation/colors/base/teal.mdx +232 -0
- package/src/foundation/colors/base/yellow.mdx +232 -0
- package/src/foundation/colors/base-colors.mdx +141 -0
- package/src/foundation/colors/surface-colors.mdx +93 -0
- package/src/foundation/colors/theme/accent.mdx +232 -0
- package/src/foundation/colors/theme/primary.mdx +232 -0
- package/src/foundation/colors/theme/warn.mdx +232 -0
- package/src/foundation/colors/theme-colors.mdx +159 -0
- package/src/foundation/sizes/heights.mdx +232 -0
- package/src/foundation/sizes/max-heights.mdx +237 -0
- package/src/foundation/sizes/max-width.mdx +236 -0
- package/src/foundation/sizes/min-heights.mdx +237 -0
- package/src/foundation/sizes/min-width.mdx +236 -0
- package/src/foundation/sizes/sizes.mdx +219 -0
- package/src/foundation/sizes/widths.mdx +234 -0
- package/src/lib/matcha-autocomplete/autocomplete-overview.directive.ts +16 -0
- package/src/lib/matcha-autocomplete/autocomplete.argtypes.ts +64 -0
- package/src/lib/matcha-autocomplete/autocomplete.directive.ts +14 -0
- package/src/lib/matcha-autocomplete/autocomplete.mdx +112 -0
- package/src/lib/matcha-autocomplete/autocomplete.module.ts +14 -0
- package/src/lib/matcha-autocomplete/autocomplete.stories.ts +113 -0
- package/src/lib/matcha-badge/badge.module.ts +14 -0
- package/src/lib/matcha-badge/matcha-badge.directive.ts +16 -0
- package/src/lib/matcha-bottom-sheet/bottom-sheet.module.ts +14 -0
- package/src/lib/matcha-bottom-sheet/matcha-bottom-sheet.directive.ts +16 -0
- package/src/lib/matcha-button-toggle/button-toggle.module.ts +14 -0
- package/src/lib/matcha-button-toggle/matcha-button-toggle.directive.ts +16 -0
- package/src/lib/matcha-buttons/button.stories.ts +111 -0
- package/src/lib/matcha-buttons/buttons.module.ts +27 -0
- package/src/lib/matcha-buttons/matcha-btn-md.directive.ts +16 -0
- package/src/lib/matcha-buttons/matcha-btn-pill.directive.ts +15 -0
- package/src/lib/matcha-buttons/matcha-btn-size.directive.ts +17 -0
- package/src/lib/matcha-buttons/matcha-btn-xl.directive.ts +15 -0
- package/src/lib/matcha-card/card.mdx.txt +55 -0
- package/src/lib/matcha-card/matcha-card-argtype.ts +123 -0
- package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.html +3 -0
- package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.scss +0 -0
- package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.spec.ts +21 -0
- package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.ts +10 -0
- package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.html +3 -0
- package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.scss +0 -0
- package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.spec.ts +21 -0
- package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.ts +10 -0
- package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.html +4 -0
- package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.scss +0 -0
- package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.spec.ts +21 -0
- package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.ts +10 -0
- package/src/lib/matcha-card/matcha-card.component.html +3 -0
- package/src/lib/matcha-card/matcha-card.component.scss +117 -0
- package/src/lib/matcha-card/matcha-card.component.spec.ts +21 -0
- package/src/lib/matcha-card/matcha-card.component.ts +43 -0
- package/src/lib/matcha-card/matcha-card.module.ts +27 -0
- package/src/lib/matcha-card/matcha-card.stories.ts +80 -0
- package/src/lib/matcha-checkbox/checkbox.argtype.ts +79 -0
- package/src/lib/matcha-checkbox/checkbox.directive.ts +14 -0
- package/src/lib/matcha-checkbox/checkbox.mdx +76 -0
- package/src/lib/matcha-checkbox/checkbox.module.ts +9 -0
- package/src/lib/matcha-checkbox/checkbox.stories.ts +161 -0
- package/src/lib/matcha-checkbox/checkbox.stories.txt +74 -0
- package/src/lib/matcha-chips/chips.module.ts +12 -0
- package/src/lib/matcha-chips/matcha-chips.directive.ts +16 -0
- package/src/lib/matcha-components.module.ts +78 -0
- package/src/lib/matcha-datepicker/datepicker.argtypes.ts +63 -0
- package/src/lib/matcha-datepicker/datepicker.directive.ts +14 -0
- package/src/lib/matcha-datepicker/datepicker.mdx +73 -0
- package/src/lib/matcha-datepicker/datepicker.module.ts +9 -0
- package/src/lib/matcha-datepicker/datepicker.stories.ts +277 -0
- package/src/lib/matcha-dialog/dialog.module.ts +14 -0
- package/src/lib/matcha-dialog/matcha-dialog.directive.ts +16 -0
- package/src/lib/matcha-dialog2/confirmation-dialog.component.ts.txt +54 -0
- package/src/lib/matcha-dialog2/confirmation-dialog.stories.ts.txt +24 -0
- package/src/lib/matcha-divider/divider.module.ts +14 -0
- package/src/lib/matcha-divider/matcha-divider.directive.ts +16 -0
- package/src/lib/matcha-expansion-panel/expansion-panel.module.ts +14 -0
- package/src/lib/matcha-expansion-panel/matcha-expansion-panel.directive.ts +16 -0
- package/src/lib/matcha-forms/forms.module.ts +19 -0
- package/src/lib/matcha-forms/matcha-form-field-appearance.directive.ts +16 -0
- package/src/lib/matcha-forms/matcha-form-field-argtype.ts +73 -0
- package/src/lib/matcha-forms/matcha-form-field.mdx +284 -0
- package/src/lib/matcha-forms/matcha-form-field.stories.ts +345 -0
- package/src/lib/matcha-forms/matcha-form-input-text.directive.ts +16 -0
- package/src/lib/matcha-icon/icon.module.ts +19 -0
- package/src/lib/matcha-icon/matcha-icon-position-pos.directive.ts +15 -0
- package/src/lib/matcha-icon/matcha-icon-position-pre.directive.ts +15 -0
- package/src/lib/matcha-list/list.module.ts +14 -0
- package/src/lib/matcha-list/matcha-list.directive.ts +16 -0
- package/src/lib/matcha-menu/matcha-menu.directive.ts +16 -0
- package/src/lib/matcha-menu/menu.module.ts +14 -0
- package/src/lib/matcha-menu/menu.stories.txt +76 -0
- package/src/lib/matcha-paginator/matcha-paginator.directive.ts +16 -0
- package/src/lib/matcha-paginator/paginator.module.ts +14 -0
- package/src/lib/matcha-progress-bar/progress-bar.argtype.ts +48 -0
- package/src/lib/matcha-progress-bar/progress-bar.directive.ts +16 -0
- package/src/lib/matcha-progress-bar/progress-bar.mdx +95 -0
- package/src/lib/matcha-progress-bar/progress-bar.module.ts +14 -0
- package/src/lib/matcha-progress-bar/progress-bar.stories.ts +89 -0
- package/src/lib/matcha-progress-spinner/progress-spinner.argtype.ts +65 -0
- package/src/lib/matcha-progress-spinner/progress-spinner.directive.ts +16 -0
- package/src/lib/matcha-progress-spinner/progress-spinner.mdx +23 -0
- package/src/lib/matcha-progress-spinner/progress-spinner.module.ts +14 -0
- package/src/lib/matcha-progress-spinner/progress-spinner.stories.ts +44 -0
- package/src/lib/matcha-radio-button/matcha-radio-button.argtype.ts +85 -0
- package/src/lib/matcha-radio-button/matcha-radio-button.directive.ts +16 -0
- package/src/lib/matcha-radio-button/matcha-radio-button.stories.ts +44 -0
- package/src/lib/matcha-radio-button/radio-button.module.ts +12 -0
- package/src/lib/matcha-select/matcha-select.directive.ts +16 -0
- package/src/lib/matcha-select/select.module.ts +12 -0
- package/src/lib/matcha-select/select.stories.txt +109 -0
- package/src/lib/matcha-slide-toggle/slide-toggle.argtype.ts +66 -0
- package/src/lib/matcha-slide-toggle/slide-toggle.directive.ts +16 -0
- package/src/lib/matcha-slide-toggle/slide-toggle.mdx +92 -0
- package/src/lib/matcha-slide-toggle/slide-toggle.module.ts +12 -0
- package/src/lib/matcha-slide-toggle/slide-toggle.stories.ts +167 -0
- package/src/lib/matcha-slider/matcha-slider.directive.ts +16 -0
- package/src/lib/matcha-slider/slider.module.ts +12 -0
- package/src/lib/matcha-snackbar/matcha-snackbar.directive.ts +16 -0
- package/src/lib/matcha-snackbar/snackbar.module.ts +12 -0
- package/src/lib/matcha-sort-header/matcha-sort-header.directive.ts +16 -0
- package/src/lib/matcha-sort-header/sort-header.module.ts +12 -0
- package/src/lib/matcha-stepper/matcha-stepper.directive.ts +16 -0
- package/src/lib/matcha-stepper/stepper.module.ts +12 -0
- package/src/lib/matcha-table/matcha-table.directive.ts +16 -0
- package/src/lib/matcha-table/table.module.ts +12 -0
- package/src/lib/matcha-tabs/matcha-tabs.directive.ts +17 -0
- package/src/lib/matcha-tabs/tabs.module.ts +16 -0
- package/src/lib/matcha-tabs/tabs.stories.txt +18 -0
- package/src/lib/matcha-title/matcha-title.component.html +33 -0
- package/src/lib/matcha-title/matcha-title.component.scss +0 -0
- package/src/lib/matcha-title/matcha-title.component.spec.ts +21 -0
- package/src/lib/matcha-title/matcha-title.component.ts +24 -0
- package/src/lib/matcha-title/matcha-title.module.ts +18 -0
- package/src/lib/matcha-tooltip/matcha-tooltip.directive.ts +16 -0
- package/src/lib/matcha-tooltip/tooltip.module.ts +12 -0
- package/src/lib/matcha-tree/matcha-tree.directive.ts +16 -0
- package/src/lib/matcha-tree/tree.module.ts +12 -0
- package/src/public-api.ts +93 -0
- package/tsconfig.lib.json +18 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/matcha-button/matcha-button.component.mjs +0 -12
- package/esm2022/lib/matcha-card/matcha-card-content/matcha-card-content.component.mjs +0 -12
- package/esm2022/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.mjs +0 -12
- package/esm2022/lib/matcha-card/matcha-card-header/matcha-card-header.component.mjs +0 -12
- package/esm2022/lib/matcha-card/matcha-card.component.mjs +0 -12
- package/esm2022/lib/matcha-card/matcha-card.module.mjs +0 -40
- package/esm2022/lib/matcha-components.module.mjs +0 -27
- package/esm2022/matcha-components.mjs +0 -5
- package/esm2022/public-api.mjs +0 -20
- package/fesm2022/matcha-components.mjs +0 -113
- package/fesm2022/matcha-components.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/matcha-button/matcha-button.component.d.ts +0 -5
- package/lib/matcha-card/matcha-card-content/matcha-card-content.component.d.ts +0 -5
- package/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.d.ts +0 -5
- package/lib/matcha-card/matcha-card-header/matcha-card-header.component.d.ts +0 -5
- package/lib/matcha-card/matcha-card.component.d.ts +0 -5
- package/lib/matcha-card/matcha-card.module.d.ts +0 -11
- package/lib/matcha-components.module.d.ts +0 -8
- 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 {}
|