plugin-ui-for-kzt 0.0.17 → 0.0.19

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 (77) hide show
  1. package/dist/components/BaseBadge/BaseBadge.vue.d.ts +49 -0
  2. package/dist/components/BaseBadge/BaseBadgeGroup.vue.d.ts +30 -0
  3. package/dist/components/BaseButton/BaseButton.vue.d.ts +3 -1
  4. package/dist/components/BaseCalendar/BaseCalendar.vue.d.ts +1 -1
  5. package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +3 -1
  6. package/dist/components/BaseChips/BaseChips.vue.d.ts +1 -1
  7. package/dist/components/BaseDropdown/BaseDropdown.vue.d.ts +3 -1
  8. package/dist/components/BaseInput/BaseInput.vue.d.ts +3 -3
  9. package/dist/components/BaseInputCalendar/BaseInputCalendar.vue.d.ts +4 -4
  10. package/dist/components/BaseInputCurrency/BaseInputCurrency.vue.d.ts +3 -3
  11. package/dist/components/BaseInputEmail/BaseInputEmail.vue.d.ts +3 -3
  12. package/dist/components/BaseInputPhone/BaseInputPhone.vue.d.ts +3 -3
  13. package/dist/components/BaseModal/BaseModal.vue.d.ts +4 -0
  14. package/dist/components/BaseOpenedListItem/BaseOpenedListItem.vue.d.ts +3 -1
  15. package/dist/components/BasePagination/BasePagination.vue.d.ts +1 -1
  16. package/dist/components/BaseRadio/BaseRadio.vue.d.ts +3 -1
  17. package/dist/components/BaseSegmentedButtons/BaseSegmentedButtons.vue.d.ts +4 -2
  18. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +2 -2
  19. package/dist/components/BaseTag/BaseTag.vue.d.ts +61 -0
  20. package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +8 -8
  21. package/dist/components/BaseToggle/BaseToggle.vue.d.ts +3 -1
  22. package/dist/components/BaseTooltip/BaseTooltip.vue.d.ts +1 -1
  23. package/dist/components/BaseUpload/BaseUpload.vue.d.ts +31 -0
  24. package/dist/components/{Modal/Modal.vue.d.ts → BaseUpload/ImageModal.vue.d.ts} +2 -10
  25. package/dist/components/Toaster/Toaster.vue.d.ts +1 -1
  26. package/dist/composables/kit/state.d.ts +1 -0
  27. package/dist/composables/useModal.d.ts +7 -0
  28. package/dist/index.d.ts +7 -3
  29. package/dist/index.js +1 -1
  30. package/dist/plugins/modalPlugin.d.ts +0 -13
  31. package/dist/sprite.svg +1 -1
  32. package/dist/store/modal.d.ts +154 -9
  33. package/example/App.vue +118 -309
  34. package/example/MyCustomModal.vue +37 -0
  35. package/package.json +1 -1
  36. package/src/assets/icons/add.svg +4 -0
  37. package/src/assets/icons/arrow-up.svg +4 -0
  38. package/src/assets/icons/close-circle.svg +5 -0
  39. package/src/assets/icons/close.svg +4 -0
  40. package/src/assets/icons/document-text.svg +4 -0
  41. package/src/assets/icons/export.svg +5 -0
  42. package/src/assets/icons/gallery.svg +5 -0
  43. package/src/assets/icons/notification-icon.svg +7 -0
  44. package/src/assets/icons/search-zoom-in.svg +6 -0
  45. package/src/assets/icons/trash.svg +7 -0
  46. package/src/assets/icons/upload.svg +5 -0
  47. package/src/components/BaseBadge/BaseBadge.vue +188 -0
  48. package/src/components/BaseBadge/BaseBadgeGroup.vue +120 -0
  49. package/src/components/BaseBadge/README.md +127 -0
  50. package/src/components/BaseBreadCrumbs/BaseBreadCrumbs.vue +2 -1
  51. package/src/components/BaseButton/BaseButton.vue +0 -112
  52. package/src/components/BaseInput/BaseInput.vue +24 -6
  53. package/src/components/BaseInputCurrency/BaseInputCurrency.vue +94 -53
  54. package/src/components/BaseInputPhone/BaseInputPhone.vue +41 -0
  55. package/src/components/BaseModal/BaseModal.vue +189 -0
  56. package/src/components/BaseSiteInput/BaseSiteInput.vue +43 -1
  57. package/src/components/BaseTag/BaseTag.vue +245 -0
  58. package/src/components/BaseTag/README.md +125 -0
  59. package/src/components/BaseTextarea/BaseTextarea.vue +7 -14
  60. package/src/components/BaseUpload/BaseUpload.vue +392 -0
  61. package/src/components/BaseUpload/ImageModal.vue +25 -0
  62. package/src/composables/kit/state.ts +1 -0
  63. package/src/composables/useModal.ts +14 -0
  64. package/src/index.ts +32 -19
  65. package/src/plugins/modalPlugin.ts +92 -76
  66. package/src/store/modal.ts +39 -16
  67. package/src/styles/root.scss +1 -0
  68. package/src/types/badge.d.ts +19 -0
  69. package/src/types/modal.d.ts +8 -0
  70. package/src/types/tag.d.ts +14 -0
  71. package/src/types/uploadedFile.d.ts +13 -0
  72. package/src/types/utils.d.ts +2 -1
  73. package/webpack.config.js +1 -1
  74. package/dist/types/index.d.ts +0 -5
  75. package/src/components/Modal/Modal.vue +0 -149
  76. package/src/components/Modal/README.md +0 -47
  77. package/src/types/index.ts +0 -7
@@ -159,10 +159,6 @@ const classList = computed(() => [
159
159
  color: var(--primary-black-white);
160
160
  background: var(--primary-blue);
161
161
 
162
- i,svg {
163
- color: var(--primary-black-white) !important;
164
- }
165
-
166
162
  @include hover {
167
163
  background: var(--primary-blue-800);
168
164
  }
@@ -180,10 +176,6 @@ const classList = computed(() => [
180
176
  @include is-disabled-state {
181
177
  color: var(--primary-blue-100);
182
178
  background: var(--primary-blue-300);
183
-
184
- i,svg {
185
- color: var(--primary-blue-100) !important;
186
- }
187
179
  }
188
180
  }
189
181
 
@@ -191,10 +183,6 @@ const classList = computed(() => [
191
183
  color: var(--primary-black-800);
192
184
  background: var(--primary-black-200);
193
185
 
194
- i,svg {
195
- color: var(--primary-black-800) !important;
196
- }
197
-
198
186
  @include hover {
199
187
  color: var(--primary-black-900);
200
188
  background: var(--primary-black-300);
@@ -213,10 +201,6 @@ const classList = computed(() => [
213
201
  @include is-disabled-state {
214
202
  color: var(--primary-black-400);
215
203
  background: var(--primary-black-100);
216
-
217
- i,svg {
218
- color: var(--primary-black-400) !important;
219
- }
220
204
  }
221
205
  }
222
206
 
@@ -225,18 +209,10 @@ const classList = computed(() => [
225
209
  background: transparent;
226
210
  border: 1px solid var(--primary-black-400);
227
211
 
228
- i,svg {
229
- color: var(--primary-black-600) !important;
230
- }
231
-
232
212
  @include hover {
233
213
  color: var(--primary-black-700);
234
214
  text-decoration: none;
235
215
  border: 1px solid var(--primary-black-500);
236
-
237
- i,svg {
238
- color: var(--primary-black-700) !important;
239
- }
240
216
  }
241
217
 
242
218
  @include pressed {
@@ -254,10 +230,6 @@ const classList = computed(() => [
254
230
  @include is-disabled-state {
255
231
  color: var(--primary-black-400);
256
232
  border: 1px solid var(--primary-black-300);
257
-
258
- i,svg {
259
- color: var(--primary-black-400) !important;
260
- }
261
233
  }
262
234
  }
263
235
 
@@ -266,18 +238,10 @@ const classList = computed(() => [
266
238
  background: transparent;
267
239
  border: 1px solid var(--primary-blue);
268
240
 
269
- i,svg {
270
- color: var(--primary-blue) !important;
271
- }
272
-
273
241
  @include hover {
274
242
  color: var(--primary-blue-800);
275
243
  text-decoration: none;
276
244
  border: 1px solid var(--primary-blue-800);
277
-
278
- i,svg {
279
- color: var(--primary-blue-800) !important;
280
- }
281
245
  }
282
246
 
283
247
  @include pressed {
@@ -294,10 +258,6 @@ const classList = computed(() => [
294
258
  @include is-disabled-state {
295
259
  color: var(--primary-black-400);
296
260
  border: 1px solid var(--primary-black-300);
297
-
298
- i,svg {
299
- color: var(--primary-black-400) !important;
300
- }
301
261
  }
302
262
  }
303
263
 
@@ -305,17 +265,9 @@ const classList = computed(() => [
305
265
  color: var(--primary-black-600);
306
266
  background: transparent;
307
267
 
308
- i,svg {
309
- color: var(--primary-black-600) !important;
310
- }
311
-
312
268
  @include hover {
313
269
  color: var(--primary-black-700);
314
270
  background: var(--primary-black-100);
315
-
316
- i,svg {
317
- color: var(--primary-black-700) !important;
318
- }
319
271
  }
320
272
 
321
273
  @include pressed {
@@ -332,10 +284,6 @@ const classList = computed(() => [
332
284
 
333
285
  @include is-disabled-state {
334
286
  color: var(--primary-black-400);
335
-
336
- i,svg {
337
- color: var(--primary-black-400) !important;
338
- }
339
287
  }
340
288
  }
341
289
 
@@ -343,18 +291,10 @@ const classList = computed(() => [
343
291
  color: var(--primary-blue);
344
292
  background: transparent;
345
293
 
346
- i,svg {
347
- color: var(--primary-blue) !important;
348
- }
349
-
350
294
  @include hover {
351
295
  color: var(--primary-blue-900);
352
296
  text-decoration: none;
353
297
  background: var(--primary-blue-100);
354
-
355
- i,svg {
356
- color: var(--primary-blue-900) !important;
357
- }
358
298
  }
359
299
 
360
300
  @include pressed {
@@ -371,10 +311,6 @@ const classList = computed(() => [
371
311
 
372
312
  @include is-disabled-state {
373
313
  color: var(--primary-black-400);
374
-
375
- i,svg {
376
- color: var(--primary-black-400) !important;
377
- }
378
314
  }
379
315
  }
380
316
 
@@ -384,24 +320,12 @@ const classList = computed(() => [
384
320
  background: transparent;
385
321
  padding: var(--corner-radius-xxs);
386
322
 
387
- i,svg {
388
- color: var(--primary-blue) !important;
389
- }
390
-
391
323
  @include hover {
392
324
  color: var(--secondary-text-link-hover);
393
-
394
- i,svg {
395
- color: var(--primary-blue-700) !important;
396
- }
397
325
  }
398
326
 
399
327
  @include pressed {
400
328
  color: var(--secondary-text-link-pressed);
401
-
402
- i,svg {
403
- color: var(--primary-blue-700) !important;
404
- }
405
329
  }
406
330
 
407
331
  @include focused {
@@ -413,10 +337,6 @@ const classList = computed(() => [
413
337
 
414
338
  @include is-disabled-state {
415
339
  color: var(--secondary-text-link-disabled);
416
-
417
- i,svg {
418
- color: var(--primary-black-400) !important;
419
- }
420
340
  }
421
341
  }
422
342
 
@@ -426,24 +346,12 @@ const classList = computed(() => [
426
346
  background: transparent;
427
347
  padding: var(--corner-radius-xxs);
428
348
 
429
- i,svg {
430
- color: var(--error-red) !important;
431
- }
432
-
433
349
  @include hover {
434
350
  color: var(--error-red-light-01);
435
-
436
- i,svg {
437
- color: var(--error-red-light-01) !important;
438
- }
439
351
  }
440
352
 
441
353
  @include pressed {
442
354
  color: var(--error-red-deep);
443
-
444
- i,svg {
445
- color: var(--error-red-deep) !important;
446
- }
447
355
  }
448
356
 
449
357
  @include focused {
@@ -455,10 +363,6 @@ const classList = computed(() => [
455
363
 
456
364
  @include is-disabled-state {
457
365
  color: var(--primary-black-400);
458
-
459
- i,svg {
460
- color: var(--primary-black-400) !important;
461
- }
462
366
  }
463
367
  }
464
368
 
@@ -468,24 +372,12 @@ const classList = computed(() => [
468
372
  text-decoration: underline;
469
373
  padding: var(--corner-radius-xxs);
470
374
 
471
- i,svg {
472
- color: var(--primary-black) !important;
473
- }
474
-
475
375
  @include hover {
476
376
  color: var(--secondary-text-gray-link-hover);
477
-
478
- i,svg {
479
- color: var(--primary-black-500) !important;
480
- }
481
377
  }
482
378
 
483
379
  @include pressed {
484
380
  color: var(--secondary-text-gray-link-pressed);
485
-
486
- i,svg {
487
- color: var(--primary-black-700) !important;
488
- }
489
381
  }
490
382
 
491
383
  @include focused {
@@ -498,10 +390,6 @@ const classList = computed(() => [
498
390
  @include is-disabled-state {
499
391
  color: var(--secondary-text-gray-link-disabled);
500
392
  border-bottom: none;
501
-
502
- i,svg {
503
- color: var(--primary-black-400) !important;
504
- }
505
393
  }
506
394
  }
507
395
  }
@@ -24,9 +24,11 @@
24
24
  </div>
25
25
  </div>
26
26
 
27
- <div v-if="(error && typeof error === 'string') || hint" class="base-input__hint">
28
- {{ error || hint }}
29
- </div>
27
+ <transition name="error">
28
+ <div v-if="(error && typeof error === 'string') || hint" class="base-input__hint">
29
+ {{ error || hint }}
30
+ </div>
31
+ </transition>
30
32
  </label>
31
33
  </div>
32
34
  </template>
@@ -83,7 +85,7 @@ function handleInput(event: Event) {
83
85
  @import '../../styles/root';
84
86
 
85
87
  .base-input {
86
- width: max-content;
88
+ width: 100%;
87
89
  $input: &;
88
90
 
89
91
  &__wrapper {
@@ -91,12 +93,12 @@ function handleInput(event: Event) {
91
93
  display: flex;
92
94
  flex-direction: column;
93
95
  align-items: flex-start;
94
- width: fit-content;
96
+ width: 100%;
95
97
  }
96
98
 
97
99
  &__field {
98
100
  flex: 1;
99
- width: auto;
101
+ width: 100%;
100
102
  height: 100%;
101
103
  color: var(--primary-text-primary);
102
104
  background: var(--bg-light);
@@ -132,6 +134,10 @@ function handleInput(event: Event) {
132
134
  color: var(--primary-black-500);
133
135
  }
134
136
 
137
+ &__hint {
138
+ transition: opacity 0.3s ease, transform 0.3s ease;
139
+ }
140
+
135
141
  @include is-disabled-state {
136
142
  #{$input}__icon--right {
137
143
  color: var(--primary-black-400);
@@ -152,6 +158,7 @@ function handleInput(event: Event) {
152
158
  display: flex;
153
159
  flex-direction: column;
154
160
  gap: 6px;
161
+ width: 100%;
155
162
  }
156
163
 
157
164
  &__label-text {
@@ -298,4 +305,15 @@ function handleInput(event: Event) {
298
305
  }
299
306
  }
300
307
  }
308
+ .error-enter-active,
309
+ .error-leave-active {
310
+ transition: opacity 0.3s ease, transform 0.3s ease;
311
+ }
312
+
313
+ .error-enter-from,
314
+ .error-leave-to {
315
+ opacity: 0;
316
+ transform: translateY(10px);
317
+ max-height: 0;
318
+ }
301
319
  </style>
@@ -1,32 +1,31 @@
1
1
  <template>
2
- <div :class="classList">
3
- <div class="base-input-currency__wrapper">
4
- <div class="base-input-currency__input-container">
5
- <span class="base-input-currency__symbol">{{ selectedOption.symbol }}</span>
6
- <base-input
7
- id="input-currency"
8
- type="text"
9
- :modelValue="modelValue"
10
- v-bind="componentAttrs"
11
- v-maska
12
- :data-maska="selectedOption.mask"
13
- :size="size"
14
- :placeholder="placeholder || '0.00'"
15
- class="base-input-currency__input"
16
- @update:modelValue="handleInput"
17
- ></base-input>
2
+ <div :class="classList">
3
+ <div class="base-input-currency__wrapper">
4
+ <div class="base-input-currency__input-container">
5
+ <span class="base-input-currency__symbol">{{ selectedOption.symbol }}</span>
6
+ <base-input
7
+ id="input-currency"
8
+ type="text"
9
+ :modelValue="modelValue"
10
+ v-bind="componentAttrs"
11
+ v-maska
12
+ :data-maska="selectedOption.mask"
13
+ :size="size"
14
+ :placeholder="placeholder || '0.00'"
15
+ class="base-input-currency__input"
16
+ @update:modelValue="handleInput"
17
+ ></base-input>
18
+ </div>
19
+ <base-select
20
+ id="select-currency"
21
+ v-model="selectedOptionId"
22
+ :options="optionsCurrency"
23
+ :size="size"
24
+ :error="error"
25
+ class="base-input-currency__select"
26
+ />
27
+ </div>
18
28
  </div>
19
- <base-select
20
- id="select-currency"
21
- v-model="selectedOptionId"
22
- :options="optionsCurrency"
23
- :size="size"
24
- :error="error"
25
- class="base-input-currency__select"
26
- >
27
- </base-select>
28
- </div>
29
- </div>
30
29
  </template>
31
30
 
32
31
  <script setup lang="ts">
@@ -39,21 +38,21 @@ import { useKitSize } from '../../composables/kit/size';
39
38
  import type { ICoreInputProps } from '../../types/input';
40
39
 
41
40
  const props = withDefaults(defineProps<ICoreInputProps>(), {
42
- size: 'medium',
43
- type: 'text',
44
- modelValue: '',
45
- placeholder: '0.00',
46
- error: '',
47
- hint: '',
41
+ size: 'medium',
42
+ type: 'text',
43
+ modelValue: '',
44
+ placeholder: '0.00',
45
+ error: '',
46
+ hint: '',
48
47
  });
49
48
 
50
49
  const emit: (event: 'update:modelValue', value: string) => void = defineEmits();
51
50
 
52
51
  const optionsCurrency = ref([
53
- { id: '1', name: 'KZT', value: 'kzt', mask: '# ##0.##', symbol: '₸' },
54
- { id: '2', name: 'RUB', value: 'rub', mask: '# ##0.##', symbol: '₽' },
55
- { id: '3', name: 'KGS', value: 'kgs', mask: '# ##0.##', symbol: '⃀' },
56
- { id: '4', name: 'UZS', value: 'uzs', mask: '# ##0.##', symbol: 'сў' },
52
+ { id: '1', name: 'KZT', value: 'kzt', mask: '# ##0.##', symbol: '₸' },
53
+ { id: '2', name: 'RUB', value: 'rub', mask: '# ##0.##', symbol: '₽' },
54
+ { id: '3', name: 'KGS', value: 'kgs', mask: '# ##0.##', symbol: '⃀' },
55
+ { id: '4', name: 'UZS', value: 'uzs', mask: '# ##0.##', symbol: 'сў' },
57
56
  ]);
58
57
 
59
58
  const selectedOption = ref(optionsCurrency.value[0]);
@@ -61,10 +60,10 @@ const selectedOption = ref(optionsCurrency.value[0]);
61
60
  const selectedOptionId = ref(selectedOption.value.id);
62
61
 
63
62
  watch(selectedOptionId, (newId) => {
64
- const newOption = optionsCurrency.value.find((option) => option.id === newId);
65
- if (newOption) {
66
- selectedOption.value = newOption;
67
- }
63
+ const newOption = optionsCurrency.value.find((option) => option.id === newId);
64
+ if (newOption) {
65
+ selectedOption.value = newOption;
66
+ }
68
67
  });
69
68
 
70
69
  const { stateClassList, stateAttrs } = useKitState(props);
@@ -72,27 +71,30 @@ const { sizeClassList } = useKitSize(props);
72
71
  const attrs = useAttrs();
73
72
 
74
73
  const componentAttrs = computed(() => ({
75
- ...attrs,
76
- ...stateAttrs.value,
77
- label: props.label,
78
- error: props.error,
79
- hint: props.hint,
80
- placeholder: props.placeholder,
74
+ ...attrs,
75
+ ...stateAttrs.value,
76
+ label: props.label,
77
+ error: props.error,
78
+ hint: props.hint,
79
+ placeholder: props.placeholder,
81
80
  }));
82
81
 
83
82
  const classList = computed(() => [
84
- stateClassList.value,
85
- sizeClassList.value,
86
- 'base-input-currency',
83
+ stateClassList.value,
84
+ sizeClassList.value,
85
+ 'base-input-currency',
86
+ {
87
+ '--is-has-hint': !!props.hint,
88
+ }
87
89
  ]);
88
90
 
89
91
  const modelValue = computed({
90
- get: () => props.modelValue,
91
- set: (value) => emit('update:modelValue', value),
92
+ get: () => props.modelValue,
93
+ set: (value) => emit('update:modelValue', value),
92
94
  });
93
95
 
94
96
  const handleInput = (value: string) => {
95
- emit('update:modelValue', value);
97
+ emit('update:modelValue', value);
96
98
  };
97
99
  </script>
98
100
 
@@ -151,13 +153,26 @@ width: 100%;
151
153
  }
152
154
 
153
155
  &.--small-size {
156
+ &.--is-has-hint {
157
+ #{$input} {
158
+ &__select {
159
+ margin-bottom: 26px;
160
+ }
161
+ }
162
+ }
163
+
154
164
  #{$input} {
155
165
  :deep(.base-select) {
156
166
  width: 71px;
157
167
  }
168
+
158
169
  &__symbol {
159
170
  font-size: var(--typography-text-s-regular);
160
171
  }
172
+
173
+ &.--is-error {
174
+ margin-bottom: 26px;
175
+ }
161
176
  }
162
177
 
163
178
  :deep(.base-input__field) {
@@ -166,13 +181,26 @@ width: 100%;
166
181
  }
167
182
 
168
183
  &.--medium-size {
184
+ &.--is-has-hint {
185
+ #{$input} {
186
+ &__select {
187
+ margin-bottom: 26px;
188
+ }
189
+ }
190
+ }
191
+
169
192
  #{$input} {
170
193
  :deep(.base-select) {
171
194
  width: 75px;
172
195
  }
196
+
173
197
  &__symbol {
174
198
  font-size: var(--typography-text-m-regular);
175
199
  }
200
+
201
+ &.--is-error {
202
+ margin-bottom: 26px;
203
+ }
176
204
  }
177
205
 
178
206
  :deep(.base-input__field) {
@@ -181,13 +209,26 @@ width: 100%;
181
209
  }
182
210
 
183
211
  &.--large-size {
212
+ &.--is-has-hint {
213
+ #{$input} {
214
+ &__select {
215
+ margin-bottom: 30px;
216
+ }
217
+ }
218
+ }
219
+
184
220
  #{$input} {
185
221
  :deep(.base-select) {
186
222
  width: 87px;
187
223
  }
224
+
188
225
  &__symbol {
189
226
  font-size: var(--typography-text-l-regular);
190
227
  }
228
+
229
+ &.--is-error {
230
+ margin-bottom: 30px;
231
+ }
191
232
  }
192
233
 
193
234
  :deep(.base-input__field) {
@@ -90,6 +90,9 @@ const classList = computed(() => [
90
90
  stateClassList.value,
91
91
  sizeClassList.value,
92
92
  'base-input-phone',
93
+ {
94
+ '--is-has-hint': !!props.hint,
95
+ }
93
96
  ]);
94
97
 
95
98
  const modelValue = computed({
@@ -140,10 +143,24 @@ const handleInput = (value: string) => {
140
143
  }
141
144
 
142
145
  &.--small-size {
146
+ &.--is-has-hint {
147
+ #{$input} {
148
+ &__select {
149
+ margin-bottom: 26px;
150
+ }
151
+ }
152
+ }
153
+
143
154
  #{$input} {
144
155
  :deep(.base-select) {
145
156
  width: 71px;
146
157
  }
158
+
159
+ &__select {
160
+ &.--is-error {
161
+ margin-bottom: 26px;
162
+ }
163
+ }
147
164
  }
148
165
  :deep(.base-input__label-text),
149
166
  :deep(.base-input__hint) {
@@ -152,9 +169,21 @@ const handleInput = (value: string) => {
152
169
  }
153
170
 
154
171
  &.--medium-size {
172
+ &.--is-has-hint {
173
+ #{$input} {
174
+ &__select {
175
+ margin-bottom: 26px;
176
+ }
177
+ }
178
+ }
179
+
155
180
  #{$input} {
156
181
  &__select {
157
182
  width: 75px;
183
+
184
+ &.--is-error {
185
+ margin-bottom: 26px;
186
+ }
158
187
  }
159
188
  }
160
189
 
@@ -165,9 +194,21 @@ const handleInput = (value: string) => {
165
194
  }
166
195
 
167
196
  &.--large-size {
197
+ &.--is-has-hint {
198
+ #{$input} {
199
+ &__select {
200
+ margin-bottom: 30px;
201
+ }
202
+ }
203
+ }
204
+
168
205
  #{$input} {
169
206
  &__select {
170
207
  width: 87px;
208
+
209
+ &.--is-error {
210
+ margin-bottom: 30px;
211
+ }
171
212
  }
172
213
  }
173
214