@uzum-tech/ui 1.11.1 → 1.12.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 (281) hide show
  1. package/dist/index.js +10830 -6653
  2. package/dist/index.prod.js +4 -4
  3. package/es/_internal/icons/BurgerMenuIcon.d.ts +2 -0
  4. package/es/_internal/icons/BurgerMenuIcon.js +4 -0
  5. package/es/_internal/icons/Logout.d.ts +2 -0
  6. package/es/_internal/icons/Logout.js +4 -0
  7. package/es/_internal/icons/OzbekFlag.d.ts +2 -0
  8. package/es/_internal/icons/OzbekFlag.js +15 -0
  9. package/es/_internal/icons/RussiaFlag.d.ts +2 -0
  10. package/es/_internal/icons/RussiaFlag.js +11 -0
  11. package/es/_internal/icons/SendFilled.d.ts +2 -0
  12. package/es/_internal/icons/SendFilled.js +9 -0
  13. package/es/_internal/icons/index.d.ts +5 -0
  14. package/es/_internal/icons/index.js +5 -0
  15. package/es/_styles/common/dark.js +1 -1
  16. package/es/_styles/common/light.d.ts +1 -0
  17. package/es/_styles/common/light.js +1 -1
  18. package/es/chat/src/Chat.d.ts +464 -83
  19. package/es/chat/src/Chat.js +17 -2
  20. package/es/chat/src/ChatListItems.d.ts +497 -94
  21. package/es/chat/src/ChatListItems.js +1 -1
  22. package/es/chat/src/ChatMessages.d.ts +501 -94
  23. package/es/chat/src/ChatMessages.js +115 -22
  24. package/es/chat/src/ChatParts/MainArea.d.ts +7 -3
  25. package/es/chat/src/ChatParts/MainArea.js +110 -14
  26. package/es/chat/src/ChatParts/Sidebar.d.ts +64 -11
  27. package/es/chat/src/interface.d.ts +18 -0
  28. package/es/chat/src/interface.js +6 -0
  29. package/es/chat/src/styles/index.cssr.js +22 -1
  30. package/es/chat/styles/dark.d.ts +41 -8
  31. package/es/chat/styles/dark.js +6 -2
  32. package/es/chat/styles/light.d.ts +42 -8
  33. package/es/chat/styles/light.js +7 -2
  34. package/es/components.d.ts +3 -0
  35. package/es/components.js +3 -0
  36. package/es/config-provider/src/internal-interface.d.ts +17 -0
  37. package/es/dialog/src/DialogProvider.d.ts +2 -0
  38. package/es/form/src/FormItemCol.d.ts +2 -2
  39. package/es/form/src/FormItemGridItem.d.ts +2 -2
  40. package/es/form/src/FormItemRow.d.ts +1 -1
  41. package/es/grid/src/Grid.d.ts +1 -1
  42. package/es/grid/src/GridItem.d.ts +2 -2
  43. package/es/header/demos/mock.d.ts +2 -0
  44. package/es/header/demos/mock.js +235 -0
  45. package/es/header/index.d.ts +12 -0
  46. package/es/header/index.js +10 -0
  47. package/es/header/src/Header.d.ts +604 -0
  48. package/es/header/src/Header.js +320 -0
  49. package/es/header/src/HeaderActions.d.ts +120 -0
  50. package/es/header/src/HeaderActions.js +166 -0
  51. package/es/header/src/HeaderDesktopLayout.d.ts +25 -0
  52. package/es/header/src/HeaderDesktopLayout.js +24 -0
  53. package/es/header/src/HeaderMobileLayout.d.ts +25 -0
  54. package/es/header/src/HeaderMobileLayout.js +21 -0
  55. package/es/header/src/HeaderNavigation.d.ts +128 -0
  56. package/es/header/src/HeaderNavigation.js +172 -0
  57. package/es/header/src/HeaderSearchDesktop.d.ts +79 -0
  58. package/es/header/src/HeaderSearchDesktop.js +77 -0
  59. package/es/header/src/HeaderSearchMobile.d.ts +73 -0
  60. package/es/header/src/HeaderSearchMobile.js +126 -0
  61. package/es/header/src/HeaderSearchResults.d.ts +81 -0
  62. package/es/header/src/HeaderSearchResults.js +74 -0
  63. package/es/header/src/constants.d.ts +1 -0
  64. package/es/header/src/constants.js +1 -0
  65. package/es/header/src/interface.d.ts +58 -0
  66. package/es/header/src/interface.js +1 -0
  67. package/es/header/src/mobile/HeaderMobile.d.ts +218 -0
  68. package/es/header/src/mobile/HeaderMobile.js +241 -0
  69. package/es/header/src/styles/index.cssr.d.ts +6 -0
  70. package/es/header/src/styles/index.cssr.js +519 -0
  71. package/es/header/src/utils.d.ts +12 -0
  72. package/es/header/src/utils.js +47 -0
  73. package/es/header/styles/dark.d.ts +36 -0
  74. package/es/header/styles/dark.js +9 -0
  75. package/es/header/styles/index.d.ts +3 -0
  76. package/es/header/styles/index.js +2 -0
  77. package/es/header/styles/light.d.ts +72 -0
  78. package/es/header/styles/light.js +45 -0
  79. package/es/icon/src/Icon.d.ts +3 -0
  80. package/es/icon/src/Icon.js +3 -2
  81. package/es/icon-bar/index.d.ts +4 -0
  82. package/es/icon-bar/index.js +2 -0
  83. package/es/icon-bar/src/IconBar.d.ts +175 -0
  84. package/es/icon-bar/src/IconBar.js +57 -0
  85. package/es/icon-bar/src/IconBarItem.d.ts +163 -0
  86. package/es/icon-bar/src/IconBarItem.js +50 -0
  87. package/es/icon-bar/src/styles/index.cssr.d.ts +2 -0
  88. package/es/icon-bar/src/styles/index.cssr.js +62 -0
  89. package/es/icon-bar/styles/dark.d.ts +3 -0
  90. package/es/icon-bar/styles/dark.js +8 -0
  91. package/es/icon-bar/styles/index.d.ts +3 -0
  92. package/es/icon-bar/styles/index.js +2 -0
  93. package/es/icon-bar/styles/light.d.ts +19 -0
  94. package/es/icon-bar/styles/light.js +23 -0
  95. package/es/locales/common/arDZ.js +11 -1
  96. package/es/locales/common/deDE.js +11 -1
  97. package/es/locales/common/enGB.js +11 -1
  98. package/es/locales/common/enUS.d.ts +10 -0
  99. package/es/locales/common/enUS.js +11 -1
  100. package/es/locales/common/eo.js +11 -1
  101. package/es/locales/common/esAR.js +11 -1
  102. package/es/locales/common/faIR.js +11 -1
  103. package/es/locales/common/frFR.js +11 -1
  104. package/es/locales/common/idID.js +11 -1
  105. package/es/locales/common/itIT.js +11 -1
  106. package/es/locales/common/jaJP.js +11 -1
  107. package/es/locales/common/koKR.js +11 -1
  108. package/es/locales/common/nbNO.js +11 -1
  109. package/es/locales/common/nlNL.js +11 -1
  110. package/es/locales/common/plPL.js +11 -1
  111. package/es/locales/common/ptBR.js +11 -1
  112. package/es/locales/common/ruRU.js +11 -1
  113. package/es/locales/common/skSK.js +11 -1
  114. package/es/locales/common/svSE.js +11 -1
  115. package/es/locales/common/thTH.js +11 -1
  116. package/es/locales/common/trTR.js +11 -1
  117. package/es/locales/common/ukUA.js +11 -1
  118. package/es/locales/common/viVN.js +11 -1
  119. package/es/locales/common/zhCN.js +11 -1
  120. package/es/locales/common/zhTW.js +11 -1
  121. package/es/modal-fullscreen/src/ModalFull.js +1 -1
  122. package/es/qr-code/index.d.ts +2 -0
  123. package/es/qr-code/index.js +1 -0
  124. package/es/qr-code/src/QrCode.d.ts +171 -0
  125. package/es/qr-code/src/QrCode.js +229 -0
  126. package/es/qr-code/src/qrcodegen.d.ts +95 -0
  127. package/es/qr-code/src/qrcodegen.js +949 -0
  128. package/es/qr-code/src/styles/index.cssr.d.ts +2 -0
  129. package/es/qr-code/src/styles/index.cssr.js +8 -0
  130. package/es/qr-code/styles/dark.d.ts +3 -0
  131. package/es/qr-code/styles/dark.js +11 -0
  132. package/es/qr-code/styles/index.d.ts +3 -0
  133. package/es/qr-code/styles/index.js +2 -0
  134. package/es/qr-code/styles/light.d.ts +9 -0
  135. package/es/qr-code/styles/light.js +12 -0
  136. package/es/theme-editor/src/ThemeEditor.d.ts +1 -0
  137. package/es/themes/dark.js +7 -1
  138. package/es/themes/light.js +7 -1
  139. package/es/version.d.ts +1 -1
  140. package/es/version.js +1 -1
  141. package/lib/_internal/icons/BurgerMenuIcon.d.ts +2 -0
  142. package/lib/_internal/icons/BurgerMenuIcon.js +6 -0
  143. package/lib/_internal/icons/Logout.d.ts +2 -0
  144. package/lib/_internal/icons/Logout.js +6 -0
  145. package/lib/_internal/icons/OzbekFlag.d.ts +2 -0
  146. package/lib/_internal/icons/OzbekFlag.js +17 -0
  147. package/lib/_internal/icons/RussiaFlag.d.ts +2 -0
  148. package/lib/_internal/icons/RussiaFlag.js +13 -0
  149. package/lib/_internal/icons/SendFilled.d.ts +2 -0
  150. package/lib/_internal/icons/SendFilled.js +11 -0
  151. package/lib/_internal/icons/index.d.ts +5 -0
  152. package/lib/_internal/icons/index.js +11 -1
  153. package/lib/_styles/common/dark.js +1 -1
  154. package/lib/_styles/common/light.d.ts +1 -0
  155. package/lib/_styles/common/light.js +1 -1
  156. package/lib/chat/src/Chat.d.ts +464 -83
  157. package/lib/chat/src/Chat.js +17 -2
  158. package/lib/chat/src/ChatListItems.d.ts +497 -94
  159. package/lib/chat/src/ChatListItems.js +1 -1
  160. package/lib/chat/src/ChatMessages.d.ts +501 -94
  161. package/lib/chat/src/ChatMessages.js +113 -20
  162. package/lib/chat/src/ChatParts/MainArea.d.ts +7 -3
  163. package/lib/chat/src/ChatParts/MainArea.js +108 -12
  164. package/lib/chat/src/ChatParts/Sidebar.d.ts +64 -11
  165. package/lib/chat/src/interface.d.ts +18 -0
  166. package/lib/chat/src/interface.js +7 -1
  167. package/lib/chat/src/styles/index.cssr.js +22 -1
  168. package/lib/chat/styles/dark.d.ts +41 -8
  169. package/lib/chat/styles/dark.js +6 -2
  170. package/lib/chat/styles/light.d.ts +42 -8
  171. package/lib/chat/styles/light.js +7 -2
  172. package/lib/components.d.ts +3 -0
  173. package/lib/components.js +3 -0
  174. package/lib/config-provider/src/internal-interface.d.ts +17 -0
  175. package/lib/dialog/src/DialogProvider.d.ts +2 -0
  176. package/lib/form/src/FormItemCol.d.ts +2 -2
  177. package/lib/form/src/FormItemGridItem.d.ts +2 -2
  178. package/lib/form/src/FormItemRow.d.ts +1 -1
  179. package/lib/grid/src/Grid.d.ts +1 -1
  180. package/lib/grid/src/GridItem.d.ts +2 -2
  181. package/lib/header/demos/mock.d.ts +2 -0
  182. package/lib/header/demos/mock.js +238 -0
  183. package/lib/header/index.d.ts +12 -0
  184. package/lib/header/index.js +48 -0
  185. package/lib/header/src/Header.d.ts +604 -0
  186. package/lib/header/src/Header.js +349 -0
  187. package/lib/header/src/HeaderActions.d.ts +120 -0
  188. package/lib/header/src/HeaderActions.js +172 -0
  189. package/lib/header/src/HeaderDesktopLayout.d.ts +25 -0
  190. package/lib/header/src/HeaderDesktopLayout.js +27 -0
  191. package/lib/header/src/HeaderMobileLayout.d.ts +25 -0
  192. package/lib/header/src/HeaderMobileLayout.js +24 -0
  193. package/lib/header/src/HeaderNavigation.d.ts +128 -0
  194. package/lib/header/src/HeaderNavigation.js +175 -0
  195. package/lib/header/src/HeaderSearchDesktop.d.ts +79 -0
  196. package/lib/header/src/HeaderSearchDesktop.js +83 -0
  197. package/lib/header/src/HeaderSearchMobile.d.ts +73 -0
  198. package/lib/header/src/HeaderSearchMobile.js +132 -0
  199. package/lib/header/src/HeaderSearchResults.d.ts +81 -0
  200. package/lib/header/src/HeaderSearchResults.js +77 -0
  201. package/lib/header/src/constants.d.ts +1 -0
  202. package/lib/header/src/constants.js +4 -0
  203. package/lib/header/src/interface.d.ts +58 -0
  204. package/lib/header/src/interface.js +2 -0
  205. package/lib/header/src/mobile/HeaderMobile.d.ts +218 -0
  206. package/lib/header/src/mobile/HeaderMobile.js +244 -0
  207. package/lib/header/src/styles/index.cssr.d.ts +6 -0
  208. package/lib/header/src/styles/index.cssr.js +525 -0
  209. package/lib/header/src/utils.d.ts +12 -0
  210. package/lib/header/src/utils.js +58 -0
  211. package/lib/header/styles/dark.d.ts +36 -0
  212. package/lib/header/styles/dark.js +11 -0
  213. package/lib/header/styles/index.d.ts +3 -0
  214. package/lib/header/styles/index.js +10 -0
  215. package/lib/header/styles/light.d.ts +72 -0
  216. package/lib/header/styles/light.js +49 -0
  217. package/lib/icon/src/Icon.d.ts +3 -0
  218. package/lib/icon/src/Icon.js +3 -2
  219. package/lib/icon-bar/index.d.ts +4 -0
  220. package/lib/icon-bar/index.js +12 -0
  221. package/lib/icon-bar/src/IconBar.d.ts +175 -0
  222. package/lib/icon-bar/src/IconBar.js +63 -0
  223. package/lib/icon-bar/src/IconBarItem.d.ts +163 -0
  224. package/lib/icon-bar/src/IconBarItem.js +56 -0
  225. package/lib/icon-bar/src/styles/index.cssr.d.ts +2 -0
  226. package/lib/icon-bar/src/styles/index.cssr.js +67 -0
  227. package/lib/icon-bar/styles/dark.d.ts +3 -0
  228. package/lib/icon-bar/styles/dark.js +10 -0
  229. package/lib/icon-bar/styles/index.d.ts +3 -0
  230. package/lib/icon-bar/styles/index.js +10 -0
  231. package/lib/icon-bar/styles/light.d.ts +19 -0
  232. package/lib/icon-bar/styles/light.js +27 -0
  233. package/lib/locales/common/arDZ.js +11 -1
  234. package/lib/locales/common/deDE.js +11 -1
  235. package/lib/locales/common/enGB.js +11 -1
  236. package/lib/locales/common/enUS.d.ts +10 -0
  237. package/lib/locales/common/enUS.js +11 -1
  238. package/lib/locales/common/eo.js +11 -1
  239. package/lib/locales/common/esAR.js +11 -1
  240. package/lib/locales/common/faIR.js +11 -1
  241. package/lib/locales/common/frFR.js +11 -1
  242. package/lib/locales/common/idID.js +11 -1
  243. package/lib/locales/common/itIT.js +11 -1
  244. package/lib/locales/common/jaJP.js +11 -1
  245. package/lib/locales/common/koKR.js +11 -1
  246. package/lib/locales/common/nbNO.js +11 -1
  247. package/lib/locales/common/nlNL.js +11 -1
  248. package/lib/locales/common/plPL.js +11 -1
  249. package/lib/locales/common/ptBR.js +11 -1
  250. package/lib/locales/common/ruRU.js +11 -1
  251. package/lib/locales/common/skSK.js +11 -1
  252. package/lib/locales/common/svSE.js +11 -1
  253. package/lib/locales/common/thTH.js +11 -1
  254. package/lib/locales/common/trTR.js +11 -1
  255. package/lib/locales/common/ukUA.js +11 -1
  256. package/lib/locales/common/viVN.js +11 -1
  257. package/lib/locales/common/zhCN.js +11 -1
  258. package/lib/locales/common/zhTW.js +11 -1
  259. package/lib/modal-fullscreen/src/ModalFull.js +1 -1
  260. package/lib/qr-code/index.d.ts +2 -0
  261. package/lib/qr-code/index.js +9 -0
  262. package/lib/qr-code/src/QrCode.d.ts +171 -0
  263. package/lib/qr-code/src/QrCode.js +235 -0
  264. package/lib/qr-code/src/qrcodegen.d.ts +95 -0
  265. package/lib/qr-code/src/qrcodegen.js +950 -0
  266. package/lib/qr-code/src/styles/index.cssr.d.ts +2 -0
  267. package/lib/qr-code/src/styles/index.cssr.js +13 -0
  268. package/lib/qr-code/styles/dark.d.ts +3 -0
  269. package/lib/qr-code/styles/dark.js +13 -0
  270. package/lib/qr-code/styles/index.d.ts +3 -0
  271. package/lib/qr-code/styles/index.js +10 -0
  272. package/lib/qr-code/styles/light.d.ts +9 -0
  273. package/lib/qr-code/styles/light.js +14 -0
  274. package/lib/theme-editor/src/ThemeEditor.d.ts +1 -0
  275. package/lib/themes/dark.js +7 -1
  276. package/lib/themes/light.js +7 -1
  277. package/lib/version.d.ts +1 -1
  278. package/lib/version.js +1 -1
  279. package/package.json +1 -1
  280. package/volar.d.ts +12 -0
  281. package/web-types.json +854 -2
@@ -0,0 +1,6 @@
1
+ declare const _default: import("css-render").CNode;
2
+ export default _default;
3
+ export declare const headerMobileMenuStyle: import("css-render").CNode;
4
+ export declare const headerSearchMobileStyle: import("css-render").CNode;
5
+ export declare const headerSearchDesktopStyle: import("css-render").CNode;
6
+ export declare const headerSearchResultsStyle: import("css-render").CNode;
@@ -0,0 +1,519 @@
1
+ import { c, cB, cE, cM } from '../../../_utils/cssr';
2
+ export default cB('header', `
3
+ width: 100%;
4
+ box-sizing: border-box;
5
+ font-size: var(--u-font-size);
6
+ color: var(--u-header-text-color);
7
+ display: flex;
8
+ justify-content: center;
9
+ background-color: var(--u-header-bg-color);
10
+ border-bottom: 1px solid var(--u-header-mobile-border-color);
11
+ `, [cM('mobile', [cE('inner', `
12
+ height: 56px;
13
+ padding: 0px 16px;
14
+ gap: 12px;
15
+ justify-content: space-between;
16
+ width: 100%;
17
+ `), cE('logo', [c('img', `
18
+ max-height: 24px;
19
+ `)])]), cM('desktop', [cE('inner-wrapper', `
20
+ width: 1300px;
21
+ box-sizing: border-box;
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: space-between;
25
+ gap: var(--u-header-navigation-gap);
26
+ padding: 0;
27
+ position: relative;
28
+ height: 80px;
29
+ transition: height 0.3s var(--u-bezier), padding 0.3s var(--u-bezier);
30
+ `), cE('inner-left', `
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: space-between;
34
+ gap: 60px;
35
+ height: 100%;
36
+ `)]), cE('inner', `
37
+ box-sizing: border-box;
38
+ display: flex;
39
+ align-items: center;
40
+ gap: var(--u-header-navigation-gap);
41
+ padding: 0;
42
+ position: relative;
43
+ height: 80px;
44
+ transition: height 0.3s var(--u-bezier), padding 0.3s var(--u-bezier);
45
+ `), cE('burger', `
46
+ padding: 0;
47
+ color: var(--u-header-action-icon-color);
48
+ `, [c('&:hover', `
49
+ color: var(--u-header-action-icon-hover-color);
50
+ `)]), cE('logo', `
51
+ flex-shrink: 0;
52
+ display: flex;
53
+ align-items: center;
54
+ min-height: 40px;
55
+ `, [c('img', `
56
+ display: block;
57
+ max-height: 32px;
58
+ width: auto;
59
+ `)]), cE('navigation', `
60
+ flex: 1;
61
+ min-width: 0;
62
+ display: flex;
63
+ justify-content: center;
64
+ height: 100%;
65
+ `), cE('actions', `
66
+ position: relative;
67
+ display: inline-flex;
68
+ align-items: center;
69
+ gap: var(--u-header-action-gap);
70
+ flex-shrink: 0;
71
+ height: 100%;
72
+ `, [cE('actions-block', `
73
+ height: 100%;
74
+ `), cE('search-wrapper', `
75
+ position: relative;
76
+ display: flex;
77
+ align-items: center;
78
+ `), c('& .u-button', `
79
+ color: var(--u-header-action-icon-color);
80
+ padding: 0;
81
+ `, [c('&:hover', `
82
+ color: var(--u-header-action-icon-hover-color);
83
+ `)])]), cE('tabs', `
84
+ width: 100%;
85
+ height: 100%;
86
+ `, [c('& .u-tabs-nav-scroll-content', `
87
+ gap: 40px;
88
+ height: 100%;
89
+ `), c('& .u-tabs-nav-scroll-wrapper', `
90
+ flex: unset;
91
+ align-items: center;
92
+ `), c('& .u-tabs-nav', `
93
+ height: 100%;
94
+ `), c('& .u-tabs-tab', `
95
+ padding: 0;
96
+ color: var(--u-header-tab-text-color);
97
+ `), c('& .u-tabs-tab--active', `
98
+ color: var(--u-header-tab-text-color-active);
99
+ `), c('& .u-tabs-tab:hover', `
100
+ color: var(--u-header-tab-text-color-hover);
101
+ `), c('& .u-tabs-bar', `
102
+ background-color: var(--u-header-tab-indicator-color);
103
+ `), c('& .u-tabs-pane-wrapper', `
104
+ position: absolute;
105
+ z-index: 1000;
106
+ width: max-content;
107
+ top: 100%;
108
+ `), c('& .v-x-scroll', `
109
+ height: 100%;
110
+ `)]), cE('tab', `
111
+ display: inline-flex;
112
+ align-items: center;
113
+ gap: 8px;
114
+ font-size: var(--u-font-size);
115
+ font-weight: 500;
116
+ `), cE('tab-icon', `
117
+ display: inline-flex;
118
+ font-size: 20px;
119
+ `), cE('tab-label', `
120
+ white-space: nowrap;
121
+ `, [c('& a', `
122
+ text-decoration: none;
123
+ color: inherit;
124
+ `)]), cE('badge', `
125
+ display: inline-flex;
126
+ align-items: center;
127
+ justify-content: center;
128
+ padding: 1px 10px 0;
129
+ border-radius: 16px;
130
+ font-size: 12px;
131
+ font-weight: 600;
132
+ height: auto;
133
+ background-color: var(--u-header-badge-bg-color);
134
+ color: var(--u-header-badge-text-color);
135
+ `), cE('tab-pane-wrapper', `
136
+ overflow: visible;
137
+ `), cE('tab-pane', `
138
+ padding: 0;
139
+ `), cE('menu-card', `
140
+ background-color: var(--u-header-card-bg-color);
141
+ border-radius: var(--u-header-card-radius);
142
+ padding: var(--u-header-card-padding);
143
+ `), cE('menu-grid', `
144
+ display: grid;
145
+ gap: var(--u-header-card-gap);
146
+ `), cE('menu-column', `
147
+ display: flex;
148
+ flex-direction: column;
149
+ gap: 16px;
150
+ `, [cM('single', `
151
+ gap: 8px;
152
+ `)]), cE('menu-column-section', `
153
+ display: flex;
154
+ flex-direction: column;
155
+ gap: 20px;
156
+ `, [c('& + &', `
157
+ margin-top: 16px;
158
+ `)]), cE('menu-column-section--single', `
159
+ gap: 8px;
160
+ `), cE('menu-column-title', `
161
+ font-size: var(--u-font-title-small);
162
+ font-weight: 600;
163
+ color: var(--u-header-card-title-color);
164
+ `), cE('menu-column-list', `
165
+ display: flex;
166
+ flex-direction: column;
167
+ gap: 0px;
168
+ `), cE('menu-item', `
169
+ display: flex;
170
+ align-items: center;
171
+ gap: 16px;
172
+ color: var(--u-header-card-item-color);
173
+ transition: color .3s var(--u-bezier);
174
+ cursor: pointer;
175
+ padding: 8px 0;
176
+ `, [c('&:hover', `
177
+ color: var(--u-header-card-item-hover-color);
178
+ `), cM('disabled', `
179
+ pointer-events: none;
180
+ opacity: .5;
181
+ cursor: not-allowed;
182
+ `)]), cE('menu-item-main', `
183
+ display: inline-flex;
184
+ align-items: center;
185
+ gap: 8px;
186
+ `), cE('menu-item-icon', `
187
+ font-size: 16px;
188
+ display: inline-flex;
189
+ `), cE('menu-divider', `
190
+ width: 100%;
191
+ height: 1px;
192
+ background-color: var(--u-header-card-divider-color);
193
+ `), cE('lang-trigger', `
194
+ display: inline-flex;
195
+ align-items: center;
196
+ gap: 8px;
197
+ `), cE('lang-icon', `
198
+ width: 24px;
199
+ height: 24px;
200
+ display: inline-flex;
201
+ justify-content: center;
202
+ align-items: center;
203
+ `)]);
204
+ export const headerMobileMenuStyle = cB('header-mobile-menu', `
205
+ display: flex;
206
+ flex-direction: column;
207
+ background-color: var(--u-header-bg-color);
208
+ `, [cE('header', `
209
+ display: flex;
210
+ justify-content: space-between;
211
+ align-items: center;
212
+ padding: 16px 24px;
213
+ border-bottom: 1px solid var(--u-header-mobile-border-color);
214
+ flex-shrink: 0;
215
+ min-height: 60px;
216
+ gap: 24px;
217
+ `), cE('close', `
218
+ flex-shrink: 0;
219
+ padding: 0;
220
+ `), cE('actions', `
221
+ display: flex;
222
+ align-items: center;
223
+ justify-content: space-between;
224
+ flex: 1;
225
+ gap: 16px;
226
+ `, [c('& .u-button', `
227
+ color: var(--u-header-action-icon-color);
228
+ font-size: 16px;
229
+ font-weight: 500;
230
+ `, [c('&:hover', `
231
+ color: var(--u-header-action-icon-hover-color);
232
+ `)])]), cE('body', `
233
+ overflow-y: auto;
234
+ padding: 16px 0;
235
+ `), cE('list', `
236
+ display: flex;
237
+ flex-direction: column;
238
+ gap: 0;
239
+ padding: 0;
240
+ `), cE('item', `
241
+ display: flex;
242
+ align-items: center;
243
+ justify-content: space-between;
244
+ gap: 12px;
245
+ padding: 24px;
246
+ box-sizing: border-box;
247
+ min-height: 72px;
248
+ color: var(--u-header-text-color);
249
+ cursor: pointer;
250
+ transition: background-color 0.3s var(--u-bezier), color 0.3s var(--u-bezier);
251
+ position: relative;
252
+ `, [cM('expandable', [c('&::after', `
253
+ content: '';
254
+ position: absolute;
255
+ right: 24px;
256
+ top: 50%;
257
+ transform: translateY(-50%);
258
+ width: 8px;
259
+ height: 8px;
260
+ border-right: 2px solid currentColor;
261
+ border-top: 2px solid currentColor;
262
+ transform: translateY(-50%) rotate(45deg);
263
+ opacity: 0.6;
264
+ transition: transform 0.3s var(--u-bezier);
265
+ `)]), cM('expanded', [c('&::after', `
266
+ transform: translateY(-50%) rotate(135deg);
267
+ `)]), c('&:hover', `
268
+ background-color: var(--u-header-mobile-item-hover-color);
269
+ `), c('&:active', `
270
+ background-color: var(--u-header-mobile-item-pressed-color);
271
+ `), cM('active', `
272
+ background-color: var(--u-header-mobile-item-active-color);
273
+ color: var(--u-header-tab-text-color-active);
274
+ font-weight: 500;
275
+ `), cM('disabled', `
276
+ opacity: 0.5;
277
+ cursor: not-allowed;
278
+ pointer-events: none;
279
+ `)]), cE('item-icon', `
280
+ display: inline-flex;
281
+ font-size: 20px;
282
+ flex-shrink: 0;
283
+ `), cE('item-label', `
284
+ flex: 1;
285
+ font-size: 16px;
286
+ font-weight: 600;
287
+ `, [c('& a', `
288
+ text-decoration: none;
289
+ color: inherit;
290
+ `)]), cE('footer', `
291
+ padding: 24px;
292
+ display: flex;
293
+ flex-direction: column;
294
+ gap: 12px;
295
+ border-top: 1px solid var(--u-header-card-divider-color);
296
+ flex-shrink: 0;
297
+ background-color: var(--u-header-bg-color);
298
+ `), cE('children', `
299
+ display: flex;
300
+ flex-direction: column;
301
+ gap: 0;
302
+ overflow: hidden;
303
+ animation: expand 0.3s var(--u-bezier);
304
+ `, [c('@keyframes expand', `
305
+ from {
306
+ max-height: 0;
307
+ opacity: 0;
308
+ }
309
+ to {
310
+ max-height: 1000px;
311
+ opacity: 1;
312
+ }
313
+ `)]), cE('child-item', `
314
+ display: flex;
315
+ align-items: center;
316
+ gap: 12px;
317
+ padding: 16px 24px 12px;
318
+ min-height: 32px;
319
+ cursor: pointer;
320
+ transition: background-color 0.3s var(--u-bezier);
321
+ `, [c('&:hover', `
322
+ background-color: var(--u-header-mobile-item-hover-color);
323
+ `), cM('active', `
324
+ background-color: var(--u-header-mobile-item-active-color);
325
+ color: var(--u-header-tab-text-color-active);
326
+ font-weight: 500;
327
+ `)]), cE('child-item-label', `
328
+ flex: 1;
329
+ font-size: 14px;
330
+ font-weight: 400;
331
+ color: var(--u-header-text-color);
332
+ `), cE('group', `
333
+ display: flex;
334
+ flex-direction: column;
335
+ gap: 0;
336
+ `), cE('group-title', `
337
+ padding: 16px 24px 12px;
338
+ font-size: 14px;
339
+ font-weight: 400;
340
+ color: var(--u-header-card-title-color);
341
+ `), cE('group-items', `
342
+ display: flex;
343
+ flex-direction: column;
344
+ gap: 0;
345
+ `), cE('group-item', `
346
+ display: flex;
347
+ align-items: center;
348
+ gap: 12px;
349
+ padding: 4px 24px 4px 40px;
350
+ min-height: 32px;
351
+ cursor: pointer;
352
+ transition: background-color 0.3s var(--u-bezier);
353
+ `, [c('&:hover', `
354
+ background-color: var(--u-header-mobile-item-hover-color);
355
+ `), cM('active', `
356
+ background-color: var(--u-header-mobile-item-active-color);
357
+ color: var(--u-header-tab-text-color-active);
358
+ font-weight: 500;
359
+ `)]), cE('group-item-label', `
360
+ flex: 1;
361
+ font-size: 14px;
362
+ font-weight: 400;
363
+ color: var(--u-header-mobile-group-item-color);
364
+ `), cE('lang-content', `
365
+ display: flex;
366
+ align-items: center;
367
+ gap: 14px;
368
+ `)]);
369
+ export const headerSearchMobileStyle = cB('header-search-mobile', `
370
+ display: flex;
371
+ flex-direction: column;
372
+ height: 100%;
373
+ background-color: #fff;
374
+ `, [cE('header', `
375
+ display: flex;
376
+ justify-content: space-between;
377
+ align-items: center;
378
+ padding: 16px 24px;
379
+ border-bottom: 1px solid var(--u-header-mobile-border-color);
380
+ flex-shrink: 0;
381
+ min-height: 60px;
382
+ gap: 24px;
383
+ `), cE('back', `
384
+ padding: 0 !important;
385
+ min-width: auto !important;
386
+ height: auto !important;
387
+ `), cE('input-wrapper', `
388
+ flex: 1;
389
+ position: relative;
390
+ display: flex;
391
+ align-items: center;
392
+ `), cE('input-icon', `
393
+ position: absolute;
394
+ left: 12px;
395
+ color: #666;
396
+ pointer-events: none;
397
+ `), cE('input', `
398
+ flex: 1;
399
+ width: 100%;
400
+ height: 40px;
401
+ padding: 0 12px 0 44px;
402
+ border: 1px solid #e0e0e0;
403
+ border-radius: 8px;
404
+ font-size: 14px;
405
+ outline: none;
406
+ transition: border-color 0.3s;
407
+ `, [c('&:focus', `
408
+ border-color: #18a058;
409
+ `)])]);
410
+ export const headerSearchDesktopStyle = cB('header-search-desktop', `
411
+ position: absolute;
412
+ top: calc(100% + 4px);
413
+ left: 50%;
414
+ transform: translateX(-50%);
415
+ z-index: 1000;
416
+ min-width: 400px;
417
+ background-color: var(--u-header-card-bg-color);
418
+ border-radius: var(--u-header-card-radius);
419
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
420
+ transform-origin: top center;
421
+ padding: 40px;
422
+ `, [cE('title', `
423
+ margin-bottom: 28px;
424
+ display: flex;
425
+ align-items: center;
426
+ gap: 16px;
427
+ `), cE('content', `
428
+ padding: 0;
429
+ display: flex;
430
+ align-items: center;
431
+ gap: 16px;
432
+ `), cE('input-wrapper', `
433
+ flex: 1;
434
+ position: relative;
435
+ display: flex;
436
+ align-items: center;
437
+ `), cE('input', `
438
+ flex: 1;
439
+ width: 100%;
440
+ `, [c('& .u-input__input-el', `
441
+ height: 44px;
442
+ font-size: 16px;
443
+ `)]), cE('close', `
444
+ position: absolute;
445
+ right: 16px;
446
+ top: 16px;
447
+ `)]);
448
+ export const headerSearchResultsStyle = cB('header-search-results', `
449
+ overflow-y: auto;
450
+ z-index: 1001;
451
+ `, [cM('desktop', `
452
+ position: absolute;
453
+ top: 100%;
454
+ left: 0;
455
+ right: 0;
456
+ margin-top: 8px;
457
+ background-color: var(--u-header-card-bg-color);
458
+ border-radius: var(--u-header-card-radius);
459
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
460
+ max-height: 400px;
461
+ `), cM('mobile', `
462
+ position: static;
463
+ `), cE('loading', `
464
+ display: flex;
465
+ flex-direction: column;
466
+ align-items: center;
467
+ justify-content: center;
468
+ gap: 12px;
469
+ padding: 32px 24px;
470
+ color: #666;
471
+ font-size: 14px;
472
+ `), cE('empty', `
473
+ padding: 32px 24px;
474
+ `), cE('list', `
475
+ padding: 8px 0;
476
+ `), cE('item', `
477
+ display: flex;
478
+ align-items: center;
479
+ gap: 12px;
480
+ padding: 12px 24px;
481
+ cursor: pointer;
482
+ transition: background-color 0.2s;
483
+ `, [c('&:hover', `
484
+ background-color: var(--u-header-mobile-item-hover-color);
485
+ `), c('&:active', `
486
+ background-color: var(--u-header-mobile-item-pressed-color);
487
+ `), cM('disabled', `
488
+ opacity: 0.5;
489
+ cursor: not-allowed;
490
+ `, [c('&:hover', `
491
+ background-color: transparent;
492
+ `), c('&:active', `
493
+ background-color: transparent;
494
+ `)])]), cE('item-icon', `
495
+ display: inline-flex;
496
+ font-size: 20px;
497
+ flex-shrink: 0;
498
+ color: #666;
499
+ `), cE('item-content', `
500
+ flex: 1;
501
+ min-width: 0;
502
+ `), cE('item-label', `
503
+ font-size: 14px;
504
+ font-weight: 500;
505
+ overflow: hidden;
506
+ text-overflow: ellipsis;
507
+ white-space: nowrap;
508
+ `), cE('item-description', `
509
+ font-size: 12px;
510
+ margin-top: 4px;
511
+ overflow: hidden;
512
+ text-overflow: ellipsis;
513
+ white-space: nowrap;
514
+ color: var(--u-header-tab-text-color);
515
+ `), cE('item-extra', `
516
+ font-size: 12px;
517
+ flex-shrink: 0;
518
+ color: var(--u-header-tab-text-color);
519
+ `)]);
@@ -0,0 +1,12 @@
1
+ import { type VNodeChild } from 'vue';
2
+ import type { HeaderMenuOption, HeaderMenuGroupOption, HeaderMenuChildOption, HeaderMenuDividerOption, HeaderMenuColumnOption, HeaderMenuPlacement } from './interface';
3
+ import { TabsProps } from '@uzum-tech/ui';
4
+ export declare function renderOptionLabel(option: HeaderMenuOption | HeaderMenuGroupOption): VNodeChild;
5
+ export declare function renderBadge(option: HeaderMenuOption | HeaderMenuGroupOption, className: string): VNodeChild | null;
6
+ export declare function getMenuItemKey(option: HeaderMenuOption, index: number): string | number;
7
+ export declare function hasChildren(option: HeaderMenuOption): boolean;
8
+ export declare function isGroupOption(option: HeaderMenuOption): option is HeaderMenuGroupOption;
9
+ export declare function isDividerOption(option: HeaderMenuChildOption): option is HeaderMenuDividerOption;
10
+ export declare function isColumnOption(option: HeaderMenuChildOption): option is HeaderMenuColumnOption;
11
+ export declare function isNotNull<T>(value: T | null): value is T;
12
+ export declare function resolvePlacement(placement: HeaderMenuPlacement): TabsProps['placement'];
@@ -0,0 +1,47 @@
1
+ import { h } from 'vue';
2
+ export function renderOptionLabel(option) {
3
+ var _a;
4
+ if (typeof option.label === 'function')
5
+ return option.label();
6
+ if (option.label !== undefined)
7
+ return option.label;
8
+ return ((_a = option.key) !== null && _a !== void 0 ? _a : '');
9
+ }
10
+ export function renderBadge(option, className) {
11
+ if (!option.extra)
12
+ return null;
13
+ const content = typeof option.extra === 'function' ? option.extra() : option.extra;
14
+ if (content === undefined || content === null || content === false) {
15
+ return null;
16
+ }
17
+ return h("span", { class: className }, content);
18
+ }
19
+ export function getMenuItemKey(option, index) {
20
+ var _a;
21
+ return (_a = option.key) !== null && _a !== void 0 ? _a : `header-menu-item-${index}`;
22
+ }
23
+ export function hasChildren(option) {
24
+ return Array.isArray(option.children) && option.children.length > 0;
25
+ }
26
+ export function isGroupOption(option) {
27
+ return option.type === 'group';
28
+ }
29
+ export function isDividerOption(option) {
30
+ return option.type === 'divider';
31
+ }
32
+ export function isColumnOption(option) {
33
+ return option.type === 'column';
34
+ }
35
+ export function isNotNull(value) {
36
+ return value !== null;
37
+ }
38
+ export function resolvePlacement(placement) {
39
+ switch (placement) {
40
+ case 'horizontal':
41
+ return 'top';
42
+ case 'vertical':
43
+ return 'left';
44
+ default:
45
+ return placement;
46
+ }
47
+ }
@@ -0,0 +1,36 @@
1
+ declare const headerDark: import("../../_mixins").Theme<"Header", {
2
+ fontSize: string;
3
+ fontBodyLarge: string;
4
+ fontTitleSmall: string;
5
+ backgroundColor: string;
6
+ textColor: string;
7
+ mutedTextColor: string;
8
+ borderRadius: string;
9
+ shadow: string;
10
+ navigationGap: string;
11
+ actionGap: string;
12
+ tabTextColor: string;
13
+ tabTextColorHover: string;
14
+ tabTextColorActive: string;
15
+ tabIndicatorColor: string;
16
+ cardBackgroundColor: string;
17
+ cardShadow: string;
18
+ cardBorderRadius: string;
19
+ cardTitleColor: string;
20
+ cardItemColor: string;
21
+ cardItemHoverColor: string;
22
+ cardDividerColor: string;
23
+ cardGap: string;
24
+ cardPadding: string;
25
+ badgeBackgroundColor: string;
26
+ badgeTextColor: string;
27
+ actionIconColor: string;
28
+ actionIconColorHover: string;
29
+ mobileBorderColor: string;
30
+ mobileItemHoverColor: string;
31
+ mobileItemPressedColor: string;
32
+ mobileItemActiveColor: string;
33
+ mobileGroupItemColor: string;
34
+ }, unknown>;
35
+ export default headerDark;
36
+ export type HeaderTheme = typeof headerDark;
@@ -0,0 +1,9 @@
1
+ import { commonDark } from '../../_styles/common';
2
+ import { createTheme } from '../../_mixins';
3
+ import { self as selfLight } from './light';
4
+ const headerDark = createTheme({
5
+ name: 'Header',
6
+ common: commonDark,
7
+ self: (vars) => selfLight(vars)
8
+ });
9
+ export default headerDark;
@@ -0,0 +1,3 @@
1
+ export { default as headerDark } from './dark';
2
+ export { default as headerLight } from './light';
3
+ export type { HeaderTheme, HeaderThemeVars } from './light';
@@ -0,0 +1,2 @@
1
+ export { default as headerDark } from './dark';
2
+ export { default as headerLight } from './light';
@@ -0,0 +1,72 @@
1
+ import type { ThemeCommonVars } from '../../_styles/common';
2
+ export declare const self: (vars: ThemeCommonVars) => {
3
+ fontSize: string;
4
+ fontBodyLarge: string;
5
+ fontTitleSmall: string;
6
+ backgroundColor: string;
7
+ textColor: string;
8
+ mutedTextColor: string;
9
+ borderRadius: string;
10
+ shadow: string;
11
+ navigationGap: string;
12
+ actionGap: string;
13
+ tabTextColor: string;
14
+ tabTextColorHover: string;
15
+ tabTextColorActive: string;
16
+ tabIndicatorColor: string;
17
+ cardBackgroundColor: string;
18
+ cardShadow: string;
19
+ cardBorderRadius: string;
20
+ cardTitleColor: string;
21
+ cardItemColor: string;
22
+ cardItemHoverColor: string;
23
+ cardDividerColor: string;
24
+ cardGap: string;
25
+ cardPadding: string;
26
+ badgeBackgroundColor: string;
27
+ badgeTextColor: string;
28
+ actionIconColor: string;
29
+ actionIconColorHover: string;
30
+ mobileBorderColor: string;
31
+ mobileItemHoverColor: string;
32
+ mobileItemPressedColor: string;
33
+ mobileItemActiveColor: string;
34
+ mobileGroupItemColor: string;
35
+ };
36
+ declare const headerLight: import("../../_mixins").Theme<"Header", {
37
+ fontSize: string;
38
+ fontBodyLarge: string;
39
+ fontTitleSmall: string;
40
+ backgroundColor: string;
41
+ textColor: string;
42
+ mutedTextColor: string;
43
+ borderRadius: string;
44
+ shadow: string;
45
+ navigationGap: string;
46
+ actionGap: string;
47
+ tabTextColor: string;
48
+ tabTextColorHover: string;
49
+ tabTextColorActive: string;
50
+ tabIndicatorColor: string;
51
+ cardBackgroundColor: string;
52
+ cardShadow: string;
53
+ cardBorderRadius: string;
54
+ cardTitleColor: string;
55
+ cardItemColor: string;
56
+ cardItemHoverColor: string;
57
+ cardDividerColor: string;
58
+ cardGap: string;
59
+ cardPadding: string;
60
+ badgeBackgroundColor: string;
61
+ badgeTextColor: string;
62
+ actionIconColor: string;
63
+ actionIconColorHover: string;
64
+ mobileBorderColor: string;
65
+ mobileItemHoverColor: string;
66
+ mobileItemPressedColor: string;
67
+ mobileItemActiveColor: string;
68
+ mobileGroupItemColor: string;
69
+ }, unknown>;
70
+ export default headerLight;
71
+ export type HeaderThemeVars = ReturnType<typeof self>;
72
+ export type HeaderTheme = typeof headerLight;