bfg-common 1.5.675 → 1.5.677

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.
@@ -1,84 +1,84 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- v-model:selected-tab="activeTabModel"
5
- v-model:status-filter="statusFilter"
6
- :panel-collapsed-model="panelCollapsedModel"
7
- :tab-list="props.tabList"
8
- :data-table-recent-tasks="props.dataTableRecentTasks"
9
- :total-items-recent-tasks="props.totalItemsRecentTasks"
10
- :total-pages-recent-tasks="props.totalPagesRecentTasks"
11
- :pagination-recent-tasks="props.paginationRecentTasks"
12
- :loading-recent-tasks="props.loadingRecentTasks"
13
- :data-table-alarms="props.dataTableAlarms"
14
- :loading-alarms="props.loadingAlarms"
15
- @collapse-panel="onCollapseBottomPanel"
16
- @change-tab="emits('change-tab')"
17
- @sort-recent-task="emits('sort-recent-task', $event)"
18
- @pagination-recent-task="emits('pagination-recent-task', $event)"
19
- @pause-global-refresh-alarms="emits('pause-global-refresh-alarms')"
20
- @get-alarms="emits('get-alarms', $event)"
21
- />
22
- </template>
23
-
24
- <script setup lang="ts">
25
- import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
26
- import type { UI_I_RecentTaskItem } from '~/lib/models/store/tasks/interfaces'
27
- import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
28
- import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
29
- import type {
30
- UI_I_Alarm,
31
- UI_I_AlarmPayload,
32
- } from '~/components/common/layout/bottomPanel/alarms/lib/models/interfaces'
33
- import type { UI_T_BottomPanelTabType } from '~/components/common/layout/bottomPanel/lib/models/types'
34
- import type { UI_T_SelectedStatus } from '~/components/common/layout/bottomPanel/recentTasks/old/lib/models/types'
35
-
36
- const panelCollapsedModel = defineModel<boolean>('panelCollapsed', {
37
- required: true,
38
- })
39
- const activeTabModel = defineModel<UI_T_BottomPanelTabType>('selectedTab', {
40
- required: true,
41
- })
42
- const props = withDefaults(
43
- defineProps<{
44
- tabList: UI_I_CollapseNavItem[]
45
- dataTableRecentTasks: UI_I_RecentTaskItem<UI_T_NodeType>[]
46
- totalItemsRecentTasks: number
47
- totalPagesRecentTasks: number
48
- paginationRecentTasks: UI_I_Pagination
49
- loadingRecentTasks: boolean
50
- dataTableAlarms?: UI_I_Alarm | null
51
- loadingAlarms?: boolean
52
- }>(),
53
- {
54
- dataTableAlarms: null,
55
- loadingAlarms: false,
56
- }
57
- )
58
-
59
- const emits = defineEmits<{
60
- (event: 'change-tab'): void
61
- (event: 'sort-recent-task', value: string): void
62
- (event: 'pagination-recent-task', value: UI_I_Pagination | null): void
63
- (event: 'pause-global-refresh-alarms'): void
64
- (event: 'get-alarms', value: UI_I_AlarmPayload): void
65
- }>()
66
-
67
- const { $store }: any = useNuxtApp()
68
-
69
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
70
-
71
- const currentComponent = computed(() =>
72
- isNewView.value
73
- ? defineAsyncComponent(() => import('./New.vue'))
74
- : defineAsyncComponent(() => import('./Old.vue'))
75
- )
76
-
77
- const onCollapseBottomPanel = (): void => {
78
- panelCollapsedModel.value = !panelCollapsedModel.value
79
- }
80
-
81
- const statusFilter = ref<UI_T_SelectedStatus>(-1)
82
- </script>
83
-
84
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model:selected-tab="activeTabModel"
5
+ v-model:status-filter="statusFilter"
6
+ :panel-collapsed-model="panelCollapsedModel"
7
+ :tab-list="props.tabList"
8
+ :data-table-recent-tasks="props.dataTableRecentTasks"
9
+ :total-items-recent-tasks="props.totalItemsRecentTasks"
10
+ :total-pages-recent-tasks="props.totalPagesRecentTasks"
11
+ :pagination-recent-tasks="props.paginationRecentTasks"
12
+ :loading-recent-tasks="props.loadingRecentTasks"
13
+ :data-table-alarms="props.dataTableAlarms"
14
+ :loading-alarms="props.loadingAlarms"
15
+ @collapse-panel="onCollapseBottomPanel"
16
+ @change-tab="emits('change-tab')"
17
+ @sort-recent-task="emits('sort-recent-task', $event)"
18
+ @pagination-recent-task="emits('pagination-recent-task', $event)"
19
+ @pause-global-refresh-alarms="emits('pause-global-refresh-alarms')"
20
+ @get-alarms="emits('get-alarms', $event)"
21
+ />
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
26
+ import type { UI_I_RecentTaskItem } from '~/lib/models/store/tasks/interfaces'
27
+ import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
28
+ import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
29
+ import type {
30
+ UI_I_Alarm,
31
+ UI_I_AlarmPayload,
32
+ } from '~/components/common/layout/bottomPanel/alarms/lib/models/interfaces'
33
+ import type { UI_T_BottomPanelTabType } from '~/components/common/layout/bottomPanel/lib/models/types'
34
+ import type { UI_T_SelectedStatus } from '~/components/common/layout/bottomPanel/recentTasks/old/lib/models/types'
35
+
36
+ const panelCollapsedModel = defineModel<boolean>('panelCollapsed', {
37
+ required: true,
38
+ })
39
+ const activeTabModel = defineModel<UI_T_BottomPanelTabType>('selectedTab', {
40
+ required: true,
41
+ })
42
+ const props = withDefaults(
43
+ defineProps<{
44
+ tabList: UI_I_CollapseNavItem[]
45
+ dataTableRecentTasks: UI_I_RecentTaskItem<UI_T_NodeType>[]
46
+ totalItemsRecentTasks: number
47
+ totalPagesRecentTasks: number
48
+ paginationRecentTasks: UI_I_Pagination
49
+ loadingRecentTasks: boolean
50
+ dataTableAlarms?: UI_I_Alarm | null
51
+ loadingAlarms?: boolean
52
+ }>(),
53
+ {
54
+ dataTableAlarms: null,
55
+ loadingAlarms: false,
56
+ }
57
+ )
58
+
59
+ const emits = defineEmits<{
60
+ (event: 'change-tab'): void
61
+ (event: 'sort-recent-task', value: string): void
62
+ (event: 'pagination-recent-task', value: UI_I_Pagination | null): void
63
+ (event: 'pause-global-refresh-alarms'): void
64
+ (event: 'get-alarms', value: UI_I_AlarmPayload): void
65
+ }>()
66
+
67
+ const { $store }: any = useNuxtApp()
68
+
69
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
70
+
71
+ const currentComponent = computed(() =>
72
+ isNewView.value
73
+ ? defineAsyncComponent(() => import('./New.vue'))
74
+ : defineAsyncComponent(() => import('./Old.vue'))
75
+ )
76
+
77
+ const onCollapseBottomPanel = (): void => {
78
+ panelCollapsedModel.value = !panelCollapsedModel.value
79
+ }
80
+
81
+ const statusFilter = ref<UI_T_SelectedStatus>(-1)
82
+ </script>
83
+
84
+ <style scoped lang="scss"></style>
@@ -1,243 +1,243 @@
1
- <template>
2
- <div
3
- :class="[
4
- 'bottom-panel flex flex-col h-full',
5
- { collapsed: props.panelCollapsedModel },
6
- ]"
7
- >
8
- <div class="bottom-panel__tab-list flex">
9
- <div class="bottom-panel__collapse relative">
10
- <button
11
- id="bottom-panel-collapse"
12
- data-id="bottom-panel-toggle-button"
13
- class="btn-collapse flex items-center"
14
- @click="emits('collapse-panel')"
15
- >
16
- <ui-icon class="collapse-icon" name="arrow" />
17
- </button>
18
- </div>
19
- <ui-tabs
20
- v-model="activeTabModel"
21
- :tabs="tabListLocal"
22
- test-id="bottom-panel-tab-list"
23
- type="underline"
24
- class="bottom-panel__tab"
25
- @change="emits('change-tab')"
26
- >
27
- </ui-tabs>
28
-
29
- <div
30
- v-show="isShowRecentTasksActions"
31
- class="actions flex items-center gap-4 pr-4"
32
- >
33
- <ui-select
34
- v-model="statusFilter"
35
- :items="statusFilterItems"
36
- test-id="status-filter"
37
- class="status-filter-select"
38
- />
39
- <ui-button
40
- test-id="more-tasks-button"
41
- variant="primary"
42
- type="text"
43
- class="more-tasks-button"
44
- is-without-sizes
45
- @click="onNavigateToTasksPage"
46
- >
47
- {{ localization.tasks.moreTasks }}
48
- </ui-button>
49
- </div>
50
- </div>
51
- <div
52
- v-show="!props.panelCollapsedModel"
53
- class="bottom-panel__table-wrapper overflow-hidden"
54
- >
55
- <common-layout-bottom-panel-recent-tasks
56
- v-show="activeTabModel === 'recentTask'"
57
- v-model:status-filter="statusFilter"
58
- :data-table="props.dataTableRecentTasks"
59
- :total-items="props.totalItemsRecentTasks"
60
- :total-pages="props.totalPagesRecentTasks"
61
- :pagination="props.paginationRecentTasks"
62
- :loading="props.loadingRecentTasks"
63
- @sort="emits('sort-recent-task', $event)"
64
- @pagination="emits('pagination-recent-task', $event)"
65
- />
66
- <common-layout-bottom-panel-alarms
67
- v-show="activeTabModel === 'alarms'"
68
- :data-table="props.dataTableAlarms"
69
- :is-loading="props.loadingAlarms"
70
- @pause-global-refresh="emits('pause-global-refresh-alarms')"
71
- @get-alarms="emits('get-alarms', $event)"
72
- />
73
- </div>
74
- </div>
75
- </template>
76
-
77
- <script setup lang="ts">
78
- import type { UI_I_TabItem } from '~/node_modules/bfg-uikit/components/ui/tabs/models/interfaces'
79
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
80
- import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
81
- import type { UI_I_Localization } from '~/lib/models/interfaces'
82
- import type { UI_T_BottomPanelTabType } from '~/components/common/layout/bottomPanel/lib/models/types'
83
- import type { UI_I_RecentTaskItem } from '~/lib/models/store/tasks/interfaces'
84
- import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
85
- import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
86
- import type {
87
- UI_I_Alarm,
88
- UI_I_AlarmPayload,
89
- } from '~/components/common/layout/bottomPanel/alarms/lib/models/interfaces'
90
- import type { UI_T_SelectedStatus } from '~/components/common/layout/bottomPanel/recentTasks/old/lib/models/types'
91
- import { statusFilterItemsFunc } from '~/components/common/layout/bottomPanel/lib/config/statusFilter'
92
-
93
- const activeTabModel = defineModel<UI_T_BottomPanelTabType>('selectedTab', {
94
- required: true,
95
- })
96
- const statusFilter = defineModel<UI_T_SelectedStatus>('statusFilter', {
97
- required: true,
98
- })
99
-
100
- const props = defineProps<{
101
- panelCollapsedModel: boolean
102
- tabList: UI_I_CollapseNavItem[]
103
- dataTableRecentTasks: UI_I_RecentTaskItem<UI_T_NodeType>[]
104
- totalItemsRecentTasks: number
105
- totalPagesRecentTasks: number
106
- paginationRecentTasks: UI_I_Pagination
107
- loadingRecentTasks: boolean
108
- dataTableAlarms: UI_I_Alarm | null
109
- loadingAlarms: boolean
110
- }>()
111
-
112
- const emits = defineEmits<{
113
- (event: 'collapse-panel'): void
114
- (event: 'change-tab'): void
115
- (event: 'sort-recent-task', value: string): void
116
- (event: 'pagination-recent-task', value: UI_I_Pagination | null): void
117
- (event: 'pause-global-refresh-alarms'): void
118
- (event: 'get-alarms', value: UI_I_AlarmPayload): void
119
- }>()
120
-
121
- const tabListLocal = computed<UI_I_TabItem[]>(() =>
122
- props.tabList.map(({ value, text: name, testId, development }) => ({
123
- name,
124
- development,
125
- value: value + '',
126
- testId: testId + '',
127
- }))
128
- )
129
-
130
- const localization = computed<UI_I_Localization>(() => useLocal())
131
- const statusFilterItems = ref<UI_I_Dropdown[]>(
132
- statusFilterItemsFunc(localization.value)
133
- )
134
-
135
- const onNavigateToTasksPage = (): void => {
136
- const router = useRouter()
137
- router.push('/tasks')
138
- }
139
-
140
- const isShowRecentTasksActions = computed<boolean>(
141
- () => activeTabModel.value === 'recentTask' && !props.panelCollapsedModel
142
- )
143
- </script>
144
-
145
- <style>
146
- :root {
147
- --bottom-pannel-bg-color: #fff;
148
- --bottom-pannel-border-color: #e9ebed;
149
- --bottom-pannel-rtask-link-text: #008fd6;
150
- --bottom-pannel-rtask-link-hover-text: #0081c1;
151
- --bottom-pannel-divider-color: #e9ebeda3;
152
- --bottom-pannel-collapse-button-icon: #213444;
153
- }
154
- :root.dark-theme {
155
- --bottom-pannel-bg-color: #213444;
156
- --bottom-pannel-border-color: #e9ebed1f;
157
- --bottom-pannel-rtask-link-text: #2ba2de;
158
- --bottom-pannel-rtask-link-hover-text: #008fd6;
159
- --bottom-pannel-divider-color: #e9ebed1f;
160
- --bottom-pannel-collapse-button-icon: #e9eaec;
161
- }
162
- </style>
163
- <style scoped lang="scss">
164
- @import '~/assets/scss/common/mixins';
165
- .bottom-panel {
166
- background-color: var(--bottom-pannel-bg-color);
167
-
168
- &__tab-list {
169
- border-bottom: 1px solid var(--bottom-pannel-border-color);
170
- }
171
- &__tab {
172
- align-items: flex-end;
173
- margin-left: 16px;
174
-
175
- &.tabs-wrapper.is-link:before {
176
- display: none;
177
- }
178
- .collapsed &.tabs-wrapper.is-link {
179
- :deep(.tab-item.active.tab-underline) {
180
- border-bottom: 3px solid transparent;
181
- }
182
- }
183
- }
184
- &__table-wrapper {
185
- height: inherit;
186
- }
187
-
188
- .btn-collapse {
189
- border: 0;
190
- outline: none;
191
- background-color: transparent;
192
- cursor: pointer;
193
-
194
- .collapse-icon {
195
- width: 20px;
196
- height: 20px;
197
- transform: rotate(180deg);
198
- color: var(--bottom-pannel-collapse-button-icon);
199
-
200
- .collapsed & {
201
- transform: rotate(0deg);
202
- }
203
- }
204
- }
205
- &__collapse {
206
- padding: 12px 16px;
207
-
208
- &:before {
209
- content: '';
210
- position: absolute;
211
- top: 8px;
212
- right: 0;
213
- bottom: 8px;
214
- width: 1px;
215
- background-color: var(--bottom-pannel-divider-color);
216
- }
217
- }
218
-
219
- .actions {
220
- flex: 1;
221
- justify-content: flex-end;
222
-
223
- .more-tasks-button {
224
- width: auto;
225
- }
226
-
227
- :deep(.ui-select-toggle-button) {
228
- height: 24px;
229
- min-width: 80px;
230
- padding: 4px 4px 4px 8px;
231
- border-radius: 6px;
232
- }
233
- :deep(.ui-popup-window) {
234
- border-radius: 6px;
235
- width: unset !important;
236
- }
237
- }
238
- }
239
-
240
- :deep(.table-container.default-layout) {
241
- border-radius: 0;
242
- }
243
- </style>
1
+ <template>
2
+ <div
3
+ :class="[
4
+ 'bottom-panel flex flex-col h-full',
5
+ { collapsed: props.panelCollapsedModel },
6
+ ]"
7
+ >
8
+ <div class="bottom-panel__tab-list flex">
9
+ <div class="bottom-panel__collapse relative">
10
+ <button
11
+ id="bottom-panel-collapse"
12
+ data-id="bottom-panel-toggle-button"
13
+ class="btn-collapse flex items-center"
14
+ @click="emits('collapse-panel')"
15
+ >
16
+ <ui-icon class="collapse-icon" name="arrow" />
17
+ </button>
18
+ </div>
19
+ <ui-tabs
20
+ v-model="activeTabModel"
21
+ :tabs="tabListLocal"
22
+ test-id="bottom-panel-tab-list"
23
+ type="underline"
24
+ class="bottom-panel__tab"
25
+ @change="emits('change-tab')"
26
+ >
27
+ </ui-tabs>
28
+
29
+ <div
30
+ v-show="isShowRecentTasksActions"
31
+ class="actions flex items-center gap-4 pr-4"
32
+ >
33
+ <ui-select
34
+ v-model="statusFilter"
35
+ :items="statusFilterItems"
36
+ test-id="status-filter"
37
+ class="status-filter-select"
38
+ />
39
+ <ui-button
40
+ test-id="more-tasks-button"
41
+ variant="primary"
42
+ type="text"
43
+ class="more-tasks-button"
44
+ is-without-sizes
45
+ @click="onNavigateToTasksPage"
46
+ >
47
+ {{ localization.tasks.moreTasks }}
48
+ </ui-button>
49
+ </div>
50
+ </div>
51
+ <div
52
+ v-show="!props.panelCollapsedModel"
53
+ class="bottom-panel__table-wrapper overflow-hidden"
54
+ >
55
+ <common-layout-bottom-panel-recent-tasks
56
+ v-show="activeTabModel === 'recentTask'"
57
+ v-model:status-filter="statusFilter"
58
+ :data-table="props.dataTableRecentTasks"
59
+ :total-items="props.totalItemsRecentTasks"
60
+ :total-pages="props.totalPagesRecentTasks"
61
+ :pagination="props.paginationRecentTasks"
62
+ :loading="props.loadingRecentTasks"
63
+ @sort="emits('sort-recent-task', $event)"
64
+ @pagination="emits('pagination-recent-task', $event)"
65
+ />
66
+ <common-layout-bottom-panel-alarms
67
+ v-show="activeTabModel === 'alarms'"
68
+ :data-table="props.dataTableAlarms"
69
+ :is-loading="props.loadingAlarms"
70
+ @pause-global-refresh="emits('pause-global-refresh-alarms')"
71
+ @get-alarms="emits('get-alarms', $event)"
72
+ />
73
+ </div>
74
+ </div>
75
+ </template>
76
+
77
+ <script setup lang="ts">
78
+ import type { UI_I_TabItem } from '~/node_modules/bfg-uikit/components/ui/tabs/models/interfaces'
79
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
80
+ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
81
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
82
+ import type { UI_T_BottomPanelTabType } from '~/components/common/layout/bottomPanel/lib/models/types'
83
+ import type { UI_I_RecentTaskItem } from '~/lib/models/store/tasks/interfaces'
84
+ import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
85
+ import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
86
+ import type {
87
+ UI_I_Alarm,
88
+ UI_I_AlarmPayload,
89
+ } from '~/components/common/layout/bottomPanel/alarms/lib/models/interfaces'
90
+ import type { UI_T_SelectedStatus } from '~/components/common/layout/bottomPanel/recentTasks/old/lib/models/types'
91
+ import { statusFilterItemsFunc } from '~/components/common/layout/bottomPanel/lib/config/statusFilter'
92
+
93
+ const activeTabModel = defineModel<UI_T_BottomPanelTabType>('selectedTab', {
94
+ required: true,
95
+ })
96
+ const statusFilter = defineModel<UI_T_SelectedStatus>('statusFilter', {
97
+ required: true,
98
+ })
99
+
100
+ const props = defineProps<{
101
+ panelCollapsedModel: boolean
102
+ tabList: UI_I_CollapseNavItem[]
103
+ dataTableRecentTasks: UI_I_RecentTaskItem<UI_T_NodeType>[]
104
+ totalItemsRecentTasks: number
105
+ totalPagesRecentTasks: number
106
+ paginationRecentTasks: UI_I_Pagination
107
+ loadingRecentTasks: boolean
108
+ dataTableAlarms: UI_I_Alarm | null
109
+ loadingAlarms: boolean
110
+ }>()
111
+
112
+ const emits = defineEmits<{
113
+ (event: 'collapse-panel'): void
114
+ (event: 'change-tab'): void
115
+ (event: 'sort-recent-task', value: string): void
116
+ (event: 'pagination-recent-task', value: UI_I_Pagination | null): void
117
+ (event: 'pause-global-refresh-alarms'): void
118
+ (event: 'get-alarms', value: UI_I_AlarmPayload): void
119
+ }>()
120
+
121
+ const tabListLocal = computed<UI_I_TabItem[]>(() =>
122
+ props.tabList.map(({ value, text: name, testId, development }) => ({
123
+ name,
124
+ development,
125
+ value: value + '',
126
+ testId: testId + '',
127
+ }))
128
+ )
129
+
130
+ const localization = computed<UI_I_Localization>(() => useLocal())
131
+ const statusFilterItems = ref<UI_I_Dropdown[]>(
132
+ statusFilterItemsFunc(localization.value)
133
+ )
134
+
135
+ const onNavigateToTasksPage = (): void => {
136
+ const router = useRouter()
137
+ router.push('/tasks')
138
+ }
139
+
140
+ const isShowRecentTasksActions = computed<boolean>(
141
+ () => activeTabModel.value === 'recentTask' && !props.panelCollapsedModel
142
+ )
143
+ </script>
144
+
145
+ <style>
146
+ :root {
147
+ --bottom-pannel-bg-color: #fff;
148
+ --bottom-pannel-border-color: #e9ebed;
149
+ --bottom-pannel-rtask-link-text: #008fd6;
150
+ --bottom-pannel-rtask-link-hover-text: #0081c1;
151
+ --bottom-pannel-divider-color: #e9ebeda3;
152
+ --bottom-pannel-collapse-button-icon: #213444;
153
+ }
154
+ :root.dark-theme {
155
+ --bottom-pannel-bg-color: #213444;
156
+ --bottom-pannel-border-color: #e9ebed1f;
157
+ --bottom-pannel-rtask-link-text: #2ba2de;
158
+ --bottom-pannel-rtask-link-hover-text: #008fd6;
159
+ --bottom-pannel-divider-color: #e9ebed1f;
160
+ --bottom-pannel-collapse-button-icon: #e9eaec;
161
+ }
162
+ </style>
163
+ <style scoped lang="scss">
164
+ @import '~/assets/scss/common/mixins';
165
+ .bottom-panel {
166
+ background-color: var(--bottom-pannel-bg-color);
167
+
168
+ &__tab-list {
169
+ border-bottom: 1px solid var(--bottom-pannel-border-color);
170
+ }
171
+ &__tab {
172
+ align-items: flex-end;
173
+ margin-left: 16px;
174
+
175
+ &.tabs-wrapper.is-link:before {
176
+ display: none;
177
+ }
178
+ .collapsed &.tabs-wrapper.is-link {
179
+ :deep(.tab-item.active.tab-underline) {
180
+ border-bottom: 3px solid transparent;
181
+ }
182
+ }
183
+ }
184
+ &__table-wrapper {
185
+ height: inherit;
186
+ }
187
+
188
+ .btn-collapse {
189
+ border: 0;
190
+ outline: none;
191
+ background-color: transparent;
192
+ cursor: pointer;
193
+
194
+ .collapse-icon {
195
+ width: 20px;
196
+ height: 20px;
197
+ transform: rotate(180deg);
198
+ color: var(--bottom-pannel-collapse-button-icon);
199
+
200
+ .collapsed & {
201
+ transform: rotate(0deg);
202
+ }
203
+ }
204
+ }
205
+ &__collapse {
206
+ padding: 12px 16px;
207
+
208
+ &:before {
209
+ content: '';
210
+ position: absolute;
211
+ top: 8px;
212
+ right: 0;
213
+ bottom: 8px;
214
+ width: 1px;
215
+ background-color: var(--bottom-pannel-divider-color);
216
+ }
217
+ }
218
+
219
+ .actions {
220
+ flex: 1;
221
+ justify-content: flex-end;
222
+
223
+ .more-tasks-button {
224
+ width: auto;
225
+ }
226
+
227
+ :deep(.ui-select-toggle-button) {
228
+ height: 24px;
229
+ min-width: 80px;
230
+ padding: 4px 4px 4px 8px;
231
+ border-radius: 6px;
232
+ }
233
+ :deep(.ui-popup-window) {
234
+ border-radius: 6px;
235
+ width: unset !important;
236
+ }
237
+ }
238
+ }
239
+
240
+ :deep(.table-container.default-layout) {
241
+ border-radius: 0;
242
+ }
243
+ </style>