1
Fork 0
mirror of https://github.com/Steffo99/bluelib.git synced 2024-12-22 19:44:21 +00:00

Fix whatever I did last night

This commit is contained in:
Steffo 2022-02-07 11:10:34 +01:00
parent 9c9db45aed
commit 1dc090eb62
2 changed files with 9 additions and 4 deletions

View file

@ -14,10 +14,13 @@ export interface BaseElementProps extends React.HTMLProps<any> {
disabled?: boolean, disabled?: boolean,
builtinColor?: BuiltinColor, builtinColor?: BuiltinColor,
customColor?: typeof Color, customColor?: typeof Color,
childRef?: React.RefObject<HTMLElement>,
} }
export const BaseElement = React.forwardRef(({kind = "div", bluelibClassNames, disabled = false, builtinColor, customColor, ...props}: BaseElementProps, ref): JSX.Element => { // forwardRef has some strange behaviour in TypeScript, so I'm not using it
export const BaseElement = ({kind = "div", bluelibClassNames, disabled = false, builtinColor, customColor, childRef, ...props}: BaseElementProps): JSX.Element => {
// Set the Bluelib color // Set the Bluelib color
if(customColor) { if(customColor) {
props.style = {...props.style, ...Colors.colorToBluelibStyle("color", customColor)} props.style = {...props.style, ...Colors.colorToBluelibStyle("color", customColor)}
@ -37,7 +40,9 @@ export const BaseElement = React.forwardRef(({kind = "div", bluelibClassNames, d
props.className = mergeClassNames(props.className, bluelibClassNames) props.className = mergeClassNames(props.className, bluelibClassNames)
// Set the ref on the child element // Set the ref on the child element
props.ref = ref if(childRef) {
props.ref = childRef
}
return React.createElement(kind, props) return React.createElement(kind, props)
}) }

View file

@ -35,7 +35,7 @@ export const Bluelib = (props: BluelibProps): JSX.Element => {
const element = React.useMemo( const element = React.useMemo(
() => ( () => (
<BaseElement <BaseElement
ref={ref} childRef={ref}
kind={"div"} kind={"div"}
bluelibClassNames={"bluelib"} bluelibClassNames={"bluelib"}
{...baseElementProps} {...baseElementProps}