baseui
Version:
A React Component library implementing the Base design language
127 lines (125 loc) • 4.68 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = PhoneInputLite;
var _react = _interopRequireWildcard(require("react"));
var _countryPicker = _interopRequireDefault(require("./country-picker"));
var _defaultProps = _interopRequireDefault(require("./default-props"));
var _styledComponents = require("./styled-components");
var _input = require("../input");
var _overrides = require("../helpers/overrides");
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.
*/
PhoneInputLite.defaultProps = _defaultProps.default;
function PhoneInputLite(props) {
const {
'aria-label': ariaLabel,
'aria-labelledby': ariaLabelledBy,
'aria-describedby': ariaDescribedBy,
clearable,
countries,
country,
disabled,
error,
id,
mapIsoToLabel,
maxDropdownHeight,
maxDropdownWidth,
name,
onTextChange,
onCountryChange,
overrides,
placeholder,
positive,
required,
size,
text,
...restProps
} = props;
const inputRef = (0, _react.useRef)(null);
const baseDialCodeOverride = {
component: _styledComponents.StyledDialCode,
// @ts-ignore
style: ({
$theme: {
direction,
sizing
}
}) => {
const marginDir = direction === 'rtl' ? 'marginRight' : 'marginLeft';
return {
[marginDir]: sizing.scale600
};
},
props: {
children: country.dialCode
}
};
const mergedDialCodeOverride = (0, _overrides.mergeOverrides)({
DialCode: baseDialCodeOverride
}, {
DialCode: overrides.DialCode || {}
});
const baseOverrides = {
Input: {
// @ts-ignore
style: ({
$theme: {
direction,
sizing
}
}) => {
const paddingDir = direction === 'rtl' ? 'paddingRight' : 'paddingLeft';
return {
[paddingDir]: sizing.scale100
};
}
},
Before: mergedDialCodeOverride.DialCode
};
const [Root, rootProps] = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.StyledPhoneInputRoot);
const [Input, inputProps] = (0, _overrides.getOverrides)(overrides.Input, _input.Input);
inputProps.overrides = (0, _overrides.mergeOverrides)(baseOverrides, inputProps.overrides);
return /*#__PURE__*/_react.default.createElement(Root, _extends({}, rootProps, {
"data-baseweb": "phone-input"
}), /*#__PURE__*/_react.default.createElement(_countryPicker.default, {
country: country,
countries: countries,
disabled: disabled,
error: error,
mapIsoToLabel: mapIsoToLabel,
maxDropdownHeight: maxDropdownHeight,
maxDropdownWidth: maxDropdownWidth,
onCountryChange: onCountryChange,
overrides: overrides,
positive: positive,
required: required,
size: size
}), /*#__PURE__*/_react.default.createElement(Input, _extends({
"aria-label": ariaLabel,
"aria-labelledby": ariaLabelledBy,
"aria-describedby": ariaDescribedBy,
autoComplete: "tel-national",
"data-baseweb": "phone-input",
disabled: disabled,
error: error,
id: id,
inputMode: "tel",
inputRef: inputRef,
name: name,
onChange: onTextChange,
positive: positive,
placeholder: placeholder,
size: size,
type: "text",
value: text,
clearable: clearable
}, restProps, inputProps)));
}