@eturnity/eturnity_reusable_components 7.30.3-EPDM-10647.0 → 7.30.3-EPDM-10576.2

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 +108 -108
  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 +486 -452
  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 +122 -122
  30. package/src/components/iconWrapper/index.vue +156 -156
  31. package/src/components/infoCard/index.vue +30 -32
  32. package/src/components/infoText/index.vue +142 -137
  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 +696 -701
  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 +222 -219
  42. package/src/components/inputs/searchInput/SearchInput.stories.js +8 -8
  43. package/src/components/inputs/searchInput/index.vue +127 -126
  44. package/src/components/inputs/select/index.vue +792 -792
  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 +417 -400
  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/utils/index.js +0 -12
@@ -1,298 +1,300 @@
1
1
  <template>
2
- <page-container>
3
- <marker-container
2
+ <PageContainer>
3
+ <MarkerContainer
4
4
  v-if="markerData && markerData.translations[activeLanguage]"
5
- :hasBorderRadius="hasBorderRadius"
6
- :withDate="!!date"
7
- :backgroundColor="markerData.color"
8
- :hasIcon="!!iconName"
9
- :isEditionAllowed="editionAllowed"
10
- :isActive="activated"
5
+ :background-color="markerData.color"
11
6
  :cursor="cursor"
7
+ :has-border-radius="hasBorderRadius"
8
+ :has-icon="!!iconName"
9
+ :is-active="activated"
10
+ :is-edition-allowed="editionAllowed"
11
+ :with-date="!!date"
12
12
  @click="editionAllowed ? (activated = !activated) : ''"
13
13
  >
14
- <icon
14
+ <Icon
15
15
  v-if="!!iconName"
16
- :name="iconName"
17
16
  color="white"
18
- size="10px"
19
17
  :cursor="cursor"
18
+ :name="iconName"
19
+ size="10px"
20
20
  />
21
21
  <span>{{
22
22
  markerData.translations[activeLanguage]
23
23
  ? markerData.translations[activeLanguage].name
24
24
  : '-'
25
25
  }}</span>
26
- <dot-wrapper v-if="editionAllowed" class="dotContainer">
27
- <dot-icon />
28
- <dot-icon />
29
- <dot-icon />
30
- </dot-wrapper>
31
- <edit-container
26
+ <DotWrapper v-if="editionAllowed" class="dotContainer">
27
+ <DotIcon />
28
+ <DotIcon />
29
+ <DotIcon />
30
+ </DotWrapper>
31
+ <EditContainer
32
32
  v-if="activated"
33
33
  v-click-outside="clickOutsideActionHandler"
34
34
  >
35
- <edit-item @click="deleteModalOpened = !deleteModalOpened">
36
- <delete-icon />
35
+ <EditItem @click="deleteModalOpened = !deleteModalOpened">
36
+ <DeleteIcon />
37
37
  <div>{{ $gettext('Delete') }}</div>
38
- </edit-item>
39
- <edit-item @click="onEditClick">
40
- <icon-container>
41
- <icon name="edit_button" size="14px" />
42
- </icon-container>
38
+ </EditItem>
39
+ <EditItem @click="onEditClick">
40
+ <IconContainer>
41
+ <Icon name="edit_button" size="14px" />
42
+ </IconContainer>
43
43
  <div>{{ $gettext('Edit') }}</div>
44
- </edit-item>
45
- </edit-container>
46
- </marker-container>
47
- <date v-if="!!date">
44
+ </EditItem>
45
+ </EditContainer>
46
+ </MarkerContainer>
47
+ <Date v-if="!!date">
48
48
  {{ date }}
49
- </date>
50
- <modal
51
- :isOpen="deleteModalOpened"
49
+ </Date>
50
+ <Modal
51
+ :is-open="deleteModalOpened"
52
+ :prevent-outside-close="true"
52
53
  @on-close="closeDeleteModal"
53
- :preventOutsideClose="true"
54
54
  >
55
- <modal-container>
56
- <page-title :text="$gettext('delete_confirm_text')" />
57
- <page-subtitle :text="$gettext('delete_confirm_subtext')" />
58
- <cta-container>
59
- <main-button @click="onDelete" :text="$gettext('Delete')" />
60
- <main-button
55
+ <ModalContainer>
56
+ <PageTitle :text="$gettext('delete_confirm_text')" />
57
+ <PageSubtitle :text="$gettext('delete_confirm_subtext')" />
58
+ <CtaContainer>
59
+ <MainButton :text="$gettext('Delete')" @click="onDelete" />
60
+ <MainButton
61
+ :text="$gettext('Cancel')"
61
62
  type="cancel"
62
63
  @click="closeDeleteModal"
63
- :text="$gettext('Cancel')"
64
64
  />
65
- </cta-container>
66
- </modal-container>
67
- </modal>
68
- </page-container>
65
+ </CtaContainer>
66
+ </ModalContainer>
67
+ </Modal>
68
+ </PageContainer>
69
69
  </template>
70
70
 
71
71
  <script>
72
- // import ProjectMarker from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
73
- // To use:
74
- // <project-marker
75
- // :activeLanguage="'en-us'"
76
- // :markerData="{"choice":"sold","translations":{"en-us":{"name":"Sold"}}","color":"#000"}"
77
- // :isLimitedPartner="false"
78
- // :isGroupSupport="false"
79
- // :isEditable='false'
80
- // :date="'23.07.2022'"
81
- // @editHandler="onMarkerEdit($event)"
82
- // @deleteHandler="onMarkerDelete($event)"
83
- // />
72
+ // import ProjectMarker from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
73
+ // To use:
74
+ // <project-marker
75
+ // :activeLanguage="'en-us'"
76
+ // :markerData="{"choice":"sold","translations":{"en-us":{"name":"Sold"}}","color":"#000"}"
77
+ // :isLimitedPartner="false"
78
+ // :isGroupSupport="false"
79
+ // :isEditable='false'
80
+ // :date="'23.07.2022'"
81
+ // @editHandler="onMarkerEdit($event)"
82
+ // @deleteHandler="onMarkerDelete($event)"
83
+ // />
84
84
 
85
- import styled from 'vue3-styled-components'
86
- import vClickOutside from 'click-outside-vue3'
87
- import Icon from '../icon'
88
- import Modal from '../modals/modal'
89
- import PageTitle from '../pageTitle'
90
- import DeleteIcon from '../deleteIcon'
91
- import PageSubtitle from '../pageSubtitle'
92
- import MainButton from '../buttons/mainButton'
85
+ import styled from 'vue3-styled-components'
86
+ import vClickOutside from 'click-outside-vue3'
87
+ import Icon from '../icon'
88
+ import Modal from '../modals/modal'
89
+ import PageTitle from '../pageTitle'
90
+ import DeleteIcon from '../deleteIcon'
91
+ import PageSubtitle from '../pageSubtitle'
92
+ import MainButton from '../buttons/mainButton'
93
93
 
94
- const PageContainer = styled.div`
95
- display: flex;
96
- align-items: center;
97
- font-size: 12px;
98
- line-height: 14px;
99
- `
94
+ const PageContainer = styled.div`
95
+ display: flex;
96
+ align-items: center;
97
+ font-size: 12px;
98
+ line-height: 14px;
99
+ `
100
100
 
101
- const ModalContainer = styled.div`
102
- padding: 40px;
103
- min-width: 500px;
104
- `
101
+ const ModalContainer = styled.div`
102
+ padding: 40px;
103
+ min-width: 500px;
104
+ `
105
105
 
106
- const CtaContainer = styled.div`
107
- display: flex;
108
- gap: 20px;
109
- margin-top: 30px;
110
- `
106
+ const CtaContainer = styled.div`
107
+ display: flex;
108
+ gap: 20px;
109
+ margin-top: 30px;
110
+ `
111
111
 
112
- const MarkerAttrs = {
113
- hasBorderRadius: Boolean,
114
- backgroundColor: String,
115
- withDate: Boolean,
116
- hasIcon: Boolean,
117
- isEditionAllowed: Boolean,
118
- isActive: Boolean,
119
- cursor: String
120
- }
121
- const MarkerContainer = styled('div', MarkerAttrs)`
122
- display: grid;
123
- grid-template-columns: ${(props) =>
124
- props.hasIcon || props.isEditionAllowed ? 'auto 1fr' : '1fr'};
125
- grid-gap: 5px;
126
- position: relative;
127
- align-items: center;
128
- padding: 2px 7px;
129
- color: ${(props) => props.theme.colors.white};
130
- background-color: ${(props) =>
131
- props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
132
- border: 1px solid
133
- ${(props) =>
134
- props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
135
- border-radius: ${(props) =>
136
- props.hasBorderRadius ? (props.withDate ? '4px 0 0 4px' : '4px') : '0'};
137
- white-space: nowrap;
138
- cursor: ${(props) => (props.isEditionAllowed ? 'pointer' : props.cursor)};
139
-
140
- .dotContainer {
141
- display: ${(props) => (props.isActive ? 'flex' : 'none')};
112
+ const MarkerAttrs = {
113
+ hasBorderRadius: Boolean,
114
+ backgroundColor: String,
115
+ withDate: Boolean,
116
+ hasIcon: Boolean,
117
+ isEditionAllowed: Boolean,
118
+ isActive: Boolean,
119
+ cursor: String,
142
120
  }
121
+ const MarkerContainer = styled('div', MarkerAttrs)`
122
+ display: grid;
123
+ grid-template-columns: ${(props) =>
124
+ props.hasIcon || props.isEditionAllowed ? 'auto 1fr' : '1fr'};
125
+ grid-gap: 5px;
126
+ position: relative;
127
+ align-items: center;
128
+ padding: 2px 7px;
129
+ color: ${(props) => props.theme.colors.white};
130
+ background-color: ${(props) =>
131
+ props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
132
+ border: 1px solid
133
+ ${(props) =>
134
+ props.backgroundColor
135
+ ? props.backgroundColor
136
+ : props.theme.colors.grey3};
137
+ border-radius: ${(props) =>
138
+ props.hasBorderRadius ? (props.withDate ? '4px 0 0 4px' : '4px') : '0'};
139
+ white-space: nowrap;
140
+ cursor: ${(props) => (props.isEditionAllowed ? 'pointer' : props.cursor)};
143
141
 
144
- &:hover {
145
142
  .dotContainer {
146
- display: flex;
143
+ display: ${(props) => (props.isActive ? 'flex' : 'none')};
147
144
  }
148
- }
149
- `
150
145
 
151
- const DotWrapper = styled.div`
152
- display: flex;
153
- gap: 2px;
154
- cursor: pointer;
155
- `
146
+ &:hover {
147
+ .dotContainer {
148
+ display: flex;
149
+ }
150
+ }
151
+ `
152
+
153
+ const DotWrapper = styled.div`
154
+ display: flex;
155
+ gap: 2px;
156
+ cursor: pointer;
157
+ `
156
158
 
157
- const DotIcon = styled.div`
158
- width: 4px;
159
- height: 4px;
160
- border-radius: 100%;
161
- background-color: ${(props) => props.theme.colors.white};
162
- `
159
+ const DotIcon = styled.div`
160
+ width: 4px;
161
+ height: 4px;
162
+ border-radius: 100%;
163
+ background-color: ${(props) => props.theme.colors.white};
164
+ `
163
165
 
164
- const EditContainer = styled.div`
165
- position: absolute;
166
- z-index: 99;
167
- top: 22px;
168
- display: grid;
169
- background-color: ${(props) => props.theme.colors.white};
170
- border: 1px solid ${(props) => props.theme.colors.grey4};
171
- border-radius: 4px;
172
- cursor: pointer;
173
- overflow: hidden;
174
- `
166
+ const EditContainer = styled.div`
167
+ position: absolute;
168
+ z-index: 99;
169
+ top: 22px;
170
+ display: grid;
171
+ background-color: ${(props) => props.theme.colors.white};
172
+ border: 1px solid ${(props) => props.theme.colors.grey4};
173
+ border-radius: 4px;
174
+ cursor: pointer;
175
+ overflow: hidden;
176
+ `
175
177
 
176
- const EditItem = styled.div`
177
- display: flex;
178
- align-items: center;
179
- gap: 12px;
180
- color: ${(props) => props.theme.colors.black};
181
- font-size: 13px;
182
- padding: 4px 18px;
178
+ const EditItem = styled.div`
179
+ display: flex;
180
+ align-items: center;
181
+ gap: 12px;
182
+ color: ${(props) => props.theme.colors.black};
183
+ font-size: 13px;
184
+ padding: 4px 18px;
183
185
 
184
- &:hover {
185
- background-color: ${(props) => props.theme.colors.grey5};
186
- }
187
- `
186
+ &:hover {
187
+ background-color: ${(props) => props.theme.colors.grey5};
188
+ }
189
+ `
188
190
 
189
- const IconContainer = styled.div`
190
- padding: 8px;
191
- line-height: 0;
192
- `
191
+ const IconContainer = styled.div`
192
+ padding: 8px;
193
+ line-height: 0;
194
+ `
193
195
 
194
- const Date = styled.div`
195
- padding: 2px 5px;
196
- border: 1px solid ${(props) => props.theme.colors.grey4};
197
- border-left: none;
198
- border-radius: 0 4px 4px 0;
199
- `
196
+ const Date = styled.div`
197
+ padding: 2px 5px;
198
+ border: 1px solid ${(props) => props.theme.colors.grey4};
199
+ border-left: none;
200
+ border-radius: 0 4px 4px 0;
201
+ `
200
202
 
201
- export default {
202
- name: 'project-marker',
203
- directives: {
204
- clickOutside: vClickOutside.directive
205
- },
206
- components: {
207
- PageContainer,
208
- MarkerContainer,
209
- DotWrapper,
210
- DotIcon,
211
- EditContainer,
212
- EditItem,
213
- DeleteIcon,
214
- IconContainer,
215
- Icon,
216
- Modal,
217
- ModalContainer,
218
- CtaContainer,
219
- PageTitle,
220
- PageSubtitle,
221
- MainButton,
222
- Date
223
- },
224
- props: {
225
- markerData: {
226
- required: true
227
- },
228
- activeLanguage: {
229
- required: true
230
- },
231
- date: {
232
- required: false,
233
- default: null
234
- },
235
- isEditable: {
236
- required: false,
237
- default: false
203
+ export default {
204
+ name: 'ProjectMarker',
205
+ directives: {
206
+ clickOutside: vClickOutside.directive,
238
207
  },
239
- isGroupSupport: {
240
- required: false,
241
- default: false
208
+ components: {
209
+ PageContainer,
210
+ MarkerContainer,
211
+ DotWrapper,
212
+ DotIcon,
213
+ EditContainer,
214
+ EditItem,
215
+ DeleteIcon,
216
+ IconContainer,
217
+ Icon,
218
+ Modal,
219
+ ModalContainer,
220
+ CtaContainer,
221
+ PageTitle,
222
+ PageSubtitle,
223
+ MainButton,
224
+ Date,
242
225
  },
243
- isLimitedPartner: {
244
- required: false,
245
- default: false
226
+ props: {
227
+ markerData: {
228
+ required: true,
229
+ },
230
+ activeLanguage: {
231
+ required: true,
232
+ },
233
+ date: {
234
+ required: false,
235
+ default: null,
236
+ },
237
+ isEditable: {
238
+ required: false,
239
+ default: false,
240
+ },
241
+ isGroupSupport: {
242
+ required: false,
243
+ default: false,
244
+ },
245
+ isLimitedPartner: {
246
+ required: false,
247
+ default: false,
248
+ },
249
+ cursor: {
250
+ required: false,
251
+ default: 'default',
252
+ },
253
+ hasBorderRadius: {
254
+ required: false,
255
+ default: true,
256
+ },
246
257
  },
247
- cursor: {
248
- required: false,
249
- default: 'default'
250
- },
251
- hasBorderRadius: {
252
- required: false,
253
- default: true
254
- }
255
- },
256
- data() {
257
- return {
258
- activated: false,
259
- deleteModalOpened: false
260
- }
261
- },
262
- computed: {
263
- editionAllowed() {
264
- return (
265
- this.markerData.can_be_deleted &&
266
- (!this.isLimitedPartner || this.isGroupSupport) &&
267
- this.isEditable
268
- )
269
- },
270
- iconName() {
271
- if (this.markerData.choice === 'sold') {
272
- return 'all_good'
273
- } else if (this.markerData.choice === 'lost') {
274
- return 'cross'
275
- } else if (this.markerData.choice === 'transferred') {
276
- return 'transfer'
277
- } else {
278
- return ''
258
+ data() {
259
+ return {
260
+ activated: false,
261
+ deleteModalOpened: false,
279
262
  }
280
- }
281
- },
282
- methods: {
283
- clickOutsideActionHandler() {
284
- this.activated = false
285
263
  },
286
- closeDeleteModal() {
287
- this.deleteModalOpened = false
264
+ computed: {
265
+ editionAllowed() {
266
+ return (
267
+ this.markerData.can_be_deleted &&
268
+ (!this.isLimitedPartner || this.isGroupSupport) &&
269
+ this.isEditable
270
+ )
271
+ },
272
+ iconName() {
273
+ if (this.markerData.choice === 'sold') {
274
+ return 'all_good'
275
+ } else if (this.markerData.choice === 'lost') {
276
+ return 'cross'
277
+ } else if (this.markerData.choice === 'transferred') {
278
+ return 'transfer'
279
+ } else {
280
+ return ''
281
+ }
282
+ },
288
283
  },
289
- onEditClick() {
290
- this.$emit('editHandler')
284
+ methods: {
285
+ clickOutsideActionHandler() {
286
+ this.activated = false
287
+ },
288
+ closeDeleteModal() {
289
+ this.deleteModalOpened = false
290
+ },
291
+ onEditClick() {
292
+ this.$emit('editHandler')
293
+ },
294
+ onDelete() {
295
+ this.closeDeleteModal()
296
+ this.$emit('deleteHandler')
297
+ },
291
298
  },
292
- onDelete() {
293
- this.closeDeleteModal()
294
- this.$emit('deleteHandler')
295
- }
296
299
  }
297
- }
298
300
  </script>