baseui
Version:
A React Component library implementing the Base design language
89 lines (87 loc) • 4.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = CountrySelect;
var React = _interopRequireWildcard(require("react"));
var _styledComponents = require("./styled-components");
var _baseCountryPicker = _interopRequireDefault(require("./base-country-picker"));
var _select = require("../select");
var _overrides = require("../helpers/overrides");
var _defaultProps = _interopRequireDefault(require("./default-props"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); } /*
Copyright (c) Uber Technologies, Inc.
This source code is licensed under the MIT license found in the
LICENSE file in the root directory of this source tree.
*/ // The `CountrySelect` component is not designed to be used
// as a standalone component and we should deprecate it
// in the next v11 major version in favor of `CountryPicker`.
// The `DialCode` rendering should be a part of the composed
// non-split phone input.
CountrySelect.defaultProps = {
disabled: _defaultProps.default.disabled,
inputRef: {
current: null
},
maxDropdownHeight: _defaultProps.default.maxDropdownHeight,
maxDropdownWidth: _defaultProps.default.maxDropdownWidth,
overrides: {},
size: _defaultProps.default.size,
error: _defaultProps.default.error,
positive: _defaultProps.default.positive,
required: _defaultProps.default.required
};
function CountrySelect(props) {
const {
country,
disabled,
error,
overrides,
positive,
required,
size
} = props;
const sharedProps = {
$disabled: disabled,
$error: error,
$positive: positive,
$required: required,
$size: size
};
const baseSelectOverrides = {
ControlContainer: {
// @ts-ignore
style: props => {
if (!props.$isFocused && !props.$isPseudoFocused) {
return {
backgroundColor: 'transparent',
borderLeftColor: 'transparent',
borderRightColor: 'transparent',
borderTopColor: 'transparent',
borderBottomColor: 'transparent'
};
}
}
}
};
const [Select, selectProps] = (0, _overrides.getOverrides)(overrides.CountrySelect, _select.SingleSelect);
const selectOverrides = (0, _overrides.mergeOverrides)(baseSelectOverrides, {
Dropdown: overrides.CountrySelectDropdown || {},
DropdownListItem: overrides.CountrySelectDropdownListItem || {}
});
selectProps.overrides = (0, _overrides.mergeOverrides)(selectOverrides, selectProps.overrides);
const [CountrySelectContainer, countrySelectContainerProps] = (0, _overrides.getOverrides)(overrides.CountrySelectContainer, _styledComponents.StyledCountrySelectContainer);
const [DialCode, dialCodeProps] = (0, _overrides.getOverrides)(overrides.DialCode, _styledComponents.StyledDialCode);
return /*#__PURE__*/React.createElement(CountrySelectContainer, countrySelectContainerProps, /*#__PURE__*/React.createElement(_baseCountryPicker.default, _extends({}, props, {
overrides: {
...overrides,
CountrySelect: {
component: Select,
props: selectProps
}
}
})), /*#__PURE__*/React.createElement(DialCode, _extends({}, sharedProps, dialCodeProps), country.dialCode));
}