@eturnity/eturnity_reusable_components 8.40.5 → 8.40.7

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.
@@ -44,7 +44,7 @@ export const FieldsWrapper = styled.div`
44
44
 
45
45
  export const InputRow = styled.div`
46
46
  display: flex;
47
- align-items: center;
47
+ align-items: flex-start;
48
48
  justify-content: space-around;
49
49
  gap: 8px;
50
50
  padding-left: 12px;
@@ -63,7 +63,6 @@ export const InputGroup = styled('div', {
63
63
  display: flex;
64
64
  justify-content: center;
65
65
  position: relative;
66
-
67
66
  input[readonly] {
68
67
  border: 1px solid ${(props) => props.theme.colors.grey4} !important;
69
68
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <ComponentWrapper>
3
- <TextOverlay :margin-top="marginTop">
3
+ <TextOverlay :is-relative="isRelative" :margin-top="marginTop">
4
4
  <slot></slot>
5
5
  </TextOverlay>
6
6
  </ComponentWrapper>
@@ -13,9 +13,10 @@
13
13
 
14
14
  import styled from 'vue3-styled-components'
15
15
 
16
- const TextOverlay = styled('div', { marginTop: String })`
17
- position: absolute;
18
- top: calc(100% + ${(props) => props.marginTop});
16
+ const TextOverlay = styled('div', { marginTop: String, isRelative: Boolean })`
17
+ position: ${(props) => (props.isRelative ? 'relative' : 'absolute')};
18
+ top: ${(props) =>
19
+ props.isRelative ? '8px' : `calc(100% + ${props.marginTop})`};
19
20
  background: ${(props) => props.theme.colors.red};
20
21
  padding: 10px;
21
22
  width: max-content;
@@ -26,7 +27,7 @@
26
27
  border-radius: 4px;
27
28
  z-index: 999;
28
29
  color: ${(props) => props.theme.colors.white};
29
-
30
+ margin-bottom: 8px;
30
31
  :before {
31
32
  content: '';
32
33
  background-color: ${(props) => props.theme.colors.red};
@@ -51,6 +52,10 @@
51
52
  ComponentWrapper,
52
53
  },
53
54
  props: {
55
+ isRelative: {
56
+ required: false,
57
+ default: false,
58
+ },
54
59
  marginTop: {
55
60
  required: false,
56
61
  default: '13px',
@@ -1,5 +1,9 @@
1
1
  <template>
2
- <Container :align-items="alignItems" :input-width="inputWidth">
2
+ <Container
3
+ :align-items="alignItems"
4
+ :input-width="inputWidth"
5
+ :is-relative-error-message="isRelativeErrorMessage"
6
+ >
3
7
  <LabelSlotWrapper
4
8
  v-if="hasLabelSlot"
5
9
  :align-items="alignItems"
@@ -193,9 +197,12 @@
193
197
  </ArrowButton>
194
198
  </ArrowControls>
195
199
  </InputWrapper>
196
- <ErrorMessage v-if="isError && errorMessage">{{
197
- errorMessage
198
- }}</ErrorMessage>
200
+
201
+ <ErrorMessage
202
+ v-if="isError && errorMessage"
203
+ :is-relative="isRelativeErrorMessage"
204
+ >{{ errorMessage }}</ErrorMessage
205
+ >
199
206
  </Container>
200
207
  </template>
201
208
 
@@ -270,14 +277,15 @@
270
277
  readOnly: Boolean,
271
278
  isBorderErrorOnly: Boolean,
272
279
  isInfoBorder: Boolean,
280
+ isRelativeErrorMessage: Boolean,
273
281
  }
274
-
275
282
  const Container = styled('div', inputProps)`
276
283
  width: ${(props) => (props.inputWidth ? props.inputWidth : '100%')};
277
284
  position: relative;
278
- display: grid;
285
+ display: ${(props) => (props.isRelativeErrorMessage ? 'flex' : 'grid')};
279
286
  grid-template-columns: ${(props) =>
280
287
  props.alignItems === 'vertical' ? '1fr' : 'auto 1fr'};
288
+ ${(props) => props.isRelativeErrorMessage && 'flex-direction: column'};
281
289
  `
282
290
 
283
291
  const InputContainer = styled('input', inputProps)`
@@ -811,6 +819,10 @@
811
819
  type: Boolean,
812
820
  default: false,
813
821
  },
822
+ isRelativeErrorMessage: {
823
+ type: Boolean,
824
+ default: false,
825
+ },
814
826
  },
815
827
  data() {
816
828
  return {
@@ -60,7 +60,7 @@
60
60
  const getSpinnerSize = (size) => {
61
61
  switch (size) {
62
62
  case 'tiny':
63
- return '16px'
63
+ return '14px'
64
64
  case 'small':
65
65
  return '24px'
66
66
  case 'large':