Skip to content

Commit 4c71607

Browse files
authored
fix: warnings from styled-components on language input render (#112)
1 parent e6af22b commit 4c71607

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

Diff for: src/LanguageField.tsx

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,26 @@
11
import {useCallback} from 'react'
2-
import {FieldMember, InputProps, MemberField, MemberFieldProps, StringInputProps} from 'sanity'
2+
import {
3+
FieldMember,
4+
type InputProps,
5+
MemberField,
6+
type MemberFieldProps,
7+
type PrimitiveInputElementProps,
8+
} from 'sanity'
39

410
import {LanguageInput} from './LanguageInput'
5-
import {CodeInputLanguage} from './types'
11+
import type {CodeInputLanguage} from './types'
612

713
export function LanguageField(
814
props: MemberFieldProps & {member: FieldMember; language: string; languages: CodeInputLanguage[]},
915
) {
1016
const {member, languages, language, renderItem, renderField, renderPreview} = props
1117

1218
const renderInput = useCallback(
13-
(inputProps: Omit<InputProps, 'renderDefault'>) => {
19+
({elementProps, onChange}: Omit<InputProps, 'renderDefault'>) => {
1420
return (
1521
<LanguageInput
16-
{...(inputProps as StringInputProps)}
22+
onChange={onChange}
23+
elementProps={elementProps as PrimitiveInputElementProps}
1724
language={language}
1825
languages={languages}
1926
/>

Diff for: src/LanguageInput.tsx

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
import {Select} from '@sanity/ui'
2-
import {ChangeEvent, useCallback} from 'react'
3-
import {set, StringInputProps, unset} from 'sanity'
2+
import {type ChangeEvent, useCallback} from 'react'
3+
import {set, type StringInputProps, unset} from 'sanity'
44

55
import {CodeInputLanguage} from './types'
66

7-
export interface LanguageInputProps extends StringInputProps {
7+
export interface LanguageInputProps {
88
language: string
99
languages: CodeInputLanguage[]
10+
onChange: StringInputProps['onChange']
11+
elementProps: StringInputProps['elementProps']
1012
}
1113

1214
/** @internal */
1315
export function LanguageInput(props: LanguageInputProps) {
14-
const {language, languages, onChange} = props
16+
const {language, languages, onChange, elementProps} = props
1517

1618
const handleChange = useCallback(
1719
(e: ChangeEvent<HTMLSelectElement>) => {
@@ -22,7 +24,7 @@ export function LanguageInput(props: LanguageInputProps) {
2224
)
2325

2426
return (
25-
<Select {...props} value={language} onChange={handleChange}>
27+
<Select {...elementProps} value={language} onChange={handleChange}>
2628
{languages.map((lang: {title: string; value: string}) => (
2729
<option key={lang.value} value={lang.value}>
2830
{lang.title}

0 commit comments

Comments
 (0)