Skip to content

Commit 524786c

Browse files
author
Hector Arce De Las Heras
committed
Enhance Styling Flexibility of InputCurrencyStandAloneComponent
This commit enhances the InputCurrencyStandAloneComponent and its associated types, allowing for more flexible styling options. The changes introduce optional extra styles for different positions (top, bottom, left, right, center). Key changes include: inputCurrencyStandAlone.tsx: The InputCurrencyStandAloneComponent has been updated to check if there are any specific styles defined for different positions in the props. If these styles are not defined, it falls back to the default getExtraStyles function. inputCurrencyTheme.ts: New optional style properties (leftExtraStyles, centerExtraStyles, rightExtraStyles, topExtraStyles, bottomExtraStyles) have been added to the InputCurrencyStateProps type. These properties accept CSS props, allowing for custom styles to be applied to the different positions of the InputCurrencyStandAloneComponent. These changes provide more flexibility in styling the InputCurrencyStandAloneComponent, enhancing its usability and adaptability.
1 parent a5f3f5a commit 524786c

File tree

2 files changed

+61
-39
lines changed

2 files changed

+61
-39
lines changed

src/components/inputCurrency/inputCurrencyStandAlone.tsx

Lines changed: 54 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -71,50 +71,65 @@ export const InputCurrencyStandAloneComponent = (
7171
return (
7272
<Input
7373
ref={ref}
74-
bottomExtraStyles={getExtraStyles(
75-
POSITIONS.BOTTOM,
76-
props.currencyPosition,
77-
width,
78-
props.currencyNameContainerPosition === InputContentPosition.OUT ||
79-
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT,
80-
props.helpMessagePosition ?? props.styles?.[props.state]?.helpMessage?.position
81-
)}
82-
centerExtraStyles={getExtraStyles(
83-
POSITIONS.CENTER,
84-
props.currencyPosition,
85-
width,
86-
props.currencyNameContainerPosition === InputContentPosition.OUT ||
87-
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT
88-
)}
74+
bottomExtraStyles={
75+
props.styles?.[props.state]?.bottomExtraStyles ??
76+
getExtraStyles(
77+
POSITIONS.BOTTOM,
78+
props.currencyPosition,
79+
width,
80+
props.currencyNameContainerPosition === InputContentPosition.OUT ||
81+
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT,
82+
props.helpMessagePosition ?? props.styles?.[props.state]?.helpMessage?.position
83+
)
84+
}
85+
centerExtraStyles={
86+
props.styles?.[props.state]?.centerExtraStyles ??
87+
getExtraStyles(
88+
POSITIONS.CENTER,
89+
props.currencyPosition,
90+
width,
91+
props.currencyNameContainerPosition === InputContentPosition.OUT ||
92+
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT
93+
)
94+
}
8995
extraAriaLabelledBy={extraAriaLabelledBy}
9096
id={inputId}
9197
leftContent={props.currencyPosition === POSITIONS.LEFT ? renderAffix() : undefined}
92-
leftExtraStyles={getExtraStyles(
93-
POSITIONS.LEFT,
94-
props.currencyPosition,
95-
width,
96-
props.currencyNameContainerPosition === InputContentPosition.OUT ||
97-
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT,
98-
props.helpMessagePosition ?? props.styles?.[props.state]?.helpMessage?.position
99-
)}
98+
leftExtraStyles={
99+
props.styles?.[props.state]?.leftExtraStyles ??
100+
getExtraStyles(
101+
POSITIONS.LEFT,
102+
props.currencyPosition,
103+
width,
104+
props.currencyNameContainerPosition === InputContentPosition.OUT ||
105+
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT,
106+
props.helpMessagePosition ?? props.styles?.[props.state]?.helpMessage?.position
107+
)
108+
}
100109
overrideStyles={props.styles}
101110
rightContent={props.currencyPosition === POSITIONS.RIGHT ? renderAffix() : undefined}
102-
rightExtraStyles={getExtraStyles(
103-
POSITIONS.RIGHT,
104-
props.currencyPosition,
105-
width,
106-
props.currencyNameContainerPosition === InputContentPosition.OUT ||
107-
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT,
108-
props.helpMessagePosition ?? props.styles?.[props.state]?.helpMessage?.position
109-
)}
110-
topExtraStyles={getExtraStyles(
111-
POSITIONS.TOP,
112-
props.currencyPosition,
113-
width,
114-
props.currencyNameContainerPosition === InputContentPosition.OUT ||
115-
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT,
116-
props.helpMessagePosition ?? props.styles?.[props.state]?.helpMessage?.position
117-
)}
111+
rightExtraStyles={
112+
props.styles?.[props.state]?.rightExtraStyles ??
113+
getExtraStyles(
114+
POSITIONS.RIGHT,
115+
props.currencyPosition,
116+
width,
117+
props.currencyNameContainerPosition === InputContentPosition.OUT ||
118+
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT,
119+
props.helpMessagePosition ?? props.styles?.[props.state]?.helpMessage?.position
120+
)
121+
}
122+
topExtraStyles={
123+
props.styles?.[props.state]?.topExtraStyles ??
124+
getExtraStyles(
125+
POSITIONS.TOP,
126+
props.currencyPosition,
127+
width,
128+
props.currencyNameContainerPosition === InputContentPosition.OUT ||
129+
props.styles?.[props.state]?.currencyNameContainerPosition === InputContentPosition.OUT,
130+
props.helpMessagePosition ?? props.styles?.[props.state]?.helpMessage?.position
131+
)
132+
}
118133
truncate={true}
119134
variant={props.inputVariant ?? props.styles?.[props.state]?.inputVariant}
120135
{...props}

src/components/inputCurrency/types/inputCurrencyTheme.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { CSSProp } from 'styled-components';
2+
13
import {
24
InputBasicStateProps,
35
InputContentPosition,
@@ -12,6 +14,11 @@ export type InputCurrencyStateProps = InputBasicStateProps & {
1214
currencyNameContainerPosition?: InputContentPosition;
1315
currencyName?: TypographyTypes;
1416
inputVariant?: string;
17+
leftExtraStyles?: CSSProp;
18+
centerExtraStyles?: CSSProp;
19+
rightExtraStyles?: CSSProp;
20+
topExtraStyles?: CSSProp;
21+
bottomExtraStyles?: CSSProp;
1522
};
1623

1724
export type InputCurrencyStylesProps = {

0 commit comments

Comments
 (0)