adata-ui 2.1.40 → 2.1.41-beta.1

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 (258) hide show
  1. package/-error.vue +2 -2
  2. package/.playground/app.vue +13 -13
  3. package/.playground/nuxt.config.ts +1 -1
  4. package/CLAUDE.md +63 -0
  5. package/assets/styles/main.css +12 -0
  6. package/assets/styles/theme.css +583 -0
  7. package/assets/styles/ui.css +247 -0
  8. package/components/elements/a-select-row/ASelectRowV2.vue +13 -17
  9. package/components/elements/a-select-row/index.vue +13 -12
  10. package/components/elements/accordion/AAccordion.vue +2 -2
  11. package/components/elements/accordion/AAccordionGroup/AAccordionGroup.vue +1 -1
  12. package/components/elements/accordion/AAccordionGroup/ui.config.ts +4 -4
  13. package/components/elements/accordion/ui.config.ts +4 -4
  14. package/components/elements/alert/AAlert.vue +5 -5
  15. package/components/elements/bg-block/ABgBlock.vue +1 -1
  16. package/components/elements/button/AButton.vue +48 -45
  17. package/components/elements/button/AButtonV2.vue +74 -30
  18. package/components/elements/button-login/index.vue +2 -1
  19. package/components/elements/carousel/config.ui.ts +2 -2
  20. package/components/elements/chip-wrapper/AChipWrapper.vue +4 -3
  21. package/components/elements/chips/AChips.vue +4 -3
  22. package/components/elements/companies/AOurClients.vue +1 -1
  23. package/components/elements/count-up/ACountUp.vue +54 -0
  24. package/components/elements/curve-block/ACurveBlock.vue +15 -48
  25. package/components/elements/curve-block-v2/ACurveBlockV2.vue +60 -25
  26. package/components/elements/digit-badge/ADigitBadge.vue +17 -16
  27. package/components/elements/empty-box/empty-box-V2.vue +92 -0
  28. package/components/elements/error-template/index.vue +99 -31
  29. package/components/elements/feature-description/AFeatureDescription.vue +8 -8
  30. package/components/elements/illustrations/noAccess.vue +1 -1
  31. package/components/elements/infinite-carousel/AInfiniteCarousel.vue +44 -16
  32. package/components/elements/leave-note/ALeaveNote.vue +2 -2
  33. package/components/elements/pagination/APagination.vue +8 -8
  34. package/components/elements/section-heading/ASectionHeading.vue +35 -0
  35. package/components/elements/segmented/ASegmentedV2.vue +24 -21
  36. package/components/elements/select/ASelect.vue +28 -27
  37. package/components/elements/select/ASelectMobile.vue +5 -5
  38. package/components/elements/select/ASelectV2.vue +20 -28
  39. package/components/elements/select/ui/select-button.vue +8 -8
  40. package/components/elements/select/ui/select-list.vue +2 -2
  41. package/components/elements/show-more/AShowMore.vue +2 -2
  42. package/components/elements/show-more/AShowMoreV2.vue +3 -3
  43. package/components/elements/skeleton/ASkeleton.vue +1 -1
  44. package/components/elements/slider/ASlider.vue +3 -2
  45. package/components/elements/slider/ASliderV2.vue +182 -0
  46. package/components/elements/star-rating/AStarRating.vue +2 -2
  47. package/components/elements/status-badge/AStatusBadge.vue +40 -36
  48. package/components/elements/step-slider/AStepSliderColCard.vue +77 -39
  49. package/components/elements/step-slider/AStepSliderColNumber.vue +74 -53
  50. package/components/elements/table/table.config.ts +8 -8
  51. package/components/elements/tree-select/components/ATreeSelectNode.vue +4 -4
  52. package/components/elements/tree-select-mobile/components/ATreeSelectNodesMobile.vue +3 -3
  53. package/components/elements/tree-select-modal/ATreeSelectModal.vue +4 -4
  54. package/components/features/color-mode/AColorMode.client.vue +2 -24
  55. package/components/features/dropdown/ADropdownV2.vue +1 -1
  56. package/components/features/lang-switcher/lang-switcher.vue +6 -6
  57. package/components/features/payment/banner/BasicPlusLimitBanner.vue +3 -23
  58. package/components/features/payment/banner/PaymentBanner.vue +3 -23
  59. package/components/features/payment/banner/UpSellBanner.vue +1 -21
  60. package/components/features/payment/process/PaymentKaspiQrSidePanel.vue +8 -7
  61. package/components/features/payment/process/PaymentKaspiRedirectSidePanel.vue +5 -5
  62. package/components/features/payment/process/PaymentMethodSidePanel.vue +12 -12
  63. package/components/features/payment/process/PaymentTopUpSidePanel.vue +6 -6
  64. package/components/features/pk-mobile-services/APkMobileServices.vue +14 -43
  65. package/components/features//321/201hange-version/AChangeVersion.vue +1 -1
  66. package/components/forms/checkbox/ACheckbox.vue +8 -8
  67. package/components/forms/checkbox/ACheckboxV2.vue +8 -8
  68. package/components/forms/feedback-form/FeedbackForm.vue +8 -8
  69. package/components/forms/feedback-form/FeedbackFormV2.vue +9 -8
  70. package/components/forms/input/AInputV2.vue +39 -25
  71. package/components/forms/input/button/AInputButton.vue +1 -1
  72. package/components/forms/input/date/AInputDate.vue +13 -9
  73. package/components/forms/input/password/AInputPassword.vue +1 -1
  74. package/components/forms/input/standard/AInputStandard.vue +23 -14
  75. package/components/forms/input/textarea/ATextarea.vue +15 -11
  76. package/components/forms/input/textarea/ATextareaV2.vue +18 -13
  77. package/components/forms/radio-button/ARadioButton.vue +4 -4
  78. package/components/forms/request-demo/ARequestDemo.vue +5 -5
  79. package/components/forms/toggle/AToggle.vue +8 -7
  80. package/components/forms/toggle/AToggleV2.vue +7 -6
  81. package/components/modals/AConfirmationEmail.vue +3 -3
  82. package/components/modals/AboutTariffModal.vue +10 -9
  83. package/components/modals/AnotherDeviceModal.vue +11 -10
  84. package/components/modals/ApplicationAcceptedModal.vue +3 -2
  85. package/components/modals/ConnectingTariffModal.vue +1 -1
  86. package/components/modals/ContactsMobileModel.vue +5 -5
  87. package/components/modals/ContentNavigationModal.vue +8 -7
  88. package/components/modals/Insufficient-funds-modal.vue +4 -4
  89. package/components/modals/LimitReachedModal.vue +18 -7
  90. package/components/modals/NoAccessModal.vue +7 -3
  91. package/components/modals/PaymentMethodModal.vue +4 -4
  92. package/components/modals/RedirectsBanksModal.vue +4 -4
  93. package/components/modals/ReplenishModal.vue +2 -2
  94. package/components/modals/ReportBugConfirmModal.vue +2 -2
  95. package/components/modals/ReportBugModal.vue +2 -2
  96. package/components/modals/Resend.vue +4 -4
  97. package/components/modals/SubmitApplicationModal.vue +1 -5
  98. package/components/modals/id/AuthModal.vue +27 -47
  99. package/components/modals/id/IdAutoLogoutModal.vue +23 -24
  100. package/components/modals/id/IdBanner.vue +4 -24
  101. package/components/modals/id/IdConfirmAccountOtpModal.vue +5 -4
  102. package/components/modals/id/IdConfirmSuccessfulModal.vue +3 -3
  103. package/components/modals/id/IdLoginModal.vue +8 -8
  104. package/components/modals/id/IdModals.vue +1 -3
  105. package/components/modals/id/IdNewPasswordModal.vue +3 -3
  106. package/components/modals/id/IdOtpInput.vue +3 -3
  107. package/components/modals/id/IdPasswordSuccessfulModal.vue +3 -3
  108. package/components/modals/id/IdRecoveryModal.vue +3 -3
  109. package/components/modals/id/IdRegistrationModal.vue +4 -4
  110. package/components/modals/id/IdResetPasswordOtpModal.vue +5 -4
  111. package/components/modals/id/IdTwoFactorModal.vue +3 -2
  112. package/components/navigation/bottom-navigation/ABottomNavigation.vue +7 -7
  113. package/components/navigation/breadcrumbs/ABreadcrumbs.vue +4 -4
  114. package/components/navigation/footer/AFooter.vue +2 -2
  115. package/components/navigation/footer/ui/a-footer-accordion.vue +1 -1
  116. package/components/navigation/header/AHeader.vue +11 -11
  117. package/components/navigation/header/AlmatyContacts.vue +7 -7
  118. package/components/navigation/header/AstanaContacts.vue +4 -4
  119. package/components/navigation/header/CardGallery.vue +8 -7
  120. package/components/navigation/header/ContactMenu.vue +1 -1
  121. package/components/navigation/header/HeaderLink.vue +5 -5
  122. package/components/navigation/header/HeaderUsage.vue +14 -14
  123. package/components/navigation/header/ListItem.vue +4 -3
  124. package/components/navigation/header/NavCard.vue +6 -5
  125. package/components/navigation/header/NavList.vue +9 -8
  126. package/components/navigation/header/NotificationsMenu.vue +10 -10
  127. package/components/navigation/header/ProductMenu.vue +10 -9
  128. package/components/navigation/header/ProfileMenu.vue +13 -12
  129. package/components/navigation/header/SystemNotification.vue +4 -4
  130. package/components/navigation/line-tabs/ALineTabs.vue +10 -9
  131. package/components/navigation/pill-tabs/APillTabs.vue +18 -16
  132. package/components/navigation/pill-tabs/APillTabsV2.vue +40 -25
  133. package/components/navigation/side-navigation/ASideNavigation.vue +3 -3
  134. package/components/overlays/drawer/ADrawerV2.vue +12 -11
  135. package/components/overlays/modal/AModal.vue +4 -4
  136. package/components/overlays/modal/AModalV2.vue +17 -13
  137. package/components/overlays/side-panel/ASidePanel.vue +7 -7
  138. package/components/overlays/sideover/ASlideover.vue +4 -4
  139. package/components/overlays/tooltip/ATooltip.vue +3 -2
  140. package/components/overlays/tooltip/ATooltipV2.vue +2 -2
  141. package/composables/highlight.ts +2 -1
  142. package/eslint.config.mjs +14 -1
  143. package/icons/arrow/arrow-left.vue +14 -0
  144. package/icons/arrow-currency-gray.vue +1 -1
  145. package/icons/arrow-currency-green.vue +1 -1
  146. package/icons/arrow-currency-red.vue +1 -1
  147. package/icons/avatar.vue +1 -1
  148. package/icons/bar-chart-3.vue +3 -0
  149. package/icons/book-open.vue +3 -0
  150. package/icons/bookmark/bookmark-filled.vue +1 -0
  151. package/icons/braces.vue +3 -0
  152. package/icons/check/check-outline.vue +3 -0
  153. package/icons/chevron/chevron-down-outline.vue +3 -0
  154. package/icons/clipboard-list.vue +3 -0
  155. package/icons/clock-outline.vue +3 -0
  156. package/icons/company-egov-small.vue +1 -1
  157. package/icons/database.vue +3 -0
  158. package/icons/download-outline.vue +3 -0
  159. package/icons/download.vue +1 -1
  160. package/icons/egov.vue +1 -1
  161. package/icons/elicense.vue +1 -1
  162. package/icons/file-json.vue +3 -0
  163. package/icons/file-search.vue +3 -0
  164. package/icons/file-text.vue +3 -0
  165. package/icons/flask-conical.vue +3 -0
  166. package/icons/folder-open.vue +3 -0
  167. package/icons/gift-outline.vue +3 -0
  168. package/icons/globe-2.vue +3 -0
  169. package/icons/graph-loading.vue +2 -2
  170. package/icons/hand/hand-thumb-up-filled.vue +1 -1
  171. package/icons/home.vue +14 -0
  172. package/icons/invoice.vue +1 -0
  173. package/icons/key-round.vue +3 -0
  174. package/icons/letter/letter-a.vue +4 -2
  175. package/icons/letter/letter-b.vue +2 -2
  176. package/icons/letter/letter-c.vue +2 -2
  177. package/icons/letter/letter-d.vue +2 -2
  178. package/icons/letter/letter-e.vue +2 -2
  179. package/icons/logo.vue +1 -1
  180. package/icons/main-filter.vue +1 -1
  181. package/icons/menu.vue +4 -4
  182. package/icons/message/message.vue +1 -1
  183. package/icons/messages-square.vue +3 -0
  184. package/icons/more.vue +1 -1
  185. package/icons/payment/payment-card.vue +2 -2
  186. package/icons/radio/radio-check.vue +1 -1
  187. package/icons/robot-outline.vue +3 -0
  188. package/icons/scales/scale-outline.vue +3 -0
  189. package/icons/search-outline.vue +3 -0
  190. package/icons/send.vue +3 -0
  191. package/icons/star/star-filled.vue +1 -0
  192. package/icons/star/star-half-filled.vue +1 -0
  193. package/icons/sun.vue +1 -0
  194. package/icons/terminal.vue +3 -0
  195. package/icons/toasts/warning-triangle-toast.vue +1 -0
  196. package/icons/triangle-alert.vue +3 -0
  197. package/icons/users-outline.vue +3 -0
  198. package/icons/webhook.vue +3 -0
  199. package/icons/x-outline.vue +3 -0
  200. package/icons/yandex.vue +2 -1
  201. package/illustrations/address-location.vue +2 -2
  202. package/illustrations/award-badge.vue +105 -0
  203. package/illustrations/ball-with-chain.vue +7 -7
  204. package/illustrations/bill.vue +5 -5
  205. package/illustrations/buildings.vue +4 -4
  206. package/illustrations/calendar.vue +11 -11
  207. package/illustrations/chains.vue +12 -12
  208. package/illustrations/coin-percent.vue +3 -3
  209. package/illustrations/coins-stack.vue +4 -4
  210. package/illustrations/delete-dark.vue +1 -0
  211. package/illustrations/delete.vue +1 -0
  212. package/illustrations/doc-with-stamp.vue +5 -5
  213. package/illustrations/document.vue +3 -3
  214. package/illustrations/door.vue +79 -68
  215. package/illustrations/empty-badge-check.vue +20 -0
  216. package/illustrations/empty-ban.vue +18 -0
  217. package/illustrations/empty-box.vue +5 -5
  218. package/illustrations/empty-filter.vue +20 -0
  219. package/illustrations/empty-inbox.vue +19 -0
  220. package/illustrations/empty-scale.vue +22 -0
  221. package/illustrations/empty-search-x.vue +21 -0
  222. package/illustrations/empty-shopping-cart.vue +21 -0
  223. package/illustrations/empty-users-round.vue +20 -0
  224. package/illustrations/empty-wallet.vue +121 -155
  225. package/illustrations/graph-in-coin.vue +2 -2
  226. package/illustrations/hammer.vue +5 -5
  227. package/illustrations/hand-cash.vue +1 -1
  228. package/illustrations/info.vue +49 -36
  229. package/illustrations/mail-active.vue +86 -0
  230. package/illustrations/mail.vue +4 -4
  231. package/illustrations/no-access.vue +92 -0
  232. package/illustrations/ok.vue +86 -58
  233. package/illustrations/people-group.vue +1 -1
  234. package/illustrations/person-with-phone.vue +5 -5
  235. package/illustrations/person.vue +3 -3
  236. package/illustrations/phone-check.vue +104 -84
  237. package/illustrations/phone-payment-method.vue +1 -1
  238. package/illustrations/shield-user.vue +94 -0
  239. package/illustrations/stop-hand.vue +78 -71
  240. package/illustrations/stop-sign.vue +1 -1
  241. package/illustrations/suit.vue +93 -107
  242. package/illustrations/suitcase.vue +6 -6
  243. package/illustrations/terminal.vue +94 -228
  244. package/illustrations/trash-can.vue +60 -102
  245. package/illustrations/turn-on-tariff.vue +2 -2
  246. package/illustrations/two-persons.vue +2 -2
  247. package/lang/en.ts +25 -29
  248. package/lang/kk.ts +24 -28
  249. package/lang/ru.ts +24 -29
  250. package/nuxt.config.ts +11 -4
  251. package/package.json +7 -12
  252. package/assets/styles/index.scss +0 -166
  253. package/assets/styles/modules/_base.scss +0 -5
  254. package/assets/styles/modules/_typography.scss +0 -152
  255. package/components/elements/error-template/types.ts +0 -23
  256. package/illustrations/terminal-dark.vue +0 -48
  257. package/tailwind.config.ts +0 -194
  258. package/tests/AButton.test.ts +0 -81
@@ -139,19 +139,19 @@ watch(tab, (e) => {
139
139
  <template>
140
140
  <a-modal v-model="isOpen" :title="t('modals.mobile_navigation.type_contacts')">
141
141
  <div class="flex flex-col gap-4">
142
- <div class="h-[1px] w-full bg-deepblue-900/5" />
142
+ <div class="h-px w-full bg-(--border-color-default)" />
143
143
  <div>
144
144
  <a-pill-tabs v-model="tab" :options="tabOptions" view="gray" />
145
145
  </div>
146
146
  <div class="flex h-[40vh] flex-col gap-2 overflow-auto sm:h-[300px]">
147
147
  <div v-for="items in currentInfo" :key="items.title" class="flex flex-col gap-2">
148
148
  <p class="font-semibold">{{ items.title }}</p>
149
- <div class="flex flex-wrap gap-4 text-sm">
149
+ <div class="flex flex-wrap gap-4 text-body-md">
150
150
  <template v-for="item in items.info">
151
151
  <a
152
152
  v-if="item.to"
153
153
  :href="item.to"
154
- class="flex items-center gap-1 text-blue-700 dark:text-blue-500"
154
+ class="flex items-center gap-1 text-brand"
155
155
  >
156
156
  <component :is="item.icon" class="h-[16px] w-[16px] min-w-[16px]" />
157
157
  {{ item.label }}
@@ -164,13 +164,13 @@ watch(tab, (e) => {
164
164
  </div>
165
165
  </div>
166
166
  </div>
167
- <div class="h-[1px] w-full bg-deepblue-900/5" />
167
+ <div class="h-px w-full bg-(--border-color-default)" />
168
168
  </div>
169
169
  <template #footer>
170
170
  <nuxt-link
171
171
  to="/"
172
172
  @click="emits('pushMain')"
173
- class="flex items-center gap-4 rounded-sm bg-gray-50 px-4 py-3 dark:bg-gray-800"
173
+ class="flex items-center gap-4 rounded-sm bg-muted px-4 py-3"
174
174
  >
175
175
  <a-icon-menu />
176
176
  {{ t('modals.mobile_navigation.return_button') }}
@@ -44,10 +44,10 @@ function onReturn() {
44
44
  <a-modal-v2
45
45
  v-model="open"
46
46
  hide-close
47
- content-class="bg-gray-50/60 dark:bg-gray-950/40"
47
+ content-class="bg-muted"
48
48
  >
49
49
  <template #header>
50
- <h2 class="w-full text-center text-base font-semibold text-gray-900 dark:text-gray-100">
50
+ <h2 class="w-full text-center text-body-lg-strong text-primary">
51
51
  {{ t('modals.mobile_navigation.type_main') }}
52
52
  </h2>
53
53
  </template>
@@ -66,27 +66,28 @@ function onReturn() {
66
66
  v-for="item in currentLinks"
67
67
  :key="item.to"
68
68
  :to="item.to"
69
- class="group flex items-center gap-3 rounded-xl border border-gray-100 bg-white px-3 py-2.5 transition-colors hover:border-blue-200 hover:bg-blue-50/50 dark:border-gray-800 dark:bg-gray-900 dark:hover:border-blue-500/30 dark:hover:bg-gray-800"
69
+ class="group flex items-center gap-3 rounded-xl border border-default bg-main px-3 py-2.5 transition-colors hover:border-brand-200 hover:bg-brand-50/50 dark:hover:border-brand-500/40 dark:hover:bg-brand-subtle"
70
70
  >
71
- <span class="flex size-10 shrink-0 items-center justify-center rounded-lg bg-blue-50 text-blue-500 transition-colors group-hover:bg-blue-700 group-hover:text-white dark:bg-blue-500/10 dark:text-blue-500 dark:group-hover:bg-blue-500 dark:group-hover:text-white">
71
+ <!-- осознанно константный group-hover:text-white: белая иконка на brand-hover-заливке -->
72
+ <span class="flex size-10 shrink-0 items-center justify-center rounded-lg bg-brand-subtle text-brand transition-colors group-hover:bg-action-primary-hover group-hover:text-white">
72
73
  <component
73
74
  :is="item.icon"
74
75
  class="size-5"
75
76
  />
76
77
  </span>
77
78
 
78
- <span class="min-w-0 flex-1 truncate text-sm font-semibold text-deepblue-900 dark:text-gray-100">
79
+ <span class="min-w-0 flex-1 truncate text-body-md-strong text-primary">
79
80
  {{ item.title }}
80
81
  </span>
81
82
 
82
- <a-icon-chevron-right class="size-4 shrink-0 text-gray-300 transition-colors group-hover:text-blue-500 dark:text-gray-600" />
83
+ <a-icon-chevron-right class="size-4 shrink-0 text-icon-disabled transition-colors group-hover:text-brand" />
83
84
  </nuxt-link>
84
85
  </div>
85
86
 
86
87
  <template #footer>
87
88
  <nuxt-link
88
89
  to="/"
89
- class="flex items-center justify-center gap-2 rounded-xl bg-gray-100 px-4 py-3 text-sm font-semibold text-deepblue-900 transition-colors hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-100 dark:hover:bg-gray-700"
90
+ class="flex items-center justify-center gap-2 rounded-xl bg-badge px-4 py-3 text-body-md-strong text-primary transition-colors hover:bg-badge"
90
91
  @click="onReturn"
91
92
  >
92
93
  <a-icon-menu class="size-5" />
@@ -24,17 +24,17 @@ function cancel() {
24
24
  >
25
25
  <div class="flex flex-col gap-4 px-6 py-4">
26
26
  <a-ill-empty-wallet class="self-center" />
27
- <p class="text-center text-[18px] font-semibold">
27
+ <p class="text-h4 text-center">
28
28
  {{ t('modals.low_balance.title') }}
29
29
  </p>
30
30
  <p class="text-center">
31
31
  {{ t('modals.low_balance.questions') }}
32
32
  </p>
33
- <div class="flex flex-col rounded-lg border border-blue-500 bg-blue-50 px-4 py-2 dark:border-blue-500 dark:bg-blue-950/40">
34
- <p class="body-600 text-center text-blue-700 dark:text-blue-300">
33
+ <div class="flex flex-col rounded-lg border border-brand bg-brand-subtle px-4 py-2">
34
+ <p class="text-body-md-strong text-center text-brand">
35
35
  {{ t('modals.low_balance.current_balance') }}
36
36
  </p>
37
- <p class="body-600 text-center text-xl text-blue-700 dark:text-blue-300">
37
+ <p class="text-h3 text-center text-brand">
38
38
  {{ userInfo?.balance ? userInfo?.balance.toLocaleString('ru-RU') : 0 }}₸
39
39
  </p>
40
40
  </div>
@@ -14,20 +14,31 @@ function goTariffs() {
14
14
  <a-modal-v2
15
15
  v-model="isOpen"
16
16
  width="424px"
17
- :title="t('modals.limit.title')"
17
+ hide-header-border
18
18
  >
19
- <div class="flex flex-col items-center justify-center gap-4 px-6 py-4">
19
+ <div class="flex flex-col items-center justify-center gap-4 px-6 pb-4">
20
20
  <a-ill-empty-wallet />
21
- <p class="body-400 text-center">
21
+ <p class="text-h4 whitespace-pre-wrap text-center">
22
+ {{ t('modals.limit.title') }}
23
+ </p>
24
+ <p class="text-body-md whitespace-pre-wrap text-center text-quaternary">
22
25
  {{ t('modals.limit.content') }}
23
26
  </p>
27
+ <a-alert>
28
+ {{ t('modals.limit.alert') }}
29
+ </a-alert>
24
30
  </div>
25
31
  <template #footer>
26
- <a-button-v2 block @click="goTariffs">
27
- {{ t('modals.buttons.goTariffs') }}
28
- </a-button-v2>
32
+ <div class="flex flex-col items-center gap-3">
33
+ <p class="text-body-md whitespace-pre-wrap text-center text-quaternary">
34
+ {{ t('modals.limit.firstTime') }}
35
+ </p>
36
+ <a-button-v2 block @click="goTariffs">
37
+ {{ t('modals.buttons.goTariffs') }}
38
+ </a-button-v2>
39
+ </div>
29
40
  </template>
30
41
  </a-modal-v2>
31
42
  </template>
32
43
 
33
- <style scoped></style>
44
+ <style scoped></style>
@@ -14,10 +14,14 @@ function onClose() {
14
14
  <a-modal-v2
15
15
  v-model="isOpen"
16
16
  width="424px"
17
+ hide-header-border
17
18
  >
18
- <div class="flex flex-col items-center justify-center gap-4 px-6 py-4">
19
- <a-ill-door />
20
- <p class="body-400 whitespace-pre-wrap text-center">
19
+ <div class="flex flex-col items-center justify-center gap-4 px-6 pb-4">
20
+ <a-ill-no-access />
21
+ <p class="text-h4 whitespace-pre-wrap text-center">
22
+ {{ t('modals.no_access.title') }}
23
+ </p>
24
+ <p class="text-body-md whitespace-pre-wrap text-center text-quaternary">
21
25
  {{ t('modals.no_access.info') }}
22
26
  </p>
23
27
  </div>
@@ -52,11 +52,11 @@ if (props.deleteFromDom) {
52
52
  :prevent-close="true"
53
53
  >
54
54
  <div class="flex flex-col gap-5">
55
- <p class="heading-02 text-center">
55
+ <p class="text-h2 text-center">
56
56
  {{ t('modals.payment_method.title') }}
57
57
  </p>
58
58
  <a-ill-phone-check class="w-full" />
59
- <p class="body-400 whitespace-pre-wrap text-center">
59
+ <p class="text-body-md whitespace-pre-wrap text-center">
60
60
  {{ t('modals.payment_method.questions') }}
61
61
  </p>
62
62
  <a-radio-button
@@ -66,13 +66,13 @@ if (props.deleteFromDom) {
66
66
  :name="`${item.name}`"
67
67
  side="right"
68
68
  :value="item.id"
69
- class="flex items-center justify-between gap-2 rounded-sm bg-gray-50 p-[10px_16px] dark:bg-[#393D40]"
69
+ class="flex items-center justify-between gap-2 rounded-sm bg-muted p-[10px_16px]"
70
70
  >
71
71
  <div class="flex w-full items-center gap-2">
72
72
  <component :is="item.img" />
73
73
  <div class="flex w-full items-center justify-between">
74
74
  {{ t(item.name) }}
75
- <p class="body-600">
75
+ <p class="text-body-md-strong">
76
76
  {{ Math.round(sum).toLocaleString('RU-ru') }} ₸
77
77
  </p>
78
78
  </div>
@@ -36,21 +36,21 @@ if (props.deleteFromDom) {
36
36
  :prevent-close="true"
37
37
  >
38
38
  <div class="flex flex-col gap-5">
39
- <p class="heading-02 whitespace-pre-wrap text-center">
39
+ <p class="text-h2 whitespace-pre-wrap text-center">
40
40
  {{ t('modals.payment_method.redirects_bank.title') }}
41
41
  </p>
42
42
  <a-button block @click="goKaspi">
43
43
  {{ t('modals.buttons.goToKaspi') }}
44
44
  </a-button>
45
45
  <div class="flex flex-col gap-2">
46
- <p class="body-400 text-center">
46
+ <p class="text-body-md text-center">
47
47
  {{ t('modals.payment_method.redirects_bank.paymentId') }}
48
48
  </p>
49
- <p class="text-center text-xl font-semibold">
49
+ <p class="text-h3 text-center">
50
50
  {{ requestId }}
51
51
  </p>
52
52
  </div>
53
- <p class="body-400 text-center">
53
+ <p class="text-body-md text-center">
54
54
  {{ t('modals.payment_method.redirects_bank.subtitle') }}
55
55
  </p>
56
56
  <a-button
@@ -75,7 +75,7 @@ watch(
75
75
  >
76
76
  <div class="flex flex-col items-center justify-center gap-5">
77
77
  <a-ill-bill class="max-h-[120px] max-w-[120px]" />
78
- <p class="body-400 font-semibold">
78
+ <p class="text-body-md-strong">
79
79
  {{ t('modals.replenish_modal.info') }}
80
80
  </p>
81
81
  <a-input-standard
@@ -99,7 +99,7 @@ watch(
99
99
  size="lg"
100
100
  :class="[
101
101
  money === item.value
102
- ? 'bg-blue-700 text-white hover:bg-blue-700 dark:border-blue-500 dark:bg-transparent dark:text-blue-500 dark:hover:bg-transparent'
102
+ ? 'bg-action-primary text-action-primary-fg hover:bg-action-primary-hover'
103
103
  : ''
104
104
  ]"
105
105
  @click.stop="onClick(item.value)"
@@ -11,10 +11,10 @@ const isOpen = defineModel<boolean>({ required: true })
11
11
  >
12
12
  <div class="flex flex-col items-center justify-center gap-4 px-6 py-4">
13
13
  <a-ill-ok />
14
- <p class="heading-02 text-center font-bold">
14
+ <p class="text-h2 text-center">
15
15
  {{ t('modals.report_bug.confirmed') }}
16
16
  </p>
17
- <p class="body-400 text-center">
17
+ <p class="text-body-md text-center">
18
18
  {{ t('modals.report_bug.gratitude') }}
19
19
  </p>
20
20
  </div>
@@ -93,7 +93,7 @@ async function send() {
93
93
  data-test-id="report-form-modal"
94
94
  >
95
95
  <template #header>
96
- <h2 class="text-base font-semibold text-gray-900 dark:text-gray-100" data-test-id="report-form-title">
96
+ <h2 class="text-body-lg-strong text-primary" data-test-id="report-form-title">
97
97
  {{ t('modals.report_bug.title') }}
98
98
  </h2>
99
99
  </template>
@@ -102,7 +102,7 @@ async function send() {
102
102
  <div class="flex flex-col items-center justify-center gap-4">
103
103
  <a-ill-stop-sign class="size-[140px]" />
104
104
  <slot name="title">
105
- <p class="label-400 text-center">
105
+ <p class="text-body-md text-center">
106
106
  {{ name }}
107
107
  </p>
108
108
  </slot>
@@ -43,19 +43,19 @@ function goToMain() {
43
43
 
44
44
  <template>
45
45
  <div class="flex flex-col items-center justify-center gap-5">
46
- <p class="heading-02">
46
+ <p class="text-h2">
47
47
  {{ $t('login.modal.title') }}
48
48
  </p>
49
49
  <a-ill-mail />
50
- <p class="body-400 text-center">
50
+ <p class="text-body-md text-center">
51
51
  {{ $t('login.modal.subtitle1') }}
52
52
  </p>
53
- <p class="body-400 text-center">
53
+ <p class="text-body-md text-center">
54
54
  {{ $t('login.modal.subtitle2') }}
55
55
  </p>
56
56
  <p
57
57
  v-if="!isResend"
58
- class="heading-02"
58
+ class="text-h2"
59
59
  >
60
60
  {{ timer }} {{ $t('login.modal.seconds') }}
61
61
  </p>
@@ -51,10 +51,6 @@ defineExpose({
51
51
  reset: () => (submitted.value = false),
52
52
  })
53
53
 
54
- watch(isOpen, (value) => {
55
- if (!value) submitted.value = false
56
- })
57
-
58
54
  onMounted(() => {
59
55
  form.email = props.userInfo?.email || ''
60
56
  })
@@ -67,7 +63,7 @@ onMounted(() => {
67
63
  persistent
68
64
  >
69
65
  <div class="flex flex-col gap-5 px-6 py-4">
70
- <p class="heading-02 text-center">
66
+ <p class="text-h2 text-center">
71
67
  {{ t('modals.submit_application_modal.title') }}
72
68
  </p>
73
69
  <a-ill-mail class="w-full" />
@@ -1,15 +1,16 @@
1
1
  <script setup lang="ts">
2
2
  import { useUrls } from '#adata-ui/composables/useUrls'
3
3
 
4
- const emit = defineEmits<{
5
- (e: 'close'): void
6
- }>()
7
4
  const { t } = useI18n()
8
5
  const isOpen = useAuthModal()
9
6
  const { myLayer } = useAppConfig()
10
7
  const { login } = useUrls()
11
8
 
12
- const { loginModal, registrationModal } = useIdModals()
9
+ const { loginModal } = useIdModals()
10
+
11
+ function close(){
12
+ isOpen.value = false
13
+ }
13
14
 
14
15
  function goAuth() {
15
16
  if (myLayer.authMode !== 'local') {
@@ -26,67 +27,46 @@ function goAuth() {
26
27
  loginModal.value = true
27
28
  }
28
29
  }
29
-
30
- function goRegister() {
31
- if (myLayer.authMode !== 'local') {
32
- if (window) {
33
- let fullPath = encodeURIComponent(window.location.toString())
34
- if (fullPath.includes('basic-info')) {
35
- fullPath = fullPath.replace('%2Fcounterparty%2Fmain', '').replace('%2Fbasic-info', '')
36
- }
37
- window.location.href = `${login}register?url=${fullPath}`
38
- }
39
- }
40
- else {
41
- isOpen.value = false
42
- registrationModal.value = true
43
- }
44
- }
45
- const close = () => {
46
- isOpen.value = false
47
- emit('close')
48
- }
49
30
  </script>
50
31
 
51
32
  <template>
52
- <a-modal
33
+ <a-modal-v2
53
34
  v-model="isOpen"
54
- :title="t('modals.auth.title')"
35
+ width="424px"
55
36
  data-test-id="no-access-popup"
37
+ hide-header-border
56
38
  >
57
- <div class="flex flex-col items-center gap-5 text-center text-sm">
58
- <a-ill-door />
59
- <div>{{ t('modals.auth.content') }}</div>
60
- <a-button
61
- block
62
- variant="success"
63
- data-test-id="no-access-popup-authorize-button"
64
- @click="goAuth"
65
- >
66
- {{ t('modals.buttons.logIn') }}
67
- </a-button>
68
- <div>{{ t('modals.auth.firstTime') }}</div>
39
+ <div class="flex flex-col items-center justify-center gap-4 px-6 pb-4">
40
+ <a-ill-shield-user />
41
+ <p class="text-h4 whitespace-pre-wrap text-center">
42
+ {{ t('modals.auth.title') }}
43
+ </p>
44
+ <p class="text-body-md whitespace-pre-wrap text-center text-quaternary">
45
+ {{ t('modals.auth.content') }}
46
+ </p>
69
47
  </div>
70
48
  <template #footer>
71
- <div class="flex gap-2">
72
- <a-button
49
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-3">
50
+ <a-button-v2
73
51
  view="outline"
52
+ color="white"
74
53
  block
75
54
  data-test-id="no-access-popup-close-button"
76
55
  @click="close"
77
56
  >
78
57
  {{ t('modals.buttons.close') }}
79
- </a-button>
80
- <a-button
58
+ </a-button-v2>
59
+ <a-button-v2
60
+ color="blue"
81
61
  block
82
- data-test-id="no-access-popup-register-button"
83
- @click="goRegister"
62
+ data-test-id="no-access-popup-authorize-button"
63
+ @click="goAuth"
84
64
  >
85
- {{ t('modals.buttons.register') }}
86
- </a-button>
65
+ {{ t('modals.buttons.logIn') }}
66
+ </a-button-v2>
87
67
  </div>
88
68
  </template>
89
- </a-modal>
69
+ </a-modal-v2>
90
70
  </template>
91
71
 
92
72
  <style scoped></style>
@@ -5,12 +5,7 @@ const emit = defineEmits<{
5
5
 
6
6
  const { t } = useI18n()
7
7
 
8
- const { loginModal, autoLogoutModal } = useIdModals()
9
-
10
- function onLogin() {
11
- autoLogoutModal.value = false
12
- loginModal.value = true
13
- }
8
+ const { autoLogoutModal } = useIdModals()
14
9
 
15
10
  function onClose() {
16
11
  emit('closed', true)
@@ -18,26 +13,30 @@ function onClose() {
18
13
  </script>
19
14
 
20
15
  <template>
21
- <div class="flex flex-col items-center gap-4 text-center">
22
- <h2 class="text-2xl font-bold">
23
- {{ t('modals.id.autoLogout.title') }}
24
- </h2>
25
- <a-ill-info class="size-[120px]" />
26
- <p class="text-sm">
27
- {{ t('modals.id.autoLogout.content') }}
28
- </p>
29
- <div class="flex w-full gap-2">
30
- <a-button block view="outline" @click="onClose">
31
- {{ t('actions.close') }}
32
- </a-button>
33
- <a-button
16
+ <a-modal-v2
17
+ v-model="autoLogoutModal"
18
+ width="424px"
19
+ hide-header-border
20
+ >
21
+ <div class="flex flex-col items-center justify-center gap-4 px-6 pb-4">
22
+ <a-ill-door />
23
+ <p class="text-h4 whitespace-pre-wrap text-center">
24
+ {{ t('modals.id.autoLogout.title') }}
25
+ </p>
26
+ <p class="text-body-md whitespace-pre-wrap text-center text-quaternary">
27
+ {{ t('modals.id.autoLogout.content') }}
28
+ </p>
29
+ </div>
30
+ <template #footer>
31
+ <a-button-v2
32
+ color="blue"
34
33
  block
35
- @click="onLogin"
34
+ @click="onClose"
36
35
  >
37
- {{ t('actions.login') }}
38
- </a-button>
39
- </div>
40
- </div>
36
+ {{ t('actions.close') }}
37
+ </a-button-v2>
38
+ </template>
39
+ </a-modal-v2>
41
40
  </template>
42
41
 
43
42
  <style scoped>
@@ -9,7 +9,7 @@ function onRegister() {
9
9
  </script>
10
10
 
11
11
  <template>
12
- <div class="gradient flex flex-col gap-2 lg:gap-0 lg:flex-row justify-between rounded-md p-4 ring-1 ring-inset ring-blue-700/80 dark:bg-gray-800">
12
+ <div class="bg-gradient-banner flex flex-col justify-between gap-2 rounded-md p-4 ring-1 ring-inset ring-(--border-color-brand)/80 lg:flex-row lg:gap-0">
13
13
  <div>
14
14
  <p class="mb-2 text-h5">
15
15
  {{ t('modals.id.banners.auth.title') }}
@@ -17,15 +17,15 @@ function onRegister() {
17
17
  <i18n-t
18
18
  keypath="modals.id.banners.auth.subtitle"
19
19
  tag="p"
20
- class="text-body-md text-gray-600 dark:text-gray-200"
20
+ class="text-body-md text-quaternary"
21
21
  >
22
22
  <template #register>
23
- <button class="font-semibold text-blue-700 dark:text-blue-500" @click="onRegister">
23
+ <button class="font-semibold text-brand" @click="onRegister">
24
24
  {{ t('modals.id.banners.auth.register') }}
25
25
  </button>
26
26
  </template>
27
27
  <template #checks>
28
- <span class="font-bold text-deepblue-900 dark:text-white">{{ t('modals.id.banners.auth.checks') }}</span>
28
+ <span class="font-bold text-primary">{{ t('modals.id.banners.auth.checks') }}</span>
29
29
  </template>
30
30
  </i18n-t>
31
31
  </div>
@@ -39,23 +39,3 @@ function onRegister() {
39
39
  </a-button>
40
40
  </div>
41
41
  </template>
42
-
43
- <style scoped>
44
- .gradient {
45
- background: linear-gradient(
46
- 239.71deg,
47
- #B3D5F9 -7.48%,
48
- #E6F1FD 39.62%,
49
- #CCE2FB 85.82%
50
- );
51
- }
52
-
53
- .dark .gradient {
54
- background: linear-gradient(
55
- 239.71deg,
56
- #17303F -7.48%,
57
- #161617 39.62%,
58
- #17303F 85.82%
59
- );
60
- }
61
- </style>
@@ -139,24 +139,25 @@ onBeforeUnmount(() => {
139
139
 
140
140
  <template>
141
141
  <div class="flex flex-col items-center gap-4 text-center">
142
- <h2 class="text-2xl font-bold">
142
+ <h2 class="text-h2">
143
143
  {{ t('modals.id.confirmAccount.title') }}
144
144
  </h2>
145
145
 
146
+ <!-- осознанно константный: пара light/dark-ассетов, тема переключается dark:-классами -->
146
147
  <a-icon-hand-with-phone-light class="size-32 dark:hidden" />
147
148
  <a-icon-hand-with-phone-dark class="hidden size-32 dark:block" />
148
149
 
149
- <div class="text-sm">
150
+ <div class="text-body-md">
150
151
  <p class="mb-1">
151
152
  {{ t('modals.id.resetPasswordOtp.content') }}
152
153
  </p>
153
154
 
154
- <div v-if="timer > 0" class="text-2xl font-bold">
155
+ <div v-if="timer > 0" class="text-h2">
155
156
  {{ timer }} {{ t('modals.id.resetPasswordOtp.seconds') }}
156
157
  </div>
157
158
  <button
158
159
  v-else
159
- class="text-blue-700 dark:text-blue-500"
160
+ class="text-brand"
160
161
  :disabled="isResendLoading"
161
162
  @click="onResend"
162
163
  >
@@ -21,13 +21,13 @@ function onClose() {
21
21
 
22
22
  <template>
23
23
  <div class="flex flex-col gap-4 text-center">
24
- <h2 class="text-2xl font-bold">
24
+ <h2 class="text-h2">
25
25
  {{ t('modals.id.confirmSuccessful.title') }}
26
26
  </h2>
27
- <span class="mx-auto size-[100px] rounded-full bg-[#BDC7CE26]">
27
+ <span class="mx-auto size-[100px] rounded-full bg-muted">
28
28
  <a-ill-ok />
29
29
  </span>
30
- <p class="text-sm">
30
+ <p class="text-body-md">
31
31
  {{ t('modals.id.confirmSuccessful.content') }}
32
32
  </p>
33
33
  <a-button view="outline" @click="onClose">