@npm_leadtech/legal-lib-components 7.3.0 → 7.3.1

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 (20) hide show
  1. package/dist/css/styles.css +28 -0
  2. package/dist/images/svg/currencyUS.svg +3 -0
  3. package/dist/src/components/atoms/BenefitRatafiaCard/BenefitRatafiaCard.js +1 -1
  4. package/dist/src/components/atoms/BenefitRatafiaCard/BenefitRatafiaCard.tsx +1 -1
  5. package/dist/src/components/atoms/FeatureRatafiaCard/FeatureRatafiaCard.js +1 -1
  6. package/dist/src/components/atoms/FeatureRatafiaCard/FeatureRatafiaCard.tsx +2 -2
  7. package/dist/src/components/molecules/MidBannerRatafiaContent/MidBannerRatafiaContent.styled.js +0 -6
  8. package/dist/src/components/molecules/MidBannerRatafiaContent/MidBannerRatafiaContent.styled.ts +0 -6
  9. package/dist/src/components/molecules/TextInput/Input.d.ts +2 -0
  10. package/dist/src/components/molecules/TextInput/Input.js +11 -3
  11. package/dist/src/components/molecules/TextInput/Input.tsx +24 -2
  12. package/dist/src/components/molecules/TextInput/TextInput.js +5 -9
  13. package/dist/src/components/molecules/TextInput/TextInput.scss +32 -0
  14. package/dist/src/components/molecules/TextInput/TextInput.tsx +7 -5
  15. package/dist/src/components/molecules/TextInput/TextInputProps.types.d.ts +2 -0
  16. package/dist/src/components/molecules/TextInput/TextInputProps.types.ts +2 -0
  17. package/dist/src/components/molecules/TextInput/stories/TextInput.stories.tsx +22 -0
  18. package/dist/src/components/sections/FeaturesRatafiaSection/FeaturesRatafiaSection.styled.js +1 -2
  19. package/dist/src/components/sections/FeaturesRatafiaSection/FeaturesRatafiaSection.styled.ts +1 -2
  20. package/package.json +1 -1
@@ -2154,6 +2154,20 @@ h2.react-datepicker__current-month {
2154
2154
  outline: none;
2155
2155
  background-color: var(--neutral-neutral-6);
2156
2156
  }
2157
+ .e-text--has-prefix {
2158
+ width: 100%;
2159
+ }
2160
+ @media (min-width: 575px) {
2161
+ .e-text--has-prefix {
2162
+ width: 50%;
2163
+ }
2164
+ }
2165
+ .e-text--has-prefix .has-currency-prefix {
2166
+ padding-left: 2rem;
2167
+ }
2168
+ .e-text--has-prefix .has-currency-suffix {
2169
+ padding-right: 2rem;
2170
+ }
2157
2171
  .e-text .input-icon {
2158
2172
  position: absolute;
2159
2173
  transform: translate(-15%, -65%);
@@ -2168,6 +2182,20 @@ h2.react-datepicker__current-month {
2168
2182
  background: none;
2169
2183
  border: none;
2170
2184
  }
2185
+ .e-text .input-icon-currency-suffix {
2186
+ position: absolute;
2187
+ right: 10px;
2188
+ bottom: 10px;
2189
+ background: none;
2190
+ border: none;
2191
+ }
2192
+ .e-text .input-icon-currency-prefix {
2193
+ position: absolute;
2194
+ left: 10px;
2195
+ bottom: 10px;
2196
+ background: none;
2197
+ border: none;
2198
+ }
2171
2199
  .e-text .formgroup--input__button {
2172
2200
  align-self: flex-start;
2173
2201
  font-size: 0.75rem;
@@ -0,0 +1,3 @@
1
+ <svg width="10" height="18" viewBox="0 0 10 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4.94505 17.3333C4.6827 17.3333 4.4628 17.2446 4.28533 17.0671C4.10786 16.8896 4.01912 16.6697 4.01912 16.4074V15.3426C3.32468 15.1882 2.71511 14.9182 2.19042 14.5324C1.66573 14.1466 1.24135 13.6064 0.917271 12.912C0.809246 12.6959 0.805388 12.4683 0.905697 12.2291C1.00601 11.9899 1.18733 11.8163 1.44968 11.7083C1.66573 11.6157 1.88949 11.6196 2.12097 11.7199C2.35246 11.8202 2.52993 11.9861 2.65338 12.2176C2.91573 12.6805 3.24752 13.0316 3.64875 13.2708C4.04999 13.51 4.54381 13.6296 5.13023 13.6296C5.76295 13.6296 6.29922 13.4868 6.73903 13.2013C7.17884 12.9159 7.39875 12.4722 7.39875 11.8703C7.39875 11.3302 7.229 10.902 6.88949 10.5856C6.54999 10.2692 5.76295 9.91045 4.52838 9.50922C3.20122 9.09255 2.29073 8.59487 1.7969 8.01616C1.30307 7.43746 1.05616 6.73144 1.05616 5.89811C1.05616 4.89502 1.38023 4.1157 2.02838 3.56014C2.67653 3.00459 3.34011 2.68823 4.01912 2.61107V1.59255C4.01912 1.33021 4.10786 1.1103 4.28533 0.93283C4.4628 0.755361 4.6827 0.666626 4.94505 0.666626C5.20739 0.666626 5.4273 0.755361 5.60477 0.93283C5.78224 1.1103 5.87097 1.33021 5.87097 1.59255V2.61107C6.45739 2.70366 6.96665 2.89271 7.39875 3.1782C7.83085 3.46369 8.18579 3.81477 8.46357 4.23144C8.60246 4.43206 8.62946 4.65582 8.54459 4.90274C8.45971 5.14965 8.2861 5.32712 8.02375 5.43514C7.8077 5.52774 7.58394 5.5316 7.35246 5.44672C7.12098 5.36184 6.90493 5.21138 6.70431 4.99533C6.50369 4.77928 6.26835 4.61339 5.99829 4.49764C5.72823 4.3819 5.39258 4.32403 4.99134 4.32403C4.31233 4.32403 3.79536 4.4745 3.44042 4.77542C3.08548 5.07635 2.90801 5.45058 2.90801 5.89811C2.90801 6.40737 3.13949 6.8086 3.60246 7.10181C4.06542 7.39502 4.86789 7.70366 6.00986 8.02774C7.07468 8.33638 7.88101 8.82635 8.42885 9.49765C8.97668 10.1689 9.2506 10.9444 9.2506 11.824C9.2506 12.9197 8.92653 13.753 8.27838 14.324C7.63023 14.895 6.82776 15.25 5.87097 15.3888V16.4074C5.87097 16.6697 5.78224 16.8896 5.60477 17.0671C5.4273 17.2446 5.20739 17.3333 4.94505 17.3333Z" fill="#6D7275"/>
3
+ </svg>
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { BenefitRatafiaCardStyled } from './BenefitRatafiaCard.styled';
3
3
  export const BenefitRatafiaCard = ({ title, image, description }) => {
4
- return (_jsxs(BenefitRatafiaCardStyled, { className: 'benefit-ratafia-card', children: [image !== null && _jsx("div", { className: 'benefit-ratafia-card__icon', children: image }), _jsxs("div", { className: 'benefit-ratafia-card__content', children: [_jsx("p", { className: 'sans-serif --big --bold-weight benefit-ratafia-card__content__title', children: title }), _jsx("p", { className: 'sans-serif --medium benefit-ratafia-card__content__description', children: description })] })] }));
4
+ return (_jsxs(BenefitRatafiaCardStyled, { className: 'benefit-ratafia-card', children: [image !== null && _jsx("div", { className: 'benefit-ratafia-card__icon', children: image }), _jsxs("div", { className: 'benefit-ratafia-card__content', children: [_jsx("h3", { className: 'sans-serif --big --bold-weight benefit-ratafia-card__content__title', children: title }), _jsx("p", { className: 'sans-serif --medium benefit-ratafia-card__content__description', children: description })] })] }));
5
5
  };
6
6
  export default BenefitRatafiaCard;
@@ -8,7 +8,7 @@ export const BenefitRatafiaCard: React.FC<BenefitRatafiaCardProps> = ({ title, i
8
8
  <BenefitRatafiaCardStyled className='benefit-ratafia-card'>
9
9
  {image !== null && <div className='benefit-ratafia-card__icon'>{image}</div>}
10
10
  <div className='benefit-ratafia-card__content'>
11
- <p className='sans-serif --big --bold-weight benefit-ratafia-card__content__title'>{title}</p>
11
+ <h3 className='sans-serif --big --bold-weight benefit-ratafia-card__content__title'>{title}</h3>
12
12
  <p className='sans-serif --medium benefit-ratafia-card__content__description'>{description}</p>
13
13
  </div>
14
14
  </BenefitRatafiaCardStyled>
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { FeatureRatafiaCardStyled } from './FeatureRatafiaCard.styled';
3
3
  export const FeatureRatafiaCard = ({ title, icon, description, isReleased = true, notReleasedText }) => {
4
- return (_jsx(FeatureRatafiaCardStyled, { className: 'feature-ratafia-card', children: _jsx("div", { className: isReleased ? 'feature-ratafia-card-released' : 'feature-ratafia-card-not-released', children: _jsxs("div", { className: 'feature-ratafia-card__wrapper', children: [_jsxs("div", { className: 'feature-ratafia-card__wrapper__header', children: [_jsxs("div", { className: 'feature-ratafia-card__wrapper__header__title', children: [icon !== null && _jsx("div", { className: 'feature-ratafia-card__wrapper__header__title__icon', children: icon }), _jsx("p", { className: 'sans-serif --big --bold-weight feature-ratafia-card__wrapper__header__title__text', children: title })] }), !isReleased && (_jsx("p", { className: 'sans-serif --small --bold-weight feature-ratafia-card__wrapper__header__not-released', children: notReleasedText }))] }), _jsx("p", { className: 'sans-serif --medium feature-ratafia-card__wrapper__description', children: description })] }) }) }));
4
+ return (_jsx(FeatureRatafiaCardStyled, { className: 'feature-ratafia-card', children: _jsx("div", { className: isReleased ? 'feature-ratafia-card-released' : 'feature-ratafia-card-not-released', children: _jsxs("div", { className: 'feature-ratafia-card__wrapper', children: [_jsxs("div", { className: 'feature-ratafia-card__wrapper__header', children: [_jsxs("div", { className: 'feature-ratafia-card__wrapper__header__title', children: [icon !== null && _jsx("div", { className: 'feature-ratafia-card__wrapper__header__title__icon', children: icon }), _jsx("h3", { className: 'sans-serif --big --bold-weight feature-ratafia-card__wrapper__header__title__text', children: title })] }), !isReleased && (_jsx("p", { className: 'sans-serif --small --bold-weight feature-ratafia-card__wrapper__header__not-released', children: notReleasedText }))] }), _jsx("p", { className: 'sans-serif --medium feature-ratafia-card__wrapper__description', children: description })] }) }) }));
5
5
  };
6
6
  export default FeatureRatafiaCard;
@@ -17,9 +17,9 @@ export const FeatureRatafiaCard: React.FC<FeatureRatafiaCardProps> = ({
17
17
  <div className='feature-ratafia-card__wrapper__header'>
18
18
  <div className='feature-ratafia-card__wrapper__header__title'>
19
19
  {icon !== null && <div className='feature-ratafia-card__wrapper__header__title__icon'>{icon}</div>}
20
- <p className='sans-serif --big --bold-weight feature-ratafia-card__wrapper__header__title__text'>
20
+ <h3 className='sans-serif --big --bold-weight feature-ratafia-card__wrapper__header__title__text'>
21
21
  {title}
22
- </p>
22
+ </h3>
23
23
  </div>
24
24
  {!isReleased && (
25
25
  <p className='sans-serif --small --bold-weight feature-ratafia-card__wrapper__header__not-released'>
@@ -20,12 +20,6 @@ export const MidBannerRatafiaContentStyled = styled.div `
20
20
  &__description {
21
21
  align-self: stretch;
22
22
  color: var(--neutral-neutral-1);
23
-
24
- .richt-text-strapi {
25
- display: flex;
26
- flex-direction: column;
27
- gap: var(--global-gap);
28
- }
29
23
  }
30
24
  }
31
25
  &__cta {
@@ -21,12 +21,6 @@ export const MidBannerRatafiaContentStyled = styled.div`
21
21
  &__description {
22
22
  align-self: stretch;
23
23
  color: var(--neutral-neutral-1);
24
-
25
- .richt-text-strapi {
26
- display: flex;
27
- flex-direction: column;
28
- gap: var(--global-gap);
29
- }
30
24
  }
31
25
  }
32
26
  &__cta {
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  interface InputProps {
3
3
  name: string;
4
4
  placeholder: string;
5
+ prefix: string;
5
6
  maxLength: number;
6
7
  value: string;
7
8
  type: 'password' | 'text' | 'number' | 'tel';
@@ -12,6 +13,7 @@ interface InputProps {
12
13
  onBlur: (e: React.FocusEvent<HTMLInputElement>) => void;
13
14
  onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void;
14
15
  onKeyUp: (e: React.KeyboardEvent<HTMLInputElement>) => void;
16
+ country: string;
15
17
  }
16
18
  export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
17
19
  export {};
@@ -1,16 +1,24 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useState } from 'react';
3
+ import currency from '../../../../images/svg/currencyUS.svg';
3
4
  import eyeCloseIcon from '../../../../images/svg/eye-close.svg';
4
5
  import eyeIcon from '../../../../images/svg/eye-24-px.svg';
5
- export const Input = React.forwardRef(({ value, name, placeholder, className, onChange, onClick, onBlur, onKeyDown, onKeyUp, disabled, type = 'text', maxLength }, ref) => {
6
+ export const Input = React.forwardRef(({ value, name, placeholder, className, onChange, onClick, onBlur, onKeyDown, onKeyUp, disabled, type = 'text', maxLength, country, prefix }, ref) => {
6
7
  const [hidden, setHidden] = useState(true);
7
8
  const showPassword = () => {
8
9
  if (value !== null)
9
10
  setHidden(!hidden);
10
11
  };
11
- return (_jsxs(_Fragment, { children: [_jsx("input", { type: !hidden && type === 'password' ? 'text' : type, name: name, id: name, className: className, maxLength: maxLength, placeholder: placeholder, onChange: onChange, onClick: onClick, onKeyDown: onKeyDown, onKeyUp: onKeyUp, onBlur: onBlur, value: value, "data-qa": name, disabled: disabled, ref: ref }), type === 'password' && (_jsx("button", { type: 'button', className: 'input-icon-password-button', onClick: showPassword, onKeyDown: (e) => {
12
+ const euro = country === 'DE';
13
+ const otherCurrency = country !== 'DE';
14
+ let finalClassName = className;
15
+ if (otherCurrency)
16
+ finalClassName += ' has-currency-prefix';
17
+ if (euro)
18
+ finalClassName += ' has-currency-suffix';
19
+ return (_jsxs(_Fragment, { children: [!!prefix && otherCurrency && (_jsx("div", { className: 'input-icon-currency-prefix', children: _jsx("img", { src: currency, alt: 'currency' }) })), _jsx("input", { type: !hidden && type === 'password' ? 'text' : type, name: name, id: name, className: finalClassName, maxLength: maxLength, placeholder: placeholder, onChange: onChange, onClick: onClick, onKeyDown: onKeyDown, onKeyUp: onKeyUp, onBlur: onBlur, value: value, "data-qa": name, disabled: disabled, ref: ref }), type === 'password' && (_jsx("button", { type: 'button', className: 'input-icon-password-button', onClick: showPassword, onKeyDown: (e) => {
12
20
  if (e.key === 'Enter')
13
21
  showPassword();
14
- }, children: _jsx("img", { src: hidden ? eyeIcon : eyeCloseIcon, alt: '' }) }))] }));
22
+ }, children: _jsx("img", { src: hidden ? eyeIcon : eyeCloseIcon, alt: '' }) })), !!prefix && euro && (_jsx("div", { className: 'input-icon-currency-suffix', children: _jsx("img", { src: currency, alt: 'currency' }) }))] }));
15
23
  });
16
24
  Input.displayName = 'Input';
@@ -1,11 +1,13 @@
1
1
  import React, { useState } from 'react'
2
2
 
3
+ import currency from '../../../../images/svg/currencyUS.svg'
3
4
  import eyeCloseIcon from '../../../../images/svg/eye-close.svg'
4
5
  import eyeIcon from '../../../../images/svg/eye-24-px.svg'
5
6
 
6
7
  interface InputProps {
7
8
  name: string
8
9
  placeholder: string
10
+ prefix: string
9
11
  maxLength: number
10
12
  value: string
11
13
  type: 'password' | 'text' | 'number' | 'tel'
@@ -16,6 +18,7 @@ interface InputProps {
16
18
  onBlur: (e: React.FocusEvent<HTMLInputElement>) => void
17
19
  onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void
18
20
  onKeyUp: (e: React.KeyboardEvent<HTMLInputElement>) => void
21
+ country: string
19
22
  }
20
23
 
21
24
  export const Input = React.forwardRef<HTMLInputElement, InputProps>(
@@ -32,7 +35,9 @@ export const Input = React.forwardRef<HTMLInputElement, InputProps>(
32
35
  onKeyUp,
33
36
  disabled,
34
37
  type = 'text',
35
- maxLength
38
+ maxLength,
39
+ country,
40
+ prefix
36
41
  }: InputProps,
37
42
  ref
38
43
  ) => {
@@ -41,14 +46,26 @@ export const Input = React.forwardRef<HTMLInputElement, InputProps>(
41
46
  const showPassword = (): void => {
42
47
  if (value !== null) setHidden(!hidden)
43
48
  }
49
+ const euro = country === 'DE'
50
+ const otherCurrency = country !== 'DE'
51
+
52
+ let finalClassName = className
53
+
54
+ if (otherCurrency) finalClassName += ' has-currency-prefix'
55
+ if (euro) finalClassName += ' has-currency-suffix'
44
56
 
45
57
  return (
46
58
  <>
59
+ {!!prefix && otherCurrency && (
60
+ <div className='input-icon-currency-prefix'>
61
+ <img src={currency} alt='currency' />
62
+ </div>
63
+ )}
47
64
  <input
48
65
  type={!hidden && type === 'password' ? 'text' : type}
49
66
  name={name}
50
67
  id={name}
51
- className={className}
68
+ className={finalClassName}
52
69
  maxLength={maxLength}
53
70
  placeholder={placeholder}
54
71
  onChange={onChange}
@@ -73,6 +90,11 @@ export const Input = React.forwardRef<HTMLInputElement, InputProps>(
73
90
  <img src={hidden ? eyeIcon : eyeCloseIcon} alt='' />
74
91
  </button>
75
92
  )}
93
+ {!!prefix && euro && (
94
+ <div className='input-icon-currency-suffix'>
95
+ <img src={currency} alt='currency' />
96
+ </div>
97
+ )}
76
98
  </>
77
99
  )
78
100
  }
@@ -6,11 +6,12 @@ import { Input } from './Input';
6
6
  import { TextInputLabel } from './TextInputLabel';
7
7
  import { TextInputMessage } from './TextInputMessage';
8
8
  import { TextInputTooltip } from './TextInputTooltip';
9
- const TextInput = React.forwardRef(({ label, value, validate = true, isValidGroup = true, format = undefined, name, placeholder, onChange, onClick, onBlur, onKeyDown, onKeyUp, disabled, type = 'text', maxLength, errorMessage = '', notes, dialogMenuTip, tooltip = '', givenClass = '', children }, ref) => {
9
+ const TextInput = React.forwardRef(({ label, value, validate = true, isValidGroup = true, format = undefined, name, placeholder, onChange, onClick, onBlur, onKeyDown, onKeyUp, prefix = '', disabled, type = 'text', maxLength, errorMessage = '', notes, dialogMenuTip, tooltip = '', givenClass = '', children, country }, ref) => {
10
10
  const classnames = classNames('e-text', {
11
11
  [givenClass]: givenClass,
12
12
  'e-text--is-invalid': !validate,
13
- 'e-text--group-invalid': !isValidGroup
13
+ 'e-text--group-invalid': !isValidGroup,
14
+ 'e-text--has-prefix': !!prefix
14
15
  });
15
16
  const handleChange = (event) => {
16
17
  onChange(event);
@@ -23,14 +24,9 @@ const TextInput = React.forwardRef(({ label, value, validate = true, isValidGrou
23
24
  };
24
25
  const renderInput = () => {
25
26
  if (Boolean(format) && type !== 'number' && type !== 'tel') {
26
- return (_jsx(NumericFormat, { name: name, id: name, placeholder: placeholder, className: 'e-text-input',
27
- // mask={mask}
28
- // format={format}
29
- onChange: onChange, onClick: onClick,
30
- // maskchar={null}
31
- value: value, "data-qa": name, disabled: disabled, maxLength: maxLength, onBlur: onBlur }));
27
+ return (_jsx(NumericFormat, { name: name, id: name, placeholder: placeholder, className: 'e-text-input', onChange: onChange, onClick: onClick, value: value, "data-qa": name, disabled: disabled, maxLength: maxLength, onBlur: onBlur }));
32
28
  }
33
- return (_jsx(Input, { name: name ?? '', type: type, placeholder: placeholder ?? '', className: 'e-text-input', onChange: handleChange, onClick: onClick ?? (() => { }), value: value, "data-qa": name, disabled: disabled ?? false, maxLength: maxLength, onBlur: onBlur ?? (() => { }), ref: ref, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp }));
29
+ return (_jsx(Input, { name: name ?? '', type: type, prefix: prefix, placeholder: placeholder ?? '', className: 'e-text-input', onChange: handleChange, onClick: onClick ?? (() => { }), value: value, "data-qa": name, disabled: disabled ?? false, maxLength: maxLength, onBlur: onBlur ?? (() => { }), ref: ref, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, country: country }));
34
30
  };
35
31
  return (_jsxs("div", { className: classnames, children: [Boolean(children) && _jsx("div", { className: 'e-text__children', children: children }), _jsx(TextInputTooltip, { tooltip: tooltip }), _jsx(TextInputMessage, { errorMessage: errorMessage, validate: validate }), renderInput(), _jsx(TextInputLabel, { label: label, htmlFor: name, notes: notes, dialogMenuTip: dialogMenuTip })] }));
36
32
  });
@@ -148,6 +148,22 @@
148
148
  }
149
149
  }
150
150
 
151
+ &--has-prefix {
152
+ width: 100%;
153
+
154
+ @include portrait-tablets {
155
+ width: 50%;
156
+ }
157
+
158
+ .has-currency-prefix {
159
+ padding-left: 2rem;
160
+ }
161
+
162
+ .has-currency-suffix {
163
+ padding-right: 2rem;
164
+ }
165
+ }
166
+
151
167
  .input-icon {
152
168
  position: absolute;
153
169
  transform: translate(-15%, -65%);
@@ -164,6 +180,22 @@
164
180
  border: none;
165
181
  }
166
182
 
183
+ .input-icon-currency-suffix {
184
+ position: absolute;
185
+ right: 10px;
186
+ bottom: 10px;
187
+ background: none;
188
+ border: none;
189
+ }
190
+
191
+ .input-icon-currency-prefix {
192
+ position: absolute;
193
+ left: 10px;
194
+ bottom: 10px;
195
+ background: none;
196
+ border: none;
197
+ }
198
+
167
199
  .formgroup--input__button {
168
200
  align-self: flex-start;
169
201
  font-size: 0.75rem;
@@ -23,6 +23,7 @@ const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(
23
23
  onBlur,
24
24
  onKeyDown,
25
25
  onKeyUp,
26
+ prefix = '',
26
27
  disabled,
27
28
  type = 'text',
28
29
  maxLength,
@@ -31,14 +32,16 @@ const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(
31
32
  dialogMenuTip,
32
33
  tooltip = '',
33
34
  givenClass = '',
34
- children
35
+ children,
36
+ country
35
37
  }: TextInputProps,
36
38
  ref
37
39
  ) => {
38
40
  const classnames = classNames('e-text', {
39
41
  [givenClass]: givenClass,
40
42
  'e-text--is-invalid': !validate,
41
- 'e-text--group-invalid': !isValidGroup
43
+ 'e-text--group-invalid': !isValidGroup,
44
+ 'e-text--has-prefix': !!prefix
42
45
  })
43
46
 
44
47
  const handleChange = (event: React.ChangeEvent<HTMLInputElement>): void => {
@@ -61,11 +64,8 @@ const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(
61
64
  id={name}
62
65
  placeholder={placeholder}
63
66
  className='e-text-input'
64
- // mask={mask}
65
- // format={format}
66
67
  onChange={onChange}
67
68
  onClick={onClick}
68
- // maskchar={null}
69
69
  value={value}
70
70
  data-qa={name}
71
71
  disabled={disabled}
@@ -79,6 +79,7 @@ const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(
79
79
  <Input
80
80
  name={name ?? ''}
81
81
  type={type}
82
+ prefix={prefix}
82
83
  placeholder={placeholder ?? ''}
83
84
  className='e-text-input'
84
85
  onChange={handleChange}
@@ -91,6 +92,7 @@ const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(
91
92
  ref={ref}
92
93
  onKeyDown={handleKeyDown}
93
94
  onKeyUp={handleKeyUp}
95
+ country={country}
94
96
  />
95
97
  )
96
98
  }
@@ -20,5 +20,7 @@ export interface TextInputProps {
20
20
  onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
21
21
  onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
22
22
  onKeyUp?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
23
+ prefix?: string;
23
24
  children?: React.ReactNode;
25
+ country: string;
24
26
  }
@@ -21,5 +21,7 @@ export interface TextInputProps {
21
21
  onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void
22
22
  onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void
23
23
  onKeyUp?: (e: React.KeyboardEvent<HTMLInputElement>) => void
24
+ prefix?: string
24
25
  children?: React.ReactNode
26
+ country: string
25
27
  }
@@ -123,3 +123,25 @@ export const MaskInput: Story = {
123
123
  placeholder: 'eg. 2111 1111 1111 1111'
124
124
  }
125
125
  }
126
+
127
+ export const WithPrefixEuro: Story = {
128
+ args: {
129
+ name: 'prefix',
130
+ label: 'Price:',
131
+ value: '20.30',
132
+ type: 'text',
133
+ prefix: '€',
134
+ country: 'DE'
135
+ }
136
+ }
137
+
138
+ export const WithPrefixNoEuro: Story = {
139
+ args: {
140
+ name: 'prefix',
141
+ label: 'Price:',
142
+ value: '20.30',
143
+ type: 'text',
144
+ prefix: '$',
145
+ country: 'US'
146
+ }
147
+ }
@@ -39,7 +39,7 @@ export const FeaturesRatafiaSectionStyled = styled.section `
39
39
 
40
40
  &__children {
41
41
  display: none;
42
- width: 100%;
42
+ min-width: 50%;
43
43
 
44
44
  @media ${device.desktop} {
45
45
  display: flex;
@@ -48,7 +48,6 @@ export const FeaturesRatafiaSectionStyled = styled.section `
48
48
  }
49
49
  img {
50
50
  width: 100%;
51
- height: auto;
52
51
  }
53
52
  }
54
53
  }
@@ -40,7 +40,7 @@ export const FeaturesRatafiaSectionStyled = styled.section`
40
40
 
41
41
  &__children {
42
42
  display: none;
43
- width: 100%;
43
+ min-width: 50%;
44
44
 
45
45
  @media ${device.desktop} {
46
46
  display: flex;
@@ -49,7 +49,6 @@ export const FeaturesRatafiaSectionStyled = styled.section`
49
49
  }
50
50
  img {
51
51
  width: 100%;
52
- height: auto;
53
52
  }
54
53
  }
55
54
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@npm_leadtech/legal-lib-components",
3
- "version": "7.3.0",
3
+ "version": "7.3.1",
4
4
  "license": "ISC",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",