@farm-investimentos/front-mfe-components 3.4.0 → 3.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/front-mfe-components.common.js +111 -75
  2. package/dist/front-mfe-components.common.js.map +1 -1
  3. package/dist/front-mfe-components.css +1 -1
  4. package/dist/front-mfe-components.umd.js +111 -75
  5. package/dist/front-mfe-components.umd.js.map +1 -1
  6. package/dist/front-mfe-components.umd.min.js +1 -1
  7. package/dist/front-mfe-components.umd.min.js.map +1 -1
  8. package/package.json +2 -2
  9. package/src/components/AlertReload/AlertReload.stories.js +1 -1
  10. package/src/components/Buttons/ConfirmButton/ConfirmButton.stories.js +1 -1
  11. package/src/components/Buttons/DangerButton/DangerButton.stories.js +1 -1
  12. package/src/components/Buttons/DefaultButton/DefaultButton.stories.js +1 -1
  13. package/src/components/Buttons/ExportButton/ExportButton.stories.js +1 -1
  14. package/src/components/Buttons/ImportButton/ImportButton.stories.js +1 -1
  15. package/src/components/Buttons/MultiImportButton/MultiImportButton.stories.js +1 -1
  16. package/src/components/Buttons/RemoveButton/RemoveButton.stories.js +1 -1
  17. package/src/components/Buttons/ToggleButton/ToggleButton.stories.js +1 -1
  18. package/src/components/CardContext/CardContext.stories.js +1 -1
  19. package/src/components/ChipInviteStatus/ChipInviteStatus.stories.js +8 -6
  20. package/src/components/ChipInviteStatus/ChipInviteStatus.vue +24 -10
  21. package/src/components/ChipInviteStatus/__tests__/ChipInviteStatus.spec.js +36 -0
  22. package/src/components/DataTableEmptyWrapper/DataTableEmptyWrapper.stories.js +1 -1
  23. package/src/components/DataTableHeader/DataTableHeader.stories.js +1 -1
  24. package/src/components/DataTablePaginator/DataTablePaginator.stories.js +25 -5
  25. package/src/components/DatePicker/DatePicker.stories.js +1 -1
  26. package/src/components/DefaultTextField/DefaultTextField.stories.js +1 -1
  27. package/src/components/DialogFooter/DialogFooter.stories.js +1 -1
  28. package/src/components/DialogHeader/DialogHeader.stories.js +1 -1
  29. package/src/components/FilePicker/FilePicker.stories.js +1 -1
  30. package/src/components/IconBox/IconBox.stories.js +1 -1
  31. package/src/components/Loader/Loader.stories.js +1 -1
  32. package/src/components/Logos/OriginatorLogo/OriginatorLogo.stories.js +1 -1
  33. package/src/components/Logos/ProductLogo/ProductLogo.stories.js +1 -1
  34. package/src/components/MainFilter/MainFilter.stories.js +1 -1
  35. package/src/components/ManagersList/ManagersList.stories.js +1 -1
  36. package/src/components/ModalPromptUser/ModalPromptUser.stories.js +47 -4
  37. package/src/components/ModalPromptUser/__tests__/ModalPromptUser.spec.js +27 -0
  38. package/src/components/MultipleSelectShortener/MultipleSelectShortener.stories.js +1 -1
  39. package/src/components/PromptUserToConfirm/PromptUserToConfirm.stories.js +3 -3
  40. package/src/components/PromptUserToConfirm/__tests__/PromptUserToConfirm.spec.js +24 -0
  41. package/src/components/RangeDatePicker/RangeDatePicker.stories.js +23 -4
  42. package/src/components/ResetTableRowSelection/ResetTableRowSelection.stories.js +1 -1
  43. package/src/components/SelectModalOptions/SelectModalOptions.stories.js +1 -1
  44. package/src/components/TableContextMenu/TableContextMenu.scss +3 -0
  45. package/src/components/TableContextMenu/TableContextMenu.stories.js +40 -3
  46. package/src/components/TableContextMenu/TableContextMenu.vue +3 -0
  47. package/src/components/Tabs/Tabs.stories.js +1 -1
  48. package/src/examples/Modal.stories.js +47 -0
  49. package/src/examples/Table.stories.js +84 -0
  50. package/src/scss/ButtonOverrides.scss +7 -1
  51. package/src/scss/DefaultModal.scss +66 -64
  52. package/src/scss/DialogOverrides.scss +86 -0
  53. package/src/scss/FormOverrides.scss +46 -6
  54. package/src/scss/VMenuOverrides.scss +5 -0
  55. package/src/scss/utils.scss +138 -99
@@ -1,7 +1,9 @@
1
1
  import TableContextMenu from './TableContextMenu';
2
+ import { withDesign } from 'storybook-addon-designs';
2
3
 
3
4
  export default {
4
- title: 'Example/TableContextMenu',
5
+ title: 'API/TableContextMenu',
6
+ decorators: [withDesign],
5
7
  component: TableContextMenu,
6
8
  };
7
9
 
@@ -15,5 +17,40 @@ export const Icons = () => ({
15
17
  template: `<TableContextMenu :items="[{ label: 'Remover', icon: { color: 'error', type: 'delete' } }]" />`,
16
18
  });
17
19
 
18
- Primary.storyName = 'Básico';
19
- Icons.storyname = 'Ícone';
20
+ export const Multi = () => ({
21
+ components: { TableContextMenu },
22
+ template: `<TableContextMenu :items="[{ label: 'Novo', icon: { color: 'grey', type: 'open-in-new' } }, { label: 'Editar', icon: { color: 'secondary', type: 'open-in-new' } }, { label: 'Remover', icon: { color: 'error', type: 'delete' } }]" />`,
23
+ });
24
+
25
+ Primary.story = {
26
+ name: 'Básico',
27
+ parameters: {
28
+ design: {
29
+ type: 'figma',
30
+ url:
31
+ 'https://www.figma.com/file/rkkAsX4IP0tzv1udIDXlqe/%E2%9C%8D---Onboarding---PJ?node-id=3516%3A11516',
32
+ },
33
+ },
34
+ };
35
+
36
+ Icons.story = {
37
+ name: 'Ícone',
38
+ parameters: {
39
+ design: {
40
+ type: 'figma',
41
+ url:
42
+ 'https://www.figma.com/file/rkkAsX4IP0tzv1udIDXlqe/%E2%9C%8D---Onboarding---PJ?node-id=3516%3A11516',
43
+ },
44
+ },
45
+ };
46
+
47
+ Multi.story = {
48
+ name: 'Múltiplos Itens',
49
+ parameters: {
50
+ design: {
51
+ type: 'figma',
52
+ url:
53
+ 'https://www.figma.com/file/rkkAsX4IP0tzv1udIDXlqe/%E2%9C%8D---Onboarding---PJ?node-id=3516%3A11516',
54
+ },
55
+ },
56
+ };
@@ -63,3 +63,6 @@ export default Vue.extend({
63
63
  },
64
64
  });
65
65
  </script>
66
+ <style lang="scss" scoped>
67
+ @import 'TableContextMenu';
68
+ </style>
@@ -1,7 +1,7 @@
1
1
  import Tabs from './Tabs.vue';
2
2
 
3
3
  export default {
4
- title: 'Example/Tabs',
4
+ title: 'API/Tabs',
5
5
  component: Tabs,
6
6
  };
7
7
 
@@ -0,0 +1,47 @@
1
+ import { withDesign } from 'storybook-addon-designs';
2
+ import { DialogHeader, DialogFooter } from '../main';
3
+
4
+ export default {
5
+ title: 'Examples/Modal',
6
+ decorators: [withDesign],
7
+ component: Modal,
8
+ };
9
+
10
+ export const Modal = () => ({
11
+ /*
12
+ * How to create the default modal following FARM's Design System guideline
13
+ */
14
+ components: {
15
+ DialogHeader,
16
+ DialogFooter,
17
+ },
18
+ data() {
19
+ return {
20
+ inputVal: false,
21
+ };
22
+ },
23
+ template: `<div>
24
+ <v-dialog content-class="modal-default" v-model="inputVal">
25
+ <DialogHeader title="Exemplo" @onClose="inputVal = false;" />
26
+ <v-main class="pa-6 pt-12">
27
+ Place dialog content here!
28
+ </v-main>
29
+ <DialogFooter :hasConfirm="false" @onClose="inputVal = false;" />
30
+ </v-dialog>
31
+ <v-btn @click="inputVal = true;" color="secondary">
32
+ Clique para abrir
33
+ </v-btn>
34
+ </div>`,
35
+ });
36
+
37
+ // Modal.storyName = 'Básico';
38
+ Modal.story = {
39
+ name: 'Básico',
40
+ parameters: {
41
+ design: {
42
+ type: 'figma',
43
+ url:
44
+ 'https://www.figma.com/file/rkkAsX4IP0tzv1udIDXlqe/%E2%9C%8D---Onboarding---PJ?node-id=2867%3A10594',
45
+ },
46
+ },
47
+ };
@@ -0,0 +1,84 @@
1
+ import { withDesign } from 'storybook-addon-designs';
2
+ import { DataTableEmptyWrapper } from '../main';
3
+
4
+ const headers = [
5
+ {
6
+ text: 'ID',
7
+ sortable: false,
8
+ value: 'id',
9
+ width: 80,
10
+ align: 'left',
11
+ },
12
+ ];
13
+
14
+ export default {
15
+ title: 'Examples/Table',
16
+ decorators: [withDesign],
17
+ };
18
+
19
+ export const TableNoData = () => ({
20
+ components: {
21
+ DataTableEmptyWrapper,
22
+ },
23
+ data() {
24
+ return {
25
+ headers,
26
+ };
27
+ },
28
+ template: `<div>
29
+ <v-data-table
30
+ hide-default-footer
31
+ :headers="headers"
32
+ >
33
+ <template slot="no-data">
34
+ <DataTableEmptyWrapper
35
+ subtitle="Tente filtrar novamente sua pesquisa"
36
+ />
37
+ </template>
38
+ </v-data-table>
39
+ </div>`,
40
+ });
41
+
42
+ export const TableSampleData = () => ({
43
+ components: {
44
+ DataTableEmptyWrapper,
45
+ },
46
+ data() {
47
+ return {
48
+ headers,
49
+ items: [{ id: 1 }, { id: 2 }, { id: 3 }],
50
+ };
51
+ },
52
+ template: `<div>
53
+ <v-data-table
54
+ hide-default-footer
55
+ :headers="headers"
56
+ :items="items"
57
+ >
58
+
59
+ </v-data-table>
60
+ </div>`,
61
+ });
62
+
63
+ TableNoData.story = {
64
+ name: 'No data',
65
+ parameters: {
66
+ design: {
67
+ type: 'figma',
68
+ url:
69
+ 'https://www.figma.com/file/rkkAsX4IP0tzv1udIDXlqe/%E2%9C%8D---Onboarding---PJ?node-id=2867%3A10594',
70
+ },
71
+ },
72
+ };
73
+
74
+ TableSampleData.story = {
75
+ name: 'With data',
76
+ parameters: {
77
+ design: {
78
+ type: 'figma',
79
+ url:
80
+ 'https://www.figma.com/file/rkkAsX4IP0tzv1udIDXlqe/%E2%9C%8D---Onboarding---PJ?node-id=2867%3A10594',
81
+ },
82
+ },
83
+ };
84
+
@@ -16,9 +16,15 @@
16
16
  border: 0;
17
17
  }
18
18
 
19
- &.v-btn-rounded, &.v-btn--rounded {
19
+ &.v-btn-rounded {
20
20
  border-radius: 2rem;
21
21
  }
22
+
23
+ &.v-btn--no-min-width {
24
+ min-width: 0 !important;
25
+ padding: 0.125rem 0.35rem !important;
26
+ height: auto !important;
27
+ }
22
28
  }
23
29
 
24
30
  .v-btn.v-btn-noeffect {
@@ -1,78 +1,80 @@
1
1
  .modal-default.v-dialog {
2
- background: white;
2
+ background: white;
3
3
 
4
- header {
5
- font-size: 0.75rem;
6
- color: var(--v-secondary-base);
7
- padding-right: calc(1rem);
8
- position: absolute;
9
- z-index: 4;
10
- max-width: calc(960px);
11
- margin-top: -1.5rem;
12
- padding: 1rem;
13
- background-color: white;
14
- font-weight: 700;
15
- border-bottom: 1px solid var(--v-gray-lighten2);
4
+ header {
5
+ font-size: 0.75rem;
6
+ color: var(--v-secondary-base);
7
+ padding-right: calc(1rem);
8
+ position: absolute;
9
+ z-index: 4;
10
+ max-width: calc(960px);
11
+ margin-top: -1.5rem;
12
+ padding: 1rem;
13
+ background-color: white;
14
+ font-weight: 700;
15
+ border-radius: 4px 4px 0 0;
16
+ border-bottom: 1px solid var(--v-gray-lighten2);
16
17
 
17
- .dialog-header__title-icon {
18
- color: var(--v-secondary-base);
19
- font-size: 1rem;
20
- }
21
-
22
- .dialog-header__close-icon {
23
- position: absolute;
24
- right: 1rem;
25
- color: var(--v-secondary-base);
26
- font-size: 1rem;
27
- &:hover {
28
- opacity: 0.8;
29
- }
30
- }
31
- }
18
+ .dialog-header__title-icon {
19
+ color: var(--v-secondary-base);
20
+ font-size: 1rem;
21
+ }
32
22
 
33
- > main > .v-main__wrap > section {
34
- padding: 1.5rem;
35
- font-size: 0.75rem;
36
- }
23
+ .dialog-header__close-icon {
24
+ position: absolute;
25
+ right: 1rem;
26
+ color: var(--v-secondary-base);
27
+ font-size: 1rem;
28
+ &:hover {
29
+ opacity: 0.8;
30
+ }
31
+ }
32
+ }
37
33
 
38
- .v-dialog__footer {
39
- border-top: 1px solid var(--v-gray-lighten2);
40
- padding: 1rem;
41
- }
34
+ > main > .v-main__wrap > section {
35
+ padding: 1.5rem;
36
+ font-size: 0.75rem;
37
+ }
42
38
 
43
- &.modal-default-top {
44
- position: fixed;
45
- top: 0;
46
- header {
47
- padding-top: 3rem;
48
- }
49
- > main > .v-main__wrap > section {
50
- padding-top: 5rem;
51
- }
52
- }
39
+ .v-dialog__footer {
40
+ border-top: 1px solid var(--v-gray-lighten2);
41
+ padding: 1rem;
42
+ }
43
+
44
+ &.modal-default-top {
45
+ position: fixed;
46
+ top: 0;
47
+ header {
48
+ padding-top: 3rem;
49
+ }
50
+ > main > .v-main__wrap > section {
51
+ padding-top: 5rem;
52
+ }
53
+ }
53
54
  }
55
+
54
56
  @media screen and (min-width: 960px) {
55
- .v-dialog.modal-default {
56
- max-width: 960px;
57
- }
58
- .v-dialog.modal-default.modal-default-small {
59
- max-width: calc(480px - 2rem);
57
+ .v-dialog.modal-default {
58
+ max-width: 960px;
59
+ }
60
+ .v-dialog.modal-default.modal-default-small {
61
+ max-width: calc(480px - 2rem);
60
62
 
61
- header {
62
- max-width: calc(480px - 2rem);
63
- }
64
- }
63
+ header {
64
+ max-width: calc(480px - 2rem);
65
+ }
66
+ }
65
67
 
66
- .v-dialog.modal-default.modal-default-x-small {
67
- max-width: calc(392px - 2rem);
68
+ .v-dialog.modal-default.modal-default-x-small {
69
+ max-width: calc(392px - 2rem);
68
70
 
69
- header {
70
- max-width: calc(392px - 2rem);
71
- }
72
- }
71
+ header {
72
+ max-width: calc(392px - 2rem);
73
+ }
74
+ }
73
75
  }
74
76
  @media screen and (max-width: 960px) {
75
- .v-dialog.modal-default header {
76
- max-width: calc(100% - 3rem);
77
- }
77
+ .v-dialog.modal-default header {
78
+ max-width: calc(100% - 3rem);
79
+ }
78
80
  }
@@ -0,0 +1,86 @@
1
+ .v-dialog.vuedl-layout {
2
+ .v-toolbar {
3
+ color: var(--v-secondary-base);
4
+ padding-right: calc(1rem);
5
+ padding: 0;
6
+ background-color: white;
7
+ font-weight: 700;
8
+ .v-toolbar__content {
9
+ background-color: white;
10
+ .v-toolbar__title {
11
+ font-size: 0.75rem;
12
+ }
13
+ }
14
+ &.error {
15
+ color: var(--v-error-base);
16
+ }
17
+ }
18
+ .v-dialog-wrapper {
19
+ position: relative;
20
+ }
21
+ .vuedl-layout__closeBtn {
22
+ display: none;
23
+ }
24
+ .v-card__actions {
25
+ border-top: 1px solid var(--v-gray-lighten2);
26
+ padding: 1rem;
27
+ }
28
+ .v-card__text {
29
+ border-top: 1px solid var(--v-gray-lighten2);
30
+ padding-top: 2rem !important;
31
+ padding-bottom: 2rem !important;
32
+ font-size: 0.75rem !important;
33
+ color: var(--v-primary-base) !important;
34
+ font-family: 'Montserrat', sans-serif !important;
35
+ }
36
+
37
+ .v-btn.primary--text,
38
+ .v-btn.danger--text {
39
+ background-color: white;
40
+ border: 1px solid var(--v-primary-base);
41
+ }
42
+
43
+ .v-btn.error--text {
44
+ background-color: var(--v-error-base);
45
+ color: white !important;
46
+ }
47
+
48
+ .v-btn.secondary--text {
49
+ background-color: var(--v-secondary-base);
50
+ }
51
+ .v-btn.info--text {
52
+ background-color: var(--v-info-base);
53
+ }
54
+ .v-btn.info--text {
55
+ background-color: var(--v-info-base);
56
+ }
57
+ .v-btn.yellow--text {
58
+ background-color: var(--v-yellow-base);
59
+ }
60
+ .v-btn.extra--text {
61
+ background-color: var(--v-extra-base);
62
+ }
63
+ .v-btn.gray--text {
64
+ background-color: var(--v-gray-base);
65
+ }
66
+ .v-btn.info--text,
67
+ .v-btn.yellow--text,
68
+ .v-btn.extra--text,
69
+ .v-btn.gray--text,
70
+ .v-btn.secondary--text,
71
+ .v-btn.yellow--text {
72
+ box-shadow: 0px 3px 1px -2px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%),
73
+ 0px 1px 5px 0px rgb(0 0 0 / 12%) !important;
74
+ margin-left: 0.75rem !important;
75
+ }
76
+ .v-btn.yellow--text {
77
+ color: black !important;
78
+ }
79
+ .v-btn.info--text,
80
+ .v-btn.yellow--text,
81
+ .v-btn.extra--text,
82
+ .v-btn.gray--text,
83
+ .v-btn.secondary--text {
84
+ color: white !important;
85
+ }
86
+ }
@@ -3,11 +3,10 @@
3
3
  .v-col-fieldset-default {
4
4
  border: 0;
5
5
  label {
6
- font-weight: 500;
6
+ font-weight: bold;
7
7
  display: block;
8
8
  margin-bottom: 0.5rem;
9
9
  }
10
-
11
10
  }
12
11
 
13
12
  &.v-input {
@@ -15,6 +14,7 @@
15
14
  .v-input__slot {
16
15
  min-height: 36px !important;
17
16
  height: 36px;
17
+ background: white;
18
18
  fieldset {
19
19
  border-color: var(--v-gray-lighten2);
20
20
  }
@@ -37,13 +37,12 @@
37
37
  border-width: 1px;
38
38
  }
39
39
  &:after {
40
- content: "\F0028";
40
+ content: '\F0028';
41
41
  position: absolute;
42
- font: normal normal normal 24px/1 "Material Design Icons";
42
+ font: normal normal normal 24px/1 'Material Design Icons';
43
43
  right: 6px;
44
44
  top: 6px;
45
45
  }
46
-
47
46
  }
48
47
  }
49
48
  }
@@ -76,6 +75,15 @@
76
75
  color: var(--v-error-base);
77
76
  }
78
77
  }
78
+ .row.form__footer-buttons--right {
79
+ margin: 0;
80
+ margin-top: 1rem;
81
+ padding: 0;
82
+ justify-content: flex-end;
83
+ .v-btn {
84
+ margin-left: 1rem;
85
+ }
86
+ }
79
87
  }
80
88
  .v-form.v-form-importfile {
81
89
  > .row:first-child {
@@ -102,7 +110,6 @@
102
110
  input,
103
111
  label {
104
112
  color: var(--v-primary-base);
105
-
106
113
  font-size: 1rem !important;
107
114
  }
108
115
  }
@@ -114,3 +121,36 @@
114
121
  .v-text-field.v-text-field--solo .v-input__control {
115
122
  min-height: 30px;
116
123
  }
124
+
125
+ .theme--light.v-input--switch {
126
+ .v-input--switch__thumb {
127
+ color: #ffffff !important;
128
+ }
129
+ .v-input--switch__track.theme--light {
130
+ background: #f0643b;
131
+
132
+ &.secondary--text {
133
+ background-color: var(--v-secondary-base);
134
+ }
135
+ }
136
+ label {
137
+ font-size: 0.5rem;
138
+ font-weight: 600;
139
+ margin-top: 0.5rem;
140
+ padding-bottom: 0.5rem;
141
+ }
142
+ }
143
+
144
+ @media screen and (max-width: 600px) {
145
+ .v-form {
146
+ .row.form__footer-buttons--right {
147
+ justify-content: unset;
148
+ .v-btn {
149
+ margin-left: 0;
150
+ }
151
+ .v-btn:not(:first-child) {
152
+ margin-top: 1rem;
153
+ }
154
+ }
155
+ }
156
+ }
@@ -0,0 +1,5 @@
1
+ .v-menu__content {
2
+ .v-list--dense .v-list-item .v-list-item__title {
3
+ font-weight: bold;
4
+ }
5
+ }