mirror of
https://github.com/fergalmoran/turnstone.git
synced 2025-12-25 19:28:26 +00:00
Apply special inputFocus and containerFocus classes only if supplied, otherwise fall back to input and container classes.
This commit is contained in:
@@ -3,7 +3,9 @@ import Turnstone from './lib'
|
|||||||
import { fruits, vegetables } from './data'
|
import { fruits, vegetables } from './data'
|
||||||
|
|
||||||
const styles = {
|
const styles = {
|
||||||
highlightedItem: 'highlightedItem'
|
highlightedItem: 'highlightedItem',
|
||||||
|
input: 'input',
|
||||||
|
inputFocus: 'inputFocus'
|
||||||
}
|
}
|
||||||
|
|
||||||
const listbox1 = {
|
const listbox1 = {
|
||||||
|
|||||||
@@ -83,9 +83,12 @@ export default function Container(props) {
|
|||||||
const isExpanded = hasFocus && state.itemsLoaded
|
const isExpanded = hasFocus && state.itemsLoaded
|
||||||
const isErrorExpanded = !!props.errorMessage && state.itemsError
|
const isErrorExpanded = !!props.errorMessage && state.itemsError
|
||||||
const containerClassname = hasFocus ? 'containerFocus' : 'container'
|
const containerClassname = hasFocus ? 'containerFocus' : 'container'
|
||||||
|
const containerStyles = customStyles[containerClassname] || customStyles.container
|
||||||
const defaultContainerStyles = customStyles[containerClassname]
|
const defaultContainerStyles = customStyles[containerClassname]
|
||||||
? undef
|
? undef
|
||||||
: defaultStyles[containerClassname]
|
: defaultStyles[containerClassname]
|
||||||
|
const inputClassName = hasFocus ? 'inputFocus' : 'input'
|
||||||
|
const inputStyles = customStyles[inputClassName] || customStyles.input
|
||||||
|
|
||||||
// Checks whether or not SWR data is to be treated as immutable
|
// Checks whether or not SWR data is to be treated as immutable
|
||||||
const isImmutable = (() => {
|
const isImmutable = (() => {
|
||||||
@@ -210,7 +213,7 @@ export default function Container(props) {
|
|||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<div
|
<div
|
||||||
className={customStyles[containerClassname]}
|
className={containerStyles}
|
||||||
style={defaultContainerStyles}
|
style={defaultContainerStyles}
|
||||||
role='combobox'
|
role='combobox'
|
||||||
aria-expanded={isExpanded}
|
aria-expanded={isExpanded}
|
||||||
@@ -219,7 +222,7 @@ export default function Container(props) {
|
|||||||
<input
|
<input
|
||||||
id={id}
|
id={id}
|
||||||
name={name}
|
name={name}
|
||||||
className={`${customStyles.input || ''} ${customStyles.query || ''}`.trim()}
|
className={`${inputStyles || ''} ${customStyles.query || ''}`.trim()}
|
||||||
style={defaultStyles.query}
|
style={defaultStyles.query}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
placeholder={placeholder}
|
placeholder={placeholder}
|
||||||
@@ -240,7 +243,7 @@ export default function Container(props) {
|
|||||||
|
|
||||||
{typeahead && (
|
{typeahead && (
|
||||||
<input
|
<input
|
||||||
className={`${customStyles.input || ''} ${customStyles.typeahead || ''}`.trim()}
|
className={`${inputStyles || ''} ${customStyles.typeahead || ''}`.trim()}
|
||||||
style={defaultStyles.typeahead}
|
style={defaultStyles.typeahead}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
type='text'
|
type='text'
|
||||||
|
|||||||
Reference in New Issue
Block a user