bfg-common 1.5.199 → 1.5.201

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 (127) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/components/atoms/TheIcon3.vue +50 -50
  3. package/components/atoms/perPage/PerPage.vue +58 -58
  4. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  5. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  6. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  7. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  8. package/components/common/context/lib/models/interfaces.ts +31 -31
  9. package/components/common/context/recursion/RecursionNew.vue +238 -238
  10. package/components/common/diagramMain/DiagramMain.vue +897 -897
  11. package/components/common/diagramMain/Header.vue +214 -214
  12. package/components/common/graph/GraphOld.vue +50 -50
  13. package/components/common/graph/graphNew/GraphNew.vue +194 -194
  14. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  15. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  16. package/components/common/monitor/advanced/graphView/GraphView.vue +145 -178
  17. package/components/common/monitor/advanced/graphView/GraphViewOld.vue +56 -56
  18. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  19. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  20. package/components/common/pages/home/headline/Headline.vue +45 -45
  21. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  22. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  23. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  24. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  25. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  26. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  27. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  28. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  29. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  30. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  31. package/components/common/pages/packages/Packages.vue +208 -208
  32. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  33. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  34. package/components/common/recursionTree/RecursionTree.vue +223 -223
  35. package/components/common/select/button/ButtonDropdown.vue +108 -108
  36. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  37. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  38. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  39. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  40. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  41. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  42. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  43. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +337 -337
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +480 -480
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +2 -17
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +190 -190
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +237 -237
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +288 -304
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +154 -154
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +375 -382
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +289 -289
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +151 -151
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +73 -73
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +40 -40
  82. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  83. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +106 -106
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +81 -81
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +67 -67
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +149 -149
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  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/password/PasswordNew.vue +128 -128
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  98. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  99. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  100. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  101. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  102. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  103. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  104. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  105. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  106. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  107. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  108. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  109. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  110. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  111. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  112. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  113. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  114. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  115. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  116. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +137 -137
  117. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  118. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  119. package/composables/productNameLocal.ts +30 -30
  120. package/composables/useAppVersion.ts +21 -21
  121. package/package.json +2 -2
  122. package/plugins/date.ts +233 -233
  123. package/public/spice-console/lib/images/bitmap.js +203 -203
  124. package/public/spice-console/network/spicechannel.js +383 -383
  125. package/store/main/mutations.ts +7 -7
  126. package/store/main/state.ts +7 -7
  127. 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>