bfg-common 1.4.565 → 1.4.566

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 (113) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +407 -407
  2. package/assets/img/icons/icons-sprite-dark-2.svg +343 -343
  3. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-dark-4.svg +255 -255
  5. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  6. package/assets/img/icons/icons-sprite-dark-6.svg +94 -94
  7. package/assets/img/icons/icons-sprite-light-1.svg +407 -407
  8. package/assets/img/icons/icons-sprite-light-2.svg +343 -343
  9. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  10. package/assets/img/icons/icons-sprite-light-4.svg +255 -255
  11. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  12. package/assets/img/icons/icons-sprite-light-6.svg +94 -94
  13. package/assets/localization/local_be.json +5 -1
  14. package/assets/localization/local_en.json +5 -1
  15. package/assets/localization/local_hy.json +5 -1
  16. package/assets/localization/local_kk.json +5 -1
  17. package/assets/localization/local_ru.json +5 -1
  18. package/assets/localization/local_zh.json +5 -1
  19. package/components/atoms/TheIcon3.vue +50 -50
  20. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  21. package/components/atoms/stack/StackBlock.vue +185 -185
  22. package/components/atoms/table/dataGrid/DataGrid.vue +1633 -1633
  23. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  24. package/components/common/browse/BrowseNew.vue +237 -237
  25. package/components/common/browse/BrowseOld.vue +217 -217
  26. package/components/common/browse/blocks/contents/Files.vue +35 -35
  27. package/components/common/browse/blocks/contents/FilesOld.vue +70 -70
  28. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +92 -92
  29. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  30. package/components/common/context/lib/models/interfaces.ts +30 -30
  31. package/components/common/context/recursion/Recursion.vue +86 -86
  32. package/components/common/context/recursion/RecursionNew.vue +199 -199
  33. package/components/common/context/recursion/RecursionOld.vue +213 -213
  34. package/components/common/layout/theHeader/TheHeaderNew.vue +320 -314
  35. package/components/common/layout/theHeader/helpMenu/About.vue +85 -85
  36. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  37. package/components/common/layout/theHeader/userMenu/userMenuNew/UserMenuNew.vue +4 -4
  38. package/components/common/layout/theHeader/userMenu/userMenuNew/lib/config/dropMenu.ts +1 -1
  39. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +152 -152
  40. package/components/common/modals/confirmation/Confirmation.vue +74 -70
  41. package/components/common/modals/confirmation/ConfirmationNew.vue +10 -61
  42. package/components/common/modals/confirmation/ConfirmationOld.vue +10 -10
  43. package/components/common/spiceConsole/Drawer.vue +370 -370
  44. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  45. package/components/common/vm/actions/add/Add.vue +617 -617
  46. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  47. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  48. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +264 -264
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +118 -118
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +55 -55
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +147 -147
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +55 -55
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +74 -74
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +85 -85
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +91 -91
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +46 -46
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +27 -27
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  82. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  83. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +100 -100
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  98. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  99. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  100. package/components/common/vm/actions/common/select/storage/new/New.vue +159 -159
  101. package/components/common/vm/actions/confirm/Confirm.vue +8 -15
  102. package/components/common/vm/actions/editSettings/EditSettings.vue +214 -214
  103. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +182 -182
  104. package/components/common/vm/actions/editSettings/new/New.vue +176 -176
  105. package/components/common/vm/actions/editSettings/new/Skeleton.vue +87 -87
  106. package/composables/productNameLocal.ts +30 -30
  107. package/package.json +2 -2
  108. package/plugins/date.ts +233 -233
  109. package/plugins/recursion.ts +311 -311
  110. package/public/spice-console/lib/images/bitmap.js +203 -203
  111. package/public/spice-console/network/spicechannel.js +383 -383
  112. package/store/main/mutations.ts +7 -7
  113. package/store/main/state.ts +7 -7
@@ -1,314 +1,320 @@
1
- <template>
2
- <div class="the-header-content">
3
- <div class="flex-content">
4
- <div class="left-content">
5
- <ui-tooltip
6
- id="tooltip-inventory-menu-trigger"
7
- test-id="tooltip-inventory-menu-trigger"
8
- size="sm"
9
- position="bottom"
10
- position-by-tooltip="center"
11
- >
12
- <template #target>
13
- <div
14
- id="tooltip-inventory-menu-trigger"
15
- class="popped tooltip inline-block"
16
- >
17
- <button
18
- id="inventory-menu-trigger"
19
- data-id="inventory-menu-toggle-button"
20
- class="inventory-menu-trigger"
21
- @click="emits('toggle-main-menu')"
22
- >
23
- <atoms-the-icon
24
- v-if="mainMenuTriggerStatus"
25
- class="menu-icon"
26
- name="menu"
27
- />
28
- <atoms-the-icon v-else class="menu-icon" name="close" />
29
- </button>
30
- </div>
31
- </template>
32
- <template #content>
33
- <span class="header-tooltip-text">
34
- <template v-if="mainMenuTriggerStatus">{{
35
- localization.common.openMenu
36
- }}</template>
37
- <template v-else>{{ localization.common.closeMenu }}</template>
38
- </span>
39
- </template>
40
- </ui-tooltip>
41
- <nuxt-link
42
- id="header-shortcuts-link"
43
- data-id="header-shortcuts-link"
44
- class="header-shortcuts-link"
45
- to="/shortcuts"
46
- >
47
- <span class="title pointer"
48
- >{{ props.companyName }}® {{ props.projectName }}</span
49
- >
50
- <span v-if="props.isBeta" class="badge-info">{{
51
- props.betaText
52
- }}</span>
53
- <span v-else-if="props.isDev" class="badge-info">Dev</span>
54
- </nuxt-link>
55
- </div>
56
- <div class="right-content">
57
- <ui-tooltip
58
- id="tooltip-global-refresh-button"
59
- test-id="tooltip-global-refresh-button"
60
- size="sm"
61
- position="bottom"
62
- position-by-tooltip="center"
63
- >
64
- <template #target>
65
- <div
66
- id="tooltip-global-refresh-button"
67
- class="popped tooltip inline-block"
68
- >
69
- <button
70
- id="global-refresh-button"
71
- data-id="global-refresh-button"
72
- class="global-refresh-button"
73
- @click="emits('global-refresh')"
74
- >
75
- <atoms-the-icon
76
- v-if="!props.globalRefreshLoading"
77
- class="reset-icon"
78
- name="reset"
79
- />
80
- <span v-else class="reset-loader-content">
81
- <ui-loader2 width="24" height="24" />
82
- </span>
83
- </button>
84
- </div>
85
- </template>
86
- <template #content>
87
- <span class="header-tooltip-text">
88
- {{ localization.common.refresh }}
89
- </span>
90
- </template>
91
- </ui-tooltip>
92
- <div class="divider" />
93
- <div class="container-content">
94
- <common-layout-the-header-theme-switch
95
- :is-dark-theme="props.isDarkTheme"
96
- @change-theme-mode="emits('change-theme-mode')"
97
- />
98
- </div>
99
- <div class="divider" />
100
- <div class="container-content">
101
- <common-layout-the-header-help-menu
102
- :project-name="props.projectName"
103
- />
104
- </div>
105
- <div class="divider" />
106
- <div class="container-content user-menu-container">
107
- <common-layout-the-header-user-menu
108
- :hostname="props.hostname"
109
- :is-preference="isPreference"
110
- :time-format="props.timeFormat"
111
- :selected-language-type="props.selectedLanguageType"
112
- :selected-language="props.selectedLang"
113
- :new-view="props.newView"
114
- :new-view-local="props.newViewLocal"
115
- :project="props.project"
116
- :remote-console="props.remoteConsole"
117
- :vm-cluster="props.vmCluster"
118
- @show-preference="emits('show-preference')"
119
- @reset-preference="emits('reset-preference')"
120
- @hide-preference="emits('hide-preference')"
121
- @change-theme-mode="emits('change-theme-mode')"
122
- @update-time-format="emits('update-time-format', $event)"
123
- @update-language="emits('update-language', $event)"
124
- @update-is-browser="emits('update-is-browser', $event)"
125
- @update-is-new-view="emits('update-is-new-view', $event)"
126
- @update-remote-console="emits('update-remote-console', $event)"
127
- @update-vm-clusters="emits('update-vm-clusters', $event)"
128
- @submit-preferences="emits('submit-preferences')"
129
- />
130
- </div>
131
- </div>
132
- </div>
133
- </div>
134
- </template>
135
-
136
- <script setup lang="ts">
137
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
138
- import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
139
- import type { UI_T_Project } from '~/lib/models/types'
140
- import type { UI_I_Localization } from '~/lib/models/interfaces'
141
-
142
- const props = defineProps<{
143
- isShowMainMenu: boolean
144
- companyName: string
145
- isBeta: boolean
146
- isDev: boolean
147
- betaText: string
148
- globalRefreshLoading: boolean
149
- project: UI_T_Project
150
- projectName: string
151
- hostname: string
152
- isPreference: boolean
153
- selectedLanguageType: string
154
- selectedLang: UI_I_Dropdown
155
- remoteConsole: string
156
- vmCluster: boolean
157
- newView: boolean
158
- newViewLocal: boolean
159
- timeFormat: string
160
- isDarkTheme: boolean
161
- }>()
162
-
163
- const emits = defineEmits<{
164
- (event: 'toggle-main-menu'): void
165
- (event: 'global-refresh'): void
166
- (event: 'show-preference'): void
167
- (event: 'reset-preference'): void
168
- (event: 'hide-preference'): void
169
- (event: 'change-theme-mode'): void
170
- (event: 'update-time-format', value: UI_T_TimeValue): void
171
- (event: 'update-language', value: UI_I_Dropdown): void
172
- (event: 'update-is-browser', value: string): void
173
- (event: 'update-is-new-view', value: boolean): void
174
- (event: 'update-remote-console', value: string): void
175
- (event: 'update-vm-clusters', value: boolean): void
176
- (event: 'submit-preferences'): void
177
- }>()
178
-
179
- const localization = computed<UI_I_Localization>(() => useLocal())
180
-
181
- const {$store}: any = useNuxtApp()
182
-
183
- const isMenuPined = computed(() => $store.getters['main/getIsMenuPined'])
184
-
185
- const mainMenuTriggerStatus = computed<boolean>(() => !props.isShowMainMenu || isMenuPined.value)
186
- </script>
187
-
188
- <style>
189
- :root {
190
- --header-container-bg-color: #213444;
191
- --header-shortcuts-link-color: #ffffff;
192
- --badge-info-bg-color: #008fd6;
193
- }
194
- :root.dark-theme {
195
- --header-container-bg-color: #1b2a37;
196
- --header-shortcuts-link-color: #e9eaec;
197
- --badge-info-bg-color: #2ba2de;
198
- }
199
- </style>
200
-
201
- <style scoped lang="scss">
202
- .the-header-content {
203
- background-color: var(--header-container-bg-color);
204
- height: 64px;
205
- padding: 16px;
206
-
207
- .flex-content {
208
- display: flex;
209
- justify-content: space-between;
210
-
211
- .header-tooltip-text {
212
- font-size: 12px;
213
- font-weight: 500;
214
- text-wrap: nowrap;
215
- }
216
- .left-content {
217
- display: flex;
218
- align-items: center;
219
-
220
- #tooltip-inventory-menu-trigger {
221
- .inventory-menu-trigger {
222
- width: 24px;
223
- height: 24px;
224
- border: unset;
225
- padding: 0;
226
- outline: unset;
227
- background: transparent;
228
- cursor: pointer;
229
- margin-right: 16px;
230
-
231
- &:hover {
232
- svg {
233
- fill: #ffffff;
234
- }
235
- }
236
- svg {
237
- fill: #d3d6da;
238
- }
239
- }
240
- }
241
- :deep(#tooltip-inventory-menu-trigger-div) {
242
- z-index: 9999;
243
- }
244
-
245
- .header-shortcuts-link {
246
- color: var(--header-shortcuts-link-color);
247
- text-decoration: none;
248
- display: flex;
249
- align-items: center;
250
-
251
- .title {
252
- font-size: 16px;
253
- font-weight: 300;
254
- }
255
- .badge-info {
256
- background-color: var(--badge-info-bg-color);
257
- margin-left: 16px;
258
- border-radius: 8px;
259
- font-size: 12px;
260
- padding: 0 12px;
261
- height: 24px;
262
- display: flex;
263
- align-items: center;
264
- }
265
- }
266
- }
267
- .right-content {
268
- display: flex;
269
- align-items: center;
270
-
271
- .divider {
272
- width: 1px;
273
- height: 32px;
274
- background-color: #394a58;
275
- }
276
-
277
- .global-refresh-button {
278
- border: unset;
279
- padding: 0;
280
- outline: unset;
281
- background: transparent;
282
- cursor: pointer;
283
- display: flex;
284
- margin-right: 16px;
285
-
286
- .reset-icon {
287
- width: 24px;
288
- height: 24px;
289
- fill: #d3d6da;
290
-
291
- &:hover {
292
- fill: #ffffff;
293
- }
294
- }
295
- .reset-loader-content {
296
- width: 24px;
297
- height: 24px;
298
-
299
- .loader {
300
- padding: 2px;
301
- }
302
- }
303
- }
304
- .container-content {
305
- margin-left: 16px;
306
- margin-right: 16px;
307
- }
308
- .user-menu-container {
309
- margin-right: 0;
310
- }
311
- }
312
- }
313
- }
314
- </style>
1
+ <template>
2
+ <div class="the-header-content">
3
+ <div class="flex-content">
4
+ <div class="left-content">
5
+ <ui-tooltip
6
+ id="tooltip-inventory-menu-trigger"
7
+ test-id="tooltip-inventory-menu-trigger"
8
+ size="sm"
9
+ position="bottom"
10
+ position-by-tooltip="center"
11
+ >
12
+ <template #target>
13
+ <div
14
+ id="tooltip-inventory-menu-trigger"
15
+ class="popped tooltip inline-block"
16
+ >
17
+ <button
18
+ id="inventory-menu-trigger"
19
+ data-id="inventory-menu-toggle-button"
20
+ class="inventory-menu-trigger"
21
+ @click="emits('toggle-main-menu')"
22
+ >
23
+ <atoms-the-icon
24
+ v-if="mainMenuTriggerStatus"
25
+ class="menu-icon"
26
+ name="menu"
27
+ />
28
+ <atoms-the-icon v-else class="menu-icon" name="close" />
29
+ </button>
30
+ </div>
31
+ </template>
32
+ <template #content>
33
+ <span class="header-tooltip-text">
34
+ <template v-if="mainMenuTriggerStatus">{{
35
+ localization.common.openMenu
36
+ }}</template>
37
+ <template v-else>{{ localization.common.closeMenu }}</template>
38
+ </span>
39
+ </template>
40
+ </ui-tooltip>
41
+ <nuxt-link
42
+ id="header-shortcuts-link"
43
+ data-id="header-shortcuts-link"
44
+ class="header-shortcuts-link"
45
+ to="/shortcuts"
46
+ >
47
+ <span class="title pointer"
48
+ >{{ props.companyName }}® {{ props.projectName }}</span
49
+ >
50
+ <span v-if="props.isBeta" class="badge-info">{{
51
+ props.betaText
52
+ }}</span>
53
+ <span v-else-if="props.isDev" class="badge-info">Dev</span>
54
+ </nuxt-link>
55
+ </div>
56
+ <div class="right-content">
57
+ <ui-tooltip
58
+ id="tooltip-global-refresh-button"
59
+ test-id="tooltip-global-refresh-button"
60
+ size="sm"
61
+ position="bottom"
62
+ position-by-tooltip="center"
63
+ >
64
+ <template #target>
65
+ <div
66
+ id="tooltip-global-refresh-button"
67
+ class="popped tooltip inline-block"
68
+ >
69
+ <button
70
+ id="global-refresh-button"
71
+ data-id="global-refresh-button"
72
+ class="global-refresh-button"
73
+ @click="emits('global-refresh')"
74
+ >
75
+ <atoms-the-icon
76
+ v-if="!props.globalRefreshLoading"
77
+ class="reset-icon"
78
+ name="reset"
79
+ />
80
+ <span v-else class="reset-loader-content">
81
+ <ui-loader2 width="24" height="24" />
82
+ </span>
83
+ </button>
84
+ </div>
85
+ </template>
86
+ <template #content>
87
+ <span class="header-tooltip-text">
88
+ {{ localization.common.refresh }}
89
+ </span>
90
+ </template>
91
+ </ui-tooltip>
92
+ <div class="divider right-global-refresh" />
93
+ <div class="container-content">
94
+ <common-layout-the-header-theme-switch
95
+ :is-dark-theme="props.isDarkTheme"
96
+ @change-theme-mode="emits('change-theme-mode')"
97
+ />
98
+ </div>
99
+ <div class="divider" />
100
+ <div class="container-content">
101
+ <common-layout-the-header-help-menu
102
+ :project-name="props.projectName"
103
+ />
104
+ </div>
105
+ <div class="divider" />
106
+ <div class="container-content user-menu-container">
107
+ <common-layout-the-header-user-menu
108
+ :hostname="props.hostname"
109
+ :is-preference="isPreference"
110
+ :time-format="props.timeFormat"
111
+ :selected-language-type="props.selectedLanguageType"
112
+ :selected-language="props.selectedLang"
113
+ :new-view="props.newView"
114
+ :new-view-local="props.newViewLocal"
115
+ :project="props.project"
116
+ :remote-console="props.remoteConsole"
117
+ :vm-cluster="props.vmCluster"
118
+ @show-preference="emits('show-preference')"
119
+ @reset-preference="emits('reset-preference')"
120
+ @hide-preference="emits('hide-preference')"
121
+ @change-theme-mode="emits('change-theme-mode')"
122
+ @update-time-format="emits('update-time-format', $event)"
123
+ @update-language="emits('update-language', $event)"
124
+ @update-is-browser="emits('update-is-browser', $event)"
125
+ @update-is-new-view="emits('update-is-new-view', $event)"
126
+ @update-remote-console="emits('update-remote-console', $event)"
127
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
128
+ @submit-preferences="emits('submit-preferences')"
129
+ />
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </div>
134
+ </template>
135
+
136
+ <script setup lang="ts">
137
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
138
+ import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
139
+ import type { UI_T_Project } from '~/lib/models/types'
140
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
141
+
142
+ const props = defineProps<{
143
+ isShowMainMenu: boolean
144
+ companyName: string
145
+ isBeta: boolean
146
+ isDev: boolean
147
+ betaText: string
148
+ globalRefreshLoading: boolean
149
+ project: UI_T_Project
150
+ projectName: string
151
+ hostname: string
152
+ isPreference: boolean
153
+ selectedLanguageType: string
154
+ selectedLang: UI_I_Dropdown
155
+ remoteConsole: string
156
+ vmCluster: boolean
157
+ newView: boolean
158
+ newViewLocal: boolean
159
+ timeFormat: string
160
+ isDarkTheme: boolean
161
+ }>()
162
+
163
+ const emits = defineEmits<{
164
+ (event: 'toggle-main-menu'): void
165
+ (event: 'global-refresh'): void
166
+ (event: 'show-preference'): void
167
+ (event: 'reset-preference'): void
168
+ (event: 'hide-preference'): void
169
+ (event: 'change-theme-mode'): void
170
+ (event: 'update-time-format', value: UI_T_TimeValue): void
171
+ (event: 'update-language', value: UI_I_Dropdown): void
172
+ (event: 'update-is-browser', value: string): void
173
+ (event: 'update-is-new-view', value: boolean): void
174
+ (event: 'update-remote-console', value: string): void
175
+ (event: 'update-vm-clusters', value: boolean): void
176
+ (event: 'submit-preferences'): void
177
+ }>()
178
+
179
+ const localization = computed<UI_I_Localization>(() => useLocal())
180
+
181
+ const { $store }: any = useNuxtApp()
182
+
183
+ const isMenuPined = computed(() => $store.getters['main/getIsMenuPined'])
184
+
185
+ const mainMenuTriggerStatus = computed<boolean>(
186
+ () => !props.isShowMainMenu || isMenuPined.value
187
+ )
188
+ </script>
189
+
190
+ <style>
191
+ :root {
192
+ --header-container-bg-color: #213444;
193
+ --header-shortcuts-link-color: #ffffff;
194
+ --badge-info-bg-color: #008fd6;
195
+ }
196
+ :root.dark-theme {
197
+ --header-container-bg-color: #1b2a37;
198
+ --header-shortcuts-link-color: #e9eaec;
199
+ --badge-info-bg-color: #2ba2de;
200
+ }
201
+ </style>
202
+
203
+ <style scoped lang="scss">
204
+ .the-header-content {
205
+ background-color: var(--header-container-bg-color);
206
+ height: 64px;
207
+ padding: 16px;
208
+
209
+ .flex-content {
210
+ display: flex;
211
+ justify-content: space-between;
212
+
213
+ .header-tooltip-text {
214
+ font-size: 12px;
215
+ font-weight: 500;
216
+ text-wrap: nowrap;
217
+ }
218
+ .left-content {
219
+ display: flex;
220
+ align-items: center;
221
+
222
+ #tooltip-inventory-menu-trigger {
223
+ .inventory-menu-trigger {
224
+ width: 24px;
225
+ height: 24px;
226
+ border: unset;
227
+ padding: 0;
228
+ outline: unset;
229
+ background: transparent;
230
+ cursor: pointer;
231
+ margin-right: 16px;
232
+
233
+ &:hover {
234
+ svg {
235
+ fill: #ffffff;
236
+ }
237
+ }
238
+ svg {
239
+ fill: #d3d6da;
240
+ }
241
+ }
242
+ }
243
+ :deep(#tooltip-inventory-menu-trigger-div) {
244
+ z-index: 9999;
245
+ transform: translate(13px, 0px);
246
+ }
247
+
248
+ .header-shortcuts-link {
249
+ color: var(--header-shortcuts-link-color);
250
+ text-decoration: none;
251
+ display: flex;
252
+ align-items: center;
253
+
254
+ .title {
255
+ font-size: 16px;
256
+ font-weight: 300;
257
+ }
258
+ .badge-info {
259
+ background-color: var(--badge-info-bg-color);
260
+ margin-left: 16px;
261
+ border-radius: 8px;
262
+ font-size: 12px;
263
+ padding: 0 12px;
264
+ height: 24px;
265
+ display: flex;
266
+ align-items: center;
267
+ }
268
+ }
269
+ }
270
+ .right-content {
271
+ display: flex;
272
+ align-items: center;
273
+
274
+ .divider {
275
+ width: 1px;
276
+ height: 32px;
277
+ background-color: #394a58;
278
+
279
+ &.right-global-refresh {
280
+ margin-left: 16px;
281
+ }
282
+ }
283
+
284
+ .global-refresh-button {
285
+ border: unset;
286
+ padding: 0;
287
+ outline: unset;
288
+ background: transparent;
289
+ cursor: pointer;
290
+ display: flex;
291
+
292
+ .reset-icon {
293
+ width: 24px;
294
+ height: 24px;
295
+ fill: #d3d6da;
296
+
297
+ &:hover {
298
+ fill: #ffffff;
299
+ }
300
+ }
301
+ .reset-loader-content {
302
+ width: 24px;
303
+ height: 24px;
304
+
305
+ .loader {
306
+ padding: 2px;
307
+ }
308
+ }
309
+ }
310
+ .container-content {
311
+ margin-left: 16px;
312
+ margin-right: 16px;
313
+ }
314
+ .user-menu-container {
315
+ margin-right: 0;
316
+ }
317
+ }
318
+ }
319
+ }
320
+ </style>