UNPKG

8.92 kBJavaScriptView Raw
1"use strict";
2
3function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = PhoneInputNext;
9
10var _react = _interopRequireWildcard(require("react"));
11
12var _constants = require("./constants.js");
13
14var _countryPicker = _interopRequireDefault(require("./country-picker.js"));
15
16var _defaultProps = _interopRequireDefault(require("./default-props.js"));
17
18var _styledComponents = require("./styled-components.js");
19
20var _index = require("../input/index.js");
21
22var _overrides = require("../helpers/overrides.js");
23
24function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
26function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
27
28function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
30function _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); }
31
32function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
33
34function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
35
36function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
37
38function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
40function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
42function _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; }
43
44function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
45
46function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
47
48function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
49
50PhoneInputNext.defaultProps = _objectSpread({}, _defaultProps.default, {
51 countries: _constants.COUNTRIES,
52 clearable: true
53});
54
55function PhoneInputNext(props) {
56 var ariaLabel = props['aria-label'],
57 ariaLabelledBy = props['aria-labelledby'],
58 ariaDescribedBy = props['aria-describedby'],
59 clearable = props.clearable,
60 countries = props.countries,
61 country = props.country,
62 disabled = props.disabled,
63 error = props.error,
64 id = props.id,
65 mapIsoToLabel = props.mapIsoToLabel,
66 maxDropdownHeight = props.maxDropdownHeight,
67 maxDropdownWidth = props.maxDropdownWidth,
68 name = props.name,
69 onTextChange = props.onTextChange,
70 onCountryChange = props.onCountryChange,
71 overrides = props.overrides,
72 placeholder = props.placeholder,
73 positive = props.positive,
74 required = props.required,
75 size = props.size,
76 text = props.text,
77 restProps = _objectWithoutProperties(props, ["aria-label", "aria-labelledby", "aria-describedby", "clearable", "countries", "country", "disabled", "error", "id", "mapIsoToLabel", "maxDropdownHeight", "maxDropdownWidth", "name", "onTextChange", "onCountryChange", "overrides", "placeholder", "positive", "required", "size", "text"]);
78
79 var inputRef = (0, _react.useRef)(null);
80 var baseDialCodeOverride = {
81 component: _styledComponents.StyledDialCode,
82 style: function style(_ref) {
83 var _ref$$theme = _ref.$theme,
84 direction = _ref$$theme.direction,
85 sizing = _ref$$theme.sizing;
86 var marginDir = direction === 'rtl' ? 'marginRight' : 'marginLeft';
87 return _defineProperty({}, marginDir, sizing.scale600);
88 },
89 props: {
90 children: country.dialCode
91 }
92 };
93 var mergedDialCodeOverride = (0, _overrides.mergeOverrides)({
94 DialCode: baseDialCodeOverride
95 }, {
96 DialCode: overrides.DialCode || {}
97 });
98 var baseOverrides = {
99 Input: {
100 style: function style(_ref3) {
101 var _ref3$$theme = _ref3.$theme,
102 direction = _ref3$$theme.direction,
103 sizing = _ref3$$theme.sizing;
104 var paddingDir = direction === 'rtl' ? 'paddingRight' : 'paddingLeft';
105 return _defineProperty({}, paddingDir, sizing.scale100);
106 }
107 },
108 Before: mergedDialCodeOverride.DialCode
109 };
110
111 var _getOverrides = (0, _overrides.getOverrides)(overrides.Root, _styledComponents.StyledPhoneInputRoot),
112 _getOverrides2 = _slicedToArray(_getOverrides, 2),
113 Root = _getOverrides2[0],
114 rootProps = _getOverrides2[1];
115
116 var _getOverrides3 = (0, _overrides.getOverrides)(overrides.Input, _index.Input),
117 _getOverrides4 = _slicedToArray(_getOverrides3, 2),
118 Input = _getOverrides4[0],
119 inputProps = _getOverrides4[1]; // $FlowFixMe
120
121
122 inputProps.overrides = (0, _overrides.mergeOverrides)(baseOverrides, inputProps.overrides);
123 return _react.default.createElement(Root, _extends({}, rootProps, {
124 "data-baseweb": "phone-input-next"
125 }), _react.default.createElement(_countryPicker.default, {
126 country: country,
127 countries: countries,
128 disabled: disabled,
129 error: error,
130 mapIsoToLabel: mapIsoToLabel,
131 maxDropdownHeight: maxDropdownHeight,
132 maxDropdownWidth: maxDropdownWidth,
133 onCountryChange: onCountryChange,
134 overrides: overrides,
135 positive: positive,
136 required: required,
137 size: size
138 }), _react.default.createElement(Input, _extends({
139 "aria-label": ariaLabel,
140 "aria-labelledby": ariaLabelledBy,
141 "aria-describedby": ariaDescribedBy,
142 autoComplete: "tel-national",
143 "data-baseweb": "phone-input",
144 disabled: disabled,
145 error: error,
146 id: id,
147 inputMode: "tel",
148 inputRef: inputRef,
149 name: name,
150 onChange: onTextChange,
151 positive: positive,
152 placeholder: placeholder,
153 size: size,
154 type: "text",
155 value: text,
156 clearable: clearable
157 }, restProps, inputProps)));
158}
\No newline at end of file