matcha-components 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/documentation/presentation.mdx +105 -0
- package/src/foundation/borders/borders.mdx +180 -0
- package/src/foundation/colors/base/amber.mdx +12 -9
- package/src/foundation/colors/base/blue.mdx +12 -9
- package/src/foundation/colors/base/cyan.mdx +12 -9
- package/src/foundation/colors/base/deep-orange.mdx +12 -9
- package/src/foundation/colors/base/deep-purple.mdx +12 -9
- package/src/foundation/colors/base/green.mdx +12 -9
- package/src/foundation/colors/base/indigo.mdx +12 -9
- package/src/foundation/colors/base/light-blue.mdx +12 -9
- package/src/foundation/colors/base/light-green.mdx +12 -9
- package/src/foundation/colors/base/lime.mdx +12 -9
- package/src/foundation/colors/base/orange.mdx +12 -9
- package/src/foundation/colors/base/pink.mdx +12 -9
- package/src/foundation/colors/base/purple.mdx +12 -9
- package/src/foundation/colors/base/red.mdx +12 -9
- package/src/foundation/colors/base/teal.mdx +12 -9
- package/src/foundation/colors/base/yellow.mdx +12 -9
- package/src/foundation/colors/base-colors.mdx +21 -18
- package/src/foundation/colors/theme/accent.mdx +12 -9
- package/src/foundation/colors/theme/primary.mdx +12 -9
- package/src/foundation/colors/theme/warn.mdx +12 -9
- package/src/foundation/colors/theme-colors.mdx +11 -37
- package/src/foundation/spacing/margins.mdx +183 -0
- package/src/foundation/spacing/paddings.mdx +156 -0
- package/src/foundation/typography/colors.mdx +26 -0
- package/src/foundation/typography/font-size.mdx +57 -0
- package/src/foundation/typography/font-weight.mdx +65 -0
- package/src/foundation/typography/helpers.mdx +86 -0
- package/src/foundation/typography/letter-spacing.mdx +35 -0
- package/src/foundation/typography/line-height.mdx +52 -0
- package/src/foundation/typography/message-box.mdx +43 -0
- package/src/foundation/typography/text-align.mdx +22 -0
- package/src/foundation/typography/text-styles.mdx +88 -0
- package/src/lib/matcha-autocomplete/autocomplete.mdx +1 -1
- package/src/lib/matcha-autocomplete/autocomplete.stories.ts +16 -25
- package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.css +9 -0
- package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.html +9 -0
- package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.ts +37 -0
- package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.css +19 -0
- package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.html +17 -0
- package/src/lib/matcha-autocomplete/example/autocomplete-overview-example.ts +70 -0
- package/src/lib/matcha-badge/badge.argtypes.ts +77 -0
- package/src/lib/matcha-badge/badge.directive.ts +11 -0
- package/src/lib/matcha-badge/badge.mdx +69 -0
- package/src/lib/matcha-badge/badge.module.ts +5 -10
- package/src/lib/matcha-badge/badge.stories.ts +79 -0
- package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example-sheet.html +21 -0
- package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example.component.ts +34 -0
- package/src/lib/matcha-bottom-sheet/bottom-sheet-overview-example.html +2 -0
- package/src/lib/matcha-bottom-sheet/bottom-sheet.argtypes.ts +117 -0
- package/src/lib/matcha-bottom-sheet/bottom-sheet.mdx +69 -0
- package/src/lib/matcha-bottom-sheet/bottom-sheet.module.ts +5 -10
- package/src/lib/matcha-bottom-sheet/bottom-sheet.stories.ts +39 -0
- package/src/lib/matcha-button/button-overview-example.component.ts +18 -0
- package/src/lib/matcha-button/button-overview-example.html +118 -0
- package/src/lib/matcha-button/button-overview-example.scss +31 -0
- package/src/lib/matcha-button/button.argtypes.ts +20 -0
- package/src/lib/matcha-button/button.directive.ts +39 -0
- package/src/lib/matcha-button/button.mdx +171 -0
- package/src/lib/matcha-button/button.module.ts +10 -0
- package/src/lib/matcha-button/button.stories.ts +38 -0
- package/src/lib/matcha-button-toggle/button-toggle.argtype.ts +115 -0
- package/src/lib/matcha-button-toggle/button-toggle.directive.ts +13 -0
- package/src/lib/matcha-button-toggle/button-toggle.mdx +63 -0
- package/src/lib/matcha-button-toggle/button-toggle.stories.ts +64 -0
- package/src/lib/matcha-button-toggle/matcha-button-toggle.directive.ts +0 -1
- package/src/lib/matcha-card/card-argtype.ts +54 -0
- package/src/lib/matcha-card/card-header.html +10 -0
- package/src/lib/matcha-card/card-title-group.html +12 -0
- package/src/lib/matcha-card/card.component.spec.ts +21 -0
- package/src/lib/matcha-card/card.component.ts +47 -0
- package/src/lib/matcha-card/card.mdx +43 -0
- package/src/lib/matcha-card/card.module.ts +10 -0
- package/src/lib/matcha-card/card.stories.ts +92 -0
- package/src/lib/matcha-components.module.ts +12 -47
- package/src/lib/matcha-dialog/confirmation-dialog.component.ts +39 -0
- package/src/lib/matcha-dialog/confirmation-dialog.stories.ts +21 -0
- package/src/lib/matcha-divider/divider.argtypes.ts +18 -0
- package/src/lib/matcha-divider/divider.mdx +51 -0
- package/src/lib/matcha-divider/divider.module.ts +5 -9
- package/src/lib/matcha-divider/divider.stories.ts +49 -0
- package/src/lib/matcha-elevation/elevation.argtypes.ts +16 -0
- package/src/lib/matcha-elevation/elevation.directive.ts +24 -0
- package/src/lib/matcha-elevation/elevation.mdx +50 -0
- package/src/lib/matcha-elevation/elevation.module.ts +10 -0
- package/src/lib/matcha-elevation/elevation.stories.ts +50 -0
- package/src/lib/matcha-expansion/expansion.argtypes.ts +44 -0
- package/src/lib/matcha-expansion/expansion.directive.ts +11 -0
- package/src/lib/matcha-expansion/expansion.mdx +69 -0
- package/src/lib/matcha-expansion/expansion.module.ts +10 -0
- package/src/lib/matcha-expansion/expansion.stories.ts +67 -0
- package/src/lib/matcha-forms/form-field-argtype.ts +60 -0
- package/src/lib/matcha-forms/form-field.directive.ts +11 -0
- package/src/lib/matcha-forms/form-field.mdx +20 -0
- package/src/lib/matcha-forms/{matcha-form-field.stories.ts → form-field.stories.ts} +64 -68
- package/src/lib/matcha-forms/forms.module.ts +5 -14
- package/src/lib/matcha-headers/headers.argtype.ts +14 -0
- package/src/lib/matcha-headers/headers.mdx +94 -0
- package/src/lib/matcha-headers/headers.module.ts +12 -0
- package/src/lib/matcha-headers/headers.stories.ts +88 -0
- package/src/lib/matcha-headers/headine/headline.component.html +1 -0
- package/src/lib/matcha-headers/headine/headline.component.ts +20 -0
- package/src/lib/matcha-headers/subhead/subhead.component.html +1 -0
- package/src/lib/matcha-headers/subhead/subhead.component.ts +20 -0
- package/src/lib/matcha-headers/title/title.component.html +1 -0
- package/src/lib/matcha-headers/title/title.component.ts +20 -0
- package/src/lib/matcha-icon/icon-argtype.ts +36 -0
- package/src/lib/matcha-icon/icon.component.html +3 -0
- package/src/lib/matcha-icon/icon.component.scss +0 -0
- package/src/lib/matcha-icon/icon.component.ts +34 -0
- package/src/lib/matcha-icon/icon.mdx +60 -0
- package/src/lib/matcha-icon/icon.module.ts +5 -14
- package/src/lib/matcha-icon/icon.stories.ts +416 -0
- package/src/lib/matcha-input/input.argtypes.ts +42 -0
- package/src/lib/matcha-input/input.directive.ts +11 -0
- package/src/lib/matcha-input/input.mdx +73 -0
- package/src/lib/matcha-input/input.module.ts +9 -0
- package/src/lib/matcha-input/input.stories.ts +97 -0
- package/src/lib/matcha-list/list.argtypes.ts +44 -0
- package/src/lib/matcha-list/{matcha-list.directive.ts → list.directive.ts} +3 -8
- package/src/lib/matcha-list/list.mdx +69 -0
- package/src/lib/matcha-list/list.module.ts +5 -9
- package/src/lib/matcha-list/list.stories.ts +101 -0
- package/src/lib/matcha-menu/menu.argtypes.ts +114 -0
- package/src/lib/matcha-menu/menu.mdx +59 -0
- package/src/lib/matcha-menu/menu.module.ts +5 -9
- package/src/lib/matcha-menu/menu.stories.ts +122 -0
- package/src/lib/matcha-paginator/paginator-overview-example.component.ts +13 -0
- package/src/lib/matcha-paginator/paginator-overview-example.css +0 -0
- package/src/lib/matcha-paginator/paginator-overview-example.html +1 -0
- package/src/lib/matcha-paginator/paginator.argtypes.ts +11 -0
- package/src/lib/matcha-paginator/paginator.mdx +53 -0
- package/src/lib/matcha-paginator/paginator.module.ts +5 -9
- package/src/lib/matcha-paginator/paginator.stories.ts +34 -0
- package/src/lib/matcha-progress-bar/progress-bar.mdx +1 -1
- package/src/lib/matcha-progress-spinner/progress-spinner.mdx +33 -13
- package/src/lib/matcha-progress-spinner/progress-spinner.stories.ts +8 -8
- package/src/lib/matcha-select/select.argtypes.ts +265 -0
- package/src/lib/matcha-select/{matcha-select.directive.ts → select.directive.ts} +3 -8
- package/src/lib/matcha-select/select.mdx +54 -0
- package/src/lib/matcha-select/select.module.ts +5 -7
- package/src/lib/matcha-select/select.stories.ts +164 -0
- package/src/lib/matcha-sidenav/sidenav.argtypes.ts +60 -0
- package/src/lib/matcha-sidenav/sidenav.directive.ts +11 -0
- package/src/lib/matcha-sidenav/sidenav.mdx +57 -0
- package/src/lib/matcha-sidenav/sidenav.module.ts +10 -0
- package/src/lib/matcha-sidenav/sidenav.stories.ts +79 -0
- package/src/lib/matcha-slide-toggle/slide-toggle.mdx +1 -1
- package/src/lib/matcha-slider/slider.argtypes.ts +83 -0
- package/src/lib/matcha-slider/slider.mdx +45 -0
- package/src/lib/matcha-slider/slider.stories.ts +149 -0
- package/src/lib/matcha-snackbar/snack-bar-overview-example.component.ts +23 -0
- package/src/lib/matcha-snackbar/snack-bar-overview-example.css +3 -0
- package/src/lib/matcha-snackbar/snack-bar-overview-example.html +11 -0
- package/src/lib/matcha-snackbar/snack-bar.argtypes.ts +11 -0
- package/src/lib/matcha-snackbar/snack-bar.directive.ts +11 -0
- package/src/lib/matcha-snackbar/snack-bar.mdx +53 -0
- package/src/lib/matcha-snackbar/snack-bar.module.ts +10 -0
- package/src/lib/matcha-snackbar/snack-bar.stories.ts +34 -0
- package/src/lib/matcha-sort-header/example/sort-overview-example.component.ts +67 -0
- package/src/lib/matcha-sort-header/example/sort-overview-example.css +3 -0
- package/src/lib/matcha-sort-header/example/sort-overview-example.html +21 -0
- package/src/lib/matcha-sort-header/sort-header.argtypes.ts +11 -0
- package/src/lib/matcha-sort-header/sort-header.mdx +78 -0
- package/src/lib/matcha-sort-header/sort-header.module.ts +5 -7
- package/src/lib/matcha-sort-header/sort-header.stories.ts +34 -0
- package/src/lib/matcha-stepper/stepper.argtypes.ts +92 -0
- package/src/lib/matcha-stepper/stepper.mdx +68 -0
- package/src/lib/matcha-stepper/stepper.module.ts +5 -7
- package/src/lib/matcha-stepper/stepper.stories.ts +163 -0
- package/src/lib/matcha-table/example/table-basic-example.component.ts +37 -0
- package/src/lib/matcha-table/example/table-basic-example.css +0 -0
- package/src/lib/matcha-table/example/table-basic-example.html +35 -0
- package/src/lib/matcha-table/table.argtypes.ts +11 -0
- package/src/lib/matcha-table/table.mdx +78 -0
- package/src/lib/matcha-table/table.module.ts +5 -7
- package/src/lib/matcha-table/table.stories.ts +34 -0
- package/src/lib/matcha-tabs/tabs.argtypes.ts +11 -0
- package/src/lib/matcha-tabs/tabs.mdx +69 -0
- package/src/lib/matcha-tabs/tabs.module.ts +5 -11
- package/src/lib/matcha-tabs/tabs.stories.ts +49 -0
- package/src/lib/matcha-toolbar/toolbar.argtypes.ts +20 -0
- package/src/lib/matcha-toolbar/toolbar.directive.ts +11 -0
- package/src/lib/matcha-toolbar/toolbar.mdx +57 -0
- package/src/lib/matcha-toolbar/toolbar.module.ts +10 -0
- package/src/lib/matcha-toolbar/toolbar.stories.ts +100 -0
- package/src/lib/matcha-tooltip/tooltip.argtypes.ts +11 -0
- package/src/lib/matcha-tooltip/tooltip.mdx +69 -0
- package/src/lib/matcha-tooltip/tooltip.module.ts +5 -7
- package/src/lib/matcha-tooltip/tooltip.stories.ts +79 -0
- package/src/lib/matcha-tree/tree.argtypes.ts +42 -0
- package/src/lib/matcha-tree/tree.mdx +49 -0
- package/src/lib/matcha-tree/tree.module.ts +5 -7
- package/src/lib/matcha-tree/tree.stories.ts +130 -0
- package/src/public-api.ts +27 -28
- package/src/lib/matcha-badge/matcha-badge.directive.ts +0 -16
- package/src/lib/matcha-buttons/buttons.module.ts +0 -27
- package/src/lib/matcha-buttons/matcha-btn-md.directive.ts +0 -16
- package/src/lib/matcha-buttons/matcha-btn-pill.directive.ts +0 -15
- package/src/lib/matcha-buttons/matcha-btn-size.directive.ts +0 -17
- package/src/lib/matcha-buttons/matcha-btn-xl.directive.ts +0 -15
- package/src/lib/matcha-card/card.mdx.txt +0 -55
- package/src/lib/matcha-card/matcha-card-argtype.ts +0 -123
- package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.html +0 -3
- package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.spec.ts +0 -21
- package/src/lib/matcha-card/matcha-card-content/matcha-card-content.component.ts +0 -10
- package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.html +0 -3
- package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.spec.ts +0 -21
- package/src/lib/matcha-card/matcha-card-footer/matcha-card-footer.component.ts +0 -10
- package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.html +0 -4
- package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.spec.ts +0 -21
- package/src/lib/matcha-card/matcha-card-header/matcha-card-header.component.ts +0 -10
- package/src/lib/matcha-card/matcha-card.component.scss +0 -117
- package/src/lib/matcha-card/matcha-card.component.spec.ts +0 -21
- package/src/lib/matcha-card/matcha-card.component.ts +0 -43
- package/src/lib/matcha-card/matcha-card.module.ts +0 -27
- package/src/lib/matcha-card/matcha-card.stories.ts +0 -80
- package/src/lib/matcha-expansion-panel/expansion-panel.module.ts +0 -14
- package/src/lib/matcha-expansion-panel/matcha-expansion-panel.directive.ts +0 -16
- package/src/lib/matcha-forms/matcha-form-field-appearance.directive.ts +0 -16
- package/src/lib/matcha-forms/matcha-form-field-argtype.ts +0 -73
- package/src/lib/matcha-forms/matcha-form-field.mdx +0 -284
- package/src/lib/matcha-forms/matcha-form-input-text.directive.ts +0 -16
- package/src/lib/matcha-icon/matcha-icon-position-pos.directive.ts +0 -15
- package/src/lib/matcha-icon/matcha-icon-position-pre.directive.ts +0 -15
- package/src/lib/matcha-menu/menu.stories.txt +0 -76
- package/src/lib/matcha-snackbar/matcha-snackbar.directive.ts +0 -16
- package/src/lib/matcha-snackbar/snackbar.module.ts +0 -12
- package/src/lib/matcha-title/matcha-title.component.html +0 -33
- package/src/lib/matcha-title/matcha-title.component.spec.ts +0 -21
- package/src/lib/matcha-title/matcha-title.component.ts +0 -24
- package/src/lib/matcha-title/matcha-title.module.ts +0 -18
- /package/src/lib/matcha-bottom-sheet/{matcha-bottom-sheet.directive.ts → bottom-sheet.directive.ts} +0 -0
- /package/src/lib/{matcha-buttons/button.stories.ts → matcha-button/button.stories.ts.TXT} +0 -0
- /package/src/lib/matcha-card/{matcha-card.component.html → card.component.html} +0 -0
- /package/src/lib/matcha-card/{matcha-card-content/matcha-card-content.component.scss → card.component.scss} +0 -0
- /package/src/lib/matcha-divider/{matcha-divider.directive.ts → divider.directive.ts} +0 -0
- /package/src/lib/{matcha-card/matcha-card-footer/matcha-card-footer.component.scss → matcha-headers/headine/headline.component.scss} +0 -0
- /package/src/lib/{matcha-card/matcha-card-header/matcha-card-header.component.scss → matcha-headers/subhead/subhead.component.scss} +0 -0
- /package/src/lib/{matcha-title/matcha-title.component.scss → matcha-headers/title/title.component.scss} +0 -0
- /package/src/lib/matcha-menu/{matcha-menu.directive.ts → menu.directive.ts} +0 -0
- /package/src/lib/matcha-paginator/{matcha-paginator.directive.ts → paginator.directive.ts} +0 -0
- /package/src/lib/matcha-sort-header/{matcha-sort-header.directive.ts → sort-header.directive.ts} +0 -0
- /package/src/lib/matcha-stepper/{matcha-stepper.directive.ts → stepper.directive.ts} +0 -0
- /package/src/lib/matcha-table/{matcha-table.directive.ts → table.directive.ts} +0 -0
- /package/src/lib/matcha-tabs/{matcha-tabs.directive.ts → tabs.directive.ts} +0 -0
- /package/src/lib/matcha-tooltip/{matcha-tooltip.directive.ts → tooltip.directive.ts} +0 -0
- /package/src/lib/matcha-tree/{matcha-tree.directive.ts → tree.directive.ts} +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
|
+
|
|
3
|
+
<Meta title="Fundamentos / Typography / Line-height" />
|
|
4
|
+
|
|
5
|
+
### Line-height
|
|
6
|
+
|
|
7
|
+
O line-height é usado para controlar a altura da linha em um bloco de texto,
|
|
8
|
+
afetando o espaço entre as linhas de texto.
|
|
9
|
+
|
|
10
|
+
#### Pixels
|
|
11
|
+
|
|
12
|
+
Os tamanhos em pixels dessas classes são sempre múltiplos de **2**, sendo o
|
|
13
|
+
mínimo **2** e o máximo **72**.
|
|
14
|
+
|
|
15
|
+
<div class="h-256 w-100-p overflow-y-scroll">
|
|
16
|
+
<table class="w-100-p">
|
|
17
|
+
<thead>
|
|
18
|
+
<tr>
|
|
19
|
+
<th>Classe</th>
|
|
20
|
+
<th>Propriedade</th>
|
|
21
|
+
</tr>
|
|
22
|
+
</thead>
|
|
23
|
+
<tbody>
|
|
24
|
+
{Array.from({ length: 36 }, (_, index) => {
|
|
25
|
+
const fontSizeValue = (index + 1)* 2;
|
|
26
|
+
return (
|
|
27
|
+
<tr key={`lh-${fontSizeValue}`}>
|
|
28
|
+
<td>lh-{fontSizeValue}</td>
|
|
29
|
+
<td>line-height: {fontSizeValue}px;</td>
|
|
30
|
+
</tr>
|
|
31
|
+
);
|
|
32
|
+
})}
|
|
33
|
+
</tbody>
|
|
34
|
+
</table>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div class="h-24"></div>
|
|
38
|
+
|
|
39
|
+
<p class="h5 mb-8 font-size-16 mt-4">Exemplos</p>
|
|
40
|
+
|
|
41
|
+
<div class="matcha-card background-surface d-flex-column gap-16">
|
|
42
|
+
<div class="matcha-card background-bg d-flex-row gap-8">
|
|
43
|
+
<p class="fs-16 lh-20 background-surface p-8 border-radius-6">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tortor massa, finibus at nunc vel, consectetur adipiscing elit. Sed tortor massa, finibus at nunc vel, varius tincidunt tortor. Etiam id arcu porttitor, congue sem ac, posuere lorem. </p>
|
|
44
|
+
<p class="fs-16 lh-32 background-surface p-8 border-radius-6">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tortor massa, finibus at nunc vel, consectetur adipiscing elit. Sed tortor massa, finibus at nunc vel, varius tincidunt tortor. Etiam id arcu porttitor, congue sem ac, posuere lorem. </p>
|
|
45
|
+
</div>
|
|
46
|
+
<div>
|
|
47
|
+
```html
|
|
48
|
+
<p class="fs-16 lh-20">line-height: 20px</p>
|
|
49
|
+
<p class="fs-16 lh-32">line-height: 32px</p>
|
|
50
|
+
```
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
|
+
|
|
3
|
+
<Meta title="Fundamentos / Typography / Message Boxes" />
|
|
4
|
+
|
|
5
|
+
### Message Boxes
|
|
6
|
+
|
|
7
|
+
Um message box é geralmente usado para exibição de mensagens.
|
|
8
|
+
|
|
9
|
+
<p class="h5 mb-8 font-size-16 mt-4">Classes</p>
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<div class="matcha-card background-surface d-flex-column gap-16">
|
|
13
|
+
<div class="matcha-card background-bg d-flex-column gap-16">
|
|
14
|
+
<div class="message-box error w-200">
|
|
15
|
+
<p>Message box error</p>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="message-box warning w-200">
|
|
18
|
+
<p>Message box warning</p>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="message-box success w-200">
|
|
21
|
+
<p>Message box success</p>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="message-box info w-200">
|
|
24
|
+
<p>Message box info</p>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div>
|
|
28
|
+
```html
|
|
29
|
+
<div class="message-box error w-200">
|
|
30
|
+
<p>Message box error</p>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="message-box warning w-200">
|
|
33
|
+
<p>Message box warning</p>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="message-box success w-200">
|
|
36
|
+
<p>Message box success</p>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="message-box info w-200">
|
|
39
|
+
<p>Message box info</p>
|
|
40
|
+
</div>
|
|
41
|
+
```
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
|
+
|
|
3
|
+
<Meta title="Fundamentos / Typography / Text-align" />
|
|
4
|
+
|
|
5
|
+
### Text-align
|
|
6
|
+
|
|
7
|
+
O text-align controla o alinhamento horizontal do texto dentro de um elemento.
|
|
8
|
+
|
|
9
|
+
<div class="matcha-card background-surface d-flex-column gap-16">
|
|
10
|
+
<div class="matcha-card background-bg">
|
|
11
|
+
<p class="text-center">text-center</p>
|
|
12
|
+
<p class="text-right">text-right</p>
|
|
13
|
+
<p class="text-left">text-left</p>
|
|
14
|
+
</div>
|
|
15
|
+
<div>
|
|
16
|
+
```html
|
|
17
|
+
<p class="text-center">text-align: center</p>
|
|
18
|
+
<p class="text-right">text-align: right</p>
|
|
19
|
+
<p class="text-left">text-align: left</p>
|
|
20
|
+
```
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs';
|
|
2
|
+
|
|
3
|
+
<Meta title="Fundamentos / Typography / Text Styles" />
|
|
4
|
+
|
|
5
|
+
### Text styles
|
|
6
|
+
|
|
7
|
+
Estilização de trechos específicos de um texto.
|
|
8
|
+
|
|
9
|
+
<div class="matcha-card background-surface d-flex-column gap-16">
|
|
10
|
+
<div class="matcha-card background-bg">
|
|
11
|
+
<p>Exemplo de um <span class="text-super">texto</span> estilizado</p>
|
|
12
|
+
<p>Exemplo de um <span class="text-sub">texto</span> estilizado</p>
|
|
13
|
+
<p>Exemplo de um <span class="text-capitalize">texto</span> estilizado</p>
|
|
14
|
+
<p>Exemplo de um <span class="text-uppercase">texto</span> estilizado</p>
|
|
15
|
+
<p>Exemplo de um <span class="text-lowercase">TEXTO</span> estilizado</p>
|
|
16
|
+
</div>
|
|
17
|
+
<div>
|
|
18
|
+
```html
|
|
19
|
+
<p>Exemplo de um <span class="text-super">texto</span> estilizado</p>
|
|
20
|
+
<p>Exemplo de um <span class="text-sub">texto</span> estilizado</p>
|
|
21
|
+
<p>Exemplo de um <span class="text-capitalize">texto</span> estilizado</p>
|
|
22
|
+
<p>Exemplo de um <span class="text-uppercase">texto</span> estilizado</p>
|
|
23
|
+
<p>Exemplo de um <span class="text-lowercase">TEXTO</span> estilizado</p>
|
|
24
|
+
```
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div class="h-24"></div>
|
|
29
|
+
|
|
30
|
+
### Para quebra de palavras
|
|
31
|
+
|
|
32
|
+
<div class="h-24"></div>
|
|
33
|
+
|
|
34
|
+
<div class="matcha-card background-surface d-flex-column gap-16">
|
|
35
|
+
<div class="matcha-card background-bg gap-16">
|
|
36
|
+
<p class="word-break w-124 background-surface border-radius-6">
|
|
37
|
+
Palavra palavra palavra palavra palavra palavra
|
|
38
|
+
</p>
|
|
39
|
+
<p class="word-break-all w-124 background-surface border-radius-6">
|
|
40
|
+
Palavra palavra palavra palavra palavra palavra
|
|
41
|
+
</p>
|
|
42
|
+
</div>
|
|
43
|
+
<div>
|
|
44
|
+
```html
|
|
45
|
+
<p class="word-break w-124">
|
|
46
|
+
Palavra palavra palavra palavra palavra palavra
|
|
47
|
+
</p>
|
|
48
|
+
<p class="word-break-all w-124">
|
|
49
|
+
Palavra palavra palavra palavra palavra palavra
|
|
50
|
+
</p>
|
|
51
|
+
```
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="h-24"></div>
|
|
56
|
+
|
|
57
|
+
### Outras estilizações
|
|
58
|
+
|
|
59
|
+
<div class="h-24"></div>
|
|
60
|
+
|
|
61
|
+
<div class="matcha-card background-surface d-flex-column gap-16">
|
|
62
|
+
<div class="matcha-card background-bg">
|
|
63
|
+
<p class="text-truncate w-64">
|
|
64
|
+
Sed tortortia massa, finibus at nunc vel, consectetur
|
|
65
|
+
</p>
|
|
66
|
+
<p class="text-nowrap background-surface-alpha-inverse border-radius-6 w-64">
|
|
67
|
+
Sed tortortia massa, finibus at nunc vel, consectetur
|
|
68
|
+
</p>
|
|
69
|
+
<p class="text-boxed">
|
|
70
|
+
Sed tortortia massa, finibus at nunc vel, consectetur
|
|
71
|
+
</p>
|
|
72
|
+
<p class="text-strike">
|
|
73
|
+
Sed tortortia massa, finibus at nunc vel, consectetur
|
|
74
|
+
</p>
|
|
75
|
+
<p class="text-none">
|
|
76
|
+
Sed tortortia massa, finibus at nunc vel, consectetur
|
|
77
|
+
</p>
|
|
78
|
+
</div>
|
|
79
|
+
<div>
|
|
80
|
+
```html
|
|
81
|
+
<p class="text-truncate w-64"></p>
|
|
82
|
+
<p class="text-nowrap background-surface w-64"></p>
|
|
83
|
+
<p class="text-boxed"></p>
|
|
84
|
+
<p class="text-strike"></p>
|
|
85
|
+
<p class="text-none"></p>
|
|
86
|
+
```
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
applicationConfig,
|
|
3
|
-
Meta,
|
|
4
|
-
moduleMetadata,
|
|
5
|
-
StoryObj,
|
|
6
|
-
} from '@storybook/angular';
|
|
1
|
+
import { applicationConfig, Meta, moduleMetadata, StoryObj } from '@storybook/angular';
|
|
7
2
|
import { NgFor, AsyncPipe } from '@angular/common';
|
|
8
3
|
import { CommonModule } from '@angular/common';
|
|
9
4
|
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -13,30 +8,19 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|
|
13
8
|
import { MatInputModule } from '@angular/material/input';
|
|
14
9
|
import { provideAnimations } from '@angular/platform-browser/animations';
|
|
15
10
|
import { autocompleteArgtypes } from './autocomplete.argtypes';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
11
|
+
import { AutocompleteAutoActiveFirstOptionExample } from './example/autocomplete-auto-active-first-option-example';
|
|
12
|
+
import { AutocompleteOverviewExample } from './example/autocomplete-overview-example';
|
|
13
|
+
import { MatchaAutocompleteModule } from './autocomplete.module';
|
|
18
14
|
|
|
19
15
|
export default {
|
|
20
16
|
title: 'Atoms / Autocomplete',
|
|
17
|
+
component: AutocompleteOverviewExample,
|
|
21
18
|
decorators: [
|
|
22
19
|
applicationConfig({
|
|
23
20
|
providers: [provideAnimations()],
|
|
24
21
|
}),
|
|
25
22
|
moduleMetadata({
|
|
26
|
-
imports: [
|
|
27
|
-
CommonModule,
|
|
28
|
-
FormsModule,
|
|
29
|
-
MatFormFieldModule,
|
|
30
|
-
MatInputModule,
|
|
31
|
-
MatAutocompleteModule,
|
|
32
|
-
ReactiveFormsModule,
|
|
33
|
-
NgFor,
|
|
34
|
-
AsyncPipe,
|
|
35
|
-
],
|
|
36
|
-
declarations: [
|
|
37
|
-
MatchaAutocompleteDirective,
|
|
38
|
-
MatchaAutocompleteOverviewDirective,
|
|
39
|
-
],
|
|
23
|
+
imports: [CommonModule, FormsModule, MatFormFieldModule, MatInputModule, MatAutocompleteModule, ReactiveFormsModule, NgFor, AsyncPipe, MatchaAutocompleteModule],
|
|
40
24
|
}),
|
|
41
25
|
],
|
|
42
26
|
// tags: ['autodocs'],
|
|
@@ -58,9 +42,7 @@ export default {
|
|
|
58
42
|
|
|
59
43
|
function _filter(value: string): string[] {
|
|
60
44
|
const filterValue = value.toLowerCase();
|
|
61
|
-
return options.filter((option) =>
|
|
62
|
-
option.toLowerCase().includes(filterValue)
|
|
63
|
-
);
|
|
45
|
+
return options.filter((option) => option.toLowerCase().includes(filterValue));
|
|
64
46
|
}
|
|
65
47
|
|
|
66
48
|
const myControl = new FormControl();
|
|
@@ -111,3 +93,12 @@ export const AutocompleteDefault: StoryObj = {
|
|
|
111
93
|
}),
|
|
112
94
|
name: 'Autocomplete Default',
|
|
113
95
|
};
|
|
96
|
+
|
|
97
|
+
export const AutocompleteAutoActiveFirstOptionOverview: StoryObj<AutocompleteOverviewExample> = {
|
|
98
|
+
render: (args) => ({
|
|
99
|
+
props: {
|
|
100
|
+
...args,
|
|
101
|
+
},
|
|
102
|
+
}),
|
|
103
|
+
name: 'Active First Option',
|
|
104
|
+
};
|
package/src/lib/matcha-autocomplete/example/autocomplete-auto-active-first-option-example.html
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<form class="example-form">
|
|
2
|
+
<mat-form-field class="example-full-width" appearance="outline" [color]="color">
|
|
3
|
+
<mat-label>Number</mat-label>
|
|
4
|
+
<input type="text" placeholder="Pick one" aria-label="Number" matInput [formControl]="myControl" [matAutocomplete]="auto" />
|
|
5
|
+
<mat-autocomplete autoActiveFirstOption #auto="matAutocomplete">
|
|
6
|
+
<mat-option *ngFor="let option of filteredOptions | async" [value]="option"> {{option}} </mat-option>
|
|
7
|
+
</mat-autocomplete>
|
|
8
|
+
</mat-form-field>
|
|
9
|
+
</form>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Component, OnInit } from '@angular/core';
|
|
2
|
+
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { map, startWith } from 'rxjs/operators';
|
|
5
|
+
import { NgFor, AsyncPipe } from '@angular/common';
|
|
6
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
8
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @title Highlight the first autocomplete option
|
|
12
|
+
*/
|
|
13
|
+
@Component({
|
|
14
|
+
selector: 'autocomplete-auto-active-first-option-example',
|
|
15
|
+
templateUrl: 'autocomplete-auto-active-first-option-example.html',
|
|
16
|
+
styleUrls: ['autocomplete-auto-active-first-option-example.css'],
|
|
17
|
+
standalone: true,
|
|
18
|
+
imports: [FormsModule, MatFormFieldModule, MatInputModule, MatAutocompleteModule, ReactiveFormsModule, NgFor, AsyncPipe],
|
|
19
|
+
})
|
|
20
|
+
export class AutocompleteAutoActiveFirstOptionExample implements OnInit {
|
|
21
|
+
myControl = new FormControl('');
|
|
22
|
+
options: string[] = ['One', 'Two', 'Three'];
|
|
23
|
+
filteredOptions!: Observable<string[]>;
|
|
24
|
+
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.filteredOptions = this.myControl.valueChanges.pipe(
|
|
27
|
+
startWith(''),
|
|
28
|
+
map((value) => this._filter(value || ''))
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
private _filter(value: string): string[] {
|
|
33
|
+
const filterValue = value.toLowerCase();
|
|
34
|
+
|
|
35
|
+
return this.options.filter((option) => option.toLowerCase().includes(filterValue));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
.example-form {
|
|
2
|
+
min-width: 150px;
|
|
3
|
+
max-width: 500px;
|
|
4
|
+
width: 100%;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.example-full-width {
|
|
8
|
+
width: 100%;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.example-option-img {
|
|
12
|
+
vertical-align: middle;
|
|
13
|
+
margin-right: 8px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[dir='rtl'] .example-option-img {
|
|
17
|
+
margin-right: 0;
|
|
18
|
+
margin-left: 8px;
|
|
19
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<form class="example-form">
|
|
2
|
+
<mat-form-field class="example-full-width" appearance="outline" [color]="color">
|
|
3
|
+
<mat-label>State</mat-label>
|
|
4
|
+
<input matInput aria-label="State" [matAutocomplete]="auto" [formControl]="stateCtrl" />
|
|
5
|
+
<mat-autocomplete #auto="matAutocomplete">
|
|
6
|
+
<mat-option *ngFor="let state of filteredStates | async" [value]="state.name">
|
|
7
|
+
<img alt="" class="example-option-img" [src]="state.flag" height="25" />
|
|
8
|
+
<span>{{state.name}}</span> |
|
|
9
|
+
<small>Population: {{state.population}}</small>
|
|
10
|
+
</mat-option>
|
|
11
|
+
</mat-autocomplete>
|
|
12
|
+
</mat-form-field>
|
|
13
|
+
|
|
14
|
+
<br />
|
|
15
|
+
|
|
16
|
+
<mat-slide-toggle [checked]="stateCtrl.disabled" (change)="stateCtrl.disabled ? stateCtrl.enable() : stateCtrl.disable()"> Disable Input? </mat-slide-toggle>
|
|
17
|
+
</form>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { map, startWith } from 'rxjs/operators';
|
|
5
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
6
|
+
import { NgFor, AsyncPipe } from '@angular/common';
|
|
7
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
8
|
+
import { MatInputModule } from '@angular/material/input';
|
|
9
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
10
|
+
|
|
11
|
+
export interface State {
|
|
12
|
+
flag: string;
|
|
13
|
+
name: string;
|
|
14
|
+
population: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @title Autocomplete overview
|
|
19
|
+
*/
|
|
20
|
+
@Component({
|
|
21
|
+
selector: 'autocomplete-overview-example',
|
|
22
|
+
templateUrl: 'autocomplete-overview-example.html',
|
|
23
|
+
styleUrls: ['autocomplete-overview-example.css'],
|
|
24
|
+
standalone: true,
|
|
25
|
+
imports: [FormsModule, MatFormFieldModule, MatInputModule, MatAutocompleteModule, ReactiveFormsModule, NgFor, MatSlideToggleModule, AsyncPipe],
|
|
26
|
+
})
|
|
27
|
+
export class AutocompleteOverviewExample {
|
|
28
|
+
stateCtrl = new FormControl('');
|
|
29
|
+
filteredStates: Observable<State[]>;
|
|
30
|
+
|
|
31
|
+
states: State[] = [
|
|
32
|
+
{
|
|
33
|
+
name: 'Arkansas',
|
|
34
|
+
population: '2.978M',
|
|
35
|
+
// https://commons.wikimedia.org/wiki/File:Flag_of_Arkansas.svg
|
|
36
|
+
flag: 'https://upload.wikimedia.org/wikipedia/commons/9/9d/Flag_of_Arkansas.svg',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'California',
|
|
40
|
+
population: '39.14M',
|
|
41
|
+
// https://commons.wikimedia.org/wiki/File:Flag_of_California.svg
|
|
42
|
+
flag: 'https://upload.wikimedia.org/wikipedia/commons/0/01/Flag_of_California.svg',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Florida',
|
|
46
|
+
population: '20.27M',
|
|
47
|
+
// https://commons.wikimedia.org/wiki/File:Flag_of_Florida.svg
|
|
48
|
+
flag: 'https://upload.wikimedia.org/wikipedia/commons/f/f7/Flag_of_Florida.svg',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'Texas',
|
|
52
|
+
population: '27.47M',
|
|
53
|
+
// https://commons.wikimedia.org/wiki/File:Flag_of_Texas.svg
|
|
54
|
+
flag: 'https://upload.wikimedia.org/wikipedia/commons/f/f7/Flag_of_Texas.svg',
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
constructor() {
|
|
59
|
+
this.filteredStates = this.stateCtrl.valueChanges.pipe(
|
|
60
|
+
startWith(''),
|
|
61
|
+
map((state) => (state ? this._filterStates(state) : this.states.slice()))
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
private _filterStates(value: string): State[] {
|
|
66
|
+
const filterValue = value.toLowerCase();
|
|
67
|
+
|
|
68
|
+
return this.states.filter((state) => state.name.toLowerCase().includes(filterValue));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export const badgeArgtypes = {
|
|
2
|
+
matBadgeColor: {
|
|
3
|
+
description: 'The color of the badge. Can be primary, accent, or warn.',
|
|
4
|
+
control: 'select',
|
|
5
|
+
options: ['primary', 'accent', 'warn'],
|
|
6
|
+
defaultValue: 'primary',
|
|
7
|
+
table: {
|
|
8
|
+
type: { summary: 'ThemePalette' },
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
matBadge: {
|
|
12
|
+
description: 'The content for the badge',
|
|
13
|
+
control: 'text',
|
|
14
|
+
defaultValue: '',
|
|
15
|
+
table: {
|
|
16
|
+
type: { summary: 'string | number | undefined | null' },
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
matBadgeDescription: {
|
|
20
|
+
description: 'Message used to describe the decorated element via aria-describedby',
|
|
21
|
+
control: 'text',
|
|
22
|
+
defaultValue: '',
|
|
23
|
+
table: {
|
|
24
|
+
type: { summary: 'string' },
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
matBadgeDisabled: {
|
|
28
|
+
description: 'Whether the component is disabled.',
|
|
29
|
+
control: 'boolean',
|
|
30
|
+
defaultValue: false,
|
|
31
|
+
table: {
|
|
32
|
+
type: { summary: 'boolean' },
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
matBadgeHidden: {
|
|
36
|
+
description: 'Whether the badge is hidden.',
|
|
37
|
+
control: 'boolean',
|
|
38
|
+
defaultValue: false,
|
|
39
|
+
table: {
|
|
40
|
+
type: { summary: 'boolean' },
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
matBadgeOverlap: {
|
|
44
|
+
description: 'Whether the badge should overlap its contents or not',
|
|
45
|
+
control: 'boolean',
|
|
46
|
+
defaultValue: true,
|
|
47
|
+
table: {
|
|
48
|
+
type: { summary: 'boolean' },
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
matBadgePosition: {
|
|
52
|
+
description: 'Position the badge should reside. Accepts any combination of "above"|"below" and "before"|"after"',
|
|
53
|
+
control: 'text',
|
|
54
|
+
defaultValue: 'above after',
|
|
55
|
+
table: {
|
|
56
|
+
type: { summary: 'MatBadgePosition' },
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
matBadgeSize: {
|
|
60
|
+
description: 'Size of the badge. Can be "small", "medium", or "large".',
|
|
61
|
+
control: 'select',
|
|
62
|
+
options: ['small', 'medium', 'large'],
|
|
63
|
+
defaultValue: 'medium',
|
|
64
|
+
table: {
|
|
65
|
+
type: { summary: 'MatBadgeSize' },
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
color: {
|
|
69
|
+
description: 'Theme color palette',
|
|
70
|
+
control: 'select',
|
|
71
|
+
defaultValue: 'accent',
|
|
72
|
+
table: {
|
|
73
|
+
defaultValue: { summary: 'accent' },
|
|
74
|
+
},
|
|
75
|
+
options: ['primary', 'accent', 'warn'],
|
|
76
|
+
},
|
|
77
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Directive, ElementRef, Renderer2 } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
@Directive({
|
|
4
|
+
selector: '[matcha-badge]',
|
|
5
|
+
})
|
|
6
|
+
export class MatchaBadgeDirective {
|
|
7
|
+
constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {
|
|
8
|
+
//this._elementRef.nativeElement.style.backgroundColor = 'grey';
|
|
9
|
+
this._renderer.addClass(this._elementRef.nativeElement, 'matcha-badge');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Story } from "@storybook/blocks";
|
|
2
|
+
import { Meta } from "@storybook/addon-docs";
|
|
3
|
+
import * as ComponentStories from "./badge.stories";
|
|
4
|
+
|
|
5
|
+
<Meta title="Atoms / Badge / Documentação" />
|
|
6
|
+
|
|
7
|
+
# Badge
|
|
8
|
+
|
|
9
|
+
> _badge_ "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">Badge overview</span>
|
|
19
|
+
<div class="matcha-card background-bg">
|
|
20
|
+
<Story of={ComponentStories.BadgeOverview} />
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<div class="d-flex-column">
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<div matBadge="4" matBadgeOverlap="false" class="demo-section">Text with a badge</div>
|
|
27
|
+
|
|
28
|
+
<div matBadge="1" matBadgeSize="large" class="demo-section">Text with large badge</div>
|
|
29
|
+
|
|
30
|
+
<div class="demo-section">
|
|
31
|
+
Button with a badge on the left
|
|
32
|
+
<button mat-raised-button color="primary"
|
|
33
|
+
matBadge="8" matBadgePosition="before" matBadgeColor="accent">
|
|
34
|
+
Action
|
|
35
|
+
</button>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<div class="demo-section">
|
|
39
|
+
Button toggles badge visibility
|
|
40
|
+
<button mat-raised-button matBadge="7" [matBadgeHidden]="hidden" (click)="toggleBadgeVisibility()">
|
|
41
|
+
Hide
|
|
42
|
+
</button>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div class="demo-section">
|
|
46
|
+
Icon with a badge
|
|
47
|
+
<mat-icon matBadge="15" matBadgeColor="warn">home</mat-icon>
|
|
48
|
+
<!-- Include text description of the icon's meaning for screen-readers -->
|
|
49
|
+
<span class="cdk-visually-hidden">
|
|
50
|
+
Example with a home icon with overlaid badge showing the number 15
|
|
51
|
+
</span>
|
|
52
|
+
</div>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<br />
|
|
62
|
+
|
|
63
|
+
### Installation
|
|
64
|
+
|
|
65
|
+
`import {MatBadgeModule} from '@angular/material/badge';`
|
|
66
|
+
|
|
67
|
+
[Official documentation](https://https://material.angular.io/components/badge/overview)
|
|
68
|
+
|
|
69
|
+
<br />
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { MatchaBadgeDirective } from './
|
|
2
|
+
import { MatchaBadgeDirective } from './badge.directive';
|
|
3
3
|
|
|
4
4
|
@NgModule({
|
|
5
|
-
declarations: [
|
|
6
|
-
|
|
7
|
-
],
|
|
8
|
-
imports: [
|
|
9
|
-
],
|
|
10
|
-
exports: [
|
|
11
|
-
MatchaBadgeDirective
|
|
12
|
-
]
|
|
5
|
+
declarations: [MatchaBadgeDirective],
|
|
6
|
+
imports: [],
|
|
7
|
+
exports: [MatchaBadgeDirective],
|
|
13
8
|
})
|
|
14
|
-
export class MatchaBadgeModule {
|
|
9
|
+
export class MatchaBadgeModule {}
|