@@ -207,34 +207,38 @@ select :: forall option. SelectProps option -> JSX
207
207
select = makeStateless component render
208
208
where
209
209
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
+ ]
238
242
}
239
243
240
244
renderInput props selectState =
@@ -344,6 +348,8 @@ select = makeStateless component render
344
348
345
349
lumiSelectElement =
346
350
element (R .unsafeCreateDOMComponent " lumi-select" )
351
+ lumiSelectInnerElement =
352
+ element (R .unsafeCreateDOMComponent " lumi-select-inner" )
347
353
lumiSelectInputElement =
348
354
element (R .unsafeCreateDOMComponent " lumi-select-input" )
349
355
lumiSelectNativeInputElement =
@@ -402,7 +408,7 @@ styles = jss
402
408
}
403
409
404
410
, " &: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
406
412
, " &[data-disabled=\" true\" ] lumi-select-input" : lumiInputDisabledStyles
407
413
408
414
, " & lumi-select-input-selected-values" :
0 commit comments