@farm-investimentos/front-mfe-components 14.1.3 → 14.1.4

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farm-investimentos/front-mfe-components",
3
- "version": "14.1.3",
3
+ "version": "14.1.4",
4
4
  "author": "farm investimentos",
5
5
  "private": false,
6
6
  "main": "./dist/front-mfe-components.common.js",
@@ -1,7 +1,7 @@
1
1
  .header-text {
2
2
  position: relative;
3
- color: var(--v-primary-base);
4
- font-size: 12px;
3
+ color: var(--farm-secondary-base);
4
+ font-size: 14px;
5
5
 
6
6
  .farm-icon {
7
7
  position: absolute;
@@ -32,4 +32,27 @@ th span.span-checkbox {
32
32
  display: flex;
33
33
  justify-content: flex-start;
34
34
  padding-left: 4px;
35
- }
35
+ }
36
+
37
+ thead {
38
+ height: 51px;
39
+ }
40
+
41
+ th {
42
+ color: var(--farm-secondary-base);
43
+ font-size: 14px;
44
+ font-weight: 700;
45
+ text-transform: uppercase;
46
+ box-shadow: 0px -1px 0px var(--farm-gray-lighten), 0px 1px 0px var(--farm-gray-lighten);
47
+ }
48
+
49
+ :deep(.mdi-sort-descending)::before {
50
+ color: var(--farm-gray-base);
51
+ font-size: 12px;
52
+ font-weight: 900;
53
+ }
54
+
55
+ .farm-icon--desc,
56
+ .farm-icon--asc {
57
+ margin-top: 3.5px;
58
+ }
@@ -26,20 +26,31 @@ export const Primary = () => ({
26
26
  firstSelected: false,
27
27
  };
28
28
  },
29
- template: `<farm-datatable-header :headers="headers" :sortClick="sortClick" :firstSelected="firstSelected" />`,
29
+ template: `<farm-datatable-header :headers="headers" :sortClick="sortClick" :showCheckbox="false" :firstSelected="firstSelected" />`,
30
30
  });
31
31
 
32
32
  export const CheckBox = () => ({
33
33
  data() {
34
34
  return {
35
- headers,
35
+ headers: [
36
+ {
37
+ text: 'check',
38
+ sortable: true,
39
+ value: 'data-table-select',
40
+ align: 'left',
41
+ },
42
+ ...headers,
43
+ ],
44
+ headerProps,
36
45
  sortClick: [],
37
46
  firstSelected: false,
38
47
  };
39
48
  },
40
- template: `<farm-datatable-header :headers="headers" :sortClick="sortClick" :firstSelected="firstSelected" :showCheckbox="true" :selectedIndex="1" />`,
49
+ template: `<farm-datatable-header :headers="headers" :headerProps="headerProps" :sortClick="sortClick" :firstSelected="firstSelected" :showCheckbox="true" :selectedIndex="1" />`,
41
50
  });
42
51
 
52
+ const headerProps = { someItems: true, everyItem: true };
53
+
43
54
  const headers = [
44
55
  {
45
56
  text: 'Grupo',
@@ -26,7 +26,8 @@
26
26
  v-bind:class="[
27
27
  sortClick[$index][item.value] ? 'farm-icon--desc' : 'farm-icon--asc',
28
28
  ]"
29
- size="sm"
29
+ class="ml-2"
30
+ size="12px"
30
31
  color="gray"
31
32
  >
32
33
  sort-descending
@@ -35,7 +36,7 @@
35
36
 
36
37
  <span v-if="isTHDataTableSelect(item) && showCheckbox" class="span-checkbox">
37
38
  <farm-checkbox
38
- size="sm"
39
+ size="md"
39
40
  v-model="inputVal"
40
41
  :value="true"
41
42
  :indeterminate="headerProps.someItems && !headerProps.everyItem"
@@ -151,7 +152,7 @@ export default Vue.extend({
151
152
  },
152
153
  thWidth(item) {
153
154
  if (this.isTHDataTableSelect(item)) {
154
- return '64px';
155
+ return '72px';
155
156
  }
156
157
  return item.width ? item.width + 'px' : 'auto';
157
158
  },
@@ -48,7 +48,7 @@ describe('DataTableHeader component', () => {
48
48
  });
49
49
 
50
50
  it('Should get th width', () => {
51
- expect(component.thWidth({ value: 'data-table-select' })).toEqual('64px');
51
+ expect(component.thWidth({ value: 'data-table-select' })).toEqual('72px');
52
52
  expect(component.thWidth({ width: 24 })).toEqual('24px');
53
53
  expect(component.thWidth({})).toEqual('auto');
54
54
  });
@@ -35,6 +35,7 @@
35
35
  icon="calendar"
36
36
  v-model="fieldRange"
37
37
  autocomplete="off"
38
+ ref="inputCalendar"
38
39
  :readonly="readonly"
39
40
  :mask="`${readonly ? '' : '##/##/####'}`"
40
41
  :id="inputId"
@@ -166,6 +167,7 @@ export default Vue.extend({
166
167
  clear() {
167
168
  this.dateField = '';
168
169
  this.save();
170
+ this.$refs.inputCalendar.reset();
169
171
  },
170
172
  validation(date) {
171
173
  const pattern =
@@ -193,31 +193,31 @@ export const Grid = () => ({
193
193
  <farm-row>
194
194
  <farm-col cols="12" md="3">
195
195
  <farm-label>Label 1</farm-label>
196
- <farm-textfield />
196
+ <farm-textfield-v2 />
197
197
  </farm-col>
198
198
  <farm-col cols="12" md="3">
199
199
  <farm-label>Label 2</farm-label>
200
- <farm-textfield />
200
+ <farm-textfield-v2 />
201
201
  </farm-col>
202
202
  <farm-col cols="12" md="3">
203
203
  <farm-label>Label 3</farm-label>
204
- <farm-textfield hint="some hint text" :persistent-hint="true" />
204
+ <farm-textfield-v2 hint="some hint text" :persistent-hint="true" />
205
205
  </farm-col>
206
206
  <farm-col cols="12" md="3">
207
207
  <farm-label>Label 4</farm-label>
208
- <farm-textfield />
208
+ <farm-textfield-v2 />
209
209
  </farm-col>
210
210
  <farm-col cols="12" md="6">
211
211
  <farm-label>Label 6</farm-label>
212
- <farm-textfield />
212
+ <farm-textfield-v2 />
213
213
  </farm-col>
214
214
  <farm-col cols="12" md="2">
215
215
  <farm-label>Label 7</farm-label>
216
- <farm-textfield />
216
+ <farm-textfield-v2 />
217
217
  </farm-col>
218
218
  <farm-col cols="12" md="4">
219
219
  <farm-label>Label 4</farm-label>
220
- <farm-textfield />
220
+ <farm-textfield-v2 />
221
221
  </farm-col>
222
222
  </farm-row>
223
223
 
@@ -360,7 +360,7 @@ export const RestartValidation = () => ({
360
360
  },
361
361
  template: `
362
362
  <farm-form v-model="validForm" :style="[styles.vForm]" ref="form">
363
- {{ validForm }}
363
+ Is valid form: {{ validForm }}
364
364
 
365
365
  <farm-label :required="true">Nome</farm-label>
366
366
  <farm-textfield-v2 v-model="form.name" :rules="[rules.required]" />
@@ -4,10 +4,11 @@
4
4
  font-size: 12px;
5
5
  margin-bottom: 8px;
6
6
  line-height: 24px;
7
+ color: var(--farm-text-primary);
7
8
 
8
9
  &.farm-label--required::after {
9
10
  content: '*';
10
11
  margin-left: 2px;
11
- color: var(--v-error-base);
12
+ color: var(--farm-error-base);
12
13
  }
13
14
  }
@@ -1,5 +1,9 @@
1
1
  <template>
2
- <label :class="{ 'farm-label': true, 'farm-label--required': required }" v-bind="$attrs">
2
+ <label
3
+ :class="{ 'farm-label': true, 'farm-label--required': required }"
4
+ v-on="$listeners"
5
+ v-bind="$attrs"
6
+ >
3
7
  <slot></slot>
4
8
  </label>
5
9
  </template>
@@ -1,7 +1,7 @@
1
1
  import SelectModalOptions from './SelectModalOptions';
2
2
 
3
3
  export default {
4
- title: 'INteractions/SelectModalOptions',
4
+ title: 'Interactions/SelectModalOptions',
5
5
  component: SelectModalOptions,
6
6
  };
7
7
 
@@ -79,9 +79,13 @@
79
79
  </template>
80
80
  <script lang="ts">
81
81
  import Vue from 'vue';
82
+ import { VDataTable } from 'vuetify/lib';
82
83
 
83
84
  export default Vue.extend({
84
85
  name: 'farm-select-modal-options',
86
+ components: {
87
+ 'v-data-table': VDataTable,
88
+ },
85
89
  props: {
86
90
  /**
87
91
  * Input Label
@@ -1,11 +1,12 @@
1
1
  import { withDesign } from 'storybook-addon-designs';
2
+ import { VDataTable } from 'vuetify/lib/components';
2
3
  import DataTableEmptyWrapper from '../components/DataTableEmptyWrapper';
3
4
  import DataTablePaginator from '../components/DataTablePaginator';
4
5
 
5
6
  const headers = [
6
7
  {
7
8
  text: 'ID',
8
- sortable: false,
9
+ sortable: true,
9
10
  value: 'id',
10
11
  width: 80,
11
12
  align: 'left',
@@ -37,6 +38,7 @@ export default {
37
38
  };
38
39
 
39
40
  export const TableNoData = () => ({
41
+ components: { 'v-data-table': VDataTable },
40
42
  data() {
41
43
  return {
42
44
  headers,
@@ -59,6 +61,7 @@ export const TableNoData = () => ({
59
61
  });
60
62
 
61
63
  export const TableSampleData = () => ({
64
+ components: { 'v-data-table': VDataTable },
62
65
  data() {
63
66
  return {
64
67
  headers,
@@ -80,12 +83,33 @@ export const TableSampleData = () => ({
80
83
  </v-data-table>
81
84
  </div>`,
82
85
  });
86
+ export const TableSampleDataWithCheckbox = () => ({
87
+ components: { 'v-data-table': VDataTable },
88
+ data() {
89
+ return {
90
+ headers,
91
+ items: [
92
+ { id: 1, name: 'name 1' },
93
+ { id: 2, name: 'name 2' },
94
+ { id: 3, name: 'name 3' },
95
+ ],
96
+ };
97
+ },
98
+ template: `<div>
99
+ <v-data-table
100
+ hide-default-footer
101
+ id="v-data-table--default"
102
+ :headers="headers"
103
+ :items="items"
104
+ show-select
105
+ >
106
+
107
+ </v-data-table>
108
+ </div>`,
109
+ });
83
110
 
84
111
  export const TableSampleLocalPagination = () => ({
85
- components: {
86
- DataTableEmptyWrapper,
87
- DataTablePaginator,
88
- },
112
+ components: { 'v-data-table': VDataTable, DataTableEmptyWrapper, DataTablePaginator },
89
113
  data() {
90
114
  return {
91
115
  headers,
@@ -145,6 +169,10 @@ TableSampleData.story = {
145
169
  name: 'With data',
146
170
  };
147
171
 
172
+ TableSampleDataWithCheckbox.story = {
173
+ name: 'With data and checkbox',
174
+ };
175
+
148
176
  TableSampleLocalPagination.story = {
149
177
  name: 'With data and local pagination',
150
178
  };
@@ -5,23 +5,19 @@ $defaultLefts: 0, 4rem, 4rem;
5
5
  font-size: 0.75rem;
6
6
  }
7
7
  tbody tr:nth-of-type(odd) td {
8
- background-color: #f0f0f0;
8
+ background-color: var(--farm-neutral-lighten);
9
9
  }
10
10
  tr td {
11
11
  background-color: white;
12
12
  }
13
- .v-data-table-header tr th {
14
- color: var(--v-primary-base);
15
- text-transform: uppercase;
16
- font-weight: bold;
17
- }
13
+
18
14
  tr:not(:last-child) td,
19
15
  tr th {
20
16
  border-bottom: none;
21
17
  }
22
18
  .v-data-table__wrapper {
23
- border-top: 1px solid var(--v-gray-lighten2);
24
- border-bottom: 1px solid var(--v-gray-lighten2);
19
+ border-top: 1px solid var(--farm-gray-lighten);
20
+ border-bottom: 1px solid var(--farm-gray-lighten);
25
21
  }
26
22
  tr td:first-child,
27
23
  th:first-child {
@@ -65,5 +61,42 @@ $defaultLefts: 0, 4rem, 4rem;
65
61
  cursor: default;
66
62
  }
67
63
  }
64
+
65
+ th[role='columnheader'] {
66
+ color: var(--farm-secondary-base);
67
+ font-size: 14px;
68
+ font-weight: 700;
69
+ text-transform: uppercase;
70
+ }
71
+
72
+ td {
73
+ color: var(--farm-text-primary);
74
+ font-size: 14px;
75
+ font-weight: 400;
76
+ }
77
+
78
+ thead {
79
+ height: 51px;
80
+ }
81
+
82
+ th[role='columnheader']:has(> .v-data-table__checkbox) {
83
+ max-width: 71px !important;
84
+ }
85
+
86
+ .v-data-table-header tr th {
87
+ box-shadow: 0px 1px 0px 0px var(--farm-gray-lighten);
88
+ }
89
+
90
+ .v-data-table-header__icon {
91
+ color: var(--farm-gray-base) !important;
92
+ font-size: 12px;
93
+ font-weight: 900;
94
+ margin-left: 8px;
95
+ }
96
+
97
+ .v-data-table__checkbox .mdi {
98
+ margin-left: 18px;
99
+ font-size: 24px;
100
+ }
68
101
  }
69
102
  }