@eturnity/eturnity_reusable_components 7.18.0-qa-dev03.0 → 7.20.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 (54) 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/assets/svgIcons/split.svg +88 -6
  5. package/src/components/addNewButton/index.vue +5 -3
  6. package/src/components/buttons/buttonIcon/index.vue +1 -1
  7. package/src/components/buttons/closeButton/index.vue +1 -1
  8. package/src/components/buttons/mainButton/index.vue +6 -1
  9. package/src/components/card/index.vue +25 -24
  10. package/src/components/deleteIcon/DeleteIcon.stories.js +7 -7
  11. package/src/components/deleteIcon/index.vue +47 -30
  12. package/src/components/draggableInputHandle/index.vue +24 -25
  13. package/src/components/dropdown/index.vue +129 -110
  14. package/src/components/errorMessage/index.vue +10 -5
  15. package/src/components/filter/filterSettings.vue +59 -97
  16. package/src/components/filter/index.vue +3 -3
  17. package/src/components/filter/parentDropdown.vue +2 -2
  18. package/src/components/icon/iconCache.js +23 -0
  19. package/src/components/icon/iconCollection.vue +2 -2
  20. package/src/components/icon/index.vue +67 -75
  21. package/src/components/iconWrapper/index.vue +1 -4
  22. package/src/components/infoCard/index.vue +2 -3
  23. package/src/components/infoText/index.vue +1 -1
  24. package/src/components/inputs/checkbox/index.vue +21 -6
  25. package/src/components/inputs/inputNumber/index.vue +10 -10
  26. package/src/components/inputs/inputNumberQuestion/index.vue +1 -1
  27. package/src/components/inputs/inputText/index.vue +3 -3
  28. package/src/components/inputs/radioButton/index.vue +1 -1
  29. package/src/components/inputs/searchInput/index.vue +28 -11
  30. package/src/components/inputs/select/index.vue +244 -57
  31. package/src/components/inputs/select/option/index.vue +43 -12
  32. package/src/components/inputs/slider/index.vue +16 -16
  33. package/src/components/inputs/switchField/index.vue +2 -2
  34. package/src/components/inputs/textAreaInput/index.vue +1 -1
  35. package/src/components/inputs/toggle/index.vue +2 -2
  36. package/src/components/label/index.vue +27 -31
  37. package/src/components/modals/modal/index.vue +2 -6
  38. package/src/components/navigationTabs/index.vue +27 -20
  39. package/src/components/pageSubtitle/index.vue +1 -1
  40. package/src/components/pageTitle/index.vue +4 -4
  41. package/src/components/pagination/index.vue +3 -3
  42. package/src/components/progressBar/index.vue +1 -1
  43. package/src/components/projectMarker/index.vue +16 -9
  44. package/src/components/sideMenu/index.vue +1 -1
  45. package/src/components/spinner/index.vue +7 -11
  46. package/src/components/tableDropdown/index.vue +35 -45
  47. package/src/components/tables/mainTable/exampleNested.vue +1 -1
  48. package/src/components/tables/mainTable/index.vue +10 -9
  49. package/src/components/tables/viewTable/index.vue +2 -2
  50. package/src/components/threeDots/index.vue +1 -1
  51. package/src/components/videoThumbnail/index.vue +95 -100
  52. package/src/main.js +4 -11
  53. package/src/assets/svgIcons/anchor.svg +0 -18
  54. package/src/assets/svgIcons/flatten_roof.svg +0 -20
@@ -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``
@@ -51,7 +51,7 @@
51
51
  // :isDisabled="true"
52
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,12 +70,12 @@
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
 
77
77
  const paginationWrapper = styled.nav`
78
- color: ${(props) => props.theme.brightBlue};
78
+ color: ${(props) => props.theme.colors.brightBlue};
79
79
  font-size: 13px;
80
80
  display: flex;
81
81
  flex-wrap: wrap;
@@ -95,7 +95,7 @@ const paginationLink = styled.div`
95
95
 
96
96
  &.active {
97
97
  color: #fff;
98
- background-color: ${(props) => props.theme.brightBlue};
98
+ background-color: ${(props) => props.theme.colors.brightBlue};
99
99
  padding: 7px 12px;
100
100
  border-radius: 4px;
101
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;
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <page-container>
3
3
  <marker-container
4
- v-if="markerData"
4
+ v-if="markerData && markerData.translations[activeLanguage]"
5
5
  :hasBorderRadius="hasBorderRadius"
6
6
  :withDate="!!date"
7
7
  :backgroundColor="markerData.color"
@@ -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"
@@ -18,7 +18,11 @@
18
18
  size="10px"
19
19
  :cursor="cursor"
20
20
  />
21
- <span>{{ markerData.translations[activeLanguage].name }}</span>
21
+ <span>{{
22
+ markerData.translations[activeLanguage]
23
+ ? markerData.translations[activeLanguage].name
24
+ : '-'
25
+ }}</span>
22
26
  <dot-wrapper v-if="editionAllowed" class="dotContainer">
23
27
  <dot-icon />
24
28
  <dot-icon />
@@ -28,11 +32,11 @@
28
32
  v-if="activated"
29
33
  v-click-outside="clickOutsideActionHandler"
30
34
  >
31
- <edit-item @click.native="deleteModalOpened = !deleteModalOpened">
35
+ <edit-item @click="deleteModalOpened = !deleteModalOpened">
32
36
  <delete-icon />
33
37
  <div>{{ $gettext('Delete') }}</div>
34
38
  </edit-item>
35
- <edit-item @click.native="onEditClick">
39
+ <edit-item @click="onEditClick">
36
40
  <icon-container>
37
41
  <icon name="edit_button" size="14px" />
38
42
  </icon-container>
@@ -52,10 +56,10 @@
52
56
  <page-title :text="$gettext('delete_confirm_text')" />
53
57
  <page-subtitle :text="$gettext('delete_confirm_subtext')" />
54
58
  <cta-container>
55
- <main-button @click.native="onDelete" :text="$gettext('Delete')" />
59
+ <main-button @click="onDelete" :text="$gettext('Delete')" />
56
60
  <main-button
57
61
  type="cancel"
58
- @click.native="closeDeleteModal"
62
+ @click="closeDeleteModal"
59
63
  :text="$gettext('Cancel')"
60
64
  />
61
65
  </cta-container>
@@ -78,7 +82,8 @@
78
82
  // @deleteHandler="onMarkerDelete($event)"
79
83
  // />
80
84
 
81
- import styled from 'vue-styled-components'
85
+ import styled from 'vue3-styled-components'
86
+ import vClickOutside from 'click-outside-vue3'
82
87
  import Icon from '../icon'
83
88
  import Modal from '../modals/modal'
84
89
  import PageTitle from '../pageTitle'
@@ -129,7 +134,6 @@ const MarkerContainer = styled('div', MarkerAttrs)`
129
134
  props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
130
135
  border-radius: ${(props) =>
131
136
  props.hasBorderRadius ? (props.withDate ? '4px 0 0 4px' : '4px') : '0'};
132
-
133
137
  white-space: nowrap;
134
138
  cursor: ${(props) => (props.isEditionAllowed ? 'pointer' : props.cursor)};
135
139
 
@@ -196,6 +200,9 @@ const Date = styled.div`
196
200
 
197
201
  export default {
198
202
  name: 'project-marker',
203
+ directives: {
204
+ clickOutside: vClickOutside.directive
205
+ },
199
206
  components: {
200
207
  PageContainer,
201
208
  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,8 +38,9 @@ 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')};
43
+ height: auto;
48
44
  `
49
45
 
50
46
  export default {
@@ -69,4 +65,4 @@ export default {
69
65
  }
70
66
  }
71
67
  }
72
- </script>
68
+ </script>