Fix SelectItem bug and lint warnings

This commit is contained in:
Justin Edmund 2022-12-06 19:27:26 -08:00
parent dac1ed917d
commit 1621d53afa
4 changed files with 186 additions and 182 deletions

View file

@ -37,11 +37,10 @@ const defaultProps = {
size: 'medium', size: 'medium',
} }
const Button = React.forwardRef<HTMLButtonElement, Props>( const Button = React.forwardRef<HTMLButtonElement, Props>(function button(
(
{ accessoryIcon, active, blended, contained, size, text, ...props }, { accessoryIcon, active, blended, contained, size, text, ...props },
forwardedRef forwardedRef
) => { ) {
const classes = classNames( const classes = classNames(
{ {
Button: true, Button: true,
@ -58,8 +57,7 @@ const Button = React.forwardRef<HTMLButtonElement, Props>(
) )
const hasAccessory = () => { const hasAccessory = () => {
if (accessoryIcon) if (accessoryIcon) return <span className="Accessory">{accessoryIcon}</span>
return <span className="Accessory">{accessoryIcon}</span>
} }
const hasText = () => { const hasText = () => {
@ -183,8 +181,7 @@ const Button = React.forwardRef<HTMLButtonElement, Props>(
// )} // )}
// </button> // </button>
// ) // )
} })
)
Button.defaultProps = defaultProps Button.defaultProps = defaultProps

View file

@ -11,7 +11,7 @@ interface Props
> {} > {}
export const DialogContent = React.forwardRef<HTMLDivElement, Props>( export const DialogContent = React.forwardRef<HTMLDivElement, Props>(
({ children, ...props }, forwardedRef) => { function dialog({ children, ...props }, forwardedRef) {
const classes = classNames( const classes = classNames(
{ {
Dialog: true, Dialog: true,

View file

@ -11,8 +11,10 @@ interface Props
label?: string label?: string
} }
const Input = React.forwardRef<HTMLInputElement, Props>( const Input = React.forwardRef<HTMLInputElement, Props>(function input(
(props: Props, forwardedRef) => { props: Props,
forwardedRef
) {
const classes = classNames({ Input: true }, props.className) const classes = classNames({ Input: true }, props.className)
return ( return (
@ -31,7 +33,6 @@ const Input = React.forwardRef<HTMLInputElement, Props>(
)} )}
</label> </label>
) )
} })
)
export default Input export default Input

View file

@ -1,21 +1,27 @@
import React from 'react' import React, { ComponentProps } from 'react'
import * as Select from '@radix-ui/react-select' import * as Select from '@radix-ui/react-select'
import './index.scss' import './index.scss'
import classNames from 'classnames' import classNames from 'classnames'
const SelectItem = React.forwardRef<HTMLDivElement>( interface Props extends ComponentProps<'div'> {
({ children, className, ...props }, forwardedRef) => { value: string | number
}
const SelectItem = React.forwardRef<HTMLDivElement, Props>(function selectItem(
{ children, ...props },
forwardedRef
) {
return ( return (
<Select.Item <Select.Item
className={classNames('SelectItem', className)} className={classNames('SelectItem', props.className)}
{...props} {...props}
ref={forwardedRef} ref={forwardedRef}
value={`${props.value}`}
> >
<Select.ItemText>{children}</Select.ItemText> <Select.ItemText>{children}</Select.ItemText>
</Select.Item> </Select.Item>
) )
} })
)
export default SelectItem export default SelectItem