@eturnity/eturnity_reusable_components 7.24.3-EPDM-11143.1 → 7.24.3-EPDM-11320.1

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 (82) hide show
  1. package/.eslintrc.js +184 -0
  2. package/.prettierrc +8 -6
  3. package/package.json +9 -21
  4. package/src/App.vue +79 -78
  5. package/src/assets/theme.js +3 -3
  6. package/src/components/addNewButton/AddNewButton.stories.js +2 -2
  7. package/src/components/addNewButton/index.vue +48 -51
  8. package/src/components/banner/actionBanner/index.vue +54 -55
  9. package/src/components/banner/banner/banner.stories.js +5 -5
  10. package/src/components/banner/banner/index.vue +159 -159
  11. package/src/components/banner/infoBanner/index.vue +41 -53
  12. package/src/components/buttons/buttonIcon/index.vue +125 -122
  13. package/src/components/buttons/closeButton/CloseButton.stories.js +3 -3
  14. package/src/components/buttons/closeButton/index.vue +49 -49
  15. package/src/components/buttons/mainButton/index.vue +119 -119
  16. package/src/components/card/index.vue +70 -70
  17. package/src/components/collapsableInfoText/index.vue +96 -94
  18. package/src/components/deleteIcon/DeleteIcon.stories.js +4 -4
  19. package/src/components/deleteIcon/index.vue +54 -54
  20. package/src/components/draggableInputHandle/index.vue +37 -37
  21. package/src/components/dropdown/Dropdown.stories.js +9 -10
  22. package/src/components/dropdown/index.vue +106 -106
  23. package/src/components/errorMessage/index.vue +52 -52
  24. package/src/components/filter/filterSettings.vue +439 -433
  25. package/src/components/filter/index.vue +135 -135
  26. package/src/components/filter/parentDropdown.vue +73 -73
  27. package/src/components/icon/Icons.stories.js +7 -7
  28. package/src/components/icon/iconCollection.vue +53 -53
  29. package/src/components/icon/index.vue +121 -121
  30. package/src/components/iconWrapper/index.vue +156 -156
  31. package/src/components/infoCard/index.vue +26 -26
  32. package/src/components/infoText/index.vue +133 -132
  33. package/src/components/inputs/checkbox/Checkbox.stories.js +8 -8
  34. package/src/components/inputs/checkbox/index.vue +190 -180
  35. package/src/components/inputs/inputNumber/InputNumber.stories.js +41 -41
  36. package/src/components/inputs/inputNumber/index.vue +647 -644
  37. package/src/components/inputs/inputNumberQuestion/index.vue +185 -182
  38. package/src/components/inputs/inputText/InputText.stories.js +22 -22
  39. package/src/components/inputs/inputText/index.vue +337 -336
  40. package/src/components/inputs/radioButton/RadioButton.stories.js +16 -16
  41. package/src/components/inputs/radioButton/index.vue +221 -219
  42. package/src/components/inputs/searchInput/SearchInput.stories.js +8 -8
  43. package/src/components/inputs/searchInput/index.vue +126 -126
  44. package/src/components/inputs/select/index.vue +778 -776
  45. package/src/components/inputs/select/option/index.vue +124 -124
  46. package/src/components/inputs/select/select.stories.js +31 -32
  47. package/src/components/inputs/slider/index.vue +99 -99
  48. package/src/components/inputs/switchField/index.vue +220 -222
  49. package/src/components/inputs/textAreaInput/TextAreaInput.stories.js +57 -57
  50. package/src/components/inputs/textAreaInput/index.vue +171 -173
  51. package/src/components/inputs/toggle/Toggle.stories.js +14 -14
  52. package/src/components/inputs/toggle/index.vue +214 -217
  53. package/src/components/label/index.vue +82 -82
  54. package/src/components/markerItem/index.vue +68 -66
  55. package/src/components/modals/actionModal/index.vue +54 -54
  56. package/src/components/modals/infoModal/index.vue +39 -36
  57. package/src/components/modals/modal/index.vue +134 -134
  58. package/src/components/modals/modal/modal.stories.js +5 -5
  59. package/src/components/navigationTabs/index.vue +96 -94
  60. package/src/components/pageSubtitle/index.vue +55 -49
  61. package/src/components/pageTitle/index.vue +56 -56
  62. package/src/components/pagination/index.vue +92 -89
  63. package/src/components/progressBar/index.vue +107 -107
  64. package/src/components/projectMarker/index.vue +246 -244
  65. package/src/components/rangeSlider/Slider.vue +491 -465
  66. package/src/components/rangeSlider/index.vue +410 -410
  67. package/src/components/rangeSlider/utils/dom.js +5 -5
  68. package/src/components/selectedOptions/index.vue +119 -119
  69. package/src/components/sideMenu/index.vue +199 -199
  70. package/src/components/spinner/index.vue +57 -57
  71. package/src/components/tableDropdown/index.vue +520 -520
  72. package/src/components/tables/mainTable/index.vue +366 -362
  73. package/src/components/tables/viewTable/index.vue +171 -171
  74. package/src/components/threeDots/index.vue +340 -334
  75. package/src/components/videoThumbnail/index.vue +86 -86
  76. package/src/components/videoThumbnail/videoThumbnail.stories.js +14 -16
  77. package/src/helpers/numberConverter.js +2 -2
  78. package/src/helpers/translateLang.js +9 -9
  79. package/src/mixins/inputValidations.js +5 -5
  80. package/public/favicon.ico +0 -0
  81. package/public/index.html +0 -17
  82. package/src/assets/svgIcons/copy.svg +0 -10
@@ -1,447 +1,451 @@
1
1
  <template>
2
- <page-container
3
- :tableHeight="tableHeight"
4
- :shouldSetCustomHeight="doesTableContainDraggables"
2
+ <PageContainer
3
+ :should-set-custom-height="doesTableContainDraggables"
4
+ :table-height="tableHeight"
5
5
  >
6
- <table-title v-if="titleText">
6
+ <TableTitle v-if="titleText">
7
7
  {{ titleText }}
8
- </table-title>
9
- <table-scroll
8
+ </TableTitle>
9
+ <TableScroll
10
10
  ref="tableRef"
11
- :isPositionAbsolute="doesTableContainDraggables"
11
+ :is-position-absolute="doesTableContainDraggables"
12
12
  >
13
- <table-wrapper class="main-table-wrapper" :fullWidth="fullWidth">
14
- <spinner-wrapper v-if="isLoading">
15
- <spinner />
16
- </spinner-wrapper>
17
- <table-container
13
+ <TableWrapper class="main-table-wrapper" :full-width="fullWidth">
14
+ <SpinnerWrapper v-if="isLoading">
15
+ <Spinner />
16
+ </SpinnerWrapper>
17
+ <TableContainer
18
18
  v-else
19
- :cellPaddings="cellPaddings"
20
- :tableCursor="tableCursor"
19
+ :cell-paddings="cellPaddings"
20
+ :table-cursor="tableCursor"
21
21
  >
22
- <slot />
23
- </table-container>
24
- </table-wrapper>
25
- </table-scroll>
26
- </page-container>
22
+ <slot></slot>
23
+ </TableContainer>
24
+ </TableWrapper>
25
+ </TableScroll>
26
+ </PageContainer>
27
27
  </template>
28
28
 
29
29
  <script>
30
- // ToDo: add this to storybook
31
- // import MainTable from "@eturnity/eturnity_reusable_components/src/components/tables/mainTable"
32
- import styled from 'vue3-styled-components'
33
- import Spinner from '../../spinner'
34
- import dragIconSvg from '../../../assets/icons/drag_icon.svg?url'
35
- import subpositionIconSvg from '../../../assets/icons/subposition_icon.svg?url'
36
- import arrowDownSvg from '../../../assets/icons/arrow_down.svg?url'
37
- import arrowUpRedSvg from '../../../assets/icons/arrow_up_red.svg?url'
38
-
39
- const pageContainerProps = {
40
- tableHeight: String,
41
- shouldSetCustomHeight: Boolean
42
- }
43
- const PageContainer = styled('div', pageContainerProps)`
44
- position: relative;
45
- height: ${(props) =>
46
- props.shouldSetCustomHeight ? props.tableHeight : 'auto'};
47
- `
48
-
49
- const TableTitle = styled.div`
50
- margin-bottom: 16px;
51
- font-weight: bold;
52
- font-size: 14px;
53
- text-transform: uppercase;
54
- `
55
-
56
- const tableScrollProps = {
57
- isPositionAbsolute: Boolean
58
- }
59
-
60
- const TableScroll = styled('div', tableScrollProps)`
61
- max-width: 100%;
62
- height: auto;
63
- ${(props) =>
64
- props.isPositionAbsolute &&
65
- `
30
+ // ToDo: add this to storybook
31
+ // import MainTable from "@eturnity/eturnity_reusable_components/src/components/tables/mainTable"
32
+ import styled from 'vue3-styled-components'
33
+ import Spinner from '../../spinner'
34
+ import dragIconSvg from '../../../assets/icons/drag_icon.svg?url'
35
+ import subpositionIconSvg from '../../../assets/icons/subposition_icon.svg?url'
36
+ import arrowDownSvg from '../../../assets/icons/arrow_down.svg?url'
37
+ import arrowUpRedSvg from '../../../assets/icons/arrow_up_red.svg?url'
38
+
39
+ const pageContainerProps = {
40
+ tableHeight: String,
41
+ shouldSetCustomHeight: Boolean,
42
+ }
43
+ const PageContainer = styled('div', pageContainerProps)`
44
+ position: relative;
45
+ height: ${(props) =>
46
+ props.shouldSetCustomHeight ? props.tableHeight : 'auto'};
47
+ `
48
+
49
+ const TableTitle = styled.div`
50
+ margin-bottom: 16px;
51
+ font-weight: bold;
52
+ font-size: 14px;
53
+ text-transform: uppercase;
54
+ `
55
+
56
+ const tableScrollProps = {
57
+ isPositionAbsolute: Boolean,
58
+ }
59
+
60
+ const TableScroll = styled('div', tableScrollProps)`
61
+ max-width: 100%;
62
+ height: auto;
63
+ ${(props) =>
64
+ props.isPositionAbsolute &&
65
+ `
66
66
  position: absolute;
67
67
  left: -20px;
68
68
  `}
69
- `
70
-
71
- const wrapperAttrs = { fullWidth: Boolean }
72
- const TableWrapper = styled('div', wrapperAttrs)`
73
- width: ${(props) => (props.fullWidth ? '100%' : 'fit-content')};
74
- max-width: 100%;
75
- overflow-x: auto;
76
- overflow-y: hidden;
77
-
78
- ::-webkit-scrollbar {
79
- height: 10px; //height of the whole scrollbar area
80
- }
69
+ `
81
70
 
82
- ::-webkit-scrollbar-track {
83
- background: ${(props) => props.theme.colors.grey2};
84
- border-radius: 4px;
85
- }
71
+ const wrapperAttrs = { fullWidth: Boolean }
72
+ const TableWrapper = styled('div', wrapperAttrs)`
73
+ width: ${(props) => (props.fullWidth ? '100%' : 'fit-content')};
74
+ max-width: 100%;
75
+ overflow-x: auto;
76
+ overflow-y: hidden;
86
77
 
87
- ::-webkit-scrollbar-thumb {
88
- border-bottom: 10px solid ${(props) => props.theme.colors.brightBlue}; // width of the actual scrollbar
89
- border-radius: 4px;
90
- }
91
- `
92
-
93
- const SpinnerWrapper = styled.div`
94
- height: 150px;
95
- display: grid;
96
- align-items: center;
97
- justify-items: center;
98
- `
99
-
100
- const containerAttrs = {
101
- cellPaddings: String,
102
- tableCursor: String
103
- }
104
-
105
- const TableContainer = styled('table', containerAttrs)`
106
- width: 100%;
107
- border-collapse: collapse;
108
- border: none;
109
- font-size: 13px;
110
-
111
- thead {
112
- font-weight: bold;
78
+ ::-webkit-scrollbar {
79
+ height: 10px; //height of the whole scrollbar area
80
+ }
113
81
 
114
- tr {
115
- border-bottom: none !important;
82
+ ::-webkit-scrollbar-track {
83
+ background: ${(props) => props.theme.colors.grey2};
84
+ border-radius: 4px;
116
85
  }
117
- }
118
86
 
119
- .collective-row-toggle {
120
- cursor: pointer !important;
87
+ ::-webkit-scrollbar-thumb {
88
+ border-bottom: 10px solid ${(props) => props.theme.colors.brightBlue}; // width of the actual scrollbar
89
+ border-radius: 4px;
90
+ }
91
+ `
92
+
93
+ const SpinnerWrapper = styled.div`
94
+ height: 150px;
95
+ display: grid;
96
+ align-items: center;
97
+ justify-items: center;
98
+ `
99
+
100
+ const containerAttrs = {
101
+ cellPaddings: String,
102
+ tableCursor: String,
121
103
  }
122
104
 
123
- tbody {
124
- tr {
125
- &:hover {
126
- background-color: ${(props) => props.theme.colors.white};
127
- cursor: ${(props) => (props.tableCursor ? props.tableCursor : 'auto')};
128
-
129
- .select-button,
130
- .arrow-container,
131
- .input-placeholder,
132
- .table-dropdown-item {
133
- background-color: ${(props) => props.theme.colors.grey5};
134
- }
105
+ const TableContainer = styled('table', containerAttrs)`
106
+ width: 100%;
107
+ border-collapse: collapse;
108
+ border: none;
109
+ font-size: 13px;
135
110
 
136
- input {
137
- background-color: ${(props) => props.theme.colors.grey5};
138
- }
139
- }
111
+ thead {
112
+ font-weight: bold;
140
113
 
141
- td {
142
- height: 40px;
114
+ tr {
115
+ border-bottom: none !important;
143
116
  }
144
117
  }
145
- }
146
118
 
147
- th {
148
- padding: 11px 15px;
149
- background-color: ${(props) => props.theme.colors.blue1};
150
- cursor: auto;
151
- height: 40px;
152
-
153
- .ordering {
154
- display: grid;
155
- grid-template-columns: 1fr auto;
156
- grid-gap: 6px;
119
+ .collective-row-toggle {
120
+ cursor: pointer !important;
157
121
  }
158
- }
159
122
 
160
- td {
161
- padding: ${(props) =>
162
- props.cellPaddings ? props.cellPaddings : '6px 6px 7px 4px'};
163
- border-bottom: 1px solid ${(props) => props.theme.colors.grey4};
123
+ tbody {
124
+ tr {
125
+ &:hover {
126
+ background-color: ${(props) => props.theme.colors.white};
127
+ cursor: ${(props) =>
128
+ props.tableCursor ? props.tableCursor : 'auto'};
129
+
130
+ .select-button,
131
+ .arrow-container,
132
+ .input-placeholder,
133
+ .table-dropdown-item {
134
+ background-color: ${(props) => props.theme.colors.grey5};
135
+ }
136
+
137
+ input {
138
+ background-color: ${(props) => props.theme.colors.grey5};
139
+ }
140
+ }
164
141
 
165
- &.empty {
166
- height: 100px;
167
- text-align: center;
168
- cursor: default;
169
- background-color: #fff !important;
142
+ td {
143
+ height: 40px;
144
+ }
145
+ }
170
146
  }
171
147
 
172
- &.no-border {
173
- border-bottom: none;
174
- }
148
+ th {
149
+ padding: 11px 15px;
150
+ background-color: ${(props) => props.theme.colors.blue1};
151
+ cursor: auto;
152
+ height: 40px;
175
153
 
176
- .collective-container {
177
- display: grid;
178
- grid-template-columns: auto 1fr;
179
- align-items: center;
180
- grid-gap: 10px;
181
- cursor: ${(props) => (props.tableCursor ? props.tableCursor : 'pointer')};
154
+ .ordering {
155
+ display: grid;
156
+ grid-template-columns: 1fr auto;
157
+ grid-gap: 6px;
158
+ }
182
159
  }
183
160
 
184
- .collective-box {
185
- width: 22px;
186
- height: 22px;
187
- border-radius: 4px;
188
- color: #fff;
189
- background-color: ${(props) => props.theme.colors.grey3};
190
- font-size: 13px;
191
- font-weight: normal;
192
- display: grid;
193
- align-items: center;
194
- justify-items: center;
161
+ td {
162
+ padding: ${(props) =>
163
+ props.cellPaddings ? props.cellPaddings : '6px 6px 7px 4px'};
164
+ border-bottom: 1px solid ${(props) => props.theme.colors.grey4};
195
165
 
196
- &.open {
197
- background-color: ${(props) => props.theme.colors.green};
166
+ &.empty {
167
+ height: 100px;
168
+ text-align: center;
169
+ cursor: default;
170
+ background-color: #fff !important;
198
171
  }
199
- }
200
- }
201
172
 
202
- td,
203
- th {
204
- white-space: nowrap;
205
- text-align: left;
206
-
207
- &.align {
208
- &-left {
209
- text-align: left;
173
+ &.no-border {
174
+ border-bottom: none;
210
175
  }
211
176
 
212
- &-center {
213
- text-align: center;
177
+ .collective-container {
178
+ display: grid;
179
+ grid-template-columns: auto 1fr;
180
+ align-items: center;
181
+ grid-gap: 10px;
182
+ cursor: ${(props) =>
183
+ props.tableCursor ? props.tableCursor : 'pointer'};
214
184
  }
215
185
 
216
- &-right {
217
- text-align: right;
186
+ .collective-box {
187
+ width: 22px;
188
+ height: 22px;
189
+ border-radius: 4px;
190
+ color: #fff;
191
+ background-color: ${(props) => props.theme.colors.grey3};
192
+ font-size: 13px;
193
+ font-weight: normal;
194
+ display: grid;
195
+ align-items: center;
196
+ justify-items: center;
197
+
198
+ &.open {
199
+ background-color: ${(props) => props.theme.colors.green};
200
+ }
218
201
  }
219
202
  }
220
203
 
221
- &.checkbox {
222
- padding: 7px 15px !important;
223
- width: 40px;
224
- }
204
+ td,
205
+ th {
206
+ white-space: nowrap;
207
+ text-align: left;
225
208
 
226
- &.checkbox-header {
227
- min-width: 40px;
228
- display: flex;
229
- gap: 10px;
230
- }
231
- }
209
+ &.align {
210
+ &-left {
211
+ text-align: left;
212
+ }
232
213
 
233
- tr {
234
- &.disabled {
235
- cursor: not-allowed !important;
236
- }
214
+ &-center {
215
+ text-align: center;
216
+ }
237
217
 
238
- .arrow-dropdown {
239
- visibility: hidden;
240
- }
218
+ &-right {
219
+ text-align: right;
220
+ }
221
+ }
241
222
 
242
- &.footer {
243
- td {
244
- background-color: ${(props) => props.theme.colors.grey5};
245
- /* border-top: 1px solid ${(props) => props.theme.colors.grey4}; */
223
+ &.checkbox {
224
+ padding: 7px 15px !important;
225
+ width: 40px;
246
226
  }
247
227
 
248
- .text {
249
- cursor: auto !important;
228
+ &.checkbox-header {
229
+ min-width: 40px;
230
+ display: flex;
231
+ gap: 10px;
250
232
  }
251
233
  }
252
234
 
253
- .text {
254
- padding: 10px 15px 10px 15px;
255
- color: ${(props) => props.theme.colors.black};
256
- cursor: ${(props) => (props.tableCursor ? props.tableCursor : 'auto')};
257
- }
235
+ tr {
236
+ &.disabled {
237
+ cursor: not-allowed !important;
238
+ }
258
239
 
259
- .bold {
260
- font-weight: bold;
261
- }
240
+ .arrow-dropdown {
241
+ visibility: hidden;
242
+ }
262
243
 
263
- .icons-container {
264
- padding-right: 2px; // so that the icons are not cut off when hovering
265
- width: 1%; // necessary so it doesn't take up too much white space
266
- display: table-cell;
267
- flex-wrap: nowrap;
268
- background-color: #fff;
269
- vertical-align: middle;
270
- }
244
+ &.footer {
245
+ td {
246
+ background-color: ${(props) => props.theme.colors.grey5};
247
+ /* border-top: 1px solid ${(props) => props.theme.colors.grey4}; */
248
+ }
271
249
 
272
- .arrow-container {
273
- display: table-cell;
274
- vertical-align: middle;
275
- cursor: ${(props) => (props.tableCursor ? props.tableCursor : 'pointer')};
276
- border-bottom: 1px solid ${(props) => props.theme.colors.grey4};
277
- }
250
+ .text {
251
+ cursor: auto !important;
252
+ }
253
+ }
278
254
 
279
- &.container-row td {
280
- padding: 0;
281
- }
255
+ .text {
256
+ padding: 10px 15px 10px 15px;
257
+ color: ${(props) => props.theme.colors.black};
258
+ cursor: ${(props) => (props.tableCursor ? props.tableCursor : 'auto')};
259
+ }
282
260
 
283
- &.no-border {
284
- td,
285
- .arrow-container {
286
- border-bottom: none;
261
+ .bold {
262
+ font-weight: bold;
287
263
  }
288
- }
289
264
 
290
- &:hover {
291
- input:disabled {
292
- background-color: ${(props) => props.theme.colors.grey5 + '!important'};
265
+ .icons-container {
266
+ padding-right: 2px; // so that the icons are not cut off when hovering
267
+ width: 1%; // necessary so it doesn't take up too much white space
268
+ display: table-cell;
269
+ flex-wrap: nowrap;
270
+ background-color: #fff;
271
+ vertical-align: middle;
293
272
  }
294
273
 
295
- .drag-icon {
296
- visibility: visible;
274
+ .arrow-container {
275
+ display: table-cell;
276
+ vertical-align: middle;
277
+ cursor: ${(props) =>
278
+ props.tableCursor ? props.tableCursor : 'pointer'};
279
+ border-bottom: 1px solid ${(props) => props.theme.colors.grey4};
297
280
  }
298
281
 
299
- .drag-wrapper {
300
- background-color: ${(props) => props.theme.colors.grey5};
282
+ &.container-row td {
283
+ padding: 0;
301
284
  }
302
285
 
303
- .arrow-dropdown {
304
- visibility: visible;
286
+ &.no-border {
287
+ td,
288
+ .arrow-container {
289
+ border-bottom: none;
290
+ }
305
291
  }
306
- }
307
292
 
308
- .drag-container {
309
- display: table-cell;
310
- width: 20px;
311
- min-width: 20px;
312
- height: 40px;
313
- }
293
+ &:hover {
294
+ input:disabled {
295
+ background-color: ${(props) =>
296
+ props.theme.colors.grey5 + '!important'};
297
+ }
314
298
 
315
- .drag-wrapper {
316
- width: 16px;
317
- height: 36px;
318
- display: grid;
319
- align-items: center;
320
- justify-items: center;
321
- border-radius: 4px;
322
- }
299
+ .drag-icon {
300
+ visibility: visible;
301
+ }
323
302
 
324
- .drag-icon {
325
- visibility: hidden;
326
- width: 10px;
327
- height: 16px;
328
- cursor: grab;
329
- background-position: center;
330
- background-image: ${() => `url(${dragIconSvg})`};
303
+ .drag-wrapper {
304
+ background-color: ${(props) => props.theme.colors.grey5};
305
+ }
331
306
 
332
- &:active {
333
- cursor: grabbing;
307
+ .arrow-dropdown {
308
+ visibility: visible;
309
+ }
334
310
  }
335
- }
336
311
 
337
- .subposition-icon {
338
- width: 14px;
339
- height: 11px;
340
- background: no-repeat;
341
- margin-left: 10px;
342
- background-image: ${() => `url(${subpositionIconSvg})`};
343
- }
312
+ .drag-container {
313
+ display: table-cell;
314
+ width: 20px;
315
+ min-width: 20px;
316
+ height: 40px;
317
+ }
344
318
 
345
- .arrow-down {
346
- width: 14px;
347
- height: 11px;
348
- background: no-repeat;
349
- background-position: center;
350
- background-image: ${() => `url(${arrowDownSvg})`};
351
- }
319
+ .drag-wrapper {
320
+ width: 16px;
321
+ height: 36px;
322
+ display: grid;
323
+ align-items: center;
324
+ justify-items: center;
325
+ border-radius: 4px;
326
+ }
327
+
328
+ .drag-icon {
329
+ visibility: hidden;
330
+ width: 10px;
331
+ height: 16px;
332
+ cursor: grab;
333
+ background-position: center;
334
+ background-image: ${() => `url(${dragIconSvg})`};
335
+
336
+ &:active {
337
+ cursor: grabbing;
338
+ }
339
+ }
340
+
341
+ .subposition-icon {
342
+ width: 14px;
343
+ height: 11px;
344
+ background: no-repeat;
345
+ margin-left: 10px;
346
+ background-image: ${() => `url(${subpositionIconSvg})`};
347
+ }
352
348
 
353
- .arrow-up {
354
- width: 14px;
355
- height: 11px;
356
- background: no-repeat;
357
- background-position: center;
358
- background-image: ${() => `url(${arrowUpRedSvg})`};
349
+ .arrow-down {
350
+ width: 14px;
351
+ height: 11px;
352
+ background: no-repeat;
353
+ background-position: center;
354
+ background-image: ${() => `url(${arrowDownSvg})`};
355
+ }
356
+
357
+ .arrow-up {
358
+ width: 14px;
359
+ height: 11px;
360
+ background: no-repeat;
361
+ background-position: center;
362
+ background-image: ${() => `url(${arrowUpRedSvg})`};
363
+ }
359
364
  }
360
- }
361
365
 
362
- input {
363
- font-size: 13px;
364
- padding: 5px 10px;
365
- background: #fff;
366
- height: unset;
366
+ input {
367
+ font-size: 13px;
368
+ padding: 5px 10px;
369
+ background: #fff;
370
+ height: unset;
367
371
 
368
- &:focus {
369
- background: ${(props) => props.theme.colors.grey5};
372
+ &:focus {
373
+ background: ${(props) => props.theme.colors.grey5};
374
+ }
370
375
  }
371
- }
372
376
 
373
- .open-container {
374
- border: 1px solid ${(props) => props.theme.colors.grey4};
375
- border-radius: 4px;
376
- margin-bottom: 5px;
377
- cursor: auto;
378
- }
379
- `
380
-
381
- export default {
382
- name: 'main-table',
383
- components: {
384
- TableScroll,
385
- TableWrapper,
386
- SpinnerWrapper,
387
- Spinner,
388
- TableContainer,
389
- PageContainer,
390
- TableTitle
391
- },
392
- props: {
393
- fullWidth: {
394
- required: false,
395
- default: true
377
+ .open-container {
378
+ border: 1px solid ${(props) => props.theme.colors.grey4};
379
+ border-radius: 4px;
380
+ margin-bottom: 5px;
381
+ cursor: auto;
382
+ }
383
+ `
384
+
385
+ export default {
386
+ name: 'MainTable',
387
+ components: {
388
+ TableScroll,
389
+ TableWrapper,
390
+ SpinnerWrapper,
391
+ Spinner,
392
+ TableContainer,
393
+ PageContainer,
394
+ TableTitle,
396
395
  },
397
- cellPaddings: {
398
- required: false,
399
- default: ''
396
+ props: {
397
+ fullWidth: {
398
+ required: false,
399
+ default: true,
400
+ },
401
+ cellPaddings: {
402
+ required: false,
403
+ default: '',
404
+ },
405
+ isLoading: {
406
+ required: false,
407
+ default: false,
408
+ },
409
+ titleText: {
410
+ required: false,
411
+ default: null,
412
+ },
413
+ tableCursor: {
414
+ required: false,
415
+ },
400
416
  },
401
- isLoading: {
402
- required: false,
403
- default: false
417
+ data() {
418
+ return {
419
+ tableHeight: 'auto',
420
+ doesTableContainDraggables: false,
421
+ }
404
422
  },
405
- titleText: {
406
- required: false,
407
- default: null
423
+ mounted() {
424
+ this.observeTableHeight()
425
+ },
426
+ beforeDestroy() {
427
+ if (this.resizeObserver) {
428
+ this.resizeObserver.disconnect()
429
+ }
430
+ },
431
+ methods: {
432
+ observeTableHeight() {
433
+ if (!this.$refs.tableRef) return
434
+
435
+ const tableElement = this.$refs.tableRef.$el
436
+
437
+ this.resizeObserver = new ResizeObserver(() => {
438
+ const newTableHeight = this.titleText
439
+ ? tableElement.offsetHeight + 33
440
+ : tableElement.offsetHeight
441
+ this.tableHeight = `${newTableHeight}px`
442
+ this.doesTableContainDraggables = Boolean(
443
+ tableElement.querySelector('.drag-container')
444
+ )
445
+ })
446
+
447
+ this.resizeObserver.observe(tableElement)
448
+ },
408
449
  },
409
- tableCursor: {
410
- required: false
411
- }
412
- },
413
- data() {
414
- return {
415
- tableHeight: 'auto',
416
- doesTableContainDraggables: false
417
- }
418
- },
419
- mounted() {
420
- this.observeTableHeight()
421
- },
422
- beforeDestroy() {
423
- if (this.resizeObserver) {
424
- this.resizeObserver.disconnect()
425
- }
426
- },
427
- methods: {
428
- observeTableHeight() {
429
- if (!this.$refs.tableRef) return
430
-
431
- const tableElement = this.$refs.tableRef.$el
432
-
433
- this.resizeObserver = new ResizeObserver(() => {
434
- const newTableHeight = this.titleText
435
- ? tableElement.offsetHeight + 33
436
- : tableElement.offsetHeight
437
- this.tableHeight = `${newTableHeight}px`
438
- this.doesTableContainDraggables = Boolean(
439
- tableElement.querySelector('.drag-container')
440
- )
441
- })
442
-
443
- this.resizeObserver.observe(tableElement)
444
- }
445
450
  }
446
- }
447
451
  </script>