plugin-ui-for-kzt 0.0.16 → 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 (83) 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 -3
  4. package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +4 -4
  5. package/dist/components/BaseChips/BaseChips.vue.d.ts +27 -0
  6. package/dist/components/BaseDropdown/BaseDropdown.vue.d.ts +3 -3
  7. package/dist/components/BaseInput/BaseInput.vue.d.ts +5 -5
  8. package/dist/components/BaseInputCalendar/BaseInputCalendar.vue.d.ts +5 -5
  9. package/dist/components/BaseInputCurrency/BaseInputCurrency.vue.d.ts +5 -5
  10. package/dist/components/BaseInputEmail/BaseInputEmail.vue.d.ts +5 -5
  11. package/dist/components/BaseInputPhone/BaseInputPhone.vue.d.ts +5 -5
  12. package/dist/components/BaseModal/BaseModal.vue.d.ts +4 -0
  13. package/dist/components/BaseOpenedListItem/BaseOpenedListItem.vue.d.ts +3 -3
  14. package/dist/components/BasePagination/BasePagination.vue.d.ts +1 -1
  15. package/dist/components/BaseRadio/BaseRadio.vue.d.ts +4 -4
  16. package/dist/components/BaseSegmentedButtons/BaseSegmentedButtons.vue.d.ts +3 -3
  17. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +4 -4
  18. package/dist/components/BaseSiteInput/BaseSiteInput.vue.d.ts +1 -1
  19. package/dist/components/BaseSwiper/BaseSwiper.vue.d.ts +57 -0
  20. package/dist/components/BaseTag/BaseTag.vue.d.ts +61 -0
  21. package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +5 -5
  22. package/dist/components/BaseToggle/BaseToggle.vue.d.ts +4 -4
  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 +4 -4
  26. package/dist/composables/useModal.d.ts +7 -0
  27. package/dist/index.d.ts +9 -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 +129 -295
  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-left-circle.svg +3 -0
  37. package/src/assets/icons/arrow-right-circle.svg +3 -0
  38. package/src/assets/icons/arrow-up.svg +4 -0
  39. package/src/assets/icons/close-circle.svg +5 -0
  40. package/src/assets/icons/close.svg +4 -0
  41. package/src/assets/icons/document-text.svg +4 -0
  42. package/src/assets/icons/export.svg +5 -0
  43. package/src/assets/icons/gallery.svg +5 -0
  44. package/src/assets/icons/notification-icon.svg +7 -0
  45. package/src/assets/icons/search-zoom-in.svg +6 -0
  46. package/src/assets/icons/star.svg +3 -0
  47. package/src/assets/icons/trash.svg +7 -0
  48. package/src/assets/icons/upload.svg +5 -0
  49. package/src/components/BaseBadge/BaseBadge.vue +188 -0
  50. package/src/components/BaseBadge/BaseBadgeGroup.vue +120 -0
  51. package/src/components/BaseBadge/README.md +127 -0
  52. package/src/components/BaseBreadCrumbs/BaseBreadCrumbs.vue +3 -3
  53. package/src/components/BaseButton/BaseButton.vue +29 -122
  54. package/src/components/BaseChips/BaseChips.vue +182 -0
  55. package/src/components/BaseChips/README.md +64 -0
  56. package/src/components/BaseInput/BaseInput.vue +5 -3
  57. package/src/components/BaseModal/BaseModal.vue +189 -0
  58. package/src/components/BaseOpenedListItem/BaseOpenedListItem.vue +4 -4
  59. package/src/components/BasePagination/BasePagination.vue +146 -123
  60. package/src/components/BaseSiteInput/BaseSiteInput.vue +26 -9
  61. package/src/components/BaseSwiper/BaseSwiper.vue +229 -0
  62. package/src/components/BaseTag/BaseTag.vue +245 -0
  63. package/src/components/BaseTag/README.md +125 -0
  64. package/src/components/BaseTextarea/BaseTextarea.vue +8 -14
  65. package/src/components/BaseUpload/BaseUpload.vue +392 -0
  66. package/src/components/BaseUpload/ImageModal.vue +25 -0
  67. package/src/composables/useModal.ts +14 -0
  68. package/src/index.ts +38 -19
  69. package/src/plugins/modalPlugin.ts +92 -76
  70. package/src/store/modal.ts +39 -16
  71. package/src/styles/root.scss +3 -0
  72. package/src/types/badge.d.ts +19 -0
  73. package/src/types/chips.d.ts +10 -0
  74. package/src/types/modal.d.ts +8 -0
  75. package/src/types/pagination.d.ts +2 -2
  76. package/src/types/swiper.d.ts +17 -0
  77. package/src/types/tag.d.ts +14 -0
  78. package/src/types/uploadedFile.d.ts +13 -0
  79. package/src/types/utils.d.ts +1 -1
  80. package/dist/types/index.d.ts +0 -5
  81. package/src/components/Modal/Modal.vue +0 -149
  82. package/src/components/Modal/README.md +0 -47
  83. package/src/types/index.ts +0 -7
@@ -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>
@@ -98,7 +98,7 @@ const actualComponent = computed(() => {
98
98
  width: 100%;
99
99
  height: 100%;
100
100
  text-align: left;
101
- transition: all var(--ui-transition);
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: 14px;
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: 24px;
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: 24px;
200
+ height: 60px;
201
201
  padding: var(--spacing-2l) var(--spacing-l);
202
202
  }
203
203
 
@@ -1,85 +1,85 @@
1
1
  <template>
2
- <nav class="base-pagination" :class="classList">
3
- <base-button
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
- <base-icon
12
- name="arrow-left"
13
- :size="props.size"
14
- color="currentColor"
15
- />
10
+ >
11
+ <base-icon
12
+ name="arrow-left"
13
+ :size="props.size"
14
+ color="currentColor"
15
+ />
16
16
  <slot name="previousTextButton">Назад</slot>
17
- </base-button>
17
+ </base-button>
18
18
 
19
- <ul class="base-pagination__list">
20
- <template v-if="props.type === 'numbers'">
21
- <li
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
- 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)"
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
- {{ page }}
37
+ {{ page }}
38
38
  </base-button>
39
- </li>
40
- </template>
39
+ </li>
40
+ </template>
41
41
 
42
- <template v-else>
43
- <li
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
- <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'"
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
- name="arrow-right"
74
- :size="props.size"
75
- color="currentColor"
73
+ name="arrow-right"
74
+ :size="props.size"
75
+ color="currentColor"
76
76
  />
77
- </base-button>
78
- </nav>
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
- currentPage.value = page;
161
- emit('update:currentPage', page);
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
- @import '@/styles/variables';
168
- @import '@/styles/root';
169
-
170
- .base-pagination {
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
- display: flex;
179
- align-items: center;
180
- gap: var(--spacing-s);
181
- list-style: none;
182
- padding: 0;
183
- margin: 0;
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
- display: flex;
199
+ display: flex;
188
200
  }
189
-
201
+
190
202
  &__page {
191
- transition: all 0.2s ease;
192
-
193
- &--active {
194
- cursor: default;
195
- }
203
+ transition: all 0.2s ease;
204
+
205
+ &--active {
206
+ cursor: default;
207
+ }
196
208
  }
197
-
209
+
198
210
  &__ellipsis {
199
- cursor: default;
211
+ cursor: default;
200
212
  }
201
-
213
+
202
214
  &__nav {
203
- cursor: pointer;
204
- transition: all 0.2s ease;
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, &__dash {
223
+ &__dot,
224
+ &__dash {
212
225
  cursor: pointer;
213
226
  transition: all 0.2s ease;
214
227
  }
215
228
 
216
229
  &.--small-size {
217
- #{$pagination}__page {
218
- width: 40px;
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, &.base-pagination--dashesWithBackground {
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, &.base-pagination--dashesWithBackground {
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, &--dashesWithBackground {
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
- .base-pagination__list {
284
- background: var(--primary-blue-700);
285
- }
297
+ .base-pagination__list {
298
+ background: var(--primary-blue-700);
299
+ }
286
300
 
287
- .base-pagination__dot, .base-pagination__dash {
288
- background: var(--primary-blue-500);
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
- &.--color-secondary {
297
- .base-pagination__list {
298
- background: var(--primary-blue-50);
299
- }
311
+ &.--color-secondary {
312
+ .base-pagination__list {
313
+ background: var(--primary-blue-50);
314
+ }
300
315
 
301
- .base-pagination__dot, .base-pagination__dash {
302
- background: var(--primary-blue-200);
316
+ .base-pagination__dot,
317
+ .base-pagination__dash {
318
+ background: var(--primary-blue-200);
303
319
 
304
- &--active {
305
- background: var(--primary-blue);
306
- }
320
+ &--active {
321
+ background: var(--primary-blue);
307
322
  }
308
323
  }
324
+ }
309
325
 
310
- &.--color-white {
326
+ &.--color-white {
311
327
  .base-pagination__list {
312
328
  background: #fff;
313
329
  }
314
330
 
315
- .base-pagination__dot, .base-pagination__dash {
331
+ .base-pagination__dot,
332
+ .base-pagination__dash {
316
333
  background: var(--primary-black-300);
317
334
 
318
- &--active {
319
- background: var(--primary-black-900);
320
- }
335
+ &--active {
336
+ background: var(--primary-black-900);
321
337
  }
322
338
  }
339
+ }
323
340
 
324
- &.--color-black {
341
+ &.--color-black {
325
342
  .base-pagination__list {
326
343
  background: #000;
327
344
  }
328
345
 
329
- .base-pagination__dot, .base-pagination__dash {
346
+ .base-pagination__dot,
347
+ .base-pagination__dash {
330
348
  background: var(--primary-black-500);
331
349
 
332
- &--active {
333
- background: var(--primary-black-white);
334
- }
350
+ &--active {
351
+ background: var(--primary-black-white);
335
352
  }
336
353
  }
337
354
  }
355
+ }
338
356
  }
339
357
 
340
- &--dots, &--dashes {
358
+ &--dots,
359
+ &--dashes {
341
360
  &.--color-primary {
342
- .base-pagination__dot, .base-pagination__dash {
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, .base-pagination__dash {
372
+ .base-pagination__dot,
373
+ .base-pagination__dash {
353
374
  background: var(--primary-blue-500);
354
-
375
+
355
376
  &--active {
356
- background: var(--primary-black-white);
377
+ background: var(--primary-black-white);
357
378
  }
358
379
  }
359
380
  }
360
381
 
361
382
  &.--color-white {
362
- .base-pagination__dot, .base-pagination__dash {
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, .base-pagination__dash {
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
  }