bfg-common 1.5.197 → 1.5.199

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 (157) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +5 -4
  7. package/assets/localization/local_en.json +5 -4
  8. package/assets/localization/local_hy.json +5 -4
  9. package/assets/localization/local_kk.json +5 -4
  10. package/assets/localization/local_ru.json +5 -4
  11. package/assets/localization/local_zh.json +5 -4
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/dropdown/Portlet.vue +1 -1
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  16. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  17. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  18. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  19. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  20. package/components/common/browse/lib/models/interfaces.ts +5 -5
  21. package/components/common/context/lib/models/interfaces.ts +31 -31
  22. package/components/common/context/recursion/RecursionNew.vue +238 -238
  23. package/components/common/diagramMain/DiagramMain.vue +897 -897
  24. package/components/common/diagramMain/Header.vue +214 -214
  25. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  26. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  27. package/components/common/diagramMain/lib/models/types.ts +21 -21
  28. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  29. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  30. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  31. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  32. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  33. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  34. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  35. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  36. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  37. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  38. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  39. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  40. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  41. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  42. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  43. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  44. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  45. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  46. package/components/common/diagramMain/port/Ports.vue +47 -47
  47. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  48. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  49. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  50. package/components/common/pages/home/headline/Headline.vue +45 -45
  51. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  52. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  53. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  54. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  55. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  56. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  57. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  58. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  59. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  60. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  61. package/components/common/pages/packages/Packages.vue +208 -208
  62. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  63. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  64. package/components/common/recursionTree/RecursionTree.vue +223 -223
  65. package/components/common/select/button/ButtonDropdown.vue +108 -108
  66. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  67. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  68. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  69. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  70. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  71. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  72. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  73. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +337 -337
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +480 -480
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +17 -2
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +190 -190
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +237 -237
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +304 -288
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +154 -154
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +382 -375
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +289 -289
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +151 -151
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +73 -73
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +40 -40
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +106 -106
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +81 -81
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +67 -67
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +149 -149
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +128 -128
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  128. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  129. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  130. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  131. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  132. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  133. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  134. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  135. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  136. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  137. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  138. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  139. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  140. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  141. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  142. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  143. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  144. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  145. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  146. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +137 -137
  147. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  148. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  149. package/composables/productNameLocal.ts +30 -30
  150. package/composables/useAppVersion.ts +21 -21
  151. package/package.json +2 -2
  152. package/plugins/date.ts +233 -233
  153. package/public/spice-console/lib/images/bitmap.js +203 -203
  154. package/public/spice-console/network/spicechannel.js +383 -383
  155. package/store/main/mutations.ts +7 -7
  156. package/store/main/state.ts +7 -7
  157. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,237 +1,237 @@
1
- <template>
2
- <ui-stack-block :has-children="false">
3
- <template #stackBlockKey>
4
- {{ localization.common.cpuModel }}
5
- </template>
6
- <template #stackBlockContent>
7
- <div class="cpu-model-content">
8
- <ui-select
9
- v-model="cpuModel"
10
- :items="props.cpuModelOptions"
11
- :disabled="props.disabled"
12
- :error-text="props.errorText"
13
- test-id="vm-wizard-cpu-model-field"
14
- size="sm"
15
- @change="onChangeCpuModel"
16
- />
17
-
18
- <div class="passthrough-host-cpu-wrap flex-align-center">
19
- <ui-checkbox
20
- v-model="passthroughHostCpu"
21
- :disabled="props.disabled"
22
- :label-text="localization.common.passthroughHostCpu"
23
- test-id="passthrough-host-cpu"
24
- @change="emits('change-passthrough-host-cpu', $event)"
25
- />
26
- <div id="passthrough-help-icon" class="flex-align-center relative">
27
- <ui-icon
28
- width="16"
29
- height="16"
30
- name="info"
31
- data-id="show-passthrough-help-icon"
32
- :class="[
33
- 'passthrough-help-icon cursor-pointer disabled',
34
- { active: isShowPassthroughHost },
35
- ]"
36
- @click.stop="isShowPassthroughHost = !isShowPassthroughHost"
37
- />
38
- <Teleport to="body">
39
- <ui-dropdown
40
- :show="isShowPassthroughHost"
41
- :items="[]"
42
- elem-id="passthrough-help-icon"
43
- test-id=""
44
- width="480px"
45
- left
46
- @hide="isShowPassthroughHost = false"
47
- >
48
- <template #content>
49
- <div class="help-content">
50
- <div class="headline">
51
- <ui-icon name="info-2" width="16" height="16" />
52
- <h3 class="help-title">
53
- {{ localization.mainNavigation.help }}
54
- </h3>
55
- <ui-icon
56
- name="close"
57
- width="16"
58
- height="16"
59
- class="cursor-pointer"
60
- @click="isShowPassthroughHost = false"
61
- />
62
- </div>
63
-
64
- <p class="help-text">
65
- Lorem ipsum dolor sit amet, consectetur adipisicing elit.
66
- A cum eius expedita, fuga mollitia perferendis quod soluta
67
- vel? Dolor, illo, nam? A consequatur, consequuntur eos
68
- impedit iusto labore sunt tempora!
69
- </p>
70
- </div>
71
- </template>
72
- </ui-dropdown>
73
- </Teleport>
74
- </div>
75
- </div>
76
- <div class="flex-align-center">
77
- <ui-checkbox
78
- v-model="hostModelCpu"
79
- :disabled="props.disabled"
80
- :label-text="localization.common.hostModelCpu"
81
- test-id="host-model-cpu"
82
- @change="emits('change-host-model-cpu', $event)"
83
- />
84
- <div id="host-model-help-icon" class="flex-align-center relative">
85
- <ui-icon
86
- width="16"
87
- height="16"
88
- name="info"
89
- data-id="show-host-model-help-icon"
90
- :class="[
91
- 'host-model-help-icon cursor-pointer disabled',
92
- { active: isShowHostModel },
93
- ]"
94
- @click.stop="isShowHostModel = !isShowHostModel"
95
- />
96
- <Teleport to="body">
97
- <ui-dropdown
98
- :show="isShowHostModel"
99
- :items="[]"
100
- elem-id="host-model-help-icon"
101
- test-id=""
102
- width="480px"
103
- left
104
- @hide="isShowHostModel = false"
105
- >
106
- <template #content>
107
- <div class="help-content">
108
- <div class="headline">
109
- <ui-icon name="info-2" width="16" height="16" />
110
- <h3 class="help-title">
111
- {{ localization.mainNavigation.help }}
112
- </h3>
113
- <ui-icon
114
- name="close"
115
- width="16"
116
- height="16"
117
- class="cursor-pointer"
118
- @click="isShowHostModel = false"
119
- />
120
- </div>
121
-
122
- <p class="help-text">
123
- Lorem ipsum dolor sit amet, consectetur adipisicing elit.
124
- A cum eius expedita, fuga mollitia perferendis quod soluta
125
- vel? Dolor, illo, nam? A consequatur, consequuntur eos
126
- impedit iusto labore sunt tempora!
127
- </p>
128
- </div>
129
- </template>
130
- </ui-dropdown>
131
- </Teleport>
132
- </div>
133
- </div>
134
- </div>
135
- </template>
136
- </ui-stack-block>
137
- </template>
138
-
139
- <script setup lang="ts">
140
- import type { UI_T_SelectedValue } from '~/node_modules/bfg-uikit/components/ui/select/models/types'
141
- import type {
142
- UI_I_Localization,
143
- UI_I_HTMLSelectElement,
144
- } from '~/lib/models/interfaces'
145
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
146
-
147
- const cpuModel = defineModel<string>('cpuModel')
148
- const passthroughHostCpu = defineModel<boolean>('passthroughHostCpu')
149
- const hostModelCpu = defineModel<boolean>('hostModelCpu')
150
-
151
- const props = defineProps<{
152
- cpuModelOptions: UI_I_OptionItem[]
153
- disabled: boolean
154
- errorText: string
155
- }>()
156
- const emits = defineEmits<{
157
- (event: 'change-cpu-model', value: UI_I_HTMLSelectElement): void
158
- (event: 'change-passthrough-host-cpu', value: Event): void
159
- (event: 'change-host-model-cpu', value: Event): void
160
- (event: 'remove-error'): void
161
- }>()
162
-
163
- const localization = computed<UI_I_Localization>(() => useLocal())
164
-
165
- const isShowPassthroughHost = ref<boolean>(false)
166
- const isShowHostModel = ref<boolean>(false)
167
-
168
- const onChangeCpuModel = (data: UI_T_SelectedValue): void => {
169
- emits('change-cpu-model', { target: { value: data } })
170
- }
171
- </script>
172
-
173
- <style>
174
- :root {
175
- --cpu-model-help-icon-color: #4d5d69;
176
- }
177
- :root.dark-theme {
178
- --cpu-model-help-icon-color: #e9eaec;
179
- }
180
- </style>
181
- <style scoped lang="scss">
182
- .cpu-model-content {
183
- display: flex;
184
- flex-direction: column;
185
- width: 224px;
186
- gap: 12px;
187
-
188
- :deep(.ui-main-select-toggle) {
189
- width: 100%;
190
- }
191
- }
192
-
193
- #passthrough-help-icon,
194
- #host-model-help-icon {
195
- margin-left: 8px;
196
- }
197
-
198
- .passthrough-help-icon,
199
- .host-model-help-icon {
200
- color: #9da6ad; // for light and dark
201
-
202
- &:hover {
203
- color: var(--cpu-model-help-icon-color);
204
- }
205
- &.active {
206
- color: #008fd6;
207
- }
208
- &.disabled {
209
- color: #bdc3c7;
210
- pointer-events: none;
211
- }
212
- }
213
- .help-content {
214
- padding: 16px;
215
-
216
- .headline {
217
- display: flex;
218
- align-items: center;
219
- gap: 8px;
220
- margin-bottom: 12px;
221
-
222
- .help-title {
223
- flex: 1;
224
- font-size: 14px;
225
- font-weight: 500;
226
- line-height: 16.94px;
227
- color: #4d5d69;
228
- }
229
- }
230
-
231
- .help-text {
232
- font-size: 13px;
233
- line-height: 15.73px;
234
- color: #4d5d69;
235
- }
236
- }
237
- </style>
1
+ <template>
2
+ <ui-stack-block :has-children="false">
3
+ <template #stackBlockKey>
4
+ {{ localization.common.cpuModel }}
5
+ </template>
6
+ <template #stackBlockContent>
7
+ <div class="cpu-model-content">
8
+ <ui-select
9
+ v-model="cpuModel"
10
+ :items="props.cpuModelOptions"
11
+ :disabled="props.disabled"
12
+ :error-text="props.errorText"
13
+ test-id="vm-wizard-cpu-model-field"
14
+ size="sm"
15
+ @change="onChangeCpuModel"
16
+ />
17
+
18
+ <div class="passthrough-host-cpu-wrap flex-align-center">
19
+ <ui-checkbox
20
+ v-model="passthroughHostCpu"
21
+ :disabled="props.disabled"
22
+ :label-text="localization.common.passthroughHostCpu"
23
+ test-id="passthrough-host-cpu"
24
+ @change="emits('change-passthrough-host-cpu', $event)"
25
+ />
26
+ <div id="passthrough-help-icon" class="flex-align-center relative">
27
+ <ui-icon
28
+ width="16"
29
+ height="16"
30
+ name="info"
31
+ data-id="show-passthrough-help-icon"
32
+ :class="[
33
+ 'passthrough-help-icon cursor-pointer disabled',
34
+ { active: isShowPassthroughHost },
35
+ ]"
36
+ @click.stop="isShowPassthroughHost = !isShowPassthroughHost"
37
+ />
38
+ <Teleport to="body">
39
+ <ui-dropdown
40
+ :show="isShowPassthroughHost"
41
+ :items="[]"
42
+ elem-id="passthrough-help-icon"
43
+ test-id=""
44
+ width="480px"
45
+ left
46
+ @hide="isShowPassthroughHost = false"
47
+ >
48
+ <template #content>
49
+ <div class="help-content">
50
+ <div class="headline">
51
+ <ui-icon name="info-2" width="16" height="16" />
52
+ <h3 class="help-title">
53
+ {{ localization.mainNavigation.help }}
54
+ </h3>
55
+ <ui-icon
56
+ name="close"
57
+ width="16"
58
+ height="16"
59
+ class="cursor-pointer"
60
+ @click="isShowPassthroughHost = false"
61
+ />
62
+ </div>
63
+
64
+ <p class="help-text">
65
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit.
66
+ A cum eius expedita, fuga mollitia perferendis quod soluta
67
+ vel? Dolor, illo, nam? A consequatur, consequuntur eos
68
+ impedit iusto labore sunt tempora!
69
+ </p>
70
+ </div>
71
+ </template>
72
+ </ui-dropdown>
73
+ </Teleport>
74
+ </div>
75
+ </div>
76
+ <div class="flex-align-center">
77
+ <ui-checkbox
78
+ v-model="hostModelCpu"
79
+ :disabled="props.disabled"
80
+ :label-text="localization.common.hostModelCpu"
81
+ test-id="host-model-cpu"
82
+ @change="emits('change-host-model-cpu', $event)"
83
+ />
84
+ <div id="host-model-help-icon" class="flex-align-center relative">
85
+ <ui-icon
86
+ width="16"
87
+ height="16"
88
+ name="info"
89
+ data-id="show-host-model-help-icon"
90
+ :class="[
91
+ 'host-model-help-icon cursor-pointer disabled',
92
+ { active: isShowHostModel },
93
+ ]"
94
+ @click.stop="isShowHostModel = !isShowHostModel"
95
+ />
96
+ <Teleport to="body">
97
+ <ui-dropdown
98
+ :show="isShowHostModel"
99
+ :items="[]"
100
+ elem-id="host-model-help-icon"
101
+ test-id=""
102
+ width="480px"
103
+ left
104
+ @hide="isShowHostModel = false"
105
+ >
106
+ <template #content>
107
+ <div class="help-content">
108
+ <div class="headline">
109
+ <ui-icon name="info-2" width="16" height="16" />
110
+ <h3 class="help-title">
111
+ {{ localization.mainNavigation.help }}
112
+ </h3>
113
+ <ui-icon
114
+ name="close"
115
+ width="16"
116
+ height="16"
117
+ class="cursor-pointer"
118
+ @click="isShowHostModel = false"
119
+ />
120
+ </div>
121
+
122
+ <p class="help-text">
123
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit.
124
+ A cum eius expedita, fuga mollitia perferendis quod soluta
125
+ vel? Dolor, illo, nam? A consequatur, consequuntur eos
126
+ impedit iusto labore sunt tempora!
127
+ </p>
128
+ </div>
129
+ </template>
130
+ </ui-dropdown>
131
+ </Teleport>
132
+ </div>
133
+ </div>
134
+ </div>
135
+ </template>
136
+ </ui-stack-block>
137
+ </template>
138
+
139
+ <script setup lang="ts">
140
+ import type { UI_T_SelectedValue } from '~/node_modules/bfg-uikit/components/ui/select/models/types'
141
+ import type {
142
+ UI_I_Localization,
143
+ UI_I_HTMLSelectElement,
144
+ } from '~/lib/models/interfaces'
145
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
146
+
147
+ const cpuModel = defineModel<string>('cpuModel')
148
+ const passthroughHostCpu = defineModel<boolean>('passthroughHostCpu')
149
+ const hostModelCpu = defineModel<boolean>('hostModelCpu')
150
+
151
+ const props = defineProps<{
152
+ cpuModelOptions: UI_I_OptionItem[]
153
+ disabled: boolean
154
+ errorText: string
155
+ }>()
156
+ const emits = defineEmits<{
157
+ (event: 'change-cpu-model', value: UI_I_HTMLSelectElement): void
158
+ (event: 'change-passthrough-host-cpu', value: Event): void
159
+ (event: 'change-host-model-cpu', value: Event): void
160
+ (event: 'remove-error'): void
161
+ }>()
162
+
163
+ const localization = computed<UI_I_Localization>(() => useLocal())
164
+
165
+ const isShowPassthroughHost = ref<boolean>(false)
166
+ const isShowHostModel = ref<boolean>(false)
167
+
168
+ const onChangeCpuModel = (data: UI_T_SelectedValue): void => {
169
+ emits('change-cpu-model', { target: { value: data } })
170
+ }
171
+ </script>
172
+
173
+ <style>
174
+ :root {
175
+ --cpu-model-help-icon-color: #4d5d69;
176
+ }
177
+ :root.dark-theme {
178
+ --cpu-model-help-icon-color: #e9eaec;
179
+ }
180
+ </style>
181
+ <style scoped lang="scss">
182
+ .cpu-model-content {
183
+ display: flex;
184
+ flex-direction: column;
185
+ width: 224px;
186
+ gap: 12px;
187
+
188
+ :deep(.ui-main-select-toggle) {
189
+ width: 100%;
190
+ }
191
+ }
192
+
193
+ #passthrough-help-icon,
194
+ #host-model-help-icon {
195
+ margin-left: 8px;
196
+ }
197
+
198
+ .passthrough-help-icon,
199
+ .host-model-help-icon {
200
+ color: #9da6ad; // for light and dark
201
+
202
+ &:hover {
203
+ color: var(--cpu-model-help-icon-color);
204
+ }
205
+ &.active {
206
+ color: #008fd6;
207
+ }
208
+ &.disabled {
209
+ color: #bdc3c7;
210
+ pointer-events: none;
211
+ }
212
+ }
213
+ .help-content {
214
+ padding: 16px;
215
+
216
+ .headline {
217
+ display: flex;
218
+ align-items: center;
219
+ gap: 8px;
220
+ margin-bottom: 12px;
221
+
222
+ .help-title {
223
+ flex: 1;
224
+ font-size: 14px;
225
+ font-weight: 500;
226
+ line-height: 16.94px;
227
+ color: #4d5d69;
228
+ }
229
+ }
230
+
231
+ .help-text {
232
+ font-size: 13px;
233
+ line-height: 15.73px;
234
+ color: #4d5d69;
235
+ }
236
+ }
237
+ </style>