adata-ui 3.0.2 → 3.1.0

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 (316) hide show
  1. package/dist/module.d.mts +2 -0
  2. package/dist/module.json +5 -1
  3. package/dist/module.mjs +39 -6
  4. package/dist/runtime/components/Alert.vue +62 -0
  5. package/dist/runtime/components/Alert.vue.d.ts +29 -0
  6. package/dist/runtime/components/Chip.vue +24 -0
  7. package/dist/runtime/components/Chip.vue.d.ts +19 -0
  8. package/dist/runtime/components/ColorMode.vue +46 -0
  9. package/dist/runtime/components/ColorMode.vue.d.ts +2 -0
  10. package/dist/runtime/components/DigitBadge.vue +58 -0
  11. package/dist/runtime/components/DigitBadge.vue.d.ts +21 -0
  12. package/dist/runtime/components/Footer.vue +283 -0
  13. package/dist/runtime/components/Footer.vue.d.ts +2 -0
  14. package/dist/runtime/components/FooterAccordion.vue +78 -0
  15. package/dist/runtime/components/FooterAccordion.vue.d.ts +11 -0
  16. package/dist/runtime/components/Header.vue +139 -0
  17. package/dist/runtime/components/Header.vue.d.ts +41 -0
  18. package/dist/runtime/components/NewFooter.vue +267 -0
  19. package/dist/runtime/components/NewFooter.vue.d.ts +2 -0
  20. package/dist/runtime/components/NewFooterAccordion.vue +85 -0
  21. package/dist/runtime/components/NewFooterAccordion.vue.d.ts +11 -0
  22. package/dist/runtime/components/OtherServiceFeatures.vue +104 -0
  23. package/dist/runtime/components/OtherServiceFeatures.vue.d.ts +2 -0
  24. package/dist/runtime/components/Tag.vue +46 -0
  25. package/dist/runtime/components/Tag.vue.d.ts +25 -0
  26. package/dist/runtime/components/Toggle.vue +139 -0
  27. package/dist/runtime/components/Toggle.vue.d.ts +39 -0
  28. package/dist/runtime/components/accordion/Accordion.vue +149 -0
  29. package/dist/runtime/components/accordion/Accordion.vue.d.ts +41 -0
  30. package/dist/runtime/components/accordion/types.d.ts +15 -0
  31. package/dist/runtime/components/accordion/types.js +0 -0
  32. package/dist/runtime/components/accordion/ui.config.d.ts +22 -0
  33. package/dist/runtime/components/accordion/ui.config.js +21 -0
  34. package/dist/runtime/components/button/Button.vue +133 -0
  35. package/dist/runtime/components/button/Button.vue.d.ts +37 -0
  36. package/dist/runtime/components/button/types.d.ts +21 -0
  37. package/dist/runtime/components/button/types.js +0 -0
  38. package/dist/runtime/components/checkbox/Checkbox.vue +124 -0
  39. package/dist/runtime/components/checkbox/Checkbox.vue.d.ts +45 -0
  40. package/dist/runtime/components/date-picker/DatePicker.vue +102 -0
  41. package/dist/runtime/components/date-picker/DatePicker.vue.d.ts +16 -0
  42. package/dist/runtime/components/floating-label/FloatingLabel.vue +22 -0
  43. package/dist/runtime/components/floating-label/FloatingLabel.vue.d.ts +16 -0
  44. package/dist/runtime/components/forms/input/standard/InputStandard.vue +301 -0
  45. package/dist/runtime/components/forms/input/standard/InputStandard.vue.d.ts +0 -0
  46. package/dist/runtime/components/forms/input/textarea/ATextarea.vue +158 -0
  47. package/dist/runtime/components/forms/input/textarea/ATextarea.vue.d.ts +43 -0
  48. package/dist/runtime/components/forms/need-more-data/NeedMoreData.vue +114 -0
  49. package/dist/runtime/components/forms/need-more-data/NeedMoreData.vue.d.ts +5 -0
  50. package/dist/runtime/components/forms/request-demo/RequestDemo.vue +67 -0
  51. package/dist/runtime/components/forms/request-demo/RequestDemo.vue.d.ts +23 -0
  52. package/dist/runtime/components/header/AlmatyContacts.vue +120 -0
  53. package/dist/runtime/components/header/AlmatyContacts.vue.d.ts +2 -0
  54. package/dist/runtime/components/header/AstanaContacts.vue +65 -0
  55. package/dist/runtime/components/header/AstanaContacts.vue.d.ts +2 -0
  56. package/dist/runtime/components/header/CardGallery.vue +156 -0
  57. package/dist/runtime/components/header/CardGallery.vue.d.ts +2 -0
  58. package/dist/runtime/components/header/ContactMenu.vue +105 -0
  59. package/dist/runtime/components/header/ContactMenu.vue.d.ts +11 -0
  60. package/dist/runtime/components/header/HeaderLink.vue +169 -0
  61. package/dist/runtime/components/header/HeaderLink.vue.d.ts +2 -0
  62. package/dist/runtime/components/header/LangSwitcher.vue +48 -0
  63. package/dist/runtime/components/header/LangSwitcher.vue.d.ts +2 -0
  64. package/dist/runtime/components/header/ListItem.vue +26 -0
  65. package/dist/runtime/components/header/ListItem.vue.d.ts +7 -0
  66. package/dist/runtime/components/header/NavCard.vue +40 -0
  67. package/dist/runtime/components/header/NavCard.vue.d.ts +8 -0
  68. package/dist/runtime/components/header/NavList.vue +101 -0
  69. package/dist/runtime/components/header/NavList.vue.d.ts +17 -0
  70. package/dist/runtime/components/header/ProductMenu.vue +369 -0
  71. package/dist/runtime/components/header/ProductMenu.vue.d.ts +11 -0
  72. package/dist/runtime/components/header/ProfileMenu.vue +56 -0
  73. package/dist/runtime/components/header/ProfileMenu.vue.d.ts +16 -0
  74. package/dist/runtime/components/header/ProfileMenuContent.vue +228 -0
  75. package/dist/runtime/components/header/ProfileMenuContent.vue.d.ts +16 -0
  76. package/dist/runtime/components/header/TopHeader.vue +152 -0
  77. package/dist/runtime/components/header/TopHeader.vue.d.ts +10 -0
  78. package/dist/runtime/components/header/types.d.ts +19 -0
  79. package/dist/runtime/components/header/types.js +0 -0
  80. package/dist/runtime/components/header-mobile/HeaderMobile.vue +53 -0
  81. package/dist/runtime/components/header-mobile/HeaderMobile.vue.d.ts +17 -0
  82. package/dist/runtime/components/mobile-navigation/BottomNavigation.vue +68 -0
  83. package/dist/runtime/components/mobile-navigation/BottomNavigation.vue.d.ts +29 -0
  84. package/dist/runtime/components/mobile-navigation/MainButton.vue +16 -0
  85. package/dist/runtime/components/mobile-navigation/MainButton.vue.d.ts +2 -0
  86. package/dist/runtime/components/mobile-navigation/MobileProductMenu.vue +261 -0
  87. package/dist/runtime/components/mobile-navigation/MobileProductMenu.vue.d.ts +2 -0
  88. package/dist/runtime/components/modals/NoAccessContent.vue +58 -0
  89. package/dist/runtime/components/modals/NoAccessContent.vue.d.ts +5 -0
  90. package/dist/runtime/components/pill-tabs/PillTabs.vue +137 -0
  91. package/dist/runtime/components/pill-tabs/PillTabs.vue.d.ts +38 -0
  92. package/dist/runtime/components/pill-tabs/types.d.ts +18 -0
  93. package/dist/runtime/components/pill-tabs/types.js +0 -0
  94. package/dist/runtime/components/radio-button/RadioButton.vue +69 -0
  95. package/dist/runtime/components/radio-button/RadioButton.vue.d.ts +40 -0
  96. package/dist/runtime/components/row-card/RowCard.vue +44 -0
  97. package/dist/runtime/components/row-card/RowCard.vue.d.ts +26 -0
  98. package/dist/runtime/components/select-row/index.vue +117 -0
  99. package/dist/runtime/components/select-row/index.vue.d.ts +31 -0
  100. package/dist/runtime/components/tree-select/TreeSelect.vue +132 -0
  101. package/dist/runtime/components/tree-select/TreeSelect.vue.d.ts +22 -0
  102. package/dist/runtime/components/tree-select/TreeService.d.ts +54 -0
  103. package/dist/runtime/components/tree-select/TreeService.js +209 -0
  104. package/dist/runtime/components/tree-select/components/tree-select-nodes.vue +100 -0
  105. package/dist/runtime/components/tree-select/components/tree-select-nodes.vue.d.ts +9 -0
  106. package/dist/runtime/components/tree-select/types.d.ts +29 -0
  107. package/dist/runtime/components/tree-select/types.js +0 -0
  108. package/dist/runtime/composables/highlight.d.ts +1 -0
  109. package/dist/runtime/composables/highlight.js +15 -0
  110. package/dist/runtime/composables/projectState.d.ts +2 -0
  111. package/dist/runtime/composables/projectState.js +3 -0
  112. package/dist/runtime/i18n/i18n.config.d.ts +1731 -0
  113. package/dist/runtime/i18n/i18n.config.js +20 -0
  114. package/dist/runtime/i18n.d.ts +2 -0
  115. package/dist/runtime/i18n.js +15 -0
  116. package/dist/runtime/icons/arrow/arrow-circle-down.vue +30 -0
  117. package/dist/runtime/icons/arrow/arrow-circle-down.vue.d.ts +2 -0
  118. package/dist/runtime/icons/arrow/arrow-graph-up.vue +24 -0
  119. package/dist/runtime/icons/arrow/arrow-graph-up.vue.d.ts +2 -0
  120. package/dist/runtime/icons/arrow/arrow-right.vue +24 -0
  121. package/dist/runtime/icons/arrow/arrow-right.vue.d.ts +2 -0
  122. package/dist/runtime/icons/arrow/arrow-side-up.vue +19 -0
  123. package/dist/runtime/icons/arrow/arrow-side-up.vue.d.ts +2 -0
  124. package/dist/runtime/icons/arrow/arrow-top-right-on-square.vue +19 -0
  125. package/dist/runtime/icons/arrow/arrow-top-right-on-square.vue.d.ts +2 -0
  126. package/dist/runtime/icons/arrow/chevron-down.vue +19 -0
  127. package/dist/runtime/icons/arrow/chevron-down.vue.d.ts +2 -0
  128. package/dist/runtime/icons/avatar.vue +41 -0
  129. package/dist/runtime/icons/avatar.vue.d.ts +2 -0
  130. package/dist/runtime/icons/avto/car.vue +17 -0
  131. package/dist/runtime/icons/avto/car.vue.d.ts +2 -0
  132. package/dist/runtime/icons/avto/truck.vue +17 -0
  133. package/dist/runtime/icons/avto/truck.vue.d.ts +2 -0
  134. package/dist/runtime/icons/block.vue +19 -0
  135. package/dist/runtime/icons/block.vue.d.ts +2 -0
  136. package/dist/runtime/icons/bookmark.vue +19 -0
  137. package/dist/runtime/icons/bookmark.vue.d.ts +2 -0
  138. package/dist/runtime/icons/calculator.vue +19 -0
  139. package/dist/runtime/icons/calculator.vue.d.ts +2 -0
  140. package/dist/runtime/icons/calendar.vue +24 -0
  141. package/dist/runtime/icons/calendar.vue.d.ts +2 -0
  142. package/dist/runtime/icons/check-circle.vue +25 -0
  143. package/dist/runtime/icons/check-circle.vue.d.ts +2 -0
  144. package/dist/runtime/icons/checkbox/checkbox-active.vue +19 -0
  145. package/dist/runtime/icons/checkbox/checkbox-active.vue.d.ts +2 -0
  146. package/dist/runtime/icons/checkbox/checkbox-empty.vue +20 -0
  147. package/dist/runtime/icons/checkbox/checkbox-empty.vue.d.ts +2 -0
  148. package/dist/runtime/icons/checkbox/checkbox-intermediate.vue +19 -0
  149. package/dist/runtime/icons/checkbox/checkbox-intermediate.vue.d.ts +2 -0
  150. package/dist/runtime/icons/clipboard-text.vue +17 -0
  151. package/dist/runtime/icons/clipboard-text.vue.d.ts +2 -0
  152. package/dist/runtime/icons/clock.vue +25 -0
  153. package/dist/runtime/icons/clock.vue.d.ts +2 -0
  154. package/dist/runtime/icons/color-mode/moon.vue +20 -0
  155. package/dist/runtime/icons/color-mode/moon.vue.d.ts +2 -0
  156. package/dist/runtime/icons/color-mode/sun.vue +27 -0
  157. package/dist/runtime/icons/color-mode/sun.vue.d.ts +2 -0
  158. package/dist/runtime/icons/communication/mail.vue +19 -0
  159. package/dist/runtime/icons/communication/mail.vue.d.ts +2 -0
  160. package/dist/runtime/icons/communication/phone.vue +19 -0
  161. package/dist/runtime/icons/communication/phone.vue.d.ts +2 -0
  162. package/dist/runtime/icons/company.vue +19 -0
  163. package/dist/runtime/icons/company.vue.d.ts +2 -0
  164. package/dist/runtime/icons/currency/dollar.vue +19 -0
  165. package/dist/runtime/icons/currency/dollar.vue.d.ts +2 -0
  166. package/dist/runtime/icons/currency/down.vue +22 -0
  167. package/dist/runtime/icons/currency/down.vue.d.ts +2 -0
  168. package/dist/runtime/icons/currency/eur.vue +69 -0
  169. package/dist/runtime/icons/currency/eur.vue.d.ts +2 -0
  170. package/dist/runtime/icons/currency/rub.vue +25 -0
  171. package/dist/runtime/icons/currency/rub.vue.d.ts +2 -0
  172. package/dist/runtime/icons/currency/usd.vue +269 -0
  173. package/dist/runtime/icons/currency/usd.vue.d.ts +2 -0
  174. package/dist/runtime/icons/currency/yuan.vue +37 -0
  175. package/dist/runtime/icons/currency/yuan.vue.d.ts +2 -0
  176. package/dist/runtime/icons/document/hdocument.vue +17 -0
  177. package/dist/runtime/icons/document/hdocument.vue.d.ts +2 -0
  178. package/dist/runtime/icons/document/id.vue +19 -0
  179. package/dist/runtime/icons/document/id.vue.d.ts +2 -0
  180. package/dist/runtime/icons/document/profile.vue +19 -0
  181. package/dist/runtime/icons/document/profile.vue.d.ts +2 -0
  182. package/dist/runtime/icons/download.vue +26 -0
  183. package/dist/runtime/icons/download.vue.d.ts +2 -0
  184. package/dist/runtime/icons/edit.vue +24 -0
  185. package/dist/runtime/icons/edit.vue.d.ts +2 -0
  186. package/dist/runtime/icons/file/excel.vue +88 -0
  187. package/dist/runtime/icons/file/excel.vue.d.ts +2 -0
  188. package/dist/runtime/icons/file/file.vue +19 -0
  189. package/dist/runtime/icons/file/file.vue.d.ts +2 -0
  190. package/dist/runtime/icons/file/files.vue +17 -0
  191. package/dist/runtime/icons/file/files.vue.d.ts +2 -0
  192. package/dist/runtime/icons/globe.vue +19 -0
  193. package/dist/runtime/icons/globe.vue.d.ts +2 -0
  194. package/dist/runtime/icons/handshake.vue +19 -0
  195. package/dist/runtime/icons/handshake.vue.d.ts +2 -0
  196. package/dist/runtime/icons/history.vue +19 -0
  197. package/dist/runtime/icons/history.vue.d.ts +2 -0
  198. package/dist/runtime/icons/info/info-circle.vue +29 -0
  199. package/dist/runtime/icons/info/info-circle.vue.d.ts +2 -0
  200. package/dist/runtime/icons/invoice.vue +35 -0
  201. package/dist/runtime/icons/invoice.vue.d.ts +2 -0
  202. package/dist/runtime/icons/link-chain.vue +31 -0
  203. package/dist/runtime/icons/link-chain.vue.d.ts +2 -0
  204. package/dist/runtime/icons/loader-circle.vue +41 -0
  205. package/dist/runtime/icons/loader-circle.vue.d.ts +2 -0
  206. package/dist/runtime/icons/lock.vue +19 -0
  207. package/dist/runtime/icons/lock.vue.d.ts +2 -0
  208. package/dist/runtime/icons/logo/adata.vue +48 -0
  209. package/dist/runtime/icons/logo/adata.vue.d.ts +2 -0
  210. package/dist/runtime/icons/logo/logo.vue +27 -0
  211. package/dist/runtime/icons/logo/logo.vue.d.ts +2 -0
  212. package/dist/runtime/icons/medal.vue +17 -0
  213. package/dist/runtime/icons/medal.vue.d.ts +2 -0
  214. package/dist/runtime/icons/menu/menu-filled.vue +61 -0
  215. package/dist/runtime/icons/menu/menu-filled.vue.d.ts +2 -0
  216. package/dist/runtime/icons/menu/menu.vue +41 -0
  217. package/dist/runtime/icons/menu/menu.vue.d.ts +2 -0
  218. package/dist/runtime/icons/message.vue +24 -0
  219. package/dist/runtime/icons/message.vue.d.ts +2 -0
  220. package/dist/runtime/icons/modals/door.vue +170 -0
  221. package/dist/runtime/icons/modals/door.vue.d.ts +2 -0
  222. package/dist/runtime/icons/moon.vue +10 -0
  223. package/dist/runtime/icons/moon.vue.d.ts +2 -0
  224. package/dist/runtime/icons/more.vue +36 -0
  225. package/dist/runtime/icons/more.vue.d.ts +2 -0
  226. package/dist/runtime/icons/navigation/expand-window.vue +19 -0
  227. package/dist/runtime/icons/navigation/expand-window.vue.d.ts +2 -0
  228. package/dist/runtime/icons/navigation/location.vue +25 -0
  229. package/dist/runtime/icons/navigation/location.vue.d.ts +2 -0
  230. package/dist/runtime/icons/navigation/logout.vue +19 -0
  231. package/dist/runtime/icons/navigation/logout.vue.d.ts +2 -0
  232. package/dist/runtime/icons/notifications.vue +25 -0
  233. package/dist/runtime/icons/notifications.vue.d.ts +2 -0
  234. package/dist/runtime/icons/other-service/arrow-square-down.vue +15 -0
  235. package/dist/runtime/icons/other-service/arrow-square-down.vue.d.ts +2 -0
  236. package/dist/runtime/icons/other-service/arrow-top-right-on-square.vue +6 -0
  237. package/dist/runtime/icons/other-service/arrow-top-right-on-square.vue.d.ts +2 -0
  238. package/dist/runtime/icons/other-service/block.vue +16 -0
  239. package/dist/runtime/icons/other-service/block.vue.d.ts +2 -0
  240. package/dist/runtime/icons/other-service/currency-dollar.vue +16 -0
  241. package/dist/runtime/icons/other-service/currency-dollar.vue.d.ts +2 -0
  242. package/dist/runtime/icons/other-service/globe.vue +16 -0
  243. package/dist/runtime/icons/other-service/globe.vue.d.ts +2 -0
  244. package/dist/runtime/icons/other-service/link.vue +7 -0
  245. package/dist/runtime/icons/other-service/link.vue.d.ts +2 -0
  246. package/dist/runtime/icons/other-service/magnifying-glass.vue +9 -0
  247. package/dist/runtime/icons/other-service/magnifying-glass.vue.d.ts +2 -0
  248. package/dist/runtime/icons/other-service/standing-scales.vue +15 -0
  249. package/dist/runtime/icons/other-service/standing-scales.vue.d.ts +2 -0
  250. package/dist/runtime/icons/other-service/users-three.vue +7 -0
  251. package/dist/runtime/icons/other-service/users-three.vue.d.ts +2 -0
  252. package/dist/runtime/icons/plus-circle.vue +24 -0
  253. package/dist/runtime/icons/plus-circle.vue.d.ts +2 -0
  254. package/dist/runtime/icons/plus.vue +24 -0
  255. package/dist/runtime/icons/plus.vue.d.ts +2 -0
  256. package/dist/runtime/icons/radio/radio-check.vue +24 -0
  257. package/dist/runtime/icons/radio/radio-check.vue.d.ts +2 -0
  258. package/dist/runtime/icons/radio/radio-empty.vue +20 -0
  259. package/dist/runtime/icons/radio/radio-empty.vue.d.ts +2 -0
  260. package/dist/runtime/icons/receipt/hcheck.vue +27 -0
  261. package/dist/runtime/icons/receipt/hcheck.vue.d.ts +2 -0
  262. package/dist/runtime/icons/receipt/receipt.vue +27 -0
  263. package/dist/runtime/icons/receipt/receipt.vue.d.ts +2 -0
  264. package/dist/runtime/icons/scale.vue +19 -0
  265. package/dist/runtime/icons/scale.vue.d.ts +2 -0
  266. package/dist/runtime/icons/search.vue +27 -0
  267. package/dist/runtime/icons/search.vue.d.ts +2 -0
  268. package/dist/runtime/icons/socials/facebook.vue +15 -0
  269. package/dist/runtime/icons/socials/facebook.vue.d.ts +2 -0
  270. package/dist/runtime/icons/socials/instagram.vue +19 -0
  271. package/dist/runtime/icons/socials/instagram.vue.d.ts +2 -0
  272. package/dist/runtime/icons/socials/linkedin.vue +24 -0
  273. package/dist/runtime/icons/socials/linkedin.vue.d.ts +2 -0
  274. package/dist/runtime/icons/socials/telegram.vue +15 -0
  275. package/dist/runtime/icons/socials/telegram.vue.d.ts +2 -0
  276. package/dist/runtime/icons/socials/tik-tok.vue +15 -0
  277. package/dist/runtime/icons/socials/tik-tok.vue.d.ts +2 -0
  278. package/dist/runtime/icons/socials/whatsapp.vue +21 -0
  279. package/dist/runtime/icons/socials/whatsapp.vue.d.ts +2 -0
  280. package/dist/runtime/icons/socials/youtube.vue +16 -0
  281. package/dist/runtime/icons/socials/youtube.vue.d.ts +2 -0
  282. package/dist/runtime/icons/sun.vue +14 -0
  283. package/dist/runtime/icons/sun.vue.d.ts +2 -0
  284. package/dist/runtime/icons/sviazi.vue +19 -0
  285. package/dist/runtime/icons/sviazi.vue.d.ts +2 -0
  286. package/dist/runtime/icons/tenge.vue +22 -0
  287. package/dist/runtime/icons/tenge.vue.d.ts +2 -0
  288. package/dist/runtime/icons/trash.vue +24 -0
  289. package/dist/runtime/icons/trash.vue.d.ts +2 -0
  290. package/dist/runtime/icons/upload.vue +26 -0
  291. package/dist/runtime/icons/upload.vue.d.ts +2 -0
  292. package/dist/runtime/icons/user.vue +30 -0
  293. package/dist/runtime/icons/user.vue.d.ts +2 -0
  294. package/dist/runtime/icons/users/users-three.vue +17 -0
  295. package/dist/runtime/icons/users/users-three.vue.d.ts +2 -0
  296. package/dist/runtime/icons/users/users.vue +31 -0
  297. package/dist/runtime/icons/users/users.vue.d.ts +2 -0
  298. package/dist/runtime/icons/warning-triangle.vue +29 -0
  299. package/dist/runtime/icons/warning-triangle.vue.d.ts +2 -0
  300. package/dist/runtime/icons/work-bag.vue +20 -0
  301. package/dist/runtime/icons/work-bag.vue.d.ts +2 -0
  302. package/dist/runtime/icons/x-mark.vue +18 -0
  303. package/dist/runtime/icons/x-mark.vue.d.ts +2 -0
  304. package/dist/runtime/lang/en.d.ts +4 -0
  305. package/dist/runtime/lang/en.js +545 -0
  306. package/dist/runtime/lang/kk.d.ts +4 -0
  307. package/dist/runtime/lang/kk.js +545 -0
  308. package/dist/runtime/lang/ru.d.ts +575 -0
  309. package/dist/runtime/lang/ru.js +607 -0
  310. package/dist/runtime/shared/constants/pages.d.ts +71 -0
  311. package/dist/runtime/shared/constants/pages.js +71 -0
  312. package/package.json +66 -58
  313. package/dist/runtime/components/header/TheHeader.vue +0 -15
  314. package/dist/runtime/components/header/TheHeader.vue.d.ts +0 -2
  315. package/dist/runtime/plugin.d.ts +0 -2
  316. package/dist/runtime/plugin.js +0 -4
@@ -0,0 +1,23 @@
1
+ type __VLS_PublicProps = {
2
+ 'loading'?: boolean;
3
+ 'modal'?: boolean;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:loading": (value: boolean) => any;
7
+ "update:modal": (value: boolean) => any;
8
+ } & {
9
+ onSend: (form: {
10
+ sender_name: string;
11
+ phone_number: string;
12
+ message: string;
13
+ }) => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
+ onOnSend?: ((form: {
16
+ sender_name: string;
17
+ phone_number: string;
18
+ message: string;
19
+ }) => any) | undefined;
20
+ "onUpdate:loading"?: ((value: boolean) => any) | undefined;
21
+ "onUpdate:modal"?: ((value: boolean) => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ export default _default;
@@ -0,0 +1,120 @@
1
+ <script setup>
2
+ import { useContacts } from "../../composables/projectState";
3
+ import Location from "#icons/navigation/location.vue";
4
+ import Mail from "#icons/communication/mail.vue";
5
+ import Clock from "#icons/clock.vue";
6
+ import ExpandWindow from "#icons/navigation/expand-window.vue";
7
+ import { computed, ref, useI18n } from "#imports";
8
+ import Phone from "#icons/communication/phone.vue";
9
+ import Whatsapp from "#icons/socials/whatsapp.vue";
10
+ const contacts = ref(useContacts());
11
+ const { t } = useI18n();
12
+ const AlmatyItems = [
13
+ {
14
+ title: "header.contacts.almaty.adress.title",
15
+ subtitle: "header.contacts.almaty.adress.subtitle",
16
+ icon: Location,
17
+ to: "https://yandex.kz/maps/ru/org/avrora_kholding/1099794306/?ll=76.912479%2C43.208928&z=17.72"
18
+ },
19
+ {
20
+ title: "header.contacts.almaty.email.title",
21
+ subtitle: "info@adata.kz",
22
+ icon: Mail,
23
+ to: "mailto:info@adata.kz"
24
+ },
25
+ {
26
+ title: "header.contacts.almaty.schedule.title",
27
+ subtitle: "header.contacts.almaty.schedule.subtitle",
28
+ icon: Clock
29
+ }
30
+ ];
31
+ const technicalSupport = [
32
+ {
33
+ subtitle: "header.contacts.almaty.support.linkTitle",
34
+ icon: ExpandWindow,
35
+ to: "https://api.whatsapp.com/send/?phone=77712289041"
36
+ }
37
+ ];
38
+ const newContacts = computed(() => contacts.value.map((item) => ({
39
+ subtitle: item.contact,
40
+ icon: item.platform_code === "telephone" ? Phone : Whatsapp,
41
+ to: item.platform_code === "telephone" ? `tel:${item.contact}` : `https://api.whatsapp.com/send/?phone=${item.contact.replace(/\D/g, "")}`
42
+ })));
43
+ </script>
44
+
45
+ <template>
46
+ <div class="h-[272px]">
47
+ <h2 class="heading-02 mb-4">
48
+ {{ t("header.contacts.almaty.title") }}
49
+ </h2>
50
+ <div class="flex gap-10">
51
+ <div class="flex flex-col gap-4">
52
+ <div
53
+ v-for="item in AlmatyItems.slice(0, 3)"
54
+ class="flex flex-col gap-2 "
55
+ >
56
+ <div class="heading-04">
57
+ {{ t(item.title) }}
58
+ </div>
59
+ <a
60
+ class="flex items-center gap-1 text-deepblue-900 dark:text-white"
61
+ :href="item.to"
62
+ >
63
+ <component
64
+ :is="item.icon"
65
+ class="shrink-0"
66
+ />
67
+ <div class=" body-400">
68
+ {{ t(item.subtitle) }}
69
+ </div>
70
+ </a>
71
+ </div>
72
+ </div>
73
+ <div class="flex flex-col gap-2 2xl:gap-4">
74
+ <div class="flex flex-col gap-4 h-full justify-between">
75
+ <div class="flex flex-col gap-2 ">
76
+ <div class="heading-04">
77
+ {{ t("header.contacts.almaty.sellDep.title") }}
78
+ </div>
79
+ <div class="grid grid-cols-3 gap-x-8 gap-y-2">
80
+ <a
81
+ v-for="link in newContacts"
82
+ :key="link.subtitle"
83
+ class="flex 2xl:items-center gap-1 text-deepblue-900 dark:text-white"
84
+ :href="link.to"
85
+ :target="link.icon === Whatsapp ? '_blank' : '_self'"
86
+ >
87
+ <component :is="link.icon" />
88
+ <div class="body-400 line-clamp-1">
89
+ {{ link.subtitle }}
90
+ </div>
91
+ </a>
92
+ </div>
93
+ </div>
94
+ <div class="flex flex-col gap-2 ">
95
+ <div class="heading-04 whitespace-nowrap">
96
+ {{ t("header.contacts.almaty.support.title") }}
97
+ </div>
98
+ <div class="flex flex-col lg:gap-y-5">
99
+ <a
100
+ v-for="link in technicalSupport"
101
+ :key="link.subtitle"
102
+ class="flex 2xl:items-center gap-1 text-deepblue-900 dark:text-white"
103
+ :href="link.to"
104
+ target="_blank"
105
+ >
106
+ <div class="body-400 line-clamp-1 text-blue-600">
107
+ {{ t(link.subtitle) }}
108
+ </div>
109
+ <component
110
+ :is="link.icon"
111
+ class="stroke-blue-600"
112
+ />
113
+ </a>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ </div>
120
+ </template>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,65 @@
1
+ <script setup>
2
+ import Location from "#icons/navigation/location.vue";
3
+ import Mail from "#icons/communication/mail.vue";
4
+ import Clock from "#icons/clock.vue";
5
+ import Whatsapp from "#icons/socials/whatsapp.vue";
6
+ import { useI18n } from "#imports";
7
+ const { t } = useI18n();
8
+ const AstanaItems = [
9
+ {
10
+ title: "header.contacts.astana.adress.title",
11
+ subtitle: "header.contacts.astana.adress.subtitle",
12
+ icon: Location,
13
+ to: "https://yandex.kz/maps/ru/org/adata_consulting/214484722242/?ll=71.429573%2C51.131319&z=20.56"
14
+ },
15
+ {
16
+ title: "header.contacts.astana.email.title",
17
+ subtitle: "info@adata-c.kz",
18
+ icon: Mail,
19
+ to: "mailto:info@adata-c.kz"
20
+ },
21
+ {
22
+ title: "header.contacts.astana.schedule.title",
23
+ subtitle: "header.contacts.astana.schedule.subtitle",
24
+ icon: Clock
25
+ },
26
+ {
27
+ title: "header.contacts.astana.sellDep.title",
28
+ subtitle: "+7 700 744 00 10",
29
+ icon: Whatsapp,
30
+ to: "https://api.whatsapp.com/send/?phone=77007440010"
31
+ }
32
+ ];
33
+ </script>
34
+
35
+ <template>
36
+ <div class="h-[272px]">
37
+ <h2 class="heading-02 mb-4">
38
+ {{ t("header.contacts.astana.title") }}
39
+ </h2>
40
+ <div class="grid grid-cols-2 gap-5 ">
41
+ <div class="xl:grid grid-cols-2 grid-rows-3 flex flex-wrap gap-4 ">
42
+ <div
43
+ v-for="(item, index) in AstanaItems"
44
+ :key="index"
45
+ class="flex flex-col gap-2 "
46
+ :class="{ 'col-span-2': index === 0 }"
47
+ >
48
+ <div class="heading-04">
49
+ {{ t(item.title) }}
50
+ </div>
51
+ <a
52
+ class="flex items-center gap-1 text-deepblue-900 dark:text-white"
53
+ :href="item?.to"
54
+ :target="item.icon === Whatsapp ? '_blank' : '_self'"
55
+ >
56
+ <component :is="item.icon" />
57
+ <div class=" body-400">
58
+ {{ t(item.subtitle) }}
59
+ </div>
60
+ </a>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </template>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,156 @@
1
+ <script setup>
2
+ import { computed, onMounted, onUnmounted, ref, useI18n } from "#imports";
3
+ import ArrowSideUp from "#icons/arrow/arrow-side-up.vue";
4
+ const { t } = useI18n();
5
+ const items = computed(() => {
6
+ return [
7
+ {
8
+ title: "header.products.galleryCards.unload.title",
9
+ subtitle: "header.products.galleryCards.unload.subtitle",
10
+ to: "/",
11
+ image: "/header/unload.webp",
12
+ icon: ""
13
+ },
14
+ {
15
+ title: "header.products.galleryCards.compliance.title",
16
+ subtitle: "header.products.galleryCards.compliance.subtitle",
17
+ to: "/",
18
+ image: "/header/compliance.webp",
19
+ icon: ""
20
+ },
21
+ {
22
+ title: "header.products.galleryCards.ved.title",
23
+ subtitle: "header.products.galleryCards.ved.subtitle",
24
+ to: "/",
25
+ image: "/header/ved.webp",
26
+ icon: ""
27
+ }
28
+ ];
29
+ });
30
+ const currentIndex = ref(0);
31
+ const transitionName = ref("slide-left");
32
+ let timeoutId = null;
33
+ const isHovered = ref(false);
34
+ const intervalDuration = 3e3;
35
+ let startTime = 0;
36
+ let remaining = intervalDuration;
37
+ const clearTimer = () => {
38
+ if (timeoutId) {
39
+ clearTimeout(timeoutId);
40
+ timeoutId = null;
41
+ }
42
+ };
43
+ const startTimer = () => {
44
+ clearTimer();
45
+ startTime = Date.now();
46
+ timeoutId = setTimeout(() => {
47
+ nextImage();
48
+ }, remaining);
49
+ };
50
+ const pauseTimer = () => {
51
+ if (timeoutId) {
52
+ clearTimer();
53
+ const elapsed = Date.now() - startTime;
54
+ remaining = Math.max(remaining - elapsed, 0);
55
+ }
56
+ };
57
+ const resumeTimer = () => {
58
+ startTime = Date.now();
59
+ timeoutId = setTimeout(() => {
60
+ nextImage();
61
+ }, remaining);
62
+ };
63
+ const resetTimer = () => {
64
+ remaining = intervalDuration;
65
+ startTimer();
66
+ };
67
+ const nextImage = () => {
68
+ transitionName.value = "slide-left";
69
+ currentIndex.value = (currentIndex.value + 1) % items.value.length;
70
+ remaining = intervalDuration;
71
+ startTimer();
72
+ };
73
+ const setCurrentIndex = (index) => {
74
+ transitionName.value = index < currentIndex.value ? "slide-right" : "slide-left";
75
+ currentIndex.value = index;
76
+ resetTimer();
77
+ pauseTimer();
78
+ };
79
+ const handleMouseOver = () => {
80
+ isHovered.value = true;
81
+ pauseTimer();
82
+ };
83
+ const handleMouseOut = () => {
84
+ isHovered.value = false;
85
+ resumeTimer();
86
+ };
87
+ onMounted(() => startTimer());
88
+ onUnmounted(() => clearTimer());
89
+ </script>
90
+
91
+ <template>
92
+ <div
93
+ class="overflow-hidden relative w-[320px] h-[480px] rounded-2xl"
94
+ @mouseover="handleMouseOver"
95
+ @mouseout="handleMouseOut"
96
+ >
97
+ <transition :name="transitionName">
98
+ <div
99
+ :key="currentIndex"
100
+ class="relative"
101
+ >
102
+ <img
103
+ :src="items[currentIndex].image"
104
+ class="size-full object-cover rounded-2xl"
105
+ />
106
+ <nuxt-link :to="items[currentIndex].to">
107
+ <div class="absolute bottom-0 rounded-2xl w-full bg-blue-700/80 dark:bg-blue-500/80 px-4 pt-4 pb-12 shadow-[0_-2px_4px_0_rgba(0,0,0,0.25)] backdrop-blur-md flex flex-col gap-6">
108
+ <div class="flex flex-col gap-2">
109
+ <div class="flex items-center justify-between">
110
+ <div class="flex items-center gap-2">
111
+ <div class="flex items-center justify-center bg-white dark:bg-gray-900 text-blue-700 dark:text-blue-500 size-8 rounded-lg">
112
+ <component
113
+ :is="items[currentIndex].icon"
114
+ class="size-6"
115
+ />
116
+ </div>
117
+ <p class="normal-case text-white dark:text-gray-900 font-semibold text-xl">
118
+ {{ t(items[currentIndex].title) }}
119
+ </p>
120
+ </div>
121
+ <arrow-side-up
122
+ class="icon-link size-6 text-white dark:text-gray-900"
123
+ :class="{ visible: isHovered }"
124
+ />
125
+ </div>
126
+ <p class="normal-case text-white font-semibold dark:text-gray-900">
127
+ {{ t(items[currentIndex].subtitle) }}
128
+ </p>
129
+ </div>
130
+ </div>
131
+ </nuxt-link>
132
+ </div>
133
+ </transition>
134
+ <div class="absolute xl:bottom-4 w-full">
135
+ <div class="flex justify-center items-center gap-6">
136
+ <div
137
+ v-for="(item, index) in items"
138
+ :key="index"
139
+ class="relative bg-white/50 dark:bg-gray-900/50 rounded-full overflow-hidden cursor-pointer h-2 w-2"
140
+ :class="{ 'w-[52px]': currentIndex === index }"
141
+ @click="setCurrentIndex(index)"
142
+ >
143
+ <div
144
+ v-if="currentIndex === index"
145
+ class="absolute inset-0 bg-white dark:bg-gray-900 progress-bar"
146
+ :style="{ animationPlayState: isHovered ? 'paused' : 'running' }"
147
+ />
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </div>
152
+ </template>
153
+
154
+ <style scoped>
155
+ .progress-bar{animation:progress 3s linear forwards}@keyframes progress{0%{width:0}to{width:100%}}.slide-left-enter-active,.slide-left-leave-active,.slide-right-enter-active,.slide-right-leave-active{left:0;position:absolute;top:0;transition:transform .3s ease,opacity .3s ease;width:100%}.slide-left-enter-from{opacity:0;transform:translateX(100%)}.slide-left-enter-to,.slide-left-leave-from{opacity:1;transform:translateX(0)}.slide-left-leave-to,.slide-right-enter-from{opacity:0;transform:translateX(-100%)}.slide-right-enter-to,.slide-right-leave-from{opacity:1;transform:translateX(0)}.slide-right-leave-to{opacity:0;transform:translateX(100%)}.icon-link{opacity:0;transition:opacity .5s ease}.icon-link.visible{opacity:1}.content-wrapper{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .5s ease;will-change:max-height,opacity}.content-wrapper.visible{max-height:300px;opacity:1}
156
+ </style>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,105 @@
1
+ <script setup>
2
+ import AButton from "../button/Button.vue";
3
+ import APillTabs from "../pill-tabs/PillTabs.vue";
4
+ import AlmatyContacts from "./AlmatyContacts.vue";
5
+ import AstanaContacts from "./AstanaContacts.vue";
6
+ import { ref, useI18n } from "#imports";
7
+ import ArrowTopRightOnSquare from "#icons/arrow/arrow-top-right-on-square.vue";
8
+ import IXMark from "#icons/x-mark.vue";
9
+ const props = defineProps({
10
+ animation: { type: String, required: false, default: "previous" },
11
+ index: { type: Number, required: false, default: 2 },
12
+ url: { type: String, required: false, default: "" }
13
+ });
14
+ defineEmits(["outerClick", "mouseOver"]);
15
+ const { t } = useI18n();
16
+ const activeTab = ref(0);
17
+ const options = [
18
+ {
19
+ key: 0,
20
+ name: '\u0422\u041E\u041E "Alldata"'
21
+ },
22
+ {
23
+ key: 1,
24
+ name: " \u0422\u041E\u041E \xABADATA Consulting\xBB"
25
+ }
26
+ ];
27
+ </script>
28
+
29
+ <template>
30
+ <div class="normal-case">
31
+ <div class="bg-white dark:bg-gray-950">
32
+ <transition :name="animation">
33
+ <div
34
+ :key="index"
35
+ class="a-container"
36
+ >
37
+ <div class="pt-2 mb-8 flex justify-between">
38
+ <a-pill-tabs
39
+ v-model="activeTab"
40
+ class="gap-2"
41
+ size="lg"
42
+ view="mobile"
43
+ :options="options"
44
+ />
45
+ <nuxt-link :to="url">
46
+ <a-button variant="gray">
47
+ {{ t("header.contacts.toContacts") }}
48
+ <arrow-top-right-on-square />
49
+ </a-button>
50
+ </nuxt-link>
51
+ </div>
52
+ <div>
53
+ <almaty-contacts v-show="activeTab === 0" />
54
+ <astana-contacts v-show="activeTab === 1" />
55
+ </div>
56
+ </div>
57
+ </transition>
58
+ <button
59
+ class="absolute right-8 top-4"
60
+ @click="$emit('outerClick')"
61
+ >
62
+ <i-x-mark
63
+ width="32"
64
+ height="32"
65
+ />
66
+ </button>
67
+ </div>
68
+ </div>
69
+ </template>
70
+
71
+ <style scoped>
72
+ .next-enter-from,
73
+ .next-leave-to {
74
+ opacity: 0;
75
+ transform: translateX(30%);
76
+ position: absolute;
77
+ }
78
+
79
+ .next-enter-active {
80
+ transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
81
+ }
82
+
83
+ .next-leave-active {
84
+ transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
85
+ opacity: 0;
86
+ transform: translateX(-30%);
87
+ }
88
+
89
+ .prev-enter-from,
90
+ .prev-leave-to {
91
+ position: absolute;
92
+ opacity: 0;
93
+ transform: translateX(-30%);
94
+ }
95
+
96
+ .prev-enter-active {
97
+ transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
98
+ }
99
+
100
+ .prev-leave-active {
101
+ transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
102
+ opacity: 0;
103
+ transform: translateX(30%);
104
+ }
105
+ </style>
@@ -0,0 +1,11 @@
1
+ type __VLS_Props = {
2
+ animation?: string;
3
+ index?: number;
4
+ url?: string;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
7
+ index: number;
8
+ animation: string;
9
+ url: string;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1,169 @@
1
+ <script setup>
2
+ import ContactMenu from "./ContactMenu.vue";
3
+ import ProductMenu from "./ProductMenu.vue";
4
+ import { ref, shallowRef, useI18n, onBeforeUnmount, watch, useAppConfig } from "#imports";
5
+ const { t } = useI18n();
6
+ const appConfig = useAppConfig();
7
+ const mode = appConfig.adataUI.mode;
8
+ const navs = [
9
+ {
10
+ label: "header.navs.products",
11
+ to: "/"
12
+ },
13
+ {
14
+ label: "header.navs.contacts",
15
+ to: `https://${mode}.kz/contacts`
16
+ },
17
+ {
18
+ label: "header.navs.tariffs",
19
+ to: `https://${mode}.kz/tariffs`
20
+ }
21
+ ];
22
+ const menu = ref(null);
23
+ const isBodyAlreadyLocked = ref(false);
24
+ const currentIndex = ref(0);
25
+ const forward = ref(true);
26
+ const show = ref(false);
27
+ const isMenuLocked = ref(false);
28
+ const animation = ref("slide-fade");
29
+ const currentMenu = shallowRef(null);
30
+ const delayTimer = ref(null);
31
+ const currentMenuToShow = (index) => {
32
+ switch (index) {
33
+ case 0:
34
+ return ProductMenu;
35
+ case 1:
36
+ return ContactMenu;
37
+ case 2:
38
+ return null;
39
+ }
40
+ };
41
+ const toggleMenu = (index) => {
42
+ if (index === 2) {
43
+ window.open(`https://${mode}.kz/tariffs`, "_blank");
44
+ } else {
45
+ currentMenu.value = currentMenuToShow(index);
46
+ const prev = currentIndex.value;
47
+ if (prev < index) {
48
+ forward.value = false;
49
+ } else if (prev > index) {
50
+ forward.value = true;
51
+ }
52
+ animation.value = forward.value ? " prev" : "next";
53
+ if (!show.value) animation.value = "slide-fade";
54
+ currentIndex.value = index;
55
+ show.value = true;
56
+ }
57
+ };
58
+ const closeMenu = (forceClose = false) => {
59
+ if (isMenuLocked.value && !forceClose) {
60
+ return;
61
+ } else {
62
+ animation.value = "slide-fade";
63
+ show.value = false;
64
+ setTimeout(() => {
65
+ isMenuLocked.value = false;
66
+ currentMenu.value = null;
67
+ }, 200);
68
+ }
69
+ };
70
+ const onMenuMouseEnter = (index) => {
71
+ if (index !== 2) {
72
+ if (show.value === false) {
73
+ delayTimer.value = setTimeout(() => {
74
+ toggleMenu(index);
75
+ }, 600);
76
+ } else {
77
+ delayTimer.value = setTimeout(() => {
78
+ toggleMenu(index);
79
+ }, 100);
80
+ }
81
+ } else show.value = false;
82
+ };
83
+ const onMenuMouseLeave = () => {
84
+ if (delayTimer.value) {
85
+ clearTimeout(delayTimer.value);
86
+ delayTimer.value = null;
87
+ }
88
+ };
89
+ const lockMenu = () => {
90
+ isMenuLocked.value = true;
91
+ };
92
+ const toggleBodyScroll = (el, lock) => {
93
+ if (lock) {
94
+ setTimeout(() => {
95
+ }, 0);
96
+ return;
97
+ }
98
+ };
99
+ onBeforeUnmount(() => {
100
+ if (show.value) toggleBodyScroll(menu.value, false);
101
+ });
102
+ watch(
103
+ () => [show.value, menu.value],
104
+ (newVal, oldVal) => {
105
+ const wasShown = oldVal ? oldVal[0] : false;
106
+ const [isShown, menuEl] = newVal;
107
+ const isOpening = isShown;
108
+ const isClosing = wasShown && !isShown;
109
+ if (!menuEl) return;
110
+ if (isOpening) isBodyAlreadyLocked.value = !!document.body.style.overflow;
111
+ if (isShown) {
112
+ toggleBodyScroll(menuEl, true);
113
+ return;
114
+ }
115
+ if (!isClosing || isBodyAlreadyLocked.value) return;
116
+ setTimeout(() => {
117
+ if (menuEl) toggleBodyScroll(menuEl, false);
118
+ }, 100);
119
+ }
120
+ );
121
+ </script>
122
+
123
+ <template>
124
+ <ul>
125
+ <li
126
+ v-for="(nav, index) in navs"
127
+ :key="nav.label"
128
+ class="group inline-block border-r border-[#2C3E501A] px-2 last-of-type:border-none dark:border-[#E3E5E81A]"
129
+ @click="lockMenu"
130
+ >
131
+ <div
132
+ class="relative cursor-pointer font-bold uppercase text-gray-800 hover:text-gray-600 dark:text-gray-200 hover:dark:text-gray-600"
133
+ @mouseenter="onMenuMouseEnter(index)"
134
+ @click="toggleMenu(index)"
135
+ @mouseleave="onMenuMouseLeave"
136
+ >
137
+ {{ t(nav.label) }}
138
+ <div class="absolute left-[-8px] w-[calc(100%+16px)]">
139
+ &nbsp;
140
+ </div>
141
+ </div>
142
+ <div
143
+ v-show="show"
144
+ class="fixed left-0 top-[104px] z-20 h-full w-full"
145
+ >
146
+ <transition :name="animation">
147
+ <keep-alive>
148
+ <component
149
+ :is="currentMenu"
150
+ v-show="show"
151
+ ref="menu"
152
+ :url="currentIndex === 1 ? `https://${mode}.kz/contacts` : nav.to"
153
+ :animation="forward ? 'next' : 'prev'"
154
+ :index="currentIndex"
155
+ @outer-click="closeMenu(true)"
156
+ @mouse-over="closeMenu"
157
+ />
158
+ </keep-alive>
159
+ </transition>
160
+ <div
161
+ v-show="show"
162
+ class="absolute left-[-25%] h-full w-[150%] bg-[#E3E5E833] backdrop-blur transition"
163
+ @click="closeMenu(true)"
164
+ @mouseover="closeMenu(false)"
165
+ />
166
+ </div>
167
+ </li>
168
+ </ul>
169
+ </template>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;