bfg-common 1.5.653 → 1.5.654

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 (106) 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 +4 -0
  7. package/assets/localization/local_en.json +4 -0
  8. package/assets/localization/local_hy.json +4 -0
  9. package/assets/localization/local_kk.json +4 -0
  10. package/assets/localization/local_ru.json +4 -0
  11. package/assets/localization/local_zh.json +4 -0
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  22. package/components/common/browse/lib/models/interfaces.ts +5 -5
  23. package/components/common/diagramMain/network/Contents.vue +497 -497
  24. package/components/common/layout/theHeader/TheHeaderNew.vue +310 -310
  25. package/components/common/layout/theHeader/TheHeaderOld.vue +257 -257
  26. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  27. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  28. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +99 -99
  29. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +193 -193
  30. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +120 -118
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +23 -23
  33. package/components/common/pages/backups/DetailView.vue +52 -52
  34. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  35. package/components/common/pages/backups/modals/Modals.vue +243 -243
  36. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  37. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  38. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  39. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  40. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  41. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  42. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  43. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  44. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  45. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  46. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  47. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  48. package/components/common/select/radio/RadioGroup.vue +137 -137
  49. package/components/common/spiceConsole/Drawer.vue +420 -420
  50. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  51. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  52. package/components/common/tools/Actions.vue +207 -207
  53. package/components/common/treeView/TreeView.vue +52 -52
  54. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  55. package/components/common/vm/actions/clone/new/New.vue +438 -438
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  58. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  59. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  60. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  61. package/components/common/vm/actions/common/select/options/New.vue +263 -263
  62. package/components/common/vm/actions/common/select/options/Old.vue +109 -109
  63. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  64. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  65. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  66. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  67. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  68. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  69. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  70. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  71. package/components/common/wizards/common/compatibility/New.vue +99 -99
  72. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  73. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  74. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  75. package/components/common/wizards/common/steps/name/New.vue +221 -221
  76. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  77. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  78. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  79. package/components/common/wizards/datastore/add/Add.vue +228 -228
  80. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  81. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  82. package/components/common/wizards/network/add/Add.vue +870 -870
  83. package/composables/useAppVersion.ts +21 -21
  84. package/composables/useLocal.ts +6 -6
  85. package/composables/useLocalCommon.ts +39 -39
  86. package/lib/models/interfaces.ts +1 -0
  87. package/package.json +1 -1
  88. package/plugins/console.ts +21 -21
  89. package/plugins/mouse.ts +21 -21
  90. package/plugins/panelStates.ts +70 -70
  91. package/plugins/text.ts +59 -59
  92. package/plugins/time.ts +58 -58
  93. package/public/spice-console/application/clientgui.js +854 -854
  94. package/public/spice-console/application/packetfactory.js +211 -211
  95. package/public/spice-console/application/virtualmouse.js +147 -147
  96. package/public/spice-console/lib/images/bitmap.js +203 -203
  97. package/public/spice-console/network/spicechannel.js +440 -440
  98. package/public/spice-console/process/cursorprocess.js +128 -128
  99. package/public/spice-console/process/inputprocess.js +227 -227
  100. package/public/spice-console/process/mainprocess.js +212 -212
  101. package/public/spice-console/run.js +210 -210
  102. package/store/main/mutations.ts +7 -7
  103. package/store/main/state.ts +7 -7
  104. package/store/tasks/actions.ts +165 -165
  105. package/store/tasks/mappers/recentTasks.ts +123 -123
  106. package/store/tasks/mutations.ts +82 -82
@@ -1,263 +1,263 @@
1
- <template>
2
- <div
3
- ref="mainContainer"
4
- :class="[
5
- 'select-options grid gap-3 mt-4',
6
- { 'is-sm-size': isContainerSm },
7
- { 'three-items': !props.isNewVmFromTemplate },
8
- ]"
9
- >
10
- <div
11
- :class="[
12
- 'checkbox-container',
13
- { checked: isCustomizeOs },
14
- { disabled: props.isNewVmFromTemplate },
15
- ]"
16
- @click.stop.prevent="onToggleCustomizeOs"
17
- >
18
- <ui-checkbox
19
- v-model="isCustomizeOs"
20
- :label-text="localization.vmWizard.customizeOS"
21
- :title="localization.vmWizard.customizeOS"
22
- :disabled="props.isNewVmFromTemplate"
23
- test-id="customize-os"
24
- size="md"
25
- />
26
- <p
27
- :class="[
28
- 'checkbox-block-description mt-2 ml-7 mr-3',
29
- { disabled: props.isNewVmFromTemplate },
30
- ]"
31
- >
32
- {{ localization.vmWizard.customizeOperatingSystem }}
33
- </p>
34
- </div>
35
- <div
36
- v-if="!props.isNewVmFromTemplate"
37
- :class="[
38
- 'checkbox-container',
39
- { checked: isCustomizeHardware },
40
- { disabled: props.isNewVmFromTemplate },
41
- ]"
42
- @click.stop.prevent="onToggleCustomizeHardware"
43
- >
44
- <ui-checkbox
45
- v-model="isCustomizeHardware"
46
- :label-text="localization.common.customizeHardware"
47
- :title="localization.common.customizeHardware"
48
- :disabled="props.isNewVmFromTemplate"
49
- test-id="customize-hardware"
50
- size="md"
51
- />
52
- <p
53
- :class="[
54
- 'checkbox-block-description mt-2 ml-7 mr-3',
55
- { disabled: props.isNewVmFromTemplate },
56
- ]"
57
- >
58
- {{ localization.vmWizard.customizeVMHardware }}
59
- </p>
60
- </div>
61
- <div
62
- :class="[
63
- 'checkbox-container',
64
- { checked: isPowerOn },
65
- { disabled: props.isNewVmFromTemplate },
66
- ]"
67
- @click.stop.prevent="onTogglePowerOn"
68
- >
69
- <!-- :disabled="props.isNewVmFromTemplate"-->
70
- <ui-checkbox
71
- v-model="isPowerOn"
72
- :label-text="localization.vmWizard.autoPowerOn"
73
- :title="localization.vmWizard.autoPowerOn"
74
- :disabled="props.isNewVmFromTemplate"
75
- test-id="power-on"
76
- size="md"
77
- />
78
- <!-- { disabled: props.isNewVmFromTemplate },-->
79
- <p :class="['checkbox-block-description mt-2 ml-7 mr-3']">
80
- {{ localization.vmWizard.powerVMAfterCreation }}
81
- </p>
82
- </div>
83
- <div
84
- v-if="props.isNewVmFromTemplate"
85
- :class="['checkbox-container', { checked: isLinkedClone }]"
86
- @click.stop.prevent="onToggleLinkedClone"
87
- >
88
- <ui-checkbox
89
- v-model="isLinkedClone"
90
- :label-text="localization.vmWizard.createLinkedClone"
91
- :title="localization.vmWizard.createLinkedClone"
92
- test-id="create-linked-clone"
93
- size="md"
94
- />
95
-
96
- <ui-input
97
- v-if="props.project !== 'sphere'"
98
- v-model="cloneCount"
99
- :disabled="!isLinkedClone"
100
- test-id="clone-count"
101
- type="number"
102
- class="ml-1 mt-2"
103
- />
104
- </div>
105
- </div>
106
- </template>
107
-
108
- <script setup lang="ts">
109
- import { useElementSize } from '@vueuse/core'
110
- import type { UI_I_Localization } from '~/lib/models/interfaces'
111
- import type { UI_T_Project } from '~/lib/models/types'
112
-
113
- const modelValue = defineModel<string[]>({ required: true })
114
- const cloneCount = defineModel<number>('cloneCount')
115
-
116
- const props = withDefaults(
117
- defineProps<{
118
- project?: UI_T_Project
119
- isNewVmFromTemplate?: boolean // TODO change
120
- }>(),
121
- {
122
- project: undefined,
123
- isNewVmFromTemplate: undefined,
124
- }
125
- )
126
-
127
- const localization = computed<UI_I_Localization>(() => useLocal())
128
-
129
- const mainContainer = ref<HTMLElement | null>(null)
130
- const { width: mainContainerWidth } = useElementSize(mainContainer)
131
-
132
- const isCustomizeOs = ref<boolean>(false)
133
- const isCustomizeHardware = ref<boolean>(false)
134
- const isPowerOn = ref<boolean>(false)
135
- const isLinkedClone = ref<boolean>(false)
136
-
137
- const onToggleCustomizeOs = (): void => {
138
- if (props.isNewVmFromTemplate) return
139
-
140
- isCustomizeOs.value = !isCustomizeOs.value
141
- if (isCustomizeOs.value) {
142
- !modelValue.value.includes('customize-os') &&
143
- modelValue.value.push('customize-os')
144
- } else {
145
- modelValue.value = modelValue.value.filter(
146
- (item) => item !== 'customize-os'
147
- )
148
- }
149
- }
150
-
151
- const onToggleCustomizeHardware = (): void => {
152
- if (props.isNewVmFromTemplate) return
153
-
154
- isCustomizeHardware.value = !isCustomizeHardware.value
155
- if (isCustomizeHardware.value) {
156
- !modelValue.value.includes('customize-hardware') &&
157
- modelValue.value.push('customize-hardware')
158
- } else {
159
- modelValue.value = modelValue.value.filter(
160
- (item) => item !== 'customize-hardware'
161
- )
162
- }
163
- }
164
-
165
- const onTogglePowerOn = (): void => {
166
- if (props.isNewVmFromTemplate) return
167
-
168
- isPowerOn.value = !isPowerOn.value
169
- if (isPowerOn.value) {
170
- !modelValue.value.includes('power-on') && modelValue.value.push('power-on')
171
- } else {
172
- modelValue.value = modelValue.value.filter((item) => item !== 'power-on')
173
- }
174
- }
175
-
176
- const onToggleLinkedClone = (): void => {
177
- isLinkedClone.value = !isLinkedClone.value
178
- if (isLinkedClone.value) {
179
- !modelValue.value.includes('create-linked-clone') &&
180
- modelValue.value.push('create-linked-clone')
181
- } else {
182
- modelValue.value = modelValue.value.filter(
183
- (item) => item !== 'create-linked-clone'
184
- )
185
- }
186
- }
187
-
188
- const isContainerSm = ref<boolean>(false)
189
- watch(
190
- mainContainerWidth,
191
- (newValue) => {
192
- isContainerSm.value = newValue <= 600
193
- },
194
- { immediate: true }
195
- )
196
- </script>
197
-
198
- <style>
199
- :root {
200
- --select-option-target-vm-checkbox-description-disabled: #bdc3c7;
201
- }
202
- :root.dark-theme {
203
- --select-option-target-vm-checkbox-description-disabled: #bdc3c770;
204
- }
205
- </style>
206
-
207
- <style scoped lang="scss">
208
- .select-options {
209
- grid-template-columns: 1fr 1fr;
210
- grid-template-rows: max-content;
211
- overflow-y: auto;
212
- padding-bottom: 16px;
213
-
214
- &.is-sm-size {
215
- grid-template-columns: 1fr;
216
- }
217
-
218
- &.three-items {
219
- grid-template-columns: 1fr 1fr 1fr;
220
- }
221
-
222
- .checkbox-container {
223
- width: 100%;
224
- background-color: var(--select-bg);
225
- border-radius: 8px;
226
- padding: 12px;
227
- transition: box-shadow 0.1s ease-in-out;
228
- box-shadow: inset 0 0 0 1px var(--line-color);
229
-
230
- &.disabled {
231
- cursor: not-allowed;
232
- }
233
- &:not(.disabled):hover {
234
- cursor: pointer;
235
- }
236
- &:not(.disabled):not(.checked):hover {
237
- box-shadow: inset 0 0 0 1px var(--select-border);
238
- }
239
- &.checked {
240
- background-color: var(--radio-btn-active-label-bg-color);
241
- box-shadow: inset 0 0 0 1.5px var(--radio-btn-active-label-border-color);
242
- }
243
-
244
- :deep(.ui-checkbox-label) {
245
- align-items: flex-start;
246
-
247
- .ui-checkbox-label-text {
248
- line-height: 18px;
249
- margin-top: 1px;
250
- }
251
- }
252
-
253
- .checkbox-block-description {
254
- color: #9da6ad;
255
- line-height: 18px;
256
-
257
- &.disabled {
258
- color: var(--select-option-target-vm-checkbox-description-disabled);
259
- }
260
- }
261
- }
262
- }
263
- </style>
1
+ <template>
2
+ <div
3
+ ref="mainContainer"
4
+ :class="[
5
+ 'select-options grid gap-3 mt-4',
6
+ { 'is-sm-size': isContainerSm },
7
+ { 'three-items': !props.isNewVmFromTemplate },
8
+ ]"
9
+ >
10
+ <div
11
+ :class="[
12
+ 'checkbox-container',
13
+ { checked: isCustomizeOs },
14
+ { disabled: props.isNewVmFromTemplate },
15
+ ]"
16
+ @click.stop.prevent="onToggleCustomizeOs"
17
+ >
18
+ <ui-checkbox
19
+ v-model="isCustomizeOs"
20
+ :label-text="localization.vmWizard.customizeOS"
21
+ :title="localization.vmWizard.customizeOS"
22
+ :disabled="props.isNewVmFromTemplate"
23
+ test-id="customize-os"
24
+ size="md"
25
+ />
26
+ <p
27
+ :class="[
28
+ 'checkbox-block-description mt-2 ml-7 mr-3',
29
+ { disabled: props.isNewVmFromTemplate },
30
+ ]"
31
+ >
32
+ {{ localization.vmWizard.customizeOperatingSystem }}
33
+ </p>
34
+ </div>
35
+ <div
36
+ v-if="!props.isNewVmFromTemplate"
37
+ :class="[
38
+ 'checkbox-container',
39
+ { checked: isCustomizeHardware },
40
+ { disabled: props.isNewVmFromTemplate },
41
+ ]"
42
+ @click.stop.prevent="onToggleCustomizeHardware"
43
+ >
44
+ <ui-checkbox
45
+ v-model="isCustomizeHardware"
46
+ :label-text="localization.common.customizeHardware"
47
+ :title="localization.common.customizeHardware"
48
+ :disabled="props.isNewVmFromTemplate"
49
+ test-id="customize-hardware"
50
+ size="md"
51
+ />
52
+ <p
53
+ :class="[
54
+ 'checkbox-block-description mt-2 ml-7 mr-3',
55
+ { disabled: props.isNewVmFromTemplate },
56
+ ]"
57
+ >
58
+ {{ localization.vmWizard.customizeVMHardware }}
59
+ </p>
60
+ </div>
61
+ <div
62
+ :class="[
63
+ 'checkbox-container',
64
+ { checked: isPowerOn },
65
+ { disabled: props.isNewVmFromTemplate },
66
+ ]"
67
+ @click.stop.prevent="onTogglePowerOn"
68
+ >
69
+ <!-- :disabled="props.isNewVmFromTemplate"-->
70
+ <ui-checkbox
71
+ v-model="isPowerOn"
72
+ :label-text="localization.vmWizard.autoPowerOn"
73
+ :title="localization.vmWizard.autoPowerOn"
74
+ :disabled="props.isNewVmFromTemplate"
75
+ test-id="power-on"
76
+ size="md"
77
+ />
78
+ <!-- { disabled: props.isNewVmFromTemplate },-->
79
+ <p :class="['checkbox-block-description mt-2 ml-7 mr-3']">
80
+ {{ localization.vmWizard.powerVMAfterCreation }}
81
+ </p>
82
+ </div>
83
+ <div
84
+ v-if="props.isNewVmFromTemplate"
85
+ :class="['checkbox-container', { checked: isLinkedClone }]"
86
+ @click.stop.prevent="onToggleLinkedClone"
87
+ >
88
+ <ui-checkbox
89
+ v-model="isLinkedClone"
90
+ :label-text="localization.vmWizard.createLinkedClone"
91
+ :title="localization.vmWizard.createLinkedClone"
92
+ test-id="create-linked-clone"
93
+ size="md"
94
+ />
95
+
96
+ <ui-input
97
+ v-if="props.project !== 'sphere'"
98
+ v-model="cloneCount"
99
+ :disabled="!isLinkedClone"
100
+ test-id="clone-count"
101
+ type="number"
102
+ class="ml-1 mt-2"
103
+ />
104
+ </div>
105
+ </div>
106
+ </template>
107
+
108
+ <script setup lang="ts">
109
+ import { useElementSize } from '@vueuse/core'
110
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
111
+ import type { UI_T_Project } from '~/lib/models/types'
112
+
113
+ const modelValue = defineModel<string[]>({ required: true })
114
+ const cloneCount = defineModel<number>('cloneCount')
115
+
116
+ const props = withDefaults(
117
+ defineProps<{
118
+ project?: UI_T_Project
119
+ isNewVmFromTemplate?: boolean // TODO change
120
+ }>(),
121
+ {
122
+ project: undefined,
123
+ isNewVmFromTemplate: undefined,
124
+ }
125
+ )
126
+
127
+ const localization = computed<UI_I_Localization>(() => useLocal())
128
+
129
+ const mainContainer = ref<HTMLElement | null>(null)
130
+ const { width: mainContainerWidth } = useElementSize(mainContainer)
131
+
132
+ const isCustomizeOs = ref<boolean>(false)
133
+ const isCustomizeHardware = ref<boolean>(false)
134
+ const isPowerOn = ref<boolean>(false)
135
+ const isLinkedClone = ref<boolean>(false)
136
+
137
+ const onToggleCustomizeOs = (): void => {
138
+ if (props.isNewVmFromTemplate) return
139
+
140
+ isCustomizeOs.value = !isCustomizeOs.value
141
+ if (isCustomizeOs.value) {
142
+ !modelValue.value.includes('customize-os') &&
143
+ modelValue.value.push('customize-os')
144
+ } else {
145
+ modelValue.value = modelValue.value.filter(
146
+ (item) => item !== 'customize-os'
147
+ )
148
+ }
149
+ }
150
+
151
+ const onToggleCustomizeHardware = (): void => {
152
+ if (props.isNewVmFromTemplate) return
153
+
154
+ isCustomizeHardware.value = !isCustomizeHardware.value
155
+ if (isCustomizeHardware.value) {
156
+ !modelValue.value.includes('customize-hardware') &&
157
+ modelValue.value.push('customize-hardware')
158
+ } else {
159
+ modelValue.value = modelValue.value.filter(
160
+ (item) => item !== 'customize-hardware'
161
+ )
162
+ }
163
+ }
164
+
165
+ const onTogglePowerOn = (): void => {
166
+ if (props.isNewVmFromTemplate) return
167
+
168
+ isPowerOn.value = !isPowerOn.value
169
+ if (isPowerOn.value) {
170
+ !modelValue.value.includes('power-on') && modelValue.value.push('power-on')
171
+ } else {
172
+ modelValue.value = modelValue.value.filter((item) => item !== 'power-on')
173
+ }
174
+ }
175
+
176
+ const onToggleLinkedClone = (): void => {
177
+ isLinkedClone.value = !isLinkedClone.value
178
+ if (isLinkedClone.value) {
179
+ !modelValue.value.includes('create-linked-clone') &&
180
+ modelValue.value.push('create-linked-clone')
181
+ } else {
182
+ modelValue.value = modelValue.value.filter(
183
+ (item) => item !== 'create-linked-clone'
184
+ )
185
+ }
186
+ }
187
+
188
+ const isContainerSm = ref<boolean>(false)
189
+ watch(
190
+ mainContainerWidth,
191
+ (newValue) => {
192
+ isContainerSm.value = newValue <= 600
193
+ },
194
+ { immediate: true }
195
+ )
196
+ </script>
197
+
198
+ <style>
199
+ :root {
200
+ --select-option-target-vm-checkbox-description-disabled: #bdc3c7;
201
+ }
202
+ :root.dark-theme {
203
+ --select-option-target-vm-checkbox-description-disabled: #bdc3c770;
204
+ }
205
+ </style>
206
+
207
+ <style scoped lang="scss">
208
+ .select-options {
209
+ grid-template-columns: 1fr 1fr;
210
+ grid-template-rows: max-content;
211
+ overflow-y: auto;
212
+ padding-bottom: 16px;
213
+
214
+ &.is-sm-size {
215
+ grid-template-columns: 1fr;
216
+ }
217
+
218
+ &.three-items {
219
+ grid-template-columns: 1fr 1fr 1fr;
220
+ }
221
+
222
+ .checkbox-container {
223
+ width: 100%;
224
+ background-color: var(--select-bg);
225
+ border-radius: 8px;
226
+ padding: 12px;
227
+ transition: box-shadow 0.1s ease-in-out;
228
+ box-shadow: inset 0 0 0 1px var(--line-color);
229
+
230
+ &.disabled {
231
+ cursor: not-allowed;
232
+ }
233
+ &:not(.disabled):hover {
234
+ cursor: pointer;
235
+ }
236
+ &:not(.disabled):not(.checked):hover {
237
+ box-shadow: inset 0 0 0 1px var(--select-border);
238
+ }
239
+ &.checked {
240
+ background-color: var(--radio-btn-active-label-bg-color);
241
+ box-shadow: inset 0 0 0 1.5px var(--radio-btn-active-label-border-color);
242
+ }
243
+
244
+ :deep(.ui-checkbox-label) {
245
+ align-items: flex-start;
246
+
247
+ .ui-checkbox-label-text {
248
+ line-height: 18px;
249
+ margin-top: 1px;
250
+ }
251
+ }
252
+
253
+ .checkbox-block-description {
254
+ color: #9da6ad;
255
+ line-height: 18px;
256
+
257
+ &.disabled {
258
+ color: var(--select-option-target-vm-checkbox-description-disabled);
259
+ }
260
+ }
261
+ }
262
+ }
263
+ </style>