adata-ui 2.1.0 → 2.1.2

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 (307) hide show
  1. package/.editorconfig +12 -12
  2. package/.nuxtrc +1 -1
  3. package/.playground/app.config.ts +5 -5
  4. package/README.md +75 -75
  5. package/app.config.ts +4 -3
  6. package/app.vue +1 -0
  7. package/assets/styles/index.scss +104 -0
  8. package/assets/styles/modules/_base.scss +5 -0
  9. package/assets/styles/modules/_typography.scss +152 -0
  10. package/components/elements/README.md +1 -1
  11. package/components/elements/accordion/AAccordion.vue +13 -12
  12. package/components/elements/curve-block/ACurveBlock.vue +94 -19
  13. package/components/elements/feature-description/AFeatureDescription.vue +4 -4
  14. package/components/elements/illustrations/noAccess.vue +11 -2
  15. package/components/elements/photos-animation/APhotosAnimation.vue +3 -1
  16. package/components/elements/select/ASelect.vue +65 -9
  17. package/components/features/lang-switcher/lang-switcher.vue +8 -1
  18. package/components/features/payment/banner/BasicPlusLimitBanner.vue +104 -0
  19. package/components/features/payment/banner/PaymentBanner.vue +108 -0
  20. package/components/features/payment/process/PaymentKaspiQrSidePanel.vue +158 -0
  21. package/components/features/payment/process/PaymentKaspiRedirectSidePanel.vue +112 -0
  22. package/components/features/payment/process/PaymentMethodSidePanel.vue +121 -0
  23. package/components/features/payment/process/PaymentProcess.vue +138 -0
  24. package/components/features/payment/process/PaymentTopUpSidePanel.vue +130 -0
  25. package/components/features/pk-mobile-services/APkMobileServices.vue +21 -2
  26. package/components/forms/README.md +1 -1
  27. package/components/forms/checkbox/ACheckbox.vue +0 -2
  28. package/components/forms/radio-button/ARadioButton.vue +21 -13
  29. package/components/forms/request-demo/ARequestDemo.vue +21 -7
  30. package/components/modals/AConfirmationEmail.vue +40 -0
  31. package/components/modals/AnotherDeviceModal.vue +3 -2
  32. package/components/modals/ConnectingTariffModal.vue +0 -1
  33. package/components/modals/ContentNavigationModal.vue +148 -75
  34. package/components/modals/Insufficient-funds-modal.vue +5 -2
  35. package/components/modals/LimitReachedModal.vue +4 -3
  36. package/components/modals/ReportBugModal.vue +3 -3
  37. package/components/modals/Resend.vue +82 -0
  38. package/components/modals/SubmitApplicationModal.vue +4 -0
  39. package/components/modals/id/AuthModal.vue +78 -0
  40. package/components/modals/id/IdAutoLogoutModal.vue +45 -0
  41. package/components/modals/id/IdBanner.vue +58 -0
  42. package/components/modals/id/IdConfirmAccountOtpModal.vue +186 -0
  43. package/components/modals/id/IdConfirmSuccessfulModal.vue +41 -0
  44. package/components/modals/id/IdLoginModal.vue +316 -0
  45. package/components/modals/id/IdModals.vue +114 -0
  46. package/components/modals/id/IdNewPasswordModal.vue +129 -0
  47. package/components/modals/id/IdOtpInput.vue +155 -0
  48. package/components/modals/id/IdPasswordSuccessfulModal.vue +25 -0
  49. package/components/modals/id/IdRecoveryModal.vue +117 -0
  50. package/components/modals/id/IdRegistrationModal.vue +215 -0
  51. package/components/modals/id/IdResetPasswordOtpModal.vue +158 -0
  52. package/components/modals/id/IdTwoFactorModal.vue +130 -0
  53. package/components/navigation/README.md +1 -1
  54. package/components/navigation/bottom-navigation/ABottomNavigation.vue +34 -29
  55. package/components/navigation/footer/AFooter.vue +210 -57
  56. package/components/navigation/footer/ui/{new-footer-accordion.vue → a-footer-accordion.vue} +2 -4
  57. package/components/navigation/header/AHeader.vue +59 -51
  58. package/components/navigation/header/AlmatyContacts.vue +16 -14
  59. package/components/navigation/header/AstanaContacts.vue +13 -11
  60. package/components/navigation/header/CardGallery.vue +5 -4
  61. package/components/navigation/header/HeaderLink.vue +16 -8
  62. package/components/navigation/header/NavList.vue +21 -5
  63. package/components/navigation/header/ProductMenu.vue +8 -78
  64. package/components/navigation/header/ProfileMenu.vue +10 -5
  65. package/components/navigation/header/TopHeader.vue +2 -2
  66. package/components/navigation/mobile-navigation/AMobileNavigation.vue +3 -3
  67. package/components/navigation/pill-tabs/APillTabs.vue +18 -4
  68. package/components/navigation/pill-tabs/types.ts +1 -0
  69. package/components/navigation/side-navigation/ASideNavigation.vue +23 -21
  70. package/components/overlays/README.md +1 -1
  71. package/components/overlays/side-panel/ASidePanel.vue +439 -0
  72. package/components/overlays/tooltip/ATooltip.vue +149 -154
  73. package/components/utils/removeTrailingSlash.ts +7 -0
  74. package/composables/useBuyTariffs.ts +91 -0
  75. package/composables/useHeaderNavigationLinks.ts +174 -297
  76. package/composables/useIdModals.ts +36 -0
  77. package/composables/usePayment.ts +74 -0
  78. package/composables/useUrls.ts +21 -0
  79. package/eslint.config.mjs +45 -0
  80. package/icons/adata-logo.vue +1 -1
  81. package/icons/ai-assistant.vue +13 -0
  82. package/icons/akimat.vue +20 -0
  83. package/icons/arrow/arrow-bottom-left-on-square.vue +1 -1
  84. package/icons/arrow/arrow-circle-reset.vue +1 -1
  85. package/icons/arrow/arrow-corner.vue +1 -1
  86. package/icons/arrow/arrow-graph-down.vue +1 -1
  87. package/icons/arrow/arrow-graph-up.vue +1 -1
  88. package/icons/arrow/arrow-square-down.vue +1 -1
  89. package/icons/arrow/arrow-top-right-on-square.vue +1 -1
  90. package/icons/arrow-currency-gray.vue +1 -1
  91. package/icons/arrow-currency-green.vue +1 -1
  92. package/icons/arrow-currency-red.vue +1 -1
  93. package/icons/avatar.vue +1 -1
  94. package/icons/bank.vue +5 -0
  95. package/icons/block.vue +1 -1
  96. package/icons/bookmark/bookmark-filled.vue +1 -1
  97. package/icons/bookmark/bookmark.vue +1 -1
  98. package/icons/browsers/browser-duck.vue +1 -1
  99. package/icons/browsers/browser-google.vue +7 -1
  100. package/icons/browsers/browser-yandex.vue +1 -1
  101. package/icons/building-vector.vue +1 -1
  102. package/icons/calculator.vue +1 -1
  103. package/icons/calendar.vue +1 -1
  104. package/icons/car.vue +1 -1
  105. package/icons/chart-bar.vue +5 -0
  106. package/icons/chart-pie.vue +16 -0
  107. package/icons/check/check-circle.vue +1 -1
  108. package/icons/check/check.vue +1 -1
  109. package/icons/check/checkmark-circle.vue +1 -1
  110. package/icons/check-sb.vue +7 -0
  111. package/icons/checkbox/checkbox-active.vue +1 -1
  112. package/icons/checkbox/checkbox-empty.vue +1 -1
  113. package/icons/checkbox/checkbox-intermediate.vue +1 -1
  114. package/icons/chevron/chevron-down.vue +1 -1
  115. package/icons/chevron/chevron-left.vue +1 -1
  116. package/icons/chevron/chevron-right.vue +1 -1
  117. package/icons/chevron/chevron-up.vue +1 -1
  118. package/icons/chevron/double-chevron-right.vue +1 -1
  119. package/icons/clipboard-text.vue +1 -1
  120. package/icons/clock.vue +1 -1
  121. package/icons/company/company-bazis.vue +3 -3
  122. package/icons/company/company-bereke.vue +13 -13
  123. package/icons/company/company-bigroup.vue +5 -5
  124. package/icons/company/company-erg.vue +6 -6
  125. package/icons/company/company-forte.vue +11 -11
  126. package/icons/company/company-halyk.vue +4 -4
  127. package/icons/company/company-jusan.vue +20 -3
  128. package/icons/company/company-kaspi.vue +3 -3
  129. package/icons/company/company-mycar.vue +2 -2
  130. package/icons/company/company-samruk.vue +9 -9
  131. package/icons/company-egov-small.vue +1 -1
  132. package/icons/company.vue +1 -1
  133. package/icons/copy.vue +1 -1
  134. package/icons/currency/currency-dollar.vue +1 -1
  135. package/icons/currency/currency-down.vue +1 -1
  136. package/icons/currency/currency-eur.vue +1 -1
  137. package/icons/currency/currency-rub.vue +1 -1
  138. package/icons/currency/currency-tenge.vue +9 -0
  139. package/icons/currency/currency-usd.vue +1 -1
  140. package/icons/currency/currency-yuan.vue +1 -1
  141. package/icons/delete.vue +1 -1
  142. package/icons/document.vue +1 -1
  143. package/icons/download.vue +1 -1
  144. package/icons/edit.vue +1 -1
  145. package/icons/education.vue +1 -1
  146. package/icons/egov-small.vue +1 -1
  147. package/icons/excel-icon.vue +14 -0
  148. package/icons/expand-window.vue +1 -1
  149. package/icons/eye-closed.vue +1 -1
  150. package/icons/eye-open.vue +1 -1
  151. package/icons/eye-opened.vue +1 -1
  152. package/icons/file/file.vue +1 -1
  153. package/icons/filter.vue +1 -1
  154. package/icons/flag.vue +1 -1
  155. package/icons/gift.vue +1 -1
  156. package/icons/globe.vue +1 -1
  157. package/icons/google.vue +41 -0
  158. package/icons/hand/hand-thumb-up-filled.vue +1 -1
  159. package/icons/hand/hand-thumb-up.vue +1 -1
  160. package/icons/hand-with-phone/hand-with-phone-dark.vue +1 -1
  161. package/icons/hand-with-phone/hand-with-phone-light.vue +1 -1
  162. package/icons/handshake.vue +1 -1
  163. package/icons/hcheck.vue +1 -1
  164. package/icons/hdocument.vue +1 -1
  165. package/icons/history.vue +1 -1
  166. package/icons/horizontal-more.vue +1 -1
  167. package/icons/hot-line.vue +6 -0
  168. package/icons/hummer.vue +1 -1
  169. package/icons/info/info-circle.vue +1 -1
  170. package/icons/invoice.vue +1 -1
  171. package/icons/kaspi-qr.vue +13 -0
  172. package/icons/link-chain.vue +1 -1
  173. package/icons/link.vue +1 -1
  174. package/icons/linkedin.vue +24 -24
  175. package/icons/loader-circle.vue +1 -1
  176. package/icons/location.vue +1 -1
  177. package/icons/lock.vue +1 -1
  178. package/icons/logo.vue +1 -1
  179. package/icons/logout.vue +1 -1
  180. package/icons/magnify/magnifying-glass-minus.vue +1 -1
  181. package/icons/magnify/magnifying-glass-plus.vue +1 -1
  182. package/icons/magnify/magnifying-glass.vue +1 -1
  183. package/icons/mail.vue +1 -1
  184. package/icons/mailru.vue +34 -0
  185. package/icons/main-filter.vue +1 -1
  186. package/icons/map/map-pin-filled.vue +1 -1
  187. package/icons/map/map-pin-rect.vue +1 -1
  188. package/icons/map/map-pin.vue +1 -1
  189. package/icons/map-marker-start.vue +1 -1
  190. package/icons/medal.vue +1 -1
  191. package/icons/menu-filled.vue +1 -1
  192. package/icons/menu.vue +1 -1
  193. package/icons/message/message.vue +1 -1
  194. package/icons/minus/minus-circle.vue +1 -1
  195. package/icons/money.vue +1 -1
  196. package/icons/monitoring.vue +1 -1
  197. package/icons/moon.vue +1 -1
  198. package/icons/more.vue +1 -1
  199. package/icons/notification.vue +1 -1
  200. package/icons/paperclip.vue +1 -1
  201. package/icons/payment/payment-card.vue +1 -1
  202. package/icons/payment/payment-kaspi.vue +1 -1
  203. package/icons/person-vector.vue +1 -1
  204. package/icons/person-with-briefcase.vue +1 -1
  205. package/icons/phone-filled.vue +1 -1
  206. package/icons/phone.vue +1 -1
  207. package/icons/plus/plus-circle.vue +1 -1
  208. package/icons/plus/plus.vue +1 -1
  209. package/icons/profile.vue +1 -1
  210. package/icons/radio/radio-check.vue +1 -1
  211. package/icons/radio/radio-empty.vue +1 -1
  212. package/icons/receipt.vue +1 -1
  213. package/icons/sanctions.vue +8 -0
  214. package/icons/scales/scale.vue +1 -1
  215. package/icons/scales/scales.vue +1 -1
  216. package/icons/scales/standing-scales.vue +1 -1
  217. package/icons/search.vue +1 -1
  218. package/icons/share/share-alt.vue +1 -1
  219. package/icons/share/share.vue +1 -1
  220. package/icons/socials/face-book.vue +1 -1
  221. package/icons/socials/instagram.vue +1 -1
  222. package/icons/socials/telegram.vue +1 -1
  223. package/icons/socials/tik-tok.vue +1 -1
  224. package/icons/socials/youtube.vue +1 -1
  225. package/icons/sort/sort-asc.vue +1 -1
  226. package/icons/sort/sort-desc.vue +1 -1
  227. package/icons/splitting-arrows.vue +1 -1
  228. package/icons/star/star-filled.vue +1 -1
  229. package/icons/star/star-half-filled.vue +1 -1
  230. package/icons/star/star.vue +1 -1
  231. package/icons/sun.vue +14 -14
  232. package/icons/sviazi.vue +1 -1
  233. package/icons/tag.vue +1 -1
  234. package/icons/tasks.vue +10 -0
  235. package/icons/tender-search.vue +1 -1
  236. package/icons/toasts/check-circle-toast.vue +1 -1
  237. package/icons/toasts/warning-triangle-toast.vue +1 -1
  238. package/icons/trash.vue +1 -1
  239. package/icons/triangle.vue +1 -1
  240. package/icons/truck.vue +1 -1
  241. package/icons/user.vue +1 -1
  242. package/icons/users-focus.vue +1 -1
  243. package/icons/users.vue +1 -1
  244. package/icons/warning/warning-circle.vue +1 -1
  245. package/icons/warning/warning-triangle-filled.vue +1 -1
  246. package/icons/warning/warning-triangle.vue +1 -1
  247. package/icons/whatsapp.vue +1 -1
  248. package/icons/work-bag.vue +1 -1
  249. package/icons/work-case.vue +9 -0
  250. package/icons/work-search.vue +1 -1
  251. package/icons/work.vue +1 -1
  252. package/icons/x-mark.vue +1 -1
  253. package/icons/yandex.vue +28 -0
  254. package/illustrations/address-location.vue +1 -1
  255. package/illustrations/ball-with-chain.vue +1 -1
  256. package/illustrations/bill.vue +1 -1
  257. package/illustrations/buildings.vue +1 -1
  258. package/illustrations/calendar.vue +1 -1
  259. package/illustrations/chains.vue +1 -1
  260. package/illustrations/coin-percent.vue +1 -1
  261. package/illustrations/coins-stack.vue +1 -1
  262. package/illustrations/delete-dark.vue +1 -1
  263. package/illustrations/delete.vue +1 -1
  264. package/illustrations/doc-with-stamp.vue +1 -1
  265. package/illustrations/document.vue +1 -1
  266. package/illustrations/door.vue +1 -1
  267. package/illustrations/empty-box.vue +1 -1
  268. package/illustrations/empty-wallet.vue +1 -1
  269. package/illustrations/graph-in-coin.vue +1 -1
  270. package/illustrations/hammer.vue +1 -1
  271. package/illustrations/hand-cash.vue +1 -1
  272. package/illustrations/info.vue +1 -1
  273. package/illustrations/mail.vue +1 -1
  274. package/illustrations/ok.vue +1 -1
  275. package/illustrations/people-group.vue +1 -1
  276. package/illustrations/person-with-phone.vue +1 -1
  277. package/illustrations/person.vue +1 -1
  278. package/illustrations/phone-check.vue +1 -1
  279. package/illustrations/phone-payment-method.vue +1 -1
  280. package/illustrations/stop-hand.vue +1 -1
  281. package/illustrations/stop-sign.vue +1 -1
  282. package/illustrations/suit.vue +1 -1
  283. package/illustrations/suitcase.vue +1 -1
  284. package/illustrations/terminal-dark.vue +1 -1
  285. package/illustrations/terminal.vue +1 -1
  286. package/illustrations/trash-can.vue +1 -1
  287. package/illustrations/turn-on-tariff.vue +1 -1
  288. package/illustrations/two-persons.vue +1 -1
  289. package/lang/en.ts +475 -270
  290. package/lang/kk.ts +476 -271
  291. package/lang/ru.ts +315 -107
  292. package/layouts/default.vue +13 -13
  293. package/nuxt.config.ts +42 -14
  294. package/package.json +69 -53
  295. package/public/kaspi/logo.svg +4 -0
  296. package/shared/constans/pages.ts +17 -2
  297. package/tailwind.config.ts +163 -0
  298. package/vitest.config.ts +14 -0
  299. package/.eslintrc.cjs +0 -4
  300. package/.playground/app.vue +0 -9
  301. package/.playground/pages/index.vue +0 -13
  302. package/.prettierignore +0 -24
  303. package/.prettierrc +0 -10
  304. package/assets/styles/index.css +0 -226
  305. package/components/modals/AuthModal.vue +0 -50
  306. package/components/navigation/footer/NewFooter.vue +0 -276
  307. package/components/navigation/footer/ui/footer-acccordion.vue +0 -119
@@ -1,226 +0,0 @@
1
- @import "tailwindcss" source("../../..");
2
-
3
- @theme static {
4
- --color-blue-50: #eff7ff;
5
- --color-blue-100: #e0efff;
6
- --color-blue-200: #bddfff;
7
- --color-blue-300: #90d7ff;
8
- --color-blue-400: #43afed;
9
- --color-blue-500: #1b98e2;
10
- --color-blue-600: #068dff;
11
- --color-blue-700: #0070eb;
12
- --color-blue-800: #085dc5;
13
- --color-blue-900: #0d509b;
14
- --color-blue-950: #0e315d;
15
-
16
- --color-deepblue-50: #f5f7fa;
17
- --color-deepblue-100: #eaeff4;
18
- --color-deepblue-200: #cfdce8;
19
- --color-deepblue-300: #a6bfd3;
20
- --color-deepblue-400: #759cbb;
21
- --color-deepblue-500: #5480a3;
22
- --color-deepblue-600: #416788;
23
- --color-deepblue-700: #35526f;
24
- --color-deepblue-800: #2f475d;
25
- --color-deepblue-900: #2c3e50;
26
- --color-deepblue-950: #1d2834;
27
-
28
- --color-gray-50: #f4f5f6;
29
- --color-gray-100: #ebecee;
30
- --color-gray-200: #e3e5e8;
31
- --color-gray-300: #c9cccf;
32
- --color-gray-400: #b7bcc2;
33
- --color-gray-500: #9da3ac;
34
- --color-gray-600: #71757a;
35
- --color-gray-700: #5a5d60;
36
- --color-gray-800: #393d40;
37
- --color-gray-900: #26282b;
38
- --color-gray-950: #161617;
39
-
40
- --color-yellow-50: #fefbe8;
41
- --color-yellow-100: #fef7c3;
42
- --color-yellow-200: #feed8a;
43
- --color-yellow-300: #fedb46;
44
- --color-yellow-400: #fbc920;
45
- --color-yellow-500: #ebad07;
46
- --color-yellow-600: #cb8503;
47
- --color-yellow-700: #a25e06;
48
- --color-yellow-800: #854a0e;
49
- --color-yellow-900: #713c12;
50
- --color-yellow-950: #421e06;
51
-
52
- --color-orange-50: #fffbea;
53
- --color-orange-100: #fff4c5;
54
- --color-orange-200: #ffe987;
55
- --color-orange-300: #ffd748;
56
- --color-orange-400: #ffc31e;
57
- --color-orange-500: #ff9900;
58
- --color-orange-600: #e37b00;
59
- --color-orange-700: #b95304;
60
- --color-orange-800: #96400a;
61
- --color-orange-900: #7b350c;
62
- --color-orange-950: #471901;
63
-
64
- --color-red-50: #fef3f2;
65
- --color-red-100: #fde5e3;
66
- --color-red-200: #fccfcc;
67
- --color-red-300: #f9ada8;
68
- --color-red-400: #f47e75;
69
- --color-red-500: #e74135;
70
- --color-red-600: #d6372c;
71
- --color-red-700: #b42b21;
72
- --color-red-800: #95271f;
73
- --color-red-900: #7c2620;
74
- --color-red-950: #43100c;
75
-
76
- --color-green-50: #f3faf3;
77
- --color-green-100: #e3f5e3;
78
- --color-green-200: #c8eac9;
79
- --color-green-300: #9dd89f;
80
- --color-green-400: #6bbd6e;
81
- --color-green-500: #4caf50;
82
- --color-green-600: #358438;
83
- --color-green-700: #2d6830;
84
- --color-green-800: #275429;
85
- --color-green-900: #224525;
86
- --color-green-950: #0e2510;
87
-
88
- --color-black: #000;
89
- --color-white: #fff;
90
- --text-color-inverted: var(--color-gray-950);
91
- }
92
-
93
- html {
94
- scrollbar-gutter: stable;
95
- }
96
-
97
- .dark {
98
- color-scheme: dark;
99
- }
100
-
101
- body {
102
- padding: 0 !important;
103
- color: #2C3E50;
104
- background-color: #F4F5F6;
105
- }
106
-
107
- .dark body {
108
- color: #E3E5E8;
109
- background-color: #161617;
110
- }
111
-
112
- html::-webkit-scrollbar {
113
- width: 15px;
114
- }
115
-
116
- html::-webkit-scrollbar-thumb {
117
- background: #c4c4c4;
118
- }
119
-
120
- .no-scrollbar::-webkit-scrollbar {
121
- display: none;
122
- }
123
-
124
- /* Hide scrollbar for IE, Edge and Firefox */
125
- .no-scrollbar {
126
- -ms-overflow-style: none; /* IE and Edge */
127
- scrollbar-width: none; /* Firefox */
128
- }
129
-
130
- @media (min-width: 320px) and (max-width: 767px) {
131
- .a-container {
132
- padding: 0
133
- }
134
- .mobile-padding {
135
- padding: 16px;
136
- }
137
- }
138
- @media (prefers-color-scheme: dark) {
139
- .bg-gradient-blue {
140
- background: linear-gradient(236.46deg, #4FBDFF -2.39%, #1B98E2 79.1%);
141
- }
142
- }
143
- @media (prefers-color-scheme: light) {
144
- .bg-gradient-blue {
145
- background: linear-gradient(236.46deg, #479FFF -2.39%, #0070EB 79.1%);
146
- }
147
- }
148
-
149
- input::-webkit-outer-spin-button,
150
- input::-webkit-inner-spin-button {
151
- -webkit-appearance: none;
152
- margin: 0;
153
- }
154
- .toast__body{
155
- padding:0 16px 0 0 !important;
156
- margin:0 !important;
157
- align-items: stretch !important;
158
- }
159
- input[type="search"]::-webkit-search-cancel-button {
160
- -webkit-appearance: none;
161
- appearance: none;
162
- }
163
- input[type="search"]::-ms-clear {
164
- display: none;
165
- width: 0;
166
- height: 0;
167
- }
168
- /* Firefox */
169
- input[type=number] {
170
- -moz-appearance: textfield;
171
- }
172
-
173
- .visually-hidden {
174
- position: absolute;
175
- width: 1px;
176
- height: 1px;
177
- margin: -1px;
178
- border: 0;
179
- padding: 0;
180
- white-space: nowrap;
181
- clip-path: inset(100%);
182
- clip: rect(0 0 0 0);
183
- overflow: hidden;
184
- }
185
-
186
- /*//'gr-blue': 'linear-gradient(236.46deg, #479FFF -2.39%, #0070EB 79.1%)',*/
187
- /*//'gr-yellow': 'linear-gradient(236.46deg, #FFE364 -2.39%, #FBC920 79.1%);\n'*/
188
-
189
-
190
- .a-container { @apply container mx-auto px-4 2xl:px-16; }
191
-
192
- .heading-01 {@apply font-bold text-[2rem] leading-10; }
193
- .heading-02 {@apply font-bold text-2xl leading-8; }
194
- .heading-03 {@apply font-semibold text-xl leading-6; }
195
- .heading-04 {@apply font-semibold text-base leading-5; }
196
- .heading-05 {@apply font-semibold text-sm leading-5; }
197
- /*// Body.body-400 { @apply font-normal text-sm leading-5;}*/
198
- .body-500 {@apply font-medium text-sm leading-5; }
199
- .body-600 {@apply font-semibold text-sm leading-5 }
200
- .body-s-400 {@apply font-normal text-sm leading-4; }
201
- .body-s-500 {@apply font-medium text-sm leading-4; }
202
- /*// Caption.caption-400 { @apply font-normal text-[0.625rem] leading-4;}*/
203
- .caption-500 {@apply font-medium text-[0.625rem] leading-4; }
204
- .caption-700 {@apply font-bold text-[0.625rem] leading-4; }
205
- /*// Form.label-400 { @apply font-normal text-sm leading-5;}*/
206
- .label-600 {@apply font-semibold text-sm leading-5; }
207
- .label-s-400 {@apply font-normal text-xs leading-4; }
208
- .label-s-700 {@apply font-bold text-xs leading-4; }
209
- .optional-i-700 {@apply font-bold italic text-sm leading-5; }
210
- .placeholder-300 {@apply font-light text-sm leading-5; }
211
- .description-400 {@apply font-normal text-xs leading-5; }
212
- /*// Link.link-400 { @apply text-blue-500 font-normal text-sm leading-5;}*/
213
- .link-stroke-400 {@apply text-blue-500 font-normal text-sm leading-5; }
214
- .link-s-400 {@apply text-blue-500 font-normal text-sm leading-4; }
215
- .link-s-stroke-400 {@apply text-blue-500 font-normal text-sm leading-4; }
216
- .link-small-800 {@apply text-blue-500 font-bold text-sm leading-4; }
217
- /*// Special Styles.display-80-700 { @apply font-bold text-[5rem] leading-[6.5rem];}*/
218
- .display-80-400 {@apply font-normal text-[5rem] leading-[6.5rem]; }
219
- .display-60-700 {@apply font-bold text-[3.75rem] leading-[4.750rem]; }
220
- .display-60-400 {@apply font-normal text-[3.75rem] leading-[4.750rem]; }
221
- .display-48-700 {@apply font-bold text-[3rem] leading-[4rem]; }
222
- .display-48-400 {@apply font-normal text-[3rem] leading-[4rem]; }
223
- .numbers-60-700 {@apply font-bold text-[3.75rem] leading-[3.5rem]; }
224
- .numbers-60-400 {@apply font-normal text-[3.75rem] leading-[3.5rem]; }
225
- .numbers-40-700 {@apply font-bold text-[2.5rem] leading-[3.375rem]; }
226
- .numbers-40-400 {@apply font-normal text-[2.5rem] leading-[3.375rem]; }
@@ -1,50 +0,0 @@
1
- <script setup lang="ts">
2
-
3
- const {t} = useI18n()
4
- const isOpen = useAuthModal()
5
- const appConfig = useAppConfig()
6
- const loginUrl = appConfig.myLayer.loginUrl
7
-
8
- const emit = defineEmits<{
9
- (e: 'close'): void
10
- }>()
11
-
12
- const goAuth = () => {
13
- if (window) {
14
- let fullPath = encodeURIComponent(window.location.toString())
15
- if (fullPath.includes('basic-info')) {
16
- fullPath = fullPath.replace('%2Fcounterparty%2Fmain', '').replace('%2Fbasic-info', '')
17
- }
18
- window.location.href = `${loginUrl}?url=${fullPath}`
19
- }
20
- }
21
-
22
- const goRegister = () => {
23
- if (window) {
24
- let fullPath = encodeURIComponent(window.location.toString())
25
- if (fullPath.includes('basic-info')) {
26
- fullPath = fullPath.replace('%2Fcounterparty%2Fmain', '').replace('%2Fbasic-info', '')
27
- }
28
- window.location.href = `${loginUrl}register?url=${fullPath}`
29
- }
30
- }
31
- </script>
32
-
33
- <template>
34
- <a-modal v-model="isOpen" :title="t('modals.auth.title')" >
35
- <div class="flex flex-col items-center gap-5 text-center text-sm">
36
- <a-ill-door ></a-ill-door>
37
- <div>{{ t('modals.auth.content') }}</div>
38
- <a-button @click="goAuth" block variant="success">{{ t('modals.buttons.logIn') }}</a-button>
39
- <div>{{ t('modals.auth.firstTime') }}</div>
40
- </div>
41
- <template #footer>
42
- <div class="flex gap-2">
43
- <a-button @click="$emit('close')" view="outline" block>{{ t('modals.buttons.close') }}</a-button>
44
- <a-button @click="goRegister" block>{{ t('modals.buttons.register') }}</a-button>
45
- </div>
46
- </template>
47
- </a-modal>
48
- </template>
49
-
50
- <style scoped></style>
@@ -1,276 +0,0 @@
1
- <script setup lang="ts">
2
- import AdataLogo from '#adata-ui/icons/adata-logo.vue'
3
- import LinkedinIcon from '#adata-ui/icons/linkedin.vue'
4
- import YouTubeIcon from '#adata-ui/icons/socials/youtube.vue'
5
- import InstagramIcon from '#adata-ui/icons/socials/instagram.vue'
6
- import TelegramIcon from '#adata-ui/icons/socials/telegram.vue'
7
- import FaceBookIcon from '#adata-ui/icons/socials/face-book.vue'
8
- import TikTokIcon from '#adata-ui/icons/socials/tik-tok.vue'
9
- import NewFooterAccordion from '#adata-ui/components/navigation/footer/ui/new-footer-accordion.vue'
10
- import { buildLocalizedUrl } from '#adata-ui/utils/localizedNavigation'
11
- import { PAGES } from '#adata-ui/shared/constans/pages'
12
- import { AIconExpandWindow, AIconLocation, AIconMail, AIconPhone } from '#components'
13
-
14
- const year = new Date().getFullYear()
15
- const { t, locale } = useI18n()
16
- const { myLayer } = useAppConfig()
17
-
18
- const socialMedia = [
19
- {
20
- icon: LinkedinIcon,
21
- link: 'https://www.linkedin.com/company/adata-kz/?viewAsMember=true',
22
- name: 'Linkedin'
23
- },
24
- {
25
- icon: YouTubeIcon,
26
- link: 'https://www.youtube.com/channel/UCPkbtgwgTZbMJXjmTi3R8Uw/featured',
27
- name: 'YouTube'
28
- },
29
- {
30
- icon: InstagramIcon,
31
- link: 'https://www.instagram.com/adata.kz/?igshid=253i4qxg3els',
32
- name: 'Instagram'
33
- },
34
- {
35
- icon: TelegramIcon,
36
- link: 'https://t.me/adatakz_official',
37
- name: 'Telegram'
38
- },
39
- {
40
- icon: FaceBookIcon,
41
- link: 'https://www.facebook.com/adata.kz',
42
- name: 'Facebook'
43
- },
44
- {
45
- icon: TikTokIcon,
46
- link: 'https://www.tiktok.com/@adata.kz?lang=ru-RU',
47
- name: 'Tiktok'
48
- }
49
- ]
50
-
51
- const mainLinks = {
52
- services: {
53
- title: 'footer.services',
54
- items: [
55
- [
56
- {
57
- title: 'footer.counterparties.title',
58
- link: buildLocalizedUrl(locale.value, myLayer.pkUrl, ''),
59
- },
60
- {
61
- title: 'footer.fines.title',
62
- link: buildLocalizedUrl(locale.value, myLayer.avtoUrl, PAGES.fines.main),
63
- },
64
- {
65
- title: 'footer.work.title',
66
- link: myLayer.workUrl + PAGES.work.vacancy,
67
- },
68
- {
69
- title: 'footer.analytics.title',
70
- link: buildLocalizedUrl(locale.value, 'https://analytics-new.adata.kz', PAGES.analytics.main),
71
- },
72
- {
73
- title: 'footer.tenders.title',
74
- link: myLayer.tenderUrl + PAGES.tender.main,
75
- }
76
- ],
77
- [
78
- {
79
- title: 'footer.compliance.title',
80
- link: myLayer?.complianceUrl + PAGES.compliance.l,
81
- isNew: true
82
- },
83
- {
84
- title: 'header.products.edo.label',
85
- link: (myLayer?.edoUrl ?? 'https://edo.adata.kz') + PAGES.edo.l,
86
- isNew: true
87
- },
88
- {
89
- title: 'footer.fea.title',
90
- link: buildLocalizedUrl(locale.value, myLayer.tnvedUrl, PAGES.fea.main),
91
- isNew: true
92
- },
93
- ]
94
- ]
95
- },
96
- useful: {
97
- title: 'footer.useful',
98
- link: buildLocalizedUrl(locale.value, myLayer.landingUrl, PAGES.usefulMain),
99
- items: [
100
- [
101
- {
102
- title: 'footer.info.api',
103
- link: buildLocalizedUrl(locale.value, myLayer.landingUrl, PAGES.apiDescription),
104
- },
105
- {
106
- title: 'footer.info.userAgreement',
107
- link: buildLocalizedUrl(locale.value, myLayer.landingUrl, PAGES.userAgreement),
108
- },
109
- {
110
- title: 'footer.info.privacyPolicy',
111
- link: buildLocalizedUrl(locale.value, myLayer.landingUrl, PAGES.privacy),
112
- },
113
- {
114
- title: 'footer.info.vacancy',
115
- link: buildLocalizedUrl(locale.value, myLayer.landingUrl, PAGES.vacancy),
116
- },
117
- {
118
- title: 'footer.info.counterparty',
119
- link: buildLocalizedUrl(locale.value, myLayer.pkUrl, PAGES.pk.counterparty),
120
- },
121
- ]
122
- ]
123
- }
124
- }
125
-
126
- const contactLinks = {
127
- title: 'footer.contacts.title',
128
- link: buildLocalizedUrl(locale.value, myLayer.landingUrl, PAGES.contacts),
129
- items: [
130
- {
131
- title: 'footer.contacts.address',
132
- link: 'https://go.2gis.com/30j2f',
133
- startIcon: AIconLocation,
134
- endIcon: null,
135
- },
136
- {
137
- title: '+7 (747) 120 34 67',
138
- link: 'tel:+77471203467',
139
- startIcon: AIconPhone,
140
- endIcon: null,
141
- },
142
- {
143
- title: 'info@adata.kz',
144
- link: 'mailto:info@adata.kz',
145
- startIcon: AIconMail,
146
- endIcon: null,
147
- },
148
- {
149
- title: 'footer.contacts.goToChat',
150
- link: 'https://api.whatsapp.com/send?phone=77712289041',
151
- startIcon: null,
152
- endIcon: AIconExpandWindow,
153
- class: 'font-bold',
154
- },
155
- ],
156
- }
157
-
158
- </script>
159
-
160
- <template>
161
- <footer
162
- id="footer"
163
- class="bg-deepblue-900 dark:bg-gray-900 py-4 lg:py-5 rounded-t-3xl"
164
- >
165
- <div class="a-container mobile-padding py-5 text-white flex flex-col lg:flex-row justify-between gap-8">
166
- <div class="flex flex-col gap-8 justify-between">
167
- <div class="flex flex-col gap-4">
168
- <adata-logo
169
- filled
170
- :font-controlled="false"
171
- class="shrink-0"
172
- />
173
-
174
- <p class="text-sm">
175
- {{ t('footer.subtitle') }}
176
- </p>
177
-
178
- <div class="hidden lg:flex gap-8">
179
- <nuxt-link
180
- v-for="(social, idx) in socialMedia"
181
- :key="idx"
182
- target="_blank"
183
- :to="social.link"
184
- :aria-label="social.name"
185
- >
186
- <span class="visually-hidden"> {{ social.name }}</span>
187
- <component
188
- :is="social.icon"
189
- filled
190
- :font-controlled="false"
191
- class="social-icon size-7"
192
- />
193
- </nuxt-link>
194
- </div>
195
- </div>
196
-
197
- <p class="hidden lg:block text-[10px]">
198
- {{ year }} © {{ t('footer.LLP') }} "Alldata"
199
- </p>
200
- </div>
201
-
202
- <div class="flex gap-6 lg:gap-[75px] flex-col lg:flex-row">
203
- <div class="flex gap-[18px] lg:gap-[75px] flex-col lg:flex-row">
204
- <div
205
- v-for="(item, idx) in mainLinks"
206
- :key="idx"
207
- >
208
- <new-footer-accordion
209
- :label="t(item.title)"
210
- :link="item?.link?.replace(/\/$/, '')"
211
- :content="item.items"
212
- />
213
- </div>
214
- </div>
215
-
216
- <div class="flex flex-col gap-2 items-start">
217
- <nuxt-link
218
- class="text-sm font-semibold pb-3 pr-4 border-b-[0.5px] border-white cursor-pointer"
219
- :to="contactLinks.link?.replace(/\/$/, '')"
220
- >
221
- {{ t(contactLinks.title) }}
222
- </nuxt-link>
223
-
224
- <div class="flex flex-col gap-3 lg:gap-2">
225
- <div
226
- v-for="(link, idx) in contactLinks.items"
227
- :key="idx"
228
- class="flex gap-2 items-center"
229
- >
230
- <nuxt-link
231
- class="text-xs font-medium flex gap-2 items-center cursor-pointer"
232
- :class="link.class"
233
- :to="link.link?.replace(/\/$/, '')"
234
- >
235
- <component
236
- :is="link.startIcon"
237
- v-if="link.startIcon"
238
- class="size-4 shrink-0"
239
- />
240
-
241
- <p>{{ t(link.title) }}</p>
242
-
243
- <component
244
- :is="link.endIcon"
245
- v-if="link.endIcon"
246
- class="size-4 shrink-0"
247
- />
248
- </nuxt-link>
249
- </div>
250
- </div>
251
- </div>
252
- </div>
253
-
254
- <div class="lg:hidden flex gap-8 flex-wrap">
255
- <nuxt-link
256
- v-for="(social, idx) in socialMedia"
257
- :key="idx"
258
- target="_blank"
259
- :to="social.link"
260
- :aria-label="social.name"
261
- >
262
- <component
263
- :is="social.icon"
264
- filled
265
- :font-controlled="false"
266
- class="social-icon size-7"
267
- />
268
- </nuxt-link>
269
- </div>
270
-
271
- <p class="lg:hidden text-[10px]">
272
- {{ year }} © {{ t('footer.LLP') }} "Alldata"
273
- </p>
274
- </div>
275
- </footer>
276
- </template>
@@ -1,119 +0,0 @@
1
- <script setup lang="ts">
2
- import {useAdaptive} from "#adata-ui/composables/useAdaptive";
3
-
4
- interface Item {
5
- title: string
6
- link: string
7
- }
8
-
9
- interface Props {
10
- label: string
11
- link: string
12
- content: Item[]
13
- }
14
-
15
- defineProps<Props>()
16
-
17
- const { t } = useI18n()
18
-
19
- const device = useAdaptive()
20
- const open = ref(false)
21
- function toFinalValues(el: HTMLDivElement) {
22
- el.style.height = el.scrollHeight + 'px'
23
- el.style.opacity = '1'
24
- }
25
-
26
- function onAfterEnter(el: HTMLDivElement) {
27
- el.style.height = ''
28
- }
29
-
30
- const filterCheck = computed(()=>{
31
- if (open.value){
32
- return open.value
33
- } else {
34
- return open.value = !device.value.isMobile
35
- }
36
- })
37
- </script>
38
-
39
- <template>
40
- <div class="flex flex-col ">
41
- <div
42
- class="flex gap-2 justify-between "
43
- >
44
- <nuxt-link-locale class="text-sm" :to="link">
45
- {{ label }}
46
- </nuxt-link-locale>
47
-
48
-
49
- <div
50
- class="transition-all lg:hidden cursor-pointer"
51
- :class="{'rotate-180': open}"
52
- @click="open =!open"
53
- >
54
- <a-icon-chevron-down
55
- v-if="content.length"
56
- filled
57
- :font-controlled="false"
58
- class="w-6 h-6 "
59
- />
60
- </div>
61
- </div>
62
- <transition
63
- name="accordion"
64
- @enter="toFinalValues"
65
- @after-enter="onAfterEnter"
66
- @before-leave="toFinalValues"
67
- >
68
- <div
69
- v-if="filterCheck"
70
- class="mt-2 flex flex-col gap-2"
71
- >
72
- <nuxt-link-locale
73
- v-for="(item,idx) in content"
74
- :key="idx"
75
- class="text-xs"
76
- :to="item.link.replace(/\/$/, '')"
77
- >
78
- {{ t(item.title) }}
79
- </nuxt-link-locale>
80
- </div>
81
- </transition>
82
- </div>
83
- </template>
84
-
85
- <style scoped>
86
- .accordion-enter-active,
87
- .accordion-leave-active {
88
- overflow: hidden;
89
- transition: height 0.3s ease,
90
- opacity 0.3s ease,
91
- margin 0.3s ease;
92
-
93
- }
94
-
95
- .accordion-enter-from,
96
- .accordion-leave-to {
97
- height: 0 !important;
98
- opacity: 0 !important;
99
- margin: 0 !important;
100
- }
101
-
102
- </style>
103
-
104
- <!-- <div-->
105
- <!-- class="text-sm font-semibold-->
106
- <!-- cursor-pointer"-->
107
- <!-- >-->
108
- <!-- {{ link.title }}-->
109
- <!-- </div>-->
110
- <!-- <div class="flex flex-col gap-2">-->
111
- <!-- <nuxt-link-->
112
- <!-- v-for="(item,idx) in link.items"-->
113
- <!-- :key="idx"-->
114
- <!-- class="text-xs"-->
115
- <!-- :to="item.link"-->
116
- <!-- >-->
117
- <!-- {{ item.title }}-->
118
- <!-- </nuxt-link>-->
119
- <!-- </div>-->