@bigbinary/neeto-molecules 4.3.2 → 4.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PhoneNumber.js +3 -2
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/SessionEnvironment.js +2 -1
- package/dist/SessionEnvironment.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +2 -1
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/SessionEnvironment.js +2 -1
- package/dist/cjs/SessionEnvironment.js.map +1 -1
- package/dist/cjs/{phone-number-ycxkC0mm.js → index.es5.min-CUvhPmKJ.js} +2 -324
- package/dist/cjs/index.es5.min-CUvhPmKJ.js.map +1 -0
- package/dist/cjs/phone-number-DIIlhFGA.js +328 -0
- package/dist/cjs/phone-number-DIIlhFGA.js.map +1 -0
- package/dist/cjs/v2/DocumentEditor.js +2 -2
- package/dist/cjs/v2/DocumentEditor.js.map +1 -1
- package/dist/cjs/v2/DynamicVariables.js +134 -0
- package/dist/cjs/v2/DynamicVariables.js.map +1 -0
- package/dist/cjs/v2/PhoneNumber.js +414 -0
- package/dist/cjs/v2/PhoneNumber.js.map +1 -0
- package/dist/{phone-number--BBsxLSh.js → index.es5.min-B2AiaKmd.js} +2 -301
- package/dist/index.es5.min-B2AiaKmd.js.map +1 -0
- package/dist/phone-number-B3OcwVZM.js +303 -0
- package/dist/phone-number-B3OcwVZM.js.map +1 -0
- package/dist/v2/DocumentEditor.js +2 -2
- package/dist/v2/DocumentEditor.js.map +1 -1
- package/dist/v2/DynamicVariables.js +132 -0
- package/dist/v2/DynamicVariables.js.map +1 -0
- package/dist/v2/PhoneNumber.js +389 -0
- package/dist/v2/PhoneNumber.js.map +1 -0
- package/package.json +3 -3
- package/src/translations/en.json +2 -0
- package/dist/cjs/phone-number-ycxkC0mm.js.map +0 -1
- package/dist/phone-number--BBsxLSh.js.map +0 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
7
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
8
|
+
var general = require('@bigbinary/neeto-commons-frontend/v2/utils/general');
|
|
9
|
+
var ramda = require('ramda');
|
|
10
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
11
|
+
var createLucideIcon = require('../createLucideIcon-DBDhE7kE.js');
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @license lucide-react v1.7.0 - ISC
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the ISC license.
|
|
17
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
const __iconNode = [
|
|
22
|
+
[
|
|
23
|
+
"path",
|
|
24
|
+
{ d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1", key: "ezmyqa" }
|
|
25
|
+
],
|
|
26
|
+
[
|
|
27
|
+
"path",
|
|
28
|
+
{
|
|
29
|
+
d: "M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",
|
|
30
|
+
key: "e1hn23"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
];
|
|
34
|
+
const Braces = createLucideIcon.createLucideIcon("braces", __iconNode);
|
|
35
|
+
|
|
36
|
+
var parseVariables = function parseVariables() {
|
|
37
|
+
var variableArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
38
|
+
var uncategorized = [];
|
|
39
|
+
var groupedVariables = [];
|
|
40
|
+
var categorySet = new Set();
|
|
41
|
+
variableArr.forEach(function (variable) {
|
|
42
|
+
var category = variable.category,
|
|
43
|
+
label = variable.label,
|
|
44
|
+
variables = variable.variables;
|
|
45
|
+
if (category && variables) {
|
|
46
|
+
var parsedVariables = variables.map(ramda.mergeLeft({
|
|
47
|
+
category: category,
|
|
48
|
+
categoryLabel: label
|
|
49
|
+
}));
|
|
50
|
+
if (!categorySet.has(category)) {
|
|
51
|
+
categorySet.add(category);
|
|
52
|
+
groupedVariables.push({
|
|
53
|
+
label: label,
|
|
54
|
+
variables: parsedVariables
|
|
55
|
+
});
|
|
56
|
+
} else {
|
|
57
|
+
var existingGroup = neetoCist.findBy({
|
|
58
|
+
label: label
|
|
59
|
+
}, groupedVariables);
|
|
60
|
+
existingGroup.variables = ramda.uniqBy(ramda.prop("key"), existingGroup.variables.concat(parsedVariables));
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
uncategorized.push(variable);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
if (!ramda.isEmpty(uncategorized)) {
|
|
67
|
+
groupedVariables.push({
|
|
68
|
+
label: !ramda.isEmpty(groupedVariables) ? "Others" : null,
|
|
69
|
+
variables: uncategorized
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return groupedVariables;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
var _excluded = ["onVariableClick", "variables", "buttonProps"];
|
|
76
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
77
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
78
|
+
var DynamicVariables = function DynamicVariables(_ref) {
|
|
79
|
+
var _ref$onVariableClick = _ref.onVariableClick,
|
|
80
|
+
onVariableClick = _ref$onVariableClick === void 0 ? neetoCist.noop : _ref$onVariableClick,
|
|
81
|
+
_ref$variables = _ref.variables,
|
|
82
|
+
variables = _ref$variables === void 0 ? [] : _ref$variables,
|
|
83
|
+
buttonProps = _ref.buttonProps,
|
|
84
|
+
dropdownProps = _objectWithoutProperties(_ref, _excluded);
|
|
85
|
+
if (ramda.isEmpty(variables)) return null;
|
|
86
|
+
var parsedVariables = parseVariables(variables);
|
|
87
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, _objectSpread(_objectSpread({
|
|
88
|
+
customTarget: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, _objectSpread({
|
|
89
|
+
"data-testid": "dynamic-variables-button",
|
|
90
|
+
icon: Braces,
|
|
91
|
+
size: "icon",
|
|
92
|
+
variant: "outline"
|
|
93
|
+
}, buttonProps))
|
|
94
|
+
}, dropdownProps), {}, {
|
|
95
|
+
dropdownProps: _objectSpread({
|
|
96
|
+
className: "min-w-56"
|
|
97
|
+
}, dropdownProps === null || dropdownProps === void 0 ? void 0 : dropdownProps.dropdownProps),
|
|
98
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
99
|
+
className: "flex max-w-[22.5rem] min-w-[11.5rem] flex-col gap-1.5 p-2",
|
|
100
|
+
"data-testid": "dynamic-variables-list",
|
|
101
|
+
children: parsedVariables.map(function (_ref2) {
|
|
102
|
+
var label = _ref2.label,
|
|
103
|
+
variables = _ref2.variables;
|
|
104
|
+
return /*#__PURE__*/jsxRuntime.jsxs(React.Fragment, {
|
|
105
|
+
children: [label && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
106
|
+
className: "flex flex-row items-center gap-x-2",
|
|
107
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
108
|
+
variant: "h6",
|
|
109
|
+
children: label
|
|
110
|
+
}), /*#__PURE__*/jsxRuntime.jsx("hr", {
|
|
111
|
+
className: "border-border flex flex-grow"
|
|
112
|
+
})]
|
|
113
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
114
|
+
className: "flex flex-wrap items-center gap-2",
|
|
115
|
+
"data-testid": general.joinHyphenCase("dynamic-variables-list", label),
|
|
116
|
+
children: variables.map(function (item) {
|
|
117
|
+
return /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
118
|
+
className: "border-border text-foreground hover:border-primary hover:text-primary focus-visible:border-primary focus-visible:text-primary rounded-md border p-1.5 text-start transition-colors select-none focus:outline-none",
|
|
119
|
+
"data-testid": general.joinHyphenCase("dynamic-variables-list-item", item.label),
|
|
120
|
+
onClick: function onClick() {
|
|
121
|
+
return onVariableClick(item);
|
|
122
|
+
},
|
|
123
|
+
children: item.label
|
|
124
|
+
}, item.label);
|
|
125
|
+
})
|
|
126
|
+
})]
|
|
127
|
+
}, label);
|
|
128
|
+
})
|
|
129
|
+
})
|
|
130
|
+
}));
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
module.exports = DynamicVariables;
|
|
134
|
+
//# sourceMappingURL=DynamicVariables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicVariables.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/braces.js","../../../src/v2/components/DynamicVariables/utils.js","../../../src/v2/components/DynamicVariables/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n { d: \"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1\", key: \"ezmyqa\" }\n ],\n [\n \"path\",\n {\n d: \"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\",\n key: \"e1hn23\"\n }\n ]\n];\nconst Braces = createLucideIcon(\"braces\", __iconNode);\n\nexport { __iconNode, Braces as default };\n//# sourceMappingURL=braces.js.map\n","import { findBy } from \"neetocist\";\nimport { prop, isEmpty, uniqBy, mergeLeft } from \"ramda\";\n\nexport const parseVariables = (variableArr = []) => {\n const uncategorized = [];\n const groupedVariables = [];\n const categorySet = new Set();\n\n variableArr.forEach(variable => {\n const { category, label, variables } = variable;\n if (category && variables) {\n const parsedVariables = variables.map(\n mergeLeft({ category, categoryLabel: label })\n );\n\n if (!categorySet.has(category)) {\n categorySet.add(category);\n groupedVariables.push({ label, variables: parsedVariables });\n } else {\n const existingGroup = findBy({ label }, groupedVariables);\n\n existingGroup.variables = uniqBy(\n prop(\"key\"),\n existingGroup.variables.concat(parsedVariables)\n );\n }\n } else {\n uncategorized.push(variable);\n }\n });\n\n if (!isEmpty(uncategorized)) {\n groupedVariables.push({\n label: !isEmpty(groupedVariables) ? \"Others\" : null,\n variables: uncategorized,\n });\n }\n\n return groupedVariables;\n};\n","import { Fragment } from \"react\";\n\nimport { Button, DropdownMenu, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Braces } from \"lucide-react\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport { parseVariables } from \"./utils\";\n\nconst DynamicVariables = ({\n onVariableClick = noop,\n variables = [],\n buttonProps,\n ...dropdownProps\n}) => {\n if (isEmpty(variables)) return null;\n\n const parsedVariables = parseVariables(variables);\n\n return (\n <DropdownMenu\n customTarget={\n <Button\n data-testid=\"dynamic-variables-button\"\n icon={Braces}\n size=\"icon\"\n variant=\"outline\"\n {...buttonProps}\n />\n }\n {...dropdownProps}\n dropdownProps={{\n className: \"min-w-56\",\n ...dropdownProps?.dropdownProps,\n }}\n >\n <div\n className=\"flex max-w-[22.5rem] min-w-[11.5rem] flex-col gap-1.5 p-2\"\n data-testid=\"dynamic-variables-list\"\n >\n {parsedVariables.map(({ label, variables }) => (\n <Fragment key={label}>\n {label && (\n <div className=\"flex flex-row items-center gap-x-2\">\n <Typography variant=\"h6\">{label}</Typography>\n <hr className=\"border-border flex flex-grow\" />\n </div>\n )}\n <div\n className=\"flex flex-wrap items-center gap-2\"\n data-testid={joinHyphenCase(\"dynamic-variables-list\", label)}\n >\n {variables.map(item => (\n <button\n className=\"border-border text-foreground hover:border-primary hover:text-primary focus-visible:border-primary focus-visible:text-primary rounded-md border p-1.5 text-start transition-colors select-none focus:outline-none\"\n key={item.label}\n data-testid={joinHyphenCase(\n \"dynamic-variables-list-item\",\n item.label\n )}\n onClick={() => onVariableClick(item)}\n >\n {item.label}\n </button>\n ))}\n </div>\n </Fragment>\n ))}\n </div>\n </DropdownMenu>\n );\n};\n\nDynamicVariables.propTypes = {\n onVariableClick: PropTypes.func,\n variables: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, key: PropTypes.string })\n ),\n};\n\nexport default DynamicVariables;\n"],"names":["createLucideIcon","parseVariables","variableArr","arguments","length","undefined","uncategorized","groupedVariables","categorySet","Set","forEach","variable","category","label","variables","parsedVariables","map","mergeLeft","categoryLabel","has","add","push","existingGroup","findBy","uniqBy","prop","concat","isEmpty","DynamicVariables","_ref","_ref$onVariableClick","onVariableClick","noop","_ref$variables","buttonProps","dropdownProps","_objectWithoutProperties","_excluded","_jsx","DropdownMenu","_objectSpread","customTarget","Button","icon","Braces","size","variant","className","children","_ref2","_jsxs","Fragment","Typography","joinHyphenCase","item","onClick"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
|
+
var formik = require('formik');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var primitives = require('@bigbinary/neeto-atoms/primitives');
|
|
9
|
+
var reactQuery = require('@tanstack/react-query');
|
|
10
|
+
var classnames = require('classnames');
|
|
11
|
+
var min = require('libphonenumber-js/min');
|
|
12
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
13
|
+
var index_es5_min = require('../index.es5.min-CUvhPmKJ.js');
|
|
14
|
+
var i18next = require('i18next');
|
|
15
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
16
|
+
var chevronDown = require('../chevron-down-DwiliwN1.js');
|
|
17
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
18
|
+
var utils = require('@bigbinary/neeto-commons-frontend/v2/utils');
|
|
19
|
+
var yup = require('yup');
|
|
20
|
+
var axios = require('axios');
|
|
21
|
+
var injectCss = require('../inject-css-B6qYtOJe.js');
|
|
22
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
23
|
+
var v2_CopyToClipboardButton = require('./CopyToClipboardButton.js');
|
|
24
|
+
require('../_commonjsHelpers-BJu3ubxk.js');
|
|
25
|
+
require('../createLucideIcon-DBDhE7kE.js');
|
|
26
|
+
require('@bigbinary/neeto-commons-frontend/v2/utils/general');
|
|
27
|
+
require('react-i18next');
|
|
28
|
+
require('../check-VgZf0qTr.js');
|
|
29
|
+
|
|
30
|
+
function _interopNamespaceDefault(e) {
|
|
31
|
+
var n = Object.create(null);
|
|
32
|
+
if (e) {
|
|
33
|
+
Object.keys(e).forEach(function (k) {
|
|
34
|
+
if (k !== 'default') {
|
|
35
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
36
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () { return e[k]; }
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
n.default = e;
|
|
44
|
+
return Object.freeze(n);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
48
|
+
|
|
49
|
+
var IP_LOOKUP_ACCESS_TOKEN = "083c694c79f119c7f227e737de9a5c8c";
|
|
50
|
+
var IP_LOOKUP_STORAGE_KEY = "IP_LOOKUP_DETAILS_STORAGE";
|
|
51
|
+
var MAX_CACHE_AGE = 60 * 60 * 1000;
|
|
52
|
+
|
|
53
|
+
var COUNTRY_PICKER_OPTIONS = min.getCountries().filter(function (code) {
|
|
54
|
+
return index_es5_min.index_es5_minExports.countries[code];
|
|
55
|
+
}).map(function (code) {
|
|
56
|
+
return {
|
|
57
|
+
label: index_es5_min.index_es5_minExports.countries[code].name,
|
|
58
|
+
value: code
|
|
59
|
+
};
|
|
60
|
+
}).sort(function (a, b) {
|
|
61
|
+
return a.label.localeCompare(b.label);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
var CountryPicker$1 = function CountryPicker(_ref) {
|
|
65
|
+
var _countries$countryCod;
|
|
66
|
+
var countryCode = _ref.countryCode,
|
|
67
|
+
onChange = _ref.onChange,
|
|
68
|
+
disabled = _ref.disabled;
|
|
69
|
+
var _useState = React.useState(false),
|
|
70
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
71
|
+
open = _useState2[0],
|
|
72
|
+
setOpen = _useState2[1];
|
|
73
|
+
var handleSelect = function handleSelect(nextValue) {
|
|
74
|
+
onChange(nextValue);
|
|
75
|
+
setOpen(false);
|
|
76
|
+
};
|
|
77
|
+
return /*#__PURE__*/jsxRuntime.jsxs(primitives.Popover, {
|
|
78
|
+
open: open,
|
|
79
|
+
onOpenChange: setOpen,
|
|
80
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.PopoverTrigger, {
|
|
81
|
+
asChild: true,
|
|
82
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(primitives.Button, {
|
|
83
|
+
disabled: disabled,
|
|
84
|
+
className: "neeto-molecules-phone-number-input__country-picker hover:bg-muted h-full shrink-0 gap-1 rounded-r-none border-0 bg-transparent px-2 shadow-none",
|
|
85
|
+
"data-testid": "phonenumber-country-picker",
|
|
86
|
+
size: "sm",
|
|
87
|
+
variant: "ghost",
|
|
88
|
+
"aria-label": i18next.t("neetoMolecules.phoneNumberInput.countryCodeAriaLabel"),
|
|
89
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
90
|
+
className: "neeto-molecules-phone-number-input__flag text-xl leading-none",
|
|
91
|
+
children: (_countries$countryCod = index_es5_min.index_es5_minExports.countries[countryCode]) === null || _countries$countryCod === void 0 ? void 0 : _countries$countryCod.emoji
|
|
92
|
+
}), /*#__PURE__*/jsxRuntime.jsx(chevronDown.ChevronDown, {
|
|
93
|
+
"aria-hidden": true,
|
|
94
|
+
className: "text-muted-foreground size-3"
|
|
95
|
+
})]
|
|
96
|
+
})
|
|
97
|
+
}), /*#__PURE__*/jsxRuntime.jsx(primitives.PopoverContent, {
|
|
98
|
+
align: "start",
|
|
99
|
+
className: "w-64 p-0",
|
|
100
|
+
sideOffset: 4,
|
|
101
|
+
onClick: function onClick(event) {
|
|
102
|
+
return event.stopPropagation();
|
|
103
|
+
},
|
|
104
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(primitives.Command, {
|
|
105
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.CommandInput, {
|
|
106
|
+
"data-testid": "phonenumber-country-picker-search",
|
|
107
|
+
placeholder: i18next.t("neetoMolecules.phoneNumberInput.searchCountry")
|
|
108
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(primitives.CommandList, {
|
|
109
|
+
className: "mt-1",
|
|
110
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.CommandEmpty, {
|
|
111
|
+
children: i18next.t("neetoMolecules.phoneNumberInput.noCountryFound")
|
|
112
|
+
}), COUNTRY_PICKER_OPTIONS.map(function (_ref2) {
|
|
113
|
+
var _countries$value;
|
|
114
|
+
var label = _ref2.label,
|
|
115
|
+
value = _ref2.value;
|
|
116
|
+
return /*#__PURE__*/jsxRuntime.jsxs(primitives.CommandItem, {
|
|
117
|
+
value: "".concat(label, " ").concat(value),
|
|
118
|
+
onSelect: function onSelect() {
|
|
119
|
+
return handleSelect(value);
|
|
120
|
+
},
|
|
121
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
122
|
+
className: "neeto-molecules-phone-number-input__flag text-xl leading-none",
|
|
123
|
+
children: (_countries$value = index_es5_min.index_es5_minExports.countries[value]) === null || _countries$value === void 0 ? void 0 : _countries$value.emoji
|
|
124
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
125
|
+
children: label
|
|
126
|
+
})]
|
|
127
|
+
}, value);
|
|
128
|
+
})]
|
|
129
|
+
})]
|
|
130
|
+
})
|
|
131
|
+
})]
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
var CountryPicker = /*#__PURE__*/React.memo(CountryPicker$1);
|
|
135
|
+
|
|
136
|
+
var fetchLocationDetails$1 = function fetchLocationDetails() {
|
|
137
|
+
return axios.get("https://neeto-ip-lookup-web-production.neetodeployapp.com/location", {
|
|
138
|
+
headers: {
|
|
139
|
+
"X-ACCESS-TOKEN": IP_LOOKUP_ACCESS_TOKEN
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
var neetoIpLookupApi = {
|
|
144
|
+
fetchLocationDetails: fetchLocationDetails$1
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
148
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
149
|
+
var isPhoneNumberValid = function isPhoneNumberValid() {
|
|
150
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
151
|
+
for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
152
|
+
rest[_key - 1] = arguments[_key];
|
|
153
|
+
}
|
|
154
|
+
return min.isValidPhoneNumber.apply(void 0, [value].concat(rest));
|
|
155
|
+
};
|
|
156
|
+
var validation = function validation() {
|
|
157
|
+
var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : i18next.t("neetoMolecules.phoneNumberInput.validations.invalid");
|
|
158
|
+
return yup__namespace.string().test("phoneNumber", message, function (phoneNumber) {
|
|
159
|
+
return phoneNumber ? min.isValidPhoneNumber(phoneNumber) : true;
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
var getPhoneData = function getPhoneData(value, defaultCountryCode) {
|
|
163
|
+
try {
|
|
164
|
+
var parsedValue = min.parsePhoneNumber(value, defaultCountryCode);
|
|
165
|
+
return {
|
|
166
|
+
phoneNumber: parsedValue.number,
|
|
167
|
+
international: parsedValue.formatInternational(),
|
|
168
|
+
countryCode: parsedValue.country || defaultCountryCode
|
|
169
|
+
};
|
|
170
|
+
} catch (_unused) {
|
|
171
|
+
return {
|
|
172
|
+
phoneNumber: value,
|
|
173
|
+
international: min.formatIncompletePhoneNumber(value, defaultCountryCode),
|
|
174
|
+
countryCode: defaultCountryCode
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
var fetchLocationDetails = /*#__PURE__*/function () {
|
|
179
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
180
|
+
var stored, _ref2, data, timestamp, isCacheValid, details, _timestamp;
|
|
181
|
+
return _regenerator().w(function (_context) {
|
|
182
|
+
while (1) switch (_context.p = _context.n) {
|
|
183
|
+
case 0:
|
|
184
|
+
stored = utils.getFromLocalStorage(IP_LOOKUP_STORAGE_KEY);
|
|
185
|
+
_ref2 = stored || {}, data = _ref2.data, timestamp = _ref2.timestamp;
|
|
186
|
+
isCacheValid = timestamp && Date.now() - timestamp < MAX_CACHE_AGE;
|
|
187
|
+
if (!isCacheValid) {
|
|
188
|
+
_context.n = 1;
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
return _context.a(2, data);
|
|
192
|
+
case 1:
|
|
193
|
+
_context.p = 1;
|
|
194
|
+
_context.n = 2;
|
|
195
|
+
return neetoIpLookupApi.fetchLocationDetails();
|
|
196
|
+
case 2:
|
|
197
|
+
details = _context.v;
|
|
198
|
+
_timestamp = Date.now();
|
|
199
|
+
utils.setToLocalStorage(IP_LOOKUP_STORAGE_KEY, {
|
|
200
|
+
data: details,
|
|
201
|
+
timestamp: _timestamp
|
|
202
|
+
});
|
|
203
|
+
return _context.a(2, details);
|
|
204
|
+
case 3:
|
|
205
|
+
_context.p = 3;
|
|
206
|
+
_context.v;
|
|
207
|
+
return _context.a(2, data || null);
|
|
208
|
+
}
|
|
209
|
+
}, _callee, null, [[1, 3]]);
|
|
210
|
+
}));
|
|
211
|
+
return function fetchLocationDetails() {
|
|
212
|
+
return _ref.apply(this, arguments);
|
|
213
|
+
};
|
|
214
|
+
}();
|
|
215
|
+
var isNumeric = function isNumeric(_char) {
|
|
216
|
+
return _char >= "0" && _char <= "9";
|
|
217
|
+
};
|
|
218
|
+
var preserveCursor = function preserveCursor(callback) {
|
|
219
|
+
return function (event) {
|
|
220
|
+
var start = event.target.selectionStart;
|
|
221
|
+
var end = event.target.selectionEnd;
|
|
222
|
+
var len = event.target.value.length;
|
|
223
|
+
var result = callback(event);
|
|
224
|
+
var delta = event.target.value.length - len;
|
|
225
|
+
event.target.setSelectionRange(start + delta, end + delta);
|
|
226
|
+
return result;
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
var _excluded$3 = ["value", "onChange", "className", "error", "selectProps", "initialCountryCode"];
|
|
231
|
+
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
232
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
233
|
+
var PhoneNumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
234
|
+
var _ref$value = _ref.value,
|
|
235
|
+
value = _ref$value === void 0 ? "" : _ref$value,
|
|
236
|
+
_ref$onChange = _ref.onChange,
|
|
237
|
+
onChange = _ref$onChange === void 0 ? neetoCist.noop : _ref$onChange,
|
|
238
|
+
className = _ref.className,
|
|
239
|
+
error = _ref.error,
|
|
240
|
+
selectProps = _ref.selectProps,
|
|
241
|
+
initialCountryCode = _ref.initialCountryCode,
|
|
242
|
+
inputProps = _objectWithoutProperties(_ref, _excluded$3);
|
|
243
|
+
var _useState = React.useState(function () {
|
|
244
|
+
return getPhoneData(value).countryCode || initialCountryCode;
|
|
245
|
+
}),
|
|
246
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
247
|
+
countryCode = _useState2[0],
|
|
248
|
+
setCountryCode = _useState2[1];
|
|
249
|
+
var _useQuery = reactQuery.useQuery({
|
|
250
|
+
queryKey: [IP_LOOKUP_STORAGE_KEY],
|
|
251
|
+
queryFn: fetchLocationDetails,
|
|
252
|
+
enabled: !countryCode,
|
|
253
|
+
staleTime: Infinity,
|
|
254
|
+
gcTime: Infinity,
|
|
255
|
+
select: function select(data) {
|
|
256
|
+
return neetoCist.findBy({
|
|
257
|
+
value: data.countryCode
|
|
258
|
+
}, COUNTRY_PICKER_OPTIONS);
|
|
259
|
+
}
|
|
260
|
+
}),
|
|
261
|
+
ipCountry = _useQuery.data;
|
|
262
|
+
var finalCountryCode = countryCode || (ipCountry === null || ipCountry === void 0 ? void 0 : ipCountry.value) || "US";
|
|
263
|
+
var formattedValue = min.formatIncompletePhoneNumber(value, finalCountryCode);
|
|
264
|
+
var onKeyDown = preserveCursor(function (event) {
|
|
265
|
+
if (event.key !== "Backspace") return;
|
|
266
|
+
var left = event.target.value.substring(0, event.target.selectionStart);
|
|
267
|
+
var right = event.target.value.substring(event.target.selectionEnd);
|
|
268
|
+
var index = left.length - 1;
|
|
269
|
+
while (index > 0 && !isNumeric(left[index])) index--;
|
|
270
|
+
var newValue = left.substring(0, index + 1) + right;
|
|
271
|
+
if (newValue) event.target.value = newValue;
|
|
272
|
+
});
|
|
273
|
+
var onInputChange = preserveCursor(function (event) {
|
|
274
|
+
var phoneData = getPhoneData(event.target.value, finalCountryCode);
|
|
275
|
+
event.target.value = min.formatIncompletePhoneNumber(event.target.value);
|
|
276
|
+
setCountryCode(phoneData.countryCode);
|
|
277
|
+
onChange(phoneData.phoneNumber);
|
|
278
|
+
});
|
|
279
|
+
var onChangeCountry = function onChangeCountry(nextCountryCode) {
|
|
280
|
+
var phoneData = getPhoneData(value, finalCountryCode);
|
|
281
|
+
var prevPrefix = "+".concat(min.getCountryCallingCode(phoneData.countryCode));
|
|
282
|
+
var nextPrefix = "+".concat(min.getCountryCallingCode(nextCountryCode));
|
|
283
|
+
setCountryCode(nextCountryCode);
|
|
284
|
+
onChange(nextPrefix + value.replace(prevPrefix, ""));
|
|
285
|
+
};
|
|
286
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
287
|
+
className: className,
|
|
288
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.InputGroup, {
|
|
289
|
+
className: classnames("neeto-molecules-phone-number-input__group", !!error && "border-destructive ring-destructive/20 ring-3"),
|
|
290
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.InputGroupAddon, {
|
|
291
|
+
align: "inline-start",
|
|
292
|
+
className: "neeto-molecules-phone-number-input__addon p-0",
|
|
293
|
+
children: /*#__PURE__*/jsxRuntime.jsx(CountryPicker, _objectSpread$3({
|
|
294
|
+
countryCode: finalCountryCode,
|
|
295
|
+
onChange: onChangeCountry
|
|
296
|
+
}, selectProps))
|
|
297
|
+
}), /*#__PURE__*/jsxRuntime.jsx(primitives.InputGroupInput, _objectSpread$3({
|
|
298
|
+
onKeyDown: onKeyDown,
|
|
299
|
+
ref: ref,
|
|
300
|
+
"aria-invalid": !!error || undefined,
|
|
301
|
+
autoComplete: "tel",
|
|
302
|
+
"data-testid": "phonenumber-input",
|
|
303
|
+
inputMode: "tel",
|
|
304
|
+
type: "tel",
|
|
305
|
+
value: formattedValue,
|
|
306
|
+
onChange: onInputChange
|
|
307
|
+
}, inputProps))]
|
|
308
|
+
}), error && /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
309
|
+
className: "text-destructive mt-1 text-sm",
|
|
310
|
+
children: error
|
|
311
|
+
})]
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
PhoneNumberInput.displayName = "PhoneNumberInput";
|
|
315
|
+
|
|
316
|
+
var _excluded$2 = ["name"];
|
|
317
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
318
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
319
|
+
var FormikPhoneNumberInput = function FormikPhoneNumberInput(_ref) {
|
|
320
|
+
var name = _ref.name,
|
|
321
|
+
props = _objectWithoutProperties(_ref, _excluded$2);
|
|
322
|
+
var _useField = formik.useField(name),
|
|
323
|
+
_useField2 = _slicedToArray(_useField, 3),
|
|
324
|
+
field = _useField2[0],
|
|
325
|
+
meta = _useField2[1],
|
|
326
|
+
setValue = _useField2[2].setValue;
|
|
327
|
+
return /*#__PURE__*/jsxRuntime.jsx(PhoneNumberInput, _objectSpread$2(_objectSpread$2({}, field), {}, {
|
|
328
|
+
error: meta.touched ? meta.error : "",
|
|
329
|
+
onChange: setValue
|
|
330
|
+
}, props));
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
var css = "@import url(\"https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap\");.neeto-molecules-phone-number-input__flag{font-family:-apple-system,Noto Color Emoji,BlinkMacSystemFont,Inter,Arial,Segoe UI,Roboto,Oxygen,Ubuntu,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important;font-style:normal;font-weight:400}.neeto-molecules-phone-number{display:block!important}";
|
|
334
|
+
injectCss.n(css,{});
|
|
335
|
+
|
|
336
|
+
var _excluded$1 = ["countryCode", "showEmoji"];
|
|
337
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
338
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
339
|
+
var SingleValue$1 = function SingleValue(_ref) {
|
|
340
|
+
var countryCode = _ref.countryCode,
|
|
341
|
+
_ref$showEmoji = _ref.showEmoji,
|
|
342
|
+
showEmoji = _ref$showEmoji === void 0 ? false : _ref$showEmoji,
|
|
343
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
344
|
+
if (!showEmoji) return null;
|
|
345
|
+
var countryData = index_es5_min.index_es5_minExports.countries[countryCode];
|
|
346
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
|
|
347
|
+
content: countryData === null || countryData === void 0 ? void 0 : countryData.name,
|
|
348
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, _objectSpread$1(_objectSpread$1({
|
|
349
|
+
className: "neeto-molecules-phone-number-input__flag cursor-pointer text-center text-xl",
|
|
350
|
+
variant: "body2"
|
|
351
|
+
}, otherProps), {}, {
|
|
352
|
+
children: countryData === null || countryData === void 0 ? void 0 : countryData.emoji
|
|
353
|
+
}))
|
|
354
|
+
});
|
|
355
|
+
};
|
|
356
|
+
var SingleValue = /*#__PURE__*/React.memo(SingleValue$1);
|
|
357
|
+
|
|
358
|
+
var _excluded = ["className", "defaultCountry", "value", "showEmoji", "children", "linkable", "linkPrefix", "showCopyButton"];
|
|
359
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
360
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
361
|
+
var PhoneNumber = function PhoneNumber(_ref) {
|
|
362
|
+
var className = _ref.className,
|
|
363
|
+
_ref$defaultCountry = _ref.defaultCountry,
|
|
364
|
+
defaultCountry = _ref$defaultCountry === void 0 ? "IN" : _ref$defaultCountry,
|
|
365
|
+
value = _ref.value,
|
|
366
|
+
_ref$showEmoji = _ref.showEmoji,
|
|
367
|
+
showEmoji = _ref$showEmoji === void 0 ? false : _ref$showEmoji,
|
|
368
|
+
children = _ref.children,
|
|
369
|
+
_ref$linkable = _ref.linkable,
|
|
370
|
+
linkable = _ref$linkable === void 0 ? false : _ref$linkable,
|
|
371
|
+
_ref$linkPrefix = _ref.linkPrefix,
|
|
372
|
+
linkPrefix = _ref$linkPrefix === void 0 ? "tel:" : _ref$linkPrefix,
|
|
373
|
+
_ref$showCopyButton = _ref.showCopyButton,
|
|
374
|
+
showCopyButton = _ref$showCopyButton === void 0 ? false : _ref$showCopyButton,
|
|
375
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
376
|
+
if (neetoCist.isNotPresent(value) && neetoCist.isNotPresent(children)) return null;
|
|
377
|
+
var _getPhoneData = getPhoneData(value || children, defaultCountry),
|
|
378
|
+
international = _getPhoneData.international,
|
|
379
|
+
countryCode = _getPhoneData.countryCode;
|
|
380
|
+
var link = linkable ? "".concat(linkPrefix).concat(value) : undefined;
|
|
381
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
382
|
+
className: classnames(["flex items-center gap-x-2", className]),
|
|
383
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(SingleValue, _objectSpread({}, _objectSpread({
|
|
384
|
+
countryCode: countryCode,
|
|
385
|
+
showEmoji: showEmoji
|
|
386
|
+
}, otherProps))), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, _objectSpread(_objectSpread({
|
|
387
|
+
variant: "body2"
|
|
388
|
+
}, otherProps), {}, {
|
|
389
|
+
children: linkable ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
390
|
+
asChild: true,
|
|
391
|
+
className: "neeto-molecules-phone-number truncate",
|
|
392
|
+
variant: "link",
|
|
393
|
+
children: /*#__PURE__*/jsxRuntime.jsx("a", {
|
|
394
|
+
"data-testid": "phone-number-link",
|
|
395
|
+
href: link,
|
|
396
|
+
children: international
|
|
397
|
+
})
|
|
398
|
+
}) : international
|
|
399
|
+
})), showCopyButton && /*#__PURE__*/jsxRuntime.jsx(v2_CopyToClipboardButton, {
|
|
400
|
+
className: "flex-shrink-0",
|
|
401
|
+
size: "sm",
|
|
402
|
+
value: international,
|
|
403
|
+
variant: "ghost"
|
|
404
|
+
})]
|
|
405
|
+
});
|
|
406
|
+
};
|
|
407
|
+
var PhoneNumber_default = /*#__PURE__*/React.memo(PhoneNumber);
|
|
408
|
+
|
|
409
|
+
exports.FormikPhoneNumberInput = FormikPhoneNumberInput;
|
|
410
|
+
exports.PhoneNumber = PhoneNumber_default;
|
|
411
|
+
exports.PhoneNumberInput = PhoneNumberInput;
|
|
412
|
+
exports.isPhoneNumberValid = isPhoneNumberValid;
|
|
413
|
+
exports.validation = validation;
|
|
414
|
+
//# sourceMappingURL=PhoneNumber.js.map
|