react-select-plus
Advanced tools
Comparing version 1.0.0-rc.1.patch1 to 1.0.0-rc.1.patch2
@@ -1,2 +0,2 @@ | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Select=e()}}(function(){return function e(t,u,n){function s(i,r){if(!u[i]){if(!t[i]){var a="function"==typeof require&&require;if(!r&&a)return a(i,!0);if(o)return o(i,!0);var l=new Error("Cannot find module '"+i+"'");throw l.code="MODULE_NOT_FOUND",l}var p=u[i]={exports:{}};t[i][0].call(p.exports,function(e){var u=t[i][1][e];return s(u?u:e)},p,p.exports,e,t,u,n)}return u[i].exports}for(var o="function"==typeof require&&require,i=0;i<n.length;i++)s(n[i]);return s}({1:[function(e,t,u){(function(u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function s(e){return e&&"object"!=typeof e&&(e={}),e?e:null}function o(e,t,u){e&&(e[t]=u)}function i(e,t){if(e)for(var u=t.length;u>=0;--u){var n=t.slice(0,u);if(e[n]&&(t===n||e[n].complete))return e[n]}}function r(e,t){if(e&&"function"==typeof e.then)return e.then(function(e){t(null,e)},function(e){t(e)})}var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},l="undefined"!=typeof window?window.React:"undefined"!=typeof u?u.React:null,p=n(l),d=e("./Select"),c=n(d),f=e("./utils/stripDiacritics"),h=n(f),E=0,g=p["default"].PropTypes.oneOfType([p["default"].PropTypes.string,p["default"].PropTypes.node]),y=p["default"].createClass({displayName:"Async",propTypes:{cache:p["default"].PropTypes.any,ignoreAccents:p["default"].PropTypes.bool,ignoreCase:p["default"].PropTypes.bool,isLoading:p["default"].PropTypes.bool,loadOptions:p["default"].PropTypes.func.isRequired,loadingPlaceholder:p["default"].PropTypes.string,minimumInput:p["default"].PropTypes.number,noResultsText:g,onInputChange:p["default"].PropTypes.func,placeholder:g,searchPromptText:g,searchingText:p["default"].PropTypes.string},getDefaultProps:function(){return{cache:!0,ignoreAccents:!0,ignoreCase:!0,loadingPlaceholder:"Loading...",minimumInput:0,searchingText:"Searching...",searchPromptText:"Type to search"}},getInitialState:function(){return{cache:s(this.props.cache),isLoading:!1,options:[]}},componentWillMount:function(){this._lastInput=""},componentDidMount:function(){this.loadOptions("")},componentWillReceiveProps:function(e){e.cache!==this.props.cache&&this.setState({cache:s(e.cache)})},focus:function(){this.select.focus()},resetState:function(){this._currentRequestId=-1,this.setState({isLoading:!1,options:[]})},getResponseHandler:function(e){var t=this,u=this._currentRequestId=E++;return function(n,s){if(n)throw n;t.isMounted()&&(o(t.state.cache,e,s),u===t._currentRequestId&&t.setState({isLoading:!1,options:s&&s.options||[]}))}},loadOptions:function(e){if(this.props.onInputChange){var t=this.props.onInputChange(e);null!=t&&(e=""+t)}if(this.props.ignoreAccents&&(e=(0,h["default"])(e)),this.props.ignoreCase&&(e=e.toLowerCase()),this._lastInput=e,e.length<this.props.minimumInput)return this.resetState();var u=i(this.state.cache,e);if(u)return this.setState({options:u.options});this.setState({isLoading:!0});var n=this.getResponseHandler(e),s=r(this.props.loadOptions(e,n),n);return s?s.then(function(){return e}):e},render:function(){var e=this,t=this.props.noResultsText,u=this.state,n=u.isLoading,s=u.options;this.props.isLoading&&(n=!0);var o=n?this.props.loadingPlaceholder:this.props.placeholder;return n?t=this.props.searchingText:!s.length&&this._lastInput.length<this.props.minimumInput&&(t=this.props.searchPromptText),p["default"].createElement(c["default"],a({},this.props,{ref:function(t){return e.select=t},isLoading:n,noResultsText:t,onInputChange:this.loadOptions,options:s,placeholder:o}))}});t.exports=y}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Select":6,"./utils/stripDiacritics":10}],2:[function(e,t,u){(function(u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function s(e,t){var u={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(u[n]=e[n]);return u}function o(e){var t=e.option,u=e.options,n=e.labelKey,s=e.valueKey;return 0===u.filter(function(e){return e[n]===t[n]||e[s]===t[s]}).length}function i(e){var t=e.label;return!!t}function r(e){var t=e.label,u=e.labelKey,n=e.valueKey,s={};return s[n]=t,s[u]=t,s.className="Select-create-option-placeholder",s}function a(e){return'Create option "'+e+'"'}function l(e){var t=e.keyCode;switch(t){case 9:case 13:case 188:return!0}return!1}var p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},d="undefined"!=typeof window?window.React:"undefined"!=typeof u?u.React:null,c=n(d),f=e("./Select"),h=n(f),E=e("./utils/defaultFilterOptions"),g=n(E),y=e("./utils/defaultMenuRenderer"),b=n(y),v=c["default"].createClass({displayName:"CreatableSelect",propTypes:{filterOptions:c["default"].PropTypes.any,isOptionUnique:c["default"].PropTypes.func,isValidNewOption:c["default"].PropTypes.func,menuRenderer:c["default"].PropTypes.any,newOptionCreator:c["default"].PropTypes.func,promptTextCreator:c["default"].PropTypes.func,shouldKeyDownEventCreateNewOption:c["default"].PropTypes.func},statics:{isOptionUnique:o,isValidNewOption:i,newOptionCreator:r,promptTextCreator:a,shouldKeyDownEventCreateNewOption:l},getDefaultProps:function(){return{filterOptions:g["default"],isOptionUnique:o,isValidNewOption:i,menuRenderer:b["default"],newOptionCreator:r,promptTextCreator:a,shouldKeyDownEventCreateNewOption:l}},createNewOption:function(){var e=this.props,t=e.isValidNewOption,u=e.newOptionCreator,n=(e.shouldKeyDownEventCreateNewOption,this.select.props),s=n.labelKey,o=n.options,i=n.valueKey,r=this.select.getInputValue();if(t({label:r})){var a=u({label:r,labelKey:s,valueKey:i}),l=this.isOptionUnique({option:a});l&&(o.unshift(a),this.select.selectValue(a))}},filterOptions:function m(){var e=this.props,m=e.filterOptions,t=e.isValidNewOption,u=e.promptTextCreator,n=m.apply(void 0,arguments),s=this.select?this.select.getInputValue():"";if(t({label:s})){var o=this.props.newOptionCreator,i=this.select.props,r=i.labelKey,a=i.options,l=i.valueKey,p=o({label:s,labelKey:r,valueKey:l}),d=this.isOptionUnique({option:p,options:a});if(d){var c=u(s);this._createPlaceholderOption=o({label:c,labelKey:r,valueKey:l}),n.unshift(this._createPlaceholderOption)}}return n},isOptionUnique:function F(e){var t=e.option,u=e.options;if(!this.select)return!1;var F=this.props.isOptionUnique,n=this.select.props,s=n.labelKey,o=n.valueKey;return u=u||this.select.filterFlatOptions(),F({labelKey:s,option:t,options:u,valueKey:o})},menuRenderer:function C(e){var C=this.props.menuRenderer;return C(p({},e,{onSelect:this.onOptionSelect}))},onInputKeyDown:function(e){var t=this.props.shouldKeyDownEventCreateNewOption,u=this.select.getFocusedOption();u&&u===this._createPlaceholderOption&&t({keyCode:e.keyCode})&&(this.createNewOption(),e.preventDefault())},onOptionSelect:function(e,t){e===this._createPlaceholderOption?this.createNewOption():this.select.selectValue(e)},render:function(){var e=this,t=this.props,u=(t.newOptionCreator,t.shouldKeyDownEventCreateNewOption,s(t,["newOptionCreator","shouldKeyDownEventCreateNewOption"]));return c["default"].createElement(h["default"],p({},u,{allowCreate:!0,filterOptions:this.filterOptions,menuRenderer:this.menuRenderer,onInputKeyDown:this.onInputKeyDown,ref:function(t){return e.select=t}}))}});t.exports=v}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Select":6,"./utils/defaultFilterOptions":8,"./utils/defaultMenuRenderer":9}],3:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}var n="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,s=u(n),o=s["default"].createClass({displayName:"Dropdown",propTypes:{children:s["default"].PropTypes.node},render:function(){return this.props.children}});t.exports=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}var n="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,s=u(n),o="undefined"!=typeof window?window.classNames:"undefined"!=typeof e?e.classNames:null,i=u(o),r=s["default"].createClass({displayName:"Option",propTypes:{children:s["default"].PropTypes.node,className:s["default"].PropTypes.string,instancePrefix:s["default"].PropTypes.string.isRequired,isDisabled:s["default"].PropTypes.bool,isFocused:s["default"].PropTypes.bool,isSelected:s["default"].PropTypes.bool,onFocus:s["default"].PropTypes.func,onSelect:s["default"].PropTypes.func,onUnfocus:s["default"].PropTypes.func,option:s["default"].PropTypes.object.isRequired,optionIndex:s["default"].PropTypes.number},blockEvent:function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},handleMouseDown:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)},handleMouseEnter:function(e){this.onFocus(e)},handleMouseMove:function(e){this.onFocus(e)},handleTouchEnd:function(e){this.dragging||this.handleMouseDown(e)},handleTouchMove:function(e){this.dragging=!0},handleTouchStart:function(e){this.dragging=!1},onFocus:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)},render:function(){var e=this.props,t=e.option,u=e.instancePrefix,n=e.optionIndex,o=(0,i["default"])(this.props.className,t.className);return t.disabled?s["default"].createElement("div",{className:o,onMouseDown:this.blockEvent,onClick:this.blockEvent},this.props.children):s["default"].createElement("div",{className:o,style:t.style,role:"option",onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:u+"-option-"+n,title:t.title},this.props.children)}});t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}var n="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,s=u(n),o="undefined"!=typeof window?window.classNames:"undefined"!=typeof e?e.classNames:null,i=u(o),r=s["default"].createClass({displayName:"OptionGroup",propTypes:{children:s["default"].PropTypes.any,className:s["default"].PropTypes.string,label:s["default"].PropTypes.node,option:s["default"].PropTypes.object.isRequired},blockEvent:function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},handleMouseDown:function(e){e.preventDefault(),e.stopPropagation()},handleTouchEnd:function(e){this.dragging||this.handleMouseDown(e)},handleTouchMove:function(e){this.dragging=!0},handleTouchStart:function(e){this.dragging=!1},render:function(){var e=this.props.option,t=(0,i["default"])(this.props.className,e.className);return e.disabled?s["default"].createElement("div",{className:t,onMouseDown:this.blockEvent,onClick:this.blockEvent},this.props.children):s["default"].createElement("div",{className:t,style:e.style,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,title:e.title},s["default"].createElement("div",{className:"Select-option-group-label"},this.props.label),this.props.children)}});t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],6:[function(e,t,u){(function(n){"use strict";function s(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){var u={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(u[n]=e[n]);return u}function i(e,t,u){return t in e?Object.defineProperty(e,t,{value:u,enumerable:!0,configurable:!0,writable:!0}):e[t]=u,e}function r(e){var t={};for(var u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);return t}function a(e){return e&&Array.isArray(e.options)}function l(e){return"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):e||0===e?String(e):""}Object.defineProperty(u,"__esModule",{value:!0});var p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},d="undefined"!=typeof window?window.React:"undefined"!=typeof n?n.React:null,c=s(d),f="undefined"!=typeof window?window.ReactDOM:"undefined"!=typeof n?n.ReactDOM:null,h=s(f),E="undefined"!=typeof window?window.AutosizeInput:"undefined"!=typeof n?n.AutosizeInput:null,g=s(E),y="undefined"!=typeof window?window.classNames:"undefined"!=typeof n?n.classNames:null,b=s(y),v=e("./utils/defaultFilterOptions"),m=s(v),F=e("./utils/defaultMenuRenderer"),C=s(F),O=e("./Async"),T=s(O),A=e("./Dropdown"),w=s(A),P=e("./Creatable"),D=s(P),S=e("./Option"),B=s(S),V=e("./OptionGroup"),M=s(V),x=e("./Value"),R=s(x),N=c["default"].PropTypes.oneOfType([c["default"].PropTypes.string,c["default"].PropTypes.node]),I=1,_={},K=c["default"].createClass({displayName:"Select",propTypes:{addLabelText:c["default"].PropTypes.string,"aria-label":c["default"].PropTypes.string,"aria-labelledby":c["default"].PropTypes.string,autoBlur:c["default"].PropTypes.bool,autofocus:c["default"].PropTypes.bool,autosize:c["default"].PropTypes.bool,backspaceRemoves:c["default"].PropTypes.bool,backspaceToRemoveMessage:c["default"].PropTypes.string,className:c["default"].PropTypes.string,clearAllText:N,clearValueText:N,clearable:c["default"].PropTypes.bool,delimiter:c["default"].PropTypes.string,disabled:c["default"].PropTypes.bool,dropdownComponent:c["default"].PropTypes.func,escapeClearsValue:c["default"].PropTypes.bool,filterOption:c["default"].PropTypes.func,filterOptions:c["default"].PropTypes.any,ignoreAccents:c["default"].PropTypes.bool,ignoreCase:c["default"].PropTypes.bool,inputProps:c["default"].PropTypes.object,inputRenderer:c["default"].PropTypes.func,instanceId:c["default"].PropTypes.string,isLoading:c["default"].PropTypes.bool,isOpen:c["default"].PropTypes.bool,joinValues:c["default"].PropTypes.bool,labelKey:c["default"].PropTypes.string,matchPos:c["default"].PropTypes.string,matchProp:c["default"].PropTypes.string,menuBuffer:c["default"].PropTypes.number,menuContainerStyle:c["default"].PropTypes.object,menuRenderer:c["default"].PropTypes.func,menuStyle:c["default"].PropTypes.object,multi:c["default"].PropTypes.bool,name:c["default"].PropTypes.string,noResultsText:N,onBlur:c["default"].PropTypes.func,onBlurResetsInput:c["default"].PropTypes.bool,onChange:c["default"].PropTypes.func,onClose:c["default"].PropTypes.func,onCloseResetsInput:c["default"].PropTypes.bool,onFocus:c["default"].PropTypes.func,onInputChange:c["default"].PropTypes.func,onInputKeyDown:c["default"].PropTypes.func,onMenuScrollToBottom:c["default"].PropTypes.func,onOpen:c["default"].PropTypes.func,onValueClick:c["default"].PropTypes.func,openAfterFocus:c["default"].PropTypes.bool,openOnFocus:c["default"].PropTypes.bool,optionClassName:c["default"].PropTypes.string,optionComponent:c["default"].PropTypes.func,optionGroupComponent:c["default"].PropTypes.func,optionRenderer:c["default"].PropTypes.func,options:c["default"].PropTypes.array,pageSize:c["default"].PropTypes.number,placeholder:N,renderInvalidValues:c["default"].PropTypes.bool,required:c["default"].PropTypes.bool,resetValue:c["default"].PropTypes.any,scrollMenuIntoView:c["default"].PropTypes.bool,searchable:c["default"].PropTypes.bool,simpleValue:c["default"].PropTypes.bool,style:c["default"].PropTypes.object,tabIndex:c["default"].PropTypes.string,tabSelectsValue:c["default"].PropTypes.bool,value:c["default"].PropTypes.any,valueComponent:c["default"].PropTypes.func,valueKey:c["default"].PropTypes.string,valueRenderer:c["default"].PropTypes.func,wrapperStyle:c["default"].PropTypes.object},statics:{Async:T["default"],Creatable:D["default"]},getDefaultProps:function(){return{addLabelText:'Add "{label}"?',autosize:!0,backspaceRemoves:!0,backspaceToRemoveMessage:"Press backspace to remove {label}",clearable:!0,clearAllText:"Clear all",clearValueText:"Clear value",delimiter:",",disabled:!1,dropdownComponent:w["default"],escapeClearsValue:!0,filterOptions:m["default"],ignoreAccents:!0,ignoreCase:!0,inputProps:{},isLoading:!1,joinValues:!1,labelKey:"label",matchPos:"any",matchProp:"any",menuBuffer:0,menuRenderer:C["default"],multi:!1,noResultsText:"No results found",onBlurResetsInput:!0,onCloseResetsInput:!0,openAfterFocus:!1,optionComponent:B["default"],optionGroupComponent:M["default"],pageSize:5,placeholder:"Select...",renderInvalidValues:!1,required:!1,scrollMenuIntoView:!0,searchable:!0,simpleValue:!1,tabSelectsValue:!0,valueComponent:R["default"],valueKey:"value"}},getInitialState:function(){return{inputValue:"",isFocused:!1,isOpen:!1,isPseudoFocused:!1,required:!1}},componentWillMount:function(){this._flatOptions=this.flattenOptions(this.props.options),this._instancePrefix="react-select-"+(this.props.instanceId||++I)+"-";var e=this.getValueArray(this.props.value);this.props.required&&this.setState({required:this.handleRequired(e[0],this.props.multi)})},componentDidMount:function(){this.props.autofocus&&this.focus()},componentWillReceiveProps:function(e){e.options!==this.props.options&&(this._flatOptions=this.flattenOptions(e.options));var t=this.getValueArray(e.value,e);e.required&&this.setState({required:this.handleRequired(t[0],e.multi)})},componentWillUpdate:function(e,t){if(t.isOpen!==this.state.isOpen){this.toggleTouchOutsideEvent(t.isOpen);var u=t.isOpen?e.onOpen:e.onClose;u&&u()}},componentDidUpdate:function(e,t){if(this.menu&&this.focused&&this.state.isOpen&&!this.hasScrolledToOption){var u=h["default"].findDOMNode(this.focused),n=u.previousSibling,s=u.parentElement,o=h["default"].findDOMNode(this.menu);n?o.scrollTop=n.offsetTop:s&&"Select-menu"===s?o.scrollTop=s.offsetTop:o.scrollTop=u.offsetTop,this.hasScrolledToOption=!0}else this.state.isOpen||(this.hasScrolledToOption=!1);if(this._scrollToFocusedOptionOnUpdate&&this.focused&&this.menu){this._scrollToFocusedOptionOnUpdate=!1;var i=h["default"].findDOMNode(this.focused),r=h["default"].findDOMNode(this.menu),a=i.getBoundingClientRect(),l=r.getBoundingClientRect();(a.bottom>l.bottom||a.top<l.top)&&(r.scrollTop=i.offsetTop+i.clientHeight-r.offsetHeight)}if(this.props.scrollMenuIntoView&&this.menuContainer){var p=this.menuContainer.getBoundingClientRect();window.innerHeight<p.bottom+this.props.menuBuffer&&window.scrollBy(0,p.bottom+this.props.menuBuffer-window.innerHeight)}e.disabled!==this.props.disabled&&(this.setState({isFocused:!1}),this.closeMenu())},componentWillUnmount:function(){document.removeEventListener("touchstart",this.handleTouchOutside)},toggleTouchOutsideEvent:function(e){e?document.addEventListener("touchstart",this.handleTouchOutside):document.removeEventListener("touchstart",this.handleTouchOutside)},handleTouchOutside:function(e){this.wrapper&&!this.wrapper.contains(e.target)&&this.closeMenu()},focus:function(){this.input&&(this.input.focus(),this.props.openAfterFocus&&this.setState({isOpen:!0}))},blurInput:function(){this.input&&this.input.blur()},handleTouchMove:function(e){this.dragging=!0},handleTouchStart:function(e){this.dragging=!1},handleTouchEnd:function(e){this.dragging||this.handleMouseDown(e)},handleTouchEndClearValue:function(e){this.dragging||this.clearValue(e)},handleMouseDown:function(e){if(!(this.props.disabled||"mousedown"===e.type&&0!==e.button)&&"INPUT"!==e.target.tagName){if(e.stopPropagation(),e.preventDefault(),!this.props.searchable)return this.focus(),this.setState({isOpen:!this.state.isOpen});if(this.state.isFocused){this.focus();var t=this.input;"function"==typeof t.getInput&&(t=t.getInput()),t.value="",this.setState({isOpen:!0,isPseudoFocused:!1})}else this._openAfterFocus=!0,this.focus()}},handleMouseDownOnArrow:function(e){this.props.disabled||"mousedown"===e.type&&0!==e.button||this.state.isOpen&&(e.stopPropagation(),e.preventDefault(),this.closeMenu())},handleMouseDownOnMenu:function(e){this.props.disabled||"mousedown"===e.type&&0!==e.button||(e.stopPropagation(),e.preventDefault(),this._openAfterFocus=!0,this.focus())},closeMenu:function(){this.props.onCloseResetsInput?this.setState({isOpen:!1,isPseudoFocused:this.state.isFocused&&!this.props.multi,inputValue:""}):this.setState({isOpen:!1,isPseudoFocused:this.state.isFocused&&!this.props.multi,inputValue:this.state.inputValue}),this.hasScrolledToOption=!1},handleInputFocus:function(e){var t=this.state.isOpen||this._openAfterFocus||this.props.openOnFocus;this.props.onFocus&&this.props.onFocus(e),this.setState({isFocused:!0,isOpen:t}),this._openAfterFocus=!1},handleInputBlur:function(e){if(this.menu&&(this.menu===document.activeElement||this.menu.contains(document.activeElement)))return void this.focus();this.props.onBlur&&this.props.onBlur(e);var t={isFocused:!1,isOpen:!1,isPseudoFocused:!1};this.props.onBlurResetsInput&&(t.inputValue=""),this.setState(t)},handleInputChange:function(e){var t=e.target.value;if(this.state.inputValue!==e.target.value&&this.props.onInputChange){var u=this.props.onInputChange(t);null!=u&&"object"!=typeof u&&(t=""+u)}this.setState({isOpen:!0,isPseudoFocused:!1,inputValue:t})},handleKeyDown:function(e){if(!(this.props.disabled||"function"==typeof this.props.onInputKeyDown&&(this.props.onInputKeyDown(e),e.defaultPrevented))){switch(e.keyCode){case 8:return void(!this.state.inputValue&&this.props.backspaceRemoves&&(e.preventDefault(),this.popValue()));case 9:if(e.shiftKey||!this.state.isOpen||!this.props.tabSelectsValue)return;return void this.selectFocusedOption();case 13:if(!this.state.isOpen)return;e.stopPropagation(),this.selectFocusedOption();break;case 27:this.state.isOpen?(this.closeMenu(),e.stopPropagation()):this.props.clearable&&this.props.escapeClearsValue&&(this.clearValue(e),e.stopPropagation());break;case 38:this.focusPreviousOption();break;case 40:this.focusNextOption();break;case 33:this.focusPageUpOption();break;case 34:this.focusPageDownOption();break;case 35:this.focusEndOption();break;case 36:this.focusStartOption();break;default:return}e.preventDefault()}},handleValueClick:function(e,t){this.props.onValueClick&&this.props.onValueClick(e,t)},handleMenuScroll:function(e){if(this.props.onMenuScrollToBottom){var t=e.target;t.scrollHeight>t.offsetHeight&&!(t.scrollHeight-t.offsetHeight-t.scrollTop)&&this.props.onMenuScrollToBottom()}},handleRequired:function(e,t){return!e||(t?0===e.length:0===Object.keys(e).length)},getOptionLabel:function(e){return e[this.props.labelKey]},getValueArray:function(e,t){var u=this,n="object"==typeof t?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return u.expandValue(e,n)}).filter(function(e){return e})}var s=this.expandValue(e,n);return s?[s]:[]},expandValue:function(e,t){if("string"!=typeof e&&"number"!=typeof e)return e;var u=this.props,n=u.labelKey,s=u.valueKey,o=u.renderInvalidValues,r=this._flatOptions;if(r&&""!==e){for(var a=0;a<r.length;a++)if(r[a][s]===e)return r[a];if(o){var l;return _[e]=_[e]||(l={invalid:!0},i(l,n,e),i(l,s,e),l),_[e]}}},setValue:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.onChange){if(this.props.required){var u=this.handleRequired(e,this.props.multi);this.setState({required:u})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange(e)}},selectValue:function(e){var t=this;this.hasScrolledToOption=!1,this.props.multi?this.setState({inputValue:"",focusedIndex:null},function(){t.addValue(e)}):this.setState({isOpen:!1,inputValue:"",isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})},addValue:function(e){var t=this.getValueArray(this.props.value);this.setValue(t.concat(e))},popValue:function(){var e=this.getValueArray(this.props.value);e.length&&e[e.length-1].clearableValue!==!1&&this.setValue(e.slice(0,e.length-1))},removeValue:function(e){var t=this.getValueArray(this.props.value);this.setValue(t.filter(function(t){return t!==e})),this.focus()},clearValue:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.stopPropagation(),e.preventDefault(),this.setValue(this.getResetValue()),this.setState({isOpen:!1,inputValue:""},this.focus))},getResetValue:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null},focusOption:function(e){this.setState({focusedOption:e})},focusNextOption:function(){this.focusAdjacentOption("next")},focusPreviousOption:function(){this.focusAdjacentOption("previous")},focusPageUpOption:function(){this.focusAdjacentOption("page_up")},focusPageDownOption:function(){this.focusAdjacentOption("page_down")},focusStartOption:function(){this.focusAdjacentOption("start")},focusEndOption:function(){this.focusAdjacentOption("end")},focusAdjacentOption:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen)return void this.setState({isOpen:!0,inputValue:"",focusedOption:this._focusedOption||t["next"===e?0:t.length-1].option});if(t.length){for(var u=-1,n=0;n<t.length;n++)if(this._focusedOption===t[n].option){u=n;break}if("next"===e&&u!==-1)u=(u+1)%t.length;else if("previous"===e)u>0?u-=1:u=t.length-1;else if("start"===e)u=0;else if("end"===e)u=t.length-1;else if("page_up"===e){var s=u-this.props.pageSize;u=s<0?0:s}else if("page_down"===e){var s=u+this.props.pageSize;u=s>t.length-1?t.length-1:s}u===-1&&(u=0),this.setState({focusedIndex:t[u].index,focusedOption:t[u].option})}},getFocusedOption:function(){return this._focusedOption},getInputValue:function(){return this.state.inputValue},selectFocusedOption:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)},renderLoading:function(){if(this.props.isLoading)return c["default"].createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c["default"].createElement("span",{className:"Select-loading"}))},renderValue:function(e,t){var u=this,n=this.props.valueRenderer||this.getOptionLabel,s=this.props.valueComponent;if(!e.length)return this.state.inputValue?null:c["default"].createElement("div",{className:"Select-placeholder"},this.props.placeholder);var o=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c["default"].createElement(s,{id:u._instancePrefix+"-value-"+t,instancePrefix:u._instancePrefix,disabled:u.props.disabled||e.clearableValue===!1,key:"value-"+t+"-"+e[u.props.valueKey],onClick:o,onRemove:u.removeValue,value:e},n(e,t),c["default"].createElement("span",{className:"Select-aria-only"}," "))}):this.state.inputValue?void 0:(t&&(o=null),c["default"].createElement(s,{id:this._instancePrefix+"-value-item",disabled:this.props.disabled,instancePrefix:this._instancePrefix,onClick:o,value:e[0]},n(e[0])))},renderInput:function(e,t){var u=this;if(this.props.inputRenderer)return this.props.inputRenderer();var n,s=(0,b["default"])("Select-input",this.props.inputProps.className),r=!!this.state.isOpen,a=(0,b["default"])((n={},i(n,this._instancePrefix+"-list",r),i(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=p({},this.props.inputProps,{role:"combobox","aria-expanded":""+r,"aria-owns":a,"aria-haspopup":""+r,"aria-activedescendant":r?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-labelledby":this.props["aria-labelledby"],"aria-label":this.props["aria-label"],className:s,tabIndex:this.props.tabIndex,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return u.input=e},required:this.state.required,value:this.state.inputValue});if(this.props.disabled||!this.props.searchable){var d=this.props.inputProps,f=(d.inputClassName,o(d,["inputClassName"]));return c["default"].createElement("div",p({},f,{role:"combobox","aria-expanded":r,"aria-owns":r?this._instancePrefix+"-list":this._instancePrefix+"-value","aria-activedescendant":r?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value",className:s,tabIndex:this.props.tabIndex||0,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return u.input=e},"aria-readonly":""+!!this.props.disabled,style:{border:0,width:1,display:"inline-block"}}))}return this.props.autosize?c["default"].createElement(g["default"],p({},l,{minWidth:"5px"})):c["default"].createElement("div",{className:s},c["default"].createElement("input",l))},renderClear:function(){if(this.props.clearable&&this.props.value&&0!==this.props.value&&(!this.props.multi||this.props.value.length)&&!this.props.disabled&&!this.props.isLoading)return c["default"].createElement("span",{className:"Select-clear-zone",title:this.props.multi?this.props.clearAllText:this.props.clearValueText,"aria-label":this.props.multi?this.props.clearAllText:this.props.clearValueText,onMouseDown:this.clearValue,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEndClearValue},c["default"].createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}}))},renderArrow:function(){return c["default"].createElement("span",{className:"Select-arrow-zone",onMouseDown:this.handleMouseDownOnArrow},c["default"].createElement("span",{className:"Select-arrow",onMouseDown:this.handleMouseDownOnArrow}))},filterFlatOptions:function(e){var t=this.state.inputValue,u=this._flatOptions;if(this.props.filterOptions){var n="function"==typeof this.props.filterOptions?this.props.filterOptions:m["default"];return n(u,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,valueKey:this.props.valueKey})}return u},flattenOptions:function(e,t){if(!e)return[];for(var u=[],n=0;n<e.length;n++){var s=r(e[n]);s.isInTree=!1,t&&(s.group=t),a(s)?(u=u.concat(this.flattenOptions(s.options,s)),s.options=[]):u.push(s)}return u},unflattenOptions:function(e){var t=[],u=void 0,n=void 0;return e.forEach(function(e){for(e.isInTree=!1,u=e.group;u;)u.isInTree&&(u.options=[],u.isInTree=!1),u=u.group}),e.forEach(function(e){for(n=e,u=n.group;u;)n.isInTree||(u.options.push(n),n.isInTree=!0),n=u,u=n.group;n.isInTree||(t.push(n),n.isInTree=!0)}),t},onOptionRef:function(e,t){t&&(this.focused=e)},renderMenu:function(e,t,u){return e&&e.length?this.props.menuRenderer({focusedOption:u,focusOption:this.focusOption,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionGroupComponent:this.props.optionGroupComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c["default"].createElement("div",{className:"Select-noresults"},this.props.noResultsText):null},renderHiddenField:function(e){var t=this;if(this.props.name){if(this.props.joinValues){ | ||
var u=e.map(function(e){return l(e[t.props.valueKey])}).join(this.props.delimiter);return c["default"].createElement("input",{type:"hidden",ref:function(e){return t.value=e},name:this.props.name,value:u,disabled:this.props.disabled})}return e.map(function(e,u){return c["default"].createElement("input",{key:"hidden."+u,type:"hidden",ref:"value"+u,name:t.props.name,value:l(e[t.props.valueKey]),disabled:t.props.disabled})})}},getFocusableOptionIndex:function(e){var t=this._visibleOptions;if(!t.length)return null;var u=this.state.focusedOption||e;if(u&&!u.disabled){var n=t.indexOf(u);if(n!==-1)return n}for(var s=0;s<t.length;s++)if(!t[s].disabled)return s;return null},renderOuter:function(e,t,u){var n=this,s=this.props.dropdownComponent,o=this.renderMenu(e,t,u);return o?c["default"].createElement(s,null,c["default"].createElement("div",{ref:function(e){return n.menuContainer=e},className:"Select-menu-outer",style:this.props.menuContainerStyle},c["default"].createElement("div",{ref:function(e){return n.menu=e},role:"listbox",className:"Select-menu",id:this._instancePrefix+"-list",style:this.props.menuStyle,onScroll:this.handleMenuScroll,onMouseDown:this.handleMouseDownOnMenu},o))):null},render:function(){var e=this,t=this.getValueArray(this.props.value);this._visibleOptions=this.filterFlatOptions(this.props.multi?t:null);var u=this.unflattenOptions(this._visibleOptions),n="boolean"==typeof this.props.isOpen?this.props.isOpen:this.state.isOpen;this.props.multi&&!u.length&&t.length&&!this.state.inputValue&&(n=!1);var s=this.getFocusableOptionIndex(t[0]),o=null;o=null!==s?this._focusedOption=this._visibleOptions[s]:this._focusedOption=null;var i=(0,b["default"])("Select",this.props.className,{"Select--multi":this.props.multi,"Select--single":!this.props.multi,"is-disabled":this.props.disabled,"is-focused":this.state.isFocused,"is-loading":this.props.isLoading,"is-open":n,"is-pseudo-focused":this.state.isPseudoFocused,"is-searchable":this.props.searchable,"has-value":t.length}),r=null;return this.props.multi&&!this.props.disabled&&t.length&&!this.state.inputValue&&this.state.isFocused&&this.props.backspaceRemoves&&(r=c["default"].createElement("span",{id:this._instancePrefix+"-backspace-remove-message",className:"Select-aria-only","aria-live":"assertive"},this.props.backspaceToRemoveMessage.replace("{label}",t[t.length-1][this.props.labelKey]))),c["default"].createElement("div",{ref:function(t){return e.wrapper=t},className:i,style:this.props.wrapperStyle},this.renderHiddenField(t),c["default"].createElement("div",{ref:function(t){return e.control=t},className:"Select-control",style:this.props.style,onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleTouchEnd,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},c["default"].createElement("span",{className:"Select-multi-value-wrapper",id:this._instancePrefix+"-value"},this.renderValue(t,n),this.renderInput(t,s)),r,this.renderLoading(),this.renderClear(),this.renderArrow()),n?this.renderOuter(u,this.props.multi?null:t,o):null)}});u["default"]=K,t.exports=u["default"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Async":1,"./Creatable":2,"./Dropdown":3,"./Option":4,"./OptionGroup":5,"./Value":7,"./utils/defaultFilterOptions":8,"./utils/defaultMenuRenderer":9}],7:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}var n="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,s=u(n),o="undefined"!=typeof window?window.classNames:"undefined"!=typeof e?e.classNames:null,i=u(o),r=s["default"].createClass({displayName:"Value",propTypes:{children:s["default"].PropTypes.node,disabled:s["default"].PropTypes.bool,id:s["default"].PropTypes.string,onClick:s["default"].PropTypes.func,onRemove:s["default"].PropTypes.func,value:s["default"].PropTypes.object.isRequired},handleMouseDown:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())},onRemove:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)},handleTouchEndRemove:function(e){this.dragging||this.onRemove(e)},handleTouchMove:function(e){this.dragging=!0},handleTouchStart:function(e){this.dragging=!1},renderRemoveIcon:function(){if(!this.props.disabled&&this.props.onRemove)return s["default"].createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")},renderLabel:function(){var e="Select-value-label";return this.props.onClick||this.props.value.href?s["default"].createElement("a",{className:e,href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):s["default"].createElement("span",{className:e,role:"option","aria-selected":"true",id:this.props.id},this.props.children)},render:function(){return s["default"].createElement("div",{className:(0,i["default"])("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}});t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],8:[function(e,t,u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function s(e,t,u,n){var s=this;return n.ignoreAccents&&(t=(0,i["default"])(t)),n.ignoreCase&&(t=t.toLowerCase()),u&&(u=u.map(function(e){return e[n.valueKey]})),e.filter(function(e){if(u&&u.indexOf(e[n.valueKey])>-1)return!1;if(n.filterOption)return n.filterOption.call(s,e,t);if(!t)return!0;var o=String(e[n.valueKey]),r=String(e[n.labelKey]);return n.ignoreAccents&&("label"!==n.matchProp&&(o=(0,i["default"])(o)),"value"!==n.matchProp&&(r=(0,i["default"])(r))),n.ignoreCase&&("label"!==n.matchProp&&(o=o.toLowerCase()),"value"!==n.matchProp&&(r=r.toLowerCase())),"start"===n.matchPos?"label"!==n.matchProp&&o.substr(0,t.length)===t||"value"!==n.matchProp&&r.substr(0,t.length)===t:"label"!==n.matchProp&&o.indexOf(t)>=0||"value"!==n.matchProp&&r.indexOf(t)>=0})}var o=e("./stripDiacritics"),i=n(o);t.exports=s},{"./stripDiacritics":10}],9:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}function n(e){return e&&Array.isArray(e.options)}function s(e){var t=e.focusedOption,u=e.instancePrefix,s=(e.labelKey,e.onFocus),o=e.onOptionRef,r=e.onSelect,l=e.optionClassName,p=e.optionComponent,d=e.optionGroupComponent,c=e.optionRenderer,f=e.options,h=e.valueArray,E=e.valueKey,g=d,y=p,b=c||this.getOptionLabel,v=function m(e){return e.map(function(e,p){if(n(e)){var d=(0,i["default"])({"Select-option-group":!0});return a["default"].createElement(g,{className:d,key:"option-group-"+p,label:b(e),option:e,optionIndex:p},m(e.options))}var c=function(){var n=h&&h.indexOf(e)>-1,d=e===t,c=(0,i["default"])(l,{"Select-option":!0,"is-selected":n,"is-focused":d,"is-disabled":e.disabled});return{v:a["default"].createElement(y,{className:c,instancePrefix:u,isDisabled:e.disabled,isFocused:d,isSelected:n,key:"option-"+p+"-"+e[E],onFocus:s,onSelect:r,option:e,optionIndex:p,ref:function(e){o(e,d)}},b(e,p))}}();if("object"==typeof c)return c.v})};return v(f)}var o="undefined"!=typeof window?window.classNames:"undefined"!=typeof e?e.classNames:null,i=u(o),r="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,a=u(r);t.exports=s}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],10:[function(e,t,u){"use strict";var n=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}];t.exports=function(e){for(var t=0;t<n.length;t++)e=e.replace(n[t].letters,n[t].base);return e}},{}]},{},[6])(6)}); | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Select=e()}}(function(){return function e(t,u,n){function o(i,r){if(!u[i]){if(!t[i]){var a="function"==typeof require&&require;if(!r&&a)return a(i,!0);if(s)return s(i,!0);var l=new Error("Cannot find module '"+i+"'");throw l.code="MODULE_NOT_FOUND",l}var p=u[i]={exports:{}};t[i][0].call(p.exports,function(e){var u=t[i][1][e];return o(u?u:e)},p,p.exports,e,t,u,n)}return u[i].exports}for(var s="function"==typeof require&&require,i=0;i<n.length;i++)o(n[i]);return o}({1:[function(e,t,u){(function(u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){var u={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(u[n]=e[n]);return u}function s(e){return e&&"object"!=typeof e&&(e={}),e?e:null}function i(e,t,u){e&&(e[t]=u)}function r(e,t){if(e)for(var u=t.length;u>=0;--u){var n=t.slice(0,u);if(e[n]&&(t===n||e[n].complete))return e[n]}}function a(e,t){if(e&&"function"==typeof e.then)return e.then(function(e){t(null,e)},function(e){t(e)})}function l(e){return c["default"].createElement(h["default"],e)}var p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},d="undefined"!=typeof window?window.React:"undefined"!=typeof u?u.React:null,c=n(d),f=e("./Select"),h=n(f),E=e("./utils/stripDiacritics"),g=n(E),y=0,b=c["default"].PropTypes.oneOfType([c["default"].PropTypes.string,c["default"].PropTypes.node]),v=c["default"].createClass({displayName:"Async",propTypes:{cache:c["default"].PropTypes.any,children:c["default"].PropTypes.func,ignoreAccents:c["default"].PropTypes.bool,ignoreCase:c["default"].PropTypes.bool,isLoading:c["default"].PropTypes.bool,loadOptions:c["default"].PropTypes.func.isRequired,loadingPlaceholder:c["default"].PropTypes.string,minimumInput:c["default"].PropTypes.number,noResultsText:b,onInputChange:c["default"].PropTypes.func,placeholder:b,searchPromptText:b,searchingText:c["default"].PropTypes.string},getDefaultProps:function(){return{cache:!0,ignoreAccents:!0,ignoreCase:!0,loadingPlaceholder:"Loading...",minimumInput:0,searchingText:"Searching...",searchPromptText:"Type to search"}},getInitialState:function(){return{cache:s(this.props.cache),isLoading:!1,options:[]}},componentWillMount:function(){this._lastInput=""},componentDidMount:function(){this.loadOptions("")},componentWillReceiveProps:function(e){e.cache!==this.props.cache&&this.setState({cache:s(e.cache)})},focus:function(){this.select.focus()},resetState:function(){this._currentRequestId=-1,this.setState({isLoading:!1,options:[]})},getResponseHandler:function(e){var t=this,u=this._currentRequestId=y++;return function(n,o){if(n)throw n;t.isMounted()&&(i(t.state.cache,e,o),u===t._currentRequestId&&t.setState({isLoading:!1,options:o&&o.options||[]}))}},loadOptions:function(e){if(this.props.onInputChange){var t=this.props.onInputChange(e);null!=t&&(e=""+t)}if(this.props.ignoreAccents&&(e=(0,g["default"])(e)),this.props.ignoreCase&&(e=e.toLowerCase()),this._lastInput=e,e.length<this.props.minimumInput)return this.resetState();var u=r(this.state.cache,e);if(u&&Array.isArray(u.options))return this.setState({options:u.options});this.setState({isLoading:!0});var n=this.getResponseHandler(e),o=a(this.props.loadOptions(e,n),n);return o?o.then(function(){return e}):e},render:function(){var e=this,t=this.props,u=t.children,n=void 0===u?l:u,s=t.noResultsText,i=o(t,["children","noResultsText"]),r=this.state,a=r.isLoading,d=r.options;this.props.isLoading&&(a=!0);var c=a?this.props.loadingPlaceholder:this.props.placeholder;a?s=this.props.searchingText:!d.length&&this._lastInput.length<this.props.minimumInput&&(s=this.props.searchPromptText);var f=p({},i,{isLoading:a,noResultsText:s,onInputChange:this.loadOptions,options:d,placeholder:c,ref:function(t){e.select=t}});return n(f)}});t.exports=v}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Select":7,"./utils/stripDiacritics":12}],2:[function(e,t,u){(function(u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},s="undefined"!=typeof window?window.React:"undefined"!=typeof u?u.React:null,i=n(s),r=e("./Select"),a=n(r),l=i["default"].createClass({displayName:"AsyncCreatableSelect",render:function(){var e=this;return i["default"].createElement(a["default"].Async,this.props,function(t){return i["default"].createElement(a["default"].Creatable,e.props,function(e){return i["default"].createElement(a["default"],o({},t,e,{onInputChange:function(u){return e.onInputChange(u),t.onInputChange(u)},ref:function(u){e.ref(u),t.ref(u)}}))})})}});t.exports=l}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Select":7}],3:[function(e,t,u){(function(u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){var u={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(u[n]=e[n]);return u}function s(e){return f["default"].createElement(E["default"],e)}function i(e){var t=e.option,u=e.options,n=e.labelKey,o=e.valueKey;return 0===u.filter(function(e){return e[n]===t[n]||e[o]===t[o]}).length}function r(e){var t=e.label;return!!t}function a(e){var t=e.label,u=e.labelKey,n=e.valueKey,o={};return o[n]=t,o[u]=t,o.className="Select-create-option-placeholder",o}function l(e){return'Create option "'+e+'"'}function p(e){var t=e.keyCode;switch(t){case 9:case 13:case 188:return!0}return!1}var d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},c="undefined"!=typeof window?window.React:"undefined"!=typeof u?u.React:null,f=n(c),h=e("./Select"),E=n(h),g=e("./utils/defaultFilterOptions"),y=n(g),b=e("./utils/defaultMenuRenderer"),v=n(b),m=f["default"].createClass({displayName:"CreatableSelect",propTypes:{children:f["default"].PropTypes.func,filterOptions:f["default"].PropTypes.any,isOptionUnique:f["default"].PropTypes.func,isValidNewOption:f["default"].PropTypes.func,menuRenderer:f["default"].PropTypes.any,newOptionCreator:f["default"].PropTypes.func,options:f["default"].PropTypes.array,promptTextCreator:f["default"].PropTypes.func,shouldKeyDownEventCreateNewOption:f["default"].PropTypes.func},statics:{isOptionUnique:i,isValidNewOption:r,newOptionCreator:a,promptTextCreator:l,shouldKeyDownEventCreateNewOption:p},getDefaultProps:function(){return{filterOptions:y["default"],isOptionUnique:i,isValidNewOption:r,menuRenderer:v["default"],newOptionCreator:a,promptTextCreator:l,shouldKeyDownEventCreateNewOption:p}},createNewOption:function(){var e=this.props,t=e.isValidNewOption,u=e.newOptionCreator,n=e.options,o=void 0===n?[]:n;e.shouldKeyDownEventCreateNewOption;if(t({label:this.inputValue})){var s=u({label:this.inputValue,labelKey:this.labelKey,valueKey:this.valueKey}),i=this.isOptionUnique({option:s});i&&(o.unshift(s),this.select.selectValue(s))}},filterOptions:function C(){var e=this.props,C=e.filterOptions,t=e.isValidNewOption,u=(e.options,e.promptTextCreator),n=arguments[2]||[],o=C.apply(void 0,arguments)||[];if(t({label:this.inputValue})){var s=this.props.newOptionCreator,i=s({label:this.inputValue,labelKey:this.labelKey,valueKey:this.valueKey}),r=this.isOptionUnique({option:i,options:n.concat(o)});if(r){var a=u(this.inputValue);this._createPlaceholderOption=s({label:a,labelKey:this.labelKey,valueKey:this.valueKey}),o.unshift(this._createPlaceholderOption)}}return o},isOptionUnique:function F(e){var t=e.option,u=e.options,F=this.props.isOptionUnique;return u=u||this.select.filterFlatOptions(),F({labelKey:this.labelKey,option:t,options:u,valueKey:this.valueKey})},menuRenderer:function w(e){var w=this.props.menuRenderer;return w(d({},e,{onSelect:this.onOptionSelect}))},onInputChange:function(e){this.inputValue=e},onInputKeyDown:function(e){var t=this.props.shouldKeyDownEventCreateNewOption,u=this.select.getFocusedOption();u&&u===this._createPlaceholderOption&&t({keyCode:e.keyCode})&&(this.createNewOption(),e.preventDefault())},onOptionSelect:function(e,t){e===this._createPlaceholderOption?this.createNewOption():this.select.selectValue(e)},render:function(){var e=this,t=this.props,u=t.children,n=void 0===u?s:u,i=(t.newOptionCreator,t.shouldKeyDownEventCreateNewOption,o(t,["children","newOptionCreator","shouldKeyDownEventCreateNewOption"])),r=d({},i,{allowCreate:!0,filterOptions:this.filterOptions,menuRenderer:this.menuRenderer,onInputChange:this.onInputChange,onInputKeyDown:this.onInputKeyDown,ref:function(t){e.select=t,t&&(e.labelKey=t.props.labelKey,e.valueKey=t.props.valueKey)}});return n(r)}});t.exports=m}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Select":7,"./utils/defaultFilterOptions":10,"./utils/defaultMenuRenderer":11}],4:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}var n="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,o=u(n),s=o["default"].createClass({displayName:"Dropdown",propTypes:{children:o["default"].PropTypes.node},render:function(){return this.props.children}});t.exports=s}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}var n="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,o=u(n),s="undefined"!=typeof window?window.classNames:"undefined"!=typeof e?e.classNames:null,i=u(s),r=o["default"].createClass({displayName:"Option",propTypes:{children:o["default"].PropTypes.node,className:o["default"].PropTypes.string,instancePrefix:o["default"].PropTypes.string.isRequired,isDisabled:o["default"].PropTypes.bool,isFocused:o["default"].PropTypes.bool,isSelected:o["default"].PropTypes.bool,onFocus:o["default"].PropTypes.func,onSelect:o["default"].PropTypes.func,onUnfocus:o["default"].PropTypes.func,option:o["default"].PropTypes.object.isRequired,optionIndex:o["default"].PropTypes.number},blockEvent:function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},handleMouseDown:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)},handleMouseEnter:function(e){this.onFocus(e)},handleMouseMove:function(e){this.onFocus(e)},handleTouchEnd:function(e){this.dragging||this.handleMouseDown(e)},handleTouchMove:function(e){this.dragging=!0},handleTouchStart:function(e){this.dragging=!1},onFocus:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)},render:function(){var e=this.props,t=e.option,u=e.instancePrefix,n=e.optionIndex,s=(0,i["default"])(this.props.className,t.className);return t.disabled?o["default"].createElement("div",{className:s,onMouseDown:this.blockEvent,onClick:this.blockEvent},this.props.children):o["default"].createElement("div",{className:s,style:t.style,role:"option",onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:u+"-option-"+n,title:t.title},this.props.children)}});t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],6:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}var n="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,o=u(n),s="undefined"!=typeof window?window.classNames:"undefined"!=typeof e?e.classNames:null,i=u(s),r=o["default"].createClass({displayName:"OptionGroup",propTypes:{children:o["default"].PropTypes.any,className:o["default"].PropTypes.string,label:o["default"].PropTypes.node,option:o["default"].PropTypes.object.isRequired},blockEvent:function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},handleMouseDown:function(e){e.preventDefault(),e.stopPropagation()},handleTouchEnd:function(e){this.dragging||this.handleMouseDown(e)},handleTouchMove:function(e){this.dragging=!0},handleTouchStart:function(e){this.dragging=!1},render:function(){var e=this.props.option,t=(0,i["default"])(this.props.className,e.className);return e.disabled?o["default"].createElement("div",{className:t,onMouseDown:this.blockEvent,onClick:this.blockEvent},this.props.children):o["default"].createElement("div",{className:t,style:e.style,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,title:e.title},o["default"].createElement("div",{className:"Select-option-group-label"},this.props.label),this.props.children)}});t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],7:[function(e,t,u){(function(n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function s(e,t){var u={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(u[n]=e[n]);return u}function i(e,t,u){return t in e?Object.defineProperty(e,t,{value:u,enumerable:!0,configurable:!0,writable:!0}):e[t]=u,e}function r(e){var t={};for(var u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);return t}function a(e){return e&&Array.isArray(e.options)}function l(e){return"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):e||0===e?String(e):""}Object.defineProperty(u,"__esModule",{value:!0});var p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var u=arguments[t];for(var n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n])}return e},d="undefined"!=typeof window?window.React:"undefined"!=typeof n?n.React:null,c=o(d),f="undefined"!=typeof window?window.ReactDOM:"undefined"!=typeof n?n.ReactDOM:null,h=o(f),E="undefined"!=typeof window?window.AutosizeInput:"undefined"!=typeof n?n.AutosizeInput:null,g=o(E),y="undefined"!=typeof window?window.classNames:"undefined"!=typeof n?n.classNames:null,b=o(y),v=e("./utils/defaultArrowRenderer"),m=o(v),C=e("./utils/defaultFilterOptions"),F=o(C),w=e("./utils/defaultMenuRenderer"),O=o(w),A=e("./Async"),T=o(A),P=e("./AsyncCreatable"),D=o(P),S=e("./Creatable"),V=o(S),M=e("./Dropdown"),x=o(M),B=e("./Option"),R=o(B),N=e("./OptionGroup"),I=o(N),_=e("./Value"),K=o(_),k=c["default"].PropTypes.oneOfType([c["default"].PropTypes.string,c["default"].PropTypes.node]),j=1,L={},q=c["default"].createClass({displayName:"Select",propTypes:{addLabelText:c["default"].PropTypes.string,"aria-label":c["default"].PropTypes.string,"aria-labelledby":c["default"].PropTypes.string,arrowRenderer:c["default"].PropTypes.func,autoBlur:c["default"].PropTypes.bool,autofocus:c["default"].PropTypes.bool,autosize:c["default"].PropTypes.bool,backspaceRemoves:c["default"].PropTypes.bool,backspaceToRemoveMessage:c["default"].PropTypes.string,className:c["default"].PropTypes.string,clearAllText:k,clearValueText:k,clearable:c["default"].PropTypes.bool,delimiter:c["default"].PropTypes.string,disabled:c["default"].PropTypes.bool,dropdownComponent:c["default"].PropTypes.func,escapeClearsValue:c["default"].PropTypes.bool,filterOption:c["default"].PropTypes.func,filterOptions:c["default"].PropTypes.any,ignoreAccents:c["default"].PropTypes.bool,ignoreCase:c["default"].PropTypes.bool,inputProps:c["default"].PropTypes.object,inputRenderer:c["default"].PropTypes.func,instanceId:c["default"].PropTypes.string,isLoading:c["default"].PropTypes.bool,isOpen:c["default"].PropTypes.bool,joinValues:c["default"].PropTypes.bool,labelKey:c["default"].PropTypes.string,matchPos:c["default"].PropTypes.string,matchProp:c["default"].PropTypes.string,menuBuffer:c["default"].PropTypes.number,menuContainerStyle:c["default"].PropTypes.object,menuRenderer:c["default"].PropTypes.func,menuStyle:c["default"].PropTypes.object,multi:c["default"].PropTypes.bool,name:c["default"].PropTypes.string,noResultsText:k,onBlur:c["default"].PropTypes.func,onBlurResetsInput:c["default"].PropTypes.bool,onChange:c["default"].PropTypes.func,onClose:c["default"].PropTypes.func,onCloseResetsInput:c["default"].PropTypes.bool,onFocus:c["default"].PropTypes.func,onInputChange:c["default"].PropTypes.func,onInputKeyDown:c["default"].PropTypes.func,onMenuScrollToBottom:c["default"].PropTypes.func,onOpen:c["default"].PropTypes.func,onValueClick:c["default"].PropTypes.func,openAfterFocus:c["default"].PropTypes.bool,openOnFocus:c["default"].PropTypes.bool,optionClassName:c["default"].PropTypes.string,optionComponent:c["default"].PropTypes.func,optionGroupComponent:c["default"].PropTypes.func,optionRenderer:c["default"].PropTypes.func,options:c["default"].PropTypes.array,pageSize:c["default"].PropTypes.number,placeholder:k,renderInvalidValues:c["default"].PropTypes.bool,required:c["default"].PropTypes.bool,resetValue:c["default"].PropTypes.any,scrollMenuIntoView:c["default"].PropTypes.bool,searchable:c["default"].PropTypes.bool,simpleValue:c["default"].PropTypes.bool,style:c["default"].PropTypes.object,tabIndex:c["default"].PropTypes.string,tabSelectsValue:c["default"].PropTypes.bool,value:c["default"].PropTypes.any,valueComponent:c["default"].PropTypes.func,valueKey:c["default"].PropTypes.string,valueRenderer:c["default"].PropTypes.func,wrapperStyle:c["default"].PropTypes.object},statics:{Async:T["default"],AsyncCreatable:D["default"],Creatable:V["default"]},getDefaultProps:function(){return{addLabelText:'Add "{label}"?',arrowRenderer:m["default"],autosize:!0,backspaceRemoves:!0,backspaceToRemoveMessage:"Press backspace to remove {label}",clearable:!0,clearAllText:"Clear all",clearValueText:"Clear value",delimiter:",",disabled:!1,dropdownComponent:x["default"],escapeClearsValue:!0,filterOptions:F["default"],ignoreAccents:!0,ignoreCase:!0,inputProps:{},isLoading:!1,joinValues:!1,labelKey:"label",matchPos:"any",matchProp:"any",menuBuffer:0,menuRenderer:O["default"],multi:!1,noResultsText:"No results found",onBlurResetsInput:!0,onCloseResetsInput:!0,openAfterFocus:!1,optionComponent:R["default"],optionGroupComponent:I["default"],pageSize:5,placeholder:"Select...",renderInvalidValues:!1,required:!1,scrollMenuIntoView:!0,searchable:!0,simpleValue:!1,tabSelectsValue:!0,valueComponent:K["default"],valueKey:"value"}},getInitialState:function(){return{inputValue:"",isFocused:!1,isOpen:!1,isPseudoFocused:!1,required:!1}},componentWillMount:function(){this._flatOptions=this.flattenOptions(this.props.options),this._instancePrefix="react-select-"+(this.props.instanceId||++j)+"-";var e=this.getValueArray(this.props.value);this.props.required&&this.setState({required:this.handleRequired(e[0],this.props.multi)})},componentDidMount:function(){this.props.autofocus&&this.focus()},componentWillReceiveProps:function(e){e.options!==this.props.options&&(this._flatOptions=this.flattenOptions(e.options));var t=this.getValueArray(e.value,e);e.required&&this.setState({required:this.handleRequired(t[0],e.multi)})},componentWillUpdate:function(e,t){if(t.isOpen!==this.state.isOpen){this.toggleTouchOutsideEvent(t.isOpen);var u=t.isOpen?e.onOpen:e.onClose;u&&u()}},componentDidUpdate:function(e,t){if(this.menu&&this.focused&&this.state.isOpen&&!this.hasScrolledToOption){var u=h["default"].findDOMNode(this.focused),n=u.previousSibling,o=u.parentElement,s=h["default"].findDOMNode(this.menu);n?s.scrollTop=n.offsetTop:o&&"Select-menu"===o?s.scrollTop=o.offsetTop:s.scrollTop=u.offsetTop,this.hasScrolledToOption=!0}else this.state.isOpen||(this.hasScrolledToOption=!1);if(this._scrollToFocusedOptionOnUpdate&&this.focused&&this.menu){this._scrollToFocusedOptionOnUpdate=!1;var i=h["default"].findDOMNode(this.focused),r=h["default"].findDOMNode(this.menu),a=i.getBoundingClientRect(),l=r.getBoundingClientRect();(a.bottom>l.bottom||a.top<l.top)&&(r.scrollTop=i.offsetTop+i.clientHeight-r.offsetHeight)}if(this.props.scrollMenuIntoView&&this.menuContainer){var p=this.menuContainer.getBoundingClientRect();window.innerHeight<p.bottom+this.props.menuBuffer&&window.scrollBy(0,p.bottom+this.props.menuBuffer-window.innerHeight)}e.disabled!==this.props.disabled&&(this.setState({isFocused:!1}),this.closeMenu())},componentWillUnmount:function(){document.removeEventListener("touchstart",this.handleTouchOutside)},toggleTouchOutsideEvent:function(e){e?document.addEventListener("touchstart",this.handleTouchOutside):document.removeEventListener("touchstart",this.handleTouchOutside)},handleTouchOutside:function(e){this.wrapper&&!this.wrapper.contains(e.target)&&this.closeMenu()},focus:function(){this.input&&(this.input.focus(),this.props.openAfterFocus&&this.setState({isOpen:!0}))},blurInput:function(){this.input&&this.input.blur()},handleTouchMove:function(e){this.dragging=!0},handleTouchStart:function(e){this.dragging=!1},handleTouchEnd:function(e){this.dragging||this.handleMouseDown(e)},handleTouchEndClearValue:function(e){this.dragging||this.clearValue(e)},handleMouseDown:function(e){if(!(this.props.disabled||"mousedown"===e.type&&0!==e.button)&&"INPUT"!==e.target.tagName){if(e.stopPropagation(),e.preventDefault(),!this.props.searchable)return this.focus(),this.setState({isOpen:!this.state.isOpen});if(this.state.isFocused){this.focus();var t=this.input;"function"==typeof t.getInput&&(t=t.getInput()),t.value="",this.setState({isOpen:!0,isPseudoFocused:!1})}else this._openAfterFocus=!0,this.focus()}},handleMouseDownOnArrow:function(e){this.props.disabled||"mousedown"===e.type&&0!==e.button||this.state.isOpen&&(e.stopPropagation(),e.preventDefault(),this.closeMenu())},handleMouseDownOnMenu:function(e){this.props.disabled||"mousedown"===e.type&&0!==e.button||(e.stopPropagation(),e.preventDefault(),this._openAfterFocus=!0,this.focus())},closeMenu:function(){this.props.onCloseResetsInput?this.setState({isOpen:!1,isPseudoFocused:this.state.isFocused&&!this.props.multi,inputValue:""}):this.setState({isOpen:!1,isPseudoFocused:this.state.isFocused&&!this.props.multi,inputValue:this.state.inputValue}),this.hasScrolledToOption=!1},handleInputFocus:function(e){if(!this.props.disabled){var t=this.state.isOpen||this._openAfterFocus||this.props.openOnFocus;this.props.onFocus&&this.props.onFocus(e),this.setState({isFocused:!0,isOpen:t}),this._openAfterFocus=!1}},handleInputBlur:function(e){if(this.menu&&(this.menu===document.activeElement||this.menu.contains(document.activeElement)))return void this.focus();this.props.onBlur&&this.props.onBlur(e);var t={isFocused:!1,isOpen:!1,isPseudoFocused:!1};this.props.onBlurResetsInput&&(t.inputValue=""),this.setState(t)},handleInputChange:function(e){var t=e.target.value;if(this.state.inputValue!==e.target.value&&this.props.onInputChange){var u=this.props.onInputChange(t);null!=u&&"object"!=typeof u&&(t=""+u)}this.setState({isOpen:!0,isPseudoFocused:!1,inputValue:t})},handleKeyDown:function(e){if(!(this.props.disabled||"function"==typeof this.props.onInputKeyDown&&(this.props.onInputKeyDown(e),e.defaultPrevented))){switch(e.keyCode){case 8:return void(!this.state.inputValue&&this.props.backspaceRemoves&&(e.preventDefault(),this.popValue()));case 9:if(e.shiftKey||!this.state.isOpen||!this.props.tabSelectsValue)return;return void this.selectFocusedOption();case 13:if(!this.state.isOpen)return;e.stopPropagation(),this.selectFocusedOption();break;case 27:this.state.isOpen?(this.closeMenu(),e.stopPropagation()):this.props.clearable&&this.props.escapeClearsValue&&(this.clearValue(e),e.stopPropagation());break;case 38:this.focusPreviousOption();break;case 40:this.focusNextOption();break;case 33:this.focusPageUpOption();break;case 34:this.focusPageDownOption();break;case 35:this.focusEndOption();break;case 36:this.focusStartOption();break;default:return}e.preventDefault()}},handleValueClick:function(e,t){this.props.onValueClick&&this.props.onValueClick(e,t)},handleMenuScroll:function(e){if(this.props.onMenuScrollToBottom){var t=e.target;t.scrollHeight>t.offsetHeight&&!(t.scrollHeight-t.offsetHeight-t.scrollTop)&&this.props.onMenuScrollToBottom()}},handleRequired:function(e,t){return!e||(t?0===e.length:0===Object.keys(e).length)},getOptionLabel:function(e){return e[this.props.labelKey]},getValueArray:function(e,t){var u=this,n="object"==typeof t?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return u.expandValue(e,n)}).filter(function(e){return e})}var o=this.expandValue(e,n);return o?[o]:[]},expandValue:function(e,t){if("string"!=typeof e&&"number"!=typeof e)return e;var u=this.props,n=u.labelKey,o=u.valueKey,s=u.renderInvalidValues,r=this._flatOptions;if(r&&""!==e){for(var a=0;a<r.length;a++)if(r[a][o]===e)return r[a];if(s){var l;return L[e]=L[e]||(l={invalid:!0},i(l,n,e),i(l,o,e),l),L[e]}}},setValue:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.onChange){if(this.props.required){var u=this.handleRequired(e,this.props.multi);this.setState({required:u})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange(e)}},selectValue:function(e){var t=this;this.hasScrolledToOption=!1,this.props.multi?this.setState({inputValue:"",focusedIndex:null},function(){t.addValue(e)}):this.setState({isOpen:!1,inputValue:"",isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})},addValue:function(e){var t=this.getValueArray(this.props.value);this.setValue(t.concat(e))},popValue:function(){var e=this.getValueArray(this.props.value);e.length&&e[e.length-1].clearableValue!==!1&&this.setValue(e.slice(0,e.length-1))},removeValue:function(e){var t=this.getValueArray(this.props.value);this.setValue(t.filter(function(t){return t!==e})),this.focus()},clearValue:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.stopPropagation(),e.preventDefault(),this.setValue(this.getResetValue()),this.setState({isOpen:!1,inputValue:""},this.focus))},getResetValue:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null},focusOption:function(e){this.setState({focusedOption:e})},focusNextOption:function(){this.focusAdjacentOption("next")},focusPreviousOption:function(){this.focusAdjacentOption("previous")},focusPageUpOption:function(){this.focusAdjacentOption("page_up")},focusPageDownOption:function(){this.focusAdjacentOption("page_down")},focusStartOption:function(){this.focusAdjacentOption("start")},focusEndOption:function(){this.focusAdjacentOption("end")},focusAdjacentOption:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen)return void this.setState({isOpen:!0,inputValue:"",focusedOption:this._focusedOption||t["next"===e?0:t.length-1].option});if(t.length){for(var u=-1,n=0;n<t.length;n++)if(this._focusedOption===t[n].option){u=n;break}if("next"===e&&u!==-1)u=(u+1)%t.length;else if("previous"===e)u>0?u-=1:u=t.length-1;else if("start"===e)u=0;else if("end"===e)u=t.length-1;else if("page_up"===e){var o=u-this.props.pageSize;u=o<0?0:o}else if("page_down"===e){var o=u+this.props.pageSize;u=o>t.length-1?t.length-1:o}u===-1&&(u=0),this.setState({focusedIndex:t[u].index,focusedOption:t[u].option})}},getFocusedOption:function(){return this._focusedOption},getInputValue:function(){return this.state.inputValue},selectFocusedOption:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)},renderLoading:function(){if(this.props.isLoading)return c["default"].createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c["default"].createElement("span",{className:"Select-loading"}))},renderValue:function(e,t){var u=this,n=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return this.state.inputValue?null:c["default"].createElement("div",{className:"Select-placeholder"},this.props.placeholder);var s=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c["default"].createElement(o,{id:u._instancePrefix+"-value-"+t,instancePrefix:u._instancePrefix,disabled:u.props.disabled||e.clearableValue===!1,key:"value-"+t+"-"+e[u.props.valueKey],onClick:s,onRemove:u.removeValue,value:e},n(e,t),c["default"].createElement("span",{className:"Select-aria-only"}," "))}):this.state.inputValue?void 0:(t&&(s=null),c["default"].createElement(o,{id:this._instancePrefix+"-value-item",disabled:this.props.disabled,instancePrefix:this._instancePrefix,onClick:s,value:e[0]},n(e[0])))},renderInput:function(e,t){var u=this;if(this.props.inputRenderer)return this.props.inputRenderer();var n,o=(0,b["default"])("Select-input",this.props.inputProps.className),r=!!this.state.isOpen,a=(0,b["default"])((n={},i(n,this._instancePrefix+"-list",r),i(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=p({},this.props.inputProps,{role:"combobox","aria-expanded":""+r,"aria-owns":a,"aria-haspopup":""+r,"aria-activedescendant":r?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-labelledby":this.props["aria-labelledby"],"aria-label":this.props["aria-label"],className:o,tabIndex:this.props.tabIndex,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return u.input=e},required:this.state.required,value:this.state.inputValue});if(this.props.disabled||!this.props.searchable){var d=this.props.inputProps,f=(d.inputClassName,s(d,["inputClassName"]));return c["default"].createElement("div",p({},f,{role:"combobox","aria-expanded":r,"aria-owns":r?this._instancePrefix+"-list":this._instancePrefix+"-value","aria-activedescendant":r?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value",className:o,tabIndex:this.props.tabIndex||0,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return u.input=e},"aria-readonly":""+!!this.props.disabled,style:{border:0,width:1,display:"inline-block"}}))}return this.props.autosize?c["default"].createElement(g["default"],p({},l,{minWidth:"5px"})):c["default"].createElement("div",{className:o},c["default"].createElement("input",l))},renderClear:function(){if(this.props.clearable&&this.props.value&&0!==this.props.value&&(!this.props.multi||this.props.value.length)&&!this.props.disabled&&!this.props.isLoading)return c["default"].createElement("span",{className:"Select-clear-zone",title:this.props.multi?this.props.clearAllText:this.props.clearValueText,"aria-label":this.props.multi?this.props.clearAllText:this.props.clearValueText,onMouseDown:this.clearValue,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEndClearValue},c["default"].createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}}))},renderArrow:function(){var e=this.handleMouseDownOnArrow,t=this.props.arrowRenderer({onMouseDown:e});return c["default"].createElement("span",{className:"Select-arrow-zone",onMouseDown:e},t)},filterFlatOptions:function(e){var t=this.state.inputValue,u=this._flatOptions;if(this.props.filterOptions){var n="function"==typeof this.props.filterOptions?this.props.filterOptions:F["default"]; | ||
return n(u,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,valueKey:this.props.valueKey})}return u},flattenOptions:function(e,t){if(!e)return[];for(var u=[],n=0;n<e.length;n++){var o=r(e[n]);o.isInTree=!1,t&&(o.group=t),a(o)?(u=u.concat(this.flattenOptions(o.options,o)),o.options=[]):u.push(o)}return u},unflattenOptions:function(e){var t=[],u=void 0,n=void 0;return e.forEach(function(e){for(e.isInTree=!1,u=e.group;u;)u.isInTree&&(u.options=[],u.isInTree=!1),u=u.group}),e.forEach(function(e){for(n=e,u=n.group;u;)n.isInTree||(u.options.push(n),n.isInTree=!0),n=u,u=n.group;n.isInTree||(t.push(n),n.isInTree=!0)}),t},onOptionRef:function(e,t){t&&(this.focused=e)},renderMenu:function(e,t,u){return e&&e.length?this.props.menuRenderer({focusedOption:u,focusOption:this.focusOption,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionGroupComponent:this.props.optionGroupComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c["default"].createElement("div",{className:"Select-noresults"},this.props.noResultsText):null},renderHiddenField:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var u=e.map(function(e){return l(e[t.props.valueKey])}).join(this.props.delimiter);return c["default"].createElement("input",{type:"hidden",ref:function(e){return t.value=e},name:this.props.name,value:u,disabled:this.props.disabled})}return e.map(function(e,u){return c["default"].createElement("input",{key:"hidden."+u,type:"hidden",ref:"value"+u,name:t.props.name,value:l(e[t.props.valueKey]),disabled:t.props.disabled})})}},getFocusableOptionIndex:function(e){var t=this._visibleOptions;if(!t.length)return null;var u=this.state.focusedOption||e;if(u&&!u.disabled){var n=t.indexOf(u);if(n!==-1)return n}for(var o=0;o<t.length;o++)if(!t[o].disabled)return o;return null},renderOuter:function(e,t,u){var n=this,o=this.props.dropdownComponent,s=this.renderMenu(e,t,u);return s?c["default"].createElement(o,null,c["default"].createElement("div",{ref:function(e){return n.menuContainer=e},className:"Select-menu-outer",style:this.props.menuContainerStyle},c["default"].createElement("div",{ref:function(e){return n.menu=e},role:"listbox",className:"Select-menu",id:this._instancePrefix+"-list",style:this.props.menuStyle,onScroll:this.handleMenuScroll,onMouseDown:this.handleMouseDownOnMenu},s))):null},render:function(){var e=this,t=this.getValueArray(this.props.value);this._visibleOptions=this.filterFlatOptions(this.props.multi?t:null);var u=this.unflattenOptions(this._visibleOptions),n="boolean"==typeof this.props.isOpen?this.props.isOpen:this.state.isOpen;this.props.multi&&!u.length&&t.length&&!this.state.inputValue&&(n=!1);var o=this.getFocusableOptionIndex(t[0]),s=null;s=null!==o?this._focusedOption=this._visibleOptions[o]:this._focusedOption=null;var i=(0,b["default"])("Select",this.props.className,{"Select--multi":this.props.multi,"Select--single":!this.props.multi,"is-disabled":this.props.disabled,"is-focused":this.state.isFocused,"is-loading":this.props.isLoading,"is-open":n,"is-pseudo-focused":this.state.isPseudoFocused,"is-searchable":this.props.searchable,"has-value":t.length}),r=null;return this.props.multi&&!this.props.disabled&&t.length&&!this.state.inputValue&&this.state.isFocused&&this.props.backspaceRemoves&&(r=c["default"].createElement("span",{id:this._instancePrefix+"-backspace-remove-message",className:"Select-aria-only","aria-live":"assertive"},this.props.backspaceToRemoveMessage.replace("{label}",t[t.length-1][this.props.labelKey]))),c["default"].createElement("div",{ref:function(t){return e.wrapper=t},className:i,style:this.props.wrapperStyle},this.renderHiddenField(t),c["default"].createElement("div",{ref:function(t){return e.control=t},className:"Select-control",style:this.props.style,onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleTouchEnd,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},c["default"].createElement("span",{className:"Select-multi-value-wrapper",id:this._instancePrefix+"-value"},this.renderValue(t,n),this.renderInput(t,o)),r,this.renderLoading(),this.renderClear(),this.renderArrow()),n?this.renderOuter(u,this.props.multi?null:t,s):null)}});u["default"]=q,t.exports=u["default"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Async":1,"./AsyncCreatable":2,"./Creatable":3,"./Dropdown":4,"./Option":5,"./OptionGroup":6,"./Value":8,"./utils/defaultArrowRenderer":9,"./utils/defaultFilterOptions":10,"./utils/defaultMenuRenderer":11}],8:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}var n="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,o=u(n),s="undefined"!=typeof window?window.classNames:"undefined"!=typeof e?e.classNames:null,i=u(s),r=o["default"].createClass({displayName:"Value",propTypes:{children:o["default"].PropTypes.node,disabled:o["default"].PropTypes.bool,id:o["default"].PropTypes.string,onClick:o["default"].PropTypes.func,onRemove:o["default"].PropTypes.func,value:o["default"].PropTypes.object.isRequired},handleMouseDown:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())},onRemove:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)},handleTouchEndRemove:function(e){this.dragging||this.onRemove(e)},handleTouchMove:function(e){this.dragging=!0},handleTouchStart:function(e){this.dragging=!1},renderRemoveIcon:function(){if(!this.props.disabled&&this.props.onRemove)return o["default"].createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")},renderLabel:function(){var e="Select-value-label";return this.props.onClick||this.props.value.href?o["default"].createElement("a",{className:e,href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):o["default"].createElement("span",{className:e,role:"option","aria-selected":"true",id:this.props.id},this.props.children)},render:function(){return o["default"].createElement("div",{className:(0,i["default"])("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}});t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],9:[function(e,t,u){(function(e){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e){var t=e.onMouseDown;return i["default"].createElement("span",{className:"Select-arrow",onMouseDown:t})}Object.defineProperty(u,"__esModule",{value:!0}),u["default"]=o;var s="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,i=n(s);t.exports=u["default"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],10:[function(e,t,u){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,u,n){var o=this;return n.ignoreAccents&&(t=(0,i["default"])(t)),n.ignoreCase&&(t=t.toLowerCase()),u&&(u=u.map(function(e){return e[n.valueKey]})),e.filter(function(e){if(u&&u.indexOf(e[n.valueKey])>-1)return!1;if(n.filterOption)return n.filterOption.call(o,e,t);if(!t)return!0;var s=String(e[n.valueKey]),r=String(e[n.labelKey]);return n.ignoreAccents&&("label"!==n.matchProp&&(s=(0,i["default"])(s)),"value"!==n.matchProp&&(r=(0,i["default"])(r))),n.ignoreCase&&("label"!==n.matchProp&&(s=s.toLowerCase()),"value"!==n.matchProp&&(r=r.toLowerCase())),"start"===n.matchPos?"label"!==n.matchProp&&s.substr(0,t.length)===t||"value"!==n.matchProp&&r.substr(0,t.length)===t:"label"!==n.matchProp&&s.indexOf(t)>=0||"value"!==n.matchProp&&r.indexOf(t)>=0})}var s=e("./stripDiacritics"),i=n(s);t.exports=o},{"./stripDiacritics":12}],11:[function(e,t,u){(function(e){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}function n(e){return e&&Array.isArray(e.options)}function o(e){var t=e.focusedOption,u=e.instancePrefix,o=(e.labelKey,e.onFocus),s=e.onOptionRef,r=e.onSelect,l=e.optionClassName,p=e.optionComponent,d=e.optionGroupComponent,c=e.optionRenderer,f=e.options,h=e.valueArray,E=e.valueKey,g=d,y=p,b=c||this.getOptionLabel,v=function m(e){return e.map(function(e,p){if(n(e)){var d=(0,i["default"])({"Select-option-group":!0});return a["default"].createElement(g,{className:d,key:"option-group-"+p,label:b(e),option:e,optionIndex:p},m(e.options))}var c=function(){var n=h&&h.indexOf(e)>-1,d=e===t,c=(0,i["default"])(l,{"Select-option":!0,"is-selected":n,"is-focused":d,"is-disabled":e.disabled});return{v:a["default"].createElement(y,{className:c,instancePrefix:u,isDisabled:e.disabled,isFocused:d,isSelected:n,key:"option-"+p+"-"+e[E],onFocus:o,onSelect:r,option:e,optionIndex:p,ref:function(e){s(e,d)}},b(e,p))}}();if("object"==typeof c)return c.v})};return v(f)}var s="undefined"!=typeof window?window.classNames:"undefined"!=typeof e?e.classNames:null,i=u(s),r="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,a=u(r);t.exports=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(e,t,u){"use strict";var n=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}];t.exports=function(e){for(var t=0;t<n.length;t++)e=e.replace(n[t].letters,n[t].base);return e}},{}]},{},[7])(7)}); |
@@ -28,3 +28,3 @@ /* eslint react/prop-types: 0 */ | ||
<CustomRender label="Custom Render Methods"/> | ||
<CustomComponents label="Custom Placeholder, Option and Value Components" /> | ||
<CustomComponents label="Custom Placeholder, Option, Value, and Arrow Components" /> | ||
<Creatable | ||
@@ -31,0 +31,0 @@ hint="Enter a value that's NOT in the list, then hit return" |
@@ -97,2 +97,3 @@ import React from 'react'; | ||
<Select | ||
arrowRenderer={arrowRenderer} | ||
onChange={this.setValue} | ||
@@ -114,2 +115,8 @@ optionComponent={GravatarOption} | ||
function arrowRenderer () { | ||
return ( | ||
<span>+</span> | ||
); | ||
} | ||
module.exports = UsersField; |
import React from 'react'; | ||
import Select from 'react-select-plus'; | ||
import Highlighter from 'react-highlight-words'; | ||
@@ -20,3 +21,8 @@ var DisabledUpsellOptions = React.createClass({ | ||
renderOption: function(option) { | ||
return <span style={{ color: option.color }}>{option.label} {option.link}</span>; | ||
return ( | ||
<Highlighter | ||
searchWords={[this._inputValue]} | ||
textToHighlight={option.label} | ||
/> | ||
); | ||
}, | ||
@@ -36,3 +42,3 @@ renderValue: function(option) { | ||
<Select | ||
placeholder="Select your support level" | ||
onInputChange={(inputValue) => this._inputValue = inputValue} | ||
options={options} | ||
@@ -39,0 +45,0 @@ optionRenderer={this.renderOption} |
@@ -43,7 +43,16 @@ import React from 'react'; | ||
}, | ||
toggleCreatable () { | ||
this.setState({ | ||
creatable: !this.state.creatable | ||
}); | ||
}, | ||
render () { | ||
const AsyncComponent = this.state.creatable | ||
? Select.AsyncCreatable | ||
: Select.Async; | ||
return ( | ||
<div className="section"> | ||
<h3 className="section-heading">{this.props.label}</h3> | ||
<Select.Async multi={this.state.multi} value={this.state.value} onChange={this.onChange} onValueClick={this.gotoUser} valueKey="id" labelKey="login" loadOptions={this.getUsers} minimumInput={1} backspaceRemoves={false} /> | ||
<AsyncComponent multi={this.state.multi} value={this.state.value} onChange={this.onChange} onValueClick={this.gotoUser} valueKey="id" labelKey="login" loadOptions={this.getUsers} minimumInput={1} backspaceRemoves={false} /> | ||
<div className="checkbox-list"> | ||
@@ -59,2 +68,8 @@ <label className="checkbox"> | ||
</div> | ||
<div className="checkbox-list"> | ||
<label className="checkbox"> | ||
<input type="checkbox" className="checkbox-control" checked={this.state.creatable} onChange={this.toggleCreatable} /> | ||
<span className="checkbox-label">Creatable?</span> | ||
</label> | ||
</div> | ||
<div className="hint">This example uses fetch.js for showing Async options with Promises</div> | ||
@@ -61,0 +76,0 @@ </div> |
@@ -7,2 +7,4 @@ 'use strict'; | ||
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } | ||
var _react = require('react'); | ||
@@ -60,2 +62,3 @@ | ||
cache: _react2['default'].PropTypes.any, // object to use to cache results, can be null to disable cache | ||
children: _react2['default'].PropTypes.func, // Child function responsible for creating the inner Select component; (props: Object): PropTypes.element | ||
ignoreAccents: _react2['default'].PropTypes.bool, // whether to strip diacritics when filtering (shared with Select) | ||
@@ -145,3 +148,3 @@ ignoreCase: _react2['default'].PropTypes.bool, // whether to perform case-insensitive filtering (shared with Select) | ||
var cacheResult = getFromCache(this.state.cache, input); | ||
if (cacheResult) { | ||
if (cacheResult && Array.isArray(cacheResult.options)) { | ||
return this.setState({ | ||
@@ -163,3 +166,9 @@ options: cacheResult.options | ||
var noResultsText = this.props.noResultsText; | ||
var _props = this.props; | ||
var _props$children = _props.children; | ||
var children = _props$children === undefined ? defaultChildren : _props$children; | ||
var noResultsText = _props.noResultsText; | ||
var restProps = _objectWithoutProperties(_props, ['children', 'noResultsText']); | ||
var _state = this.state; | ||
@@ -176,6 +185,4 @@ var isLoading = _state.isLoading; | ||
} | ||
return _react2['default'].createElement(_Select2['default'], _extends({}, this.props, { | ||
ref: function (ref) { | ||
return _this2.select = ref; | ||
}, | ||
var props = _extends({}, restProps, { | ||
isLoading: isLoading, | ||
@@ -185,7 +192,16 @@ noResultsText: noResultsText, | ||
options: options, | ||
placeholder: placeholder | ||
})); | ||
placeholder: placeholder, | ||
ref: function ref(_ref) { | ||
_this2.select = _ref; | ||
} | ||
}); | ||
return children(props); | ||
} | ||
}); | ||
function defaultChildren(props) { | ||
return _react2['default'].createElement(_Select2['default'], props); | ||
}; | ||
module.exports = Async; |
@@ -29,2 +29,7 @@ 'use strict'; | ||
propTypes: { | ||
// Child function responsible for creating the inner Select component | ||
// This component can be used to compose HOCs (eg Creatable and Async) | ||
// (props: Object): PropTypes.element | ||
children: _react2['default'].PropTypes.func, | ||
// See Select.propTypes.filterOptions | ||
@@ -49,2 +54,5 @@ filterOptions: _react2['default'].PropTypes.any, | ||
// See Select.propTypes.options | ||
options: _react2['default'].PropTypes.array, | ||
// Creates prompt/placeholder option text. | ||
@@ -83,12 +91,8 @@ // (filterText: string): string | ||
var newOptionCreator = _props.newOptionCreator; | ||
var _props$options = _props.options; | ||
var options = _props$options === undefined ? [] : _props$options; | ||
var shouldKeyDownEventCreateNewOption = _props.shouldKeyDownEventCreateNewOption; | ||
var _select$props = this.select.props; | ||
var labelKey = _select$props.labelKey; | ||
var options = _select$props.options; | ||
var valueKey = _select$props.valueKey; | ||
var inputValue = this.select.getInputValue(); | ||
if (isValidNewOption({ label: inputValue })) { | ||
var option = newOptionCreator({ label: inputValue, labelKey: labelKey, valueKey: valueKey }); | ||
if (isValidNewOption({ label: this.inputValue })) { | ||
var option = newOptionCreator({ label: this.inputValue, labelKey: this.labelKey, valueKey: this.valueKey }); | ||
var _isOptionUnique = this.isOptionUnique({ option: option }); | ||
@@ -109,25 +113,36 @@ | ||
var isValidNewOption = _props2.isValidNewOption; | ||
var options = _props2.options; | ||
var promptTextCreator = _props2.promptTextCreator; | ||
var filteredOptions = filterOptions.apply(undefined, arguments); | ||
// TRICKY Check currently selected options as well. | ||
// Don't display a create-prompt for a value that's selected. | ||
// This covers async edge-cases where a newly-created Option isn't yet in the async-loaded array. | ||
var excludeOptions = arguments[2] || []; | ||
var inputValue = this.select ? this.select.getInputValue() : ''; | ||
var filteredOptions = filterOptions.apply(undefined, arguments) || []; | ||
if (isValidNewOption({ label: inputValue })) { | ||
if (isValidNewOption({ label: this.inputValue })) { | ||
var _newOptionCreator = this.props.newOptionCreator; | ||
var _select$props2 = this.select.props; | ||
var labelKey = _select$props2.labelKey; | ||
var options = _select$props2.options; | ||
var valueKey = _select$props2.valueKey; | ||
var option = _newOptionCreator({ label: inputValue, labelKey: labelKey, valueKey: valueKey }); | ||
var option = _newOptionCreator({ | ||
label: this.inputValue, | ||
labelKey: this.labelKey, | ||
valueKey: this.valueKey | ||
}); | ||
// TRICKY Compare to all options (not just filtered options) in case option has already been selected). | ||
// For multi-selects, this would remove it from the filtered list. | ||
var _isOptionUnique2 = this.isOptionUnique({ option: option, options: options }); | ||
var _isOptionUnique2 = this.isOptionUnique({ | ||
option: option, | ||
options: excludeOptions.concat(filteredOptions) | ||
}); | ||
if (_isOptionUnique2) { | ||
var _prompt = promptTextCreator(inputValue); | ||
var _prompt = promptTextCreator(this.inputValue); | ||
this._createPlaceholderOption = _newOptionCreator({ label: _prompt, labelKey: labelKey, valueKey: valueKey }); | ||
this._createPlaceholderOption = _newOptionCreator({ | ||
label: _prompt, | ||
labelKey: this.labelKey, | ||
valueKey: this.valueKey | ||
}); | ||
@@ -141,14 +156,6 @@ filteredOptions.unshift(this._createPlaceholderOption); | ||
isOptionUnique: function isOptionUnique(_ref) { | ||
var option = _ref.option; | ||
var options = _ref.options; | ||
if (!this.select) { | ||
return false; | ||
} | ||
isOptionUnique: function isOptionUnique(_ref2) { | ||
var option = _ref2.option; | ||
var options = _ref2.options; | ||
var isOptionUnique = this.props.isOptionUnique; | ||
var _select$props3 = this.select.props; | ||
var labelKey = _select$props3.labelKey; | ||
var valueKey = _select$props3.valueKey; | ||
@@ -158,6 +165,6 @@ options = options || this.select.filterFlatOptions(); | ||
return isOptionUnique({ | ||
labelKey: labelKey, | ||
labelKey: this.labelKey, | ||
option: option, | ||
options: options, | ||
valueKey: valueKey | ||
valueKey: this.valueKey | ||
}); | ||
@@ -174,2 +181,7 @@ }, | ||
onInputChange: function onInputChange(input) { | ||
// This value may be needed in between Select mounts (when this.select is null) | ||
this.inputValue = input; | ||
}, | ||
onInputKeyDown: function onInputKeyDown(event) { | ||
@@ -200,25 +212,40 @@ var shouldKeyDownEventCreateNewOption = this.props.shouldKeyDownEventCreateNewOption; | ||
var _props3 = this.props; | ||
var _props3$children = _props3.children; | ||
var children = _props3$children === undefined ? defaultChildren : _props3$children; | ||
var newOptionCreator = _props3.newOptionCreator; | ||
var shouldKeyDownEventCreateNewOption = _props3.shouldKeyDownEventCreateNewOption; | ||
var restProps = _objectWithoutProperties(_props3, ['newOptionCreator', 'shouldKeyDownEventCreateNewOption']); | ||
var restProps = _objectWithoutProperties(_props3, ['children', 'newOptionCreator', 'shouldKeyDownEventCreateNewOption']); | ||
return _react2['default'].createElement(_Select2['default'], _extends({}, restProps, { | ||
var props = _extends({}, restProps, { | ||
allowCreate: true, | ||
filterOptions: this.filterOptions, | ||
menuRenderer: this.menuRenderer, | ||
onInputChange: this.onInputChange, | ||
onInputKeyDown: this.onInputKeyDown, | ||
ref: function (ref) { | ||
return _this.select = ref; | ||
ref: function ref(_ref) { | ||
_this.select = _ref; | ||
// These values may be needed in between Select mounts (when this.select is null) | ||
if (_ref) { | ||
_this.labelKey = _ref.props.labelKey; | ||
_this.valueKey = _ref.props.valueKey; | ||
} | ||
} | ||
})); | ||
}); | ||
return children(props); | ||
} | ||
}); | ||
function isOptionUnique(_ref2) { | ||
var option = _ref2.option; | ||
var options = _ref2.options; | ||
var labelKey = _ref2.labelKey; | ||
var valueKey = _ref2.valueKey; | ||
function defaultChildren(props) { | ||
return _react2['default'].createElement(_Select2['default'], props); | ||
}; | ||
function isOptionUnique(_ref3) { | ||
var option = _ref3.option; | ||
var options = _ref3.options; | ||
var labelKey = _ref3.labelKey; | ||
var valueKey = _ref3.valueKey; | ||
return options.filter(function (existingOption) { | ||
@@ -229,4 +256,4 @@ return existingOption[labelKey] === option[labelKey] || existingOption[valueKey] === option[valueKey]; | ||
function isValidNewOption(_ref3) { | ||
var label = _ref3.label; | ||
function isValidNewOption(_ref4) { | ||
var label = _ref4.label; | ||
@@ -236,6 +263,6 @@ return !!label; | ||
function newOptionCreator(_ref4) { | ||
var label = _ref4.label; | ||
var labelKey = _ref4.labelKey; | ||
var valueKey = _ref4.valueKey; | ||
function newOptionCreator(_ref5) { | ||
var label = _ref5.label; | ||
var labelKey = _ref5.labelKey; | ||
var valueKey = _ref5.valueKey; | ||
@@ -253,4 +280,4 @@ var option = {}; | ||
function shouldKeyDownEventCreateNewOption(_ref5) { | ||
var keyCode = _ref5.keyCode; | ||
function shouldKeyDownEventCreateNewOption(_ref6) { | ||
var keyCode = _ref6.keyCode; | ||
@@ -257,0 +284,0 @@ switch (keyCode) { |
@@ -0,1 +1,7 @@ | ||
/*! | ||
Copyright (c) 2016 Jed Watson. | ||
Licensed under the MIT License (MIT), see | ||
http://jedwatson.github.io/react-select | ||
*/ | ||
'use strict'; | ||
@@ -31,2 +37,6 @@ | ||
var _utilsDefaultArrowRenderer = require('./utils/defaultArrowRenderer'); | ||
var _utilsDefaultArrowRenderer2 = _interopRequireDefault(_utilsDefaultArrowRenderer); | ||
var _utilsDefaultFilterOptions = require('./utils/defaultFilterOptions'); | ||
@@ -44,5 +54,5 @@ | ||
var _Dropdown = require('./Dropdown'); | ||
var _AsyncCreatable = require('./AsyncCreatable'); | ||
var _Dropdown2 = _interopRequireDefault(_Dropdown); | ||
var _AsyncCreatable2 = _interopRequireDefault(_AsyncCreatable); | ||
@@ -53,2 +63,6 @@ var _Creatable = require('./Creatable'); | ||
var _Dropdown = require('./Dropdown'); | ||
var _Dropdown2 = _interopRequireDefault(_Dropdown); | ||
var _Option = require('./Option'); | ||
@@ -106,2 +120,3 @@ | ||
'aria-labelledby': _react2['default'].PropTypes.string, // HTML ID of an element that should be used as the label (for assistive tech) | ||
arrowRenderer: _react2['default'].PropTypes.func, // Create drop-down caret element | ||
autoBlur: _react2['default'].PropTypes.bool, // automatically blur the component when an option is selected | ||
@@ -111,4 +126,3 @@ autofocus: _react2['default'].PropTypes.bool, // autofocus the component on mount | ||
backspaceRemoves: _react2['default'].PropTypes.bool, // whether backspace removes an item if there is no text input | ||
backspaceToRemoveMessage: _react2['default'].PropTypes.string, // Message to use for screenreaders to press backspace to remove the current item - | ||
// {label} is replaced with the item label | ||
backspaceToRemoveMessage: _react2['default'].PropTypes.string, // Message to use for screenreaders to press backspace to remove the current item - {label} is replaced with the item label | ||
className: _react2['default'].PropTypes.string, // className for the outer element | ||
@@ -178,3 +192,3 @@ clearAllText: stringOrNode, // title for the "clear" control when multi: true | ||
// optional style to apply to the component wrapper | ||
statics: { Async: _Async2['default'], Creatable: _Creatable2['default'] }, | ||
statics: { Async: _Async2['default'], AsyncCreatable: _AsyncCreatable2['default'], Creatable: _Creatable2['default'] }, | ||
@@ -184,2 +198,3 @@ getDefaultProps: function getDefaultProps() { | ||
addLabelText: 'Add "{label}"?', | ||
arrowRenderer: _utilsDefaultArrowRenderer2['default'], | ||
autosize: true, | ||
@@ -411,3 +426,3 @@ backspaceRemoves: true, | ||
if (typeof input.getInput === 'function') { | ||
// Get the actual DOM input if the ref is an <Input /> component | ||
// Get the actual DOM input if the ref is an <AutosizeInput /> component | ||
input = input.getInput(); | ||
@@ -479,2 +494,3 @@ } | ||
handleInputFocus: function handleInputFocus(event) { | ||
if (this.props.disabled) return; | ||
var isOpen = this.state.isOpen || this._openAfterFocus || this.props.openOnFocus; | ||
@@ -1014,6 +1030,12 @@ if (this.props.onFocus) { | ||
renderArrow: function renderArrow() { | ||
var onMouseDown = this.handleMouseDownOnArrow; | ||
var arrow = this.props.arrowRenderer({ onMouseDown: onMouseDown }); | ||
return _react2['default'].createElement( | ||
'span', | ||
{ className: 'Select-arrow-zone', onMouseDown: this.handleMouseDownOnArrow }, | ||
_react2['default'].createElement('span', { className: 'Select-arrow', onMouseDown: this.handleMouseDownOnArrow }) | ||
{ | ||
className: 'Select-arrow-zone', | ||
onMouseDown: onMouseDown | ||
}, | ||
arrow | ||
); | ||
@@ -1020,0 +1042,0 @@ }, |
{ | ||
"name": "react-select-plus", | ||
"version": "1.0.0-rc.1.patch1", | ||
"version": "1.0.0-rc.1.patch2", | ||
"description": "A Select control built with and for ReactJS", | ||
@@ -27,3 +27,3 @@ "main": "lib/Select.js", | ||
"istanbul": "^0.4.5", | ||
"jsdom": "^9.4.2", | ||
"jsdom": "^9.5.0", | ||
"mocha": "^3.0.2", | ||
@@ -36,8 +36,9 @@ "react": "^15.0", | ||
"react-gravatar": "^2.4.5", | ||
"react-virtualized": "^7.22.1", | ||
"react-virtualized-select": "^1.3.0", | ||
"react-highlight-words": "^0.3.0", | ||
"react-virtualized": "^7.23.0", | ||
"react-virtualized-select": "^1.4.0", | ||
"sinon": "^1.17.5", | ||
"unexpected": "^10.16.0", | ||
"unexpected": "^10.17.0", | ||
"unexpected-dom": "^3.1.0", | ||
"unexpected-react": "^3.2.3", | ||
"unexpected-react": "^3.2.4", | ||
"unexpected-sinon": "^10.4.0" | ||
@@ -44,0 +45,0 @@ }, |
@@ -201,3 +201,3 @@ React-Select-Plus | ||
```js | ||
import { Creatable } from 'react-select'; | ||
import { Creatable } from 'react-select-plus'; | ||
@@ -213,7 +213,28 @@ function render (selectProps) { | ||
:---|:---|:--- | ||
`children` | function | Child function responsible for creating the inner Select component. This component can be used to compose HOCs (eg Creatable and Async). Expected signature: `(props: Object): PropTypes.element` | | ||
`isOptionUnique` | function | Searches for any matching option within the set of options. This function prevents duplicate options from being created. By default this is a basic, case-sensitive comparison of label and value. Expected signature: `({ option: Object, options: Array, labelKey: string, valueKey: string }): boolean` | | ||
`isValidNewOption` | function | Determines if the current input text represents a valid option. By default any non-empty string will be considered valid. Expected signature: `({ label: string }): boolean` | | ||
`newOptionCreator` | function | Factory to create new option. Expected signature: `({ label: string, labelKey: string, valueKey: string }): Object` | | ||
`promptTextCreator` | function | Creates prompt/placeholder option text. Expected signature: `(filterText: string): string` | ||
`shouldKeyDownEventCreateNewOption` | function | Decides if a keyDown event (eg its `keyCode`) should result in the creation of a new option. ENTER, TAB and comma keys create new options by dfeault. Expected signature: `({ keyCode: number }): boolean` | | ||
`promptTextCreator` | function | Factory for overriding default option creator prompt label. By default it will read 'Create option "{label}"'. Expected signature: `(label: String): String` | | ||
### Combining Async and Creatable | ||
Use the `AsyncCreatable` HOC if you want both _async_ and _creatable_ functionality. | ||
It ties `Async` and `Creatable` components together and supports a union of their properties (listed above). | ||
Use it as follows: | ||
```jsx | ||
import React from 'react'; | ||
import { AsyncCreatable } from 'react-select-plus'; | ||
function render (props) { | ||
// props can be a mix of Async, Creatable, and Select properties | ||
return ( | ||
<AsyncCreatable {...props} /> | ||
); | ||
} | ||
``` | ||
### Filtering options | ||
@@ -312,2 +333,3 @@ | ||
addLabelText | string | 'Add "{label}"?' | text to display when `allowCreate` is true | ||
arrowRenderer | func | undefined | Renders a custom drop-down arrow to be shown in the right-hand side of the select: `arrowRenderer({ onMouseDown })` | ||
autoBlur | bool | false | Blurs the input element after a selection has been made. Handy for lowering the keyboard on mobile devices | ||
@@ -314,0 +336,0 @@ autofocus | bool | undefined | autofocus the component on mount |
@@ -47,2 +47,3 @@ import React from 'react'; | ||
cache: React.PropTypes.any, // object to use to cache results, can be null to disable cache | ||
children: React.PropTypes.func, // Child function responsible for creating the inner Select component; (props: Object): PropTypes.element | ||
ignoreAccents: React.PropTypes.bool, // whether to strip diacritics when filtering (shared with Select) | ||
@@ -57,3 +58,3 @@ ignoreCase: React.PropTypes.bool, // whether to perform case-insensitive filtering (shared with Select) | ||
placeholder: stringOrNode, // field placeholder, displayed when there's no value (shared with Select) | ||
searchPromptText: stringOrNode, // label to prompt for search input | ||
searchPromptText: stringOrNode, // label to prompt for search input | ||
searchingText: React.PropTypes.string, // message to display while options are loading | ||
@@ -131,3 +132,3 @@ }, | ||
let cacheResult = getFromCache(this.state.cache, input); | ||
if (cacheResult) { | ||
if (cacheResult && Array.isArray(cacheResult.options)) { | ||
return this.setState({ | ||
@@ -147,3 +148,7 @@ options: cacheResult.options, | ||
render () { | ||
let { noResultsText } = this.props; | ||
let { | ||
children = defaultChildren, | ||
noResultsText, | ||
...restProps | ||
} = this.props; | ||
let { isLoading, options } = this.state; | ||
@@ -157,16 +162,25 @@ if (this.props.isLoading) isLoading = true; | ||
} | ||
return ( | ||
<Select | ||
{...this.props} | ||
ref={(ref) => this.select = ref} | ||
isLoading={isLoading} | ||
noResultsText={noResultsText} | ||
onInputChange={this.loadOptions} | ||
options={options} | ||
placeholder={placeholder} | ||
/> | ||
); | ||
const props = { | ||
...restProps, | ||
isLoading, | ||
noResultsText, | ||
onInputChange: this.loadOptions, | ||
options, | ||
placeholder, | ||
ref: (ref) => { | ||
this.select = ref; | ||
} | ||
}; | ||
return children(props); | ||
} | ||
}); | ||
function defaultChildren (props) { | ||
return ( | ||
<Select {...props} /> | ||
); | ||
}; | ||
module.exports = Async; |
@@ -10,2 +10,7 @@ import React from 'react'; | ||
propTypes: { | ||
// Child function responsible for creating the inner Select component | ||
// This component can be used to compose HOCs (eg Creatable and Async) | ||
// (props: Object): PropTypes.element | ||
children: React.PropTypes.func, | ||
// See Select.propTypes.filterOptions | ||
@@ -30,2 +35,5 @@ filterOptions: React.PropTypes.any, | ||
// See Select.propTypes.options | ||
options: React.PropTypes.array, | ||
// Creates prompt/placeholder option text. | ||
@@ -61,9 +69,11 @@ // (filterText: string): string | ||
createNewOption () { | ||
const { isValidNewOption, newOptionCreator, shouldKeyDownEventCreateNewOption } = this.props; | ||
const { labelKey, options, valueKey } = this.select.props; | ||
const { | ||
isValidNewOption, | ||
newOptionCreator, | ||
options = [], | ||
shouldKeyDownEventCreateNewOption | ||
} = this.props; | ||
const inputValue = this.select.getInputValue(); | ||
if (isValidNewOption({ label: inputValue })) { | ||
const option = newOptionCreator({ label: inputValue, labelKey, valueKey }); | ||
if (isValidNewOption({ label: this.inputValue })) { | ||
const option = newOptionCreator({ label: this.inputValue, labelKey: this.labelKey, valueKey: this.valueKey }); | ||
const isOptionUnique = this.isOptionUnique({ option }); | ||
@@ -81,24 +91,35 @@ | ||
filterOptions (...params) { | ||
const { filterOptions, isValidNewOption, promptTextCreator } = this.props; | ||
const { filterOptions, isValidNewOption, options, promptTextCreator } = this.props; | ||
const filteredOptions = filterOptions(...params); | ||
// TRICKY Check currently selected options as well. | ||
// Don't display a create-prompt for a value that's selected. | ||
// This covers async edge-cases where a newly-created Option isn't yet in the async-loaded array. | ||
const excludeOptions = params[2] || []; | ||
const inputValue = this.select | ||
? this.select.getInputValue() | ||
: ''; | ||
const filteredOptions = filterOptions(...params) || []; | ||
if (isValidNewOption({ label: inputValue })) { | ||
if (isValidNewOption({ label: this.inputValue })) { | ||
const { newOptionCreator } = this.props; | ||
const { labelKey, options, valueKey } = this.select.props; | ||
const option = newOptionCreator({ label: inputValue, labelKey, valueKey }); | ||
const option = newOptionCreator({ | ||
label: this.inputValue, | ||
labelKey: this.labelKey, | ||
valueKey: this.valueKey | ||
}); | ||
// TRICKY Compare to all options (not just filtered options) in case option has already been selected). | ||
// For multi-selects, this would remove it from the filtered list. | ||
const isOptionUnique = this.isOptionUnique({ option, options }); | ||
const isOptionUnique = this.isOptionUnique({ | ||
option, | ||
options: excludeOptions.concat(filteredOptions) | ||
}); | ||
if (isOptionUnique) { | ||
const prompt = promptTextCreator(inputValue); | ||
const prompt = promptTextCreator(this.inputValue); | ||
this._createPlaceholderOption = newOptionCreator({ label: prompt, labelKey, valueKey }); | ||
this._createPlaceholderOption = newOptionCreator({ | ||
label: prompt, | ||
labelKey: this.labelKey, | ||
valueKey: this.valueKey | ||
}); | ||
@@ -116,8 +137,3 @@ filteredOptions.unshift(this._createPlaceholderOption); | ||
}) { | ||
if (!this.select) { | ||
return false; | ||
} | ||
const { isOptionUnique } = this.props; | ||
const { labelKey, valueKey } = this.select.props; | ||
@@ -127,6 +143,6 @@ options = options || this.select.filterFlatOptions(); | ||
return isOptionUnique({ | ||
labelKey, | ||
labelKey: this.labelKey, | ||
option, | ||
options, | ||
valueKey | ||
valueKey: this.valueKey | ||
}); | ||
@@ -144,2 +160,7 @@ }, | ||
onInputChange (input) { | ||
// This value may be needed in between Select mounts (when this.select is null) | ||
this.inputValue = input; | ||
}, | ||
onInputKeyDown (event) { | ||
@@ -170,17 +191,37 @@ const { shouldKeyDownEventCreateNewOption } = this.props; | ||
render () { | ||
const { newOptionCreator, shouldKeyDownEventCreateNewOption, ...restProps } = this.props; | ||
const { | ||
children = defaultChildren, | ||
newOptionCreator, | ||
shouldKeyDownEventCreateNewOption, | ||
...restProps | ||
} = this.props; | ||
return ( | ||
<Select | ||
{...restProps} | ||
allowCreate | ||
filterOptions={this.filterOptions} | ||
menuRenderer={this.menuRenderer} | ||
onInputKeyDown={this.onInputKeyDown} | ||
ref={(ref) => this.select = ref} | ||
/> | ||
); | ||
const props = { | ||
...restProps, | ||
allowCreate: true, | ||
filterOptions: this.filterOptions, | ||
menuRenderer: this.menuRenderer, | ||
onInputChange: this.onInputChange, | ||
onInputKeyDown: this.onInputKeyDown, | ||
ref: (ref) => { | ||
this.select = ref; | ||
// These values may be needed in between Select mounts (when this.select is null) | ||
if (ref) { | ||
this.labelKey = ref.props.labelKey; | ||
this.valueKey = ref.props.valueKey; | ||
} | ||
} | ||
}; | ||
return children(props); | ||
} | ||
}); | ||
function defaultChildren (props) { | ||
return ( | ||
<Select {...props} /> | ||
); | ||
}; | ||
function isOptionUnique ({ option, options, labelKey, valueKey }) { | ||
@@ -187,0 +228,0 @@ return options |
@@ -0,6 +1,13 @@ | ||
/*! | ||
Copyright (c) 2016 Jed Watson. | ||
Licensed under the MIT License (MIT), see | ||
http://jedwatson.github.io/react-select | ||
*/ | ||
import React from 'react'; | ||
import ReactDOM from 'react-dom'; | ||
import Input from 'react-input-autosize'; | ||
import AutosizeInput from 'react-input-autosize'; | ||
import classNames from 'classnames'; | ||
import defaultArrowRenderer from './utils/defaultArrowRenderer'; | ||
import defaultFilterOptions from './utils/defaultFilterOptions'; | ||
@@ -10,4 +17,5 @@ import defaultMenuRenderer from './utils/defaultMenuRenderer'; | ||
import Async from './Async'; | ||
import AsyncCreatable from './AsyncCreatable'; | ||
import Creatable from './Creatable'; | ||
import Dropdown from './Dropdown'; | ||
import Creatable from './Creatable'; | ||
import Option from './Option'; | ||
@@ -60,2 +68,3 @@ import OptionGroup from './OptionGroup'; | ||
'aria-labelledby': React.PropTypes.string, // HTML ID of an element that should be used as the label (for assistive tech) | ||
arrowRenderer: React.PropTypes.func, // Create drop-down caret element | ||
autoBlur: React.PropTypes.bool, // automatically blur the component when an option is selected | ||
@@ -65,4 +74,3 @@ autofocus: React.PropTypes.bool, // autofocus the component on mount | ||
backspaceRemoves: React.PropTypes.bool, // whether backspace removes an item if there is no text input | ||
backspaceToRemoveMessage: React.PropTypes.string, // Message to use for screenreaders to press backspace to remove the current item - | ||
// {label} is replaced with the item label | ||
backspaceToRemoveMessage: React.PropTypes.string, // Message to use for screenreaders to press backspace to remove the current item - {label} is replaced with the item label | ||
className: React.PropTypes.string, // className for the outer element | ||
@@ -132,3 +140,3 @@ clearAllText: stringOrNode, // title for the "clear" control when multi: true | ||
statics: { Async, Creatable }, | ||
statics: { Async, AsyncCreatable, Creatable }, | ||
@@ -138,2 +146,3 @@ getDefaultProps () { | ||
addLabelText: 'Add "{label}"?', | ||
arrowRenderer: defaultArrowRenderer, | ||
autosize: true, | ||
@@ -365,3 +374,3 @@ backspaceRemoves: true, | ||
if (typeof input.getInput === 'function') { | ||
// Get the actual DOM input if the ref is an <Input /> component | ||
// Get the actual DOM input if the ref is an <AutosizeInput /> component | ||
input = input.getInput(); | ||
@@ -433,2 +442,3 @@ } | ||
handleInputFocus (event) { | ||
if (this.props.disabled) return; | ||
var isOpen = this.state.isOpen || this._openAfterFocus || this.props.openOnFocus; | ||
@@ -898,3 +908,3 @@ if (this.props.onFocus) { | ||
return ( | ||
<Input {...inputProps} minWidth="5px" /> | ||
<AutosizeInput {...inputProps} minWidth="5px" /> | ||
); | ||
@@ -926,5 +936,11 @@ } | ||
renderArrow () { | ||
const onMouseDown = this.handleMouseDownOnArrow; | ||
const arrow = this.props.arrowRenderer({ onMouseDown }); | ||
return ( | ||
<span className="Select-arrow-zone" onMouseDown={this.handleMouseDownOnArrow}> | ||
<span className="Select-arrow" onMouseDown={this.handleMouseDownOnArrow} /> | ||
<span | ||
className="Select-arrow-zone" | ||
onMouseDown={onMouseDown} | ||
> | ||
{arrow} | ||
</span> | ||
@@ -931,0 +947,0 @@ ); |
@@ -576,2 +576,29 @@ 'use strict'; | ||
}); | ||
describe('children function', () => { | ||
it('should allow a custom select type to be rendered', () => { | ||
let childProps; | ||
const node = ReactDOM.findDOMNode( | ||
TestUtils.renderIntoDocument( | ||
<Select.Async loadOptions={loadOptions}> | ||
{(props) => { | ||
childProps = props; | ||
return <div>faux select</div>; | ||
}} | ||
</Select.Async> | ||
) | ||
); | ||
expect(node.textContent, 'to equal', 'faux select'); | ||
expect(childProps.isLoading, 'to equal', true); | ||
}); | ||
it('should render a Select component by default', () => { | ||
const node = ReactDOM.findDOMNode( | ||
TestUtils.renderIntoDocument( | ||
<Select.Async loadOptions={loadOptions} /> | ||
) | ||
); | ||
expect(node.className, 'to contain', 'Select'); | ||
}); | ||
}); | ||
}); |
@@ -79,2 +79,35 @@ 'use strict'; | ||
it('should filter the "create..." prompt using both filtered options and currently-selected options', () => { | ||
let isOptionUniqueParams; | ||
createControl({ | ||
filterOptions: () => [ | ||
{ value: 'one', label: 'One' } | ||
], | ||
isOptionUnique: (params) => { | ||
isOptionUniqueParams = params; | ||
}, | ||
multi: true, | ||
options: [ | ||
{ value: 'one', label: 'One' }, | ||
{ value: 'two', label: 'Two' } | ||
], | ||
value: [ | ||
{ value: 'three', label: 'Three' } | ||
] | ||
}); | ||
typeSearchText('test'); | ||
const { options } = isOptionUniqueParams; | ||
const values = options.map(option => option.value); | ||
expect(values, 'to have length', 2); | ||
expect(values, 'to contain', 'one'); | ||
expect(values, 'to contain', 'three'); | ||
}); | ||
it('should guard against invalid values returned by filterOptions', () => { | ||
createControl({ | ||
filterOptions: () => null | ||
}); | ||
typeSearchText('test');; | ||
}); | ||
it('should not show a "create..." prompt if current filter text is not a valid option (as determined by :isValidNewOption prop)', () => { | ||
@@ -129,2 +162,19 @@ createControl({ | ||
it('should allow a custom select type to be rendered via the :children property', () => { | ||
let childProps; | ||
createControl({ | ||
children: (props) => { | ||
childProps = props; | ||
return <div>faux select</div>; | ||
} | ||
}); | ||
expect(creatableNode.textContent, 'to equal', 'faux select'); | ||
expect(childProps.allowCreate, 'to equal', true); | ||
}); | ||
it('default :children function renders a Select component', () => { | ||
createControl(); | ||
expect(creatableNode.className, 'to contain', 'Select'); | ||
}); | ||
it('default :isOptionUnique function should do a simple equality check for value and label', () => { | ||
@@ -131,0 +181,0 @@ const options = [ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1838246
95
39945
403
25