@eturnity/eturnity_reusable_components 7.4.4-EPDM-7260.25 → 7.4.4-EPDM-7260.27

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.
package/babel.config.js CHANGED
@@ -1,5 +1,3 @@
1
1
  module.exports = {
2
- presets: [
3
- '@vue/cli-plugin-babel/preset'
4
- ]
5
- }
2
+ presets: ['@vue/cli-plugin-babel/preset']
3
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_reusable_components",
3
- "version": "7.4.4-EPDM-7260.25",
3
+ "version": "7.4.4-EPDM-7260.27",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
@@ -23,7 +23,6 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@babel/core": "7.12.16",
26
- "@babel/eslint-parser": "7.12.16",
27
26
  "@vue/cli-plugin-babel": "5.0.8",
28
27
  "@vue/cli-plugin-eslint": "5.0.8",
29
28
  "@vue/cli-service": "5.0.8",
@@ -0,0 +1,3 @@
1
+ <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10ZM5.875 5.05243V2.125H4.125V5.92743L6.19061 7.47663L7.24061 6.07663L5.875 5.05243Z" fill="white"/>
3
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="10" height="16" viewBox="0 0 10 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4 2C4 3.10457 3.10457 4 2 4C0.89543 4 0 3.10457 0 2C0 0.89543 0.89543 0 2 0C3.10457 0 4 0.89543 4 2Z" fill="#B2B9C5"/>
3
+ <path d="M10 2C10 3.10457 9.10457 4 8 4C6.89543 4 6 3.10457 6 2C6 0.89543 6.89543 0 8 0C9.10457 0 10 0.89543 10 2Z" fill="#B2B9C5"/>
4
+ <path d="M4 8C4 9.10457 3.10457 10 2 10C0.89543 10 0 9.10457 0 8C0 6.89543 0.89543 6 2 6C3.10457 6 4 6.89543 4 8Z" fill="#B2B9C5"/>
5
+ <path d="M10 8C10 9.10457 9.10457 10 8 10C6.89543 10 6 9.10457 6 8C6 6.89543 6.89543 6 8 6C9.10457 6 10 6.89543 10 8Z" fill="#B2B9C5"/>
6
+ <path d="M4 14C4 15.1046 3.10457 16 2 16C0.89543 16 0 15.1046 0 14C0 12.8954 0.89543 12 2 12C3.10457 12 4 12.8954 4 14Z" fill="#B2B9C5"/>
7
+ <path d="M10 14C10 15.1046 9.10457 16 8 16C6.89543 16 6 15.1046 6 14C6 12.8954 6.89543 12 8 12C9.10457 12 10 12.8954 10 14Z" fill="#B2B9C5"/>
8
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M3.99482 2.7C4.49188 2.7 4.89482 2.29706 4.89482 1.8C4.89482 1.30294 4.49188 0.9 3.99482 0.9C3.49777 0.9 3.09482 1.30294 3.09482 1.8C3.09482 2.29706 3.49777 2.7 3.99482 2.7ZM5.79482 1.8C5.79482 2.50671 5.38756 3.11829 4.79492 3.41285V4H5.80557L4.00557 6L2.20557 4H3.19492L3.19492 3.41294C2.60218 3.11842 2.19482 2.50678 2.19482 1.8C2.19482 0.805887 3.00071 0 3.99482 0C4.98894 0 5.79482 0.805887 5.79482 1.8ZM10.8948 1.8C10.8948 2.29706 10.4919 2.7 9.99482 2.7C9.49777 2.7 9.09482 2.29706 9.09482 1.8C9.09482 1.30294 9.49777 0.9 9.99482 0.9C10.4919 0.9 10.8948 1.30294 10.8948 1.8ZM10.7949 3.41285C11.3876 3.11829 11.7948 2.50671 11.7948 1.8C11.7948 0.805887 10.9889 0 9.99482 0C9.00071 0 8.19482 0.805887 8.19482 1.8C8.19482 2.50678 8.60218 3.11842 9.19492 3.41294V4H8.20557L10.0056 6L11.8056 4H10.7949V3.41285ZM14 7.79999L0 7.79999V6.19999L14 6.19999V7.79999ZM7.00518 11.3C6.50812 11.3 6.10518 11.7029 6.10518 12.2C6.10518 12.6971 6.50812 13.1 7.00518 13.1C7.50223 13.1 7.90518 12.6971 7.90518 12.2C7.90518 11.7029 7.50223 11.3 7.00518 11.3ZM5.20518 12.2C5.20518 11.4933 5.61244 10.8817 6.20508 10.5872L6.20508 10H5.19443L6.99443 8L8.79443 10H7.80508V10.5871C8.39782 10.8816 8.80518 11.4932 8.80518 12.2C8.80518 13.1941 7.99929 14 7.00518 14C6.01106 14 5.20518 13.1941 5.20518 12.2Z" fill="#B2B9C5"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M0 1.59997L14 1.59998V-2.44379e-05L0 -2.56618e-05V1.59997ZM6.10274 12.2C6.10274 11.7029 6.50568 11.3 7.00274 11.3C7.49979 11.3 7.90274 11.7029 7.90274 12.2C7.90274 12.6971 7.49979 13.1 7.00274 13.1C6.50568 13.1 6.10274 12.6971 6.10274 12.2ZM6.20264 10.5872C5.61 10.8817 5.20274 11.4933 5.20274 12.2C5.20274 13.1941 6.00862 14 7.00274 14C7.99685 14 8.80274 13.1941 8.80274 12.2C8.80274 11.4932 8.39538 10.8816 7.80264 10.5871L7.80264 4.65002H9.5L7 2.65002L4.5 4.65002H6.20264L6.20264 10.5872Z" fill="#B2B9C5"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="12" viewBox="0 0 14 12" fill="none">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M9.09548 3.62522L10.8209 1.59974L9.53978 0.508423L0.199219 11.4916H13.7992V9.80865H11.9546C11.7571 7.4083 10.7198 5.25339 9.09548 3.62522ZM10.2648 9.80859C10.0777 7.91689 9.26383 6.22054 8.00053 4.91205L3.83843 9.80864L10.2648 9.80859Z" fill="white"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="10" viewBox="0 0 14 10" fill="none">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M0.199219 9.85718V0.142822H1.75351L1.75352 9.85718H0.199219ZM5.38021 8.20572L2.14209 4.99999L5.38021 1.79425V4.19855L8.61833 4.19855V1.79425L11.8564 4.99999L8.61832 8.20572L8.61833 5.80142L5.38021 5.80142V8.20572ZM12.2449 0.142822V9.85718H13.7992V0.142822H12.2449Z" fill="white"/>
3
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
2
+ <path d="M5.33336 14L0 8.66664L1.06667 7.59997L6.40003 12.9333L5.33336 14Z" fill="white"/>
3
+ <path d="M8.42227 9.97776L4.00002 9.99998L4.02224 5.57774L5.67225 7.22775L7.22781 5.67219L5.57781 4.02218L10.0001 3.99996L9.97783 8.4222L8.32782 6.7722L6.77226 8.32776L8.42227 9.97776Z" fill="white"/>
4
+ <path d="M7.59997 1.06667L12.9333 6.40003L14 5.33336L8.66664 0L7.59997 1.06667Z" fill="white"/>
5
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
2
+ <path d="M12.4444 0H1.55556C0.7 0 0 0.7 0 1.55556V12.4444C0 13.3 0.7 14 1.55556 14H12.4444C13.3 14 14 13.3 14 12.4444V1.55556C14 0.7 13.3 0 12.4444 0ZM7.80111 3.15778L8.62556 2.33333L9.72222 3.43L10.8189 2.33333L11.6433 3.15778L10.5467 4.25444L11.6433 5.35111L10.8189 6.17556L9.72222 5.08667L8.62556 6.18333L7.80111 5.35889L8.89778 4.26222L7.80111 3.15778ZM2.52778 3.67111H6.41667V4.83778H2.52778V3.67111ZM6.61111 10.1111H5.05556V11.6667H3.88889V10.1111H2.33333V8.94444H3.88889V7.38889H5.05556V8.94444H6.61111V10.1111ZM11.6667 11.0833H7.77778V9.91667H11.6667V11.0833ZM11.6667 9.13889H7.77778V7.97222H11.6667V9.13889Z" fill="#263238"/>
3
+ </svg>
@@ -70,6 +70,9 @@ export default {
70
70
  },
71
71
  settingsTranslations: {
72
72
  required: false
73
+ },
74
+ closeDropdown: {
75
+ required: false
73
76
  }
74
77
  },
75
78
  data() {
@@ -122,6 +125,7 @@ export default {
122
125
  this.$emit('on-filter-view-select', item)
123
126
  },
124
127
  onViewDelete(item) {
128
+ this.onToggleDropdown()
125
129
  this.$emit('on-filter-view-delete', item)
126
130
  },
127
131
  onApplyCurrentView() {
@@ -138,6 +142,13 @@ export default {
138
142
  },
139
143
  beforeDestroy() {
140
144
  document.removeEventListener('click', this.clickOutside)
145
+ },
146
+ watch: {
147
+ closeDropdown(newVal) {
148
+ if (newVal) {
149
+ this.isDropdownOpen = false
150
+ }
151
+ }
141
152
  }
142
153
  }
143
154
  </script>
@@ -1,9 +1,13 @@
1
1
  <template>
2
- <wrapper>
3
- <icon-image>
2
+ <wrapper :disabled="disabled" :size="size" :cursor="cursor">
3
+ <icon-image
4
+ :color="color"
5
+ :background-color="backgroundColor"
6
+ :hovered-color="hoveredColor"
7
+ >
4
8
  <i v-html="icon.html" />
5
9
  </icon-image>
6
- <striked-line v-if="isStriked"></striked-line>
10
+ <striked-line v-if="isStriked" :color="color"></striked-line>
7
11
  </wrapper>
8
12
  </template>
9
13
 
@@ -48,27 +52,31 @@ const props = defineProps({
48
52
  isStriked: {
49
53
  required: false,
50
54
  default: false
55
+ },
56
+ backgroundColor: {
57
+ required: false,
58
+ default: null
51
59
  }
52
60
  })
53
61
 
54
- const Wrapper = styled('div')`
62
+ const Wrapper = styled('div', {
63
+ size: String,
64
+ disabled: Boolean,
65
+ cursor: String
66
+ })`
55
67
  display: flex;
56
68
  position: relative;
57
69
  align-content: center;
58
70
  justify-content: center;
59
- width: ${props.size};
60
- height: ${props.size};
61
- min-width: ${props.size};
62
- min-height: ${props.size};
63
- cursor: ${props.disabled ? 'not-allowed' : props.cursor};
71
+ width: ${(props) => props.size};
72
+ height: ${(props) => props.size};
73
+ min-width: ${(props) => props.size};
74
+ min-height: ${(props) => props.size};
75
+ cursor: ${(props) => (props.disabled ? 'not-allowed' : props.cursor)};
64
76
  line-height: 0;
65
77
  `
66
- const strikedAttrs = {
67
- isDisabled: Boolean,
68
- color: String,
69
- hoveredColor: String
70
- }
71
- const StrikedLine = styled.div`
78
+
79
+ const StrikedLine = styled('div', { color: String })`
72
80
  display: flex;
73
81
  position: absolute;
74
82
  bottom: 0;
@@ -77,29 +85,33 @@ const StrikedLine = styled.div`
77
85
  justify-content: center;
78
86
  width: 143%;
79
87
  height: 8%;
80
- background-color: ${({ theme }) => theme.colors[props.color] || props.color};
88
+ background-color: ${({ theme, color }) => theme.colors[color] || color};
81
89
  min-height: 0;
82
90
  line-height: 0;
83
91
  transform-origin: 0% 100%;
84
92
  transform: rotate(-45deg);
85
93
  `
86
- const IconImage = styled.div`
94
+ const IconImage = styled('div', {
95
+ color: String,
96
+ backgroundColor: String,
97
+ hoveredColor: String
98
+ })`
87
99
  width: 100%;
88
100
  svg {
89
101
  width: 100%;
90
102
  height: 100%;
91
- background-color: ${(props) => props.backgroundColor};
103
+ background-color: ${(props) =>
104
+ props.backgroundColor ? props.backgroundColor : 'transparent'};
92
105
  padding: ${(props) => (props.backgroundColor ? '3px' : '0')};
93
106
  }
94
107
  svg path {
95
- ${({ theme }) =>
96
- props.color && `fill: ${theme.colors[props.color] || props.color};`}
108
+ ${({ theme, color }) => color && `fill: ${theme.colors[color] || color};`}
97
109
  }
98
110
  &:hover > svg path {
99
- ${props.hoveredColor && `fill: ${props.hoveredColor};`}
111
+ ${(props) => props.hoveredColor && `fill: ${props.hoveredColor};`}
100
112
  }
101
113
  &:hover + div {
102
- background-color: ${props.hoveredColor};
114
+ background-color: ${(props) => props.hoveredColor};
103
115
  }
104
116
  `
105
117
 
@@ -26,7 +26,6 @@
26
26
  //To use:
27
27
  // <info-text
28
28
  // text="Veritatis et quasi architecto beatae vitae"
29
- // borderColor="#ccc"
30
29
  // size="20px"
31
30
  // alignArrow="right" // which side the arrow should be on
32
31
  // />
@@ -3,10 +3,11 @@
3
3
  <container
4
4
  :checkColor="checkColor"
5
5
  :size="size"
6
- :hasLabel="hasLabel"
6
+ :hasLabel="label && !!label.length"
7
7
  :backgroundColor="backgroundColor"
8
8
  :isChecked="isChecked"
9
9
  :isDisabled="isDisabled"
10
+ :cursorType="cursorType"
10
11
  >
11
12
  <input-checkbox
12
13
  type="checkbox"
@@ -17,7 +18,7 @@
17
18
  <check-wrapper :hasLabel="hasLabel">
18
19
  <span class="checkmark"></span>
19
20
  </check-wrapper>
20
- <label-text v-if="hasLabel">{{ label }}</label-text>
21
+ <label-text v-if="label && !!label.length">{{ label }}</label-text>
21
22
  </container>
22
23
  </component-wrapper>
23
24
  </template>
@@ -33,6 +34,7 @@
33
34
  // size="small"
34
35
  // backgroundColor="red"
35
36
  // :isDisabled="true"
37
+ // cursorType="default"
36
38
  // />
37
39
  import styled from 'vue3-styled-components'
38
40
 
@@ -55,7 +57,8 @@ const containerAttrs = {
55
57
  hasLabel: Boolean,
56
58
  backgroundColor: String,
57
59
  isChecked: Boolean,
58
- isDisabled: Boolean
60
+ isDisabled: Boolean,
61
+ cursorType: String
59
62
  }
60
63
  const Container = styled('label', containerAttrs)`
61
64
  display: grid;
@@ -64,7 +67,7 @@ const Container = styled('label', containerAttrs)`
64
67
  align-content: center;
65
68
  color: ${(props) => props.theme.colors.black};
66
69
  position: relative;
67
- cursor: ${(props) => (props.isDisabled ? 'not-allowed' : 'pointer')};
70
+ cursor: ${(props) => (props.isDisabled ? 'not-allowed' : props.cursorType)};
68
71
  font-size: 16px;
69
72
  user-select: none;
70
73
 
@@ -89,7 +92,7 @@ const Container = styled('label', containerAttrs)`
89
92
  : props.theme.colors.green
90
93
  : props.isDisabled
91
94
  ? props.theme.colors.lightGray
92
- : '#fff'};
95
+ : props.theme.colors.white};
93
96
  border-radius: 4px;
94
97
  border: 1px solid
95
98
  ${(props) =>
@@ -183,6 +186,10 @@ export default {
183
186
  dataId: {
184
187
  type: String,
185
188
  default: ''
189
+ },
190
+ cursorType: {
191
+ type: String,
192
+ default: 'pointer'
186
193
  }
187
194
  },
188
195
  computed: {
@@ -313,8 +313,7 @@ export default {
313
313
  return {
314
314
  textInput: '',
315
315
  isFocused: false,
316
- warningIcon: warningIcon,
317
- isBlurred: false
316
+ warningIcon: warningIcon
318
317
  }
319
318
  },
320
319
  props: {
@@ -549,8 +548,7 @@ export default {
549
548
  return array
550
549
  },
551
550
  onInput(event) {
552
- if (this.isBlurred) {
553
- this.isBlurred = false
551
+ if (!this.isFocused) {
554
552
  return
555
553
  }
556
554
  if (event.target.value === '') {
@@ -560,15 +558,13 @@ export default {
560
558
  try {
561
559
  evaluatedVal = this.onEvaluateCode(event)
562
560
  } finally {
563
- if (evaluatedVal) {
561
+ if (evaluatedVal && this.value != evaluatedVal) {
564
562
  this.$emit('on-input', evaluatedVal)
565
563
  }
566
564
  }
567
565
  },
568
566
  onInputBlur(e) {
569
567
  this.isFocused = false
570
- // setting isBlurred so we don't trigger onInput as well
571
- this.isBlurred = true
572
568
  let value = e.target.value
573
569
  let evaluatedInput = this.onEvaluateCode(e)
574
570
  this.onChangeHandler(evaluatedInput ? evaluatedInput : value)
@@ -646,10 +642,10 @@ export default {
646
642
  }
647
643
  },
648
644
  initInteraction(e) {
645
+ this.focusInput()
646
+ e.preventDefault()
649
647
  window.addEventListener('mousemove', this.interact, false)
650
648
  window.addEventListener('mouseup', this.stopInteract, false)
651
- e.preventDefault()
652
- this.focusInput()
653
649
  },
654
650
  interact(e) {
655
651
  e.preventDefault()
@@ -1,15 +1,14 @@
1
1
  <template>
2
2
  <Container
3
3
  :selectWidth="selectWidth"
4
- :minWidth="minWidth"
5
- :maxWidth="maxWidth"
4
+ :noRelative="noRelative"
6
5
  @mouseenter="mouseEnterHandler"
7
6
  @mouseleave="mouseLeaveHandler"
8
7
  >
9
8
  <input-wrapper
10
9
  :hasLabel="!!label && label.length > 0"
11
10
  :alignItems="alignItems"
12
- :minWidth="minWidth"
11
+ :noRelative="noRelative"
13
12
  >
14
13
  <label-wrapper v-if="label" :data-id="labelDataId">
15
14
  <input-label
@@ -51,6 +50,9 @@
51
50
  :showBorder="showBorder"
52
51
  :data-id="dataId"
53
52
  :paddingLeft="paddingLeft"
53
+ :tablePaddingLeft="tablePaddingLeft"
54
+ :noRelative="noRelative"
55
+ :showDisabledBackground="showDisabledBackground"
54
56
  >
55
57
  <draggableInputHandle
56
58
  v-if="isDraggable && !isSearchBarVisible"
@@ -81,7 +83,11 @@
81
83
  >
82
84
  <slot name="selector" :selectedValue="selectedValue"></slot>
83
85
  </selector>
86
+ <<<<<<< HEAD
84
87
  <Caret @click.stop="toggleCaretDropdown" v-if="dropDownArrowVisible">
88
+ =======
89
+ <Caret @click.stop="toggleCaretDropdown" class="caret_dropdown">
90
+ >>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
85
91
  <icon
86
92
  v-if="isDropdownOpen"
87
93
  name="arrow_up"
@@ -104,7 +110,7 @@
104
110
  />
105
111
  </Caret>
106
112
  </selectButton>
107
- <DropdownWrapper ref="dropdownWrapperRef">
113
+ <DropdownWrapper ref="dropdownWrapperRef" :noRelative="noRelative">
108
114
  <Teleport to="#portal-target">
109
115
  <selectDropdown
110
116
  ref="dropdown"
@@ -123,10 +129,13 @@
123
129
  :fontColor="
124
130
  dropdownFontColor || colorMode == 'dark' ? 'white' : 'black'
125
131
  "
132
+ :noRelative="noRelative"
126
133
  :fontSize="fontSize"
134
+ :minWidth="minWidth"
127
135
  :selectedValue="selectedValue"
128
136
  @option-selected="optionSelected"
129
137
  @option-hovered="optionHovered"
138
+ @mouseleave="optionLeave"
130
139
  >
131
140
  <slot name="dropdown"></slot>
132
141
  </selectDropdown>
@@ -219,12 +228,16 @@ const optionalLabel = styled.span`
219
228
  const inputProps = {
220
229
  selectWidth: String,
221
230
  optionWidth: String,
231
+ <<<<<<< HEAD
222
232
  minWidth: String,
223
233
  maxWidth: String
234
+ =======
235
+ noRelative: Boolean
236
+ >>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
224
237
  }
225
238
  const Container = styled('div', inputProps)`
226
239
  width: ${(props) => props.selectWidth};
227
- position: relative;
240
+ position: ${(props) => (props.noRelative ? 'static' : 'relative')};
228
241
  display: inline-block;
229
242
  `
230
243
  const LabelWrapper = styled.div`
@@ -253,16 +266,31 @@ const selectButtonAttrs = {
253
266
  selectMinHeight: String,
254
267
  hasNoPadding: Boolean,
255
268
  showBorder: Boolean,
256
- paddingLeft: String
269
+ paddingLeft: String,
270
+ noRelative: Boolean,
271
+ tablePaddingLeft: String,
272
+ showDisabledBackground: Boolean
257
273
  }
258
274
  const selectButton = styled('div', selectButtonAttrs)`
275
+ <<<<<<< HEAD
259
276
  font-size: ${(props) => (props.fontSize ? props.fontSize : '13px')};
260
277
  position: relative;
278
+ =======
279
+ position: ${(props) => (props.noRelative ? 'static' : 'relative')};
280
+ >>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
261
281
  box-sizing: border-box;
262
282
  border-radius: 4px;
263
283
  max-width: ${(props) => (props.selectWidth ? props.selectWidth : '100%')};
264
284
  ${(props) =>
265
- props.hasNoPadding ? '' : `padding-left: ${props.paddingLeft}`};
285
+ props.isSearchBarVisible
286
+ ? ''
287
+ : `padding-left: ${
288
+ props.hasNoPadding
289
+ ? '0'
290
+ : props.tablePaddingLeft
291
+ ? props.tablePaddingLeft
292
+ : props.paddingLeft
293
+ }`};
266
294
  text-align: left;
267
295
  min-height: ${(props) =>
268
296
  props.selectHeight
@@ -283,7 +311,7 @@ const selectButton = styled('div', selectButtonAttrs)`
283
311
  }
284
312
  `}
285
313
  background-color:${(props) =>
286
- props.disabled
314
+ props.disabled && props.showDisabledBackground
287
315
  ? props.theme.colors.grey5
288
316
  : props.theme.colors[props.bgColor]
289
317
  ? props.theme.colors[props.bgColor]
@@ -309,13 +337,16 @@ const selectDropdownAttrs = {
309
337
  fontSize: String,
310
338
  dropdownPosition: Object,
311
339
  hoveredValue: Number | String,
312
- selectedValue: Number | String
340
+ selectedValue: Number | String,
341
+ noRelative: Boolean,
342
+ minWidth: String
313
343
  }
314
344
  const selectDropdown = styled('div', selectDropdownAttrs)`
315
345
  box-sizing: border-box;
316
346
  z-index: ${(props) => (props.isActive ? '2' : '99999')};
317
347
  position: absolute;
318
- top: ${(props) => props.dropdownPosition?.top}px;
348
+ top: ${(props) =>
349
+ props.noRelative ? 'auto' : props.dropdownPosition?.top + 'px'};
319
350
  left: ${(props) => props.dropdownPosition?.left}px;
320
351
  border: ${BORDER_WIDTH} solid ${(props) => props.theme.colors.grey4};
321
352
  border-radius: 4px;
@@ -325,6 +356,12 @@ const selectDropdown = styled('div', selectDropdownAttrs)`
325
356
  padding: 0px;
326
357
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
327
358
  width: ${(props) => (props.optionWidth ? props.optionWidth : '100%')};
359
+ min-width: ${(props) =>
360
+ props.minWidth
361
+ ? props.minWidth
362
+ : props.optionWidth
363
+ ? props.optionWidth
364
+ : '100%'};
328
365
  background-color: ${(props) =>
329
366
  props.theme.colors[props.bgColor]
330
367
  ? props.theme.colors[props.bgColor]
@@ -344,12 +381,21 @@ const selectDropdown = styled('div', selectDropdownAttrs)`
344
381
  font-size: ${(props) => props.fontSize};
345
382
  `
346
383
  selectDropdown.emits = ['option-hovered', 'option-selected']
347
- const DropdownWrapper = styled('div')`
348
- position: relative;
384
+ const DropdownAttrs = { noRelative: Boolean }
385
+ const DropdownWrapper = styled('div', DropdownAttrs)`
386
+ position: ${(props) => (props.noRelative ? 'static' : 'relative')};
349
387
  `
388
+ <<<<<<< HEAD
350
389
  const inputAttrs = { alignItems: String, hasLabel: Boolean, minWidth: String }
390
+ =======
391
+ const inputAttrs = {
392
+ alignItems: String,
393
+ hasLabel: Boolean,
394
+ noRelative: Boolean
395
+ }
396
+ >>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
351
397
  const InputWrapper = styled('div', inputAttrs)`
352
- position: relative;
398
+ position: ${(props) => (props.noRelative ? 'static' : 'relative')};
353
399
  display: grid;
354
400
  width: 100%;
355
401
  min-width: ${(props) => (props.minWidth ? props.minWidth : '150px')};
@@ -380,6 +426,10 @@ export default {
380
426
  required: false,
381
427
  default: '13px'
382
428
  },
429
+ noRelative: {
430
+ required: false,
431
+ default: false
432
+ },
383
433
  label: {
384
434
  required: false
385
435
  },
@@ -418,6 +468,9 @@ export default {
418
468
  required: false,
419
469
  default: '36px'
420
470
  },
471
+ minWidth: {
472
+ required: false
473
+ },
421
474
  optionWidth: {
422
475
  required: false,
423
476
  default: null
@@ -497,9 +550,18 @@ export default {
497
550
  type: Boolean,
498
551
  default: false
499
552
  },
553
+ <<<<<<< HEAD
500
554
  leftPadding: {
501
555
  type: String,
502
556
  default: '15px'
557
+ =======
558
+ tablePaddingLeft: {
559
+ required: false
560
+ },
561
+ showDisabledBackground: {
562
+ required: false,
563
+ default: true
564
+ >>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
503
565
  },
504
566
  minOptionLength: {
505
567
  type: Number,
@@ -16,6 +16,7 @@
16
16
  :disabledTextColor="disabledTextColor"
17
17
  :backgroundColor="colorMode == 'dark' ? '#000000' : backgroundColor"
18
18
  :title="hoverText"
19
+ :minWidth="minWidth"
19
20
  :padding="padding"
20
21
  >
21
22
  <slot></slot>
@@ -31,6 +32,7 @@ const optionProps = {
31
32
  hoveredBgColor: String,
32
33
  cursorType: String,
33
34
  backgroundColor: String,
35
+ minWidth: String,
34
36
  disabledBgColor: String,
35
37
  disabledTextColor: String,
36
38
  padding: String
@@ -44,6 +46,7 @@ const optionContainer = styled('div', optionProps)`
44
46
  padding: ${(props) => props.padding};
45
47
  gap: 14px;
46
48
  width: 100%;
49
+ min-width: ${(props) => (props.minWidth ? props.minWidth : '100%')};
47
50
  background-color: ${(props) =>
48
51
  props.isDisabled
49
52
  ? props.theme.colors[props.disabledBgColor]
@@ -106,6 +109,9 @@ export default {
106
109
  required: false,
107
110
  default: false
108
111
  },
112
+ minWidth: {
113
+ required: false
114
+ },
109
115
  disabledBgColor: {
110
116
  required: false,
111
117
  default: 'white'
@@ -49,7 +49,7 @@
49
49
  // label="Question 5"
50
50
  // alignItems="horizontal" // horizontal, vertical
51
51
  // :isDisabled="true"
52
- // . fontSize="13px"
52
+ // fontSize="13px"
53
53
  // />
54
54
  import styled from 'vue3-styled-components'
55
55
  import InfoText from '../../infoText'
@@ -0,0 +1,86 @@
1
+ <template>
2
+ <page-container>
3
+ <marker-container
4
+ :backgroundColor="backgroundColor"
5
+ :hasIcon="!!iconName"
6
+ :cursor="cursor"
7
+ >
8
+ <icon
9
+ v-if="!!iconName"
10
+ :name="iconName"
11
+ color="white"
12
+ size="10px"
13
+ :cursor="cursor"
14
+ />
15
+ <span>{{ label }}</span>
16
+ </marker-container>
17
+ </page-container>
18
+ </template>
19
+
20
+ <script>
21
+ // import MarkerItem from "@eturnity/eturnity_reusable_components/src/components/markerItem"
22
+ // To use:
23
+ // <marker-item
24
+ // label="Label"
25
+ // backgroundColor="#ab5348"
26
+ // iconName="icon_name"
27
+ // cursor="pointer"
28
+ // />
29
+
30
+ import styled from 'vue3-styled-components'
31
+ import Icon from '../icon'
32
+
33
+ const PageContainer = styled.div`
34
+ display: flex;
35
+ align-items: center;
36
+ font-size: 12px;
37
+ line-height: 14px;
38
+ `
39
+
40
+ const MarkerAttrs = {
41
+ backgroundColor: String,
42
+ hasIcon: Boolean,
43
+ cursor: String
44
+ }
45
+ const MarkerContainer = styled('div', MarkerAttrs)`
46
+ display: grid;
47
+ grid-template-columns: ${(props) => (props.hasIcon ? 'auto 1fr' : '1fr')};
48
+ grid-gap: 5px;
49
+ position: relative;
50
+ align-items: center;
51
+ padding: 2px 7px;
52
+ color: ${(props) => props.theme.colors.white};
53
+ background-color: ${(props) =>
54
+ props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
55
+ border: 1px solid
56
+ ${(props) =>
57
+ props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
58
+ border-radius: 4px;
59
+ white-space: nowrap;
60
+ cursor: ${(props) => (props.isEditionAllowed ? 'pointer' : props.cursor)};
61
+ `
62
+
63
+ export default {
64
+ name: 'project-marker',
65
+ components: {
66
+ PageContainer,
67
+ MarkerContainer,
68
+ Icon
69
+ },
70
+ props: {
71
+ backgroundColor: {
72
+ required: false
73
+ },
74
+ iconName: {
75
+ required: false
76
+ },
77
+ label: {
78
+ required: true
79
+ },
80
+ cursor: {
81
+ required: false,
82
+ default: 'default'
83
+ }
84
+ }
85
+ }
86
+ </script>
@@ -3,11 +3,7 @@
3
3
  <title-text :color="color" :fontSize="fontSize" :uppercase="uppercase">
4
4
  {{ text }}
5
5
  </title-text>
6
- <info-text
7
- v-if="!!infoText"
8
- :text="infoText"
9
- :alignArrow="infoAlign"
10
- />
6
+ <info-text v-if="!!infoText" :text="infoText" :alignArrow="infoAlign" />
11
7
  </title-wrap>
12
8
  </template>
13
9
 
@@ -18,16 +14,16 @@
18
14
  // text="My Page Title"
19
15
  // color="red"
20
16
  // />
21
- import styled from "vue3-styled-components"
22
- import InfoText from "../infoText"
17
+ import styled from 'vue3-styled-components'
18
+ import InfoText from '../infoText'
23
19
 
24
20
  const wrapAttrs = { hasInfoText: Boolean }
25
- const TitleWrap = styled("div", wrapAttrs)`
21
+ const TitleWrap = styled('div', wrapAttrs)`
26
22
  display: grid;
27
23
  align-items: center;
28
24
  grid-gap: 12px;
29
25
  grid-template-columns: ${(props) =>
30
- props.hasInfoText ? "auto auto 1fr" : "1fr"};
26
+ props.hasInfoText ? 'auto auto 1fr' : '1fr'};
31
27
  margin-bottom: 20px;
32
28
  `
33
29
 
@@ -35,7 +31,7 @@ const titleAttrs = { color: String, fontSize: String, uppercase: Boolean }
35
31
  const TitleText = styled('span', titleAttrs)`
36
32
  color: ${(props) => (props.color ? props.color : props.theme.colors.black)};
37
33
  font-weight: bold;
38
- font-size: ${(props) => (props.fontSize ? props.fontSize : '16px')};
34
+ font-size: ${(props) => (props.fontSize ? props.fontSize : '18px')};
39
35
  text-transform: ${(props) => (props.uppercase ? 'uppercase' : 'none')};
40
36
  `
41
37
 
@@ -54,8 +50,7 @@ export default {
54
50
  required: false
55
51
  },
56
52
  fontSize: {
57
- required: false,
58
- default: '16px'
53
+ required: false
59
54
  },
60
55
  uppercase: {
61
56
  required: false,
@@ -63,11 +58,11 @@ export default {
63
58
  },
64
59
  infoText: {
65
60
  required: false,
66
- default: null,
61
+ default: null
67
62
  },
68
63
  infoAlign: {
69
- required: false,
64
+ required: false
70
65
  }
71
- },
66
+ }
72
67
  }
73
68
  </script>
@@ -81,8 +81,6 @@ 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;
86
84
  `
87
85
  const paginationLink = styled.div`
88
86
  display: flex;
@@ -92,15 +90,18 @@ const paginationLink = styled.div`
92
90
  border-radius: 3px;
93
91
  white-space: nowrap;
94
92
  cursor: pointer;
93
+ color: ${(props) => props.theme.colors.brightBlue};
95
94
 
96
95
  &.active {
97
- color: #fff;
96
+ color: ${(props) => props.theme.colors.white};
98
97
  background-color: ${(props) => props.theme.colors.brightBlue};
99
98
  padding: 7px 12px;
100
99
  border-radius: 4px;
101
100
  }
102
101
  `
103
- const arrowText = styled.div``
102
+ const arrowText = styled.div`
103
+ color: ${(props) => props.theme.colors.brightBlue};
104
+ `
104
105
  const arrowIconContainer = styled.div`
105
106
  margin: 0 10px;
106
107
  display: flex;
@@ -69,7 +69,7 @@
69
69
  </template>
70
70
 
71
71
  <script>
72
- // import ThreeDots from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
72
+ // import ProjectMarker from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
73
73
  // To use:
74
74
  // <project-marker
75
75
  // :activeLanguage="'en-us'"
@@ -4,14 +4,14 @@
4
4
  :style="style"
5
5
  :class="className"
6
6
  @mousedown="elementMouseDown"
7
- @touchend="elementTouchDown"
7
+ @touchstart="elementTouchDown"
8
8
  >
9
9
  <div
10
10
  v-for="handle in actualHandles"
11
11
  :key="handle"
12
12
  :style="{ display: enabled ? 'block' : 'none' }"
13
13
  @mousedown.stop.prevent="handleDown(handle, $event)"
14
- @touchend.stop.prevent="handleTouchDown(handle, $event)"
14
+ @touchstart.stop.prevent="handleTouchDown(handle, $event)"
15
15
  >
16
16
  <slot :name="handle"></slot>
17
17
  </div>
@@ -40,7 +40,12 @@
40
40
  "
41
41
  @click.stop="onSelectedTemplateClick(item.row)"
42
42
  >
43
- <img :src="fileIcon" alt="icon" width="12" height="16" />
43
+ <!-- <img :src="fileIcon" alt="icon" width="12" height="16" /> -->
44
+ <icon
45
+ name="template_icon_not_clickable"
46
+ :color="theme.colors.brightBlue"
47
+ size="14px"
48
+ />
44
49
  <div>{{ item.value }}</div>
45
50
  </template-link>
46
51
  <no-template v-if="item.type && item.type === 'no-template'">
@@ -178,6 +183,8 @@ import InputText from '../inputs/inputText'
178
183
  import CollapseArrowIcon from '../../assets/icons/collapse_arrow_icon.svg'
179
184
  import SubpositionMarkerIcon from '../../assets/icons/subposition_marker.svg'
180
185
  import fileIconPng from '../../assets/icons/file_icon.png'
186
+ import Icon from '../icon'
187
+ import theme from '@/assets/theme.js'
181
188
 
182
189
  const rowAttrs = { disabled: Boolean, isOpen: Boolean }
183
190
  const DropdownRow = styled('div', rowAttrs)`
@@ -273,6 +280,7 @@ const ArrowWrapper = styled('div', arrowAttrs)`
273
280
  const optionsAttrs = { top: Number, left: Number }
274
281
  const OptionsContainer = styled('div', optionsAttrs)`
275
282
  position: absolute;
283
+ margin-top: 10px;
276
284
  display: grid;
277
285
  grid-template-rows: 1fr auto;
278
286
  left: 20px;
@@ -307,10 +315,6 @@ const OptionsWrapper = styled.div`
307
315
 
308
316
  const OptionsItem = styled('div', containerAttrs)`
309
317
  display: grid;
310
- /* grid-template-columns: 1fr repeat(
311
- ${(props) => props.colSpan},
312
- minmax(50px, auto)
313
- ); */
314
318
  grid-template-columns: ${(props) => props.width};
315
319
  grid-gap: 30px;
316
320
  padding: 10px;
@@ -343,6 +347,7 @@ const TemplateButton = styled.div`
343
347
  display: inline-block;
344
348
  border-radius: 4px;
345
349
  text-align: center;
350
+ margin-left: 15px;
346
351
  `
347
352
 
348
353
  const NoTemplate = styled.div`
@@ -350,14 +355,16 @@ const NoTemplate = styled.div`
350
355
  font-style: italic;
351
356
  overflow: hidden;
352
357
  text-overflow: ellipsis;
358
+ padding-left: 15px;
353
359
  `
354
360
 
355
361
  const TemplateLink = styled.div`
356
- color: ${(props) => props.theme.colors.purple};
362
+ color: ${(props) => props.theme.colors.brightBlue};
357
363
  cursor: pointer;
358
364
  display: grid;
359
365
  grid-template-columns: auto 1fr;
360
366
  grid-gap: 12px;
367
+ padding-left: 15px;
361
368
  `
362
369
 
363
370
  const InputContainer = styled.div`
@@ -433,7 +440,8 @@ export default {
433
440
  ArrowContainer,
434
441
  TextContainer,
435
442
  NestedIcon,
436
- NestedContainer
443
+ NestedContainer,
444
+ Icon
437
445
  },
438
446
  props: {
439
447
  colSpan: {
@@ -599,6 +607,9 @@ export default {
599
607
  computed: {
600
608
  getCustomName() {
601
609
  return this.inputText
610
+ },
611
+ theme() {
612
+ return theme
602
613
  }
603
614
  },
604
615
  watch: {