UNPKG

react-select-module

Version:
78 lines (71 loc) 2.07 kB
import { containerCSS, indicatorsContainerCSS, valueContainerCSS, } from './components/containers'; import { css as controlCSS } from './components/Control'; import { groupCSS, groupHeadingCSS } from './components/Group'; import { clearIndicatorCSS, dropdownIndicatorCSS, loadingIndicatorCSS, indicatorSeparatorCSS, } from './components/indicators'; import { inputCSS } from './components/Input'; import { placeholderCSS } from './components/Placeholder'; import { optionCSS } from './components/Option'; import { menuCSS, menuListCSS, menuPortalCSS, noOptionsMessageCSS, loadingMessageCSS, } from './components/Menu'; import { css as singleValueCSS } from './components/SingleValue'; import { multiValueCSS, multiValueLabelCSS, multiValueRemoveCSS, } from './components/MultiValue'; // TODO: flow for state export const defaultStyles = { clearIndicator: clearIndicatorCSS, container: containerCSS, control: controlCSS, dropdownIndicator: dropdownIndicatorCSS, group: groupCSS, groupHeading: groupHeadingCSS, indicatorsContainer: indicatorsContainerCSS, indicatorSeparator: indicatorSeparatorCSS, input: inputCSS, loadingIndicator: loadingIndicatorCSS, loadingMessage: loadingMessageCSS, menu: menuCSS, menuList: menuListCSS, menuPortal: menuPortalCSS, multiValue: multiValueCSS, multiValueLabel: multiValueLabelCSS, multiValueRemove: multiValueRemoveCSS, noOptionsMessage: noOptionsMessageCSS, option: optionCSS, placeholder: placeholderCSS, singleValue: singleValueCSS, valueContainer: valueContainerCSS, }; // Merge Utility // Allows consumers to extend a base Select with additional styles export function mergeStyles(source, target = {}) { // initialize with source styles const styles = { ...source }; // massage in target styles Object.keys(target).forEach(key => { if (source[key]) { styles[key] = (rsCss, props) => { return target[key](source[key](rsCss, props), props); }; } else { styles[key] = target[key]; } }); return styles; }