@eturnity/eturnity_reusable_components 7.12.7--EPDM-5518.2 → 7.12.7-EPDM-7951.0

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 (52) hide show
  1. package/.storybook/preview.js +1 -1
  2. package/package.json +19 -23
  3. package/src/App.vue +2 -2
  4. package/src/components/addNewButton/index.vue +5 -3
  5. package/src/components/buttons/buttonIcon/index.vue +1 -1
  6. package/src/components/buttons/closeButton/index.vue +1 -1
  7. package/src/components/buttons/mainButton/index.vue +6 -1
  8. package/src/components/deleteIcon/DeleteIcon.stories.js +7 -7
  9. package/src/components/deleteIcon/index.vue +25 -21
  10. package/src/components/draggableInputHandle/index.vue +24 -25
  11. package/src/components/dropdown/index.vue +129 -110
  12. package/src/components/errorMessage/index.vue +1 -1
  13. package/src/components/filter/filterSettings.vue +54 -113
  14. package/src/components/filter/index.vue +3 -3
  15. package/src/components/filter/parentDropdown.vue +2 -2
  16. package/src/components/icon/iconCache.js +23 -0
  17. package/src/components/icon/iconCollection.vue +2 -2
  18. package/src/components/icon/index.vue +67 -70
  19. package/src/components/iconWrapper/index.vue +1 -4
  20. package/src/components/infoCard/index.vue +2 -3
  21. package/src/components/infoText/index.vue +1 -1
  22. package/src/components/inputs/checkbox/index.vue +24 -16
  23. package/src/components/inputs/inputNumber/index.vue +7 -10
  24. package/src/components/inputs/inputNumberQuestion/index.vue +1 -1
  25. package/src/components/inputs/inputText/index.vue +4 -4
  26. package/src/components/inputs/radioButton/index.vue +1 -1
  27. package/src/components/inputs/searchInput/index.vue +7 -8
  28. package/src/components/inputs/select/index.vue +208 -66
  29. package/src/components/inputs/select/option/index.vue +5 -5
  30. package/src/components/inputs/slider/index.vue +16 -16
  31. package/src/components/inputs/switchField/index.vue +2 -2
  32. package/src/components/inputs/textAreaInput/index.vue +2 -2
  33. package/src/components/inputs/toggle/index.vue +2 -2
  34. package/src/components/label/index.vue +27 -31
  35. package/src/components/modals/modal/index.vue +2 -6
  36. package/src/components/navigationTabs/index.vue +27 -20
  37. package/src/components/pageSubtitle/index.vue +1 -1
  38. package/src/components/pageTitle/index.vue +4 -4
  39. package/src/components/pagination/index.vue +5 -3
  40. package/src/components/progressBar/index.vue +1 -1
  41. package/src/components/projectMarker/index.vue +11 -8
  42. package/src/components/sideMenu/index.vue +1 -1
  43. package/src/components/spinner/index.vue +6 -11
  44. package/src/components/tableDropdown/index.vue +21 -26
  45. package/src/components/tables/mainTable/exampleNested.vue +1 -1
  46. package/src/components/tables/mainTable/index.vue +10 -9
  47. package/src/components/tables/viewTable/index.vue +2 -2
  48. package/src/components/threeDots/index.vue +1 -1
  49. package/src/components/videoThumbnail/index.vue +95 -100
  50. package/src/main.js +4 -11
  51. package/src/components/markerItem/index.vue +0 -96
  52. package/src/components/selectedOptions/index.vue +0 -145
@@ -21,8 +21,8 @@
21
21
  // :minValue="10" //default is 0 if not specified
22
22
  // :maxValue="500" //default is 100 if not specified
23
23
  // />
24
- import Slider from "@vueform/slider/dist/slider.vue2.js"
25
- import styled from "vue-styled-components"
24
+ import Slider from '@vueform/slider'
25
+ import styled from 'vue3-styled-components'
26
26
 
27
27
  const Container = styled.div`
28
28
  margin: 16px 0 16px 21px;
@@ -81,45 +81,45 @@ const NumberText = styled.div`
81
81
  `
82
82
 
83
83
  export default {
84
- name: "slider",
84
+ name: 'slider',
85
85
  components: {
86
86
  Slider,
87
87
  Container,
88
- NumberText,
88
+ NumberText
89
89
  },
90
90
  props: {
91
91
  value: {
92
92
  required: false,
93
- default: 0,
93
+ default: 0
94
94
  },
95
95
  unit: {
96
96
  required: false,
97
- default: "",
97
+ default: ''
98
98
  },
99
99
  minValue: {
100
100
  required: false,
101
- default: 0,
101
+ default: 0
102
102
  },
103
103
  maxValue: {
104
104
  required: false,
105
- default: 100,
106
- },
105
+ default: 100
106
+ }
107
107
  },
108
108
  methods: {
109
109
  onChange(value) {
110
- this.$emit("change", value)
111
- },
110
+ this.$emit('change', value)
111
+ }
112
112
  },
113
113
  mounted() {
114
114
  // This is to add the 3 white lines to the slider button
115
- let slider = document.querySelector(".slider-touch-area")
116
- let span1 = document.createElement("span")
117
- let span2 = document.createElement("span")
118
- let span3 = document.createElement("span")
115
+ let slider = document.querySelector('.slider-touch-area')
116
+ let span1 = document.createElement('span')
117
+ let span2 = document.createElement('span')
118
+ let span3 = document.createElement('span')
119
119
  slider.appendChild(span1)
120
120
  slider.appendChild(span2)
121
121
  slider.appendChild(span3)
122
- },
122
+ }
123
123
  }
124
124
  </script>
125
125
 
@@ -45,7 +45,7 @@
45
45
  >
46
46
  <label-text :size="size" :fontColor="fontColor">{{ label }}</label-text>
47
47
  <info-text
48
- @click.native.stop
48
+ @click.stop
49
49
  v-if="infoTextMessage"
50
50
  :text="infoTextMessage"
51
51
  />
@@ -70,7 +70,7 @@
70
70
  // :disabled="false"
71
71
  // />
72
72
 
73
- import styled from 'vue-styled-components'
73
+ import styled from 'vue3-styled-components'
74
74
  import InfoText from '../../infoText'
75
75
  import theme from '../../../assets/theme'
76
76
  const Container = styled.div``
@@ -49,9 +49,9 @@
49
49
  // label="Question 5"
50
50
  // alignItems="horizontal" // horizontal, vertical
51
51
  // :isDisabled="true"
52
- // fontSize="13px"
52
+ // . fontSize="13px"
53
53
  // />
54
- import styled from 'vue-styled-components'
54
+ import styled from 'vue3-styled-components'
55
55
  import InfoText from '../../infoText'
56
56
  import ErrorMessage from '../../errorMessage'
57
57
 
@@ -44,7 +44,7 @@
44
44
  >
45
45
  <label-text :size="size" :fontColor="fontColor">{{ label }}</label-text>
46
46
  <info-text
47
- @click.native.stop
47
+ @click.stop
48
48
  v-if="infoTextMessage"
49
49
  :text="infoTextMessage"
50
50
  />
@@ -70,7 +70,7 @@
70
70
  // data-id="test_data_id"
71
71
  // />
72
72
 
73
- import styled from 'vue-styled-components'
73
+ import styled from 'vue3-styled-components'
74
74
  import InfoText from '../../infoText'
75
75
 
76
76
  const Container = styled.div`
@@ -1,29 +1,25 @@
1
1
  <template>
2
- <label-wrapper
3
- :labelAlign="labelAlign">
4
- <input-label
5
- :labelFontColor="labelFontColor"
6
- :fontSize="fontSize"
7
- >
8
- <slot></slot>
9
- <optionalLabel v-if="labelOptional"
10
- >({{ $gettext('Optional') }})</optionalLabel
11
- ></input-label
12
- >
13
- <info-text
14
- v-if="infoTextMessage"
15
- :text="infoTextMessage"
16
- :size="fontSize ? fontSize : '16px'"
17
- :alignArrow="infoTextAlign"
18
- />
19
- </label-wrapper>
2
+ <label-wrapper :labelAlign="labelAlign">
3
+ <input-label :labelFontColor="labelFontColor" :fontSize="fontSize">
4
+ <slot></slot>
5
+ <optionalLabel v-if="labelOptional"
6
+ >({{ $gettext('Optional') }})</optionalLabel
7
+ ></input-label
8
+ >
9
+ <info-text
10
+ v-if="infoTextMessage"
11
+ :text="infoTextMessage"
12
+ borderColor="#ccc"
13
+ :size="fontSize ? fontSize : '16px'"
14
+ :alignArrow="infoTextAlign"
15
+ />
16
+ </label-wrapper>
20
17
  </template>
21
18
 
22
19
  <script>
23
- import styled from 'vue-styled-components'
20
+ import styled from 'vue3-styled-components'
24
21
  import InfoText from '../infoText'
25
22
 
26
-
27
23
  const labelAttrs = { fontSize: String, labelFontColor: String }
28
24
  const InputLabel = styled('div', labelAttrs)`
29
25
  color: ${(props) =>
@@ -40,15 +36,15 @@ const optionalLabel = styled.span`
40
36
  font-weight: 300;
41
37
  `
42
38
 
43
- const LabelWrapper = styled('div',{labelAlign:String})`
44
- ${props=>props.labelAlign=='horizontal'?
45
- 'display: inline-grid;':
46
- 'display: grid;'
47
- }
48
- ${props=>props.labelAlign=='horizontal'?
49
- 'margin-right: 10px;':
50
- 'margin-bottom: 8px;'
51
- }
39
+ const LabelWrapper = styled('div', { labelAlign: String })`
40
+ ${(props) =>
41
+ props.labelAlign == 'horizontal'
42
+ ? 'display: inline-grid;'
43
+ : 'display: grid;'}
44
+ ${(props) =>
45
+ props.labelAlign == 'horizontal'
46
+ ? 'margin-right: 10px;'
47
+ : 'margin-bottom: 8px;'}
52
48
  vertical-align: center;
53
49
  grid-template-columns: auto auto;
54
50
  grid-gap: 12px;
@@ -97,7 +93,7 @@ export default {
97
93
  labelAlign: {
98
94
  required: false,
99
95
  default: 'vertical'
100
- },
101
- },
96
+ }
97
+ }
102
98
  }
103
99
  </script>
@@ -10,11 +10,7 @@
10
10
  <content-container :visible="!isLoading">
11
11
  <slot />
12
12
  </content-container>
13
- <close-button
14
- v-if="!hideClose"
15
- @click.native="onCloseModal()"
16
- class="close"
17
- />
13
+ <close-button v-if="!hideClose" @click="onCloseModal()" class="close" />
18
14
  </modal-container>
19
15
  </page-wrapper>
20
16
  </template>
@@ -30,7 +26,7 @@
30
26
  // <div>Data....</div>
31
27
  // </modal>
32
28
 
33
- import styled from 'vue-styled-components'
29
+ import styled from 'vue3-styled-components'
34
30
  import CloseButton from '../../buttons/closeButton'
35
31
  import Spinner from '../../spinner'
36
32
 
@@ -22,7 +22,7 @@
22
22
  </template>
23
23
 
24
24
  <script>
25
- import styled from 'vue-styled-components'
25
+ import styled from 'vue3-styled-components'
26
26
  import InfoText from '../infoText'
27
27
  const TabAttr = {
28
28
  active: Boolean,
@@ -31,12 +31,12 @@ const TabAttr = {
31
31
  }
32
32
 
33
33
  const bottomLine = styled('div')`
34
- position: absolute;
35
- bottom: 0;
36
- left: 0;
37
- height: 1px;
38
- width: 100%;
39
- background-color: #b2b9c5;
34
+ position: absolute;
35
+ bottom: 0;
36
+ left: 0;
37
+ height: 1px;
38
+ width: 100%;
39
+ background-color: ${(props) => props.theme.colors.grey3};
40
40
  `
41
41
  const roofTabWrap = styled('div')`
42
42
  display: flex;
@@ -48,17 +48,22 @@ const roofTabWrap = styled('div')`
48
48
  const Uppercase = styled('span')`
49
49
  text-transform: uppercase;
50
50
  `
51
- const Option = styled('div',TabAttr)`
52
- font-size: 13px;
53
- font-weight: 700;
54
- display:flex;
55
- justify-content: center;
56
- flex-direction: row;
57
- gap: 10px;
58
- color: ${props=>props.textColor ?
59
- props.theme.colors[props.textColor] ? props.theme.colors[props.textColor] : props.textColor :
60
- props.isDisabled ? props.theme.colors.grey2 : props.theme.colors.black};
61
- `
51
+ const Option = styled('div', TabAttr)`
52
+ font-size: 13px;
53
+ font-weight: 700;
54
+ display: flex;
55
+ justify-content: center;
56
+ flex-direction: row;
57
+ gap: 10px;
58
+ color: ${(props) =>
59
+ props.textColor
60
+ ? props.theme.colors[props.textColor]
61
+ ? props.theme.colors[props.textColor]
62
+ : props.textColor
63
+ : props.isDisabled
64
+ ? props.theme.colors.grey2
65
+ : props.theme.colors.black};
66
+ `
62
67
  const Tab = styled('div', TabAttr)`
63
68
  padding: 16px 10px;
64
69
  margin-right: 5px;
@@ -67,7 +72,8 @@ const Tab = styled('div', TabAttr)`
67
72
  z-index: 10;
68
73
  border-bottom: 2px solid
69
74
  ${(props) => (props.active ? props.theme.colors.primary : 'transparent')};
70
- background-color: ${(props) => (props.isDisabled ? props.theme.colors.grey5 : 'transparent')};
75
+ background-color: ${(props) =>
76
+ props.isDisabled ? props.theme.colors.grey5 : 'transparent'};
71
77
  transition: 0.2s ease;
72
78
  cursor: ${(props) => (props.isDisabled ? 'not-allowed' : 'pointer')};
73
79
  min-width: 140px;
@@ -76,7 +82,8 @@ const Tab = styled('div', TabAttr)`
76
82
  justify-content: space-between;
77
83
  min-height: 55px;
78
84
  &:hover {
79
- border-color: ${(props) => props.isDisabled ? props.theme.colors.grey2 : props.theme.colors.primary};
85
+ border-color: ${(props) =>
86
+ props.isDisabled ? props.theme.colors.grey2 : props.theme.colors.primary};
80
87
  }
81
88
  `
82
89
 
@@ -18,7 +18,7 @@
18
18
  // color="red"
19
19
  // infoText="My info text"
20
20
  // />
21
- import styled from "vue-styled-components"
21
+ import styled from "vue3-styled-components"
22
22
  import InfoText from "../infoText"
23
23
 
24
24
  const textAttrs = { color: String, hasInfoText: Boolean, marginBottom: String }
@@ -18,7 +18,7 @@
18
18
  // text="My Page Title"
19
19
  // color="red"
20
20
  // />
21
- import styled from "vue-styled-components"
21
+ import styled from "vue3-styled-components"
22
22
  import InfoText from "../infoText"
23
23
 
24
24
  const wrapAttrs = { hasInfoText: Boolean }
@@ -40,7 +40,7 @@ const TitleText = styled('span', titleAttrs)`
40
40
  `
41
41
 
42
42
  export default {
43
- name: "page-title",
43
+ name: 'page-title',
44
44
  components: {
45
45
  TitleText,
46
46
  TitleWrap,
@@ -48,10 +48,10 @@ export default {
48
48
  },
49
49
  props: {
50
50
  text: {
51
- required: true,
51
+ required: true
52
52
  },
53
53
  color: {
54
- required: false,
54
+ required: false
55
55
  },
56
56
  fontSize: {
57
57
  required: false,
@@ -70,7 +70,7 @@
70
70
  </template>
71
71
 
72
72
  <script>
73
- import styled from 'vue-styled-components'
73
+ import styled from 'vue3-styled-components'
74
74
  import icon from '../icon'
75
75
  import theme from '@/assets/theme.js'
76
76
 
@@ -81,6 +81,8 @@ const paginationWrapper = styled.nav`
81
81
  flex-wrap: wrap;
82
82
  justify-content: flex-end;
83
83
  align-items: center;
84
+ margin-bottom: 2px;
85
+ margin-top: 10px;
84
86
  `
85
87
  const paginationLink = styled.div`
86
88
  display: flex;
@@ -92,8 +94,8 @@ const paginationLink = styled.div`
92
94
  cursor: pointer;
93
95
 
94
96
  &.active {
95
- color: ${(props) => props.theme.colors.white};
96
- background-color: ${(props) => props.theme.colors.brightBlue};
97
+ color: #fff;
98
+ background-color: ${(props) => props.theme.brightBlue};
97
99
  padding: 7px 12px;
98
100
  border-radius: 4px;
99
101
  }
@@ -31,7 +31,7 @@
31
31
  // stepNumber="4"
32
32
  // :labelText="translate('step')"
33
33
  // />
34
- import styled from "vue-styled-components"
34
+ import styled from "vue3-styled-components"
35
35
 
36
36
  const Container = styled.div`
37
37
  display: grid;
@@ -9,7 +9,7 @@
9
9
  :isEditionAllowed="editionAllowed"
10
10
  :isActive="activated"
11
11
  :cursor="cursor"
12
- @click.native="editionAllowed ? (activated = !activated) : ''"
12
+ @click="editionAllowed ? (activated = !activated) : ''"
13
13
  >
14
14
  <icon
15
15
  v-if="!!iconName"
@@ -28,11 +28,11 @@
28
28
  v-if="activated"
29
29
  v-click-outside="clickOutsideActionHandler"
30
30
  >
31
- <edit-item @click.native="deleteModalOpened = !deleteModalOpened">
31
+ <edit-item @click="deleteModalOpened = !deleteModalOpened">
32
32
  <delete-icon />
33
33
  <div>{{ $gettext('Delete') }}</div>
34
34
  </edit-item>
35
- <edit-item @click.native="onEditClick">
35
+ <edit-item @click="onEditClick">
36
36
  <icon-container>
37
37
  <icon name="edit_button" size="14px" />
38
38
  </icon-container>
@@ -52,10 +52,10 @@
52
52
  <page-title :text="$gettext('delete_confirm_text')" />
53
53
  <page-subtitle :text="$gettext('delete_confirm_subtext')" />
54
54
  <cta-container>
55
- <main-button @click.native="onDelete" :text="$gettext('Delete')" />
55
+ <main-button @click="onDelete" :text="$gettext('Delete')" />
56
56
  <main-button
57
57
  type="cancel"
58
- @click.native="closeDeleteModal"
58
+ @click="closeDeleteModal"
59
59
  :text="$gettext('Cancel')"
60
60
  />
61
61
  </cta-container>
@@ -65,7 +65,7 @@
65
65
  </template>
66
66
 
67
67
  <script>
68
- // import ProjectMarker from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
68
+ // import ThreeDots from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
69
69
  // To use:
70
70
  // <project-marker
71
71
  // :activeLanguage="'en-us'"
@@ -78,7 +78,8 @@
78
78
  // @deleteHandler="onMarkerDelete($event)"
79
79
  // />
80
80
 
81
- import styled from 'vue-styled-components'
81
+ import styled from 'vue3-styled-components'
82
+ import vClickOutside from 'click-outside-vue3'
82
83
  import Icon from '../icon'
83
84
  import Modal from '../modals/modal'
84
85
  import PageTitle from '../pageTitle'
@@ -129,7 +130,6 @@ const MarkerContainer = styled('div', MarkerAttrs)`
129
130
  props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
130
131
  border-radius: ${(props) =>
131
132
  props.hasBorderRadius ? (props.withDate ? '4px 0 0 4px' : '4px') : '0'};
132
-
133
133
  white-space: nowrap;
134
134
  cursor: ${(props) => (props.isEditionAllowed ? 'pointer' : props.cursor)};
135
135
 
@@ -196,6 +196,9 @@ const Date = styled.div`
196
196
 
197
197
  export default {
198
198
  name: 'project-marker',
199
+ directives: {
200
+ clickOutside: vClickOutside.directive
201
+ },
199
202
  components: {
200
203
  PageContainer,
201
204
  MarkerContainer,
@@ -78,7 +78,7 @@
78
78
  </template>
79
79
 
80
80
  <script>
81
- import styled from 'vue-styled-components'
81
+ import styled from 'vue3-styled-components'
82
82
  import Icon from '../icon'
83
83
  import Spinner from '../spinner'
84
84
 
@@ -1,24 +1,19 @@
1
1
  <template>
2
2
  <spinner-container v-if="fullWidth">
3
3
  <container>
4
- <spinner-wrapper
5
- :size="size"
6
- :src="require('../../assets/icons/black_spinner.svg')"
7
- />
4
+ <spinner-wrapper :size="size" />
8
5
  </container>
9
6
  </spinner-container>
10
7
  <container v-else :limitedToModal="limitedToModal">
11
- <spinner-wrapper
12
- :size="size"
13
- :src="require('../../assets/icons/black_spinner.svg')"
14
- />
8
+ <spinner-wrapper :size="size" />
15
9
  </container>
16
10
  </template>
17
11
 
18
12
  <script>
19
13
  // import Spinner from "@eturnity/eturnity_reusable_components/src/components/spinner"
20
14
  // <spinner size="30px" />
21
- import styled from 'vue-styled-components'
15
+ import styled from 'vue3-styled-components'
16
+ import SpinnerSvg from '../../assets/icons/black_spinner.svg?component'
22
17
 
23
18
  const SpinnerContainer = styled.div`
24
19
  position: fixed;
@@ -43,7 +38,7 @@ const Container = styled('div', containerAttrs)`
43
38
  `
44
39
 
45
40
  const spinnerAttrs = { size: String }
46
- const SpinnerWrapper = styled('img', spinnerAttrs)`
41
+ const SpinnerWrapper = styled(SpinnerSvg, spinnerAttrs)`
47
42
  width: ${(props) => (props.size ? props.size : '60px')};
48
43
  `
49
44
 
@@ -69,4 +64,4 @@ export default {
69
64
  }
70
65
  }
71
66
  }
72
- </script>
67
+ </script>
@@ -53,7 +53,7 @@
53
53
  </no-template>
54
54
  <input-container
55
55
  v-if="item.type === 'input'"
56
- @click.native.stop="onInputClick()"
56
+ @click.stop="onInputClick()"
57
57
  >
58
58
  <text-container
59
59
  v-if="customInputDisabled"
@@ -93,16 +93,11 @@
93
93
  triggerType="hover"
94
94
  ></et-popover>
95
95
  <arrow-down
96
- @click.native.stop="toggleOpen"
96
+ @click.stop="toggleOpen"
97
97
  v-if="!isOpen"
98
98
  class="arrow-dropdown"
99
- :src="require('../../assets/icons/collapse_arrow_icon.svg')"
100
- />
101
- <arrow-up
102
- @click.native.stop="toggleOpen"
103
- v-else
104
- :src="require('../../assets/icons/collapse_arrow_icon.svg')"
105
99
  />
100
+ <arrow-up @click.stop="toggleOpen" v-else />
106
101
  </arrow-wrapper>
107
102
  <options-container v-if="isOpen" ref="optionsContainer">
108
103
  <options-wrapper @click.prevent.stop>
@@ -127,20 +122,18 @@
127
122
  :key="index"
128
123
  @click="onItemClick(item)"
129
124
  :tabindex="0"
130
- @keyup.enter.native="onItemClick(item)"
125
+ @keyup.enter="onItemClick(item)"
131
126
  >
132
- <template v-for="(option, idx) in optionsDisplay">
133
- <span v-if="option !== 'template'" :key="idx">
127
+ <template v-for="(option, idx) in optionsDisplay" :key="idx">
128
+ <span v-if="option !== 'template'">
134
129
  {{ !!item[option] ? item[option] : '-' }}
135
130
  </span>
136
131
  <template-button
137
- :key="idx"
138
132
  @click.stop="onTemplateClick(item)"
139
133
  v-else-if="option === 'template' && item.has_template"
140
134
  >{{ $gettext('Use template...') }}</template-button
141
135
  >
142
136
  <no-template
143
- :key="idx"
144
137
  v-else-if="option === 'template' && !item.has_template"
145
138
  >
146
139
  {{ $gettext('No main component template') }}
@@ -183,10 +176,12 @@
183
176
  // :optionsDisplay="['display_name', 'company_item_number']" // Array. what should be displayed
184
177
  // :disabled="true"
185
178
  // />
186
- import styled from 'vue-styled-components'
187
- import Spinner from '@eturnity/eturnity_reusable_components/src/components/spinner'
188
- import SearchInput from '@eturnity/eturnity_reusable_components/src/components/inputs/searchInput'
189
- import InputText from '@eturnity/eturnity_reusable_components/src/components/inputs/inputText'
179
+ import styled from 'vue3-styled-components'
180
+ import Spinner from '../spinner'
181
+ import SearchInput from '../inputs/searchInput'
182
+ import InputText from '../inputs/inputText'
183
+ import CollapseArrowIcon from '../../assets/icons/collapse_arrow_icon.svg'
184
+ import SubpositionMarkerIcon from '../../assets/icons/subposition_marker.svg'
190
185
 
191
186
  const rowAttrs = { disabled: Boolean, isOpen: Boolean }
192
187
  const DropdownRow = styled('div', rowAttrs)`
@@ -237,9 +232,8 @@ const ComponentContainer = styled('div', containerAttrs)`
237
232
  padding: 5px 4px;
238
233
  `
239
234
 
240
- const ArrowDown = styled.img`
235
+ const ArrowDown = styled(CollapseArrowIcon)`
241
236
  width: 8px;
242
- transform: rotate(0deg);
243
237
  transition: transform 150ms ease;
244
238
  `
245
239
 
@@ -403,9 +397,7 @@ const TextContainer = styled.div`
403
397
  align-items: center;
404
398
  `
405
399
 
406
- const NestedIcon = styled.div`
407
- background-image: ${() =>
408
- `url(${require('../../assets/icons/subposition_marker.svg')})`};
400
+ const NestedIcon = styled(SubpositionMarkerIcon)`
409
401
  height: 10px;
410
402
  width: 6px;
411
403
  `
@@ -604,7 +596,7 @@ export default {
604
596
  }
605
597
  })
606
598
  })
607
- if (this.dynamicGridWidth.length === this.optionsDisplay.length) {
599
+ if (Array.isArray(this.dynamicGridWidth)) {
608
600
  this.dynamicGridWidth = this.dynamicGridWidth.join(' ')
609
601
  }
610
602
  }
@@ -627,9 +619,12 @@ export default {
627
619
  })
628
620
  }
629
621
  },
630
- optionItems(val) {
631
- if (val && val.length) {
632
- this.setDropdownWidth(val)
622
+ optionItems: {
623
+ immediate: true,
624
+ handler(val) {
625
+ if (val && val.length) {
626
+ this.setDropdownWidth(val)
627
+ }
633
628
  }
634
629
  }
635
630
  }
@@ -161,7 +161,7 @@
161
161
 
162
162
  <script>
163
163
  import draggable from "vuedraggable"
164
- import styled from "vue-styled-components"
164
+ import styled from "vue3-styled-components"
165
165
  import MainTable from "@/components/reusable-components/tables/MainTable"
166
166
  import InputText from "@eturnity/eturnity_reusable_components/src/components/inputs/inputText"
167
167
  import DeleteIcon from "@/components/reusable-components/DeleteIcon"