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,109 +1,109 @@
1
- <template>
2
- <div
3
- :class="[
4
- 'stack-block',
5
- { 'not-children': !props.hasChildren, open: isOpen },
6
- ]"
7
- >
8
- <div class="stack-block__label">
9
- <atoms-the-icon
10
- :data-id="`${props.testId}-toggle-icon`"
11
- name="angle"
12
- class="stack-block__icon"
13
- @click="onToggle"
14
- />
15
-
16
- <div class="stack-view-key">
17
- <slot name="stackBlockKey" />
18
- </div>
19
- <div class="stack-block-content" :data-id="props.testId">
20
- <slot name="stackBlockContent" />
21
- </div>
22
- </div>
23
-
24
- <div v-show="isOpen" class="stack-children">
25
- <div class="h-auto">
26
- <slot name="stackChildren" />
27
- </div>
28
- </div>
29
- </div>
30
- </template>
31
-
32
- <script setup lang="ts">
33
- const props = withDefaults(
34
- defineProps<{
35
- openByDefault?: boolean
36
- hasChildren: boolean
37
- testId?: string
38
- }>(),
39
- {
40
- openByDefault: false,
41
- testId: '',
42
- }
43
- )
44
- const emits = defineEmits<{
45
- (event: 'toggle', value: boolean): void
46
- }>()
47
- const isOpen = ref<boolean>(props.openByDefault || false)
48
- const onToggle = (): void => {
49
- isOpen.value = !isOpen.value
50
- emits('toggle', isOpen.value)
51
- }
52
- </script>
53
-
54
- <style scoped lang="scss">
55
- @import '~/assets/scss/common/mixins.scss';
56
- .stack-block {
57
- &.open {
58
- .stack-block__icon {
59
- transform: rotate(180deg);
60
- }
61
- }
62
-
63
- &__label {
64
- //padding: 7px 0 6px;
65
- @include flex($align: center);
66
- max-width: unset;
67
-
68
- &::before {
69
- display: none;
70
- }
71
-
72
- .stack-view-key {
73
- max-width: 40%;
74
- }
75
-
76
- .stack-block-content {
77
- padding: 0;
78
- flex: 1 1 auto;
79
- width: 60%;
80
- background-color: transparent;
81
- }
82
- }
83
- &__icon {
84
- width: 16px;
85
- height: 16px;
86
- margin-right: 4px;
87
- transform: rotate(90deg);
88
- align-self: center;
89
- fill: var(--triger-icon-color);
90
- cursor: pointer;
91
- }
92
-
93
- &.not-children {
94
- .stack-block__label {
95
- padding: 0 0 3px 0;
96
- background-color: transparent;
97
-
98
- .stack-view-key {
99
- max-width: 20%;
100
- flex: 1 1 130px;
101
- }
102
- }
103
-
104
- .stack-block__icon {
105
- opacity: 0;
106
- }
107
- }
108
- }
109
- </style>
1
+ <template>
2
+ <div
3
+ :class="[
4
+ 'stack-block',
5
+ { 'not-children': !props.hasChildren, open: isOpen },
6
+ ]"
7
+ >
8
+ <div class="stack-block__label">
9
+ <atoms-the-icon
10
+ :data-id="`${props.testId}-toggle-icon`"
11
+ name="angle"
12
+ class="stack-block__icon"
13
+ @click="onToggle"
14
+ />
15
+
16
+ <div class="stack-view-key">
17
+ <slot name="stackBlockKey" />
18
+ </div>
19
+ <div class="stack-block-content" :data-id="props.testId">
20
+ <slot name="stackBlockContent" />
21
+ </div>
22
+ </div>
23
+
24
+ <div v-show="isOpen" class="stack-children">
25
+ <div class="h-auto">
26
+ <slot name="stackChildren" />
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </template>
31
+
32
+ <script setup lang="ts">
33
+ const props = withDefaults(
34
+ defineProps<{
35
+ openByDefault?: boolean
36
+ hasChildren: boolean
37
+ testId?: string
38
+ }>(),
39
+ {
40
+ openByDefault: false,
41
+ testId: '',
42
+ }
43
+ )
44
+ const emits = defineEmits<{
45
+ (event: 'toggle', value: boolean): void
46
+ }>()
47
+ const isOpen = ref<boolean>(props.openByDefault || false)
48
+ const onToggle = (): void => {
49
+ isOpen.value = !isOpen.value
50
+ emits('toggle', isOpen.value)
51
+ }
52
+ </script>
53
+
54
+ <style scoped lang="scss">
55
+ @import '~/assets/scss/common/mixins.scss';
56
+ .stack-block {
57
+ &.open {
58
+ .stack-block__icon {
59
+ transform: rotate(180deg);
60
+ }
61
+ }
62
+
63
+ &__label {
64
+ //padding: 7px 0 6px;
65
+ @include flex($align: center);
66
+ max-width: unset;
67
+
68
+ &::before {
69
+ display: none;
70
+ }
71
+
72
+ .stack-view-key {
73
+ max-width: 40%;
74
+ }
75
+
76
+ .stack-block-content {
77
+ padding: 0;
78
+ flex: 1 1 auto;
79
+ width: 60%;
80
+ background-color: transparent;
81
+ }
82
+ }
83
+ &__icon {
84
+ width: 16px;
85
+ height: 16px;
86
+ margin-right: 4px;
87
+ transform: rotate(90deg);
88
+ align-self: center;
89
+ fill: var(--triger-icon-color);
90
+ cursor: pointer;
91
+ }
92
+
93
+ &.not-children {
94
+ .stack-block__label {
95
+ padding: 0 0 3px 0;
96
+ background-color: transparent;
97
+
98
+ .stack-view-key {
99
+ max-width: 20%;
100
+ flex: 1 1 130px;
101
+ }
102
+ }
103
+
104
+ .stack-block__icon {
105
+ opacity: 0;
106
+ }
107
+ }
108
+ }
109
+ </style>
@@ -1,229 +1,229 @@
1
- <template>
2
- <div class="buttons">
3
- <div class="buttons-info">
4
- <div class="icon-wrap">
5
- <atoms-the-icon
6
- id="showHelpInfo"
7
- data-id="toggle-help-info-icon"
8
- fill="#0072a3"
9
- width="24px"
10
- height="24px"
11
- name="info-circle"
12
- @click="isShowHelpInfo = !isShowHelpInfo"
13
- />
14
- </div>
15
- <span class="info-text">{{ localization.common.helpUsImprove }}</span>
16
- </div>
17
- <atoms-tooltip-signpost
18
- v-if="isShowHelpInfo"
19
- test-id="feedback-button"
20
- elem-id="showHelpInfo"
21
- class="help-info"
22
- @hide="isShowHelpInfo = false"
23
- >
24
- <h3>{{ localization.common.feedbackHelp }}</h3>
25
- <p>
26
- {{ localization.common.anyFeedbackYouProvideMay }}
27
- </p>
28
- </atoms-tooltip-signpost>
29
- <div class="buttons-body">
30
- <span class="text">{{ localization.common.selectAType }}</span>
31
- <div class="button-wrap">
32
- <button
33
- v-for="item in props.items"
34
- id="feedback-button"
35
- :key="item.key"
36
- :class="[
37
- 'btn btn-outline feedback-button',
38
- { active: item.key === props.select },
39
- ]"
40
- :data-id="item.testId"
41
- @click="onSelect(item.key)"
42
- >
43
- <atoms-the-icon2
44
- :name="item.iconName"
45
- class="feedback-icon btn-icon has-solid clr-i-outline clr-i-outline-path-2"
46
- />
47
- <span>{{ item.text }}</span>
48
- </button>
49
- </div>
50
- </div>
51
- </div>
52
- </template>
53
-
54
- <script setup lang="ts">
55
- import type { UI_I_FeedbackButtonsItem } from './lib/models/interfaces'
56
- import type { UI_I_Localization } from '~/lib/models/interfaces'
57
-
58
- const props = defineProps<{
59
- select: number | null
60
- items: UI_I_FeedbackButtonsItem[]
61
- }>()
62
- const emits = defineEmits<{
63
- (event: 'update:select', value: number): void
64
- }>()
65
-
66
- const localization = computed<UI_I_Localization>(() => useLocal())
67
-
68
- const onSelect = (value: number): void => {
69
- emits('update:select', value)
70
- }
71
- const isShowHelpInfo = ref<boolean>(false)
72
- </script>
73
-
74
- <style scoped lang="scss">
75
- .buttons {
76
- .buttons-info {
77
- display: flex;
78
- flex-direction: row;
79
- align-items: center;
80
- margin-bottom: 20px;
81
-
82
- :deep(.icon-info-standart) {
83
- width: 20px !important;
84
- min-width: 20px !important;
85
- height: 20px;
86
- min-height: 20px;
87
- }
88
- .icon-wrap {
89
- cursor: pointer;
90
- height: 24px;
91
- width: 24px;
92
- .info-icon {
93
- height: 24px;
94
- }
95
- }
96
-
97
- .info-text {
98
- margin-left: 5px;
99
- }
100
- }
101
- .buttons-body {
102
- display: flex;
103
- flex-direction: row;
104
- align-items: flex-start;
105
- margin-bottom: 20px;
106
- .text {
107
- padding-top: 5px;
108
- min-width: 140px;
109
- margin-right: 10px;
110
- }
111
- .email {
112
- width: 100%;
113
- }
114
- .button-wrap {
115
- display: flex;
116
- flex-direction: row;
117
- align-items: center;
118
- justify-content: flex-start;
119
- font-size: 13px;
120
- font-weight: 400;
121
- letter-spacing: normal;
122
-
123
- .btn {
124
- transform: translate(0, 3px);
125
- text-transform: capitalize;
126
- padding: 5px;
127
- .text {
128
- color: var(--icon-fill-hover-color);
129
- }
130
-
131
- &.btn-outline.feedback-button {
132
- display: flex;
133
- flex-direction: row;
134
- align-items: center;
135
- }
136
- &.btn-outline.feedback-button .feedback-icon {
137
- width: 16px;
138
- height: 16px;
139
- margin-right: 3px;
140
- }
141
-
142
- color: var(--icon-fill-color);
143
- border: 1px solid var(--btn-border-color);
144
- border-bottom: 5px solid var(--btn-border-color);
145
- .has-solid.clr-i-outline.clr-i-outline-path-2 {
146
- fill: var(--icon-fill-color);
147
- }
148
- }
149
- }
150
- .button-wrap {
151
- .btn.btn-outline.feedback-button:hover {
152
- transform: translate(0px, 0px);
153
- color: var(--icon-fill-hover-color);
154
- border: 1px solid var(--btn-border-hover-color);
155
- border-bottom: 5px solid var(--btn-border-hover-color);
156
- .has-solid.clr-i-outline.clr-i-outline-path-2 {
157
- fill: var(--icon-fill-hover-color);
158
- }
159
- }
160
- .btn.btn-outline.feedback-button.active {
161
- border: 1px solid var(--btn-border-hover-color);
162
- border-bottom: 5px solid var(--btn-border-hover-color);
163
- }
164
- }
165
-
166
- &__last {
167
- margin-top: -20px;
168
- }
169
- }
170
- }
171
- .tooltip {
172
- position: relative;
173
- display: inline-block;
174
-
175
- & .tooltiptext {
176
- text-align: center;
177
- padding: 5px 2px;
178
- border-radius: 2px;
179
- border: 1px solid var(--global-font-color);
180
- color: var(--global-font-color);
181
- background-color: var(--global-bg-color);
182
- position: absolute;
183
- z-index: var(--z-popover);
184
- }
185
- }
186
- .help-info {
187
- display: block;
188
- text-align: left;
189
- width: 360px;
190
- color: var(--modal-first-title);
191
-
192
- h3 {
193
- font-size: 22px;
194
- color: inherit;
195
- margin-top: 0;
196
- //text-transform: capitalize;
197
- }
198
-
199
- p {
200
- margin-top: 24px;
201
- text-transform: none;
202
- white-space: break-spaces;
203
- }
204
- a {
205
- color: var(--a-link-color);
206
- text-decoration: none;
207
- }
208
- }
209
- </style>
210
- <style>
211
- :root {
212
- --modal-secondary-title: #565656;
213
- --modal-first-title: #565656;
214
- --icon-fill-color: #1d1c1c;
215
- --icon-fill-hover-color: rgb(0, 121, 184);
216
- --btn-border-hover-color: #0079b8;
217
- --btn-border-color: #dedede;
218
- --a-link-color: #0072a3;
219
- }
220
- :root.dark-theme {
221
- --modal-secondary-title: #e9ecef;
222
- --modal-first-title: #adbbc4;
223
- --icon-fill-color: rgb(233, 236, 239);
224
- --icon-fill-hover-color: rgb(73, 175, 217);
225
- --btn-border-hover-color: #0079b8;
226
- --btn-border-color: rgb(14, 22, 27);
227
- --a-link-color: #4aaed9;
228
- }
229
- </style>
1
+ <template>
2
+ <div class="buttons">
3
+ <div class="buttons-info">
4
+ <div class="icon-wrap">
5
+ <atoms-the-icon
6
+ id="showHelpInfo"
7
+ data-id="toggle-help-info-icon"
8
+ fill="#0072a3"
9
+ width="24px"
10
+ height="24px"
11
+ name="info-circle"
12
+ @click="isShowHelpInfo = !isShowHelpInfo"
13
+ />
14
+ </div>
15
+ <span class="info-text">{{ localization.common.helpUsImprove }}</span>
16
+ </div>
17
+ <atoms-tooltip-signpost
18
+ v-if="isShowHelpInfo"
19
+ test-id="feedback-button"
20
+ elem-id="showHelpInfo"
21
+ class="help-info"
22
+ @hide="isShowHelpInfo = false"
23
+ >
24
+ <h3>{{ localization.common.feedbackHelp }}</h3>
25
+ <p>
26
+ {{ localization.common.anyFeedbackYouProvideMay }}
27
+ </p>
28
+ </atoms-tooltip-signpost>
29
+ <div class="buttons-body">
30
+ <span class="text">{{ localization.common.selectAType }}</span>
31
+ <div class="button-wrap">
32
+ <button
33
+ v-for="item in props.items"
34
+ id="feedback-button"
35
+ :key="item.key"
36
+ :class="[
37
+ 'btn btn-outline feedback-button',
38
+ { active: item.key === props.select },
39
+ ]"
40
+ :data-id="item.testId"
41
+ @click="onSelect(item.key)"
42
+ >
43
+ <atoms-the-icon2
44
+ :name="item.iconName"
45
+ class="feedback-icon btn-icon has-solid clr-i-outline clr-i-outline-path-2"
46
+ />
47
+ <span>{{ item.text }}</span>
48
+ </button>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </template>
53
+
54
+ <script setup lang="ts">
55
+ import type { UI_I_FeedbackButtonsItem } from './lib/models/interfaces'
56
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
57
+
58
+ const props = defineProps<{
59
+ select: number | null
60
+ items: UI_I_FeedbackButtonsItem[]
61
+ }>()
62
+ const emits = defineEmits<{
63
+ (event: 'update:select', value: number): void
64
+ }>()
65
+
66
+ const localization = computed<UI_I_Localization>(() => useLocal())
67
+
68
+ const onSelect = (value: number): void => {
69
+ emits('update:select', value)
70
+ }
71
+ const isShowHelpInfo = ref<boolean>(false)
72
+ </script>
73
+
74
+ <style scoped lang="scss">
75
+ .buttons {
76
+ .buttons-info {
77
+ display: flex;
78
+ flex-direction: row;
79
+ align-items: center;
80
+ margin-bottom: 20px;
81
+
82
+ :deep(.icon-info-standart) {
83
+ width: 20px !important;
84
+ min-width: 20px !important;
85
+ height: 20px;
86
+ min-height: 20px;
87
+ }
88
+ .icon-wrap {
89
+ cursor: pointer;
90
+ height: 24px;
91
+ width: 24px;
92
+ .info-icon {
93
+ height: 24px;
94
+ }
95
+ }
96
+
97
+ .info-text {
98
+ margin-left: 5px;
99
+ }
100
+ }
101
+ .buttons-body {
102
+ display: flex;
103
+ flex-direction: row;
104
+ align-items: flex-start;
105
+ margin-bottom: 20px;
106
+ .text {
107
+ padding-top: 5px;
108
+ min-width: 140px;
109
+ margin-right: 10px;
110
+ }
111
+ .email {
112
+ width: 100%;
113
+ }
114
+ .button-wrap {
115
+ display: flex;
116
+ flex-direction: row;
117
+ align-items: center;
118
+ justify-content: flex-start;
119
+ font-size: 13px;
120
+ font-weight: 400;
121
+ letter-spacing: normal;
122
+
123
+ .btn {
124
+ transform: translate(0, 3px);
125
+ text-transform: capitalize;
126
+ padding: 5px;
127
+ .text {
128
+ color: var(--icon-fill-hover-color);
129
+ }
130
+
131
+ &.btn-outline.feedback-button {
132
+ display: flex;
133
+ flex-direction: row;
134
+ align-items: center;
135
+ }
136
+ &.btn-outline.feedback-button .feedback-icon {
137
+ width: 16px;
138
+ height: 16px;
139
+ margin-right: 3px;
140
+ }
141
+
142
+ color: var(--icon-fill-color);
143
+ border: 1px solid var(--btn-border-color);
144
+ border-bottom: 5px solid var(--btn-border-color);
145
+ .has-solid.clr-i-outline.clr-i-outline-path-2 {
146
+ fill: var(--icon-fill-color);
147
+ }
148
+ }
149
+ }
150
+ .button-wrap {
151
+ .btn.btn-outline.feedback-button:hover {
152
+ transform: translate(0px, 0px);
153
+ color: var(--icon-fill-hover-color);
154
+ border: 1px solid var(--btn-border-hover-color);
155
+ border-bottom: 5px solid var(--btn-border-hover-color);
156
+ .has-solid.clr-i-outline.clr-i-outline-path-2 {
157
+ fill: var(--icon-fill-hover-color);
158
+ }
159
+ }
160
+ .btn.btn-outline.feedback-button.active {
161
+ border: 1px solid var(--btn-border-hover-color);
162
+ border-bottom: 5px solid var(--btn-border-hover-color);
163
+ }
164
+ }
165
+
166
+ &__last {
167
+ margin-top: -20px;
168
+ }
169
+ }
170
+ }
171
+ .tooltip {
172
+ position: relative;
173
+ display: inline-block;
174
+
175
+ & .tooltiptext {
176
+ text-align: center;
177
+ padding: 5px 2px;
178
+ border-radius: 2px;
179
+ border: 1px solid var(--global-font-color);
180
+ color: var(--global-font-color);
181
+ background-color: var(--global-bg-color);
182
+ position: absolute;
183
+ z-index: var(--z-popover);
184
+ }
185
+ }
186
+ .help-info {
187
+ display: block;
188
+ text-align: left;
189
+ width: 360px;
190
+ color: var(--modal-first-title);
191
+
192
+ h3 {
193
+ font-size: 22px;
194
+ color: inherit;
195
+ margin-top: 0;
196
+ //text-transform: capitalize;
197
+ }
198
+
199
+ p {
200
+ margin-top: 24px;
201
+ text-transform: none;
202
+ white-space: break-spaces;
203
+ }
204
+ a {
205
+ color: var(--a-link-color);
206
+ text-decoration: none;
207
+ }
208
+ }
209
+ </style>
210
+ <style>
211
+ :root {
212
+ --modal-secondary-title: #565656;
213
+ --modal-first-title: #565656;
214
+ --icon-fill-color: #1d1c1c;
215
+ --icon-fill-hover-color: rgb(0, 121, 184);
216
+ --btn-border-hover-color: #0079b8;
217
+ --btn-border-color: #dedede;
218
+ --a-link-color: #0072a3;
219
+ }
220
+ :root.dark-theme {
221
+ --modal-secondary-title: #e9ecef;
222
+ --modal-first-title: #adbbc4;
223
+ --icon-fill-color: rgb(233, 236, 239);
224
+ --icon-fill-hover-color: rgb(73, 175, 217);
225
+ --btn-border-hover-color: #0079b8;
226
+ --btn-border-color: rgb(14, 22, 27);
227
+ --a-link-color: #4aaed9;
228
+ }
229
+ </style>