plugin-ui-for-kzt 0.0.16 → 0.0.17
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/BaseButton/BaseButton.vue.d.ts +3 -3
- package/dist/components/BaseCalendar/BaseCalendar.vue.d.ts +1 -1
- package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +4 -4
- package/dist/components/BaseChips/BaseChips.vue.d.ts +27 -0
- package/dist/components/BaseDropdown/BaseDropdown.vue.d.ts +3 -3
- package/dist/components/BaseInput/BaseInput.vue.d.ts +5 -5
- package/dist/components/BaseInputCalendar/BaseInputCalendar.vue.d.ts +6 -6
- package/dist/components/BaseInputCurrency/BaseInputCurrency.vue.d.ts +5 -5
- package/dist/components/BaseInputEmail/BaseInputEmail.vue.d.ts +5 -5
- package/dist/components/BaseInputPhone/BaseInputPhone.vue.d.ts +5 -5
- package/dist/components/BaseOpenedListItem/BaseOpenedListItem.vue.d.ts +3 -3
- package/dist/components/BaseRadio/BaseRadio.vue.d.ts +4 -4
- package/dist/components/BaseSegmentedButtons/BaseSegmentedButtons.vue.d.ts +2 -2
- package/dist/components/BaseSelect/BaseSelect.vue.d.ts +3 -3
- package/dist/components/BaseSiteInput/BaseSiteInput.vue.d.ts +1 -1
- package/dist/components/BaseSwiper/BaseSwiper.vue.d.ts +57 -0
- package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +5 -5
- package/dist/components/BaseToggle/BaseToggle.vue.d.ts +4 -4
- package/dist/components/BaseTooltip/BaseTooltip.vue.d.ts +1 -1
- package/dist/components/Toaster/Toaster.vue.d.ts +4 -4
- package/dist/index.d.ts +3 -1
- package/dist/index.js +1 -1
- package/dist/sprite.svg +1 -1
- package/example/App.vue +45 -23
- package/package.json +1 -1
- package/src/assets/icons/arrow-left-circle.svg +3 -0
- package/src/assets/icons/arrow-right-circle.svg +3 -0
- package/src/assets/icons/star.svg +3 -0
- package/src/components/BaseBreadCrumbs/BaseBreadCrumbs.vue +1 -2
- package/src/components/BaseButton/BaseButton.vue +29 -10
- package/src/components/BaseChips/BaseChips.vue +182 -0
- package/src/components/BaseChips/README.md +64 -0
- package/src/components/BaseInput/BaseInput.vue +1 -0
- package/src/components/BaseOpenedListItem/BaseOpenedListItem.vue +4 -4
- package/src/components/BasePagination/BasePagination.vue +146 -123
- package/src/components/BaseSiteInput/BaseSiteInput.vue +26 -9
- package/src/components/BaseSwiper/BaseSwiper.vue +229 -0
- package/src/components/BaseTextarea/BaseTextarea.vue +1 -0
- package/src/index.ts +8 -2
- package/src/styles/root.scss +2 -0
- package/src/types/chips.d.ts +10 -0
- package/src/types/pagination.d.ts +2 -2
- package/src/types/swiper.d.ts +17 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Документация по использованию компонента BaseChips
|
|
2
|
+
|
|
3
|
+
Компонент `BaseChips` — это повторно используемый компонент Vue, предназначенный для отображения чипа (небольшого интерактивного элемента) с настраиваемым текстом, иконкой, количеством и размером. Он поддерживает различные состояния (активное, при наведении, фокусировка, нажатие) с плавными переходами и стилизуется в соответствии с предопределённой дизайн-системой.
|
|
4
|
+
|
|
5
|
+
## Содержание
|
|
6
|
+
- [Использование](#использование)
|
|
7
|
+
- [Свойства (Props)](#свойства-props)
|
|
8
|
+
- [События (Events)](#события-events)
|
|
9
|
+
- [Слоты (Slots)](#слоты-slots)
|
|
10
|
+
- [Стилизация](#стилизация)
|
|
11
|
+
|
|
12
|
+
## Использование
|
|
13
|
+
|
|
14
|
+
Используйте компонент `BaseChips` для отображения чипа с текстом, опциональной иконкой и количеством. Компонент поддерживает разные размеры и состояние активности.
|
|
15
|
+
|
|
16
|
+
## Свойства (Props)
|
|
17
|
+
|
|
18
|
+
| Свойство | Тип | Значение по умолчанию | Описание |
|
|
19
|
+
|-------------|-------------|-----------------------|----------------------------------------------|
|
|
20
|
+
| `text` | `string` | Обязательно | Основной текст, отображаемый внутри чипа. |
|
|
21
|
+
| `active` | `boolean` | `false` | Определяет, находится ли чип в активном состоянии. |
|
|
22
|
+
| `iconName` | `string` | `undefined` | Название иконки для отображения (требуется BaseIcon). |
|
|
23
|
+
| `count` | `number` | `undefined` | Число для отображения в чипе. |
|
|
24
|
+
| `size` | `'extra-small' | 'small' | 'medium' | 'large'` | `medium` | Размер чипа (влияет на высоту, шрифт и отступы). |
|
|
25
|
+
|
|
26
|
+
## События (Events)
|
|
27
|
+
|
|
28
|
+
Компонент не выбрасывает событий напрямую, но его поведение зависит от состояния `active`, которое можно управлять через родительский компонент.
|
|
29
|
+
|
|
30
|
+
## Слоты (Slots)
|
|
31
|
+
|
|
32
|
+
Компонент не предоставляет пользовательских слотов. Содержимое (текст, иконка, количество) определяется через пропсы.
|
|
33
|
+
|
|
34
|
+
## Стилизация
|
|
35
|
+
|
|
36
|
+
Стилизация может быть расширена через кастомные классы или модификации через `:deep()` в родительском компоненте.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Динамическое переключение состояния
|
|
40
|
+
```vue
|
|
41
|
+
<template>
|
|
42
|
+
<base-chips
|
|
43
|
+
:text="'Динамический чип'"
|
|
44
|
+
:active="isActive"
|
|
45
|
+
icon-name="check"
|
|
46
|
+
:count="count"
|
|
47
|
+
size="large"
|
|
48
|
+
@click="toggleActive"
|
|
49
|
+
/>
|
|
50
|
+
</template>
|
|
51
|
+
|
|
52
|
+
<script setup>
|
|
53
|
+
import { ref } from 'vue';
|
|
54
|
+
import BaseChips from '/components/BaseChips/BaseChips.vue';
|
|
55
|
+
|
|
56
|
+
const isActive = ref(false);
|
|
57
|
+
const count = ref(5);
|
|
58
|
+
|
|
59
|
+
const toggleActive = () => {
|
|
60
|
+
isActive.value = !isActive.value;
|
|
61
|
+
count.value += 1;
|
|
62
|
+
};
|
|
63
|
+
</script>
|
|
64
|
+
```
|
|
@@ -98,7 +98,7 @@ const actualComponent = computed(() => {
|
|
|
98
98
|
width: 100%;
|
|
99
99
|
height: 100%;
|
|
100
100
|
text-align: left;
|
|
101
|
-
transition: all var(--
|
|
101
|
+
transition: all var(--transition);
|
|
102
102
|
|
|
103
103
|
@include hover {
|
|
104
104
|
background: var(--primary-black-100);
|
|
@@ -157,7 +157,7 @@ const actualComponent = computed(() => {
|
|
|
157
157
|
#{$item} {
|
|
158
158
|
&__wrapper {
|
|
159
159
|
gap: var(--spacing-s);
|
|
160
|
-
height:
|
|
160
|
+
height: 40px;
|
|
161
161
|
padding: var(--spacing-s) var(--spacing-2l);
|
|
162
162
|
}
|
|
163
163
|
|
|
@@ -177,7 +177,7 @@ const actualComponent = computed(() => {
|
|
|
177
177
|
#{$item} {
|
|
178
178
|
&__wrapper {
|
|
179
179
|
gap: var(--spacing-m);
|
|
180
|
-
height:
|
|
180
|
+
height: 48px;
|
|
181
181
|
padding: var(--spacing-m) var(--spacing-2l);
|
|
182
182
|
}
|
|
183
183
|
|
|
@@ -197,7 +197,7 @@ const actualComponent = computed(() => {
|
|
|
197
197
|
#{$item} {
|
|
198
198
|
&__wrapper {
|
|
199
199
|
gap: var(--spacing-l);
|
|
200
|
-
height:
|
|
200
|
+
height: 60px;
|
|
201
201
|
padding: var(--spacing-2l) var(--spacing-l);
|
|
202
202
|
}
|
|
203
203
|
|
|
@@ -1,85 +1,85 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
<nav class="base-pagination" :class="classList">
|
|
3
|
+
<base-button
|
|
4
4
|
v-if="type === 'numbers'"
|
|
5
5
|
class="base-pagination__nav base-pagination__nav--prev"
|
|
6
6
|
:disabled="currentPage === 1"
|
|
7
7
|
:size="props.size"
|
|
8
8
|
color="quaternary"
|
|
9
9
|
@click="goToPage(currentPage - 1)"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
>
|
|
11
|
+
<base-icon
|
|
12
|
+
name="arrow-left"
|
|
13
|
+
:size="props.size"
|
|
14
|
+
color="currentColor"
|
|
15
|
+
/>
|
|
16
16
|
<slot name="previousTextButton">Назад</slot>
|
|
17
|
-
|
|
17
|
+
</base-button>
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
<ul class="base-pagination__list">
|
|
20
|
+
<template v-if="props.type === 'numbers'">
|
|
21
|
+
<li
|
|
22
22
|
v-for="page in displayedPages"
|
|
23
23
|
:key="page"
|
|
24
24
|
class="base-pagination__item"
|
|
25
|
-
|
|
25
|
+
>
|
|
26
26
|
<div v-if="page === 'ellipsis'" class="base-pagination__ellipsis">
|
|
27
|
-
|
|
27
|
+
...
|
|
28
28
|
</div>
|
|
29
29
|
<base-button
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
v-else
|
|
31
|
+
class="base-pagination__page"
|
|
32
|
+
:class="{ 'base-pagination__page--active': page === currentPage }"
|
|
33
|
+
:size="props.size"
|
|
34
|
+
:color="isActiveButtonColor(page)"
|
|
35
|
+
@click="typeof page === 'number' && goToPage(page)"
|
|
36
36
|
>
|
|
37
|
-
|
|
37
|
+
{{ page }}
|
|
38
38
|
</base-button>
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
</li>
|
|
40
|
+
</template>
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
<template v-else>
|
|
43
|
+
<li
|
|
44
44
|
v-for="index in Math.min(totalPages, 3)"
|
|
45
45
|
:key="index"
|
|
46
46
|
class="base-pagination__item"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
v-if="type ==='numbers'"
|
|
47
|
+
>
|
|
48
|
+
<div
|
|
49
|
+
:class="[
|
|
50
|
+
{
|
|
51
|
+
'base-pagination__dot': props.type === 'dots' || props.type === 'dotsWithBackground',
|
|
52
|
+
'base-pagination__dash': props.type === 'dashes' || props.type === 'dashesWithBackground',
|
|
53
|
+
'base-pagination__dot--active': (props.type === 'dots' || props.type === 'dotsWithBackground') && index === currentPage,
|
|
54
|
+
'base-pagination__dash--active': (props.type === 'dashes' || props.type === 'dashesWithBackground') && index === currentPage,
|
|
55
|
+
},
|
|
56
|
+
]"
|
|
57
|
+
@click="goToPage(index)"
|
|
58
|
+
></div>
|
|
59
|
+
</li>
|
|
60
|
+
</template>
|
|
61
|
+
</ul>
|
|
62
|
+
|
|
63
|
+
<base-button
|
|
64
|
+
v-if="type === 'numbers'"
|
|
65
65
|
class="base-pagination__nav base-pagination__nav--next"
|
|
66
66
|
color="quaternary"
|
|
67
67
|
:size="props.size"
|
|
68
68
|
:disabled="currentPage === totalPages"
|
|
69
69
|
@click="goToPage(currentPage + 1)"
|
|
70
|
-
|
|
70
|
+
>
|
|
71
71
|
<slot name="nextTextButton">Вперёд</slot>
|
|
72
72
|
<base-icon
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
name="arrow-right"
|
|
74
|
+
:size="props.size"
|
|
75
|
+
color="currentColor"
|
|
76
76
|
/>
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
</base-button>
|
|
78
|
+
</nav>
|
|
79
79
|
</template>
|
|
80
|
-
|
|
80
|
+
|
|
81
81
|
<script setup lang="ts">
|
|
82
|
-
import { computed, ref } from 'vue';
|
|
82
|
+
import { computed, ref, watch } from 'vue';
|
|
83
83
|
import type { TPaginationProps } from '../../types/pagination';
|
|
84
84
|
import { useKitSize } from '../../composables/kit/size';
|
|
85
85
|
import BaseButton from '../BaseButton/BaseButton.vue';
|
|
@@ -98,6 +98,19 @@ const emit = defineEmits(['update:currentPage']);
|
|
|
98
98
|
|
|
99
99
|
const currentPage = ref(props.currentPage);
|
|
100
100
|
|
|
101
|
+
watch(
|
|
102
|
+
() => props.currentPage,
|
|
103
|
+
(newPage) => {
|
|
104
|
+
if (newPage !== currentPage.value) {
|
|
105
|
+
currentPage.value = newPage;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
watch(currentPage, (newPage) => {
|
|
111
|
+
emit('update:currentPage', newPage);
|
|
112
|
+
});
|
|
113
|
+
|
|
101
114
|
const { sizeClassList } = useKitSize(props);
|
|
102
115
|
|
|
103
116
|
const displayedPages = computed(() => {
|
|
@@ -152,22 +165,21 @@ const isActiveButtonColor = (page: string | number) => {
|
|
|
152
165
|
const classList = computed(() => [
|
|
153
166
|
sizeClassList.value,
|
|
154
167
|
`base-pagination--${props.type}`,
|
|
155
|
-
`--color-${props.color}
|
|
168
|
+
`--color-${props.color}`,
|
|
156
169
|
]);
|
|
157
170
|
|
|
158
171
|
const goToPage = (page: number) => {
|
|
159
|
-
if (page >= 1 && page <= props.totalPages) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}
|
|
172
|
+
if (page >= 1 && page <= props.totalPages) {
|
|
173
|
+
currentPage.value = page;
|
|
174
|
+
}
|
|
163
175
|
};
|
|
164
176
|
</script>
|
|
165
|
-
|
|
177
|
+
|
|
166
178
|
<style lang="scss" scoped>
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
179
|
+
@import '@/styles/variables';
|
|
180
|
+
@import '@/styles/root';
|
|
181
|
+
|
|
182
|
+
.base-pagination {
|
|
171
183
|
$pagination: &;
|
|
172
184
|
|
|
173
185
|
display: flex;
|
|
@@ -175,48 +187,49 @@ if (page >= 1 && page <= props.totalPages) {
|
|
|
175
187
|
gap: var(--spacing-s);
|
|
176
188
|
|
|
177
189
|
&__list {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
190
|
+
display: flex;
|
|
191
|
+
align-items: center;
|
|
192
|
+
gap: var(--spacing-s);
|
|
193
|
+
list-style: none;
|
|
194
|
+
padding: 0;
|
|
195
|
+
margin: 0;
|
|
184
196
|
}
|
|
185
|
-
|
|
197
|
+
|
|
186
198
|
&__item {
|
|
187
|
-
|
|
199
|
+
display: flex;
|
|
188
200
|
}
|
|
189
|
-
|
|
201
|
+
|
|
190
202
|
&__page {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
203
|
+
transition: all 0.2s ease;
|
|
204
|
+
|
|
205
|
+
&--active {
|
|
206
|
+
cursor: default;
|
|
207
|
+
}
|
|
196
208
|
}
|
|
197
|
-
|
|
209
|
+
|
|
198
210
|
&__ellipsis {
|
|
199
|
-
|
|
211
|
+
cursor: default;
|
|
200
212
|
}
|
|
201
|
-
|
|
213
|
+
|
|
202
214
|
&__nav {
|
|
203
|
-
|
|
204
|
-
|
|
215
|
+
cursor: pointer;
|
|
216
|
+
transition: all 0.2s ease;
|
|
205
217
|
}
|
|
206
218
|
|
|
207
219
|
&__dot {
|
|
208
220
|
border-radius: 50%;
|
|
209
221
|
}
|
|
210
222
|
|
|
211
|
-
&__dot,
|
|
223
|
+
&__dot,
|
|
224
|
+
&__dash {
|
|
212
225
|
cursor: pointer;
|
|
213
226
|
transition: all 0.2s ease;
|
|
214
227
|
}
|
|
215
228
|
|
|
216
229
|
&.--small-size {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
230
|
+
#{$pagination}__page {
|
|
231
|
+
width: 40px;
|
|
232
|
+
}
|
|
220
233
|
}
|
|
221
234
|
|
|
222
235
|
&.--medium-size {
|
|
@@ -235,7 +248,8 @@ if (page >= 1 && page <= props.totalPages) {
|
|
|
235
248
|
border-radius: var(--corner-radius-3xs);
|
|
236
249
|
}
|
|
237
250
|
|
|
238
|
-
&.base-pagination--dotsWithBackground,
|
|
251
|
+
&.base-pagination--dotsWithBackground,
|
|
252
|
+
&.base-pagination--dashesWithBackground {
|
|
239
253
|
.base-pagination__list {
|
|
240
254
|
padding: var(--spacing-s);
|
|
241
255
|
gap: var(--spacing-m);
|
|
@@ -260,18 +274,18 @@ if (page >= 1 && page <= props.totalPages) {
|
|
|
260
274
|
border-radius: var(--corner-radius-xxs);
|
|
261
275
|
}
|
|
262
276
|
|
|
263
|
-
&.base-pagination--dotsWithBackground,
|
|
277
|
+
&.base-pagination--dotsWithBackground,
|
|
278
|
+
&.base-pagination--dashesWithBackground {
|
|
264
279
|
.base-pagination__list {
|
|
265
280
|
padding: var(--spacing-m);
|
|
266
281
|
gap: var(--spacing-l);
|
|
267
282
|
border-radius: var(--corner-radius-l);
|
|
268
283
|
}
|
|
269
284
|
}
|
|
270
|
-
|
|
271
285
|
}
|
|
272
286
|
|
|
273
|
-
&--dotsWithBackground,
|
|
274
|
-
|
|
287
|
+
&--dotsWithBackground,
|
|
288
|
+
&--dashesWithBackground {
|
|
275
289
|
&.base-pagination {
|
|
276
290
|
width: fit-content;
|
|
277
291
|
|
|
@@ -280,12 +294,13 @@ if (page >= 1 && page <= props.totalPages) {
|
|
|
280
294
|
}
|
|
281
295
|
|
|
282
296
|
&.--color-primary {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
297
|
+
.base-pagination__list {
|
|
298
|
+
background: var(--primary-blue-700);
|
|
299
|
+
}
|
|
286
300
|
|
|
287
|
-
|
|
288
|
-
|
|
301
|
+
.base-pagination__dot,
|
|
302
|
+
.base-pagination__dash {
|
|
303
|
+
background: var(--primary-blue-500);
|
|
289
304
|
|
|
290
305
|
&--active {
|
|
291
306
|
background: var(--primary-black-white);
|
|
@@ -293,55 +308,60 @@ if (page >= 1 && page <= props.totalPages) {
|
|
|
293
308
|
}
|
|
294
309
|
}
|
|
295
310
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
311
|
+
&.--color-secondary {
|
|
312
|
+
.base-pagination__list {
|
|
313
|
+
background: var(--primary-blue-50);
|
|
314
|
+
}
|
|
300
315
|
|
|
301
|
-
|
|
302
|
-
|
|
316
|
+
.base-pagination__dot,
|
|
317
|
+
.base-pagination__dash {
|
|
318
|
+
background: var(--primary-blue-200);
|
|
303
319
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
}
|
|
320
|
+
&--active {
|
|
321
|
+
background: var(--primary-blue);
|
|
307
322
|
}
|
|
308
323
|
}
|
|
324
|
+
}
|
|
309
325
|
|
|
310
|
-
|
|
326
|
+
&.--color-white {
|
|
311
327
|
.base-pagination__list {
|
|
312
328
|
background: #fff;
|
|
313
329
|
}
|
|
314
330
|
|
|
315
|
-
.base-pagination__dot,
|
|
331
|
+
.base-pagination__dot,
|
|
332
|
+
.base-pagination__dash {
|
|
316
333
|
background: var(--primary-black-300);
|
|
317
334
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
}
|
|
335
|
+
&--active {
|
|
336
|
+
background: var(--primary-black-900);
|
|
321
337
|
}
|
|
322
338
|
}
|
|
339
|
+
}
|
|
323
340
|
|
|
324
|
-
|
|
341
|
+
&.--color-black {
|
|
325
342
|
.base-pagination__list {
|
|
326
343
|
background: #000;
|
|
327
344
|
}
|
|
328
345
|
|
|
329
|
-
.base-pagination__dot,
|
|
346
|
+
.base-pagination__dot,
|
|
347
|
+
.base-pagination__dash {
|
|
330
348
|
background: var(--primary-black-500);
|
|
331
349
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
}
|
|
350
|
+
&--active {
|
|
351
|
+
background: var(--primary-black-white);
|
|
335
352
|
}
|
|
336
353
|
}
|
|
337
354
|
}
|
|
355
|
+
}
|
|
338
356
|
}
|
|
339
357
|
|
|
340
|
-
&--dots,
|
|
358
|
+
&--dots,
|
|
359
|
+
&--dashes {
|
|
341
360
|
&.--color-primary {
|
|
342
|
-
.base-pagination__dot,
|
|
361
|
+
.base-pagination__dot,
|
|
362
|
+
.base-pagination__dash {
|
|
343
363
|
background: var(--primary-blue-200);
|
|
344
|
-
|
|
364
|
+
|
|
345
365
|
&--active {
|
|
346
366
|
background: var(--primary-blue);
|
|
347
367
|
}
|
|
@@ -349,19 +369,21 @@ if (page >= 1 && page <= props.totalPages) {
|
|
|
349
369
|
}
|
|
350
370
|
|
|
351
371
|
&.--color-secondary {
|
|
352
|
-
.base-pagination__dot,
|
|
372
|
+
.base-pagination__dot,
|
|
373
|
+
.base-pagination__dash {
|
|
353
374
|
background: var(--primary-blue-500);
|
|
354
|
-
|
|
375
|
+
|
|
355
376
|
&--active {
|
|
356
|
-
|
|
377
|
+
background: var(--primary-black-white);
|
|
357
378
|
}
|
|
358
379
|
}
|
|
359
380
|
}
|
|
360
381
|
|
|
361
382
|
&.--color-white {
|
|
362
|
-
.base-pagination__dot,
|
|
383
|
+
.base-pagination__dot,
|
|
384
|
+
.base-pagination__dash {
|
|
363
385
|
background: var(--primary-black-300);
|
|
364
|
-
|
|
386
|
+
|
|
365
387
|
&--active {
|
|
366
388
|
background: var(--primary-black-900);
|
|
367
389
|
}
|
|
@@ -369,9 +391,10 @@ if (page >= 1 && page <= props.totalPages) {
|
|
|
369
391
|
}
|
|
370
392
|
|
|
371
393
|
&.--color-black {
|
|
372
|
-
.base-pagination__dot,
|
|
394
|
+
.base-pagination__dot,
|
|
395
|
+
.base-pagination__dash {
|
|
373
396
|
background: var(--primary-black-500);
|
|
374
|
-
|
|
397
|
+
|
|
375
398
|
&--active {
|
|
376
399
|
background: var(--primary-black-white);
|
|
377
400
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="classList">
|
|
3
3
|
<div class="base-site-input__wrapper">
|
|
4
|
-
<div class="base-site-input__url">
|
|
5
|
-
|
|
4
|
+
<div class="base-site-input__url-wrapper">
|
|
5
|
+
<span class="base-site-input__url">
|
|
6
|
+
https://
|
|
7
|
+
</span>
|
|
6
8
|
</div>
|
|
7
9
|
<base-input
|
|
8
10
|
v-bind="{...$props, ...$attrs}"
|
|
@@ -90,22 +92,31 @@ watch(modelValue, (value) => {
|
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
&__url {
|
|
95
|
+
color: var(--primary-text-tertiary);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&__url-wrapper {
|
|
99
|
+
background: var(--bg-light);
|
|
93
100
|
display: flex;
|
|
94
101
|
align-items: center;
|
|
95
102
|
justify-content: center;
|
|
103
|
+
border-top-left-radius: var(--corner-radius-s);
|
|
96
104
|
border-top: 1px solid var(--primary-black-300);
|
|
97
105
|
border-bottom: 1px solid var(--primary-black-300);
|
|
98
106
|
border-left: 1px solid var(--primary-black-300);
|
|
99
|
-
|
|
107
|
+
border-bottom-left-radius: var(--corner-radius-s);
|
|
100
108
|
}
|
|
101
109
|
|
|
102
110
|
&.--small-size {
|
|
103
111
|
#{$input} {
|
|
104
|
-
&__url
|
|
105
|
-
height:
|
|
112
|
+
&__url-wrapper{
|
|
113
|
+
height: 40px;
|
|
106
114
|
font: var(--typography-text-m-regular);
|
|
107
115
|
border-top-left-radius: var(--corner-radius-s);
|
|
108
116
|
border-bottom-left-radius: var(--corner-radius-s);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&__url {
|
|
109
120
|
padding: var(--spacing-s) var(--spacing-m) var(--spacing-s) var(--spacing-2l);
|
|
110
121
|
}
|
|
111
122
|
}
|
|
@@ -118,11 +129,14 @@ watch(modelValue, (value) => {
|
|
|
118
129
|
|
|
119
130
|
&.--medium-size {
|
|
120
131
|
#{$input} {
|
|
121
|
-
&__url
|
|
122
|
-
height:
|
|
132
|
+
&__url-wrapper{
|
|
133
|
+
height: 48px;
|
|
123
134
|
font: var(--typography-text-m-regular);
|
|
124
135
|
border-top-left-radius: var(--corner-radius-m);
|
|
125
136
|
border-bottom-left-radius: var(--corner-radius-m);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
&__url {
|
|
126
140
|
padding: var(--spacing-m) var(--spacing-m) var(--spacing-m) var(--spacing-2l);
|
|
127
141
|
}
|
|
128
142
|
}
|
|
@@ -135,11 +149,14 @@ watch(modelValue, (value) => {
|
|
|
135
149
|
|
|
136
150
|
&.--large-size {
|
|
137
151
|
#{$input} {
|
|
138
|
-
&__url
|
|
139
|
-
height:
|
|
152
|
+
&__url-wrapper{
|
|
153
|
+
height: 56px;
|
|
140
154
|
font: var(--typography-text-l-regular);
|
|
141
155
|
border-top-left-radius: var(--corner-radius-m);
|
|
142
156
|
border-bottom-left-radius: var(--corner-radius-m);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
&__url {
|
|
143
160
|
padding: var(--spacing-2l) var(--spacing-m) var(--spacing-2l) var(--spacing-l);
|
|
144
161
|
}
|
|
145
162
|
}
|