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