@farm-investimentos/front-mfe-components 7.2.0 → 7.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farm-investimentos/front-mfe-components",
3
- "version": "7.2.0",
3
+ "version": "7.3.0",
4
4
  "author": "farm investimentos",
5
5
  "private": false,
6
6
  "main": "./dist/front-mfe-components.common.js",
@@ -22,6 +22,13 @@
22
22
  min-width: 64px;
23
23
  padding: 0 16px;
24
24
 
25
+ @each $size,
26
+ $value in $sizes {
27
+ &#{'.farm-btn[size=' + $size +']'} {
28
+ font-size: $value;
29
+ }
30
+ }
31
+
25
32
 
26
33
  &.farm-btn--disabled {
27
34
  background-color: #DADADA;
@@ -97,6 +104,21 @@
97
104
  .farm-btn__content i.mdi {
98
105
  color: gray;
99
106
  }
107
+ @each $size,
108
+ $value in $sizes {
109
+ &#{'.farm-btn[size=' + $size +']'} {
110
+ font-size: $value;
111
+ }
112
+ }
113
+
114
+ &[size='lg'] {
115
+ width: 48px;
116
+ height: 48px;
117
+ }
118
+ &[size='xl'] {
119
+ width: 64px;
120
+ height: 64px;
121
+ }
100
122
 
101
123
  @each $color in $colors {
102
124
  &#{'.farm-btn--' + $color} {
@@ -133,12 +155,12 @@
133
155
  }
134
156
  }
135
157
 
136
- :not(.farm-btn--disabled){
158
+ :not(.farm-btn--disabled) {
137
159
  &.farm-btn--outlined#{'.farm-btn--' + $color} {
138
160
  border: 1px solid var(--v-#{$color}-base);
139
161
  background: white;
140
162
  color: var(--v-#{$color}-base);
141
-
163
+
142
164
  .farm-btn__content i.mdi {
143
165
  color: var(--v-#{$color}-base);
144
166
  }
@@ -148,14 +170,14 @@
148
170
  border: none;
149
171
  background: white;
150
172
  color: var(--v-#{$color}-base);
151
-
173
+
152
174
  .farm-btn__content i.mdi {
153
175
  color: var(--v-#{$color}-base);
154
176
  }
155
177
  }
156
178
  }
157
179
 
158
-
180
+
159
181
  }
160
182
 
161
183
  .farm-btn--elevated {
@@ -6,6 +6,7 @@
6
6
  :disabled="disabled"
7
7
  :type="type"
8
8
  :class="classes"
9
+ :size="$props.size"
9
10
  >
10
11
  <span class="farm-btn__content">
11
12
  <slot></slot>
@@ -18,19 +19,39 @@
18
19
  </router-link>
19
20
  </template>
20
21
  <script lang="ts">
21
- import Vue from 'vue';
22
+ import Vue, { PropType } from 'vue';
22
23
 
23
24
  export default Vue.extend({
24
25
  name: 'farm-btn',
25
26
  inheritAttrs: true,
26
27
 
27
28
  props: {
28
- color: { type: String, default: 'primary' },
29
- outlined: Boolean,
30
- plain: Boolean,
31
- disabled: Boolean,
32
- rounded: Boolean,
33
- icon: Boolean,
29
+ /**
30
+ * Color
31
+ */
32
+ color: {
33
+ type: String as PropType<
34
+ | 'primary'
35
+ | 'secondary'
36
+ | 'error'
37
+ | 'extra'
38
+ | 'accent'
39
+ | 'info'
40
+ | 'success'
41
+ | 'gray'
42
+ | 'yellow'
43
+ | 'white'
44
+ >,
45
+ default: 'primary',
46
+ },
47
+ /**
48
+ * Outlined
49
+ */
50
+ outlined: { type: Boolean, default: false },
51
+ plain: { type: Boolean, default: false },
52
+ disabled: { type: Boolean, default: false },
53
+ rounded: { type: Boolean, default: false },
54
+ icon: { type: Boolean, default: false },
34
55
  type: {
35
56
  type: String,
36
57
  default: 'button',
@@ -39,6 +60,12 @@ export default Vue.extend({
39
60
  type: String,
40
61
  default: null,
41
62
  },
63
+ size: {
64
+ type: String as PropType<
65
+ 'xs' | 'sm' | 'md' | 'lg' | 'xl'
66
+ >,
67
+ default: 'default',
68
+ },
42
69
  },
43
70
 
44
71
  computed: {
@@ -9,16 +9,17 @@
9
9
  line-height: 1;
10
10
  position: relative;
11
11
  text-indent: 0;
12
+
12
13
  @each $color in $colors {
13
14
  &#{'.farm-icon--' + $color} {
14
15
  color: var(--v-#{$color}-base);
15
16
  }
16
17
  }
17
18
 
18
- @each $size, $value in $sizes {
19
+ @each $size,
20
+ $value in $sizes {
19
21
  &#{'.farm-icon[size=' + $size +']'} {
20
- font-size: $value;
22
+ font-size: $value;
21
23
  }
22
-
23
24
  }
24
25
  }
@@ -1,5 +1,5 @@
1
1
  import { withDesign } from 'storybook-addon-designs';
2
- import { DefaultButton } from '../main';
2
+ import { DefaultButton, Icon } from '../main';
3
3
  import('./Buttons.stories.scss');
4
4
 
5
5
  export default {
@@ -27,7 +27,7 @@ export const ActiveButtons = () => ({
27
27
  };
28
28
  },
29
29
  template: `<div class="buttons-container">
30
- <farm-btn v-for="color of colors":key="color" :color="color">
30
+ <farm-btn v-for="color of colors":key="'random_9_' + color" :color="color">
31
31
  {{ color }}
32
32
  </farm-btn>
33
33
  </div>`,
@@ -44,7 +44,7 @@ export const OutlinedButtons = () => ({
44
44
  },
45
45
  template: `<div class="buttons-container">
46
46
  <h4>Outlined</h4>
47
- <farm-btn v-for="color of colors":key="color" :color="color" outlined>
47
+ <farm-btn v-for="color of colors":key="'random_8_' + color" :color="color" outlined>
48
48
  {{ color }}
49
49
  </farm-btn>
50
50
  </div>`,
@@ -62,15 +62,15 @@ export const DisabledButtons = () => ({
62
62
  },
63
63
  template: `<div class="buttons-container">
64
64
  <h4>Default</h4>
65
- <farm-btn v-for="color of colors":key="color" :color="color" disabled>
65
+ <farm-btn v-for="color of colors":key="'random_5_' + color" :color="color" disabled>
66
66
  {{ color }}
67
67
  </farm-btn>
68
68
  <h4>Outlined</h4>
69
- <farm-btn v-for="color of colors":key="color" :color="color" outlined disabled>
69
+ <farm-btn v-for="color of colors":key="'random_6_' + color" :color="color" outlined disabled>
70
70
  {{ color }}
71
71
  </farm-btn>
72
72
  <h4>Plain</h4>
73
- <farm-btn v-for="color of colors":key="color" :color="color" plain disabled>
73
+ <farm-btn v-for="color of colors":key="'random_7_' + color" :color="color" plain disabled>
74
74
  {{ color }}
75
75
  </farm-btn>
76
76
  </div>`,
@@ -86,7 +86,7 @@ export const Plain = () => ({
86
86
  };
87
87
  },
88
88
  template: `<div class="buttons-container">
89
- <farm-btn v-for="color of colors":key="color" :color="color" plain>
89
+ <farm-btn v-for="color of colors":key="'random_4_' + color" :color="color" plain>
90
90
  {{ color }}
91
91
  </farm-btn>
92
92
  </div>`,
@@ -103,7 +103,7 @@ export const Icons = () => ({
103
103
  },
104
104
  template: `<div class="buttons-container">
105
105
  <h4>Full</h4>
106
- <farm-btn v-for="color of colors":key="color" :color="color">
106
+ <farm-btn v-for="color of colors":key="'random_3_' + color" :color="color">
107
107
  <v-icon>mdi-book</v-icon> book
108
108
  </farm-btn>
109
109
 
@@ -123,6 +123,7 @@ export const Icons = () => ({
123
123
  export const Iconed = () => ({
124
124
  components: {
125
125
  'farm-btn': DefaultButton,
126
+ 'farm-icon': Icon,
126
127
  },
127
128
  data() {
128
129
  return {
@@ -131,8 +132,8 @@ export const Iconed = () => ({
131
132
  },
132
133
  template: `<div class="buttons-container">
133
134
  <h4>Icon</h4>
134
- <farm-btn icon v-for="color of colors" :key="color" :color="color">
135
- <v-icon>mdi-book</v-icon>
135
+ <farm-btn icon v-for="color of colors" :key="'random_2_' + color" :color="color">
136
+ <farm-icon>book</farm-icon>
136
137
  </farm-btn>
137
138
  </div>`,
138
139
  });
@@ -148,11 +149,62 @@ export const Rounded = () => ({
148
149
  },
149
150
  template: `<div class="buttons-container">
150
151
  <h4>Rounded</h4>
151
- <farm-btn v-for="color of colors" :key="color" :color="color" rounded >rounded
152
+ <farm-btn v-for="color of colors" :key="'random_1_' + color" :color="color" rounded >rounded
152
153
  </farm-btn>
153
154
  </div>`,
154
155
  });
155
156
 
157
+ export const Sizes = () => ({
158
+ components: {
159
+ 'farm-btn': DefaultButton,
160
+ 'farm-icon': Icon,
161
+ },
162
+ data() {
163
+ return {
164
+ sizes: ['xs', 'sm', 'md', 'lg', 'xl'],
165
+ styles: {
166
+ display: 'flex',
167
+ flexDirection: 'row',
168
+ farmBtn: {
169
+ marginRight: '12px',
170
+ },
171
+ },
172
+ };
173
+ },
174
+ template: `<div>
175
+ <h4>Default</h4>
176
+ <div :style="styles">
177
+ <farm-btn v-for="size of sizes" :style="styles.farmBtn" :key="'default_' + size" :size="size" color="secondary">
178
+ {{ size }}
179
+ </farm-btn>
180
+ </div>
181
+ <h4>Outlined</h4>
182
+ <div :style="styles">
183
+ <farm-btn v-for="size of sizes" :style="styles.farmBtn" :key="'outlined_' + size" :size="size" color="secondary" outlined>
184
+ {{ size }}
185
+ </farm-btn>
186
+ </div>
187
+ <h4>Plain</h4>
188
+ <div :style="styles">
189
+ <farm-btn v-for="size of sizes" :style="styles.farmBtn" :key="'plain_' + size" :size="size" color="secondary" plain>
190
+ {{ size }}
191
+ </farm-btn>
192
+ </div>
193
+ <h4>Rounded</h4>
194
+ <div :style="styles">
195
+ <farm-btn v-for="size of sizes" :style="styles.farmBtn" :key="'rouned_' + size" :size="size" color="secondary" rounded>
196
+ {{ size }}
197
+ </farm-btn>
198
+ </div>
199
+ <h4>Icon</h4>
200
+ <div :style="styles">
201
+ <farm-btn v-for="size of sizes" :style="styles.farmBtn" :key="'icon_' + size" color="secondary" :size="size" icon>
202
+ <farm-icon :size="size">book</farm-icon>
203
+ </farm-btn>
204
+ </div>
205
+ </div>`,
206
+ });
207
+
156
208
  ActiveButtons.story = {
157
209
  name: 'Active',
158
210
  };
@@ -171,3 +223,6 @@ Icons.story = {
171
223
  Rounded.story = {
172
224
  name: 'Rounded',
173
225
  };
226
+ Sizes.story = {
227
+ name: 'Sizes',
228
+ };