bfg-common 1.4.720 → 1.4.721

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 (134) hide show
  1. package/assets/localization/local_be.json +2 -2
  2. package/assets/localization/local_en.json +2 -2
  3. package/assets/localization/local_hy.json +2 -2
  4. package/assets/localization/local_kk.json +2 -2
  5. package/assets/localization/local_ru.json +2 -2
  6. package/assets/localization/local_zh.json +2 -2
  7. package/assets/scss/common/normalize.scss +355 -361
  8. package/components/atoms/TheIcon3.vue +50 -50
  9. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  10. package/components/atoms/stack/StackBlock.vue +185 -185
  11. package/components/atoms/table/dataGrid/DataGrid.vue +1696 -1696
  12. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  13. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +91 -91
  14. package/components/common/browse/BrowseNew.vue +237 -237
  15. package/components/common/browse/BrowseOld.vue +217 -217
  16. package/components/common/browse/blocks/contents/Files.vue +37 -37
  17. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  18. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  19. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  20. package/components/common/context/lib/models/interfaces.ts +30 -30
  21. package/components/common/context/recursion/Recursion.vue +86 -86
  22. package/components/common/context/recursion/RecursionOld.vue +213 -213
  23. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  24. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  25. package/components/common/layout/theHeader/lib/models/enums.ts +0 -1
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +2 -5
  27. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +150 -150
  28. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +284 -300
  29. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  30. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  31. package/components/common/monitor/overview/filters/Filters.vue +235 -232
  32. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +250 -240
  33. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +62 -52
  34. package/components/common/pages/home/StatusContent.vue +49 -49
  35. package/components/common/pages/home/headline/Headline.vue +44 -44
  36. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  37. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  38. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  39. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  40. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  41. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  42. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  43. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  44. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  45. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  46. package/components/common/pages/home/widgets/vms/VmsNew.vue +101 -101
  47. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  48. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  49. package/components/common/recursionTree/RecursionTree.vue +212 -223
  50. package/components/common/select/button/ButtonDropdown.vue +108 -108
  51. package/components/common/selectLanguage/lib/config/config.ts +0 -5
  52. package/components/common/spiceConsole/Drawer.vue +370 -370
  53. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  54. package/components/common/split/vertical/Vertical.vue +160 -160
  55. package/components/common/vm/actions/add/Add.vue +616 -616
  56. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  57. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  58. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +269 -269
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +55 -70
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +42 -50
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +147 -147
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +85 -85
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +91 -91
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +46 -46
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  107. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  108. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  116. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  117. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  118. package/components/common/vm/actions/editSettings/EditSettings.vue +232 -232
  119. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +183 -183
  120. package/components/common/vm/actions/editSettings/new/New.vue +177 -177
  121. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  122. package/composables/productNameLocal.ts +30 -30
  123. package/composables/useAppVersion.ts +21 -21
  124. package/composables/useLocal.ts +0 -5
  125. package/layouts/auth.vue +0 -1
  126. package/package.json +1 -1
  127. package/plugins/date.ts +233 -233
  128. package/plugins/recursion.ts +311 -311
  129. package/public/spice-console/lib/images/bitmap.js +203 -203
  130. package/public/spice-console/network/spicechannel.js +383 -383
  131. package/store/main/mutations.ts +7 -7
  132. package/store/main/state.ts +7 -7
  133. package/store/tasks/mappers/recentTasks.ts +64 -64
  134. package/assets/scss/clarity/local_ar.json +0 -2914
@@ -1,50 +1,50 @@
1
- <template>
2
- <template v-if="props.name === 'zabbix'">
3
- <svg
4
- xmlns="http://www.w3.org/2000/svg"
5
- width="80"
6
- height="22"
7
- viewBox="0 0 80 22"
8
- fill="none"
9
- >
10
- <g clip-path="url(#clip0_2691_29714)">
11
- <path d="M0 0.522461H80V21.477H0V0.522461Z" fill="#D40000" />
12
- <path
13
- d="M3.42089 3.71582H14.9889V5.2187L5.6782 16.625H15.2164V18.2836H3.19336V16.7807L12.504 5.37438H3.42089V3.71582ZM23.0402 5.65779L20.3378 12.9087H25.7526L23.0402 5.65779ZM21.9145 3.71582H24.1738L29.7862 18.2836H27.7145L26.3753 14.5473H19.735L18.3938 18.2836H16.2922L21.9145 3.71582ZM33.9176 11.326V16.663H37.113C38.1848 16.663 38.9791 16.4434 39.496 16.0043C40.013 15.5652 40.2704 14.8926 40.2704 13.9905C40.2704 13.0804 40.013 12.4078 39.496 11.9747C38.9791 11.5436 38.1848 11.326 37.113 11.326H33.9176ZM33.9176 5.33446V9.72535H36.8675C37.8415 9.72535 38.566 9.54373 39.043 9.18447C39.52 8.82322 39.7575 8.27237 39.7575 7.5319C39.7575 6.79743 39.518 6.24657 39.043 5.88332C38.566 5.52008 37.8415 5.33646 36.8675 5.33646H33.9176V5.33446ZM31.9257 3.71582H37.0152C38.534 3.71582 39.7056 4.02717 40.5259 4.65188C41.3482 5.27658 41.7573 6.16474 41.7573 7.31635C41.7573 8.2065 41.5478 8.91703 41.1266 9.44393C40.7055 9.97084 40.0868 10.3002 39.2725 10.4299C40.2525 10.6375 41.0129 11.0706 41.5558 11.7312C42.0986 12.3918 42.3701 13.2161 42.3701 14.2041C42.3701 15.5054 41.923 16.5093 41.0289 17.2198C40.1347 17.9283 38.8614 18.2836 37.2128 18.2836H31.9257V3.71582ZM47.5573 11.326V16.663H50.7547C51.8265 16.663 52.6208 16.4434 53.1357 16.0043C53.6527 15.5652 53.9101 14.8926 53.9101 13.9905C53.9101 13.0804 53.6527 12.4078 53.1357 11.9747C52.6188 11.5436 51.8245 11.326 50.7547 11.326H47.5573ZM47.5573 5.33446V9.72535H50.5072C51.4812 9.72535 52.2057 9.54373 52.6827 9.18447C53.1597 8.82322 53.3972 8.27237 53.3972 7.5319C53.3972 6.79743 53.1597 6.24657 52.6827 5.88332C52.2057 5.52008 51.4812 5.33646 50.5072 5.33646H47.5573V5.33446ZM45.5654 3.71582H50.6549C52.1737 3.71582 53.3453 4.02717 54.1656 4.65188C54.9879 5.27658 55.399 6.16474 55.399 7.31635C55.399 8.2065 55.1895 8.91703 54.7683 9.44393C54.3472 9.97084 53.7285 10.3002 52.9142 10.4299C53.8942 10.6375 54.6546 11.0706 55.1975 11.7312C55.7403 12.3918 56.0118 13.2161 56.0118 14.2041C56.0118 15.5054 55.5647 16.5093 54.6706 17.2198C53.7764 17.9283 52.503 18.2836 50.8545 18.2836H45.5654V3.71582ZM64.9732 3.71582H67.1646L70.6274 8.94697L74.1242 3.71582H76.2418L71.6833 10.5397L76.8086 18.2836H74.6172L70.5835 12.1882L66.51 18.2836H64.3924L69.5297 10.5955L64.9732 3.71582ZM59.2031 3.71582H61.195V18.2836H59.2031V3.71582Z"
14
- fill="white"
15
- />
16
- </g>
17
- <defs>
18
- <clipPath id="clip0_2691_29714">
19
- <rect
20
- width="80"
21
- height="20.96"
22
- fill="white"
23
- transform="translate(0 0.519531)"
24
- />
25
- </clipPath>
26
- </defs>
27
- </svg>
28
- </template>
29
- <template v-else><span></span></template>
30
- </template>
31
-
32
- <script setup lang="ts">
33
- const props = withDefaults(
34
- defineProps<{
35
- name: string
36
- type?: string
37
- color?: string
38
- width?: string
39
- height?: string
40
- }>(),
41
- {
42
- type: '',
43
- color: 'currentColor',
44
- width: '24',
45
- height: '24',
46
- }
47
- )
48
- </script>
49
-
50
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <template v-if="props.name === 'zabbix'">
3
+ <svg
4
+ xmlns="http://www.w3.org/2000/svg"
5
+ width="80"
6
+ height="22"
7
+ viewBox="0 0 80 22"
8
+ fill="none"
9
+ >
10
+ <g clip-path="url(#clip0_2691_29714)">
11
+ <path d="M0 0.522461H80V21.477H0V0.522461Z" fill="#D40000" />
12
+ <path
13
+ d="M3.42089 3.71582H14.9889V5.2187L5.6782 16.625H15.2164V18.2836H3.19336V16.7807L12.504 5.37438H3.42089V3.71582ZM23.0402 5.65779L20.3378 12.9087H25.7526L23.0402 5.65779ZM21.9145 3.71582H24.1738L29.7862 18.2836H27.7145L26.3753 14.5473H19.735L18.3938 18.2836H16.2922L21.9145 3.71582ZM33.9176 11.326V16.663H37.113C38.1848 16.663 38.9791 16.4434 39.496 16.0043C40.013 15.5652 40.2704 14.8926 40.2704 13.9905C40.2704 13.0804 40.013 12.4078 39.496 11.9747C38.9791 11.5436 38.1848 11.326 37.113 11.326H33.9176ZM33.9176 5.33446V9.72535H36.8675C37.8415 9.72535 38.566 9.54373 39.043 9.18447C39.52 8.82322 39.7575 8.27237 39.7575 7.5319C39.7575 6.79743 39.518 6.24657 39.043 5.88332C38.566 5.52008 37.8415 5.33646 36.8675 5.33646H33.9176V5.33446ZM31.9257 3.71582H37.0152C38.534 3.71582 39.7056 4.02717 40.5259 4.65188C41.3482 5.27658 41.7573 6.16474 41.7573 7.31635C41.7573 8.2065 41.5478 8.91703 41.1266 9.44393C40.7055 9.97084 40.0868 10.3002 39.2725 10.4299C40.2525 10.6375 41.0129 11.0706 41.5558 11.7312C42.0986 12.3918 42.3701 13.2161 42.3701 14.2041C42.3701 15.5054 41.923 16.5093 41.0289 17.2198C40.1347 17.9283 38.8614 18.2836 37.2128 18.2836H31.9257V3.71582ZM47.5573 11.326V16.663H50.7547C51.8265 16.663 52.6208 16.4434 53.1357 16.0043C53.6527 15.5652 53.9101 14.8926 53.9101 13.9905C53.9101 13.0804 53.6527 12.4078 53.1357 11.9747C52.6188 11.5436 51.8245 11.326 50.7547 11.326H47.5573ZM47.5573 5.33446V9.72535H50.5072C51.4812 9.72535 52.2057 9.54373 52.6827 9.18447C53.1597 8.82322 53.3972 8.27237 53.3972 7.5319C53.3972 6.79743 53.1597 6.24657 52.6827 5.88332C52.2057 5.52008 51.4812 5.33646 50.5072 5.33646H47.5573V5.33446ZM45.5654 3.71582H50.6549C52.1737 3.71582 53.3453 4.02717 54.1656 4.65188C54.9879 5.27658 55.399 6.16474 55.399 7.31635C55.399 8.2065 55.1895 8.91703 54.7683 9.44393C54.3472 9.97084 53.7285 10.3002 52.9142 10.4299C53.8942 10.6375 54.6546 11.0706 55.1975 11.7312C55.7403 12.3918 56.0118 13.2161 56.0118 14.2041C56.0118 15.5054 55.5647 16.5093 54.6706 17.2198C53.7764 17.9283 52.503 18.2836 50.8545 18.2836H45.5654V3.71582ZM64.9732 3.71582H67.1646L70.6274 8.94697L74.1242 3.71582H76.2418L71.6833 10.5397L76.8086 18.2836H74.6172L70.5835 12.1882L66.51 18.2836H64.3924L69.5297 10.5955L64.9732 3.71582ZM59.2031 3.71582H61.195V18.2836H59.2031V3.71582Z"
14
+ fill="white"
15
+ />
16
+ </g>
17
+ <defs>
18
+ <clipPath id="clip0_2691_29714">
19
+ <rect
20
+ width="80"
21
+ height="20.96"
22
+ fill="white"
23
+ transform="translate(0 0.519531)"
24
+ />
25
+ </clipPath>
26
+ </defs>
27
+ </svg>
28
+ </template>
29
+ <template v-else><span></span></template>
30
+ </template>
31
+
32
+ <script setup lang="ts">
33
+ const props = withDefaults(
34
+ defineProps<{
35
+ name: string
36
+ type?: string
37
+ color?: string
38
+ width?: string
39
+ height?: string
40
+ }>(),
41
+ {
42
+ type: '',
43
+ color: 'currentColor',
44
+ width: '24',
45
+ height: '24',
46
+ }
47
+ )
48
+ </script>
49
+
50
+ <style scoped lang="scss"></style>
@@ -1,253 +1,253 @@
1
- <template>
2
- <div v-if="props.show" class="modal clr-wizard wizard-xl">
3
- <div class="modal-dialog modal-xl relative" :data-id="props.testId">
4
- <div class="modal-content-wrapper">
5
- <nav class="modal-nav clr-wizard-stepnav-wrapper">
6
- <h1 class="clr-wizard-title">
7
- {{ props.title }}
8
- </h1>
9
- <atoms-step-vertical-step
10
- :test-id="props.testId"
11
- :items="props.stepItems"
12
- :step-position="props.stepPosition"
13
- @change="changeStep"
14
- />
15
- </nav>
16
- <div class="modal-content">
17
- <div class="modal-header--accessible">
18
- <slot name="contentHeading">
19
- <div class="modal-title-wrapper">
20
- <h2 class="modal-title">
21
- <span class="modal-title-text">{{ heading }}</span>
22
- </h2>
23
- </div>
24
- </slot>
25
- <button
26
- :id="`${props.testId}-close-icon`"
27
- class="close"
28
- :data-id="`${props.testId}-close-button`"
29
- @click="hide"
30
- >
31
- <atoms-the-icon class="close-icon" name="close" />
32
- </button>
33
- </div>
34
- <div class="modal-body">
35
- <slot
36
- name="modalBody"
37
- :title="heading"
38
- :description="stepDescription"
39
- />
40
- </div>
41
- <div class="modal-footer">
42
- <slot name="modalFooter">
43
- <button
44
- :id="`${props.testId}-cancel-button`"
45
- class="btn btn-link"
46
- :data-id="`${props.testId}-cancel-button`"
47
- @click="hide"
48
- >
49
- {{ localization.common.cancel }}
50
- </button>
51
- <button
52
- v-show="props.stepPosition > 0"
53
- :id="`${props.testId}-back-button`"
54
- class="btn btn-outline"
55
- :data-id="`${props.testId}-back-button`"
56
- @click="back"
57
- >
58
- {{ localization.common.back }}
59
- </button>
60
- <button
61
- v-if="props.stepPosition === props.stepItems.length - 1"
62
- :id="`${props.testId}-finish-button`"
63
- class="btn btn-success"
64
- :data-id="`${props.testId}-finish-button`"
65
- @click="finish"
66
- >
67
- {{ localization.common.finish }}
68
- </button>
69
- <button
70
- v-else
71
- :id="`${props.testId}-next-button`"
72
- :disabled="props.disabledNext"
73
- class="btn btn-primary"
74
- :data-id="`${props.testId}-next-button`"
75
- @click="next"
76
- >
77
- {{ localization.common.next }}
78
- </button>
79
- </slot>
80
- </div>
81
- </div>
82
- </div>
83
-
84
- <div v-show="props.loading" class="loader">
85
- <i class="fa clr-tree-node-caret-icon spinner spinner" />
86
- </div>
87
- </div>
88
- <div class="modal-backdrop" />
89
- </div>
90
- </template>
91
-
92
- <script setup lang="ts">
93
- import type { UI_I_VerticalStepItem } from '~/components/atoms/lib/models/interfaces'
94
- import type { UI_I_Localization } from '~/lib/models/interfaces'
95
-
96
- const props = withDefaults(
97
- defineProps<{
98
- show: boolean
99
- title: string
100
- stepItems: UI_I_VerticalStepItem[]
101
- stepPosition: number
102
- secondTitle?: string
103
- testId?: string
104
- loading?: boolean
105
- disabledNext?: boolean
106
- }>(),
107
- {
108
- testId: 'ui-modal-by-steps',
109
- disabledNext: false,
110
- }
111
- )
112
- const emits = defineEmits<{
113
- (event: 'finish'): void
114
- (event: 'next'): void
115
- (event: 'back'): void
116
- (event: 'hide'): void
117
- (event: 'change-step', num: number): void
118
- }>()
119
-
120
- const localization = computed<UI_I_Localization>(() => useLocal())
121
-
122
- const heading = ref<string | null>(null)
123
- const stepDescription = ref<string | null>(null)
124
-
125
- const hide = (): void => {
126
- emits('hide')
127
- }
128
- const finish = (): void => {
129
- emits('finish')
130
- }
131
- const next = (): void => {
132
- emits('next')
133
- }
134
- const back = (): void => {
135
- emits('back')
136
- }
137
- const changeStep = (key: number): void => {
138
- emits('change-step', key)
139
- }
140
-
141
- watch(
142
- () => props.stepPosition,
143
- (value) => {
144
- const { stepItems, secondTitle } = props
145
- if (secondTitle) {
146
- heading.value = secondTitle
147
- return
148
- }
149
-
150
- heading.value = stepItems[value].text
151
- stepDescription.value = stepItems[value]?.description || ''
152
- },
153
- { immediate: true }
154
- )
155
- </script>
156
-
157
- <style scoped lang="scss">
158
- .modal {
159
- position: fixed;
160
- top: 0;
161
- bottom: 0;
162
- right: 0;
163
- left: 0;
164
- z-index: 1050;
165
- display: flex;
166
- flex-direction: column;
167
- justify-content: center;
168
- align-items: center;
169
- padding: 48px;
170
- overflow-y: auto;
171
-
172
- .modal-nav {
173
- background-color: var(--block-view-bg-color4);
174
- .clr-wizard-title {
175
- color: var(--main-color-mode);
176
- font-size: 22px;
177
- padding: 24px 12px 24px 24px;
178
- //line-height: 1.2rem;
179
- }
180
- }
181
-
182
- .modal-content-wrapper {
183
- position: relative;
184
- -webkit-animation-name: animateTop;
185
- -webkit-animation-duration: 0.4s;
186
- animation-name: animateTop;
187
- animation-duration: 0.4s;
188
- }
189
-
190
- .modal-content {
191
- background-color: var(--modal-bg-color);
192
-
193
- .modal-header--accessible {
194
- display: flex;
195
- justify-content: space-between;
196
- align-items: flex-start;
197
- width: 100%;
198
- padding: 24px 19px 6px 24px;
199
-
200
- .modal-title-text {
201
- color: var(--main-color-mode);
202
- font-size: 22px;
203
- }
204
-
205
- .close-icon {
206
- fill: var(--close-icon);
207
- width: 24px;
208
- height: 24px;
209
- }
210
- }
211
-
212
- .modal-body {
213
- padding: 0 3px;
214
- }
215
-
216
- .modal-footer {
217
- display: flex;
218
- justify-content: flex-end;
219
- padding: 24px;
220
- flex: unset;
221
- min-height: 0;
222
- height: auto;
223
- }
224
- }
225
-
226
- .loader {
227
- position: absolute;
228
- z-index: 1000;
229
- left: 0;
230
- right: 0;
231
- bottom: 0;
232
- top: 0;
233
- display: flex;
234
- align-items: center;
235
- justify-content: center;
236
- background-color: rgba(0, 0, 0, 0.3);
237
-
238
- .spinner {
239
- left: unset;
240
- }
241
- }
242
-
243
- .modal-backdrop {
244
- opacity: 1;
245
- background-color: rgba(0, 0, 0, 0.6);
246
- }
247
- }
248
- h1,
249
- h2 {
250
- // просмотреть если нигде не ломается переместит глобально
251
- line-height: inherit;
252
- }
253
- </style>
1
+ <template>
2
+ <div v-if="props.show" class="modal clr-wizard wizard-xl">
3
+ <div class="modal-dialog modal-xl relative" :data-id="props.testId">
4
+ <div class="modal-content-wrapper">
5
+ <nav class="modal-nav clr-wizard-stepnav-wrapper">
6
+ <h1 class="clr-wizard-title">
7
+ {{ props.title }}
8
+ </h1>
9
+ <atoms-step-vertical-step
10
+ :test-id="props.testId"
11
+ :items="props.stepItems"
12
+ :step-position="props.stepPosition"
13
+ @change="changeStep"
14
+ />
15
+ </nav>
16
+ <div class="modal-content">
17
+ <div class="modal-header--accessible">
18
+ <slot name="contentHeading">
19
+ <div class="modal-title-wrapper">
20
+ <h2 class="modal-title">
21
+ <span class="modal-title-text">{{ heading }}</span>
22
+ </h2>
23
+ </div>
24
+ </slot>
25
+ <button
26
+ :id="`${props.testId}-close-icon`"
27
+ class="close"
28
+ :data-id="`${props.testId}-close-button`"
29
+ @click="hide"
30
+ >
31
+ <atoms-the-icon class="close-icon" name="close" />
32
+ </button>
33
+ </div>
34
+ <div class="modal-body">
35
+ <slot
36
+ name="modalBody"
37
+ :title="heading"
38
+ :description="stepDescription"
39
+ />
40
+ </div>
41
+ <div class="modal-footer">
42
+ <slot name="modalFooter">
43
+ <button
44
+ :id="`${props.testId}-cancel-button`"
45
+ class="btn btn-link"
46
+ :data-id="`${props.testId}-cancel-button`"
47
+ @click="hide"
48
+ >
49
+ {{ localization.common.cancel }}
50
+ </button>
51
+ <button
52
+ v-show="props.stepPosition > 0"
53
+ :id="`${props.testId}-back-button`"
54
+ class="btn btn-outline"
55
+ :data-id="`${props.testId}-back-button`"
56
+ @click="back"
57
+ >
58
+ {{ localization.common.back }}
59
+ </button>
60
+ <button
61
+ v-if="props.stepPosition === props.stepItems.length - 1"
62
+ :id="`${props.testId}-finish-button`"
63
+ class="btn btn-success"
64
+ :data-id="`${props.testId}-finish-button`"
65
+ @click="finish"
66
+ >
67
+ {{ localization.common.finish }}
68
+ </button>
69
+ <button
70
+ v-else
71
+ :id="`${props.testId}-next-button`"
72
+ :disabled="props.disabledNext"
73
+ class="btn btn-primary"
74
+ :data-id="`${props.testId}-next-button`"
75
+ @click="next"
76
+ >
77
+ {{ localization.common.next }}
78
+ </button>
79
+ </slot>
80
+ </div>
81
+ </div>
82
+ </div>
83
+
84
+ <div v-show="props.loading" class="loader">
85
+ <i class="fa clr-tree-node-caret-icon spinner spinner" />
86
+ </div>
87
+ </div>
88
+ <div class="modal-backdrop" />
89
+ </div>
90
+ </template>
91
+
92
+ <script setup lang="ts">
93
+ import type { UI_I_VerticalStepItem } from '~/components/atoms/lib/models/interfaces'
94
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
95
+
96
+ const props = withDefaults(
97
+ defineProps<{
98
+ show: boolean
99
+ title: string
100
+ stepItems: UI_I_VerticalStepItem[]
101
+ stepPosition: number
102
+ secondTitle?: string
103
+ testId?: string
104
+ loading?: boolean
105
+ disabledNext?: boolean
106
+ }>(),
107
+ {
108
+ testId: 'ui-modal-by-steps',
109
+ disabledNext: false,
110
+ }
111
+ )
112
+ const emits = defineEmits<{
113
+ (event: 'finish'): void
114
+ (event: 'next'): void
115
+ (event: 'back'): void
116
+ (event: 'hide'): void
117
+ (event: 'change-step', num: number): void
118
+ }>()
119
+
120
+ const localization = computed<UI_I_Localization>(() => useLocal())
121
+
122
+ const heading = ref<string | null>(null)
123
+ const stepDescription = ref<string | null>(null)
124
+
125
+ const hide = (): void => {
126
+ emits('hide')
127
+ }
128
+ const finish = (): void => {
129
+ emits('finish')
130
+ }
131
+ const next = (): void => {
132
+ emits('next')
133
+ }
134
+ const back = (): void => {
135
+ emits('back')
136
+ }
137
+ const changeStep = (key: number): void => {
138
+ emits('change-step', key)
139
+ }
140
+
141
+ watch(
142
+ () => props.stepPosition,
143
+ (value) => {
144
+ const { stepItems, secondTitle } = props
145
+ if (secondTitle) {
146
+ heading.value = secondTitle
147
+ return
148
+ }
149
+
150
+ heading.value = stepItems[value].text
151
+ stepDescription.value = stepItems[value]?.description || ''
152
+ },
153
+ { immediate: true }
154
+ )
155
+ </script>
156
+
157
+ <style scoped lang="scss">
158
+ .modal {
159
+ position: fixed;
160
+ top: 0;
161
+ bottom: 0;
162
+ right: 0;
163
+ left: 0;
164
+ z-index: 1050;
165
+ display: flex;
166
+ flex-direction: column;
167
+ justify-content: center;
168
+ align-items: center;
169
+ padding: 48px;
170
+ overflow-y: auto;
171
+
172
+ .modal-nav {
173
+ background-color: var(--block-view-bg-color4);
174
+ .clr-wizard-title {
175
+ color: var(--main-color-mode);
176
+ font-size: 22px;
177
+ padding: 24px 12px 24px 24px;
178
+ //line-height: 1.2rem;
179
+ }
180
+ }
181
+
182
+ .modal-content-wrapper {
183
+ position: relative;
184
+ -webkit-animation-name: animateTop;
185
+ -webkit-animation-duration: 0.4s;
186
+ animation-name: animateTop;
187
+ animation-duration: 0.4s;
188
+ }
189
+
190
+ .modal-content {
191
+ background-color: var(--modal-bg-color);
192
+
193
+ .modal-header--accessible {
194
+ display: flex;
195
+ justify-content: space-between;
196
+ align-items: flex-start;
197
+ width: 100%;
198
+ padding: 24px 19px 6px 24px;
199
+
200
+ .modal-title-text {
201
+ color: var(--main-color-mode);
202
+ font-size: 22px;
203
+ }
204
+
205
+ .close-icon {
206
+ fill: var(--close-icon);
207
+ width: 24px;
208
+ height: 24px;
209
+ }
210
+ }
211
+
212
+ .modal-body {
213
+ padding: 0 3px;
214
+ }
215
+
216
+ .modal-footer {
217
+ display: flex;
218
+ justify-content: flex-end;
219
+ padding: 24px;
220
+ flex: unset;
221
+ min-height: 0;
222
+ height: auto;
223
+ }
224
+ }
225
+
226
+ .loader {
227
+ position: absolute;
228
+ z-index: 1000;
229
+ left: 0;
230
+ right: 0;
231
+ bottom: 0;
232
+ top: 0;
233
+ display: flex;
234
+ align-items: center;
235
+ justify-content: center;
236
+ background-color: rgba(0, 0, 0, 0.3);
237
+
238
+ .spinner {
239
+ left: unset;
240
+ }
241
+ }
242
+
243
+ .modal-backdrop {
244
+ opacity: 1;
245
+ background-color: rgba(0, 0, 0, 0.6);
246
+ }
247
+ }
248
+ h1,
249
+ h2 {
250
+ // просмотреть если нигде не ломается переместит глобально
251
+ line-height: inherit;
252
+ }
253
+ </style>