You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1312 lines
59 KiB

  1. 'use strict';
  2. function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
  3. var React = require('react');
  4. var React__default = _interopDefault(React);
  5. var core = require('@emotion/core');
  6. var reactDom = require('react-dom');
  7. var PropTypes = _interopDefault(require('prop-types'));
  8. var utils = require('./utils-03a02e63.cjs.dev.js');
  9. var _css = _interopDefault(require('@emotion/css'));
  10. var AutosizeInput = _interopDefault(require('react-input-autosize'));
  11. function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
  12. function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
  13. function getMenuPlacement(_ref) {
  14. var maxHeight = _ref.maxHeight,
  15. menuEl = _ref.menuEl,
  16. minHeight = _ref.minHeight,
  17. placement = _ref.placement,
  18. shouldScroll = _ref.shouldScroll,
  19. isFixedPosition = _ref.isFixedPosition,
  20. theme = _ref.theme;
  21. var spacing = theme.spacing;
  22. var scrollParent = utils.getScrollParent(menuEl);
  23. var defaultState = {
  24. placement: 'bottom',
  25. maxHeight: maxHeight
  26. }; // something went wrong, return default state
  27. if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when
  28. // the menu is rendered
  29. var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),
  30. scrollHeight = _scrollParent$getBoun.height;
  31. var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),
  32. menuBottom = _menuEl$getBoundingCl.bottom,
  33. menuHeight = _menuEl$getBoundingCl.height,
  34. menuTop = _menuEl$getBoundingCl.top;
  35. var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),
  36. containerTop = _menuEl$offsetParent$.top;
  37. var viewHeight = window.innerHeight;
  38. var scrollTop = utils.getScrollTop(scrollParent);
  39. var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);
  40. var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);
  41. var viewSpaceAbove = containerTop - marginTop;
  42. var viewSpaceBelow = viewHeight - menuTop;
  43. var scrollSpaceAbove = viewSpaceAbove + scrollTop;
  44. var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;
  45. var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;
  46. var scrollUp = scrollTop + menuTop - marginTop;
  47. var scrollDuration = 160;
  48. switch (placement) {
  49. case 'auto':
  50. case 'bottom':
  51. // 1: the menu will fit, do nothing
  52. if (viewSpaceBelow >= menuHeight) {
  53. return {
  54. placement: 'bottom',
  55. maxHeight: maxHeight
  56. };
  57. } // 2: the menu will fit, if scrolled
  58. if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {
  59. if (shouldScroll) {
  60. utils.animatedScrollTo(scrollParent, scrollDown, scrollDuration);
  61. }
  62. return {
  63. placement: 'bottom',
  64. maxHeight: maxHeight
  65. };
  66. } // 3: the menu will fit, if constrained
  67. if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {
  68. if (shouldScroll) {
  69. utils.animatedScrollTo(scrollParent, scrollDown, scrollDuration);
  70. } // we want to provide as much of the menu as possible to the user,
  71. // so give them whatever is available below rather than the minHeight.
  72. var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;
  73. return {
  74. placement: 'bottom',
  75. maxHeight: constrainedHeight
  76. };
  77. } // 4. Forked beviour when there isn't enough space below
  78. // AUTO: flip the menu, render above
  79. if (placement === 'auto' || isFixedPosition) {
  80. // may need to be constrained after flipping
  81. var _constrainedHeight = maxHeight;
  82. var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;
  83. if (spaceAbove >= minHeight) {
  84. _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);
  85. }
  86. return {
  87. placement: 'top',
  88. maxHeight: _constrainedHeight
  89. };
  90. } // BOTTOM: allow browser to increase scrollable area and immediately set scroll
  91. if (placement === 'bottom') {
  92. utils.scrollTo(scrollParent, scrollDown);
  93. return {
  94. placement: 'bottom',
  95. maxHeight: maxHeight
  96. };
  97. }
  98. break;
  99. case 'top':
  100. // 1: the menu will fit, do nothing
  101. if (viewSpaceAbove >= menuHeight) {
  102. return {
  103. placement: 'top',
  104. maxHeight: maxHeight
  105. };
  106. } // 2: the menu will fit, if scrolled
  107. if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {
  108. if (shouldScroll) {
  109. utils.animatedScrollTo(scrollParent, scrollUp, scrollDuration);
  110. }
  111. return {
  112. placement: 'top',
  113. maxHeight: maxHeight
  114. };
  115. } // 3: the menu will fit, if constrained
  116. if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
  117. var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,
  118. // so give them whatever is available below rather than the minHeight.
  119. if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
  120. _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;
  121. }
  122. if (shouldScroll) {
  123. utils.animatedScrollTo(scrollParent, scrollUp, scrollDuration);
  124. }
  125. return {
  126. placement: 'top',
  127. maxHeight: _constrainedHeight2
  128. };
  129. } // 4. not enough space, the browser WILL NOT increase scrollable area when
  130. // absolutely positioned element rendered above the viewport (only below).
  131. // Flip the menu, render below
  132. return {
  133. placement: 'bottom',
  134. maxHeight: maxHeight
  135. };
  136. default:
  137. throw new Error("Invalid placement provided \"" + placement + "\".");
  138. } // fulfil contract with flow: implicit return value of undefined
  139. return defaultState;
  140. } // Menu Component
  141. // ------------------------------
  142. function alignToControl(placement) {
  143. var placementToCSSProp = {
  144. bottom: 'top',
  145. top: 'bottom'
  146. };
  147. return placement ? placementToCSSProp[placement] : 'bottom';
  148. }
  149. var coercePlacement = function coercePlacement(p) {
  150. return p === 'auto' ? 'bottom' : p;
  151. };
  152. var menuCSS = function menuCSS(_ref2) {
  153. var _ref3;
  154. var placement = _ref2.placement,
  155. _ref2$theme = _ref2.theme,
  156. borderRadius = _ref2$theme.borderRadius,
  157. spacing = _ref2$theme.spacing,
  158. colors = _ref2$theme.colors;
  159. return _ref3 = {
  160. label: 'menu'
  161. }, _ref3[alignToControl(placement)] = '100%', _ref3.backgroundColor = colors.neutral0, _ref3.borderRadius = borderRadius, _ref3.boxShadow = '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)', _ref3.marginBottom = spacing.menuGutter, _ref3.marginTop = spacing.menuGutter, _ref3.position = 'absolute', _ref3.width = '100%', _ref3.zIndex = 1, _ref3;
  162. }; // NOTE: internal only
  163. var MenuPlacer =
  164. /*#__PURE__*/
  165. function (_Component) {
  166. _inheritsLoose(MenuPlacer, _Component);
  167. function MenuPlacer() {
  168. var _this;
  169. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  170. args[_key] = arguments[_key];
  171. }
  172. _this = _Component.call.apply(_Component, [this].concat(args)) || this;
  173. _this.state = {
  174. maxHeight: _this.props.maxMenuHeight,
  175. placement: null
  176. };
  177. _this.getPlacement = function (ref) {
  178. var _this$props = _this.props,
  179. minMenuHeight = _this$props.minMenuHeight,
  180. maxMenuHeight = _this$props.maxMenuHeight,
  181. menuPlacement = _this$props.menuPlacement,
  182. menuPosition = _this$props.menuPosition,
  183. menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,
  184. theme = _this$props.theme;
  185. var getPortalPlacement = _this.context.getPortalPlacement;
  186. if (!ref) return; // DO NOT scroll if position is fixed
  187. var isFixedPosition = menuPosition === 'fixed';
  188. var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;
  189. var state = getMenuPlacement({
  190. maxHeight: maxMenuHeight,
  191. menuEl: ref,
  192. minHeight: minMenuHeight,
  193. placement: menuPlacement,
  194. shouldScroll: shouldScroll,
  195. isFixedPosition: isFixedPosition,
  196. theme: theme
  197. });
  198. if (getPortalPlacement) getPortalPlacement(state);
  199. _this.setState(state);
  200. };
  201. _this.getUpdatedProps = function () {
  202. var menuPlacement = _this.props.menuPlacement;
  203. var placement = _this.state.placement || coercePlacement(menuPlacement);
  204. return _extends({}, _this.props, {
  205. placement: placement,
  206. maxHeight: _this.state.maxHeight
  207. });
  208. };
  209. return _this;
  210. }
  211. var _proto = MenuPlacer.prototype;
  212. _proto.render = function render() {
  213. var children = this.props.children;
  214. return children({
  215. ref: this.getPlacement,
  216. placerProps: this.getUpdatedProps()
  217. });
  218. };
  219. return MenuPlacer;
  220. }(React.Component);
  221. MenuPlacer.contextTypes = {
  222. getPortalPlacement: PropTypes.func
  223. };
  224. var Menu = function Menu(props) {
  225. var children = props.children,
  226. className = props.className,
  227. cx = props.cx,
  228. getStyles = props.getStyles,
  229. innerRef = props.innerRef,
  230. innerProps = props.innerProps;
  231. return core.jsx("div", _extends({
  232. css: getStyles('menu', props),
  233. className: cx({
  234. menu: true
  235. }, className)
  236. }, innerProps, {
  237. ref: innerRef
  238. }), children);
  239. };
  240. // Menu List
  241. // ==============================
  242. var menuListCSS = function menuListCSS(_ref4) {
  243. var maxHeight = _ref4.maxHeight,
  244. baseUnit = _ref4.theme.spacing.baseUnit;
  245. return {
  246. maxHeight: maxHeight,
  247. overflowY: 'auto',
  248. paddingBottom: baseUnit,
  249. paddingTop: baseUnit,
  250. position: 'relative',
  251. // required for offset[Height, Top] > keyboard scroll
  252. WebkitOverflowScrolling: 'touch'
  253. };
  254. };
  255. var MenuList = function MenuList(props) {
  256. var children = props.children,
  257. className = props.className,
  258. cx = props.cx,
  259. getStyles = props.getStyles,
  260. isMulti = props.isMulti,
  261. innerRef = props.innerRef;
  262. return core.jsx("div", {
  263. css: getStyles('menuList', props),
  264. className: cx({
  265. 'menu-list': true,
  266. 'menu-list--is-multi': isMulti
  267. }, className),
  268. ref: innerRef
  269. }, children);
  270. }; // ==============================
  271. // Menu Notices
  272. // ==============================
  273. var noticeCSS = function noticeCSS(_ref5) {
  274. var _ref5$theme = _ref5.theme,
  275. baseUnit = _ref5$theme.spacing.baseUnit,
  276. colors = _ref5$theme.colors;
  277. return {
  278. color: colors.neutral40,
  279. padding: baseUnit * 2 + "px " + baseUnit * 3 + "px",
  280. textAlign: 'center'
  281. };
  282. };
  283. var noOptionsMessageCSS = noticeCSS;
  284. var loadingMessageCSS = noticeCSS;
  285. var NoOptionsMessage = function NoOptionsMessage(props) {
  286. var children = props.children,
  287. className = props.className,
  288. cx = props.cx,
  289. getStyles = props.getStyles,
  290. innerProps = props.innerProps;
  291. return core.jsx("div", _extends({
  292. css: getStyles('noOptionsMessage', props),
  293. className: cx({
  294. 'menu-notice': true,
  295. 'menu-notice--no-options': true
  296. }, className)
  297. }, innerProps), children);
  298. };
  299. NoOptionsMessage.defaultProps = {
  300. children: 'No options'
  301. };
  302. var LoadingMessage = function LoadingMessage(props) {
  303. var children = props.children,
  304. className = props.className,
  305. cx = props.cx,
  306. getStyles = props.getStyles,
  307. innerProps = props.innerProps;
  308. return core.jsx("div", _extends({
  309. css: getStyles('loadingMessage', props),
  310. className: cx({
  311. 'menu-notice': true,
  312. 'menu-notice--loading': true
  313. }, className)
  314. }, innerProps), children);
  315. };
  316. LoadingMessage.defaultProps = {
  317. children: 'Loading...'
  318. }; // ==============================
  319. // Menu Portal
  320. // ==============================
  321. var menuPortalCSS = function menuPortalCSS(_ref6) {
  322. var rect = _ref6.rect,
  323. offset = _ref6.offset,
  324. position = _ref6.position;
  325. return {
  326. left: rect.left,
  327. position: position,
  328. top: offset,
  329. width: rect.width,
  330. zIndex: 1
  331. };
  332. };
  333. var MenuPortal =
  334. /*#__PURE__*/
  335. function (_Component2) {
  336. _inheritsLoose(MenuPortal, _Component2);
  337. function MenuPortal() {
  338. var _this2;
  339. for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  340. args[_key2] = arguments[_key2];
  341. }
  342. _this2 = _Component2.call.apply(_Component2, [this].concat(args)) || this;
  343. _this2.state = {
  344. placement: null
  345. };
  346. _this2.getPortalPlacement = function (_ref7) {
  347. var placement = _ref7.placement;
  348. var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed
  349. if (placement !== initialPlacement) {
  350. _this2.setState({
  351. placement: placement
  352. });
  353. }
  354. };
  355. return _this2;
  356. }
  357. var _proto2 = MenuPortal.prototype;
  358. _proto2.getChildContext = function getChildContext() {
  359. return {
  360. getPortalPlacement: this.getPortalPlacement
  361. };
  362. } // callback for occassions where the menu must "flip"
  363. ;
  364. _proto2.render = function render() {
  365. var _this$props2 = this.props,
  366. appendTo = _this$props2.appendTo,
  367. children = _this$props2.children,
  368. controlElement = _this$props2.controlElement,
  369. menuPlacement = _this$props2.menuPlacement,
  370. position = _this$props2.menuPosition,
  371. getStyles = _this$props2.getStyles;
  372. var isFixed = position === 'fixed'; // bail early if required elements aren't present
  373. if (!appendTo && !isFixed || !controlElement) {
  374. return null;
  375. }
  376. var placement = this.state.placement || coercePlacement(menuPlacement);
  377. var rect = utils.getBoundingClientObj(controlElement);
  378. var scrollDistance = isFixed ? 0 : window.pageYOffset;
  379. var offset = rect[placement] + scrollDistance;
  380. var state = {
  381. offset: offset,
  382. position: position,
  383. rect: rect
  384. }; // same wrapper element whether fixed or portalled
  385. var menuWrapper = core.jsx("div", {
  386. css: getStyles('menuPortal', state)
  387. }, children);
  388. return appendTo ? reactDom.createPortal(menuWrapper, appendTo) : menuWrapper;
  389. };
  390. return MenuPortal;
  391. }(React.Component);
  392. MenuPortal.childContextTypes = {
  393. getPortalPlacement: PropTypes.func
  394. };
  395. var isArray = Array.isArray;
  396. var keyList = Object.keys;
  397. var hasProp = Object.prototype.hasOwnProperty;
  398. function equal(a, b) {
  399. // fast-deep-equal index.js 2.0.1
  400. if (a === b) return true;
  401. if (a && b && typeof a == 'object' && typeof b == 'object') {
  402. var arrA = isArray(a),
  403. arrB = isArray(b),
  404. i,
  405. length,
  406. key;
  407. if (arrA && arrB) {
  408. length = a.length;
  409. if (length != b.length) return false;
  410. for (i = length; i-- !== 0;) {
  411. if (!equal(a[i], b[i])) return false;
  412. }
  413. return true;
  414. }
  415. if (arrA != arrB) return false;
  416. var dateA = a instanceof Date,
  417. dateB = b instanceof Date;
  418. if (dateA != dateB) return false;
  419. if (dateA && dateB) return a.getTime() == b.getTime();
  420. var regexpA = a instanceof RegExp,
  421. regexpB = b instanceof RegExp;
  422. if (regexpA != regexpB) return false;
  423. if (regexpA && regexpB) return a.toString() == b.toString();
  424. var keys = keyList(a);
  425. length = keys.length;
  426. if (length !== keyList(b).length) {
  427. return false;
  428. }
  429. for (i = length; i-- !== 0;) {
  430. if (!hasProp.call(b, keys[i])) return false;
  431. } // end fast-deep-equal
  432. // Custom handling for React
  433. for (i = length; i-- !== 0;) {
  434. key = keys[i];
  435. if (key === '_owner' && a.$$typeof) {
  436. // React-specific: avoid traversing React elements' _owner.
  437. // _owner contains circular references
  438. // and is not needed when comparing the actual elements (and not their owners)
  439. // .$$typeof and ._store on just reasonable markers of a react element
  440. continue;
  441. } else {
  442. // all other properties should be traversed as usual
  443. if (!equal(a[key], b[key])) return false;
  444. }
  445. } // fast-deep-equal index.js 2.0.1
  446. return true;
  447. }
  448. return a !== a && b !== b;
  449. } // end fast-deep-equal
  450. function exportedEqual(a, b) {
  451. try {
  452. return equal(a, b);
  453. } catch (error) {
  454. if (error.message && error.message.match(/stack|recursion/i)) {
  455. // warn on circular references, don't crash
  456. // browsers give this different errors name and messages:
  457. // chrome/safari: "RangeError", "Maximum call stack size exceeded"
  458. // firefox: "InternalError", too much recursion"
  459. // edge: "Error", "Out of stack space"
  460. console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);
  461. return false;
  462. } // some other error. we should definitely know about these
  463. throw error;
  464. }
  465. }
  466. function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
  467. var containerCSS = function containerCSS(_ref) {
  468. var isDisabled = _ref.isDisabled,
  469. isRtl = _ref.isRtl;
  470. return {
  471. label: 'container',
  472. direction: isRtl ? 'rtl' : null,
  473. pointerEvents: isDisabled ? 'none' : null,
  474. // cancel mouse events when disabled
  475. position: 'relative'
  476. };
  477. };
  478. var SelectContainer = function SelectContainer(props) {
  479. var children = props.children,
  480. className = props.className,
  481. cx = props.cx,
  482. getStyles = props.getStyles,
  483. innerProps = props.innerProps,
  484. isDisabled = props.isDisabled,
  485. isRtl = props.isRtl;
  486. return core.jsx("div", _extends$1({
  487. css: getStyles('container', props),
  488. className: cx({
  489. '--is-disabled': isDisabled,
  490. '--is-rtl': isRtl
  491. }, className)
  492. }, innerProps), children);
  493. }; // ==============================
  494. // Value Container
  495. // ==============================
  496. var valueContainerCSS = function valueContainerCSS(_ref2) {
  497. var spacing = _ref2.theme.spacing;
  498. return {
  499. alignItems: 'center',
  500. display: 'flex',
  501. flex: 1,
  502. flexWrap: 'wrap',
  503. padding: spacing.baseUnit / 2 + "px " + spacing.baseUnit * 2 + "px",
  504. WebkitOverflowScrolling: 'touch',
  505. position: 'relative',
  506. overflow: 'hidden'
  507. };
  508. };
  509. var ValueContainer = function ValueContainer(props) {
  510. var children = props.children,
  511. className = props.className,
  512. cx = props.cx,
  513. isMulti = props.isMulti,
  514. getStyles = props.getStyles,
  515. hasValue = props.hasValue;
  516. return core.jsx("div", {
  517. css: getStyles('valueContainer', props),
  518. className: cx({
  519. 'value-container': true,
  520. 'value-container--is-multi': isMulti,
  521. 'value-container--has-value': hasValue
  522. }, className)
  523. }, children);
  524. }; // ==============================
  525. // Indicator Container
  526. // ==============================
  527. var indicatorsContainerCSS = function indicatorsContainerCSS() {
  528. return {
  529. alignItems: 'center',
  530. alignSelf: 'stretch',
  531. display: 'flex',
  532. flexShrink: 0
  533. };
  534. };
  535. var IndicatorsContainer = function IndicatorsContainer(props) {
  536. var children = props.children,
  537. className = props.className,
  538. cx = props.cx,
  539. getStyles = props.getStyles;
  540. return core.jsx("div", {
  541. css: getStyles('indicatorsContainer', props),
  542. className: cx({
  543. indicators: true
  544. }, className)
  545. }, children);
  546. };
  547. function _templateObject() {
  548. var data = _taggedTemplateLiteralLoose(["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"]);
  549. _templateObject = function _templateObject() {
  550. return data;
  551. };
  552. return data;
  553. }
  554. function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
  555. function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
  556. function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
  557. var _ref2 = process.env.NODE_ENV === "production" ? {
  558. name: "19bqh2r",
  559. styles: "display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;"
  560. } : {
  561. name: "19bqh2r",
  562. styles: "display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;",
  563. map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */"
  564. };
  565. // ==============================
  566. // Dropdown & Clear Icons
  567. // ==============================
  568. var Svg = function Svg(_ref) {
  569. var size = _ref.size,
  570. props = _objectWithoutPropertiesLoose(_ref, ["size"]);
  571. return core.jsx("svg", _extends$2({
  572. height: size,
  573. width: size,
  574. viewBox: "0 0 20 20",
  575. "aria-hidden": "true",
  576. focusable: "false",
  577. css: _ref2
  578. }, props));
  579. };
  580. var CrossIcon = function CrossIcon(props) {
  581. return core.jsx(Svg, _extends$2({
  582. size: 20
  583. }, props), core.jsx("path", {
  584. d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"
  585. }));
  586. };
  587. var DownChevron = function DownChevron(props) {
  588. return core.jsx(Svg, _extends$2({
  589. size: 20
  590. }, props), core.jsx("path", {
  591. d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
  592. }));
  593. }; // ==============================
  594. // Dropdown & Clear Buttons
  595. // ==============================
  596. var baseCSS = function baseCSS(_ref3) {
  597. var isFocused = _ref3.isFocused,
  598. _ref3$theme = _ref3.theme,
  599. baseUnit = _ref3$theme.spacing.baseUnit,
  600. colors = _ref3$theme.colors;
  601. return {
  602. label: 'indicatorContainer',
  603. color: isFocused ? colors.neutral60 : colors.neutral20,
  604. display: 'flex',
  605. padding: baseUnit * 2,
  606. transition: 'color 150ms',
  607. ':hover': {
  608. color: isFocused ? colors.neutral80 : colors.neutral40
  609. }
  610. };
  611. };
  612. var dropdownIndicatorCSS = baseCSS;
  613. var DropdownIndicator = function DropdownIndicator(props) {
  614. var children = props.children,
  615. className = props.className,
  616. cx = props.cx,
  617. getStyles = props.getStyles,
  618. innerProps = props.innerProps;
  619. return core.jsx("div", _extends$2({}, innerProps, {
  620. css: getStyles('dropdownIndicator', props),
  621. className: cx({
  622. indicator: true,
  623. 'dropdown-indicator': true
  624. }, className)
  625. }), children || core.jsx(DownChevron, null));
  626. };
  627. var clearIndicatorCSS = baseCSS;
  628. var ClearIndicator = function ClearIndicator(props) {
  629. var children = props.children,
  630. className = props.className,
  631. cx = props.cx,
  632. getStyles = props.getStyles,
  633. innerProps = props.innerProps;
  634. return core.jsx("div", _extends$2({}, innerProps, {
  635. css: getStyles('clearIndicator', props),
  636. className: cx({
  637. indicator: true,
  638. 'clear-indicator': true
  639. }, className)
  640. }), children || core.jsx(CrossIcon, null));
  641. }; // ==============================
  642. // Separator
  643. // ==============================
  644. var indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {
  645. var isDisabled = _ref4.isDisabled,
  646. _ref4$theme = _ref4.theme,
  647. baseUnit = _ref4$theme.spacing.baseUnit,
  648. colors = _ref4$theme.colors;
  649. return {
  650. label: 'indicatorSeparator',
  651. alignSelf: 'stretch',
  652. backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,
  653. marginBottom: baseUnit * 2,
  654. marginTop: baseUnit * 2,
  655. width: 1
  656. };
  657. };
  658. var IndicatorSeparator = function IndicatorSeparator(props) {
  659. var className = props.className,
  660. cx = props.cx,
  661. getStyles = props.getStyles,
  662. innerProps = props.innerProps;
  663. return core.jsx("span", _extends$2({}, innerProps, {
  664. css: getStyles('indicatorSeparator', props),
  665. className: cx({
  666. 'indicator-separator': true
  667. }, className)
  668. }));
  669. }; // ==============================
  670. // Loading
  671. // ==============================
  672. var loadingDotAnimations = core.keyframes(_templateObject());
  673. var loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {
  674. var isFocused = _ref5.isFocused,
  675. size = _ref5.size,
  676. _ref5$theme = _ref5.theme,
  677. colors = _ref5$theme.colors,
  678. baseUnit = _ref5$theme.spacing.baseUnit;
  679. return {
  680. label: 'loadingIndicator',
  681. color: isFocused ? colors.neutral60 : colors.neutral20,
  682. display: 'flex',
  683. padding: baseUnit * 2,
  684. transition: 'color 150ms',
  685. alignSelf: 'center',
  686. fontSize: size,
  687. lineHeight: 1,
  688. marginRight: size,
  689. textAlign: 'center',
  690. verticalAlign: 'middle'
  691. };
  692. };
  693. var LoadingDot = function LoadingDot(_ref6) {
  694. var delay = _ref6.delay,
  695. offset = _ref6.offset;
  696. return core.jsx("span", {
  697. css:
  698. /*#__PURE__*/
  699. _css({
  700. animation: loadingDotAnimations + " 1s ease-in-out " + delay + "ms infinite;",
  701. backgroundColor: 'currentColor',
  702. borderRadius: '1em',
  703. display: 'inline-block',
  704. marginLeft: offset ? '1em' : null,
  705. height: '1em',
  706. verticalAlign: 'top',
  707. width: '1em'
  708. }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */")
  709. });
  710. };
  711. var LoadingIndicator = function LoadingIndicator(props) {
  712. var className = props.className,
  713. cx = props.cx,
  714. getStyles = props.getStyles,
  715. innerProps = props.innerProps,
  716. isRtl = props.isRtl;
  717. return core.jsx("div", _extends$2({}, innerProps, {
  718. css: getStyles('loadingIndicator', props),
  719. className: cx({
  720. indicator: true,
  721. 'loading-indicator': true
  722. }, className)
  723. }), core.jsx(LoadingDot, {
  724. delay: 0,
  725. offset: isRtl
  726. }), core.jsx(LoadingDot, {
  727. delay: 160,
  728. offset: true
  729. }), core.jsx(LoadingDot, {
  730. delay: 320,
  731. offset: !isRtl
  732. }));
  733. };
  734. LoadingIndicator.defaultProps = {
  735. size: 4
  736. };
  737. function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
  738. var css = function css(_ref) {
  739. var isDisabled = _ref.isDisabled,
  740. isFocused = _ref.isFocused,
  741. _ref$theme = _ref.theme,
  742. colors = _ref$theme.colors,
  743. borderRadius = _ref$theme.borderRadius,
  744. spacing = _ref$theme.spacing;
  745. return {
  746. label: 'control',
  747. alignItems: 'center',
  748. backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,
  749. borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,
  750. borderRadius: borderRadius,
  751. borderStyle: 'solid',
  752. borderWidth: 1,
  753. boxShadow: isFocused ? "0 0 0 1px " + colors.primary : null,
  754. cursor: 'default',
  755. display: 'flex',
  756. flexWrap: 'wrap',
  757. justifyContent: 'space-between',
  758. minHeight: spacing.controlHeight,
  759. outline: '0 !important',
  760. position: 'relative',
  761. transition: 'all 100ms',
  762. '&:hover': {
  763. borderColor: isFocused ? colors.primary : colors.neutral30
  764. }
  765. };
  766. };
  767. var Control = function Control(props) {
  768. var children = props.children,
  769. cx = props.cx,
  770. getStyles = props.getStyles,
  771. className = props.className,
  772. isDisabled = props.isDisabled,
  773. isFocused = props.isFocused,
  774. innerRef = props.innerRef,
  775. innerProps = props.innerProps,
  776. menuIsOpen = props.menuIsOpen;
  777. return core.jsx("div", _extends$3({
  778. ref: innerRef,
  779. css: getStyles('control', props),
  780. className: cx({
  781. control: true,
  782. 'control--is-disabled': isDisabled,
  783. 'control--is-focused': isFocused,
  784. 'control--menu-is-open': menuIsOpen
  785. }, className)
  786. }, innerProps), children);
  787. };
  788. function _objectWithoutPropertiesLoose$1(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
  789. function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); }
  790. var groupCSS = function groupCSS(_ref) {
  791. var spacing = _ref.theme.spacing;
  792. return {
  793. paddingBottom: spacing.baseUnit * 2,
  794. paddingTop: spacing.baseUnit * 2
  795. };
  796. };
  797. var Group = function Group(props) {
  798. var children = props.children,
  799. className = props.className,
  800. cx = props.cx,
  801. getStyles = props.getStyles,
  802. Heading = props.Heading,
  803. headingProps = props.headingProps,
  804. label = props.label,
  805. theme = props.theme,
  806. selectProps = props.selectProps;
  807. return core.jsx("div", {
  808. css: getStyles('group', props),
  809. className: cx({
  810. group: true
  811. }, className)
  812. }, core.jsx(Heading, _extends$4({}, headingProps, {
  813. selectProps: selectProps,
  814. theme: theme,
  815. getStyles: getStyles,
  816. cx: cx
  817. }), label), core.jsx("div", null, children));
  818. };
  819. var groupHeadingCSS = function groupHeadingCSS(_ref2) {
  820. var spacing = _ref2.theme.spacing;
  821. return {
  822. label: 'group',
  823. color: '#999',
  824. cursor: 'default',
  825. display: 'block',
  826. fontSize: '75%',
  827. fontWeight: '500',
  828. marginBottom: '0.25em',
  829. paddingLeft: spacing.baseUnit * 3,
  830. paddingRight: spacing.baseUnit * 3,
  831. textTransform: 'uppercase'
  832. };
  833. };
  834. var GroupHeading = function GroupHeading(props) {
  835. var className = props.className,
  836. cx = props.cx,
  837. getStyles = props.getStyles,
  838. theme = props.theme,
  839. selectProps = props.selectProps,
  840. cleanProps = _objectWithoutPropertiesLoose$1(props, ["className", "cx", "getStyles", "theme", "selectProps"]);
  841. return core.jsx("div", _extends$4({
  842. css: getStyles('groupHeading', _extends$4({
  843. theme: theme
  844. }, cleanProps)),
  845. className: cx({
  846. 'group-heading': true
  847. }, className)
  848. }, cleanProps));
  849. };
  850. function _extends$5() { _extends$5 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5.apply(this, arguments); }
  851. function _objectWithoutPropertiesLoose$2(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
  852. var inputCSS = function inputCSS(_ref) {
  853. var isDisabled = _ref.isDisabled,
  854. _ref$theme = _ref.theme,
  855. spacing = _ref$theme.spacing,
  856. colors = _ref$theme.colors;
  857. return {
  858. margin: spacing.baseUnit / 2,
  859. paddingBottom: spacing.baseUnit / 2,
  860. paddingTop: spacing.baseUnit / 2,
  861. visibility: isDisabled ? 'hidden' : 'visible',
  862. color: colors.neutral80
  863. };
  864. };
  865. var inputStyle = function inputStyle(isHidden) {
  866. return {
  867. label: 'input',
  868. background: 0,
  869. border: 0,
  870. fontSize: 'inherit',
  871. opacity: isHidden ? 0 : 1,
  872. outline: 0,
  873. padding: 0,
  874. color: 'inherit'
  875. };
  876. };
  877. var Input = function Input(_ref2) {
  878. var className = _ref2.className,
  879. cx = _ref2.cx,
  880. getStyles = _ref2.getStyles,
  881. innerRef = _ref2.innerRef,
  882. isHidden = _ref2.isHidden,
  883. isDisabled = _ref2.isDisabled,
  884. theme = _ref2.theme,
  885. selectProps = _ref2.selectProps,
  886. props = _objectWithoutPropertiesLoose$2(_ref2, ["className", "cx", "getStyles", "innerRef", "isHidden", "isDisabled", "theme", "selectProps"]);
  887. return core.jsx("div", {
  888. css: getStyles('input', _extends$5({
  889. theme: theme
  890. }, props))
  891. }, core.jsx(AutosizeInput, _extends$5({
  892. className: cx({
  893. input: true
  894. }, className),
  895. inputRef: innerRef,
  896. inputStyle: inputStyle(isHidden),
  897. disabled: isDisabled
  898. }, props)));
  899. };
  900. function _extends$6() { _extends$6 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$6.apply(this, arguments); }
  901. var multiValueCSS = function multiValueCSS(_ref) {
  902. var _ref$theme = _ref.theme,
  903. spacing = _ref$theme.spacing,
  904. borderRadius = _ref$theme.borderRadius,
  905. colors = _ref$theme.colors;
  906. return {
  907. label: 'multiValue',
  908. backgroundColor: colors.neutral10,
  909. borderRadius: borderRadius / 2,
  910. display: 'flex',
  911. margin: spacing.baseUnit / 2,
  912. minWidth: 0 // resolves flex/text-overflow bug
  913. };
  914. };
  915. var multiValueLabelCSS = function multiValueLabelCSS(_ref2) {
  916. var _ref2$theme = _ref2.theme,
  917. borderRadius = _ref2$theme.borderRadius,
  918. colors = _ref2$theme.colors,
  919. cropWithEllipsis = _ref2.cropWithEllipsis;
  920. return {
  921. borderRadius: borderRadius / 2,
  922. color: colors.neutral80,
  923. fontSize: '85%',
  924. overflow: 'hidden',
  925. padding: 3,
  926. paddingLeft: 6,
  927. textOverflow: cropWithEllipsis ? 'ellipsis' : null,
  928. whiteSpace: 'nowrap'
  929. };
  930. };
  931. var multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {
  932. var _ref3$theme = _ref3.theme,
  933. spacing = _ref3$theme.spacing,
  934. borderRadius = _ref3$theme.borderRadius,
  935. colors = _ref3$theme.colors,
  936. isFocused = _ref3.isFocused;
  937. return {
  938. alignItems: 'center',
  939. borderRadius: borderRadius / 2,
  940. backgroundColor: isFocused && colors.dangerLight,
  941. display: 'flex',
  942. paddingLeft: spacing.baseUnit,
  943. paddingRight: spacing.baseUnit,
  944. ':hover': {
  945. backgroundColor: colors.dangerLight,
  946. color: colors.danger
  947. }
  948. };
  949. };
  950. var MultiValueGeneric = function MultiValueGeneric(_ref4) {
  951. var children = _ref4.children,
  952. innerProps = _ref4.innerProps;
  953. return core.jsx("div", innerProps, children);
  954. };
  955. var MultiValueContainer = MultiValueGeneric;
  956. var MultiValueLabel = MultiValueGeneric;
  957. function MultiValueRemove(_ref5) {
  958. var children = _ref5.children,
  959. innerProps = _ref5.innerProps;
  960. return core.jsx("div", innerProps, children || core.jsx(CrossIcon, {
  961. size: 14
  962. }));
  963. }
  964. var MultiValue = function MultiValue(props) {
  965. var children = props.children,
  966. className = props.className,
  967. components = props.components,
  968. cx = props.cx,
  969. data = props.data,
  970. getStyles = props.getStyles,
  971. innerProps = props.innerProps,
  972. isDisabled = props.isDisabled,
  973. removeProps = props.removeProps,
  974. selectProps = props.selectProps;
  975. var Container = components.Container,
  976. Label = components.Label,
  977. Remove = components.Remove;
  978. return core.jsx(core.ClassNames, null, function (_ref6) {
  979. var css = _ref6.css,
  980. emotionCx = _ref6.cx;
  981. return core.jsx(Container, {
  982. data: data,
  983. innerProps: _extends$6({}, innerProps, {
  984. className: emotionCx(css(getStyles('multiValue', props)), cx({
  985. 'multi-value': true,
  986. 'multi-value--is-disabled': isDisabled
  987. }, className))
  988. }),
  989. selectProps: selectProps
  990. }, core.jsx(Label, {
  991. data: data,
  992. innerProps: {
  993. className: emotionCx(css(getStyles('multiValueLabel', props)), cx({
  994. 'multi-value__label': true
  995. }, className))
  996. },
  997. selectProps: selectProps
  998. }, children), core.jsx(Remove, {
  999. data: data,
  1000. innerProps: _extends$6({
  1001. className: emotionCx(css(getStyles('multiValueRemove', props)), cx({
  1002. 'multi-value__remove': true
  1003. }, className))
  1004. }, removeProps),
  1005. selectProps: selectProps
  1006. }));
  1007. });
  1008. };
  1009. MultiValue.defaultProps = {
  1010. cropWithEllipsis: true
  1011. };
  1012. function _extends$7() { _extends$7 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$7.apply(this, arguments); }
  1013. var optionCSS = function optionCSS(_ref) {
  1014. var isDisabled = _ref.isDisabled,
  1015. isFocused = _ref.isFocused,
  1016. isSelected = _ref.isSelected,
  1017. _ref$theme = _ref.theme,
  1018. spacing = _ref$theme.spacing,
  1019. colors = _ref$theme.colors;
  1020. return {
  1021. label: 'option',
  1022. backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',
  1023. color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',
  1024. cursor: 'default',
  1025. display: 'block',
  1026. fontSize: 'inherit',
  1027. padding: spacing.baseUnit * 2 + "px " + spacing.baseUnit * 3 + "px",
  1028. width: '100%',
  1029. userSelect: 'none',
  1030. WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',
  1031. // provide some affordance on touch devices
  1032. ':active': {
  1033. backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)
  1034. }
  1035. };
  1036. };
  1037. var Option = function Option(props) {
  1038. var children = props.children,
  1039. className = props.className,
  1040. cx = props.cx,
  1041. getStyles = props.getStyles,
  1042. isDisabled = props.isDisabled,
  1043. isFocused = props.isFocused,
  1044. isSelected = props.isSelected,
  1045. innerRef = props.innerRef,
  1046. innerProps = props.innerProps;
  1047. return core.jsx("div", _extends$7({
  1048. css: getStyles('option', props),
  1049. className: cx({
  1050. option: true,
  1051. 'option--is-disabled': isDisabled,
  1052. 'option--is-focused': isFocused,
  1053. 'option--is-selected': isSelected
  1054. }, className),
  1055. ref: innerRef
  1056. }, innerProps), children);
  1057. };
  1058. function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); }
  1059. var placeholderCSS = function placeholderCSS(_ref) {
  1060. var _ref$theme = _ref.theme,
  1061. spacing = _ref$theme.spacing,
  1062. colors = _ref$theme.colors;
  1063. return {
  1064. label: 'placeholder',
  1065. color: colors.neutral50,
  1066. marginLeft: spacing.baseUnit / 2,
  1067. marginRight: spacing.baseUnit / 2,
  1068. position: 'absolute',
  1069. top: '50%',
  1070. transform: 'translateY(-50%)'
  1071. };
  1072. };
  1073. var Placeholder = function Placeholder(props) {
  1074. var children = props.children,
  1075. className = props.className,
  1076. cx = props.cx,
  1077. getStyles = props.getStyles,
  1078. innerProps = props.innerProps;
  1079. return core.jsx("div", _extends$8({
  1080. css: getStyles('placeholder', props),
  1081. className: cx({
  1082. placeholder: true
  1083. }, className)
  1084. }, innerProps), children);
  1085. };
  1086. function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
  1087. var css$1 = function css(_ref) {
  1088. var isDisabled = _ref.isDisabled,
  1089. _ref$theme = _ref.theme,
  1090. spacing = _ref$theme.spacing,
  1091. colors = _ref$theme.colors;
  1092. return {
  1093. label: 'singleValue',
  1094. color: isDisabled ? colors.neutral40 : colors.neutral80,
  1095. marginLeft: spacing.baseUnit / 2,
  1096. marginRight: spacing.baseUnit / 2,
  1097. maxWidth: "calc(100% - " + spacing.baseUnit * 2 + "px)",
  1098. overflow: 'hidden',
  1099. position: 'absolute',
  1100. textOverflow: 'ellipsis',
  1101. whiteSpace: 'nowrap',
  1102. top: '50%',
  1103. transform: 'translateY(-50%)'
  1104. };
  1105. };
  1106. var SingleValue = function SingleValue(props) {
  1107. var children = props.children,
  1108. className = props.className,
  1109. cx = props.cx,
  1110. getStyles = props.getStyles,
  1111. isDisabled = props.isDisabled,
  1112. innerProps = props.innerProps;
  1113. return core.jsx("div", _extends$9({
  1114. css: getStyles('singleValue', props),
  1115. className: cx({
  1116. 'single-value': true,
  1117. 'single-value--is-disabled': isDisabled
  1118. }, className)
  1119. }, innerProps), children);
  1120. };
  1121. function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
  1122. var components = {
  1123. ClearIndicator: ClearIndicator,
  1124. Control: Control,
  1125. DropdownIndicator: DropdownIndicator,
  1126. DownChevron: DownChevron,
  1127. CrossIcon: CrossIcon,
  1128. Group: Group,
  1129. GroupHeading: GroupHeading,
  1130. IndicatorsContainer: IndicatorsContainer,
  1131. IndicatorSeparator: IndicatorSeparator,
  1132. Input: Input,
  1133. LoadingIndicator: LoadingIndicator,
  1134. Menu: Menu,
  1135. MenuList: MenuList,
  1136. MenuPortal: MenuPortal,
  1137. LoadingMessage: LoadingMessage,
  1138. NoOptionsMessage: NoOptionsMessage,
  1139. MultiValue: MultiValue,
  1140. MultiValueContainer: MultiValueContainer,
  1141. MultiValueLabel: MultiValueLabel,
  1142. MultiValueRemove: MultiValueRemove,
  1143. Option: Option,
  1144. Placeholder: Placeholder,
  1145. SelectContainer: SelectContainer,
  1146. SingleValue: SingleValue,
  1147. ValueContainer: ValueContainer
  1148. };
  1149. var defaultComponents = function defaultComponents(props) {
  1150. return _extends$a({}, components, props.components);
  1151. };
  1152. exports.MenuPlacer = MenuPlacer;
  1153. exports.clearIndicatorCSS = clearIndicatorCSS;
  1154. exports.components = components;
  1155. exports.containerCSS = containerCSS;
  1156. exports.css = css;
  1157. exports.css$1 = css$1;
  1158. exports.defaultComponents = defaultComponents;
  1159. exports.dropdownIndicatorCSS = dropdownIndicatorCSS;
  1160. exports.exportedEqual = exportedEqual;
  1161. exports.groupCSS = groupCSS;
  1162. exports.groupHeadingCSS = groupHeadingCSS;
  1163. exports.indicatorSeparatorCSS = indicatorSeparatorCSS;
  1164. exports.indicatorsContainerCSS = indicatorsContainerCSS;
  1165. exports.inputCSS = inputCSS;
  1166. exports.loadingIndicatorCSS = loadingIndicatorCSS;
  1167. exports.loadingMessageCSS = loadingMessageCSS;
  1168. exports.menuCSS = menuCSS;
  1169. exports.menuListCSS = menuListCSS;
  1170. exports.menuPortalCSS = menuPortalCSS;
  1171. exports.multiValueCSS = multiValueCSS;
  1172. exports.multiValueLabelCSS = multiValueLabelCSS;
  1173. exports.multiValueRemoveCSS = multiValueRemoveCSS;
  1174. exports.noOptionsMessageCSS = noOptionsMessageCSS;
  1175. exports.optionCSS = optionCSS;
  1176. exports.placeholderCSS = placeholderCSS;
  1177. exports.valueContainerCSS = valueContainerCSS;