UNPKG

@commercetools-uikit/select-utils

Version:

Utilities for working with select components.

672 lines (656 loc) • 48.2 kB
import { defineMessages, useIntl } from 'react-intl'; import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys'; import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols'; import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter'; import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor'; import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each'; import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors'; import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties'; import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property'; import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty'; import { designTokens } from '@commercetools-uikit/design-system'; import { warning } from '@commercetools-uikit/utils'; import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/esm/objectWithoutProperties'; import { css } from '@emotion/react'; import { CloseIcon, CloseBoldIcon, CaretDownIcon, SearchIcon } from '@commercetools-uikit/icons'; import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime'; import omit from 'lodash/omit'; import AccessibleButton from '@commercetools-uikit/accessible-button'; import { components } from 'react-select'; import { cloneElement } from 'react'; import Spacings from '@commercetools-uikit/spacings'; import Text from '@commercetools-uikit/text'; import CheckboxInput from '@commercetools-uikit/checkbox-input'; var messages$1 = defineMessages({ clearButtonLabel: { id: 'UIKit.ClearButton.clearButtonLabel', description: 'Label for the clear button', defaultMessage: 'Clear' } }); const _excluded = ["ref", "onMouseDown"]; function ownKeys$7(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$7(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$7(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } const ClearIndicator = props => { const intl = useIntl(); const getStyles = props.getStyles, _props$innerProps = props.innerProps, ref = _props$innerProps.ref, onMouseDown = _props$innerProps.onMouseDown, restInnerProps = _objectWithoutProperties(_props$innerProps, _excluded), selectProps = props.selectProps; return jsx("button", _objectSpread$7(_objectSpread$7({}, restInnerProps), {}, { ref: ref, css: /*#__PURE__*/css("border:none;cursor:pointer;background:none;box-sizing:border-box;text-decoration:none;fill:", designTokens.colorNeutral40, ";:hover svg *{fill:", designTokens.colorError, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:ClearIndicator;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNsZWFyLWluZGljYXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJjIiwiZmlsZSI6ImNsZWFyLWluZGljYXRvci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMsIFJlZiwgSlNYIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBDbGVhckluZGljYXRvclByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgVFNlbGVjdElucHV0Q3VzdG9tQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi90eXBlcyc7XG5cbnR5cGUgVElubmVyUHJvcHMgPSB7XG4gIHJlZjogUmVmPEhUTUxCdXR0b25FbGVtZW50Pjtcbn0gJiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2J1dHRvbiddO1xuXG5leHBvcnQgdHlwZSBUQ2xlYXJJbmRpY2F0b3JQcm9wcyA9IHtcbiAgaW5uZXJQcm9wczogVElubmVyUHJvcHM7XG59ICYgVFNlbGVjdElucHV0Q3VzdG9tQ29tcG9uZW50UHJvcHM8Q2xlYXJJbmRpY2F0b3JQcm9wcz47XG5cbmNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBUQ2xlYXJJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICBjb25zdCB7XG4gICAgZ2V0U3R5bGVzLFxuICAgIGlubmVyUHJvcHM6IHsgcmVmLCBvbk1vdXNlRG93biwgLi4ucmVzdElubmVyUHJvcHMgfSxcbiAgICBzZWxlY3RQcm9wcyxcbiAgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIHsuLi5yZXN0SW5uZXJQcm9wc31cbiAgICAgIHJlZj17cmVmfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZpbGw6ICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDQwfTtcbiAgICAgICAgOmhvdmVyIHN2ZyAqIHtcbiAgICAgICAgICBmaWxsOiAke2Rlc2lnblRva2Vucy5jb2xvckVycm9yfTtcbiAgICAgICAgfVxuICAgICAgYH1cbiAgICAgIHN0eWxlPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpIGFzIENTU1Byb3BlcnRpZXN9XG4gICAgICB0aXRsZT17aW50bC5mb3JtYXRNZXNzYWdlKG1lc3NhZ2VzLmNsZWFyQnV0dG9uTGFiZWwpfVxuICAgICAgYXJpYS1sYWJlbD17aW50bC5mb3JtYXRNZXNzYWdlKG1lc3NhZ2VzLmNsZWFyQnV0dG9uTGFiZWwpfVxuICAgICAgLy8gb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCBgYXJpYS1oaWRkZW5gIHByb3AgdmFsdWUgdG8gbWFrZSB0aGUgY29tcG9uZW50IGFjY2Vzc2libGUgYnkga2V5Ym9hcmQgLSBodHRwczovL2dpdGh1Yi5jb20vSmVkV2F0c29uL3JlYWN0LXNlbGVjdC9pc3N1ZXMvNDc5M1xuICAgICAgYXJpYS1oaWRkZW49e2ZhbHNlfVxuICAgICAgLy8gb25seSBvbk1vdXNlRG93biBhbmQgb25Ub3VjaEVuZCBldmVudCBoYW5kbGVycyBhcmUgcGFzc2VkIGJ5IGByZWFjdC1zZWxlY3RgIHRvIHRoZSBjb21wb25lbnQgYnkgZGVmYXVsdCwgd2hpY2ggbWFrZXMgaXQgbm90IGFjY2Vzc2libGUgYnkga2V5Ym9hcmRcbiAgICAgIG9uQ2xpY2s9e29uTW91c2VEb3dufVxuICAgID5cbiAgICAgIDxDbG9zZUljb24gc2l6ZT17c2VsZWN0UHJvcHMuaXNDb25kZW5zZWQgPyAnc21hbGwnIDogJ21lZGl1bSd9IC8+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuXG5DbGVhckluZGljYXRvci5kaXNwbGF5TmFtZSA9ICdDbGVhckluZGljYXRvcic7XG5cbmV4cG9ydCBkZWZhdWx0IENsZWFySW5kaWNhdG9yO1xuIl19 */"), style: getStyles('clearIndicator', props), title: intl.formatMessage(messages$1.clearButtonLabel), "aria-label": intl.formatMessage(messages$1.clearButtonLabel) // overriding the default `aria-hidden` prop value to make the component accessible by keyboard - https://github.com/JedWatson/react-select/issues/4793 , "aria-hidden": false // only onMouseDown and onTouchEnd event handlers are passed by `react-select` to the component by default, which makes it not accessible by keyboard , onClick: onMouseDown, children: jsx(CloseIcon, { size: selectProps.isCondensed ? 'small' : 'medium' }) })); }; ClearIndicator.displayName = 'ClearIndicator'; var ClearIndicator$1 = ClearIndicator; function ownKeys$6(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$6(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$6(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } // see https://github.com/JedWatson/react-select/blob/44e9fb29b230e49a754a2f0d6f30c2250aa45009/src/components/MultiValue.js const removeProps = ['onClick', 'onTouchEnd', 'onMouseDown']; const TagRemove = props => { const isDisabled = Boolean(props.selectProps.isDisabled || props.selectProps.isReadOnly); // when the select input is disabled, // we don't want to spread the removeProp event handlers const innerProps = isDisabled ? omit(props.innerProps, removeProps) : props.innerProps; return jsx(AccessibleButton, _objectSpread$6(_objectSpread$6({ label: "Remove" }, innerProps), {}, { children: jsx(CloseBoldIcon, { color: isDisabled ? 'neutral60' : 'solid', size: props.selectProps.isCondensed ? 'small' : 'medium' }) })); }; TagRemove.displayName = 'TagRemove'; var TagRemove$1 = TagRemove; function ownKeys$5(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$5(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$5(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } const DropdownIndicator = props => jsx(components.DropdownIndicator, _objectSpread$5(_objectSpread$5({}, props), {}, { children: jsx(CaretDownIcon, { color: props.isDisabled ? 'neutral60' : undefined, size: "small" }) })); DropdownIndicator.displayName = 'DropdownIndicator'; var DropdownIndicator$1 = DropdownIndicator; function ownKeys$4(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$4(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$4(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } const SearchIconDropdownIndicator = props => { return jsx(components.DropdownIndicator, _objectSpread$4(_objectSpread$4({}, props), {}, { children: jsx(SearchIcon, { color: 'neutral60', size: props.selectProps.isCondensed ? 'medium' : 'big' }) })); }; SearchIconDropdownIndicator.displayName = 'SearchIconDropdownIndicator'; var SearchIconDropdownIndicator$1 = SearchIconDropdownIndicator; function ownKeys$3(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$3(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$3(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } const getDefaultComponent = type => { if (type === 'singleValue') return components.SingleValue; if (type === 'placeholder') return components.Placeholder; return null; }; const WrapperWithIcon = props => { const DefaultComponent = getDefaultComponent(props.type); if (!DefaultComponent) { return null; } return jsxs(Fragment, { children: [props.selectProps.iconLeft && /*#__PURE__*/cloneElement(props.selectProps.iconLeft, { size: props.selectProps.isCondensed ? '30' : '40' }), jsx("span", { // react-select uses absolute positioning for the SingleValue/Placeholder // the icon has a fixed size of 24px (== SpacingsXl), therefore we can use a fixed margin // spacingsXs is the margin between the icon and value css: /*#__PURE__*/css("margin-left:", designTokens.spacing20, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:WrapperWithIcon;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndyYXBwZXItd2l0aC1pY29uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRGdCIiwiZmlsZSI6IndyYXBwZXItd2l0aC1pY29uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsb25lRWxlbWVudCwgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7XG4gIGNvbXBvbmVudHMgYXMgZGVmYXVsdENvbXBvbmVudHMsXG4gIHR5cGUgU2luZ2xlVmFsdWVQcm9wcyxcbiAgdHlwZSBQbGFjZWhvbGRlclByb3BzLFxufSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHsgVFNlbGVjdElucHV0Q3VzdG9tQ29tcG9uZW50UHJvcHMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFRTaW5nbGVWYWx1ZVdyYXBwZXJXaXRoSWNvblByb3BzID0ge1xuICB0eXBlOiAnc2luZ2xlVmFsdWUnO1xufSAmIFRTZWxlY3RJbnB1dEN1c3RvbUNvbXBvbmVudFByb3BzPFNpbmdsZVZhbHVlUHJvcHM+O1xuZXhwb3J0IHR5cGUgVFBsYWNlaG9sZGVyV3JhcHBlcldpdGhJY29uUHJvcHMgPSB7XG4gIHR5cGU6ICdwbGFjZWhvbGRlcic7XG59ICYgVFNlbGVjdElucHV0Q3VzdG9tQ29tcG9uZW50UHJvcHM8UGxhY2Vob2xkZXJQcm9wcz47XG5leHBvcnQgdHlwZSBUV3JhcHBlcldpdGhJY29uUHJvcHM8VHlwZSBleHRlbmRzICdzaW5nbGVWYWx1ZScgfCAncGxhY2Vob2xkZXInPiA9XG4gIFR5cGUgZXh0ZW5kcyAnc2luZ2xlVmFsdWUnXG4gICAgPyBUU2luZ2xlVmFsdWVXcmFwcGVyV2l0aEljb25Qcm9wc1xuICAgIDogVHlwZSBleHRlbmRzICdwbGFjZWhvbGRlcidcbiAgICA/IFRQbGFjZWhvbGRlcldyYXBwZXJXaXRoSWNvblByb3BzXG4gICAgOiBuZXZlcjtcbmV4cG9ydCB0eXBlIFREZWZhdWx0Q29tcG9uZW50PFR5cGUgZXh0ZW5kcyAnc2luZ2xlVmFsdWUnIHwgJ3BsYWNlaG9sZGVyJz4gPSAoXG4gIHByb3BzOiBUeXBlIGV4dGVuZHMgJ3NpbmdsZVZhbHVlJ1xuICAgID8gU2luZ2xlVmFsdWVQcm9wc1xuICAgIDogVHlwZSBleHRlbmRzICdwbGFjZWhvbGRlcidcbiAgICA/IFBsYWNlaG9sZGVyUHJvcHNcbiAgICA6IG5ldmVyXG4pID0+IEpTWC5FbGVtZW50O1xuXG5jb25zdCBnZXREZWZhdWx0Q29tcG9uZW50ID0gPFR5cGUgZXh0ZW5kcyAnc2luZ2xlVmFsdWUnIHwgJ3BsYWNlaG9sZGVyJz4oXG4gIHR5cGU6IFRXcmFwcGVyV2l0aEljb25Qcm9wczxUeXBlPlsndHlwZSddXG4pOiBURGVmYXVsdENvbXBvbmVudDxUeXBlPiB8IG51bGwgPT4ge1xuICBpZiAodHlwZSA9PT0gJ3NpbmdsZVZhbHVlJylcbiAgICByZXR1cm4gZGVmYXVsdENvbXBvbmVudHMuU2luZ2xlVmFsdWUgYXMgVERlZmF1bHRDb21wb25lbnQ8VHlwZT47XG4gIGlmICh0eXBlID09PSAncGxhY2Vob2xkZXInKVxuICAgIHJldHVybiBkZWZhdWx0Q29tcG9uZW50cy5QbGFjZWhvbGRlciBhcyBURGVmYXVsdENvbXBvbmVudDxUeXBlPjtcbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBXcmFwcGVyV2l0aEljb24gPSA8VHlwZSBleHRlbmRzICdzaW5nbGVWYWx1ZScgfCAncGxhY2Vob2xkZXInPihcbiAgcHJvcHM6IFRXcmFwcGVyV2l0aEljb25Qcm9wczxUeXBlPlxuKSA9PiB7XG4gIGNvbnN0IERlZmF1bHRDb21wb25lbnQgPSBnZXREZWZhdWx0Q29tcG9uZW50PFR5cGU+KHByb3BzLnR5cGUpO1xuXG4gIGlmICghRGVmYXVsdENvbXBvbmVudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge3Byb3BzLnNlbGVjdFByb3BzLmljb25MZWZ0ICYmXG4gICAgICAgIGNsb25lRWxlbWVudChwcm9wcy5zZWxlY3RQcm9wcy5pY29uTGVmdCwge1xuICAgICAgICAgIHNpemU6IHByb3BzLnNlbGVjdFByb3BzLmlzQ29uZGVuc2VkID8gJzMwJyA6ICc0MCcsXG4gICAgICAgIH0pfVxuICAgICAgPHNwYW5cbiAgICAgICAgLy8gcmVhY3Qtc2VsZWN0IHVzZXMgYWJzb2x1dGUgcG9zaXRpb25pbmcgZm9yIHRoZSBTaW5nbGVWYWx1ZS9QbGFjZWhvbGRlclxuICAgICAgICAvLyB0aGUgaWNvbiBoYXMgYSBmaXhlZCBzaXplIG9mIDI0cHggKD09IFNwYWNpbmdzWGwpLCB0aGVyZWZvcmUgd2UgY2FuIHVzZSBhIGZpeGVkIG1hcmdpblxuICAgICAgICAvLyBzcGFjaW5nc1hzIGlzIHRoZSBtYXJnaW4gYmV0d2VlbiB0aGUgaWNvbiBhbmQgdmFsdWVcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmcyMH07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIHsvKiBAdHMtaWdub3JlICovfVxuICAgICAgICA8RGVmYXVsdENvbXBvbmVudCB7Li4ucHJvcHN9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgPC8+XG4gICk7XG59O1xuXG5XcmFwcGVyV2l0aEljb24uZGlzcGxheU5hbWUgPSAnV3JhcHBlcldpdGhJY29uJztcblxuZXhwb3J0IGRlZmF1bHQgV3JhcHBlcldpdGhJY29uO1xuXG5jb25zdCBjdXN0b21Db21wb25lbnRzID0ge1xuICBTaW5nbGVWYWx1ZTogKHByb3BzOiBUV3JhcHBlcldpdGhJY29uUHJvcHM8J3NpbmdsZVZhbHVlJz4pID0+IChcbiAgICA8V3JhcHBlcldpdGhJY29uPCdzaW5nbGVWYWx1ZSc+IHsuLi5wcm9wc30gdHlwZT1cInNpbmdsZVZhbHVlXCIgLz5cbiAgKSxcbiAgUGxhY2Vob2xkZXI6IChwcm9wczogVFdyYXBwZXJXaXRoSWNvblByb3BzPCdwbGFjZWhvbGRlcic+KSA9PiAoXG4gICAgPFdyYXBwZXJXaXRoSWNvbjwncGxhY2Vob2xkZXInPiB7Li4ucHJvcHN9IHR5cGU9XCJwbGFjZWhvbGRlclwiIC8+XG4gICksXG59O1xuXG5leHBvcnQgeyBjdXN0b21Db21wb25lbnRzIH07XG4iXX0= */"), children: jsx(DefaultComponent, _objectSpread$3({}, props)) })] }); }; WrapperWithIcon.displayName = 'WrapperWithIcon'; var WrapperWithIcon$1 = WrapperWithIcon; const customComponents = { SingleValue: props => jsx(WrapperWithIcon, _objectSpread$3(_objectSpread$3({}, props), {}, { type: "singleValue" })), Placeholder: props => jsx(WrapperWithIcon, _objectSpread$3(_objectSpread$3({}, props), {}, { type: "placeholder" })) }; const NO_VALUE_FALLBACK = '- - - -'; const SELECT_DROPDOWN_OPTION_TYPES = { SINGLE_PROPERTY: 'single-property', DOUBLE_PROPERTY: 'double-property', MULTIPLE_PROPERTIES: 'multiple-properties' }; function ownKeys$2(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$2(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$2(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } const MultiplePropertiesSelectInputOption = props => { const data = props.data; const noValueFallback = props.noValueFallback || NO_VALUE_FALLBACK; return jsx(components.Option, _objectSpread$2(_objectSpread$2({}, props), {}, { children: jsxs(Spacings.Stack, { scale: "xs", children: [jsx(Text.Detail, { fontWeight: "bold", children: data?.label || noValueFallback }), jsxs(Text.Detail, { children: ["Key: ", data?.key || noValueFallback] }), jsxs(Text.Detail, { children: ["ID: ", data?.id || noValueFallback] })] }) })); }; MultiplePropertiesSelectInputOption.displayName = 'MultiplePropertiesSelectInputOption'; const DoublePropertySelectInputOption = props => { const data = props.data; const noValueFallback = props.noValueFallback || NO_VALUE_FALLBACK; return jsx(components.Option, _objectSpread$2(_objectSpread$2({}, props), {}, { children: jsxs(Spacings.Stack, { scale: "xs", children: [jsx(Text.Detail, { fontWeight: "bold", children: data?.label || noValueFallback }), jsxs(Text.Detail, { children: ["Key: ", data?.key || noValueFallback] })] }) })); }; DoublePropertySelectInputOption.displayName = 'DoublePropertySelectInputOption'; const CustomSelectInputOption = props => { const noValueFallback = props.noValueFallback || NO_VALUE_FALLBACK; switch (props.optionType) { case SELECT_DROPDOWN_OPTION_TYPES.MULTIPLE_PROPERTIES: return jsx(MultiplePropertiesSelectInputOption, _objectSpread$2(_objectSpread$2({}, props.optionInnerProps), {}, { noValueFallback: noValueFallback })); case SELECT_DROPDOWN_OPTION_TYPES.DOUBLE_PROPERTY: return jsx(DoublePropertySelectInputOption, _objectSpread$2(_objectSpread$2({}, props.optionInnerProps), {}, { noValueFallback: noValueFallback })); default: return jsx(components.Option, _objectSpread$2(_objectSpread$2({}, props.optionInnerProps), {}, { children: jsx(Text.Detail, { children: props.optionInnerProps.data?.label || noValueFallback }) })); } }; CustomSelectInputOption.displayName = 'CustomSelectInputOption'; function ownKeys$1(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$1(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$1(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } const optionStyleCheckboxComponents = appearance => { return { Option: props => { const innerRef = props.innerRef, innerProps = props.innerProps, label = props.label, isDisabled = props.isDisabled, isFocused = props.isFocused, isSelected = props.isSelected, className = props.className, data = props.data; return jsxs("div", _objectSpread$1(_objectSpread$1({ "data-component": "option", ref: innerRef }, innerProps), {}, { css: /*#__PURE__*/css("padding:", designTokens.spacing10, " ", designTokens.spacing20, ";", isFocused && `background-color: ${designTokens.backgroundColorForInputWhenHovered};`, " display:flex;justify-content:space-between;font-size:", designTokens.fontSize20, ";span{font-size:", designTokens.fontSize20, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:Option;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9wdGlvbnMtc3R5bGUtY2hlY2tib3gtY29tcG9uZW50cy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUNrQiIsImZpbGUiOiJvcHRpb25zLXN0eWxlLWNoZWNrYm94LWNvbXBvbmVudHMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdHlwZSBQcm9wcyBhcyBSZWFjdFNlbGVjdFByb3BzLCBPcHRpb25Qcm9wcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgQ2hlY2tib3hJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jaGVja2JveC1pbnB1dCc7XG5pbXBvcnQgdHlwZSB7IFRTZWxlY3RJbnB1dFByb3BzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LWlucHV0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG4vKipcbiAqIFJldHVybnMgY3VzdG9tIGNvbXBvbmVudHMgdG8gYmUgdXNlZCB3aXRoIHJlYWN0LXNlbGVjdCwgd2hlbiBvcHRpb25TdHlsZSBpcyBzZXQgdG8gXCJjaGVja2JveFwiXG4gKi9cbnR5cGUgT3B0aW9uVHlwZSA9IHtcbiAgbGFiZWw6IFJlYWN0Tm9kZTtcbiAgdmFsdWU6IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBvcHRpb25TdHlsZUNoZWNrYm94Q29tcG9uZW50cyA9IChcbiAgYXBwZWFyYW5jZTogVFNlbGVjdElucHV0UHJvcHNbJ2FwcGVhcmFuY2UnXVxuKSA9PiB7XG4gIHJldHVybiB7XG4gICAgT3B0aW9uOiAocHJvcHM6IE9wdGlvblByb3BzPE9wdGlvblR5cGU+KSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGlubmVyUmVmLFxuICAgICAgICBpbm5lclByb3BzLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgaXNEaXNhYmxlZCxcbiAgICAgICAgaXNGb2N1c2VkLFxuICAgICAgICBpc1NlbGVjdGVkLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIGRhdGEsXG4gICAgICB9ID0gcHJvcHM7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWNvbXBvbmVudD1cIm9wdGlvblwiXG4gICAgICAgICAgcmVmPXtpbm5lclJlZn1cbiAgICAgICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmcxMH0gJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzIwfTtcbiAgICAgICAgICAgICR7aXNGb2N1c2VkICYmXG4gICAgICAgICAgICBgYmFja2dyb3VuZC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXRXaGVuSG92ZXJlZH07YH1cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBmb250LXNpemU6ICR7ZGVzaWduVG9rZW5zLmZvbnRTaXplMjB9O1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHtkZXNpZ25Ub2tlbnMuZm9udFNpemUyMH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgYH1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94SW5wdXRcbiAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICBpc0NoZWNrZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge319XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICA8L0NoZWNrYm94SW5wdXQ+XG4gICAgICAgICAge2FwcGVhcmFuY2UgPT09ICdmaWx0ZXInICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR7ZGVzaWduVG9rZW5zLmxpbmVIZWlnaHQwNX07XG4gICAgICAgICAgICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDUwfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2RhdGEuY291bnR9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfSxcbiAgfSBhcyBSZWFjdFNlbGVjdFByb3BzWydjb21wb25lbnRzJ107XG59O1xuXG4vKipcbiAqIFJldHVybnMgcmVhY3Qtc2VsZWN0IHByb3BzIHRvIGJlIHVzZWQgd2l0aCB0aGUgPFNlbGVjdD4gY29tcG9uZW50LCB3aGVuIG9wdGlvblN0eWxlIGlzIHNldCB0byBcImNoZWNrYm94XCJcbiAqL1xuZXhwb3J0IGNvbnN0IG9wdGlvbnNTdHlsZUNoZWNrYm94U2VsZWN0UHJvcHMgPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgLy8gc2VsZWN0ZWQgb3B0aW9ucyBzaG91bGQgc3RpbGwgYmUgdmlzaWJsZSBpbiB0aGUgb3B0aW9uLWxpc3QsIG90aGVyd2lzZSB5b3UgY2FudCB0b2dnbGUgdGhlbVxuICAgIGhpZGVTZWxlY3RlZE9wdGlvbnM6IGZhbHNlLFxuICAgIC8vIGRvbid0IGNsb3NlIHRoZSBtZW51IG9uIGNoZWNrIC8gdW5jaGVjayBvZiBhIGNoZWNrYm94XG4gICAgY2xvc2VNZW51T25TZWxlY3Q6IGZhbHNlLFxuICB9O1xufTtcbiJdfQ== */"), className: className, "aria-disabled": isDisabled, children: [jsx(CheckboxInput, { isDisabled: isDisabled, isChecked: isSelected, onChange: () => {}, children: jsx("span", { children: label }) }), appearance === 'filter' && jsx("div", { css: /*#__PURE__*/css("display:flex;align-items:center;font-weight:400;line-height:", designTokens.lineHeight05, ";color:", designTokens.colorNeutral50, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Option;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9wdGlvbnMtc3R5bGUtY2hlY2tib3gtY29tcG9uZW50cy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNERzQiIsImZpbGUiOiJvcHRpb25zLXN0eWxlLWNoZWNrYm94LWNvbXBvbmVudHMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdHlwZSBQcm9wcyBhcyBSZWFjdFNlbGVjdFByb3BzLCBPcHRpb25Qcm9wcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgQ2hlY2tib3hJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jaGVja2JveC1pbnB1dCc7XG5pbXBvcnQgdHlwZSB7IFRTZWxlY3RJbnB1dFByb3BzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LWlucHV0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG4vKipcbiAqIFJldHVybnMgY3VzdG9tIGNvbXBvbmVudHMgdG8gYmUgdXNlZCB3aXRoIHJlYWN0LXNlbGVjdCwgd2hlbiBvcHRpb25TdHlsZSBpcyBzZXQgdG8gXCJjaGVja2JveFwiXG4gKi9cbnR5cGUgT3B0aW9uVHlwZSA9IHtcbiAgbGFiZWw6IFJlYWN0Tm9kZTtcbiAgdmFsdWU6IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBvcHRpb25TdHlsZUNoZWNrYm94Q29tcG9uZW50cyA9IChcbiAgYXBwZWFyYW5jZTogVFNlbGVjdElucHV0UHJvcHNbJ2FwcGVhcmFuY2UnXVxuKSA9PiB7XG4gIHJldHVybiB7XG4gICAgT3B0aW9uOiAocHJvcHM6IE9wdGlvblByb3BzPE9wdGlvblR5cGU+KSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGlubmVyUmVmLFxuICAgICAgICBpbm5lclByb3BzLFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgaXNEaXNhYmxlZCxcbiAgICAgICAgaXNGb2N1c2VkLFxuICAgICAgICBpc1NlbGVjdGVkLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIGRhdGEsXG4gICAgICB9ID0gcHJvcHM7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWNvbXBvbmVudD1cIm9wdGlvblwiXG4gICAgICAgICAgcmVmPXtpbm5lclJlZn1cbiAgICAgICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmcxMH0gJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzIwfTtcbiAgICAgICAgICAgICR7aXNGb2N1c2VkICYmXG4gICAgICAgICAgICBgYmFja2dyb3VuZC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXRXaGVuSG92ZXJlZH07YH1cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBmb250LXNpemU6ICR7ZGVzaWduVG9rZW5zLmZvbnRTaXplMjB9O1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHtkZXNpZ25Ub2tlbnMuZm9udFNpemUyMH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgYH1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICA+XG4gICAgICAgICAgPENoZWNrYm94SW5wdXRcbiAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICBpc0NoZWNrZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge319XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICA8L0NoZWNrYm94SW5wdXQ+XG4gICAgICAgICAge2FwcGVhcmFuY2UgPT09ICdmaWx0ZXInICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR7ZGVzaWduVG9rZW5zLmxpbmVIZWlnaHQwNX07XG4gICAgICAgICAgICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDUwfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2RhdGEuY291bnR9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfSxcbiAgfSBhcyBSZWFjdFNlbGVjdFByb3BzWydjb21wb25lbnRzJ107XG59O1xuXG4vKipcbiAqIFJldHVybnMgcmVhY3Qtc2VsZWN0IHByb3BzIHRvIGJlIHVzZWQgd2l0aCB0aGUgPFNlbGVjdD4gY29tcG9uZW50LCB3aGVuIG9wdGlvblN0eWxlIGlzIHNldCB0byBcImNoZWNrYm94XCJcbiAqL1xuZXhwb3J0IGNvbnN0IG9wdGlvbnNTdHlsZUNoZWNrYm94U2VsZWN0UHJvcHMgPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgLy8gc2VsZWN0ZWQgb3B0aW9ucyBzaG91bGQgc3RpbGwgYmUgdmlzaWJsZSBpbiB0aGUgb3B0aW9uLWxpc3QsIG90aGVyd2lzZSB5b3UgY2FudCB0b2dnbGUgdGhlbVxuICAgIGhpZGVTZWxlY3RlZE9wdGlvbnM6IGZhbHNlLFxuICAgIC8vIGRvbid0IGNsb3NlIHRoZSBtZW51IG9uIGNoZWNrIC8gdW5jaGVjayBvZiBhIGNoZWNrYm94XG4gICAgY2xvc2VNZW51T25TZWxlY3Q6IGZhbHNlLFxuICB9O1xufTtcbiJdfQ== */"), children: data.count })] })); } }; }; /** * Returns react-select props to be used with the <Select> component, when optionStyle is set to "checkbox" */ const optionsStyleCheckboxSelectProps = () => { return { // selected options should still be visible in the option-list, otherwise you cant toggle them hideSelectedOptions: false, // don't close the menu on check / uncheck of a checkbox closeMenuOnSelect: false }; }; var messages = defineMessages({ createLabel: { id: 'UIKit.CreatableSelectInput.createLabel', description: 'Text of dropdown when creating option', defaultMessage: 'Create "{inputValue}"' }, noOptionsMessageWithInputValue: { id: 'UIKit.SelectInput.noOptionsMessageWithInputValue', description: 'Text of dropdown when no options match search text', defaultMessage: 'No options' }, noOptionsMessageWithoutInputValue: { id: 'UIKit.SelectInput.noOptionsMessageWithoutInputValue', description: 'Text of dropdown when no options exist', defaultMessage: 'No options' }, placeholder: { id: 'UIKit.SelectInput.placeholder', description: 'Default input placeholder text', defaultMessage: 'Select...' }, selectInputAsFilterPlaceholder: { id: 'UIKit.SelectInput.selectInputAsFilterPlaceholder', description: 'Default input placeholder text when used as filter', defaultMessage: 'Search' }, loadingOptions: { id: 'UIKit.SelectInput.loadingOptions', description: 'Default input loading text', defaultMessage: 'Loading...' } }); function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } const getHorizontalConstraintValue = value => { switch (value) { case 'auto': return 'initial'; default: return designTokens[`constraint${value}`] || designTokens.constraintScale; } }; const getInputBackgroundColor = props => { if (props.appearance === 'quiet') { return designTokens.colorTransparent; } if (props.isDisabled) { return designTokens.backgroundColorForInputWhenDisabled; } if (props.isReadOnly) { return designTokens.backgroundColorForInputWhenReadonly; } return designTokens.backgroundColorForInput; }; const getMultiValueBackgroundColor = props => { if (props.isDisabled) return designTokens.backgroundColorForInputWhenDisabled; if (props.isReadOnly) return designTokens.backgroundColorForInputWhenReadonly; return designTokens.colorPrimary95; }; const getInputBorderColor = (props, state) => { if (props.appearance === 'quiet') { return designTokens.colorTransparent; } if (props.isDisabled) { return designTokens.borderColorForInputWhenDisabled; } if (props.isReadOnly) { return designTokens.colorNeutral95; } if (state.isFocused) { return designTokens.borderColorForInputWhenFocused; } if (props.hasError) { return designTokens.borderColorForInputWhenError; } if (props.hasWarning) { return designTokens.borderColorForInputWhenWarning; } return designTokens.borderColorForInput; }; const getHoverInputBorderColor = props => { if (props.appearance === 'quiet') { return designTokens.colorTransparent; } if (props.isDisabled) { return designTokens.borderColorForInputWhenDisabled; } if (props.isReadOnly) { return designTokens.colorNeutral95; } if (props.hasError) { return designTokens.borderColorForInputWhenError; } if (props.hasWarning) { return designTokens.borderColorForInputWhenWarning; } return designTokens.borderColorForInputWhenHovered; }; const getHoverInputBackgroundColor = props => { if (!props.isDisabled && !props.isReadOnly) { if (props.appearance === 'quiet') { return 'hsla(240, 64%, 58%, 4%)'; //this is mainly a combination of our primary color hsl(240, 64%, 58%) and an alpha channel of 4%. } else { return designTokens.backgroundColorForInputWhenHovered; } } return null; }; const controlStyles = props => (base, state) => { return _objectSpread(_objectSpread(_objectSpread({}, base), {}, { fontSize: props.isCondensed ? designTokens.fontSize20 : designTokens.fontSize30, backgroundColor: getInputBackgroundColor(props), borderColor: getInputBorderColor(props, state), borderWidth: (() => { if (props.hasWarning || props.hasError || state.isFocused || props.appearance === 'quiet') { return designTokens.borderWidth2; } return designTokens.borderWidth1; })(), borderRadius: designTokens.borderRadiusForInput, minHeight: props.isCondensed ? designTokens.heightForInputAsSmall : designTokens.heightForInput, cursor: (() => { if (props.isDisabled) return 'not-allowed'; if (props.isReadOnly) return 'default'; return 'pointer'; })(), padding: props.appearance === 'quiet' ? `0 ${designTokens.spacing20}` : `0 ${designTokens.spacing30}`, transition: `border-color ${designTokens.transitionStandard}, box-shadow ${designTokens.transitionStandard}`, outline: 0, boxShadow: 'none' }, props.horizontalConstraint === 'auto' ? { display: 'inline-flex' } : {}), {}, { '&:focus-within': { borderColor: (() => { if (!props.isDisabled && !props.isReadOnly) return designTokens.borderColorForInputWhenFocused; return null; })() }, '&:hover': { borderColor: getHoverInputBorderColor(props), backgroundColor: getHoverInputBackgroundColor(props) }, pointerEvents: 'auto', color: props.isDisabled || props.isReadOnly ? designTokens.fontColorForInputWhenDisabled : base.fontColorForInput }); }; const menuStyles = props => base => { return _objectSpread(_objectSpread(_objectSpread({}, base), props.appearance === 'filter' ? { position: 'inherit', zIndex: 'inherit' } : {}), {}, { border: `1px solid ${designTokens.colorSurface}`, borderRadius: designTokens.borderRadiusForInput, backgroundColor: designTokens.backgroundColorForInput, boxShadow: props.appearance === 'filter' ? 'none' : '0 2px 5px 0px rgba(0, 0, 0, 0.15)', fontSize: designTokens.fontSize30, fontFamily: 'inherit', margin: `${designTokens.spacing10} 0 0 0`, borderColor: (() => { if (props.hasError || props.hasWarning) { return designTokens.colorSurface; } return base.borderColorForInput; })(), width: props.horizontalConstraint === 'auto' ? 'auto' : '100%', minWidth: props.minMenuWidth ? getHorizontalConstraintValue(props.minMenuWidth) : designTokens.constraint3, maxWidth: props.maxMenuWidth ? getHorizontalConstraintValue(props.maxMenuWidth) : designTokens.constraintScale }); }; const indicatorSeparatorStyles = () => base => { return _objectSpread(_objectSpread({}, base), {}, { display: 'none', margin: '0', padding: '0', marginLeft: designTokens.spacing10 }); }; const dropdownIndicatorStyles = props => base => { return _objectSpread(_objectSpread({}, base), {}, { color: designTokens.fontColorForInput, margin: '0', padding: '0', marginLeft: designTokens.spacing20, fill: (() => { if (props.isDisabled || props.isReadOnly) return designTokens.fontColorForInputWhenDisabled; if (props.hasError) return designTokens.colorError; if (props.hasWarning) return designTokens.colorWarning; return designTokens.colorNeutral60; })() }); }; const clearIndicatorStyles = () => base => _objectSpread(_objectSpread({}, base), {}, { display: 'flex', padding: 0, marginLeft: designTokens.spacing20 }); const menuListStyles = () => base => { return _objectSpread(_objectSpread({}, base), {}, { padding: `${designTokens.spacing10} 0`, borderRadius: designTokens.borderRadiusForInput, backgroundColor: designTokens.backgroundColorForInput }); }; const optionStyles = props => (base, state) => { return _objectSpread(_objectSpread({}, base), {}, { transition: `border-color ${designTokens.transitionStandard}, background-color ${designTokens.transitionStandard}, color ${designTokens.transitionStandard}`, padding: `${designTokens.spacing20} ${designTokens.spacing30}`, lineHeight: designTokens.lineHeight40, fontSize: props.isCondensed ? designTokens.fontSize20 : designTokens.fontSize30, cursor: state.isDisabled ? 'not-allowed' : 'pointer', color: (() => { if (state.isDisabled) return designTokens.fontColorForInputWhenDisabled; return designTokens.fontColorForInput; })(), borderRadius: props.appearance === 'filter' && '4px', backgroundColor: (() => { if (state.isSelected) return designTokens.colorPrimary95; if (state.isFocused) return designTokens.backgroundColorForInputWhenHovered; return base.backgroundColor; })(), '&:active': { backgroundColor: (() => { if (state.isDisabled) return designTokens.colorTransparent; return designTokens.colorPrimary95; })() } }); }; const placeholderStyles = props => base => { return _objectSpread(_objectSpread({}, base), {}, { color: (() => { if (props.appearance === 'quiet' && !props.isReadOnly && !props.isDisabled) { if (props.hasError) { return designTokens.colorError; } if (props.hasWarning) { return designTokens.colorWarning; } } return designTokens.colorNeutral60; })(), width: '100%', overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis', fill: props.isDisabled || props.isReadOnly ? designTokens.fontColorForInputWhenDisabled : base.fontColorForInput }); }; const getInputValueLayout = props => { switch (true) { case props.appearance === 'filter': return 'grid'; // Display property should be grid when isMulti and has no value so the Placeholder component is positioned correctly with the Input // Display property should be Flex when there is an iconLeft, also when the input has some values when isMulti. // See PR from react select for more insight https://github.com/JedWatson/react-select/pull/4833 case props.iconLeft && !props.isMulti || props.isMulti && props.hasValue && (props.controlShouldRenderValue ?? true): return 'flex'; default: return 'grid'; } }; const valueContainerStyles = props => base => { return _objectSpread(_objectSpread(_objectSpread({}, base), !props.isMulti && { flexWrap: 'nowrap' }), {}, { padding: '0', backgroundColor: 'none', overflow: 'hidden', display: getInputValueLayout(props), fill: props.isDisabled || props.isReadOnly ? designTokens.fontColorForInputWhenDisabled : designTokens.colorNeutral60 }); }; const singleValueStyles = props => base => { return _objectSpread(_objectSpread({}, base), {}, { color: (() => { if (props.isDisabled) { return designTokens.fontColorForInputWhenDisabled; } if (props.isReadOnly) { return designTokens.fontColorForInputWhenReadonly; } if (props.hasError) return designTokens.colorError; if (props.hasWarning) return designTokens.colorWarning; return designTokens.fontColorForInput; })() }); }; const groupStyles = props => base => { return _objectSpread(_objectSpread({}, base), {}, { padding: 0, '&:not(:first-of-type)': { borderTop: props.showOptionGroupDivider ? `1px solid ${designTokens.colorNeutral90}` : base.borderTop } }); }; const groupHeadingStyles = () => base => { return _objectSpread(_objectSpread({}, base), {}, { color: designTokens.fontColorForInputWhenReadonly, fontSize: designTokens.fontSize20, borderBottom: `1px solid ${designTokens.colorNeutral90}`, textTransform: 'none', fontWeight: designTokens.fontWeight500, padding: `${designTokens.spacing20} ${designTokens.spacing30}`, '&:empty': { padding: 0 } }); }; const containerStyles = () => (base, state) => { return _objectSpread(_objectSpread({}, base), {}, { fontFamily: 'inherit', minHeight: designTokens.heightForInputAsSmall, borderRadius: designTokens.borderRadiusForInput, borderColor: state.isFocused ? designTokens.borderColorForInputWhenFocused : base.borderColor, boxShadow: state.isFocused ? 'none' : base.boxShadow }); }; const indicatorsContainerStyles = () => () => ({ background: 'none', display: 'flex', alignItems: 'center' }); const menuPortalStyles = props => base => _objectSpread(_objectSpread({}, base), {}, { zIndex: props.menuPortalZIndex }); const multiValueStyles = props => base => { return _objectSpread(_objectSpread({}, base), {}, { display: 'flex', alignItems: 'center', height: props.isCondensed ? 'inherit' : '32px', backgroundColor: getMultiValueBackgroundColor(props), padding: props.isCondensed ? `0 ${designTokens.spacing20} 0 calc(${designTokens.spacing05} + ${designTokens.spacing10})` : designTokens.spacing20, border: `1px solid ${designTokens.colorNeutral85}`, borderRadius: designTokens.borderRadius20 }); }; const multiValueLabelStyles = props => base => { return _objectSpread(_objectSpread({}, base), {}, { fontSize: props.isCondensed ? designTokens.fontSize20 : designTokens.fontSize30, lineHeight: props.isCondensed ? designTokens.lineHeight20 : designTokens.lineHeight40, color: (() => { if (props.isDisabled) return designTokens.fontColorForInputWhenDisabled; if (props.isReadOnly) return designTokens.fontColorForInputWhenReadonly; return base.color; })(), padding: `${props.isCondensed ? '1px' : designTokens.spacing10} ${designTokens.spacing20}`, borderRadius: `${designTokens.borderRadius2} 0 0 ${designTokens.borderRadius2}`, border: 'none', borderWidth: '1px 0 1px 1px', '&:last-child': { borderRadius: designTokens.borderRadius2, borderWidth: designTokens.borderWidth1 } }); }; const multiValueRemoveStyles = props => (base, state) => { return _objectSpread(_objectSpread({}, base), {}, { borderColor: designTokens.colorNeutral, padding: `0 ${designTokens.spacing10}`, borderRadius: `0 ${designTokens.borderRadius2} ${designTokens.borderRadius2} 0`, borderStyle: 'none', borderWidth: '0', pointerEvents: state.isDisabled || props.isReadOnly ? 'none' : base.pointerEvents, backgroundColor: designTokens.colorNeutral95, 'svg *': { fill: props.isReadOnly ? designTokens.fontColorForInputWhenReadonly : '' }, '&:hover, &:focus': { borderColor: designTokens.colorWarning, backgroundColor: designTokens.colorNeutral95, 'svg *': { fill: designTokens.colorError } } }); }; function createSelectStyles(props) { return { control: controlStyles(props), menu: menuStyles(props), indicatorSeparator: indicatorSeparatorStyles(), dropdownIndicator: dropdownIndicatorStyles(props), clearIndicator: clearIndicatorStyles(), menuList: menuListStyles(), menuPortal: menuPortalStyles(props), multiValue: multiValueStyles(props), multiValueLabel: multiValueLabelStyles(props), multiValueRemove: multiValueRemoveStyles(props), indicatorsContainer: indicatorsContainerStyles(), option: optionStyles(props), placeholder: placeholderStyles(props), valueContainer: valueContainerStyles(props), singleValue: singleValueStyles(props), group: groupStyles(props), groupHeading: groupHeadingStyles(), container: containerStyles() }; } const getMessage = componentName => `${componentName}: use \`menuPortalZIndex\` in conjunction with \`menuPortalTarget\``; const warnIfMenuPortalPropsAreMissing = props => { if (typeof props.menuPortalZIndex !== 'undefined' && props.menuPortalZIndex !== 1 // 1 is the value passed in default props ) { process.env.NODE_ENV !== "production" ? warning(props.menuPortalTarget, getMessage(props.componentName)) : void 0; } }; // NOTE: This string will be replaced on build time with the package version. var version = "20.2.3"; export { ClearIndicator$1 as ClearIndicator, CustomSelectInputOption, DoublePropertySelectInputOption, DropdownIndicator$1 as DropdownIndicator, MultiplePropertiesSelectInputOption, SELECT_DROPDOWN_OPTION_TYPES, SearchIconDropdownIndicator$1 as SearchIconDropdownIndicator, TagRemove$1 as TagRemove, WrapperWithIcon$1 as ValueWrapperWithIcon, createSelectStyles, customComponents as customComponentsWithIcons, messages, optionStyleCheckboxComponents, optionsStyleCheckboxSelectProps, version, warnIfMenuPortalPropsAreMissing };