bfg-common 1.5.92 → 1.5.94

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 (112) hide show
  1. package/assets/scss/common/normalize.scss +347 -347
  2. package/components/atoms/alert/Notification.vue +169 -169
  3. package/components/atoms/autocomplete/Autocomplete.vue +361 -362
  4. package/components/atoms/collapse/CollapseNav.vue +169 -169
  5. package/components/atoms/comboDropdownMenu/ComboDropdownMenu.vue +357 -357
  6. package/components/atoms/combobox/Combobox.vue +154 -154
  7. package/components/atoms/datepicker/Datepicker.vue +639 -639
  8. package/components/atoms/dropdown/Portlet.vue +113 -113
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/dropdown/tree/Tree.vue +137 -137
  11. package/components/atoms/list/SelectList.vue +63 -63
  12. package/components/atoms/list/dragDropList/DragDropList.vue +148 -148
  13. package/components/atoms/modal/Modal.vue +250 -250
  14. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  15. package/components/atoms/notificationBar/NotificationBar.vue +178 -178
  16. package/components/atoms/popover/Popover.vue +58 -58
  17. package/components/atoms/popover/lib/models/interfaces.ts +4 -4
  18. package/components/atoms/select/TheSelect.vue +187 -187
  19. package/components/atoms/stack/StackBlock.vue +185 -185
  20. package/components/atoms/stack/StackContent.vue +63 -63
  21. package/components/atoms/step/lib/models/verticalStepItem.ts +5 -5
  22. package/components/atoms/switch/Switch.vue +111 -111
  23. package/components/atoms/table/compact/Compact.vue +529 -529
  24. package/components/atoms/table/dataGrid/DataGrid.vue +1716 -1713
  25. package/components/atoms/table/dataGrid/DataGridPage.vue +195 -195
  26. package/components/atoms/table/info/Info.vue +2 -2
  27. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  28. package/components/atoms/table/simpleInfo/SimpleInfo.vue +73 -73
  29. package/components/atoms/tabs/Tabs.vue +217 -217
  30. package/components/atoms/wizard/Wizard.vue +341 -341
  31. package/components/common/accordion/Recursion.vue +222 -222
  32. package/components/common/adapterManager/AddAdapterModal.vue +561 -561
  33. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +30 -30
  34. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  35. package/components/common/browse/BrowseNew.vue +237 -237
  36. package/components/common/browse/BrowseOld.vue +217 -217
  37. package/components/common/browse/blocks/TitleNew.vue +145 -145
  38. package/components/common/browse/blocks/TitleOld.vue +91 -91
  39. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  40. package/components/common/chartOptionsModal/counters/timespan/form/FormNew.vue +262 -262
  41. package/components/common/context/Context.vue +111 -111
  42. package/components/common/context/recursion/RecursionOld.vue +228 -228
  43. package/components/common/details/DetailsItem.vue +109 -109
  44. package/components/common/feedback/Buttons.vue +229 -229
  45. package/components/common/feedback/Feedback.vue +270 -270
  46. package/components/common/feedback/Message.vue +519 -519
  47. package/components/common/graph/graphNew/GraphNew.vue +194 -194
  48. package/components/common/graph/lib/utils/renderGraph.ts +389 -389
  49. package/components/common/layout/theHeader/feedback/new/New.vue +227 -227
  50. package/components/common/layout/theHeader/feedback/new/additionalDetails/AdditionalDetails.vue +606 -606
  51. package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +98 -98
  52. package/components/common/layout/theHeader/feedback/new/description/Description.vue +59 -59
  53. package/components/common/layout/theHeader/feedback/new/email/Email.vue +43 -43
  54. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +103 -103
  55. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +112 -112
  56. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +80 -80
  57. package/components/common/layout/theHeader/helpMenu/helpMenuOld/HelpMenuOld.vue +1 -1
  58. package/components/common/layout/theHeader/modals/Reconnect.vue +2 -2
  59. package/components/common/layout/theHeader/modals/RedirectLogin.vue +3 -3
  60. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +1 -1
  61. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePasswordNew.vue +8 -8
  62. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePasswordOld.vue +3 -3
  63. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +1 -1
  64. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +1 -1
  65. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +1 -1
  66. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageNew.vue +1 -1
  67. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageOld.vue +2 -5
  68. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsoleOld.vue +1 -1
  69. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/InventoryNew.vue +1 -1
  70. package/components/common/layout/theHeader/userMenu/userMenuNew/UserMenuNew.vue +2 -2
  71. package/components/common/layout/theHeader/userMenu/userMenuNew/lib/config/dropMenu.ts +1 -1
  72. package/components/common/layout/theHeader/userMenu/userMenuOld/UserMenuOld.vue +1 -1
  73. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +2 -2
  74. package/components/common/modals/Rename.vue +2 -2
  75. package/components/common/modals/confirmByInput/ConfirmByInput.vue +2 -3
  76. package/components/common/modals/confirmByInput/ConfirmByInputOld.vue +3 -3
  77. package/components/common/modals/confirmation/ConfirmationOld.vue +1 -1
  78. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +1 -1
  79. package/components/common/monitor/advanced/Advanced.vue +1 -1
  80. package/components/common/monitor/advanced/AdvancedNew.vue +1 -1
  81. package/components/common/monitor/advanced/AdvancedOld.vue +1 -1
  82. package/components/common/monitor/advanced/graphView/GraphViewNew.vue +1 -1
  83. package/components/common/monitor/advanced/graphView/GraphViewOld.vue +1 -1
  84. package/components/common/monitor/advanced/table/Table.vue +1 -1
  85. package/components/common/monitor/advanced/table/tableNew/TableNew.vue +2 -2
  86. package/components/common/monitor/advanced/table/tableOld/lib/config/performanceDatatable.ts +2 -2
  87. package/components/common/monitor/advanced/tools/ToolsOld.vue +2 -2
  88. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModalOld.vue +1 -1
  89. package/components/common/monitor/advanced/tools/chartOptionsModal/NotificationOld.vue +1 -1
  90. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/ActionsOld.vue +1 -1
  91. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +1 -1
  92. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersNew.vue +1 -1
  93. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableOld/lib/config/tableConfig.ts +2 -2
  94. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +10 -3
  95. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/ObjectNew.vue +1 -1
  96. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectOld/ObjectOld.vue +2 -2
  97. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +1 -1
  98. package/components/common/monitor/lib/models/interfaces.ts +1 -1
  99. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +3 -3
  100. package/components/common/monitor/overview/filters/customIntervalModal/customIntervalModalNew/CustomIntervalModalNew.vue +4 -3
  101. package/components/common/monitor/resourceAllocation/lib/models/interfaces.ts +8 -8
  102. package/components/common/monitor/resourceAllocation/resourceAllocation.vue +2 -2
  103. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +1 -1
  104. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/Notification.vue +1 -1
  105. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/SaveOptionsModal.vue +1 -1
  106. package/components/common/pages/hardwareHealth/tableView/lib/config/alertWarningTable.ts +1 -1
  107. package/components/common/pages/hardwareHealth/tableView/lib/config/historyTestimonyTable.ts +5 -5
  108. package/components/common/wizards/vm/migrate/Migrate.vue +39 -2
  109. package/components/common/wizards/vm/migrate/vmOrigin/VmOrigin.vue +92 -0
  110. package/components/common/wizards/vm/migrate/vmOrigin/lib/models/interfaces.ts +19 -0
  111. package/components/common/wizards/vm/migrate/vmOrigin/lib/utils/constructItems.ts +62 -0
  112. package/package.json +1 -1
@@ -1,341 +1,341 @@
1
- <template>
2
- <div v-if="props.show" class="modal clr-wizard wizard-xl">
3
- <div
4
- :style="{ 'max-height': props.maxHeight }"
5
- class="modal-dialog modal-xl relative"
6
- >
7
- <div class="modal-content-wrapper">
8
- <nav class="modal-nav clr-wizard-stepnav-wrapper">
9
- <h1 class="clr-wizard-title">
10
- {{ props.title }}
11
- </h1>
12
- <atoms-wizard-step
13
- :test-id="props.testId"
14
- :selected-scheme="props.selectedScheme"
15
- :steps="props.wizard.stepsInSelectedSchemeWithStatus.value"
16
- @change="onSelectStep"
17
- />
18
- </nav>
19
- <div class="modal-content">
20
- <div class="modal-header--accessible">
21
- <slot name="contentHeading">
22
- <div class="modal-title-wrapper">
23
- <h2 class="modal-title">
24
- <span class="modal-title-text">
25
- {{ props.wizard.selectedStepCom.value.title }}
26
- </span>
27
- </h2>
28
- </div>
29
- </slot>
30
- <button
31
- :id="`${props.testId}-close-icon`"
32
- :data-id="`${hideTestId}-close-button`"
33
- class="close"
34
- @click="onHide"
35
- >
36
- <atoms-the-icon class="close-icon" name="close" />
37
- </button>
38
- </div>
39
- <div class="modal-body" style="padding: 16px 15px 10px 10px">
40
- <div
41
- v-if="props.wizard.selectedStepCom.value.subTitle"
42
- class="content-heading"
43
- >
44
- <div
45
- v-if="props.wizard.selectedStepCom.value.subTitle !== 'border'"
46
- >
47
- <slot
48
- name="description"
49
- :selected-step="props.wizard.selectedStepCom.value"
50
- >
51
- <h2>{{ props.wizard.selectedStepCom.value.subTitle }}</h2>
52
- </slot>
53
- </div>
54
- </div>
55
- <slot
56
- name="modalBody"
57
- :selected-step="props.wizard.selectedStepCom.value"
58
- />
59
- </div>
60
- <div class="modal-footer">
61
- <slot name="modalFooterContent"></slot>
62
- <slot name="modalFooter">
63
- <button
64
- :id="`${props.testId}-cancel-button`"
65
- :data-id="`${hideTestId}-cancel-button`"
66
- class="btn btn-link"
67
- @click="onHide"
68
- >
69
- {{ props.localization.common.cancel }}
70
- </button>
71
- <button
72
- v-if="!props.wizard.isFirstStepCom.value"
73
- :id="`${props.testId}-back-button`"
74
- :data-id="`${backTestId}-back-button`"
75
- class="btn btn-outline"
76
- @click="onPreviousStep"
77
- >
78
- {{ props.localization.common.back }}
79
- </button>
80
- <button
81
- v-if="props.wizard.isLastStepCom.value"
82
- :id="`${props.testId}-finish-button`"
83
- :data-id="`${finishTestId}-finish-button`"
84
- class="btn btn-success"
85
- @click="emits('submit')"
86
- >
87
- {{ props.localization.common.finish }}
88
- </button>
89
- <button
90
- v-else
91
- :id="`${props.testId}-next-button`"
92
- :data-id="`${nextTestId}-next-button`"
93
- :disabled="
94
- props.isDisabledFinish ||
95
- props.wizard.isDisabledNextButton.value
96
- "
97
- class="btn btn-primary"
98
- @click="onNextStep"
99
- >
100
- {{ props.localization.common.next }}
101
- </button>
102
- </slot>
103
- </div>
104
- </div>
105
- </div>
106
-
107
- <div v-show="props.wizard.wizardLoader.status" class="loader">
108
- <i class="fa clr-tree-node-caret-icon spinner" />
109
- <div v-if="props.wizard.wizardLoader.messages.length" class="text">
110
- <p
111
- v-for="message in props.wizard.wizardLoader.messages"
112
- :key="message"
113
- >
114
- {{ message }}
115
- </p>
116
- </div>
117
- </div>
118
- </div>
119
- <div class="modal-backdrop" />
120
- </div>
121
- </template>
122
-
123
- <script setup lang="ts">
124
- import type { UI_I_Localization } from '~/lib/models/interfaces'
125
- import type {
126
- UI_I_WizardStep,
127
- UI_I_WizardStepNavigation,
128
- UI_I_WizardSchemeData,
129
- } from '~/components/atoms/wizard/lib/models/interfaces'
130
-
131
- const props = withDefaults(
132
- defineProps<{
133
- title: string
134
- show: boolean
135
- selectedScheme: (number | UI_I_WizardSchemeData)[]
136
- isDisabledNext?: boolean
137
- isDisabledFinish?: boolean
138
- localization?: UI_I_Localization
139
- testId?: string
140
- maxHeight?: string
141
- wizard: any
142
- }>(),
143
- {
144
- isDisabledNext: false,
145
- isDisabledFinish: false,
146
- localization: () => ({}),
147
- testId: '',
148
- maxHeight: '',
149
- }
150
- )
151
-
152
- const emits = defineEmits<{
153
- (event: 'submit'): void
154
- (event: 'hide'): void
155
- (event: 'change-steps', value: UI_I_WizardStep[]): void
156
- }>()
157
-
158
- const hideTestId = computed<string>(
159
- () =>
160
- (props.wizard.selectedStepCom.value?.accessDynamicTestIdForHide &&
161
- props.wizard.selectedStepDataFromScheme.value?.dataId) ||
162
- props.testId
163
- )
164
-
165
- const backTestId = computed<string>(
166
- () =>
167
- (props.wizard.selectedStepCom.value?.accessDynamicTestIdForBack &&
168
- props.wizard.selectedStepDataFromScheme.value?.dataId) ||
169
- props.testId
170
- )
171
-
172
- const finishTestId = computed<string>(
173
- () =>
174
- (props.wizard.selectedStepCom.value?.accessDynamicTestIdForFinish &&
175
- props.wizard.selectedStepDataFromScheme.value?.dataId) ||
176
- props.testId
177
- )
178
-
179
- const nextTestId = computed<string>(
180
- () =>
181
- (props.wizard.selectedStepCom.value?.accessDynamicTestIdForNext &&
182
- props.wizard.selectedStepDataFromScheme.value?.dataId) ||
183
- props.testId
184
- )
185
-
186
- const onHide = (): void => {
187
- emits('hide')
188
- }
189
-
190
- const onSelectStep = (step: UI_I_WizardStepNavigation): void => {
191
- emits('change-steps', props.wizard.selectedStepData(step))
192
- }
193
-
194
- const onNextStep = (): void => {
195
- emits('change-steps', props.wizard.nextStepData)
196
- }
197
-
198
- const onPreviousStep = (): void => {
199
- emits('change-steps', props.wizard.previousStepData)
200
- }
201
- </script>
202
-
203
- <style scoped lang="scss">
204
- .modal {
205
- position: fixed;
206
- top: 0;
207
- bottom: 0;
208
- right: 0;
209
- left: 0;
210
- z-index: var(--z-modal);
211
- display: flex;
212
- flex-direction: column;
213
- justify-content: center;
214
- align-items: center;
215
- padding: 48px;
216
- overflow-y: auto;
217
-
218
- .modal-nav {
219
- background-color: var(--block-view-bg-color4);
220
- .clr-wizard-title {
221
- color: var(--main-color-mode);
222
- font-size: 22px;
223
- padding: 24px 12px 24px 24px;
224
- //line-height: 1.2rem;
225
- }
226
- }
227
-
228
- .modal-content-wrapper {
229
- position: relative;
230
- -webkit-animation-name: animateTop;
231
- -webkit-animation-duration: 0.4s;
232
- animation-name: animateTop;
233
- animation-duration: 0.4s;
234
- }
235
-
236
- .modal-content {
237
- background-color: var(--modal-bg-color);
238
-
239
- .modal-header--accessible {
240
- display: flex;
241
- justify-content: space-between;
242
- align-items: flex-start;
243
- width: 100%;
244
- padding: 24px 19px 6px 24px;
245
-
246
- .modal-title-text {
247
- color: var(--main-color-mode);
248
- font-size: 22px;
249
- }
250
-
251
- .close-icon {
252
- fill: var(--close-icon);
253
- width: 24px;
254
- height: 24px;
255
- }
256
- }
257
-
258
- .modal-body {
259
- padding: 0 3px;
260
- }
261
-
262
- .modal-footer {
263
- display: flex;
264
- justify-content: flex-end;
265
- padding: 24px;
266
- flex: unset;
267
- min-height: 0;
268
- height: auto;
269
- }
270
- }
271
-
272
- .loader {
273
- position: absolute;
274
- z-index: var(--z-fixed);
275
- left: 0;
276
- right: 0;
277
- bottom: 0;
278
- top: 0;
279
- display: flex;
280
- align-items: center;
281
- justify-content: center;
282
- background-color: rgba(0, 0, 0, 0.3);
283
-
284
- .spinner {
285
- left: unset;
286
- }
287
-
288
- .text {
289
- position: absolute;
290
- top: calc(40% + 75px);
291
- text-align: center;
292
- background-color: rgba(0, 0, 0, 0.3);
293
- padding: 5px 10px;
294
- border-radius: 3px;
295
-
296
- p {
297
- color: white;
298
- }
299
- }
300
- }
301
-
302
- .modal-backdrop {
303
- opacity: 1;
304
- background-color: rgba(0, 0, 0, 0.6);
305
- }
306
- }
307
- h1,
308
- h2 {
309
- // просмотреть если нигде не ломается переместит глобально
310
- line-height: inherit;
311
- }
312
-
313
- .content-heading {
314
- display: flex;
315
- justify-content: space-between;
316
- align-items: flex-start;
317
- border-bottom: 1px solid #a6a6a6;
318
-
319
- & > div h2 {
320
- font-weight: 400;
321
- font-size: 13px;
322
- line-height: inherit;
323
- color: var(--add-vm-context-sub-title);
324
- }
325
- }
326
-
327
- :root.dark-theme {
328
- .loader .text {
329
- position: absolute;
330
- top: calc(40% + 75px);
331
- text-align: center;
332
- background-color: rgba(250, 250, 250, 0.5);
333
- padding: 5px 10px;
334
- border-radius: 5px;
335
-
336
- p {
337
- color: black;
338
- }
339
- }
340
- }
341
- </style>
1
+ <template>
2
+ <div v-if="props.show" class="modal clr-wizard wizard-xl">
3
+ <div
4
+ :style="{ 'max-height': props.maxHeight }"
5
+ class="modal-dialog modal-xl relative"
6
+ >
7
+ <div class="modal-content-wrapper">
8
+ <nav class="modal-nav clr-wizard-stepnav-wrapper">
9
+ <h1 class="clr-wizard-title">
10
+ {{ props.title }}
11
+ </h1>
12
+ <atoms-wizard-step
13
+ :test-id="props.testId"
14
+ :selected-scheme="props.selectedScheme"
15
+ :steps="props.wizard.stepsInSelectedSchemeWithStatus.value"
16
+ @change="onSelectStep"
17
+ />
18
+ </nav>
19
+ <div class="modal-content">
20
+ <div class="modal-header--accessible">
21
+ <slot name="contentHeading">
22
+ <div class="modal-title-wrapper">
23
+ <h2 class="modal-title">
24
+ <span class="modal-title-text">
25
+ {{ props.wizard.selectedStepCom.value.title }}
26
+ </span>
27
+ </h2>
28
+ </div>
29
+ </slot>
30
+ <button
31
+ :id="`${props.testId}-close-icon`"
32
+ :data-id="`${hideTestId}-close-button`"
33
+ class="close"
34
+ @click="onHide"
35
+ >
36
+ <atoms-the-icon class="close-icon" name="close" />
37
+ </button>
38
+ </div>
39
+ <div class="modal-body" style="padding: 16px 15px 10px 10px">
40
+ <div
41
+ v-if="props.wizard.selectedStepCom.value.subTitle"
42
+ class="content-heading"
43
+ >
44
+ <div
45
+ v-if="props.wizard.selectedStepCom.value.subTitle !== 'border'"
46
+ >
47
+ <slot
48
+ name="description"
49
+ :selected-step="props.wizard.selectedStepCom.value"
50
+ >
51
+ <h2>{{ props.wizard.selectedStepCom.value.subTitle }}</h2>
52
+ </slot>
53
+ </div>
54
+ </div>
55
+ <slot
56
+ name="modalBody"
57
+ :selected-step="props.wizard.selectedStepCom.value"
58
+ />
59
+ </div>
60
+ <div class="modal-footer">
61
+ <slot name="modalFooterContent"></slot>
62
+ <slot name="modalFooter">
63
+ <button
64
+ :id="`${props.testId}-cancel-button`"
65
+ :data-id="`${hideTestId}-cancel-button`"
66
+ class="btn btn-link"
67
+ @click="onHide"
68
+ >
69
+ {{ props.localization.common.cancel }}
70
+ </button>
71
+ <button
72
+ v-if="!props.wizard.isFirstStepCom.value"
73
+ :id="`${props.testId}-back-button`"
74
+ :data-id="`${backTestId}-back-button`"
75
+ class="btn btn-outline"
76
+ @click="onPreviousStep"
77
+ >
78
+ {{ props.localization.common.back }}
79
+ </button>
80
+ <button
81
+ v-if="props.wizard.isLastStepCom.value"
82
+ :id="`${props.testId}-finish-button`"
83
+ :data-id="`${finishTestId}-finish-button`"
84
+ class="btn btn-success"
85
+ @click="emits('submit')"
86
+ >
87
+ {{ props.localization.common.finish }}
88
+ </button>
89
+ <button
90
+ v-else
91
+ :id="`${props.testId}-next-button`"
92
+ :data-id="`${nextTestId}-next-button`"
93
+ :disabled="
94
+ props.isDisabledFinish ||
95
+ props.wizard.isDisabledNextButton.value
96
+ "
97
+ class="btn btn-primary"
98
+ @click="onNextStep"
99
+ >
100
+ {{ props.localization.common.next }}
101
+ </button>
102
+ </slot>
103
+ </div>
104
+ </div>
105
+ </div>
106
+
107
+ <div v-show="props.wizard.wizardLoader.status" class="loader">
108
+ <i class="fa clr-tree-node-caret-icon spinner" />
109
+ <div v-if="props.wizard.wizardLoader.messages.length" class="text">
110
+ <p
111
+ v-for="message in props.wizard.wizardLoader.messages"
112
+ :key="message"
113
+ >
114
+ {{ message }}
115
+ </p>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ <div class="modal-backdrop" />
120
+ </div>
121
+ </template>
122
+
123
+ <script setup lang="ts">
124
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
125
+ import type {
126
+ UI_I_WizardStep,
127
+ UI_I_WizardStepNavigation,
128
+ UI_I_WizardSchemeData,
129
+ } from '~/components/atoms/wizard/lib/models/interfaces'
130
+
131
+ const props = withDefaults(
132
+ defineProps<{
133
+ title: string
134
+ show: boolean
135
+ selectedScheme: (number | UI_I_WizardSchemeData)[]
136
+ isDisabledNext?: boolean
137
+ isDisabledFinish?: boolean
138
+ localization?: UI_I_Localization
139
+ testId?: string
140
+ maxHeight?: string
141
+ wizard: any
142
+ }>(),
143
+ {
144
+ isDisabledNext: false,
145
+ isDisabledFinish: false,
146
+ localization: () => ({}),
147
+ testId: '',
148
+ maxHeight: '',
149
+ }
150
+ )
151
+
152
+ const emits = defineEmits<{
153
+ (event: 'submit'): void
154
+ (event: 'hide'): void
155
+ (event: 'change-steps', value: UI_I_WizardStep[]): void
156
+ }>()
157
+
158
+ const hideTestId = computed<string>(
159
+ () =>
160
+ (props.wizard.selectedStepCom.value?.accessDynamicTestIdForHide &&
161
+ props.wizard.selectedStepDataFromScheme.value?.dataId) ||
162
+ props.testId
163
+ )
164
+
165
+ const backTestId = computed<string>(
166
+ () =>
167
+ (props.wizard.selectedStepCom.value?.accessDynamicTestIdForBack &&
168
+ props.wizard.selectedStepDataFromScheme.value?.dataId) ||
169
+ props.testId
170
+ )
171
+
172
+ const finishTestId = computed<string>(
173
+ () =>
174
+ (props.wizard.selectedStepCom.value?.accessDynamicTestIdForFinish &&
175
+ props.wizard.selectedStepDataFromScheme.value?.dataId) ||
176
+ props.testId
177
+ )
178
+
179
+ const nextTestId = computed<string>(
180
+ () =>
181
+ (props.wizard.selectedStepCom.value?.accessDynamicTestIdForNext &&
182
+ props.wizard.selectedStepDataFromScheme.value?.dataId) ||
183
+ props.testId
184
+ )
185
+
186
+ const onHide = (): void => {
187
+ emits('hide')
188
+ }
189
+
190
+ const onSelectStep = (step: UI_I_WizardStepNavigation): void => {
191
+ emits('change-steps', props.wizard.selectedStepData(step))
192
+ }
193
+
194
+ const onNextStep = (): void => {
195
+ emits('change-steps', props.wizard.nextStepData)
196
+ }
197
+
198
+ const onPreviousStep = (): void => {
199
+ emits('change-steps', props.wizard.previousStepData)
200
+ }
201
+ </script>
202
+
203
+ <style scoped lang="scss">
204
+ .modal {
205
+ position: fixed;
206
+ top: 0;
207
+ bottom: 0;
208
+ right: 0;
209
+ left: 0;
210
+ z-index: var(--z-modal);
211
+ display: flex;
212
+ flex-direction: column;
213
+ justify-content: center;
214
+ align-items: center;
215
+ padding: 48px;
216
+ overflow-y: auto;
217
+
218
+ .modal-nav {
219
+ background-color: var(--block-view-bg-color4);
220
+ .clr-wizard-title {
221
+ color: var(--main-color-mode);
222
+ font-size: 22px;
223
+ padding: 24px 12px 24px 24px;
224
+ //line-height: 1.2rem;
225
+ }
226
+ }
227
+
228
+ .modal-content-wrapper {
229
+ position: relative;
230
+ -webkit-animation-name: animateTop;
231
+ -webkit-animation-duration: 0.4s;
232
+ animation-name: animateTop;
233
+ animation-duration: 0.4s;
234
+ }
235
+
236
+ .modal-content {
237
+ background-color: var(--modal-bg-color);
238
+
239
+ .modal-header--accessible {
240
+ display: flex;
241
+ justify-content: space-between;
242
+ align-items: flex-start;
243
+ width: 100%;
244
+ padding: 24px 19px 6px 24px;
245
+
246
+ .modal-title-text {
247
+ color: var(--main-color-mode);
248
+ font-size: 22px;
249
+ }
250
+
251
+ .close-icon {
252
+ fill: var(--close-icon);
253
+ width: 24px;
254
+ height: 24px;
255
+ }
256
+ }
257
+
258
+ .modal-body {
259
+ padding: 0 3px;
260
+ }
261
+
262
+ .modal-footer {
263
+ display: flex;
264
+ justify-content: flex-end;
265
+ padding: 24px;
266
+ flex: unset;
267
+ min-height: 0;
268
+ height: auto;
269
+ }
270
+ }
271
+
272
+ .loader {
273
+ position: absolute;
274
+ z-index: var(--z-fixed);
275
+ left: 0;
276
+ right: 0;
277
+ bottom: 0;
278
+ top: 0;
279
+ display: flex;
280
+ align-items: center;
281
+ justify-content: center;
282
+ background-color: rgba(0, 0, 0, 0.3);
283
+
284
+ .spinner {
285
+ left: unset;
286
+ }
287
+
288
+ .text {
289
+ position: absolute;
290
+ top: calc(40% + 75px);
291
+ text-align: center;
292
+ background-color: rgba(0, 0, 0, 0.3);
293
+ padding: 5px 10px;
294
+ border-radius: 3px;
295
+
296
+ p {
297
+ color: white;
298
+ }
299
+ }
300
+ }
301
+
302
+ .modal-backdrop {
303
+ opacity: 1;
304
+ background-color: rgba(0, 0, 0, 0.6);
305
+ }
306
+ }
307
+ h1,
308
+ h2 {
309
+ // просмотреть если нигде не ломается переместит глобально
310
+ line-height: inherit;
311
+ }
312
+
313
+ .content-heading {
314
+ display: flex;
315
+ justify-content: space-between;
316
+ align-items: flex-start;
317
+ border-bottom: 1px solid #a6a6a6;
318
+
319
+ & > div h2 {
320
+ font-weight: 400;
321
+ font-size: 13px;
322
+ line-height: inherit;
323
+ color: var(--add-vm-context-sub-title);
324
+ }
325
+ }
326
+
327
+ :root.dark-theme {
328
+ .loader .text {
329
+ position: absolute;
330
+ top: calc(40% + 75px);
331
+ text-align: center;
332
+ background-color: rgba(250, 250, 250, 0.5);
333
+ padding: 5px 10px;
334
+ border-radius: 5px;
335
+
336
+ p {
337
+ color: black;
338
+ }
339
+ }
340
+ }
341
+ </style>