plugin-ui-for-kzt 0.0.17 → 0.0.18

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 (71) 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 +1 -1
  4. package/dist/components/BaseCalendar/BaseCalendar.vue.d.ts +1 -1
  5. package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +1 -1
  6. package/dist/components/BaseChips/BaseChips.vue.d.ts +1 -1
  7. package/dist/components/BaseDropdown/BaseDropdown.vue.d.ts +1 -1
  8. package/dist/components/BaseInput/BaseInput.vue.d.ts +2 -2
  9. package/dist/components/BaseInputCalendar/BaseInputCalendar.vue.d.ts +3 -3
  10. package/dist/components/BaseInputCurrency/BaseInputCurrency.vue.d.ts +2 -2
  11. package/dist/components/BaseInputEmail/BaseInputEmail.vue.d.ts +2 -2
  12. package/dist/components/BaseInputPhone/BaseInputPhone.vue.d.ts +2 -2
  13. package/dist/components/BaseModal/BaseModal.vue.d.ts +4 -0
  14. package/dist/components/BaseOpenedListItem/BaseOpenedListItem.vue.d.ts +1 -1
  15. package/dist/components/BasePagination/BasePagination.vue.d.ts +1 -1
  16. package/dist/components/BaseRadio/BaseRadio.vue.d.ts +1 -1
  17. package/dist/components/BaseSegmentedButtons/BaseSegmentedButtons.vue.d.ts +2 -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 +1 -1
  21. package/dist/components/BaseToggle/BaseToggle.vue.d.ts +1 -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/useModal.d.ts +7 -0
  27. package/dist/index.d.ts +7 -3
  28. package/dist/index.js +1 -1
  29. package/dist/plugins/modalPlugin.d.ts +0 -13
  30. package/dist/sprite.svg +1 -1
  31. package/dist/store/modal.d.ts +154 -9
  32. package/example/App.vue +123 -311
  33. package/example/MyCustomModal.vue +37 -0
  34. package/package.json +1 -1
  35. package/src/assets/icons/add.svg +4 -0
  36. package/src/assets/icons/arrow-up.svg +4 -0
  37. package/src/assets/icons/close-circle.svg +5 -0
  38. package/src/assets/icons/close.svg +4 -0
  39. package/src/assets/icons/document-text.svg +4 -0
  40. package/src/assets/icons/export.svg +5 -0
  41. package/src/assets/icons/gallery.svg +5 -0
  42. package/src/assets/icons/notification-icon.svg +7 -0
  43. package/src/assets/icons/search-zoom-in.svg +6 -0
  44. package/src/assets/icons/trash.svg +7 -0
  45. package/src/assets/icons/upload.svg +5 -0
  46. package/src/components/BaseBadge/BaseBadge.vue +188 -0
  47. package/src/components/BaseBadge/BaseBadgeGroup.vue +120 -0
  48. package/src/components/BaseBadge/README.md +127 -0
  49. package/src/components/BaseBreadCrumbs/BaseBreadCrumbs.vue +2 -1
  50. package/src/components/BaseButton/BaseButton.vue +0 -112
  51. package/src/components/BaseInput/BaseInput.vue +4 -3
  52. package/src/components/BaseModal/BaseModal.vue +189 -0
  53. package/src/components/BaseTag/BaseTag.vue +245 -0
  54. package/src/components/BaseTag/README.md +125 -0
  55. package/src/components/BaseTextarea/BaseTextarea.vue +7 -14
  56. package/src/components/BaseUpload/BaseUpload.vue +392 -0
  57. package/src/components/BaseUpload/ImageModal.vue +25 -0
  58. package/src/composables/useModal.ts +14 -0
  59. package/src/index.ts +32 -19
  60. package/src/plugins/modalPlugin.ts +92 -76
  61. package/src/store/modal.ts +39 -16
  62. package/src/styles/root.scss +1 -0
  63. package/src/types/badge.d.ts +19 -0
  64. package/src/types/modal.d.ts +8 -0
  65. package/src/types/tag.d.ts +14 -0
  66. package/src/types/uploadedFile.d.ts +13 -0
  67. package/src/types/utils.d.ts +1 -1
  68. package/dist/types/index.d.ts +0 -5
  69. package/src/components/Modal/Modal.vue +0 -149
  70. package/src/components/Modal/README.md +0 -47
  71. 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
  }
@@ -83,7 +83,7 @@ function handleInput(event: Event) {
83
83
  @import '../../styles/root';
84
84
 
85
85
  .base-input {
86
- width: max-content;
86
+ width: 100%;
87
87
  $input: &;
88
88
 
89
89
  &__wrapper {
@@ -91,12 +91,12 @@ function handleInput(event: Event) {
91
91
  display: flex;
92
92
  flex-direction: column;
93
93
  align-items: flex-start;
94
- width: fit-content;
94
+ width: 100%;
95
95
  }
96
96
 
97
97
  &__field {
98
98
  flex: 1;
99
- width: auto;
99
+ width: 100%;
100
100
  height: 100%;
101
101
  color: var(--primary-text-primary);
102
102
  background: var(--bg-light);
@@ -152,6 +152,7 @@ function handleInput(event: Event) {
152
152
  display: flex;
153
153
  flex-direction: column;
154
154
  gap: 6px;
155
+ width: 100%;
155
156
  }
156
157
 
157
158
  &__label-text {
@@ -0,0 +1,189 @@
1
+ <template>
2
+ <Teleport to="body">
3
+ <div
4
+ v-for="modal in modals"
5
+ :key="modal.id"
6
+ v-show="modal.isOpen"
7
+ class="base-modal__overlay"
8
+ @click.self="handleOverlayClick(modal.id)"
9
+ >
10
+ <div class="base-modal" @click.stop>
11
+ <div class="base-modal__wrapper">
12
+ <base-icon
13
+ v-if="modal.props?.closable"
14
+ name="close-circle"
15
+ class="base-modal__close"
16
+ size="custom"
17
+ @click="handleClose(modal.id)"
18
+ />
19
+ <div class="base-modal__content">
20
+ <component :is="modal.component" v-if="modal.component" :modal-props="modal.props" />
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </Teleport>
26
+ </template>
27
+
28
+ <script setup lang="ts">
29
+ import { computed } from 'vue';
30
+ import { useModalStore } from '../../store/modal';
31
+ import BaseIcon from '../BaseIcon/BaseIcon.vue';
32
+
33
+ const modalStore = useModalStore();
34
+
35
+ const modals = computed(() => modalStore.modals);
36
+
37
+ const handleClose = (id: string) => {
38
+ modalStore.closeModal(id);
39
+ };
40
+
41
+ const handleOverlayClick = (id: string) => {
42
+ const topModal = modals.value[modals.value.length - 1];
43
+ if (topModal?.id === id && topModal.props?.closable) {
44
+ handleClose(id);
45
+ }
46
+ };
47
+ </script>
48
+
49
+ <style lang="scss" scoped>
50
+ @import '../../styles/variables';
51
+ @import '../../styles/root';
52
+
53
+ .base-modal__overlay {
54
+ position: fixed;
55
+ top: 0;
56
+ left: 0;
57
+ width: 100%;
58
+ height: 100%;
59
+ background: rgba(0, 0, 0, 0.5);
60
+ display: flex;
61
+ justify-content: center;
62
+ align-items: center;
63
+ z-index: 1000;
64
+ animation: fadeIn 0.3s ease;
65
+ }
66
+
67
+ .base-modal {
68
+ background: var(--primary-black-white);
69
+ border-radius: var(--corner-radius-m);
70
+ overflow: hidden;
71
+ min-width: 335px;
72
+ transform: scale(0.7);
73
+ animation: slideIn 0.3s ease forwards;
74
+ margin: 0 20px;
75
+ max-height: 90vh;
76
+
77
+ @media #{$tablet} {
78
+ min-width: 588px;
79
+ }
80
+
81
+ &__wrapper {
82
+ position: relative;
83
+ display: flex;
84
+ flex-direction: column;
85
+ justify-content: center;
86
+ align-items: center;
87
+ max-width: 100%;
88
+ min-height: 224px;
89
+ height: 100%;
90
+ padding: 24px;
91
+
92
+ @media #{$mobile-landscape} {
93
+ padding: 56px 68px;
94
+ min-height: 332px;
95
+ }
96
+ }
97
+
98
+ &__header {
99
+ display: flex;
100
+ justify-content: space-between;
101
+ align-items: center;
102
+ text-align: center;
103
+ color: var(--primary-text-primary);
104
+ font: var(--typography-l-medium);
105
+
106
+ @media #{$mobile-landscape} {
107
+ font: var(--typography-h4-medium);
108
+ }
109
+ }
110
+
111
+ &__close {
112
+ position: absolute;
113
+ top: 24px;
114
+ right: 24px;
115
+ width: 32px;
116
+ height: 32px;
117
+ border: none;
118
+ background: none;
119
+ cursor: pointer;
120
+ color: var(--primary-gray-600);
121
+
122
+ &:hover {
123
+ color: var(--primary-black-900);
124
+ }
125
+
126
+ @media #{$mobile-landscape} {
127
+ width: 48px;
128
+ height: 48px;
129
+ }
130
+ }
131
+
132
+ &__content {
133
+ max-height: 70vh;
134
+ overflow-y: auto;
135
+ color: var(--primary-text-tertiary);
136
+ font: var(--typography-text-s-regular);
137
+
138
+ @media #{$mobile-landscape} {
139
+ font: var(--typography-text-l-regular);
140
+ }
141
+ }
142
+
143
+ &__footer {
144
+ display: flex;
145
+ justify-content: center;
146
+ align-items: flex-end;
147
+ flex-grow: 1;
148
+ gap: 24px;
149
+ width: 100%;
150
+ margin-top: 24px;
151
+
152
+ :deep(.base-button) {
153
+ width: 100%;
154
+ }
155
+ }
156
+ }
157
+
158
+ // Анимации
159
+ @keyframes fadeIn {
160
+ from {
161
+ opacity: 0;
162
+ }
163
+ to {
164
+ opacity: 1;
165
+ }
166
+ }
167
+
168
+ @keyframes slideIn {
169
+ from {
170
+ transform: scale(0.7);
171
+ opacity: 0;
172
+ }
173
+ to {
174
+ transform: scale(1);
175
+ opacity: 1;
176
+ }
177
+ }
178
+
179
+ @keyframes slideOut {
180
+ to {
181
+ transform: scale(0.7);
182
+ opacity: 0;
183
+ }
184
+ }
185
+
186
+ .base-modal-leave-active {
187
+ animation: slideOut 0.3s ease reverse;
188
+ }
189
+ </style>
@@ -0,0 +1,245 @@
1
+ <template>
2
+ <div class="base-tag" :class="classList">
3
+ <div class="base-tag__wrapper">
4
+ <div class="base-tag__text">{{ text }}</div>
5
+ <div v-if="closable" class="base-tag__icon" @click="handleClose">
6
+ <base-icon name="close" size="custom" />
7
+ </div>
8
+ <div v-if="addingTag" class="base-tag__icon">
9
+ <base-icon name="add" size="custom" class="base-tag__add-icon" @click="handleAddTag" />
10
+ </div>
11
+ <div v-if="isHasAddTag" class="base-tag__input-wrapper">
12
+ <input
13
+ class="base-tag__input"
14
+ type="text"
15
+ v-model="inputText"
16
+ @input="handleInput"
17
+ @keypress.enter="handleCreateTag"
18
+ />
19
+ </div>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import { computed, ref } from 'vue';
26
+ import BaseIcon from '../BaseIcon/BaseIcon.vue';
27
+ import type { ICoreTagProps } from '../../types/tag';
28
+ import { useKitSize } from '../../composables/kit/size';
29
+ import { useKitColor } from '../../composables/kit/color';
30
+
31
+ const props = withDefaults(defineProps<ICoreTagProps>(), {
32
+ size: 'medium',
33
+ color: 'primary',
34
+ closable: false,
35
+ isHasAddTag: false,
36
+ addingTag: false,
37
+ text: '',
38
+ });
39
+
40
+ const emit = defineEmits<{
41
+ updateInput: [value: ICoreTagProps['inputText']];
42
+ close: [];
43
+ addTag: [];
44
+ }>();
45
+
46
+ const inputText = ref<string>(props.inputText || '');
47
+
48
+ const { sizeClassList } = useKitSize(props);
49
+ const { colorClassList } = useKitColor(props);
50
+
51
+ const classList = computed(() => [
52
+ sizeClassList.value,
53
+ colorClassList.value,
54
+ {'--adding-tag': props.addingTag},
55
+ ]);
56
+
57
+ const handleClose = () => {
58
+ emit('close');
59
+ };
60
+
61
+ const handleInput = (event: Event) => {
62
+ const target = event.target as HTMLInputElement;
63
+ emit('updateInput', target.value);
64
+ };
65
+
66
+ const handleCreateTag = () => {
67
+ if (inputText.value.trim()) {
68
+ emit('updateInput', inputText.value.trim());
69
+ inputText.value = '';
70
+ }
71
+ };
72
+
73
+ const handleAddTag = () => {
74
+ emit('addTag');
75
+ };
76
+ </script>
77
+
78
+ <style scoped lang="scss">
79
+ @import '@/styles/variables';
80
+ @import '@/styles/root';
81
+
82
+ .base-tag {
83
+ display: inline-flex;
84
+ align-items: center;
85
+ cursor: pointer;
86
+
87
+ &__wrapper {
88
+ display: flex;
89
+ align-items: center;
90
+ transition: all var(--transition);
91
+ }
92
+
93
+ &__text {
94
+ white-space: nowrap;
95
+ overflow: hidden;
96
+ text-overflow: ellipsis;
97
+ }
98
+
99
+ &__icon {
100
+ display: flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ margin-left: var(--spacing-xs);
104
+ }
105
+
106
+ &__input-wrapper {
107
+ display: flex;
108
+ align-items: center;
109
+
110
+ .base-tag__input {
111
+ border: none;
112
+ background: transparent;
113
+ outline: none;
114
+ color: var(--primary-blue);
115
+ }
116
+ }
117
+
118
+ &.--primary-color {
119
+ .base-tag__wrapper {
120
+ background: var(--primary-black-100);
121
+ color: var(--primary-black-700);
122
+
123
+ @include hover {
124
+ background: var(--primary-black-200);
125
+ color: var(--primary-black-900);
126
+
127
+ .base-tag__icon {
128
+ color: var(--primary-black-900);
129
+ }
130
+ }
131
+ }
132
+
133
+ .base-tag__icon {
134
+ color: var(--primary-black-500);
135
+ }
136
+ }
137
+
138
+ &.--secondary-color {
139
+ .base-tag__wrapper {
140
+ background: var(--primary-black-white);
141
+ color: var(--primary-black-700); // same
142
+
143
+ @include hover {
144
+ background: var(--primary-black-200);
145
+ color: var(--primary-black-900);
146
+
147
+ .base-tag__icon {
148
+ color: var(--primary-black-900);
149
+ }
150
+ }
151
+ }
152
+
153
+ .base-tag__icon {
154
+ color: var(--primary-black-500);
155
+ }
156
+ }
157
+
158
+ &.--adding-tag {
159
+ .base-tag__wrapper {
160
+ color: var(--primary-black-500);
161
+
162
+ @include hover {
163
+ color: var(--primary-black-900);
164
+
165
+ .base-tag__icon {
166
+ color: var(--primary-black-900);
167
+ }
168
+ }
169
+ }
170
+ }
171
+
172
+
173
+ &.--extra-small-size {
174
+ .base-tag__text,
175
+ .base-tag__input {
176
+ font: var(--typography-text-xs-medium);
177
+ }
178
+
179
+ .base-tag__wrapper {
180
+ border-radius: var(--corner-radius-xxs);
181
+ padding: var(--spacing-2xs) var(--spacing-s);
182
+ }
183
+
184
+ .base-tag__icon,
185
+ .base-tag__add-icon {
186
+ width: 12px;
187
+ height: 12px;
188
+ }
189
+ }
190
+
191
+ &.--small-size {
192
+ .base-tag__text,
193
+ .base-tag__input {
194
+ font: var(--typography-text-s-medium);
195
+ }
196
+
197
+ .base-tag__wrapper {
198
+ border-radius: var(--corner-radius-xxs);
199
+ padding: var(--spacing-2xs) var(--spacing-s);
200
+ }
201
+
202
+ .base-tag__icon,
203
+ .base-tag__add-icon {
204
+ width: 14px;
205
+ height: 14px;
206
+ }
207
+ }
208
+
209
+ &.--medium-size {
210
+ .base-tag__text,
211
+ .base-tag__input {
212
+ font: var(--typography-text-s-medium);
213
+ }
214
+
215
+ .base-tag__wrapper {
216
+ border-radius: var(--corner-radius-2xs);
217
+ padding: var(--spacing-xs) var(--spacing-2m);
218
+ }
219
+
220
+ .base-tag__icon,
221
+ .base-tag__add-icon {
222
+ width: 16px;
223
+ height: 16px;
224
+ }
225
+ }
226
+
227
+ &.--large-size {
228
+ .base-tag__text,
229
+ .base-tag__input {
230
+ font: var(--typography-text-m-medium);
231
+ }
232
+
233
+ .base-tag__wrapper {
234
+ border-radius: var(--corner-radius-2xs);
235
+ padding: var(--spacing-xs) var(--spacing-2m);
236
+ }
237
+
238
+ .base-tag__icon,
239
+ .base-tag__add-icon {
240
+ width: 16px;
241
+ height: 16px;
242
+ }
243
+ }
244
+ }
245
+ </style>