@@ -207,34 +207,38 @@ select :: forall option. SelectProps option -> JSX
207207select = makeStateless component render
208208 where
209209 render props =
210- selectBackend
211- { isOpen: Nothing
212- , loadOnMount: props.loadOnMount
213- , loadOptions: props.loadOptions
214- , optionSort: props.optionSort
215- , toSelectOption: props.toSelectOption
216- , allowMultiple: props.allowMultiple
217- , disabled: props.disabled
218- , onChange: props.onChange
219- , value: props.value
220- , render: \selectState ->
221- lumiSelectElement
222- { " class" : props.className
223- , " data-disabled" : props.disabled
224- , " data-focus" : selectState.isOpen
225- , " data-multi" : props.allowMultiple
226- , style: props.style
227- , children:
228- [ renderInput props selectState
229- , if selectState.isOpen
230- then renderMenu props selectState
231- else empty
232- ]
233- , onClick: Events .handler currentTarget \ct -> do
234- selectState.openSelect
235- traverse_ focusChildInput $ Node .fromEventTarget ct
236- , onFocus: Events .handler_ selectState.openSelect
237- }
210+ lumiSelectElement
211+ { " class" : props.className
212+ , " data-disabled" : props.disabled
213+ , " data-multi" : props.allowMultiple
214+ , style: props.style
215+ , children:
216+ [ selectBackend
217+ { isOpen: Nothing
218+ , loadOnMount: props.loadOnMount
219+ , loadOptions: props.loadOptions
220+ , optionSort: props.optionSort
221+ , toSelectOption: props.toSelectOption
222+ , allowMultiple: props.allowMultiple
223+ , disabled: props.disabled
224+ , onChange: props.onChange
225+ , value: props.value
226+ , render: \selectState ->
227+ lumiSelectInnerElement
228+ { " data-focus" : selectState.isOpen
229+ , children:
230+ [ renderInput props selectState
231+ , if selectState.isOpen
232+ then renderMenu props selectState
233+ else empty
234+ ]
235+ , onClick: Events .handler currentTarget \ct -> do
236+ selectState.openSelect
237+ traverse_ focusChildInput $ Node .fromEventTarget ct
238+ , onFocus: Events .handler_ selectState.openSelect
239+ }
240+ }
241+ ]
238242 }
239243
240244 renderInput props selectState =
@@ -344,6 +348,8 @@ select = makeStateless component render
344348
345349 lumiSelectElement =
346350 element (R .unsafeCreateDOMComponent " lumi-select" )
351+ lumiSelectInnerElement =
352+ element (R .unsafeCreateDOMComponent " lumi-select-inner" )
347353 lumiSelectInputElement =
348354 element (R .unsafeCreateDOMComponent " lumi-select-input" )
349355 lumiSelectNativeInputElement =
@@ -402,7 +408,7 @@ styles = jss
402408 }
403409
404410 , " &:hover lumi-select-input" : lumiInputHoverStyles
405- , " &:focus lumi-select-input, &[data-focus=\" true\" ] lumi-select-input" : lumiInputFocusStyles
411+ , " &:focus lumi-select-input, & lumi-select-inner [data-focus=\" true\" ] lumi-select-input" : lumiInputFocusStyles
406412 , " &[data-disabled=\" true\" ] lumi-select-input" : lumiInputDisabledStyles
407413
408414 , " & lumi-select-input-selected-values" :
0 commit comments