@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,349 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.headerProps = void 0;
39
+ const vue_1 = require("vue");
40
+ const vooks_1 = require("vooks");
41
+ const index_cssr_1 = __importStar(require("./styles/index.cssr"));
42
+ const _mixins_1 = require("../../_mixins");
43
+ const styles_1 = require("../styles");
44
+ const _utils_1 = require("../../_utils");
45
+ const utils_1 = require("./utils");
46
+ const composables_1 = require("../../_utils/composable/composables");
47
+ const icon_1 = require("../../icon");
48
+ const HeaderNavigation_1 = __importDefault(require("./HeaderNavigation"));
49
+ const HeaderMobile_1 = __importDefault(require("./mobile/HeaderMobile"));
50
+ const HeaderActions_1 = __importDefault(require("./HeaderActions"));
51
+ const HeaderDesktopLayout_1 = __importDefault(require("./HeaderDesktopLayout"));
52
+ const HeaderMobileLayout_1 = __importDefault(require("./HeaderMobileLayout"));
53
+ const HeaderSearchMobile_1 = __importDefault(require("./HeaderSearchMobile"));
54
+ const icons_1 = require("../../_internal/icons");
55
+ const defaultLogoSrc = '/demo/assets/images/logo.svg';
56
+ const defaultLangOptions = [
57
+ {
58
+ label: 'Русский',
59
+ key: 'ru',
60
+ icon: () => (0, vue_1.h)(icon_1.UIcon, { size: 18 }, {
61
+ default: () => (0, vue_1.h)(icons_1.RussiaFlag)
62
+ })
63
+ },
64
+ {
65
+ label: "O'zbek",
66
+ key: 'uz',
67
+ icon: () => (0, vue_1.h)(icon_1.UIcon, { size: 18 }, {
68
+ default: () => (0, vue_1.h)(icons_1.OzbekFlag)
69
+ })
70
+ }
71
+ ];
72
+ exports.headerProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { menuOptions: {
73
+ type: Array,
74
+ default: () => []
75
+ }, langOptions: {
76
+ type: Array,
77
+ default: () => defaultLangOptions
78
+ }, defaultLang: [String, Number], menuPlacement: {
79
+ type: String,
80
+ default: 'horizontal'
81
+ }, menuTrigger: {
82
+ type: String,
83
+ default: 'hover'
84
+ }, menuValue: [String, Number], defaultMenuValue: [String, Number], menuTabsProps: {
85
+ type: Object,
86
+ default: () => ({})
87
+ }, menuCardMinColumnWidth: {
88
+ type: [Number, String],
89
+ default: 220
90
+ }, logoSrc: {
91
+ type: String,
92
+ default: () => defaultLogoSrc
93
+ }, logoAlt: {
94
+ type: String,
95
+ default: 'Header logo'
96
+ }, responsive: {
97
+ type: Boolean,
98
+ default: true
99
+ }, mobileMenuType: {
100
+ type: String,
101
+ default: 'drawer'
102
+ }, mobileActionsCollapse: {
103
+ type: Boolean,
104
+ default: true
105
+ }, mobileShowFooterActions: {
106
+ type: Boolean,
107
+ default: true
108
+ }, mobilePrimaryActionText: {
109
+ type: String,
110
+ default: undefined
111
+ }, mobileSecondaryActionText: {
112
+ type: String,
113
+ default: undefined
114
+ }, mobileShowHeaderActions: {
115
+ type: Boolean,
116
+ default: true
117
+ }, onSearch: Function, 'onUpdate:menuValue': [Function, Array], onUpdateMenuValue: [Function, Array] });
118
+ exports.default = (0, vue_1.defineComponent)({
119
+ name: 'Header',
120
+ props: exports.headerProps,
121
+ emits: [
122
+ 'search',
123
+ 'search-result-select',
124
+ 'preview',
125
+ 'logout',
126
+ 'language-select',
127
+ 'mobile-primary-action',
128
+ 'mobile-secondary-action'
129
+ ],
130
+ setup(props, { emit }) {
131
+ var _a, _b, _c;
132
+ const { mergedClsPrefixRef } = (0, _mixins_1.useConfig)(props);
133
+ const themeRef = (0, _mixins_1.useTheme)('Header', '-header', index_cssr_1.default, styles_1.headerLight, props, mergedClsPrefixRef);
134
+ const isMobileRef = (0, composables_1.useIsMobile)();
135
+ const mobileMenuVisibleRef = (0, vue_1.ref)(false);
136
+ const searchVisibleRef = (0, vue_1.ref)(false);
137
+ (0, vue_1.onBeforeMount)(() => {
138
+ index_cssr_1.headerMobileMenuStyle.mount({
139
+ id: `${mergedClsPrefixRef.value}-header-mobile-menu`,
140
+ head: true
141
+ });
142
+ index_cssr_1.headerSearchMobileStyle.mount({
143
+ id: `${mergedClsPrefixRef.value}-header-search-mobile`,
144
+ head: true
145
+ });
146
+ index_cssr_1.headerSearchDesktopStyle.mount({
147
+ id: `${mergedClsPrefixRef.value}-header-search-desktop`,
148
+ head: true
149
+ });
150
+ index_cssr_1.headerSearchResultsStyle.mount({
151
+ id: `${mergedClsPrefixRef.value}-header-search-results`,
152
+ head: true
153
+ });
154
+ });
155
+ const currentLang = (0, vue_1.ref)(((_a = props.langOptions) === null || _a === void 0 ? void 0 : _a.find((opt) => opt.key === props.defaultLang)) ||
156
+ ((_b = props.langOptions) === null || _b === void 0 ? void 0 : _b[0]) ||
157
+ defaultLangOptions[0]);
158
+ const controlledMenuValueRef = (0, vue_1.toRef)(props, 'menuValue');
159
+ const uncontrolledMenuValueRef = (0, vue_1.ref)((_c = props.defaultMenuValue) !== null && _c !== void 0 ? _c : null);
160
+ const mergedMenuValueRef = (0, vooks_1.useMergedState)(controlledMenuValueRef, uncontrolledMenuValueRef);
161
+ const normalizedMenuItemsRef = (0, vue_1.computed)(() => {
162
+ var _a;
163
+ return (_a = props.menuOptions) === null || _a === void 0 ? void 0 : _a.map((option, index) => ({
164
+ option,
165
+ key: (0, utils_1.getMenuItemKey)(option, index)
166
+ }));
167
+ });
168
+ const cssVarsRef = (0, vue_1.computed)(() => {
169
+ const { common: { cubicBezierEaseInOut }, self } = themeRef.value;
170
+ return {
171
+ '--u-bezier': cubicBezierEaseInOut,
172
+ '--u-font-size': self.fontSize,
173
+ '--u-font-title-small': self.fontTitleSmall,
174
+ '--u-header-text-color': self.textColor,
175
+ '--u-header-bg-color': self.backgroundColor,
176
+ '--u-header-radius': self.borderRadius,
177
+ '--u-header-shadow': self.shadow,
178
+ '--u-header-navigation-gap': self.navigationGap,
179
+ '--u-header-action-gap': self.actionGap,
180
+ '--u-header-tab-text-color': self.tabTextColor,
181
+ '--u-header-tab-text-color-hover': self.tabTextColorHover,
182
+ '--u-header-tab-text-color-active': self.tabTextColorActive,
183
+ '--u-header-tab-indicator-color': self.tabIndicatorColor,
184
+ '--u-header-card-bg-color': self.cardBackgroundColor,
185
+ '--u-header-card-radius': self.cardBorderRadius,
186
+ '--u-header-card-title-color': self.cardTitleColor,
187
+ '--u-header-card-item-color': self.cardItemColor,
188
+ '--u-header-card-item-hover-color': self.cardItemHoverColor,
189
+ '--u-header-card-divider-color': self.cardDividerColor,
190
+ '--u-header-card-gap': self.cardGap,
191
+ '--u-header-card-padding': self.cardPadding,
192
+ '--u-header-badge-bg-color': self.badgeBackgroundColor,
193
+ '--u-header-badge-text-color': self.badgeTextColor,
194
+ '--u-header-action-icon-color': self.actionIconColor,
195
+ '--u-header-action-icon-hover-color': self.actionIconColorHover,
196
+ '--u-header-card-min-col-width': (0, _utils_1.formatLength)(props.menuCardMinColumnWidth),
197
+ '--u-header-mobile-border-color': self.mobileBorderColor,
198
+ '--u-header-mobile-item-hover-color': self.mobileItemHoverColor,
199
+ '--u-header-mobile-item-pressed-color': self.mobileItemPressedColor,
200
+ '--u-header-mobile-item-active-color': self.mobileItemActiveColor,
201
+ '--u-header-mobile-group-item-color': self.mobileGroupItemColor
202
+ };
203
+ });
204
+ const themeClassHandle = (0, _mixins_1.useThemeClass)('header', (0, vue_1.computed)(() => ''), cssVarsRef, props);
205
+ const menuPaneClass = (0, vue_1.computed)(() => `${mergedClsPrefixRef.value}-header__tab-pane`);
206
+ const menuPaneWrapperClass = (0, vue_1.computed)(() => `${mergedClsPrefixRef.value}-header__tab-pane-wrapper`);
207
+ function handleSelectLang(key) {
208
+ var _a;
209
+ const nextLang = (_a = props.langOptions) === null || _a === void 0 ? void 0 : _a.find((option) => option.key === key);
210
+ if (nextLang) {
211
+ currentLang.value = nextLang;
212
+ emit('language-select', nextLang);
213
+ }
214
+ }
215
+ function doUpdateMenuValue(value) {
216
+ uncontrolledMenuValueRef.value = value;
217
+ const { onUpdateMenuValue } = props;
218
+ const { 'onUpdate:menuValue': _onUpdateMenuValue } = props;
219
+ if (onUpdateMenuValue)
220
+ (0, _utils_1.call)(onUpdateMenuValue, value);
221
+ if (_onUpdateMenuValue)
222
+ (0, _utils_1.call)(_onUpdateMenuValue, value);
223
+ }
224
+ function handleMenuValueUpdate(value) {
225
+ if (value !== null) {
226
+ doUpdateMenuValue(value);
227
+ }
228
+ }
229
+ function handleSearchClick() {
230
+ searchVisibleRef.value = true;
231
+ }
232
+ function handleSearchClose() {
233
+ searchVisibleRef.value = false;
234
+ }
235
+ function handleSearch(query) {
236
+ return __awaiter(this, void 0, void 0, function* () {
237
+ if (props.onSearch) {
238
+ const results = yield props.onSearch(query);
239
+ return results;
240
+ }
241
+ emit('search', query);
242
+ return [];
243
+ });
244
+ }
245
+ function handleSearchResultSelect(result) {
246
+ emit('search-result-select', result);
247
+ }
248
+ function handlePreviewClick() {
249
+ emit('preview');
250
+ }
251
+ function handleLogoutClick() {
252
+ emit('logout');
253
+ }
254
+ function toggleMobileMenu() {
255
+ mobileMenuVisibleRef.value = !mobileMenuVisibleRef.value;
256
+ }
257
+ function closeMobileMenu() {
258
+ mobileMenuVisibleRef.value = false;
259
+ }
260
+ function handleMobileMenuItemClick(option) {
261
+ if (option.key !== undefined) {
262
+ doUpdateMenuValue(option.key);
263
+ }
264
+ closeMobileMenu();
265
+ }
266
+ function handleMobilePrimaryAction() {
267
+ emit('mobile-primary-action');
268
+ }
269
+ function handleMobileSecondaryAction() {
270
+ emit('mobile-secondary-action');
271
+ }
272
+ return {
273
+ mergedClsPrefix: mergedClsPrefixRef,
274
+ cssVars: cssVarsRef,
275
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
276
+ normalizedMenuItems: normalizedMenuItemsRef,
277
+ mergedMenuValue: mergedMenuValueRef,
278
+ currentLang,
279
+ isMobile: isMobileRef,
280
+ mobileMenuVisible: mobileMenuVisibleRef,
281
+ searchVisible: searchVisibleRef,
282
+ handleSelectLang,
283
+ handleMenuValueUpdate,
284
+ handleSearchClick,
285
+ handleSearchClose,
286
+ handleSearch,
287
+ handleSearchResultSelect,
288
+ handlePreviewClick,
289
+ handleLogoutClick,
290
+ toggleMobileMenu,
291
+ closeMobileMenu,
292
+ handleMobileMenuItemClick,
293
+ handleMobilePrimaryAction,
294
+ handleMobileSecondaryAction,
295
+ menuPaneClass,
296
+ menuPaneWrapperClass,
297
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
298
+ };
299
+ },
300
+ render() {
301
+ var _a;
302
+ const { mergedClsPrefix, $slots } = this;
303
+ (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);
304
+ const blockClass = `${mergedClsPrefix}-header`;
305
+ const logoNode = (0, _utils_1.resolveWrappedSlot)($slots.logo, (children) => children ? (0, vue_1.h)("div", { class: `${blockClass}__logo` }, children) : null) || ((0, vue_1.h)("div", { class: `${blockClass}__logo` },
306
+ (0, vue_1.h)("img", { src: this.logoSrc, alt: this.logoAlt })));
307
+ const navigationNode = (0, _utils_1.resolveWrappedSlot)($slots.navigation, (children) => children !== null && children !== void 0 ? children : null) || ((0, vue_1.h)(HeaderNavigation_1.default, { menuOptions: this.menuOptions, menuPlacement: this.menuPlacement, menuTrigger: this.menuTrigger, menuValue: this.mergedMenuValue, menuTabsProps: this.menuTabsProps, menuCardMinColumnWidth: this.menuCardMinColumnWidth, mergedClsPrefix: mergedClsPrefix, menuPaneClass: this.menuPaneClass, menuPaneWrapperClass: this.menuPaneWrapperClass, onUpdateMenuValue: this.handleMenuValueUpdate }));
308
+ const mobileNode = this.responsive && this.isMobile ? ((0, vue_1.h)(HeaderMobile_1.default, { visible: this.mobileMenuVisible, menuOptions: this.normalizedMenuItems, activeMenuValue: this.mergedMenuValue, langOptions: this.langOptions || defaultLangOptions, currentLang: this.currentLang, mergedClsPrefix: mergedClsPrefix, cssVars: this.cssVars, menuType: this.mobileMenuType, showFooterActions: this.mobileShowFooterActions, showHeaderActions: this.mobileShowHeaderActions, primaryActionText: this.mobilePrimaryActionText, secondaryActionText: this.mobileSecondaryActionText, onToggle: this.toggleMobileMenu, onClose: this.closeMobileMenu, onMenuItemClick: this.handleMobileMenuItemClick, onLanguageSelect: this.handleSelectLang, onPrimaryAction: this.handleMobilePrimaryAction, onSecondaryAction: this.handleMobileSecondaryAction, onSearchClick: this.handleSearchClick, onPreview: this.handlePreviewClick, onLogout: this.handleLogoutClick }, {
309
+ actions: $slots['mobile-actions'],
310
+ footer: $slots['mobile-footer']
311
+ })) : null;
312
+ const actionsNode = (0, _utils_1.resolveWrappedSlot)($slots.action, (children) => children ? (0, vue_1.h)("div", { class: `${blockClass}__actions` }, children) : null) || ((0, vue_1.h)(HeaderActions_1.default, { langOptions: this.langOptions || defaultLangOptions, currentLang: this.currentLang, mergedClsPrefix: mergedClsPrefix, responsive: this.responsive, isMobile: this.isMobile, mobileActionsCollapse: this.mobileActionsCollapse, cssVars: this.cssVars, onSearch: this.handleSearch, onSearchResultSelect: this.handleSearchResultSelect, onPreview: this.handlePreviewClick, onLogout: this.handleLogoutClick, onLanguageSelect: this.handleSelectLang }, {
313
+ mobile: () => mobileNode
314
+ }));
315
+ const searchNode = this.responsive && this.isMobile && this.searchVisible
316
+ ? (0, vue_1.h)(HeaderSearchMobile_1.default, {
317
+ mergedClsPrefix,
318
+ show: this.searchVisible,
319
+ cssVars: this.cssVars,
320
+ onClose: this.handleSearchClose,
321
+ onSearch: this.handleSearch,
322
+ onSearchResultSelect: this.handleSearchResultSelect
323
+ })
324
+ : null;
325
+ if (this.responsive && this.isMobile) {
326
+ return (0, vue_1.h)(vue_1.Fragment, null, [
327
+ (0, vue_1.h)(HeaderMobileLayout_1.default, {
328
+ mergedClsPrefix,
329
+ themeClass: this.themeClass,
330
+ cssVars: this.cssVars
331
+ }, {
332
+ logo: () => logoNode,
333
+ navigation: () => null,
334
+ actions: () => actionsNode
335
+ }),
336
+ searchNode
337
+ ]);
338
+ }
339
+ return (0, vue_1.h)(HeaderDesktopLayout_1.default, {
340
+ mergedClsPrefix,
341
+ themeClass: this.themeClass,
342
+ cssVars: this.cssVars
343
+ }, {
344
+ logo: () => logoNode,
345
+ navigation: () => navigationNode,
346
+ actions: () => actionsNode
347
+ });
348
+ }
349
+ });
@@ -0,0 +1,120 @@
1
+ import { type PropType, type CSSProperties } from 'vue';
2
+ import type { LangOption, HeaderSearchResult, HeaderSearchHandler } from './interface';
3
+ export declare const headerActionsProps: {
4
+ readonly langOptions: {
5
+ readonly type: PropType<LangOption[]>;
6
+ readonly required: true;
7
+ };
8
+ readonly currentLang: {
9
+ readonly type: PropType<LangOption>;
10
+ readonly required: true;
11
+ };
12
+ readonly mergedClsPrefix: {
13
+ readonly type: StringConstructor;
14
+ readonly required: true;
15
+ };
16
+ readonly responsive: {
17
+ readonly type: BooleanConstructor;
18
+ readonly default: false;
19
+ };
20
+ readonly isMobile: {
21
+ readonly type: BooleanConstructor;
22
+ readonly default: false;
23
+ };
24
+ readonly mobileActionsCollapse: {
25
+ readonly type: BooleanConstructor;
26
+ readonly default: true;
27
+ };
28
+ readonly cssVars: PropType<CSSProperties>;
29
+ readonly onSearch: PropType<HeaderSearchHandler>;
30
+ readonly onPreview: PropType<() => void>;
31
+ readonly onLogout: PropType<() => void>;
32
+ readonly onLanguageSelect: PropType<(key: string | number) => void>;
33
+ readonly onSearchResultSelect: PropType<(result: HeaderSearchResult) => void>;
34
+ };
35
+ declare const _default: import("vue").DefineComponent<{
36
+ readonly langOptions: {
37
+ readonly type: PropType<LangOption[]>;
38
+ readonly required: true;
39
+ };
40
+ readonly currentLang: {
41
+ readonly type: PropType<LangOption>;
42
+ readonly required: true;
43
+ };
44
+ readonly mergedClsPrefix: {
45
+ readonly type: StringConstructor;
46
+ readonly required: true;
47
+ };
48
+ readonly responsive: {
49
+ readonly type: BooleanConstructor;
50
+ readonly default: false;
51
+ };
52
+ readonly isMobile: {
53
+ readonly type: BooleanConstructor;
54
+ readonly default: false;
55
+ };
56
+ readonly mobileActionsCollapse: {
57
+ readonly type: BooleanConstructor;
58
+ readonly default: true;
59
+ };
60
+ readonly cssVars: PropType<CSSProperties>;
61
+ readonly onSearch: PropType<HeaderSearchHandler>;
62
+ readonly onPreview: PropType<() => void>;
63
+ readonly onLogout: PropType<() => void>;
64
+ readonly onLanguageSelect: PropType<(key: string | number) => void>;
65
+ readonly onSearchResultSelect: PropType<(result: HeaderSearchResult) => void>;
66
+ }, {
67
+ searchVisible: import("vue").Ref<boolean>;
68
+ searchValue: import("vue").Ref<string>;
69
+ searchResults: import("vue").Ref<{
70
+ key: string | number;
71
+ label: string;
72
+ description?: string | undefined;
73
+ icon?: (() => import("vue").VNodeChild) | undefined;
74
+ extra?: string | undefined;
75
+ onClick?: (() => void) | undefined;
76
+ disabled?: boolean | undefined;
77
+ }[]>;
78
+ searchLoading: import("vue").Ref<boolean>;
79
+ handleSearchClick: () => void;
80
+ handleSearchInput: (value: string) => void;
81
+ handleSearch: () => Promise<void>;
82
+ handleSearchClose: () => void;
83
+ handleResultSelect: (result: HeaderSearchResult) => void;
84
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
85
+ readonly langOptions: {
86
+ readonly type: PropType<LangOption[]>;
87
+ readonly required: true;
88
+ };
89
+ readonly currentLang: {
90
+ readonly type: PropType<LangOption>;
91
+ readonly required: true;
92
+ };
93
+ readonly mergedClsPrefix: {
94
+ readonly type: StringConstructor;
95
+ readonly required: true;
96
+ };
97
+ readonly responsive: {
98
+ readonly type: BooleanConstructor;
99
+ readonly default: false;
100
+ };
101
+ readonly isMobile: {
102
+ readonly type: BooleanConstructor;
103
+ readonly default: false;
104
+ };
105
+ readonly mobileActionsCollapse: {
106
+ readonly type: BooleanConstructor;
107
+ readonly default: true;
108
+ };
109
+ readonly cssVars: PropType<CSSProperties>;
110
+ readonly onSearch: PropType<HeaderSearchHandler>;
111
+ readonly onPreview: PropType<() => void>;
112
+ readonly onLogout: PropType<() => void>;
113
+ readonly onLanguageSelect: PropType<(key: string | number) => void>;
114
+ readonly onSearchResultSelect: PropType<(result: HeaderSearchResult) => void>;
115
+ }>>, {
116
+ readonly responsive: boolean;
117
+ readonly mobileActionsCollapse: boolean;
118
+ readonly isMobile: boolean;
119
+ }, {}>;
120
+ export default _default;
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.headerActionsProps = void 0;
16
+ const vue_1 = require("vue");
17
+ const button_1 = require("../../button");
18
+ const icon_1 = require("../../icon");
19
+ const dropdown_1 = require("../../dropdown");
20
+ const flex_1 = require("../../flex");
21
+ const HeaderSearchDesktop_1 = __importDefault(require("./HeaderSearchDesktop"));
22
+ const constants_1 = require("./constants");
23
+ const icons_1 = require("../../_internal/icons");
24
+ exports.headerActionsProps = {
25
+ langOptions: {
26
+ type: Array,
27
+ required: true
28
+ },
29
+ currentLang: {
30
+ type: Object,
31
+ required: true
32
+ },
33
+ mergedClsPrefix: {
34
+ type: String,
35
+ required: true
36
+ },
37
+ responsive: {
38
+ type: Boolean,
39
+ default: false
40
+ },
41
+ isMobile: {
42
+ type: Boolean,
43
+ default: false
44
+ },
45
+ mobileActionsCollapse: {
46
+ type: Boolean,
47
+ default: true
48
+ },
49
+ cssVars: Object,
50
+ onSearch: Function,
51
+ onPreview: Function,
52
+ onLogout: Function,
53
+ onLanguageSelect: Function,
54
+ onSearchResultSelect: Function
55
+ };
56
+ exports.default = (0, vue_1.defineComponent)({
57
+ name: 'HeaderActions',
58
+ props: exports.headerActionsProps,
59
+ setup(props) {
60
+ const searchVisible = (0, vue_1.ref)(false);
61
+ const searchValue = (0, vue_1.ref)('');
62
+ const searchResults = (0, vue_1.ref)([]);
63
+ const searchLoading = (0, vue_1.ref)(false);
64
+ const handleSearchClick = () => {
65
+ searchVisible.value = !searchVisible.value;
66
+ if (!searchVisible.value) {
67
+ searchValue.value = '';
68
+ searchResults.value = [];
69
+ }
70
+ };
71
+ const handleSearchInput = (value) => {
72
+ searchValue.value = value;
73
+ };
74
+ const handleSearch = () => __awaiter(this, void 0, void 0, function* () {
75
+ const query = searchValue.value.trim();
76
+ if (!query || !props.onSearch) {
77
+ searchResults.value = [];
78
+ return;
79
+ }
80
+ searchLoading.value = true;
81
+ try {
82
+ const results = yield props.onSearch(query);
83
+ searchResults.value = results;
84
+ }
85
+ catch (error) {
86
+ searchResults.value = [];
87
+ }
88
+ finally {
89
+ searchLoading.value = false;
90
+ }
91
+ });
92
+ const handleSearchClose = () => {
93
+ searchValue.value = '';
94
+ searchResults.value = [];
95
+ searchVisible.value = false;
96
+ searchLoading.value = false;
97
+ };
98
+ const handleResultSelect = (result) => {
99
+ var _a;
100
+ (_a = props.onSearchResultSelect) === null || _a === void 0 ? void 0 : _a.call(props, result);
101
+ handleSearchClose();
102
+ };
103
+ let searchTimeout = null;
104
+ (0, vue_1.watch)(searchValue, () => {
105
+ if (searchTimeout) {
106
+ clearTimeout(searchTimeout);
107
+ }
108
+ searchTimeout = setTimeout(() => {
109
+ void handleSearch();
110
+ }, constants_1.SEARCH_DEBOUNCE_MS);
111
+ });
112
+ return {
113
+ searchVisible,
114
+ searchValue,
115
+ searchResults,
116
+ searchLoading,
117
+ handleSearchClick,
118
+ handleSearchInput,
119
+ handleSearch,
120
+ handleSearchClose,
121
+ handleResultSelect
122
+ };
123
+ },
124
+ render() {
125
+ const blockClass = `${this.mergedClsPrefix}-header`;
126
+ if (this.responsive && this.isMobile && this.mobileActionsCollapse) {
127
+ return ((0, vue_1.h)("div", { class: `${blockClass}__actions` },
128
+ (0, vue_1.h)(flex_1.UFlex, { size: 32 }, { default: () => { var _a, _b; return (_b = (_a = this.$slots).mobile) === null || _b === void 0 ? void 0 : _b.call(_a); } })));
129
+ }
130
+ return ((0, vue_1.h)("div", { class: `${blockClass}__actions` },
131
+ (0, vue_1.h)(flex_1.UFlex, { class: `${blockClass}__actions-block`, size: 32 }, {
132
+ default: () => ((0, vue_1.h)(vue_1.Fragment, null,
133
+ (0, vue_1.h)(dropdown_1.UDropdown, { options: this.langOptions, onSelect: this.onLanguageSelect }, {
134
+ default: () => ((0, vue_1.h)(button_1.UButton, { "icon-placement": "right", text: true, renderIcon: () => ((0, vue_1.h)(icon_1.UIcon, null, { default: () => (0, vue_1.h)(icons_1.ChevronDownOutline, null) })) }, {
135
+ default: () => {
136
+ var _a, _b, _c;
137
+ return ((0, vue_1.h)("span", { class: `${blockClass}__lang-trigger` },
138
+ (0, vue_1.h)("span", { class: `${blockClass}__lang-icon` }, (_b = (_a = this.currentLang) === null || _a === void 0 ? void 0 : _a.icon) === null || _b === void 0 ? void 0 : _b.call(_a)),
139
+ (0, vue_1.h)("span", null, (_c = this.currentLang) === null || _c === void 0 ? void 0 : _c.label)));
140
+ }
141
+ }))
142
+ }),
143
+ (0, vue_1.h)("div", { class: `${blockClass}__search-wrapper` },
144
+ (0, vue_1.h)(button_1.UButton, { text: true, onClick: this.handleSearchClick }, {
145
+ default: () => ((0, vue_1.h)(icon_1.UIcon, { size: 24 }, { default: () => (0, vue_1.h)(icons_1.SearchIcon, null) }))
146
+ }),
147
+ (0, vue_1.h)(vue_1.Transition, { name: "fade-in-scale-up" }, {
148
+ default: () => this.searchVisible
149
+ ? (0, vue_1.h)(HeaderSearchDesktop_1.default, {
150
+ searchValue: this.searchValue,
151
+ searchResults: this.searchResults,
152
+ searchLoading: this.searchLoading,
153
+ mergedClsPrefix: this.mergedClsPrefix,
154
+ cssVars: this.cssVars,
155
+ onSearchInput: this.handleSearchInput,
156
+ onSearchClose: this.handleSearchClose,
157
+ onSearchSubmit: () => {
158
+ void this.handleSearch();
159
+ },
160
+ onResultSelect: this.handleResultSelect
161
+ })
162
+ : null
163
+ })),
164
+ (0, vue_1.h)(button_1.UButton, { text: true, onClick: this.onPreview }, {
165
+ default: () => ((0, vue_1.h)(icon_1.UIcon, { size: 24 }, { default: () => (0, vue_1.h)(icons_1.EyeIcon, null) }))
166
+ }),
167
+ (0, vue_1.h)(button_1.UButton, { text: true, onClick: this.onLogout }, {
168
+ default: () => ((0, vue_1.h)(icon_1.UIcon, { size: 24 }, { default: () => (0, vue_1.h)(icons_1.LogoutIcon, null) }))
169
+ })))
170
+ })));
171
+ }
172
+ });
@@ -0,0 +1,25 @@
1
+ import { type PropType, type CSSProperties } from 'vue';
2
+ export declare const headerDesktopLayoutProps: {
3
+ readonly mergedClsPrefix: {
4
+ readonly type: PropType<string>;
5
+ readonly required: true;
6
+ };
7
+ readonly themeClass: StringConstructor;
8
+ readonly cssVars: PropType<CSSProperties>;
9
+ };
10
+ declare const _default: import("vue").DefineComponent<{
11
+ readonly mergedClsPrefix: {
12
+ readonly type: PropType<string>;
13
+ readonly required: true;
14
+ };
15
+ readonly themeClass: StringConstructor;
16
+ readonly cssVars: PropType<CSSProperties>;
17
+ }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ readonly mergedClsPrefix: {
19
+ readonly type: PropType<string>;
20
+ readonly required: true;
21
+ };
22
+ readonly themeClass: StringConstructor;
23
+ readonly cssVars: PropType<CSSProperties>;
24
+ }>>, {}, {}>;
25
+ export default _default;