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.
- package/dist/components/BaseBadge/BaseBadge.vue.d.ts +49 -0
- package/dist/components/BaseBadge/BaseBadgeGroup.vue.d.ts +30 -0
- package/dist/components/BaseButton/BaseButton.vue.d.ts +3 -1
- package/dist/components/BaseCalendar/BaseCalendar.vue.d.ts +1 -1
- package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +3 -1
- package/dist/components/BaseChips/BaseChips.vue.d.ts +1 -1
- package/dist/components/BaseDropdown/BaseDropdown.vue.d.ts +3 -1
- package/dist/components/BaseInput/BaseInput.vue.d.ts +3 -3
- package/dist/components/BaseInputCalendar/BaseInputCalendar.vue.d.ts +4 -4
- package/dist/components/BaseInputCurrency/BaseInputCurrency.vue.d.ts +3 -3
- package/dist/components/BaseInputEmail/BaseInputEmail.vue.d.ts +3 -3
- package/dist/components/BaseInputPhone/BaseInputPhone.vue.d.ts +3 -3
- package/dist/components/BaseModal/BaseModal.vue.d.ts +4 -0
- package/dist/components/BaseOpenedListItem/BaseOpenedListItem.vue.d.ts +3 -1
- package/dist/components/BasePagination/BasePagination.vue.d.ts +1 -1
- package/dist/components/BaseRadio/BaseRadio.vue.d.ts +3 -1
- package/dist/components/BaseSegmentedButtons/BaseSegmentedButtons.vue.d.ts +4 -2
- package/dist/components/BaseSelect/BaseSelect.vue.d.ts +2 -2
- package/dist/components/BaseTag/BaseTag.vue.d.ts +61 -0
- package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +8 -8
- package/dist/components/BaseToggle/BaseToggle.vue.d.ts +3 -1
- package/dist/components/BaseTooltip/BaseTooltip.vue.d.ts +1 -1
- package/dist/components/BaseUpload/BaseUpload.vue.d.ts +31 -0
- package/dist/components/{Modal/Modal.vue.d.ts → BaseUpload/ImageModal.vue.d.ts} +2 -10
- package/dist/components/Toaster/Toaster.vue.d.ts +1 -1
- package/dist/composables/kit/state.d.ts +1 -0
- package/dist/composables/useModal.d.ts +7 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.js +1 -1
- package/dist/plugins/modalPlugin.d.ts +0 -13
- package/dist/sprite.svg +1 -1
- package/dist/store/modal.d.ts +154 -9
- package/example/App.vue +118 -309
- package/example/MyCustomModal.vue +37 -0
- package/package.json +1 -1
- package/src/assets/icons/add.svg +4 -0
- package/src/assets/icons/arrow-up.svg +4 -0
- package/src/assets/icons/close-circle.svg +5 -0
- package/src/assets/icons/close.svg +4 -0
- package/src/assets/icons/document-text.svg +4 -0
- package/src/assets/icons/export.svg +5 -0
- package/src/assets/icons/gallery.svg +5 -0
- package/src/assets/icons/notification-icon.svg +7 -0
- package/src/assets/icons/search-zoom-in.svg +6 -0
- package/src/assets/icons/trash.svg +7 -0
- package/src/assets/icons/upload.svg +5 -0
- package/src/components/BaseBadge/BaseBadge.vue +188 -0
- package/src/components/BaseBadge/BaseBadgeGroup.vue +120 -0
- package/src/components/BaseBadge/README.md +127 -0
- package/src/components/BaseBreadCrumbs/BaseBreadCrumbs.vue +2 -1
- package/src/components/BaseButton/BaseButton.vue +0 -112
- package/src/components/BaseInput/BaseInput.vue +24 -6
- package/src/components/BaseInputCurrency/BaseInputCurrency.vue +94 -53
- package/src/components/BaseInputPhone/BaseInputPhone.vue +41 -0
- package/src/components/BaseModal/BaseModal.vue +189 -0
- package/src/components/BaseSiteInput/BaseSiteInput.vue +43 -1
- package/src/components/BaseTag/BaseTag.vue +245 -0
- package/src/components/BaseTag/README.md +125 -0
- package/src/components/BaseTextarea/BaseTextarea.vue +7 -14
- package/src/components/BaseUpload/BaseUpload.vue +392 -0
- package/src/components/BaseUpload/ImageModal.vue +25 -0
- package/src/composables/kit/state.ts +1 -0
- package/src/composables/useModal.ts +14 -0
- package/src/index.ts +32 -19
- package/src/plugins/modalPlugin.ts +92 -76
- package/src/store/modal.ts +39 -16
- package/src/styles/root.scss +1 -0
- package/src/types/badge.d.ts +19 -0
- package/src/types/modal.d.ts +8 -0
- package/src/types/tag.d.ts +14 -0
- package/src/types/uploadedFile.d.ts +13 -0
- package/src/types/utils.d.ts +2 -1
- package/webpack.config.js +1 -1
- package/dist/types/index.d.ts +0 -5
- package/src/components/Modal/Modal.vue +0 -149
- package/src/components/Modal/README.md +0 -47
- 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
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
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:
|
|
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:
|
|
96
|
+
width: 100%;
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
&__field {
|
|
98
100
|
flex: 1;
|
|
99
|
-
width:
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
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
|
|