adata-ui 2.1.41-beta.0 → 2.1.41-beta.10

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 (63) hide show
  1. package/-error.vue +1 -1
  2. package/CLAUDE.md +3 -2
  3. package/assets/styles/main.css +4 -3
  4. package/assets/styles/theme.css +20 -6
  5. package/assets/styles/ui.css +77 -0
  6. package/components/elements/button/AButtonV2.vue +60 -15
  7. package/components/elements/count-up/ACountUp.vue +54 -0
  8. package/components/elements/curve-block-v2/ACurveBlockV2.vue +56 -18
  9. package/components/elements/empty-box/empty-box-V2.vue +1 -1
  10. package/components/elements/error-template/index.vue +8 -3
  11. package/components/elements/infinite-carousel/AInfiniteCarousel.vue +46 -8
  12. package/components/elements/section-heading/ASectionHeading.vue +35 -0
  13. package/components/elements/select/ACascadeSelectV2.vue +710 -0
  14. package/components/elements/select/ASelectV2.vue +70 -143
  15. package/components/elements/select/cascade-utils.ts +115 -0
  16. package/components/elements/select/types.ts +27 -0
  17. package/components/elements/select/ui/cascade-drawer.vue +146 -0
  18. package/components/elements/select/ui/cascade-panel.vue +237 -0
  19. package/components/elements/select/ui/select-trigger.vue +167 -0
  20. package/components/elements/step-slider/AStepSliderColCard.vue +75 -42
  21. package/components/elements/step-slider/AStepSliderColNumber.vue +74 -53
  22. package/components/features/color-mode/AColorMode.client.vue +1 -23
  23. package/components/features/go-top/GoTop.vue +4 -0
  24. package/components/forms/feedback-form/FeedbackFormV2.vue +18 -18
  25. package/components/forms/input/AInputV2.vue +69 -47
  26. package/components/forms/input/textarea/ATextareaV2.vue +10 -5
  27. package/components/modals/ReportBugModal.vue +1 -1
  28. package/components/modals/id/IdModals.vue +14 -10
  29. package/components/navigation/bottom-navigation/ABottomNavigation.vue +1 -1
  30. package/components/navigation/footer/AFooter.vue +2 -2
  31. package/components/navigation/header/AHeader.vue +8 -4
  32. package/components/navigation/pill-tabs/APillTabsV2.vue +29 -14
  33. package/components/overlays/drawer/ADrawerV2.vue +9 -2
  34. package/components/overlays/modal/AModalV2.vue +1 -0
  35. package/icons/ai/ai-diamond-unfilled.vue +26 -0
  36. package/icons/ai/ai-diamond.vue +11 -0
  37. package/icons/arrow/arrow-down-left.vue +6 -0
  38. package/icons/arrow/arrow-up-right.vue +6 -0
  39. package/icons/clock-rotate-ccw.vue +7 -0
  40. package/icons/crown.vue +6 -0
  41. package/icons/letter/letter-a.vue +4 -2
  42. package/icons/letter/letter-b.vue +2 -2
  43. package/icons/letter/letter-c.vue +2 -2
  44. package/icons/letter/letter-d.vue +2 -2
  45. package/icons/letter/letter-e.vue +2 -2
  46. package/icons/list-checks.vue +3 -0
  47. package/icons/log-out.vue +21 -0
  48. package/icons/main-filter.vue +6 -1
  49. package/icons/refresh-cw.vue +8 -0
  50. package/icons/shield-check.vue +20 -0
  51. package/icons/shuffle.vue +3 -0
  52. package/icons/user-plus.vue +3 -0
  53. package/icons/wallet.vue +6 -0
  54. package/illustrations/notes-search.vue +20 -0
  55. package/illustrations/notes-sticky.vue +20 -0
  56. package/illustrations/scheme-notes.vue +21 -0
  57. package/illustrations/scheme-waypoints.vue +25 -0
  58. package/lang/en.ts +2 -1
  59. package/lang/kk.ts +3 -2
  60. package/lang/ru.ts +2 -1
  61. package/nuxt.config.ts +7 -4
  62. package/package.json +2 -2
  63. package/utils/toCssSize.ts +11 -0
@@ -166,7 +166,7 @@ const contactLinks = computed(() => ({
166
166
  <template>
167
167
  <footer
168
168
  id="footer"
169
- class="rounded-t-2xl bg-secondary-500 py-4 lg:py-5"
169
+ class="rounded-t-[32px] bg-secondary-500 py-4 lg:py-5 dark:bg-black"
170
170
  >
171
171
  <div class="a-container mobile-padding flex flex-col justify-between gap-8 py-5 text-white lg:flex-row">
172
172
  <div class="flex flex-col justify-between gap-8">
@@ -221,7 +221,7 @@ const contactLinks = computed(() => ({
221
221
  <!-- noindex -->
222
222
  <div class="flex flex-col items-start gap-2" data-nosnippet>
223
223
  <nuxt-link
224
- class="cursor-pointer border-b-[0.5px] border-current pb-3 pr-4 text-body-md-strong"
224
+ class="cursor-pointer border-b-[0.5px] border-current pr-4 pb-3 text-body-md-strong"
225
225
  :to="contactLinks.link?.replace(/\/$/, '')"
226
226
  >
227
227
  {{ contactLinks.title }}
@@ -107,7 +107,7 @@ onMounted(() => {
107
107
  <system-notification />
108
108
  <header
109
109
  ref="headerRef"
110
- class="relative h-16 border-b border-default bg-subtle backdrop-blur-lg"
110
+ class="relative h-16 border-b border-default bg-main/10 backdrop-blur-lg backdrop-saturate-140"
111
111
  >
112
112
  <div class="a-container mobile-padding flex h-full items-center justify-between gap-2">
113
113
  <!-- Desktop hidden -->
@@ -136,7 +136,7 @@ onMounted(() => {
136
136
  @click="goToAnotherModule"
137
137
  />
138
138
  <button
139
- class="flex w-full items-center gap-2 rounded-full border border-strong/50 bg-white/30 px-4 py-1.5 backdrop-blur-sm"
139
+ class="flex w-full items-center gap-2 rounded-full border border-strong/50 bg-main/30 px-4 py-1.5 backdrop-blur-sm"
140
140
  @click="$emit('search')"
141
141
  >
142
142
  <a-icon-search class="text-icon-disabled" />
@@ -152,11 +152,15 @@ onMounted(() => {
152
152
  />
153
153
  </div>
154
154
  <!-- Mobile hidden -->
155
+ <!--
156
+ role="list" здесь был вреден: у <nav> уже есть неявная роль navigation,
157
+ а list требует, чтобы прямые потомки были listitem — ими логотип и
158
+ header-link не являются. Разметка списка живёт внутри HeaderLink (ul/li).
159
+ -->
155
160
  <nav
156
161
  class="hidden items-center gap-4 lg:flex"
157
162
  itemscope
158
163
  itemtype="https://schema.org/SiteNavigationElement"
159
- role="list"
160
164
  >
161
165
  <nuxt-link-locale
162
166
  aria-label="Adata-logo"
@@ -197,7 +201,7 @@ onMounted(() => {
197
201
  <template #default="{ toggle, isOpen }">
198
202
  <button
199
203
  type="button"
200
- class="hidden h-8 cursor-pointer items-center gap-1.5 rounded-full px-3 text-body-md-medium transition-colors duration-150 hover:bg-action-secondary-hover focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-brand-500/50 focus-visible:ring-offset-1 lg:inline-flex"
204
+ class="hidden h-8 cursor-pointer items-center gap-1.5 rounded-full px-3 text-body-md-medium transition-colors duration-150 hover:bg-action-secondary-hover focus-visible:ring-2 focus-visible:ring-brand-500/50 focus-visible:ring-offset-1 focus-visible:outline-hidden lg:inline-flex"
201
205
  :class="isOpen
202
206
  ? 'bg-action-secondary-hover text-primary'
203
207
  : 'text-primary'"
@@ -1,6 +1,9 @@
1
1
  <script lang="ts" setup>
2
2
  type CountColor = 'gray' | 'blue' | 'yellow' | 'red' | 'green' | 'neutral'
3
- type PillTabsType = 'pill' | 'underline'
3
+ /* pill-round — полностью округлый переключатель-«тумблер» (ДС-2026, тарифы):
4
+ меняется не только радиус, но и поверхность трека, плотность и цвет активного
5
+ таба, поэтому это отдельная шкура, а не проп радиуса. */
6
+ type PillTabsType = 'pill' | 'pill-round' | 'underline'
4
7
 
5
8
  export interface PillTab {
6
9
  key: string
@@ -55,6 +58,7 @@ const COUNT_COLOR_CLASS: Record<CountColor, string> = {
55
58
  const { t, te } = useI18n()
56
59
 
57
60
  const isUnderline = computed(() => props.type === 'underline')
61
+ const isPillRound = computed(() => props.type === 'pill-round')
58
62
 
59
63
  function hasCount(option: PillTab) {
60
64
  if (typeof option.count === 'string') {
@@ -142,11 +146,13 @@ onBeforeUnmount(() => {
142
146
 
143
147
  <template>
144
148
  <div
145
- class="pill-tabs-v2 min-w-0 max-w-full"
149
+ class="pill-tabs-v2 max-w-full min-w-0"
146
150
  :class="[
147
151
  isUnderline
148
152
  ? 'border-b border-default'
149
- : 'rounded-lg border border-default bg-muted p-1',
153
+ : isPillRound
154
+ ? 'rounded-full border border-default bg-canvas p-0.5'
155
+ : 'rounded-lg border border-default bg-muted p-1',
150
156
  block ? 'w-full' : 'w-fit',
151
157
  disabled ? 'pill-tabs-v2--disabled opacity-60' : '',
152
158
  ]"
@@ -168,26 +174,35 @@ onBeforeUnmount(() => {
168
174
  :aria-disabled="isDisabled(option) || undefined"
169
175
  :disabled="isDisabled(option)"
170
176
  :tabindex="modelValue === option.key ? 0 : -1"
171
- class="inline-flex items-center gap-1.5 whitespace-nowrap font-medium transition-colors duration-150"
177
+ class="inline-flex items-center gap-1.5 whitespace-nowrap transition-colors duration-150"
172
178
  :class="[
173
179
  SIZE_CLASS[size],
174
180
  isUnderline
175
181
  ? [
176
- 'px-4 py-2',
182
+ 'px-4 py-2 font-medium',
177
183
  isDisabled(option)
178
184
  ? 'cursor-not-allowed text-icon-disabled'
179
185
  : modelValue === option.key
180
186
  ? 'text-brand'
181
187
  : 'text-quaternary hover:text-primary',
182
188
  ]
183
- : [
184
- 'rounded-md px-3 py-1.5',
185
- isDisabled(option)
186
- ? 'cursor-not-allowed text-icon-disabled'
187
- : modelValue === option.key
188
- ? 'bg-main text-primary shadow-xs dark:shadow-none dark:ring-1 dark:ring-inset dark:ring-white/10'
189
- : 'text-quaternary hover:bg-action-secondary-hover hover:text-primary',
190
- ],
189
+ : isPillRound
190
+ ? [
191
+ 'rounded-full px-3.5 py-1 font-semibold',
192
+ isDisabled(option)
193
+ ? 'cursor-not-allowed text-icon-disabled'
194
+ : modelValue === option.key
195
+ ? 'bg-main text-brand shadow-xs dark:shadow-none dark:ring-1 dark:ring-white/10 dark:ring-inset'
196
+ : 'text-secondary hover:text-primary',
197
+ ]
198
+ : [
199
+ 'rounded-md px-3 py-1.5 font-medium',
200
+ isDisabled(option)
201
+ ? 'cursor-not-allowed text-icon-disabled'
202
+ : modelValue === option.key
203
+ ? 'bg-main text-primary shadow-xs dark:shadow-none dark:ring-1 dark:ring-white/10 dark:ring-inset'
204
+ : 'text-quaternary hover:bg-action-secondary-hover hover:text-primary',
205
+ ],
191
206
  block ? 'flex-1 basis-0 justify-center' : 'shrink-0',
192
207
  ]"
193
208
  @click="select(option)"
@@ -197,7 +212,7 @@ onBeforeUnmount(() => {
197
212
 
198
213
  <span
199
214
  v-if="showCount && !option.hideCount"
200
- class="inline-flex min-w-5 shrink-0 items-center justify-center rounded-full px-1.5 text-body-sm font-semibold leading-5"
215
+ class="inline-flex min-w-5 shrink-0 items-center justify-center rounded-full px-1.5 text-body-sm leading-5 font-semibold"
201
216
  :class="COUNT_COLOR_CLASS[resolveCountColor(option)]"
202
217
  >
203
218
  {{ formatCount(option) }}
@@ -14,7 +14,10 @@ const props = withDefaults(defineProps<{
14
14
  swipeToClose?: boolean
15
15
  swipeThreshold?: number
16
16
  showDragHandle?: boolean
17
+ /** Фиксированная общая высота листа («70dvh»). По умолчанию высота по контенту. */
18
+ height?: string
17
19
  maxHeight?: string
20
+ zIndex?: number | string
18
21
  }>(), {
19
22
  closeOnOverlay: true,
20
23
  closeOnEsc: true,
@@ -26,7 +29,9 @@ const props = withDefaults(defineProps<{
26
29
  swipeToClose: true,
27
30
  swipeThreshold: 65,
28
31
  showDragHandle: true,
32
+ height: undefined,
29
33
  maxHeight: '100dvh',
34
+ zIndex: 10000,
30
35
  })
31
36
 
32
37
  const emit = defineEmits<{
@@ -54,12 +59,13 @@ const blurClass = computed(() => {
54
59
  })
55
60
 
56
61
  const overlayClass = computed(() => {
57
- const base = ['drawer-v2-overlay fixed inset-0 z-[10000] flex items-end justify-stretch bg-overlay']
62
+ const base = ['drawer-v2-overlay fixed inset-0 flex items-end justify-stretch bg-overlay']
58
63
  if (blurClass.value) base.push(blurClass.value)
59
64
  return base.join(' ')
60
65
  })
61
66
 
62
- const contentStyle = computed(() => ({ maxHeight: props.maxHeight }))
67
+ const overlayStyle = computed(() => ({ zIndex: props.zIndex }))
68
+ const contentStyle = computed(() => ({ height: props.height, maxHeight: props.maxHeight }))
63
69
 
64
70
  const overlayTransitionName = computed(() => {
65
71
  if (swipeClosing.value) return ''
@@ -226,6 +232,7 @@ function onTouchEnd() {
226
232
  v-if="open"
227
233
  ref="overlayRef"
228
234
  :class="overlayClass"
235
+ :style="overlayStyle"
229
236
  @mousedown="onOverlayClick"
230
237
  >
231
238
  <transition :name="contentTransitionName" appear>
@@ -7,6 +7,7 @@ const props = withDefaults(defineProps<{
7
7
  title?: string
8
8
  size?: ModalSize
9
9
  width?: string
10
+ rounded?: string
10
11
  closeOnOverlay?: boolean
11
12
  closeOnEsc?: boolean
12
13
  lockScroll?: boolean
@@ -0,0 +1,26 @@
1
+ <template>
2
+ <svg
3
+ width="20"
4
+ height="20"
5
+ viewBox="0 0 20 20"
6
+ fill="none"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ >
9
+ <g clip-path="url(#clip0_29288_75589)">
10
+ <path
11
+ d="M8.28086 12.9167C8.20647 12.6283 8.05615 12.3651 7.84555 12.1545C7.63494 11.9439 7.37176 11.7936 7.08336 11.7192L1.97086 10.4009C1.88364 10.3761 1.80687 10.3236 1.75221 10.2512C1.69754 10.1789 1.66797 10.0907 1.66797 10C1.66797 9.90938 1.69754 9.82118 1.75221 9.74884C1.80687 9.6765 1.88364 9.62397 1.97086 9.59921L7.08336 8.28005C7.37166 8.20572 7.63477 8.05552 7.84537 7.84508C8.05596 7.63463 8.20634 7.37162 8.28086 7.08338L9.5992 1.97088C9.6237 1.88331 9.67618 1.80616 9.74863 1.75121C9.82108 1.69625 9.90951 1.6665 10.0004 1.6665C10.0914 1.6665 10.1798 1.69625 10.2523 1.75121C10.3247 1.80616 10.3772 1.88331 10.4017 1.97088L11.7192 7.08338C11.7936 7.37177 11.9439 7.63496 12.1545 7.84556C12.3651 8.05616 12.6283 8.20648 12.9167 8.28088L18.0292 9.59921C18.1164 9.62397 18.1932 9.6765 18.2479 9.74884C18.3025 9.82118 18.3321 9.90938 18.3321 10C18.3321 10.0907 18.3025 10.1789 18.2479 10.2512C18.1932 10.3236 18.1164 10.3761 18.0292 10.4009L12.9167 11.7192C12.6283 11.7936 12.3651 11.9439 12.1545 12.1545C11.9439 12.3651 11.7936 12.6283 11.7192 12.9167L10.4009 18.0292C10.3764 18.1168 10.3239 18.1939 10.2514 18.2489C10.179 18.3038 10.0905 18.3336 9.99961 18.3336C9.90868 18.3336 9.82025 18.3038 9.7478 18.2489C9.67535 18.1939 9.62287 18.1168 9.59836 18.0292L8.28086 12.9167Z"
12
+ stroke="currentColor"
13
+ stroke-width="1.5"
14
+ />
15
+ </g>
16
+ <defs>
17
+ <clipPath id="clip0_29288_75589">
18
+ <rect
19
+ width="20"
20
+ height="20"
21
+ fill="currentColor"
22
+ />
23
+ </clipPath>
24
+ </defs>
25
+ </svg>
26
+ </template>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <svg
3
+ width="16"
4
+ height="16"
5
+ viewBox="0 0 16 16"
6
+ fill="none"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ >
9
+ <path d="M6.6243 10.3332C6.56478 10.1025 6.44453 9.89191 6.27605 9.72343C6.10756 9.55495 5.89702 9.43469 5.6663 9.37517L1.5763 8.32051C1.50652 8.3007 1.44511 8.25868 1.40138 8.2008C1.35765 8.14293 1.33398 8.07238 1.33398 7.99984C1.33398 7.9273 1.35765 7.85675 1.40138 7.79888C1.44511 7.74101 1.50652 7.69898 1.5763 7.67917L5.6663 6.62384C5.89693 6.56438 6.10743 6.44422 6.2759 6.27587C6.44438 6.10751 6.56468 5.8971 6.6243 5.66651L7.67897 1.57651C7.69857 1.50645 7.74056 1.44474 7.79851 1.40077C7.85647 1.35681 7.92722 1.33301 7.99997 1.33301C8.07271 1.33301 8.14346 1.35681 8.20142 1.40077C8.25938 1.44474 8.30136 1.50645 8.32097 1.57651L9.37497 5.66651C9.43449 5.89722 9.55474 6.10777 9.72322 6.27625C9.8917 6.44473 10.1023 6.56499 10.333 6.62451L14.423 7.67917C14.4927 7.69898 14.5542 7.74101 14.5979 7.79888C14.6416 7.85675 14.6653 7.9273 14.6653 7.99984C14.6653 8.07238 14.6416 8.14293 14.5979 8.2008C14.5542 8.25868 14.4927 8.3007 14.423 8.32051L10.333 9.37517C10.1023 9.43469 9.8917 9.55495 9.72322 9.72343C9.55474 9.89191 9.43449 10.1025 9.37497 10.3332L8.3203 14.4232C8.3007 14.4932 8.25871 14.5549 8.20075 14.5989C8.1428 14.6429 8.07205 14.6667 7.9993 14.6667C7.92655 14.6667 7.85581 14.6429 7.79785 14.5989C7.73989 14.5549 7.69791 14.4932 7.6783 14.4232L6.6243 10.3332Z" fill="currentColor" />
10
+ </svg>
11
+ </template>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-down-left-icon lucide-arrow-down-left">
3
+ <path d="M17 7 7 17"/>
4
+ <path d="M17 17H7V7"/>
5
+ </svg>
6
+ </template>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right-icon lucide-arrow-up-right">
3
+ <path d="M7 7h10v10"/>
4
+ <path d="M7 17 17 7"/>
5
+ </svg>
6
+ </template>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-ccw-clock-icon lucide-rotate-ccw-clock">
3
+ <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/>
4
+ <path d="M3 3v5h5"/>
5
+ <path d="M12 7v5l4 2"/>
6
+ </svg>
7
+ </template>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-crown-icon lucide-crown">
3
+ <path d="M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z"/>
4
+ <path d="M5 21h14"/>
5
+ </svg>
6
+ </template>
@@ -1,6 +1,8 @@
1
1
  <template>
2
+ <!-- Плитка-бейдж A–E: цвета через токены, иначе в тёмной теме светлая
3
+ подложка светится (палитра пар — как у бейджей сравнения в макете). -->
2
4
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <rect width="24" height="24" rx="7" fill="#F0F8FF"/>
4
- <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="#068DFF">A</text>
5
+ <rect width="24" height="24" rx="7" fill="var(--background-color-brand-subtle)"/>
6
+ <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="var(--text-color-brand)">A</text>
5
7
  </svg>
6
8
  </template>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <rect width="24" height="24" rx="7" fill="#F5F3FF"/>
4
- <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="#7C3AED">B</text>
3
+ <rect width="24" height="24" rx="7" fill="var(--background-color-success-subtle)"/>
4
+ <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="var(--text-color-success)">B</text>
5
5
  </svg>
6
6
  </template>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <rect width="24" height="24" rx="7" fill="#F0FDF4"/>
4
- <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="#059669">C</text>
3
+ <rect width="24" height="24" rx="7" fill="var(--background-color-violet-subtle)"/>
4
+ <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="var(--color-icon-violet)">C</text>
5
5
  </svg>
6
6
  </template>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <rect width="24" height="24" rx="7" fill="#FEFCE8"/>
4
- <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="#D97706">D</text>
3
+ <rect width="24" height="24" rx="7" fill="var(--background-color-warning-subtle)"/>
4
+ <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="var(--text-color-warning)">D</text>
5
5
  </svg>
6
6
  </template>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <rect width="24" height="24" rx="7" fill="#FEF2F2"/>
4
- <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="#DC2626">E</text>
3
+ <rect width="24" height="24" rx="7" fill="var(--background-color-pink-subtle)"/>
4
+ <text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif" font-size="13" font-weight="700" fill="var(--color-icon-pink)">E</text>
5
5
  </svg>
6
6
  </template>
@@ -0,0 +1,3 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list-checks-icon lucide-list-checks"><path d="m3 17 2 2 4-4"/><path d="m3 7 2 2 4-4"/><path d="M13 6h8"/><path d="M13 12h8"/><path d="M13 18h8"/></svg>
3
+ </template>
@@ -0,0 +1,21 @@
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="24"
8
+ height="24"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ stroke="currentColor"
12
+ stroke-width="2"
13
+ stroke-linecap="round"
14
+ stroke-linejoin="round"
15
+ class="lucide lucide-log-out-icon lucide-log-out"
16
+ >
17
+ <path d="m16 17 5-5-5-5" />
18
+ <path d="M21 12H9" />
19
+ <path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" />
20
+ </svg>
21
+ </template>
@@ -1,5 +1,10 @@
1
1
  <template>
2
2
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <path class="fill-icon-strong" fill-rule="evenodd" clip-rule="evenodd" d="M15.1487 5.43944C15.1487 4.71477 15.7361 4.1273 16.4608 4.1273C17.1855 4.1273 17.7729 4.71477 17.7729 5.43944C17.7729 6.16411 17.1855 6.75158 16.4608 6.75158C15.7361 6.75158 15.1487 6.16411 15.1487 5.43944ZM13.683 6.22775H2.29021C1.85541 6.22775 1.50293 5.87527 1.50293 5.44046C1.50293 5.00566 1.85541 4.65318 2.29021 4.65318H13.6825C14.0248 3.44103 15.1391 2.55273 16.4608 2.55273C17.7825 2.55273 18.8968 3.44103 19.2391 4.65318H21.7128C22.1476 4.65318 22.5 5.00566 22.5 5.44046C22.5 5.87527 22.1476 6.22775 21.7128 6.22775H19.2386C18.8955 7.43886 17.7818 8.32615 16.4608 8.32615C15.1398 8.32615 14.0261 7.43886 13.683 6.22775ZM8.59002 9.11292C9.91221 9.11292 11.0268 10.0018 11.3687 11.2146H21.7099C22.1447 11.2146 22.4972 11.5671 22.4972 12.0019C22.4972 12.4367 22.1447 12.7892 21.7099 12.7892H11.3674C11.024 13.9997 9.91053 14.8863 8.59002 14.8863C7.2695 14.8863 6.15608 13.9997 5.81263 12.7892H2.29021C1.85541 12.7892 1.50293 12.4367 1.50293 12.0019C1.50293 11.5671 1.85541 11.2146 2.29021 11.2146H5.81132C6.15325 10.0018 7.26783 9.11292 8.59002 9.11292ZM8.59002 10.6875C7.86534 10.6875 7.27788 11.2749 7.27788 11.9996C7.27788 12.7243 7.86534 13.3118 8.59002 13.3118C9.31469 13.3118 9.90216 12.7243 9.90216 11.9996C9.90216 11.2749 9.31469 10.6875 8.59002 10.6875ZM19.2386 19.349C18.8956 20.5602 17.7818 21.4475 16.4608 21.4475C15.1398 21.4475 14.026 20.5602 13.683 19.349H2.29021C1.85541 19.349 1.50293 18.9965 1.50293 18.5617C1.50293 18.1269 1.85541 17.7744 2.29021 17.7744H13.6825C14.0249 16.5624 15.1391 15.6741 16.4608 15.6741C17.7825 15.6741 18.8967 16.5624 19.2391 17.7744H21.7128C22.1476 17.7744 22.5 18.1269 22.5 18.5617C22.5 18.9965 22.1476 19.349 21.7128 19.349H19.2386ZM15.1487 18.5608C15.1487 17.8362 15.7361 17.2487 16.4608 17.2487C17.1855 17.2487 17.7729 17.8362 17.7729 18.5608C17.7729 19.2855 17.1855 19.873 16.4608 19.873C15.7361 19.873 15.1487 19.2855 15.1487 18.5608Z"/>
3
+ <path
4
+ fill-rule="evenodd"
5
+ clip-rule="evenodd"
6
+ fill="currentColor"
7
+ d="M15.1487 5.43944C15.1487 4.71477 15.7361 4.1273 16.4608 4.1273C17.1855 4.1273 17.7729 4.71477 17.7729 5.43944C17.7729 6.16411 17.1855 6.75158 16.4608 6.75158C15.7361 6.75158 15.1487 6.16411 15.1487 5.43944ZM13.683 6.22775H2.29021C1.85541 6.22775 1.50293 5.87527 1.50293 5.44046C1.50293 5.00566 1.85541 4.65318 2.29021 4.65318H13.6825C14.0248 3.44103 15.1391 2.55273 16.4608 2.55273C17.7825 2.55273 18.8968 3.44103 19.2391 4.65318H21.7128C22.1476 4.65318 22.5 5.00566 22.5 5.44046C22.5 5.87527 22.1476 6.22775 21.7128 6.22775H19.2386C18.8955 7.43886 17.7818 8.32615 16.4608 8.32615C15.1398 8.32615 14.0261 7.43886 13.683 6.22775ZM8.59002 9.11292C9.91221 9.11292 11.0268 10.0018 11.3687 11.2146H21.7099C22.1447 11.2146 22.4972 11.5671 22.4972 12.0019C22.4972 12.4367 22.1447 12.7892 21.7099 12.7892H11.3674C11.024 13.9997 9.91053 14.8863 8.59002 14.8863C7.2695 14.8863 6.15608 13.9997 5.81263 12.7892H2.29021C1.85541 12.7892 1.50293 12.4367 1.50293 12.0019C1.50293 11.5671 1.85541 11.2146 2.29021 11.2146H5.81132C6.15325 10.0018 7.26783 9.11292 8.59002 9.11292ZM8.59002 10.6875C7.86534 10.6875 7.27788 11.2749 7.27788 11.9996C7.27788 12.7243 7.86534 13.3118 8.59002 13.3118C9.31469 13.3118 9.90216 12.7243 9.90216 11.9996C9.90216 11.2749 9.31469 10.6875 8.59002 10.6875ZM19.2386 19.349C18.8956 20.5602 17.7818 21.4475 16.4608 21.4475C15.1398 21.4475 14.026 20.5602 13.683 19.349H2.29021C1.85541 19.349 1.50293 18.9965 1.50293 18.5617C1.50293 18.1269 1.85541 17.7744 2.29021 17.7744H13.6825C14.0249 16.5624 15.1391 15.6741 16.4608 15.6741C17.7825 15.6741 18.8967 16.5624 19.2391 17.7744H21.7128C22.1476 17.7744 22.5 18.1269 22.5 18.5617C22.5 18.9965 22.1476 19.349 21.7128 19.349H19.2386ZM15.1487 18.5608C15.1487 17.8362 15.7361 17.2487 16.4608 17.2487C17.1855 17.2487 17.7729 17.8362 17.7729 18.5608C17.7729 19.2855 17.1855 19.873 16.4608 19.873C15.7361 19.873 15.1487 19.2855 15.1487 18.5608Z"
8
+ />
4
9
  </svg>
5
10
  </template>
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw-icon lucide-refresh-cw">
3
+ <path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/>
4
+ <path d="M21 3v5h-5"/>
5
+ <path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/>
6
+ <path d="M8 16H3v5"/>
7
+ </svg>
8
+ </template>
@@ -0,0 +1,20 @@
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="24"
8
+ height="24"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ stroke="currentColor"
12
+ stroke-width="2"
13
+ stroke-linecap="round"
14
+ stroke-linejoin="round"
15
+ class="lucide lucide-shield-check-icon lucide-shield-check"
16
+ >
17
+ <path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" />
18
+ <path d="m9 12 2 2 4-4" />
19
+ </svg>
20
+ </template>
@@ -0,0 +1,3 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shuffle-icon lucide-shuffle"><path d="m18 14 4 4-4 4"/><path d="m18 2 4 4-4 4"/><path d="M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22"/><path d="M2 6h1.972a4 4 0 0 1 3.6 2.2"/><path d="M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45"/></svg>
3
+ </template>
@@ -0,0 +1,3 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user-plus-icon lucide-user-plus"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><path d="M19 8v6"/><path d="M22 11h-6"/><circle cx="9" cy="7" r="4"/></svg>
3
+ </template>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wallet-icon lucide-wallet">
3
+ <path d="M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"/>
4
+ <path d="M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"/>
5
+ </svg>
6
+ </template>
@@ -0,0 +1,20 @@
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="24"
8
+ height="24"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ stroke="currentColor"
12
+ stroke-width="2"
13
+ stroke-linecap="round"
14
+ stroke-linejoin="round"
15
+ class="lucide lucide-search-icon lucide-search"
16
+ >
17
+ <path d="m21 21-4.34-4.34" />
18
+ <circle cx="11" cy="11" r="8" />
19
+ </svg>
20
+ </template>
@@ -0,0 +1,20 @@
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="24"
8
+ height="24"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ stroke="currentColor"
12
+ stroke-width="2"
13
+ stroke-linecap="round"
14
+ stroke-linejoin="round"
15
+ class="lucide lucide-sticky-note-icon lucide-sticky-note"
16
+ >
17
+ <path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z" />
18
+ <path d="M15 3v5a1 1 0 0 0 1 1h5" />
19
+ </svg>
20
+ </template>
@@ -0,0 +1,21 @@
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="24"
8
+ height="24"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ stroke="currentColor"
12
+ stroke-width="2"
13
+ stroke-linecap="round"
14
+ stroke-linejoin="round"
15
+ class="lucide lucide-info-icon lucide-info"
16
+ >
17
+ <circle cx="12" cy="12" r="10"
18
+ /><path d="M12 16v-4" />
19
+ <path d="M12 8h.01"/>
20
+ </svg>
21
+ </template>
@@ -0,0 +1,25 @@
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="24"
8
+ height="24"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ stroke="currentColor"
12
+ stroke-width="2"
13
+ stroke-linecap="round"
14
+ stroke-linejoin="round"
15
+ class="lucide lucide-waypoints-icon lucide-waypoints"
16
+ >
17
+ <path d="m10.586 5.414-5.172 5.172" />
18
+ <path d="m18.586 13.414-5.172 5.172" />
19
+ <path d="M6 12h12" />
20
+ <circle cx="12" cy="20" r="2" />
21
+ <circle cx="12" cy="4" r="2" />
22
+ <circle cx="20" cy="12" r="2" />
23
+ <circle cx="4" cy="12" r="2" />
24
+ </svg>
25
+ </template>
package/lang/en.ts CHANGED
@@ -21,6 +21,7 @@ const EnLocale: RuLocale = {
21
21
  yes: 'Yes',
22
22
  or: 'Or',
23
23
  successfully: 'Successfully',
24
+ goTop: 'Back to top',
24
25
  },
25
26
  header: {
26
27
  top: {
@@ -473,7 +474,7 @@ const EnLocale: RuLocale = {
473
474
  },
474
475
  forms: {
475
476
  feedback: {
476
- value: 'Feedback',
477
+ value: 'FEEDBACK',
477
478
  title: 'Still have questions about the check?',
478
479
  subtitle: 'Leave a request — we\'ll show you how to check counterparties for your specific tasks and help you get started.',
479
480
  email: 'Email',
package/lang/kk.ts CHANGED
@@ -21,6 +21,7 @@ const KkLocale: RuLocale = {
21
21
  yes: 'Иә',
22
22
  or: 'Немесе',
23
23
  successfully: 'Сәтті',
24
+ goTop: 'Жоғарыға',
24
25
  },
25
26
  header: {
26
27
  top: {
@@ -474,7 +475,7 @@ const KkLocale: RuLocale = {
474
475
  },
475
476
  forms: {
476
477
  feedback: {
477
- value: 'Кері байланыс',
478
+ value: 'КЕРІ БАЙЛАНЫС ',
478
479
  title: 'Тексеру бойынша сұрақтарыңыз қалды ма?',
479
480
  subtitle: 'Өтінім қалдырыңыз — контрагенттерді сіздің міндеттеріңізге сай қалай тексеру керектігін көрсетеміз және бастауға көмектесеміз.',
480
481
  email: 'Электрондық пошта',
@@ -483,7 +484,7 @@ const KkLocale: RuLocale = {
483
484
  send: 'Өтінімді жіберу',
484
485
  close: 'Жабу',
485
486
  consent: 'Батырманы басу арқылы сіз',
486
- consentAccent: 'дербес деректерді өңдеуге',
487
+ consentAccent: 'дербес деректерді өңдеуге келісесіз',
487
488
  fieldRequired: 'Өріс міндетті түрде толтырылуы қажет',
488
489
  emailValid: 'Дұрыс email енгізіңіз',
489
490
  phoneMinLength: 'Телефон нөмірінің минималды ұзындығы {count} символ болуы керек',
package/lang/ru.ts CHANGED
@@ -17,6 +17,7 @@ const RuLocale = {
17
17
  yes: 'Да',
18
18
  or: 'Или',
19
19
  successfully: 'Успешно',
20
+ goTop: 'Наверх',
20
21
  },
21
22
  header: {
22
23
  top: {
@@ -473,7 +474,7 @@ const RuLocale = {
473
474
  },
474
475
  forms: {
475
476
  feedback: {
476
- value: 'Обратная связь',
477
+ value: 'ОБРАТНАЯ СВЯЗЬ',
477
478
  title: 'Остались вопросы по проверке?',
478
479
  subtitle: 'Оставьте заявку — покажем, как проверять контрагентов под ваши задачи, и поможем со стартом.',
479
480
  email: 'Электронная почта',
package/nuxt.config.ts CHANGED
@@ -38,6 +38,13 @@ export default defineNuxtConfig({
38
38
  colorMode: {
39
39
  preference: 'light',
40
40
  classSuffix: '',
41
+ storage: 'cookie',
42
+ storageKey: 'colorMode',
43
+ cookieAttrs: {
44
+ path: '/',
45
+ maxAge: 60 * 60 * 24 * 365,
46
+ domain: process.env.COLOR_MODE_COOKIE_DOMAIN,
47
+ },
41
48
  },
42
49
 
43
50
  googleFonts: {
@@ -85,8 +92,4 @@ export default defineNuxtConfig({
85
92
  },
86
93
  },
87
94
 
88
- // Tailwind + токены + глобальные стили; мержится в приложение-консьюмер
89
- // штатно, как любой css: слоя.
90
- css: [resolve('./assets/styles/main.css')],
91
-
92
95
  })
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "adata-ui",
3
3
  "type": "module",
4
- "version": "2.1.41-beta.0",
4
+ "version": "2.1.41-beta.10",
5
5
  "main": "./nuxt.config.ts",
6
6
  "scripts": {
7
7
  "dev": "nuxi dev .playground",
@@ -39,7 +39,7 @@
39
39
  "@headlessui/vue": "^1.7.23",
40
40
  "@nuxt/image": "1.8.1",
41
41
  "@nuxt/kit": "^3.18.1",
42
- "@nuxtjs/color-mode": "^3.5.2",
42
+ "@nuxtjs/color-mode": "^4.0.1",
43
43
  "@nuxtjs/google-fonts": "^3.2.0",
44
44
  "@nuxtjs/i18n": "9.3.3",
45
45
  "@popperjs/core": "^2.11.8",