Skip to content

Instantly share code, notes, and snippets.

@Woody88
Created January 30, 2019 08:32
Show Gist options
  • Select an option

  • Save Woody88/ad1c5b62955a65dbe53ae2eeb47d8979 to your computer and use it in GitHub Desktop.

Select an option

Save Woody88/ad1c5b62955a65dbe53ae2eeb47d8979 to your computer and use it in GitHub Desktop.
module DesignSystem.Components.ComboBox where
import DesignSystem.Components.Internal (_comboBoxImpl)
import React.Basic (JSX, element)
import React.Basic.Events (EventHandler)
import Prim.Row
type ComboboxProps
= ( assistiveText :: String
, className :: String
, classNameContainer :: String
, classNameMenu :: String
, classNameMenuSubHeader :: String
, events :: Record EventProps
, errorText :: String
, fieldLevelHelpTooltip :: JSX
, hasStaticAlignment :: Boolean
, id :: String
, labels :: Record ComboBoxLabelProps
, isOpen :: Boolean
, inheritWidthOf :: String
, menuItem :: EventHandler
, menuPosition :: String
, menuMaxWidth :: String
, multiple :: Boolean
, options :: Record OptionProps
, readOnlyMenuItemVisibleLength :: Int
, predefinedOptionsOnly :: Boolean
, required :: Boolean
, selection :: Record OptionProps
, selectedListboxRef :: EventHandler
, value :: String
, variant :: String
)
type EventProps
= ( onBlur :: EventHandler
, onChange :: EventHandler
, onClose :: EventHandler
, onFocus :: EventHandler
, onOpen :: EventHandler
, onRequestClose :: EventHandler
, onRequestRemoveSelectedOption :: EventHandler
, onSelect :: EventHandler
, onSubmit :: EventHandler
)
type ComboBoxLabelProps
= ( label :: JSX
, multipleOptionsSelected :: String
, noOptionsFound :: JSX
, placeholder :: String
, placeholderReadOnly :: String
, removePillTitle :: String
)
type OptionProps
= ( id :: String
, label :: String
, subTitle :: String
, "type" :: String
)
comboBox :: forall partial trash. Union partial trash ComboboxProps => { | partial } -> JSX
comboBox = element _comboBoxImpl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment