|
1 | 1 | import { CSSProp, css } from 'styled-components';
|
2 | 2 |
|
3 |
| -import { InputBasicStateProps, InputState, LABEL_TYPE } from '@/components/input/types'; |
| 3 | +import { |
| 4 | + InputBasicStateProps, |
| 5 | + InputIconPosition, |
| 6 | + InputState, |
| 7 | + LABEL_TYPE, |
| 8 | +} from '@/components/input/types'; |
4 | 9 | import { InputStyledProps, LabelStyledProps } from '@/components/input/types/inputStyledPropsType';
|
5 | 10 | import { getTypographyStyles } from '@/utils';
|
6 | 11 | import { pxToRem } from '@/utils/pxToRem/pxToRem';
|
@@ -129,6 +134,7 @@ export const mapLabelTypeStyles = (props: LabelStyledProps): CSSProp => {
|
129 | 134 | display: flex;
|
130 | 135 | align-items: center;
|
131 | 136 | flex-wrap: wrap;
|
| 137 | + justify-content: ${props.styles?.labelContainer?.justify_content}; |
132 | 138 |
|
133 | 139 | label {
|
134 | 140 | ${labelStandardMixin()}
|
@@ -164,13 +170,49 @@ export const mapBaseStyles = ({
|
164 | 170 | opacity: ${styles?.[state]?.inputContainer?.opacity};
|
165 | 171 | `;
|
166 | 172 |
|
167 |
| -export const getPaddingRight = (styles?: InputBasicStateProps): CSSProp => { |
168 |
| - const paddingRight = styles?.inputContainer?.padding?.split(' ')[1] || null; |
| 173 | +// deprecated - remove this `getIconPaddingDeprecated` function when icon prop is removed |
| 174 | +export const getIconPaddingDeprecated = ( |
| 175 | + position?: InputIconPosition, |
| 176 | + styles?: InputBasicStateProps |
| 177 | +): CSSProp => { |
| 178 | + const padding = styles?.inputContainer?.padding?.split(' ')[1] || null; |
| 179 | + const iconWidth = styles?.inputIcon?.width; |
| 180 | + |
| 181 | + if (position === InputIconPosition.RIGHT) { |
| 182 | + return css` |
| 183 | + padding-right: calc(${padding} + ${iconWidth}); |
| 184 | + `; |
| 185 | + } |
169 | 186 | return css`
|
170 |
| - padding-right: calc(${paddingRight} + ${styles?.inputIcon?.width}); |
| 187 | + padding-left: calc(${padding} + ${iconWidth}); |
171 | 188 | `;
|
172 | 189 | };
|
173 | 190 |
|
| 191 | +export const getIconPadding = ( |
| 192 | + leftIcon?: boolean, |
| 193 | + rightIcon?: boolean, |
| 194 | + styles?: InputBasicStateProps |
| 195 | +): CSSProp | undefined => { |
| 196 | + const padding = styles?.inputContainer?.padding?.split(' ')[1] || null; |
| 197 | + const iconWidth = styles?.inputIcon?.width; |
| 198 | + |
| 199 | + if (leftIcon && rightIcon) { |
| 200 | + return css` |
| 201 | + padding-left: calc(${padding} + ${iconWidth}); |
| 202 | + padding-right: calc(${padding} + ${iconWidth}); |
| 203 | + `; |
| 204 | + } else if (leftIcon) { |
| 205 | + return css` |
| 206 | + padding-left: calc(${padding} + ${iconWidth}); |
| 207 | + `; |
| 208 | + } else if (rightIcon) { |
| 209 | + return css` |
| 210 | + padding-right: calc(${padding} + ${iconWidth}); |
| 211 | + `; |
| 212 | + } |
| 213 | + return undefined; |
| 214 | +}; |
| 215 | + |
174 | 216 | export const mapVariableStyles = (styles?: InputBasicStateProps): CSSProp => css`
|
175 | 217 | ${getTypographyStyles(styles?.input)};
|
176 | 218 | background-color: ${styles?.inputContainer?.background_color};
|
|
0 commit comments