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,56 @@
1
+ <script setup>
2
+ import { DropdownMenuContent, DropdownMenuPortal, DropdownMenuRoot, DropdownMenuTrigger } from "reka-ui";
3
+ import IChevronDown from "#icons/arrow/chevron-down.vue";
4
+ import { ref } from "#imports";
5
+ const props = defineProps({
6
+ rate: { type: String, required: true },
7
+ daysRemaining: { type: Number, required: false, default: 0 },
8
+ limitRemaining: { type: Number, required: false, default: 0 },
9
+ balance: { type: Number, required: true },
10
+ replenish: { type: String, required: false },
11
+ oldVersion: { type: String, required: false },
12
+ isAuthenticated: { type: Boolean, required: false },
13
+ email: { type: String, required: false },
14
+ showLogin: { type: Boolean, required: false }
15
+ });
16
+ const profileMenuOpen = ref(false);
17
+ defineEmits(["logout"]);
18
+ </script>
19
+
20
+ <template>
21
+ <dropdown-menu-root v-model:open="profileMenuOpen">
22
+ <dropdown-menu-trigger>
23
+ <div
24
+ v-show="isAuthenticated"
25
+ class="hidden cursor-pointer items-center gap-2 text-sm font-semibold lg:flex"
26
+ @click.stop="profileMenuOpen = true"
27
+ >
28
+ <span class="whitespace-nowrap">{{ email }}</span>
29
+ <i-chevron-down :class="{ 'rotate-180': profileMenuOpen }" />
30
+ </div>
31
+ </dropdown-menu-trigger>
32
+ <dropdown-menu-portal>
33
+ <dropdown-menu-content
34
+ side="bottom"
35
+ align="end"
36
+ :side-offset="20"
37
+ class="shadow-md"
38
+ >
39
+ <adt-header-profile-menu-content
40
+ :email="email"
41
+ :is-authenticated="isAuthenticated"
42
+ :balance="balance"
43
+ :days-remaining="daysRemaining"
44
+ :limit-remaining="limitRemaining"
45
+ :rate="rate"
46
+ :replenish="replenish"
47
+ :show-login="showLogin"
48
+ @logout="() => {
49
+ $emit('logout');
50
+ profileMenuOpen = false;
51
+ }"
52
+ />
53
+ </dropdown-menu-content>
54
+ </dropdown-menu-portal>
55
+ </dropdown-menu-root>
56
+ </template>
@@ -0,0 +1,16 @@
1
+ interface Props {
2
+ rate: string;
3
+ daysRemaining?: number;
4
+ limitRemaining?: number;
5
+ balance: number;
6
+ replenish?: string;
7
+ oldVersion?: string;
8
+ isAuthenticated?: boolean;
9
+ email?: string;
10
+ showLogin?: boolean;
11
+ }
12
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
13
+ daysRemaining: number;
14
+ limitRemaining: number;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,228 @@
1
+ <script setup>
2
+ import AStatusBadge from "../Tag.vue";
3
+ import ColorMode from "../ColorMode.vue";
4
+ import AButton from "../button/Button.vue";
5
+ import { PAGES } from "../../shared/constants/pages";
6
+ import IPlus from "#icons/plus.vue";
7
+ import ILogout from "#icons/navigation/logout.vue";
8
+ import { useAppConfig, useI18n } from "#imports";
9
+ import IProfile from "#icons/document/profile.vue";
10
+ import ILock from "#icons/lock.vue";
11
+ import IReceipt from "#icons/receipt/receipt.vue";
12
+ import IBookmark from "#icons/bookmark.vue";
13
+ import IFile from "#icons/file/file.vue";
14
+ import IHistory from "#icons/history.vue";
15
+ import IUsers from "#icons/users/users.vue";
16
+ import IMessage from "#icons/message.vue";
17
+ import { useMediaQuery } from "@vueuse/core";
18
+ const props = defineProps({
19
+ rate: { type: String, required: true },
20
+ daysRemaining: { type: Number, required: false, default: 0 },
21
+ limitRemaining: { type: Number, required: false, default: 0 },
22
+ balance: { type: Number, required: true },
23
+ replenish: { type: String, required: false },
24
+ oldVersion: { type: String, required: false },
25
+ isAuthenticated: { type: Boolean, required: false },
26
+ email: { type: String, required: false },
27
+ showLogin: { type: Boolean, required: false }
28
+ });
29
+ const appConfig = useAppConfig();
30
+ const mode = appConfig.adataUI.mode;
31
+ const { t } = useI18n();
32
+ const isLargeScreen = useMediaQuery("(min-width: 1024px)");
33
+ defineEmits(["logout"]);
34
+ const items = [
35
+ {
36
+ title: t("header.profile.menu.personalInfo"),
37
+ icon: IProfile,
38
+ to: `https://${mode}.kz` + PAGES.profile.index
39
+ },
40
+ {
41
+ title: t("header.profile.menu.security"),
42
+ icon: ILock,
43
+ to: `https://${mode}.kz` + PAGES.profile.security
44
+ },
45
+ {
46
+ title: t("header.profile.menu.paymentHistory"),
47
+ icon: IReceipt,
48
+ to: `https://${mode}.kz` + PAGES.profile.paymentHistory
49
+ },
50
+ {
51
+ title: t("header.profile.menu.favourites"),
52
+ icon: IBookmark,
53
+ to: `https://${mode}.kz` + PAGES.profile.favourites
54
+ },
55
+ {
56
+ title: t("header.profile.menu.myReports"),
57
+ icon: IFile,
58
+ to: `https://${mode}.kz` + PAGES.profile.reports
59
+ },
60
+ {
61
+ title: t("header.profile.menu.browsingHistory"),
62
+ icon: IHistory,
63
+ to: `https://${mode}.kz` + PAGES.profile.browsingHistory
64
+ },
65
+ {
66
+ title: t("header.profile.menu.myGroups"),
67
+ icon: IUsers,
68
+ to: `https://${mode}.kz` + PAGES.profile.myGroups
69
+ },
70
+ {
71
+ title: t("header.profile.menu.notes"),
72
+ icon: IMessage,
73
+ to: `https://${mode}.kz` + PAGES.profile.notes
74
+ }
75
+ ];
76
+ const onReplenish = () => {
77
+ if (window) {
78
+ window.location.href = `https://${mode}.kz/profile?popupBalance=1`;
79
+ }
80
+ };
81
+ </script>
82
+
83
+ <template>
84
+ <div class="max-w-full lg:w-[300px]">
85
+ <!-- desktop -->
86
+ <div
87
+ class="gradient-bg hidden px-4 py-4 text-white dark:text-gray-900 lg:block lg:rounded-t-[0.5rem] lg:px-8 lg:dark:text-white"
88
+ >
89
+ <div class="hidden text-sm lg:block">
90
+ {{ t("header.profile.tariff") }}
91
+ </div>
92
+ <div class="flex items-center justify-between gap-4 lg:mt-2">
93
+ <div class="flex items-center justify-between lg:w-full">
94
+ <span class="mr-2 font-semibold lg:text-lg">{{ rate }}</span>
95
+ <a-status-badge
96
+ type="success"
97
+ class="!px-3 font-semibold text-white"
98
+ size="sm"
99
+ >
100
+ {{ t("header.profile.connected") }}
101
+ </a-status-badge>
102
+ </div>
103
+ <span class="bg-deepblue ml-2 rounded-xl px-2 py-1 text-xs lg:hidden">{{ balance.toLocaleString("RU-ru") }} ₸</span>
104
+ </div>
105
+ <div class="mt-2 hidden items-center justify-between lg:flex lg:flex-col">
106
+ <div class="items-center justify-between lg:flex lg:w-full text-xs">
107
+ {{ t("header.profile.currentBalance") }}
108
+ <span class="ml-2 rounded-xl bg-deepblue-900 px-2 py-1">{{ balance.toLocaleString("RU-ru") }} ₸</span>
109
+ </div>
110
+ <a-button
111
+ size="sm"
112
+ class="w-full mt-4"
113
+ view="outline"
114
+ variant="ghost"
115
+ @click="onReplenish"
116
+ >
117
+ <i-plus />
118
+ {{ t("header.profile.addBalance") }}
119
+ </a-button>
120
+ </div>
121
+ </div>
122
+ <!-- mobile -->
123
+ <div class="gradient-bg px-4 py-4 text-white dark:text-gray-900 lg:hidden">
124
+ <div class="flex justify-between gap-4 lg:mt-2">
125
+ <div class="flex flex-col items-center">
126
+ <div class="font-semibold">
127
+ {{ rate }}
128
+ </div>
129
+ <a-status-badge
130
+ type="success"
131
+ class="!px-3 font-semibold text-white dark:text-gray-900"
132
+ size="sm"
133
+ >
134
+ {{ t("header.profile.connected") }}
135
+ </a-status-badge>
136
+ </div>
137
+ <div class="flex min-w-[90px] flex-col">
138
+ <div class="font-semibold">
139
+ {{ t("header.profile.balance") }}
140
+ </div>
141
+ <div class="flex gap-1">
142
+ <a-status-badge
143
+ size="sm"
144
+ class="!px-3 font-semibold text-white dark:!bg-[#E3E5E8] dark:text-gray-900"
145
+ type="gray"
146
+ >
147
+ {{ balance.toLocaleString("RU-ru") }} ₸
148
+ </a-status-badge>
149
+ <button
150
+ class="flex h-[23px] w-[23px] items-center justify-center rounded-md bg-white text-deepblue-900 dark:bg-gray-900 dark:text-[#E3E5E8]"
151
+ @click="onReplenish"
152
+ >
153
+ <i-plus
154
+ width="16px"
155
+ height="16px"
156
+ />
157
+ </button>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ <div class="rounded-b-[0.5rem] bg-white p-4 dark:bg-[#232324]">
163
+ <div class="mb-2 flex justify-between gap-2 lg:hidden">
164
+ <a-status-badge
165
+ size="sm"
166
+ class="w-full py-[6px] font-semibold"
167
+ >
168
+ <span>
169
+ {{ t("header.profile.requests") }}
170
+ </span>
171
+ {{ limitRemaining }}
172
+ </a-status-badge>
173
+ <a-status-badge
174
+ size="sm"
175
+ class="w-full py-[6px] font-semibold"
176
+ >
177
+ <span>
178
+ {{ t("header.profile.daysLeft") }}
179
+ </span>
180
+ {{ daysRemaining }}
181
+ </a-status-badge>
182
+ </div>
183
+ <div class="grid grid-cols-2 gap-2 lg:flex lg:flex-col">
184
+ <nuxt-link
185
+ v-for="item in items"
186
+ :key="item.title"
187
+ class="hover:text-blue-700 dark:hover:text-blue-500 flex flex-col lg:flex-row lg:gap-3 items-center rounded-[6px] bg-gray-50 lg:bg-white lg:dark:bg-[#232324] lg:hover:bg-blue-100 py-[10px] text-center text-sm hover:bg-deepblue-900/10 active:bg-deepblue-900 active:text-white dark:bg-[#161617] active:dark:bg-[#E3E5E8] active:dark:text-gray-900 lg:px-4 lg:dark:hover:bg-gray-900"
188
+ :to="item.to"
189
+ target="_blank"
190
+ >
191
+ <component
192
+ :is="item.icon"
193
+ class="h-[24px] w-[24px]"
194
+ />
195
+ <span>{{ item.title }}</span>
196
+ </nuxt-link>
197
+ </div>
198
+ <div class="mt-2">
199
+ <div
200
+ v-if="oldVersion"
201
+ :url="oldVersion"
202
+ />
203
+ </div>
204
+ <div
205
+ v-if="!isLargeScreen"
206
+ class="my-4 flex items-center justify-between text-sm"
207
+ >
208
+ <span>
209
+ {{ t("header.profile.colorScheme") }}
210
+ </span>
211
+ <color-mode />
212
+ </div>
213
+ <div
214
+ class="flex items-center justify-center lg:justify-start gap-3 pb-2 pt-4 px-4 cursor-pointer text-red-500 hover:text-red-700 border-t border-gray-200"
215
+ @click="$emit('logout')"
216
+ >
217
+ <i-logout class="h-5 w-5" />
218
+ <span>
219
+ {{ t("header.profile.logout") }}
220
+ </span>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ </template>
225
+
226
+ <style scoped>
227
+ .gradient-bg{background:linear-gradient(236.46deg,#479fff -2.39%,#0070eb 79.1%)}
228
+ </style>
@@ -0,0 +1,16 @@
1
+ interface Props {
2
+ rate: string;
3
+ daysRemaining?: number;
4
+ limitRemaining?: number;
5
+ balance: number;
6
+ replenish?: string;
7
+ oldVersion?: string;
8
+ isAuthenticated?: boolean;
9
+ email?: string;
10
+ showLogin?: boolean;
11
+ }
12
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
13
+ daysRemaining: number;
14
+ limitRemaining: number;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,152 @@
1
+ <script setup>
2
+ import { computed, onBeforeMount, ref } from "vue";
3
+ import AStatusBadge from "../Tag.vue";
4
+ import { useCookie } from "#app";
5
+ import Usd from "#icons/currency/usd.vue";
6
+ import Eur from "#icons/currency/eur.vue";
7
+ import Rub from "#icons/currency/rub.vue";
8
+ import Yuan from "#icons/currency/yuan.vue";
9
+ import XMark from "#icons/x-mark.vue";
10
+ import Down from "#icons/currency/down.vue";
11
+ import { useI18n, useAppConfig } from "#imports";
12
+ const { t } = useI18n();
13
+ const props = defineProps({
14
+ daysRemaining: { type: Number, required: true },
15
+ limitRemaining: { type: Number, required: true },
16
+ moduleName: { type: String, required: false, default: "counterparty" },
17
+ isAuthenticated: { type: Boolean, required: true }
18
+ });
19
+ const currencies = ref([]);
20
+ const systemMessage = ref(null);
21
+ const isOpenNotification = ref(false);
22
+ const message = useCookie("message");
23
+ const appConfig = useAppConfig();
24
+ const env = appConfig.adataUI.mode;
25
+ const mode = computed(() => {
26
+ if (props.moduleName === "pk") {
27
+ return "counterparty";
28
+ } else {
29
+ return props.moduleName;
30
+ }
31
+ });
32
+ const fetchCurrencies = async () => {
33
+ try {
34
+ const response = await fetch(`https://users.adata.kz/api/v1/information/currency`);
35
+ const { data } = await response.json();
36
+ if (data.currencies) {
37
+ currencies.value = data.currencies;
38
+ }
39
+ } catch (e) {
40
+ console.error(e);
41
+ }
42
+ };
43
+ const Symbols = {
44
+ USD: Usd,
45
+ EUR: Eur,
46
+ RUB: Rub,
47
+ CNY: Yuan
48
+ };
49
+ const computedClass = (state) => state === "UP" ? "text-green-400 rotate-180" : "text-red-400";
50
+ const fetchNotification = async () => {
51
+ try {
52
+ if (message.value === void 0) {
53
+ const link = `https://users.${env}.kz/api/v1/system-messages/active-list/?module_name=${mode.value}`;
54
+ const response = await fetch(link);
55
+ const { data } = await response.json();
56
+ if (data.details.length) {
57
+ systemMessage.value = data.details[0].message;
58
+ isOpenNotification.value = true;
59
+ }
60
+ }
61
+ } catch (e) {
62
+ console.error(e.message);
63
+ }
64
+ };
65
+ onBeforeMount(() => {
66
+ fetchNotification();
67
+ fetchCurrencies();
68
+ });
69
+ const closeMessage = () => {
70
+ message.value = false;
71
+ isOpenNotification.value = false;
72
+ };
73
+ </script>
74
+
75
+ <template>
76
+ <div
77
+ class="min-h-[40px]"
78
+ :class="[isOpenNotification && systemMessage ? '' : 'hidden lg:block']"
79
+ >
80
+ <transition name="fade">
81
+ <div
82
+ v-if="isOpenNotification && systemMessage"
83
+ class="bg-[#FFF5E6] px-2 py-3 text-[#FCA204] dark:bg-[#161617] md:px-0"
84
+ >
85
+ <div class="a-container flex items-center justify-between">
86
+ <div class="flex items-center gap-2">
87
+ <i-info-circle
88
+ class="max-h-[16px] w-full max-w-[16px] stroke-orange-500 dark:stroke-orange-500"
89
+ />
90
+ <span class="text-sm font-semibold text-orange-500">{{ systemMessage }}</span>
91
+ </div>
92
+ <x-mark
93
+ class="max-h-[16px] w-full max-w-[16px] cursor-pointer stroke-orange-500"
94
+ @click="closeMessage"
95
+ />
96
+ </div>
97
+ </div>
98
+ </transition>
99
+ <div
100
+ v-if="!isOpenNotification || !systemMessage"
101
+ class="hidden min-h-10 bg-gray-50 dark:bg-gray-950 lg:block"
102
+ >
103
+ <div class="a-container flex justify-between py-2 text-sm">
104
+ <div class="flex items-center">
105
+ <div
106
+ v-for="currency in currencies"
107
+ :key="currency.currency"
108
+ class="mr-4 flex gap-2"
109
+ >
110
+ <div class="flex items-center dark:text-white">
111
+ <component
112
+ :is="Symbols[currency.currency]"
113
+ class="mr-2 size-4 rounded-sm border border-solid border-[#E0E3E6] dark:border-[#2B2B2C]"
114
+ />
115
+ {{ currency.buy }}
116
+ <div :class="computedClass(currency.sell_state)">
117
+ <down />
118
+ </div>
119
+ </div>
120
+ <div class="flex items-center dark:text-white">
121
+ {{ currency.sell }}
122
+ <div :class="computedClass(currency.sell_state)">
123
+ <down />
124
+ </div>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ <div
129
+ v-if="isAuthenticated"
130
+ class="flex items-center gap-5"
131
+ >
132
+ <div v-if="limitRemaining != null || limitRemaining != void 0">
133
+ <span class="mr-2 text-xs">{{ t("header.top.requestLimit") }}</span>
134
+ <a-status-badge size="sm">
135
+ {{ limitRemaining }}
136
+ </a-status-badge>
137
+ </div>
138
+ <div v-if="daysRemaining">
139
+ <span class="mr-2 text-xs">{{ t("header.top.daysLeft") }}</span>
140
+ <a-status-badge size="sm">
141
+ {{ limitRemaining }}
142
+ </a-status-badge>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </template>
149
+
150
+ <style scoped>
151
+ .fade-enter-active,.fade-leave-active{transition:.1s ease}.fade-enter,.fade-leave-to{opacity:0;top:0}
152
+ </style>
@@ -0,0 +1,10 @@
1
+ interface Props {
2
+ daysRemaining: number;
3
+ limitRemaining: number;
4
+ moduleName?: string;
5
+ isAuthenticated: boolean;
6
+ }
7
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
8
+ moduleName: string;
9
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -0,0 +1,19 @@
1
+ export type NavChild = {
2
+ key: string;
3
+ name: string;
4
+ items: NavChildItem[];
5
+ };
6
+ export type NavChildItem = {
7
+ title: string;
8
+ subtitle?: string;
9
+ icon?: any;
10
+ to: string;
11
+ };
12
+ export type NavLink = {
13
+ label: string;
14
+ to: string;
15
+ items?: NavChild[];
16
+ options?: any;
17
+ icon?: any;
18
+ };
19
+ export type ProjectKeys = 'counterparty' | 'pk' | 'work' | 'tenders' | 'fines' | 'analytics' | 'fea' | 'compliance';
File without changes
@@ -0,0 +1,53 @@
1
+ <script setup>
2
+ import IAdata from "#icons/logo/adata.vue";
3
+ import ILogo from "#icons/logo/logo.vue";
4
+ import ISearch from "#icons/search.vue";
5
+ const props = defineProps({
6
+ mobileHeaderType: { type: String, required: true },
7
+ langIsOn: { type: Boolean, required: true },
8
+ module: { type: String, required: true }
9
+ });
10
+ const emit = defineEmits(["goToAnotherModule", "search"]);
11
+ </script>
12
+
13
+ <template>
14
+ <section
15
+ id="mobile-header"
16
+ class="grow lg:hidden"
17
+ >
18
+ <div
19
+ v-if="mobileHeaderType === 'default'"
20
+ class="flex justify-between"
21
+ >
22
+ <div>
23
+ <slot name="burger" />
24
+ </div>
25
+ <nuxt-link
26
+ class="text-deepblue dark:text-[#E3E5E8]"
27
+ @click="emit('goToAnotherModule')"
28
+ >
29
+ <i-adata
30
+ :font-controlled="false"
31
+ filled
32
+ />
33
+ </nuxt-link>
34
+ <div />
35
+ </div>
36
+ <div
37
+ v-else-if="mobileHeaderType === 'search'"
38
+ class="flex w-full items-center gap-2 bg-white dark:bg-gray-900 lg:hidden"
39
+ >
40
+ <i-logo
41
+ class="dark:text-gray-200"
42
+ @click="emit('goToAnotherModule')"
43
+ />
44
+ <button
45
+ class="flex w-full items-center gap-2 rounded bg-gray-50 px-4 py-1.5 dark:bg-gray-800 dark:text-gray-500"
46
+ @click="emit('search')"
47
+ >
48
+ <i-search />
49
+ <span class="body-400">Найти</span>
50
+ </button>
51
+ </div>
52
+ </section>
53
+ </template>
@@ -0,0 +1,17 @@
1
+ type __VLS_Props = {
2
+ mobileHeaderType: 'default' | 'search';
3
+ langIsOn: boolean;
4
+ module: string;
5
+ };
6
+ declare var __VLS_1: {};
7
+ type __VLS_Slots = {} & {
8
+ burger?: (props: typeof __VLS_1) => any;
9
+ };
10
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,68 @@
1
+ <script setup>
2
+ import { useAppConfig, useI18n } from "#imports";
3
+ const props = defineProps({
4
+ items: { type: Array, required: true },
5
+ hasNotification: { type: Boolean, required: false },
6
+ isAuthenticated: { type: Boolean, required: true }
7
+ });
8
+ const activeModel = defineModel({ type: String, ...{ default: "" } });
9
+ const appConfig = useAppConfig();
10
+ const mode = appConfig.adataUI.mode;
11
+ const { t } = useI18n();
12
+ function pushItem(value) {
13
+ if (value === activeModel.value) value = "";
14
+ activeModel.value = value;
15
+ }
16
+ function pushProfile() {
17
+ if (props.isAuthenticated) {
18
+ pushItem("profile");
19
+ } else {
20
+ const fullPath = encodeURIComponent(window.location.toString());
21
+ location.href = `https://id.${mode}.kz/?url=${fullPath}`;
22
+ }
23
+ }
24
+ </script>
25
+
26
+ <template>
27
+ <div class="sticky bottom-0 z-100 lg:hidden">
28
+ <div class="w-full border-t border-gray-500/50 bg-white dark:bg-gray-900">
29
+ <div class="grid w-full grid-flow-col auto-cols-fr items-center">
30
+ <slot>
31
+ <button
32
+ v-for="item in items"
33
+ :key="item"
34
+ class="h-16 w-full flex flex-col justify-center items-center"
35
+ @click="pushItem(item.value)"
36
+ >
37
+ <component
38
+ :is="item.icon"
39
+ class="size-6 shrink-0"
40
+ />
41
+ <span class="text-[10px] leading-5">{{ t(item.label) }}</span>
42
+ </button>
43
+ </slot>
44
+ <slot
45
+ name="notifications"
46
+ :items="items"
47
+ />
48
+ <button
49
+ class="h-16 w-full flex flex-col justify-center items-center"
50
+ @click="pushProfile"
51
+ >
52
+ <template v-if="isAuthenticated">
53
+ <i-avatar class="shrink-0" />
54
+ <span class="text-[10px] leading-5 mt-1">
55
+ {{ t("modals.mobile_navigation.type_profile") }}
56
+ </span>
57
+ </template>
58
+ <template v-else>
59
+ <i-navigation-logout class="shrink-0" />
60
+ <span class="text-[10px] leading-5 mt-1">
61
+ {{ t("header.login") }}
62
+ </span>
63
+ </template>
64
+ </button>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </template>
@@ -0,0 +1,29 @@
1
+ interface Props {
2
+ items: T[];
3
+ hasNotification?: boolean;
4
+ isAuthenticated: boolean;
5
+ }
6
+ type __VLS_Props = Props;
7
+ type __VLS_PublicProps = __VLS_Props & {
8
+ modelValue?: string;
9
+ };
10
+ declare var __VLS_1: {}, __VLS_7: {
11
+ items: any;
12
+ };
13
+ type __VLS_Slots = {} & {
14
+ default?: (props: typeof __VLS_1) => any;
15
+ } & {
16
+ notifications?: (props: typeof __VLS_7) => any;
17
+ };
18
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
+ "update:modelValue": (value: string) => any;
20
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
24
+ export default _default;
25
+ type __VLS_WithSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };