@farm-investimentos/front-mfe-components 15.2.2 → 15.3.0

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 (88) hide show
  1. package/dist/front-mfe-components.common.js +2863 -1623
  2. package/dist/front-mfe-components.common.js.map +1 -1
  3. package/dist/front-mfe-components.css +2 -2
  4. package/dist/front-mfe-components.umd.js +2863 -1623
  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 +5 -2
  9. package/src/components/AlertBox/AlertBox.vue +2 -2
  10. package/src/components/AlertReload/AlertReload.vue +2 -2
  11. package/src/components/ButtonToggle/ButtonToggle.vue +3 -2
  12. package/src/components/ButtonToggle/__tests__/ButtonToggle.spec.js +17 -0
  13. package/src/components/Buttons/ConfirmButton/ConfirmButton.vue +2 -2
  14. package/src/components/Buttons/DangerButton/DangerButton.vue +2 -2
  15. package/src/components/Buttons/DefaultButton/DefaultButton.vue +2 -2
  16. package/src/components/Buttons/ExportButton/ExportButton.vue +2 -2
  17. package/src/components/Buttons/ImportButton/ImportButton.vue +2 -2
  18. package/src/components/Buttons/MultiImportButton/MultiImportButton.vue +2 -2
  19. package/src/components/Buttons/RemoveButton/RemoveButton.vue +3 -3
  20. package/src/components/Buttons/ToggleButton/ToggleButton.vue +2 -2
  21. package/src/components/Card/Card.vue +2 -2
  22. package/src/components/Card/CardContent/CardContent.vue +2 -2
  23. package/src/components/Checkbox/Checkbox.vue +18 -4
  24. package/src/components/Chip/Chip.vue +2 -2
  25. package/src/components/ChipInviteStatus/ChipInviteStatus.vue +2 -2
  26. package/src/components/Collapsible/Collapsible.vue +2 -2
  27. package/src/components/ContextMenu/ContextMenu.vue +2 -2
  28. package/src/components/CopyToClipboard/CopyToClipboard.vue +2 -2
  29. package/src/components/DataTableEmptyWrapper/DataTableEmptyWrapper.vue +2 -2
  30. package/src/components/DataTableHeader/DataTableHeader.vue +2 -2
  31. package/src/components/DataTablePaginator/DataTablePaginator.vue +2 -2
  32. package/src/components/DatePicker/DatePicker.vue +2 -2
  33. package/src/components/DialogFooter/DialogFooter.vue +2 -2
  34. package/src/components/DialogHeader/DialogHeader.vue +2 -2
  35. package/src/components/Form/Form.vue +2 -2
  36. package/src/components/Icon/Icon.vue +2 -2
  37. package/src/components/IconBox/IconBox.vue +2 -2
  38. package/src/components/IdCaption/IdCaption.vue +2 -2
  39. package/src/components/Label/Label.vue +2 -2
  40. package/src/components/List/List.vue +2 -2
  41. package/src/components/ListItem/ListItem.vue +2 -2
  42. package/src/components/Loader/Loader.vue +2 -2
  43. package/src/components/Logger/Logger.vue +2 -2
  44. package/src/components/Logger/LoggerItem/LoggerItem.vue +2 -2
  45. package/src/components/Logos/OriginatorLogo/OriginatorLogo.vue +2 -2
  46. package/src/components/Logos/ProductLogo/ProductLogo.vue +2 -2
  47. package/src/components/MainFilter/MainFilter.vue +2 -2
  48. package/src/components/ManagersList/ManagersList.vue +2 -2
  49. package/src/components/Modal/Modal.vue +11 -2
  50. package/src/components/ModalPromptUser/ModalPromptUser.vue +2 -2
  51. package/src/components/MultipleFilePicker/MultipleFilePicker.vue +6 -6
  52. package/src/components/MultipleSelectShortener/MultipleSelectShortener.vue +2 -2
  53. package/src/components/ProgressBar/ProgressBar.vue +2 -2
  54. package/src/components/PromptUserToConfirm/PromptUserToConfirm.vue +2 -2
  55. package/src/components/Radio/Radio.vue +2 -2
  56. package/src/components/RadioGroup/RadioGroup.vue +2 -2
  57. package/src/components/RangeDatePicker/RangeDatePicker.vue +4 -3
  58. package/src/components/ResetTableRowSelection/ResetTableRowSelection.stories.js +1 -1
  59. package/src/components/ResetTableRowSelection/ResetTableRowSelection.vue +4 -10
  60. package/src/components/ResourceMetaInfo/ResourceMetaInfo.stories.js +19 -0
  61. package/src/components/ResourceMetaInfo/ResourceMetaInfo.vue +49 -9
  62. package/src/components/ResourceMetaInfo/__tests__/ResourceMetaInfo.spec.js +54 -0
  63. package/src/components/Select/Select.vue +2 -2
  64. package/src/components/SelectModalOptions/SelectModalOptions.vue +2 -2
  65. package/src/components/Stepper/StepperHeader/StepperHeader.vue +2 -2
  66. package/src/components/Switcher/Switcher.vue +2 -2
  67. package/src/components/TableContextMenu/TableContextMenu.vue +5 -3
  68. package/src/components/Tabs/Tabs.vue +3 -2
  69. package/src/components/TextArea/TextArea.vue +2 -2
  70. package/src/components/TextFieldV2/TextFieldV2.vue +2 -2
  71. package/src/components/Tooltip/Tooltip.vue +2 -2
  72. package/src/components/Typography/BodyText/BodyText.vue +2 -2
  73. package/src/components/Typography/Caption/Caption.vue +2 -2
  74. package/src/components/Typography/Heading/Heading.vue +2 -2
  75. package/src/components/Typography/OverlayText/OverlayText.vue +2 -2
  76. package/src/components/Typography/Small/Small.vue +2 -2
  77. package/src/components/Typography/Subtitle/Subtitle.vue +2 -2
  78. package/src/components/Typography/Typography.vue +2 -2
  79. package/src/components/ValueCaption/ValueCaption.vue +3 -2
  80. package/src/components/layout/Box/Box.vue +2 -2
  81. package/src/components/layout/Col/Col.vue +2 -2
  82. package/src/components/layout/Container/Container.vue +2 -2
  83. package/src/components/layout/ContainerFooter/ContainerFooter.vue +2 -2
  84. package/src/components/layout/Line/Line.vue +2 -2
  85. package/src/components/layout/Row/Row.vue +2 -2
  86. package/src/composition/__tests__/validateFormFieldBuilder.spec.js +26 -0
  87. package/src/composition/validateFormFieldBuilder.ts +2 -3
  88. package/src/examples/Table.stories.js +43 -16
@@ -6,8 +6,8 @@
6
6
  </ul>
7
7
  </template>
8
8
  <script lang="ts">
9
- import Vue from 'vue';
10
- export default Vue.extend({
9
+ import { defineComponent } from 'vue';
10
+ export default defineComponent({
11
11
  name: 'farm-managers-list',
12
12
  props: {
13
13
  managersString: {
@@ -27,10 +27,19 @@
27
27
  </template>
28
28
 
29
29
  <script lang="ts">
30
- import Vue, { onBeforeUnmount, onMounted, PropType, reactive, ref, toRefs, watch } from 'vue';
30
+ import {
31
+ defineComponent,
32
+ onBeforeUnmount,
33
+ onMounted,
34
+ PropType,
35
+ reactive,
36
+ ref,
37
+ toRefs,
38
+ watch,
39
+ } from 'vue';
31
40
  import { calculateMainZindex } from '../../helpers';
32
41
 
33
- export default Vue.extend({
42
+ export default defineComponent({
34
43
  name: 'farm-modal',
35
44
  props: {
36
45
  /**
@@ -31,9 +31,9 @@
31
31
  </farm-modal>
32
32
  </template>
33
33
  <script lang="ts">
34
- import Vue, { PropType } from 'vue';
34
+ import { PropType, defineComponent } from 'vue';
35
35
 
36
- export default Vue.extend({
36
+ export default defineComponent({
37
37
  name: 'farm-prompt-user',
38
38
  props: {
39
39
  /**
@@ -13,7 +13,8 @@
13
13
  cloud-upload-outline
14
14
  </farm-icon>
15
15
  <farm-subtitle :type="2" variation="regular" color="primary">
16
- Arraste e solte o arquivo <br/> ou clique aqui
16
+ Arraste e solte o arquivo <br />
17
+ ou clique aqui
17
18
  </farm-subtitle>
18
19
  </div>
19
20
 
@@ -30,7 +31,7 @@
30
31
  <farm-icon color="black" variation="50" size="sm">attachment</farm-icon>
31
32
  </div>
32
33
  <div>
33
- <farm-bodysmall color="black" color-variation="50">
34
+ <farm-bodysmall color="black" color-variation="50">
34
35
  Arquivo selecionado: {{ file.name }} ({{ sizeOf(file.size) }})
35
36
  </farm-bodysmall>
36
37
  </div>
@@ -57,12 +58,11 @@
57
58
  <ul class="listFilesStyled" v-if="files.length > 0">
58
59
  <li class="itemFilesStyled" v-for="(file, index) in files" :key="index">
59
60
  <div class="itemFilesContentStyled">
60
-
61
61
  <div class="fileDocumentStyled">
62
62
  <farm-icon color="black" variation="50" size="sm">attachment</farm-icon>
63
63
  </div>
64
64
  <div>
65
- <farm-bodysmall color="black" color-variation="50">
65
+ <farm-bodysmall color="black" color-variation="50">
66
66
  Arquivo selecionado: {{ file.name }} ({{ sizeOf(file.size) }})
67
67
  </farm-bodysmall>
68
68
  </div>
@@ -95,7 +95,7 @@
95
95
  </section>
96
96
  </template>
97
97
  <script lang="ts">
98
- import Vue, { PropType } from 'vue';
98
+ import { PropType, defineComponent } from 'vue';
99
99
  import { sizeOf } from '@farm-investimentos/front-mfe-libs-ts';
100
100
 
101
101
  export type DownloadFiles = {
@@ -104,7 +104,7 @@ export type DownloadFiles = {
104
104
  size: number;
105
105
  };
106
106
 
107
- export default Vue.extend({
107
+ export default defineComponent({
108
108
  name: 'farm-multiple-filepicker',
109
109
 
110
110
  props: {
@@ -8,8 +8,8 @@
8
8
  </template>
9
9
 
10
10
  <script>
11
- import Vue from 'vue';
12
- export default Vue.extend({
11
+ import { defineComponent } from 'vue';
12
+ export default defineComponent({
13
13
  name: 'farm-multiple-select-shortener',
14
14
  props: {
15
15
  /**
@@ -4,9 +4,9 @@
4
4
  </div>
5
5
  </template>
6
6
  <script lang="ts">
7
- import Vue, { PropType } from 'vue';
7
+ import { defineComponent, PropType } from 'vue';
8
8
 
9
- export default Vue.extend({
9
+ export default defineComponent({
10
10
  name: 'farm-progressbar',
11
11
  props: {
12
12
  /**
@@ -9,8 +9,8 @@
9
9
  </farm-form>
10
10
  </template>
11
11
  <script lang="ts">
12
- import Vue from 'vue';
13
- export default Vue.extend({
12
+ import { defineComponent } from 'vue';
13
+ export default defineComponent({
14
14
  name: 'farm-promptusertoconfirm',
15
15
  props: {
16
16
  /**
@@ -20,9 +20,9 @@
20
20
  </div>
21
21
  </template>
22
22
  <script lang="ts">
23
- import Vue, { PropType } from 'vue';
23
+ import { defineComponent, PropType } from 'vue';
24
24
 
25
- export default Vue.extend({
25
+ export default defineComponent({
26
26
  name: 'farm-radio',
27
27
  model: {
28
28
  prop: 'modelValue',
@@ -11,13 +11,13 @@
11
11
  </div>
12
12
  </template>
13
13
  <script lang="ts">
14
- import Vue, { ref, watch, PropType, toRefs, computed, onBeforeMount } from 'vue';
14
+ import { defineComponent, ref, watch, PropType, toRefs, computed, onBeforeMount } from 'vue';
15
15
  import validateFormStateBuilder from '../../composition/validateFormStateBuilder';
16
16
  import validateFormFieldBuilder from '../../composition/validateFormFieldBuilder';
17
17
  import validateFormMethodBuilder from '../../composition/validateFormMethodBuilder';
18
18
  import deepEqual from '../../composition/deepEqual';
19
19
 
20
- export default Vue.extend({
20
+ export default defineComponent({
21
21
  name: 'farm-radio-group',
22
22
  props: {
23
23
  /**
@@ -52,14 +52,15 @@
52
52
  </farm-contextmenu>
53
53
  </template>
54
54
  <script>
55
- import Vue from 'vue';
55
+ import { defineComponent } from 'vue';
56
56
  import { VDatePicker } from 'vuetify/lib/components/VDatePicker';
57
57
  import { defaultFormat as dateDefaultFormatter } from '../../helpers/date';
58
58
  import { formatDatePickerHeader } from '../../helpers';
59
+
59
60
  /**
60
61
  * Componente de input com datepicker para range de data
61
62
  */
62
- export default Vue.extend({
63
+ export default defineComponent({
63
64
  name: 'farm-input-rangedatepicker',
64
65
  components: {
65
66
  VDatePicker,
@@ -178,7 +179,7 @@ export default Vue.extend({
178
179
  return true;
179
180
  },
180
181
  isInvertedDate() {
181
- if ((Array.isArray(this.dateField)) && this.dateField.length === 2) {
182
+ if (Array.isArray(this.dateField) && this.dateField.length === 2) {
182
183
  const firstDate = new Date(this.dateField[0]);
183
184
  const secondDate = new Date(this.dateField[1]);
184
185
  return firstDate.getTime() > secondDate.getTime();
@@ -11,5 +11,5 @@ export const Primary = () => ({
11
11
  items: [1, 2, 3],
12
12
  };
13
13
  },
14
- template: `<ResetTableRowSelection v-model="items" />`,
14
+ template: `<ResetTableRowSelection :length="items.length" />`,
15
15
  });
@@ -1,23 +1,17 @@
1
1
  <template>
2
2
  <div class="ml-6 mr-3 d-flex align-center">
3
3
  Total de linhas selecionadas: {{ length }}
4
- <farm-btn color="error" @click="reset" small dense class="ml-3" v-if="length > 0">
5
- <v-icon small> mdi-trash-can </v-icon>
4
+ <farm-btn color="error" @click="reset" small class="ml-3" v-if="length > 0">
5
+ <farm-icon size="sm">trash-can </farm-icon>
6
6
  Desmarcar
7
7
  </farm-btn>
8
8
  </div>
9
9
  </template>
10
10
  <script>
11
- import Vue from 'vue';
12
- import VIcon from 'vuetify/lib/components/VIcon';
13
- import DefaultButton from '../Buttons/DefaultButton';
11
+ import { defineComponent } from 'vue';
14
12
 
15
- export default Vue.extend({
13
+ export default defineComponent({
16
14
  name: 'farm-tablerowselection',
17
- components: {
18
- VIcon,
19
- 'farm-btn': DefaultButton,
20
- },
21
15
  props: {
22
16
  /**
23
17
  * Current items length selected
@@ -33,6 +33,25 @@ export const Primary = () => ({
33
33
  </div>`,
34
34
  });
35
35
 
36
+ export const WithCreatedBy = () => ({
37
+ data() {
38
+ return {
39
+ value: false,
40
+ info: {
41
+ createdAt: '21/10/2022',
42
+ createdBy: 'Test User',
43
+ createdHours: '10:10:10',
44
+ updatedAt: '21/10/2022',
45
+ username: 'Test User',
46
+ updatedHours: '10:10:10',
47
+ },
48
+ };
49
+ },
50
+ template: `<div>
51
+ <farm-resource-metainfo :infos="info" />
52
+ </div>`,
53
+ });
54
+
36
55
  export const WithoutUpdate = () => ({
37
56
  data() {
38
57
  return {
@@ -2,10 +2,25 @@
2
2
  <div class="farm-resource-metainfo">
3
3
  <div v-if="showCreate">
4
4
  <farm-icon color="black" variation="40" size="sm">calendar-blank</farm-icon>
5
- <farm-caption color="black" color-variation="40" variation="regular">
5
+ <farm-caption
6
+ v-if="!showCreatedBy && !showCreatedHours"
7
+ color="black"
8
+ color-variation="40"
9
+ variation="regular"
10
+ >
6
11
  Data de cadastro:
7
12
  <farm-caption color="black" color-variation="40" variation="medium" tag="span">
8
- {{ formattedCreatedAt }}
13
+ <b>{{ formattedCreatedAt }}</b
14
+ >.
15
+ </farm-caption>
16
+ </farm-caption>
17
+
18
+ <farm-caption v-else color="black" color-variation="40" variation="regular">
19
+ Cadastro realizado por
20
+ <farm-caption color="black" color-variation="40" variation="medium" tag="span">
21
+ <b>{{ formattedCreatedBy }}</b
22
+ >, dia <b>{{ formattedCreatedAt }}</b> às <b>{{ formattedCreatedHours }}</b
23
+ >.
9
24
  </farm-caption>
10
25
  </farm-caption>
11
26
  </div>
@@ -15,31 +30,33 @@
15
30
  <farm-caption color="black" color-variation="40" variation="regular">
16
31
  Última atualização feita por
17
32
  <farm-caption color="black" color-variation="40" variation="medium" tag="span">
18
- {{ formattedUsername }}
19
- </farm-caption>
20
- , dia
33
+ <b>{{ formattedUsername }}</b> </farm-caption
34
+ >, dia
21
35
  <farm-caption color="black" color-variation="40" variation="medium" tag="span">
22
- {{ formattedUpdatedAt }}
36
+ <b>{{ formattedUpdatedAt }}</b>
23
37
  </farm-caption>
24
38
  às
25
39
  <farm-caption color="black" color-variation="40" variation="medium" tag="span">
26
- {{ formattedUpdatedHours }}
40
+ <b>{{ formattedUpdatedHours }}</b
41
+ >.
27
42
  </farm-caption>
28
43
  </farm-caption>
29
44
  </div>
30
45
  </div>
31
46
  </template>
32
47
  <script lang="ts">
33
- import Vue, { computed, PropType, toRefs } from 'vue';
48
+ import { computed, defineComponent, PropType, toRefs } from 'vue';
34
49
 
35
50
  interface ResourceMetaInfoProps {
36
51
  createdAt: string;
52
+ createdBy?: string;
37
53
  updatedAt: string;
38
54
  username: string;
39
55
  updatedHours: string;
56
+ createdHours?: string;
40
57
  }
41
58
 
42
- export default Vue.extend({
59
+ export default defineComponent({
43
60
  name: 'farm-resource-metainfo',
44
61
  props: {
45
62
  /**
@@ -79,18 +96,41 @@ export default Vue.extend({
79
96
  showEmptyCreate.value
80
97
  );
81
98
 
99
+ const showCreatedBy = computed(
100
+ () =>
101
+ (infos.value.createdBy !== null && infos.value.createdBy !== undefined) ||
102
+ showEmptyCreate.value
103
+ );
104
+
105
+ const showCreatedHours = computed(
106
+ () =>
107
+ (infos.value.createdHours !== null && infos.value.createdHours !== undefined) ||
108
+ showEmptyCreate.value
109
+ );
110
+
82
111
  const formattedCreatedAt = computed(() => infos.value.createdAt || 'N/A');
112
+
113
+ const formattedCreatedBy = computed(() => infos.value.createdBy || 'N/A');
114
+
83
115
  const formattedUpdatedAt = computed(() => infos.value.updatedAt || 'N/A');
116
+
84
117
  const formattedUsername = computed(() => infos.value.username || 'N/A');
118
+
85
119
  const formattedUpdatedHours = computed(() => infos.value.updatedHours || 'N/A');
86
120
 
121
+ const formattedCreatedHours = computed(() => infos.value.createdHours || 'N/A');
122
+
87
123
  return {
88
124
  showUpdate,
89
125
  showCreate,
126
+ showCreatedBy,
127
+ showCreatedHours,
90
128
  formattedCreatedAt,
129
+ formattedCreatedBy,
91
130
  formattedUpdatedAt,
92
131
  formattedUsername,
93
132
  formattedUpdatedHours,
133
+ formattedCreatedHours,
94
134
  };
95
135
  },
96
136
  });
@@ -10,9 +10,11 @@ describe('ResourceMetaInfo component', () => {
10
10
  propsData: {
11
11
  infos: {
12
12
  createdAt: '21/10/2022',
13
+ createdBy: 'Test User',
13
14
  updatedAt: '21/10/2022',
14
15
  username: 'Test User',
15
16
  updatedHours: '10:10:10',
17
+ createdHours: '10:10:10',
16
18
  },
17
19
  },
18
20
  });
@@ -73,6 +75,32 @@ describe('ResourceMetaInfo component', () => {
73
75
  });
74
76
  });
75
77
 
78
+ describe('showCreateBy', () => {
79
+ it('should return true when it has an createby date', () => {
80
+ expect(component.showCreatedBy).toBeTruthy();
81
+ });
82
+
83
+ it('should return false when it has not an createdby date', async () => {
84
+ await wrapper.setProps({
85
+ infos: { createdBy: null },
86
+ });
87
+ expect(component.showCreatedBy).toBeFalsy();
88
+ });
89
+ });
90
+
91
+ describe('showCreatedHours', () => {
92
+ it('should return true when it has an createdHours', () => {
93
+ expect(component.showCreatedHours).toBeTruthy();
94
+ });
95
+
96
+ it('should return false when it has not an createdHours', async () => {
97
+ await wrapper.setProps({
98
+ infos: { createdHours: null },
99
+ });
100
+ expect(component.showCreatedHours).toBeFalsy();
101
+ });
102
+ });
103
+
76
104
  describe('formattedCreatedAt', () => {
77
105
  it('should return infos createdAt', () => {
78
106
  expect(component.formattedCreatedAt).toBe('21/10/2022');
@@ -86,6 +114,19 @@ describe('ResourceMetaInfo component', () => {
86
114
  });
87
115
  });
88
116
 
117
+ describe('formattedCreatedBy', () => {
118
+ it('should return infos createdBy', () => {
119
+ expect(component.formattedCreatedBy).toBe('Test User');
120
+ });
121
+
122
+ it('should return N/A when infos createdBy is empty', async () => {
123
+ await wrapper.setProps({
124
+ infos: { createdBy: null },
125
+ });
126
+ expect(component.formattedCreatedBy).toBe('N/A');
127
+ });
128
+ });
129
+
89
130
  describe('formattedUpdatedAt', () => {
90
131
  it('should return infos updatedAt', () => {
91
132
  expect(component.formattedUpdatedAt).toBe('21/10/2022');
@@ -124,5 +165,18 @@ describe('ResourceMetaInfo component', () => {
124
165
  expect(component.formattedUpdatedHours).toBe('N/A');
125
166
  });
126
167
  });
168
+
169
+ describe('formattedCreatedHours', () => {
170
+ it('should return infos createdHours', () => {
171
+ expect(component.formattedCreatedHours).toBe('10:10:10');
172
+ });
173
+
174
+ it('should return N/A when infos createdHours is empty', async () => {
175
+ await wrapper.setProps({
176
+ infos: { createdHours: null },
177
+ });
178
+ expect(component.formattedCreatedHours).toBe('N/A');
179
+ });
180
+ });
127
181
  });
128
182
  });
@@ -90,7 +90,7 @@
90
90
  </template>
91
91
 
92
92
  <script lang="ts">
93
- import Vue, { computed, onBeforeMount, PropType, ref, toRefs, watch } from 'vue';
93
+ import { computed, onBeforeMount, PropType, ref, toRefs, watch, defineComponent } from 'vue';
94
94
  import validateFormStateBuilder from '../../composition/validateFormStateBuilder';
95
95
  import validateFormFieldBuilder from '../../composition/validateFormFieldBuilder';
96
96
  import validateFormMethodBuilder from '../../composition/validateFormMethodBuilder';
@@ -98,7 +98,7 @@ import deepEqual from '../../composition/deepEqual';
98
98
  import randomId from '../../helpers/randomId';
99
99
  import { buildData } from './composition';
100
100
 
101
- export default Vue.extend({
101
+ export default defineComponent({
102
102
  name: 'farm-select',
103
103
  inheritAttrs: true,
104
104
  props: {
@@ -78,10 +78,10 @@
78
78
  </farm-col>
79
79
  </template>
80
80
  <script lang="ts">
81
- import Vue from 'vue';
81
+ import { defineComponent } from 'vue';
82
82
  import { VDataTable } from 'vuetify/lib';
83
83
 
84
- export default Vue.extend({
84
+ export default defineComponent({
85
85
  name: 'farm-select-modal-options',
86
86
  components: {
87
87
  'v-data-table': VDataTable,
@@ -40,10 +40,10 @@
40
40
  </div>
41
41
  </template>
42
42
  <script lang="ts">
43
- import Vue, { PropType } from 'vue';
43
+ import { PropType, defineComponent } from 'vue';
44
44
  import IStep from './IStep';
45
45
 
46
- export default Vue.extend({
46
+ export default defineComponent({
47
47
  name: 'farm-stepper-header',
48
48
  props: {
49
49
  /**
@@ -11,9 +11,9 @@
11
11
  </div>
12
12
  </template>
13
13
  <script lang="ts">
14
- import Vue, { PropType, computed, ref, watch } from 'vue';
14
+ import { defineComponent, PropType, computed, ref, watch } from 'vue';
15
15
 
16
- export default Vue.extend({
16
+ export default defineComponent({
17
17
  name: 'farm-switcher',
18
18
  props: {
19
19
  /**
@@ -26,13 +26,15 @@
26
26
  <farm-icon v-if="item.icon" size="sm" :color="item.icon.color || 'primary'">
27
27
  {{ item.icon.type }}
28
28
  </farm-icon>
29
- <farm-caption bold tag="span" :color="item.icon.color || 'primary'">{{ item.label }}</farm-caption>
29
+ <farm-caption bold tag="span" :color="item.icon.color || 'primary'">{{
30
+ item.label
31
+ }}</farm-caption>
30
32
  </farm-listitem>
31
33
  </farm-list>
32
34
  </farm-contextmenu>
33
35
  </template>
34
36
  <script lang="ts">
35
- import Vue, { PropType } from 'vue';
37
+ import { PropType, defineComponent } from 'vue';
36
38
 
37
39
  export interface IContextMenuOption {
38
40
  label: string;
@@ -45,7 +47,7 @@ export interface IContextMenuOptionIcon {
45
47
  type: string;
46
48
  }
47
49
 
48
- export default Vue.extend({
50
+ export default defineComponent({
49
51
  name: 'farm-context-menu',
50
52
  components: {},
51
53
  props: {
@@ -43,8 +43,9 @@
43
43
  </template>
44
44
 
45
45
  <script lang="ts">
46
- import Vue from 'vue';
47
- export default Vue.extend({
46
+ import { defineComponent } from 'vue';
47
+
48
+ export default defineComponent({
48
49
  name: 'farm-tabs',
49
50
  data() {
50
51
  return {
@@ -49,14 +49,14 @@
49
49
  </template>
50
50
 
51
51
  <script lang="ts">
52
- import Vue, { computed, onBeforeMount, PropType, ref, toRefs, watch } from 'vue';
52
+ import { defineComponent, computed, onBeforeMount, PropType, ref, toRefs, watch } from 'vue';
53
53
  import validateFormStateBuilder from '../../composition/validateFormStateBuilder';
54
54
  import validateFormFieldBuilder from '../../composition/validateFormFieldBuilder';
55
55
  import validateFormMethodBuilder from '../../composition/validateFormMethodBuilder';
56
56
  import deepEqual from '../../composition/deepEqual';
57
57
  import randomId from '../../helpers/randomId';
58
58
 
59
- export default Vue.extend({
59
+ export default defineComponent({
60
60
  name: 'farm-textarea',
61
61
  inheritAttrs: true,
62
62
  props: {
@@ -66,14 +66,14 @@
66
66
  </template>
67
67
 
68
68
  <script lang="ts">
69
- import Vue, { computed, onBeforeMount, PropType, ref, toRefs, watch } from 'vue';
69
+ import { defineComponent, computed, onBeforeMount, PropType, ref, toRefs, watch } from 'vue';
70
70
  import validateFormStateBuilder from '../../composition/validateFormStateBuilder';
71
71
  import validateFormFieldBuilder from '../../composition/validateFormFieldBuilder';
72
72
  import validateFormMethodBuilder from '../../composition/validateFormMethodBuilder';
73
73
  import deepEqual from '../../composition/deepEqual';
74
74
  import randomId from '../../helpers/randomId';
75
75
 
76
- export default Vue.extend({
76
+ export default defineComponent({
77
77
  name: 'farm-textfield-v2',
78
78
  inheritAttrs: true,
79
79
  props: {
@@ -20,10 +20,10 @@
20
20
  </span>
21
21
  </template>
22
22
  <script lang="ts">
23
- import Vue, { PropType, ref, computed, reactive, onBeforeUnmount } from 'vue';
23
+ import { PropType, ref, computed, reactive, onBeforeUnmount, defineComponent } from 'vue';
24
24
  import { calculateMainZindex } from '../../helpers';
25
25
 
26
- export default Vue.extend({
26
+ export default defineComponent({
27
27
  name: 'farm-tooltip',
28
28
  props: {
29
29
  /*
@@ -11,10 +11,10 @@
11
11
  </farm-typography>
12
12
  </template>
13
13
  <script lang="ts">
14
- import Vue, { computed, ref, watch, toRefs, PropType } from 'vue';
14
+ import { defineComponent, computed, ref, watch, toRefs, PropType } from 'vue';
15
15
  import { Keys } from './configurations';
16
16
 
17
- export default Vue.extend({
17
+ export default defineComponent({
18
18
  inheritAttrs: true,
19
19
  name: 'farm-bodytext',
20
20
  props: {
@@ -11,11 +11,11 @@
11
11
  </farm-typography>
12
12
  </template>
13
13
  <script lang="ts">
14
- import Vue, { computed, ref, watch, toRefs, PropType } from 'vue';
14
+ import { defineComponent, computed, ref, watch, toRefs, PropType } from 'vue';
15
15
 
16
16
  import { Keys } from './configurations';
17
17
 
18
- export default Vue.extend({
18
+ export default defineComponent({
19
19
  inheritAttrs: true,
20
20
  name: 'farm-caption',
21
21
  props: {
@@ -12,11 +12,11 @@
12
12
  </farm-typography>
13
13
  </template>
14
14
  <script lang="ts">
15
- import Vue, { computed, ref, watch, toRefs, PropType } from 'vue';
15
+ import { defineComponent, computed, ref, watch, toRefs, PropType } from 'vue';
16
16
 
17
17
  import { Keys } from './configurations';
18
18
 
19
- export default Vue.extend({
19
+ export default defineComponent({
20
20
  inheritAttrs: true,
21
21
  name: 'farm-heading',
22
22
  props: {
@@ -10,9 +10,9 @@
10
10
  </farm-typography>
11
11
  </template>
12
12
  <script lang="ts">
13
- import Vue from 'vue';
13
+ import { defineComponent } from 'vue';
14
14
 
15
- export default Vue.extend({
15
+ export default defineComponent({
16
16
  inheritAttrs: true,
17
17
  name: 'farm-overlaytext',
18
18
  });