@redneckz/wildless-cms-uni-blocks 0.14.575 → 0.14.576
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/bundle/api/LeadServiceAPI.d.ts +0 -12
- package/bundle/api/dadataHints/dadataHints.d.ts +2 -0
- package/bundle/api/dadataHints/dadataHintsType.d.ts +27 -0
- package/bundle/api/dadataHints/hintsListsOptions.d.ts +33 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +151 -38
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +1 -0
- package/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +1 -0
- package/bundle/index.d.ts +0 -1
- package/bundle/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
- package/bundle/ui-kit/Input/InputPopup.d.ts +7 -0
- package/bundle/ui-kit/Input/InputProps.d.ts +1 -0
- package/bundle/ui-kit/Input/useInputPopup.d.ts +10 -0
- package/dist/api/LeadServiceAPI.d.ts +0 -12
- package/dist/api/LeadServiceAPI.js.map +1 -1
- package/dist/api/dadataHints/dadataHints.d.ts +2 -0
- package/dist/api/dadataHints/dadataHints.js +30 -0
- package/dist/api/dadataHints/dadataHints.js.map +1 -0
- package/dist/api/dadataHints/dadataHintsType.d.ts +27 -0
- package/dist/api/dadataHints/dadataHintsType.js +2 -0
- package/dist/api/dadataHints/dadataHintsType.js.map +1 -0
- package/dist/api/dadataHints/hintsListsOptions.d.ts +33 -0
- package/dist/api/dadataHints/hintsListsOptions.js +33 -0
- package/dist/api/dadataHints/hintsListsOptions.js.map +1 -0
- package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +1 -0
- package/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
- package/dist/ui-kit/FormField/Fields/EmailField.js +12 -0
- package/dist/ui-kit/FormField/Fields/EmailField.js.map +1 -0
- package/dist/ui-kit/FormField/Fields/MiddleNameField.js +1 -1
- package/dist/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
- package/dist/ui-kit/FormField/Fields/SurnameField.js +1 -1
- package/dist/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
- package/dist/ui-kit/FormField/getField.js +3 -2
- package/dist/ui-kit/FormField/getField.js.map +1 -1
- package/dist/ui-kit/Input/InputControl.js +17 -1
- package/dist/ui-kit/Input/InputControl.js.map +1 -1
- package/dist/ui-kit/Input/InputPopup.d.ts +7 -0
- package/dist/ui-kit/Input/InputPopup.js +6 -0
- package/dist/ui-kit/Input/InputPopup.js.map +1 -0
- package/dist/ui-kit/Input/InputProps.d.ts +1 -0
- package/dist/ui-kit/Input/useInputPopup.d.ts +10 -0
- package/dist/ui-kit/Input/useInputPopup.js +62 -0
- package/dist/ui-kit/Input/useInputPopup.js.map +1 -0
- package/lib/api/LeadServiceAPI.d.ts +0 -12
- package/lib/api/LeadServiceAPI.js.map +1 -1
- package/lib/api/dadataHints/dadataHints.d.ts +2 -0
- package/lib/api/dadataHints/dadataHints.js +27 -0
- package/lib/api/dadataHints/dadataHints.js.map +1 -0
- package/lib/api/dadataHints/dadataHintsType.d.ts +27 -0
- package/lib/api/dadataHints/dadataHintsType.js +2 -0
- package/lib/api/dadataHints/dadataHintsType.js.map +1 -0
- package/lib/api/dadataHints/hintsListsOptions.d.ts +33 -0
- package/lib/api/dadataHints/hintsListsOptions.js +31 -0
- package/lib/api/dadataHints/hintsListsOptions.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +1 -0
- package/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +1 -0
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
- package/lib/ui-kit/FormField/Fields/EmailField.js +10 -0
- package/lib/ui-kit/FormField/Fields/EmailField.js.map +1 -0
- package/lib/ui-kit/FormField/Fields/MiddleNameField.js +1 -1
- package/lib/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
- package/lib/ui-kit/FormField/Fields/SurnameField.js +1 -1
- package/lib/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
- package/lib/ui-kit/FormField/getField.js +3 -2
- package/lib/ui-kit/FormField/getField.js.map +1 -1
- package/lib/ui-kit/Input/InputControl.js +17 -1
- package/lib/ui-kit/Input/InputControl.js.map +1 -1
- package/lib/ui-kit/Input/InputPopup.d.ts +7 -0
- package/lib/ui-kit/Input/InputPopup.js +4 -0
- package/lib/ui-kit/Input/InputPopup.js.map +1 -0
- package/lib/ui-kit/Input/InputProps.d.ts +1 -0
- package/lib/ui-kit/Input/useInputPopup.d.ts +10 -0
- package/lib/ui-kit/Input/useInputPopup.js +59 -0
- package/lib/ui-kit/Input/useInputPopup.js.map +1 -0
- package/mobile/bundle/api/LeadServiceAPI.d.ts +0 -12
- package/mobile/bundle/api/dadataHints/dadataHints.d.ts +2 -0
- package/mobile/bundle/api/dadataHints/dadataHintsType.d.ts +27 -0
- package/mobile/bundle/api/dadataHints/hintsListsOptions.d.ts +33 -0
- package/mobile/bundle/bundle.umd.js +151 -38
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +1 -0
- package/mobile/bundle/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +1 -0
- package/mobile/bundle/index.d.ts +0 -1
- package/mobile/bundle/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
- package/mobile/bundle/ui-kit/Input/InputPopup.d.ts +7 -0
- package/mobile/bundle/ui-kit/Input/InputProps.d.ts +1 -0
- package/mobile/bundle/ui-kit/Input/useInputPopup.d.ts +10 -0
- package/mobile/dist/api/LeadServiceAPI.d.ts +0 -12
- package/mobile/dist/api/LeadServiceAPI.js.map +1 -1
- package/mobile/dist/api/dadataHints/dadataHints.d.ts +2 -0
- package/mobile/dist/api/dadataHints/dadataHints.js +30 -0
- package/mobile/dist/api/dadataHints/dadataHints.js.map +1 -0
- package/mobile/dist/api/dadataHints/dadataHintsType.d.ts +27 -0
- package/mobile/dist/api/dadataHints/dadataHintsType.js +2 -0
- package/mobile/dist/api/dadataHints/dadataHintsType.js.map +1 -0
- package/mobile/dist/api/dadataHints/hintsListsOptions.d.ts +33 -0
- package/mobile/dist/api/dadataHints/hintsListsOptions.js +33 -0
- package/mobile/dist/api/dadataHints/hintsListsOptions.js.map +1 -0
- package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +1 -0
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +1 -0
- package/mobile/dist/index.d.ts +0 -1
- package/mobile/dist/index.js +1 -3
- package/mobile/dist/index.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
- package/mobile/dist/ui-kit/FormField/Fields/EmailField.js +12 -0
- package/mobile/dist/ui-kit/FormField/Fields/EmailField.js.map +1 -0
- package/mobile/dist/ui-kit/FormField/Fields/MiddleNameField.js +1 -1
- package/mobile/dist/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/Fields/SurnameField.js +1 -1
- package/mobile/dist/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/getField.js +3 -2
- package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
- package/mobile/dist/ui-kit/Input/InputControl.js +17 -1
- package/mobile/dist/ui-kit/Input/InputControl.js.map +1 -1
- package/mobile/dist/ui-kit/Input/InputPopup.d.ts +7 -0
- package/mobile/dist/ui-kit/Input/InputPopup.js +6 -0
- package/mobile/dist/ui-kit/Input/InputPopup.js.map +1 -0
- package/mobile/dist/ui-kit/Input/InputProps.d.ts +1 -0
- package/mobile/dist/ui-kit/Input/useInputPopup.d.ts +10 -0
- package/mobile/dist/ui-kit/Input/useInputPopup.js +62 -0
- package/mobile/dist/ui-kit/Input/useInputPopup.js.map +1 -0
- package/mobile/lib/api/LeadServiceAPI.d.ts +0 -12
- package/mobile/lib/api/LeadServiceAPI.js.map +1 -1
- package/mobile/lib/api/dadataHints/dadataHints.d.ts +2 -0
- package/mobile/lib/api/dadataHints/dadataHints.js +27 -0
- package/mobile/lib/api/dadataHints/dadataHints.js.map +1 -0
- package/mobile/lib/api/dadataHints/dadataHintsType.d.ts +27 -0
- package/mobile/lib/api/dadataHints/dadataHintsType.js +2 -0
- package/mobile/lib/api/dadataHints/dadataHintsType.js.map +1 -0
- package/mobile/lib/api/dadataHints/hintsListsOptions.d.ts +33 -0
- package/mobile/lib/api/dadataHints/hintsListsOptions.js +31 -0
- package/mobile/lib/api/dadataHints/hintsListsOptions.js.map +1 -0
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +1 -0
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadFormContent.d.ts +1 -0
- package/mobile/lib/index.d.ts +0 -1
- package/mobile/lib/index.js +0 -1
- package/mobile/lib/index.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/EmailField.d.ts +2 -0
- package/mobile/lib/ui-kit/FormField/Fields/EmailField.js +10 -0
- package/mobile/lib/ui-kit/FormField/Fields/EmailField.js.map +1 -0
- package/mobile/lib/ui-kit/FormField/Fields/MiddleNameField.js +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/SurnameField.js +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/getField.js +3 -2
- package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
- package/mobile/lib/ui-kit/Input/InputControl.js +17 -1
- package/mobile/lib/ui-kit/Input/InputControl.js.map +1 -1
- package/mobile/lib/ui-kit/Input/InputPopup.d.ts +7 -0
- package/mobile/lib/ui-kit/Input/InputPopup.js +4 -0
- package/mobile/lib/ui-kit/Input/InputPopup.js.map +1 -0
- package/mobile/lib/ui-kit/Input/InputProps.d.ts +1 -0
- package/mobile/lib/ui-kit/Input/useInputPopup.d.ts +10 -0
- package/mobile/lib/ui-kit/Input/useInputPopup.js +59 -0
- package/mobile/lib/ui-kit/Input/useInputPopup.js.map +1 -0
- package/mobile/src/api/LeadServiceAPI.ts +0 -14
- package/mobile/src/api/dadataHints/dadataHints.ts +33 -0
- package/mobile/src/api/dadataHints/dadataHintsType.ts +33 -0
- package/mobile/src/api/dadataHints/hintsListsOptions.ts +44 -0
- package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +1 -0
- package/mobile/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +1 -0
- package/mobile/src/index.ts +0 -1
- package/mobile/src/ui-kit/FormField/Fields/EmailField.tsx +18 -0
- package/mobile/src/ui-kit/FormField/Fields/MiddleNameField.tsx +2 -2
- package/mobile/src/ui-kit/FormField/Fields/SurnameField.tsx +1 -0
- package/mobile/src/ui-kit/FormField/getField.tsx +3 -8
- package/mobile/src/ui-kit/Input/InputControl.tsx +48 -18
- package/mobile/src/ui-kit/Input/InputPopup.tsx +26 -0
- package/mobile/src/ui-kit/Input/InputProps.ts +1 -0
- package/mobile/src/ui-kit/Input/useInputPopup.tsx +85 -0
- package/package.json +2 -2
- package/src/api/LeadServiceAPI.ts +0 -14
- package/src/api/dadataHints/dadataHints.ts +33 -0
- package/src/api/dadataHints/dadataHintsType.ts +33 -0
- package/src/api/dadataHints/hintsListsOptions.ts +44 -0
- package/src/components/ApplicationForm/ApplicationFormContent.ts +1 -0
- package/src/components/ApplicationLeadForm/ApplicationLeadForm.fixture.tsx +4 -4
- package/src/components/ApplicationLeadForm/ApplicationLeadFormContent.ts +1 -0
- package/src/index.ts +0 -1
- package/src/ui-kit/FormField/Fields/EmailField.tsx +18 -0
- package/src/ui-kit/FormField/Fields/MiddleNameField.tsx +2 -2
- package/src/ui-kit/FormField/Fields/SurnameField.tsx +1 -0
- package/src/ui-kit/FormField/getField.tsx +3 -8
- package/src/ui-kit/Input/InputControl.tsx +48 -18
- package/src/ui-kit/Input/InputPopup.tsx +26 -0
- package/src/ui-kit/Input/InputProps.ts +1 -0
- package/src/ui-kit/Input/useInputPopup.tsx +85 -0
- package/bundle/api/DaDataAPI.d.ts +0 -15
- package/dist/api/DaDataAPI.d.ts +0 -15
- package/dist/api/DaDataAPI.js +0 -33
- package/dist/api/DaDataAPI.js.map +0 -1
- package/lib/api/DaDataAPI.d.ts +0 -15
- package/lib/api/DaDataAPI.js +0 -30
- package/lib/api/DaDataAPI.js.map +0 -1
- package/mobile/bundle/api/DaDataAPI.d.ts +0 -15
- package/mobile/dist/api/DaDataAPI.d.ts +0 -15
- package/mobile/dist/api/DaDataAPI.js +0 -33
- package/mobile/dist/api/DaDataAPI.js.map +0 -1
- package/mobile/lib/api/DaDataAPI.d.ts +0 -15
- package/mobile/lib/api/DaDataAPI.js +0 -30
- package/mobile/lib/api/DaDataAPI.js.map +0 -1
- package/mobile/src/api/DaDataAPI.ts +0 -48
- package/src/api/DaDataAPI.ts +0 -48
package/bundle/bundle.umd.js
CHANGED
|
@@ -22,37 +22,6 @@
|
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
const getGeolocation = async () => new Promise((resolve) => navigator.geolocation.getCurrentPosition(({ coords }) => resolve(coords)));
|
|
26
|
-
|
|
27
|
-
function DaDataAPI(baseURL = '') {
|
|
28
|
-
async function getFetcherAddress() {
|
|
29
|
-
if (!('geolocation' in navigator)) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
const coords = await getGeolocation();
|
|
34
|
-
const response = await fetch(`${baseURL}/geolocate`, {
|
|
35
|
-
method: 'POST',
|
|
36
|
-
mode: 'cors',
|
|
37
|
-
body: JSON.stringify({
|
|
38
|
-
lat: coords.latitude,
|
|
39
|
-
lon: coords.longitude,
|
|
40
|
-
count: 1,
|
|
41
|
-
}),
|
|
42
|
-
});
|
|
43
|
-
const data = (await response.json());
|
|
44
|
-
return data?.suggestions?.[0]?.data?.city;
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
console.error(e);
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
getFetcherAddress,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
|
|
56
25
|
const jsx = (...args) => globalThis._uni._jsx(...args);
|
|
57
26
|
const jsxs = (...args) => globalThis._uni._jsxs(...args);
|
|
58
27
|
|
|
@@ -1448,7 +1417,147 @@
|
|
|
1448
1417
|
|
|
1449
1418
|
const DatePickerControl = JSX(({ className, label, error, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(DatePicker, { label: label && rest?.errors ? `${label}*` : label, valid: Boolean(!error), ...rest }), renderErrorText(error)] })));
|
|
1450
1419
|
|
|
1451
|
-
const
|
|
1420
|
+
const DEFAULT_HINTS_COUNT = 10;
|
|
1421
|
+
const getResponseHandler = (response) => {
|
|
1422
|
+
const responseData = response?.suggestions || [];
|
|
1423
|
+
return responseData.map((item) => ({
|
|
1424
|
+
...item,
|
|
1425
|
+
processedValue: item?.value,
|
|
1426
|
+
}));
|
|
1427
|
+
};
|
|
1428
|
+
const getDaDataHints = (options) => {
|
|
1429
|
+
const { url, query, requestData = {} } = options;
|
|
1430
|
+
const result = fetch(`/api/v1/suggestions/${url}`, {
|
|
1431
|
+
method: 'POST',
|
|
1432
|
+
mode: 'cors',
|
|
1433
|
+
headers: {
|
|
1434
|
+
'Content-Type': 'application/json',
|
|
1435
|
+
},
|
|
1436
|
+
body: JSON.stringify({
|
|
1437
|
+
count: DEFAULT_HINTS_COUNT,
|
|
1438
|
+
...requestData,
|
|
1439
|
+
query,
|
|
1440
|
+
}),
|
|
1441
|
+
})
|
|
1442
|
+
.then((response) => response.json())
|
|
1443
|
+
.then(getResponseHandler);
|
|
1444
|
+
return result;
|
|
1445
|
+
};
|
|
1446
|
+
|
|
1447
|
+
const NAME_HINTS_LIST_OPTIONS = {
|
|
1448
|
+
url: 'suggest/fio',
|
|
1449
|
+
requestData: {
|
|
1450
|
+
parts: ['NAME'],
|
|
1451
|
+
gender: 'UNKNOWN',
|
|
1452
|
+
},
|
|
1453
|
+
};
|
|
1454
|
+
const SURNAME_HINTS_LIST_OPTIONS = {
|
|
1455
|
+
url: 'suggest/fio',
|
|
1456
|
+
requestData: {
|
|
1457
|
+
parts: ['SURNAME'],
|
|
1458
|
+
gender: 'UNKNOWN',
|
|
1459
|
+
},
|
|
1460
|
+
};
|
|
1461
|
+
const PATRONYMIC_HINTS_LIST_OPTIONS = {
|
|
1462
|
+
url: 'suggest/fio',
|
|
1463
|
+
requestData: {
|
|
1464
|
+
parts: ['PATRONYMIC'],
|
|
1465
|
+
gender: 'UNKNOWN',
|
|
1466
|
+
},
|
|
1467
|
+
};
|
|
1468
|
+
const EMAIL_HINTS_LIST_OPTIONS = {
|
|
1469
|
+
url: 'suggest/email',
|
|
1470
|
+
};
|
|
1471
|
+
const hintsListsOptions = {
|
|
1472
|
+
name: NAME_HINTS_LIST_OPTIONS,
|
|
1473
|
+
surname: SURNAME_HINTS_LIST_OPTIONS,
|
|
1474
|
+
middleName: PATRONYMIC_HINTS_LIST_OPTIONS,
|
|
1475
|
+
email: EMAIL_HINTS_LIST_OPTIONS,
|
|
1476
|
+
};
|
|
1477
|
+
|
|
1478
|
+
const debounce = (fn, delay = 600) => {
|
|
1479
|
+
let timerId;
|
|
1480
|
+
const debouncedCallback = (...args) => {
|
|
1481
|
+
debouncedCallback.dispose();
|
|
1482
|
+
timerId = setTimeout(() => {
|
|
1483
|
+
fn(...args);
|
|
1484
|
+
}, delay);
|
|
1485
|
+
};
|
|
1486
|
+
debouncedCallback.dispose = () => {
|
|
1487
|
+
if (timerId) {
|
|
1488
|
+
clearTimeout(timerId);
|
|
1489
|
+
}
|
|
1490
|
+
};
|
|
1491
|
+
return debouncedCallback;
|
|
1492
|
+
};
|
|
1493
|
+
|
|
1494
|
+
const InputPopup = JSX(({ options, onChange }) => (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (jsx("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", onMouseDown: () => onChange(item.processedValue), children: jsx("span", { className: "min-h-6", children: item.processedValue }) }, key.toString()))) })));
|
|
1495
|
+
|
|
1496
|
+
function useInputPopup({ isOpen, value, name, onChange }) {
|
|
1497
|
+
const prevInputValue = useRef(value);
|
|
1498
|
+
const currentInputValue = useRef(value);
|
|
1499
|
+
const [hintsList, setHintsList] = useState([]);
|
|
1500
|
+
const popup = usePopupManager();
|
|
1501
|
+
const defaultHintsListOptions = hintsListsOptions[name];
|
|
1502
|
+
const close = useCallback(() => {
|
|
1503
|
+
currentInputValue.current = value;
|
|
1504
|
+
popup.close();
|
|
1505
|
+
}, [value]);
|
|
1506
|
+
const handleChange = useCallback((option) => {
|
|
1507
|
+
close();
|
|
1508
|
+
currentInputValue.current = option;
|
|
1509
|
+
onChange && onChange(option);
|
|
1510
|
+
}, [close, onChange]);
|
|
1511
|
+
const inputRef = useRef(null);
|
|
1512
|
+
const getHintsList = useMemo(() => async (searchValue) => {
|
|
1513
|
+
if (!defaultHintsListOptions) {
|
|
1514
|
+
return;
|
|
1515
|
+
}
|
|
1516
|
+
const result = await getDaDataHints({
|
|
1517
|
+
url: defaultHintsListOptions.url,
|
|
1518
|
+
requestData: {
|
|
1519
|
+
...defaultHintsListOptions?.requestData,
|
|
1520
|
+
},
|
|
1521
|
+
query: searchValue,
|
|
1522
|
+
});
|
|
1523
|
+
if (result?.length) {
|
|
1524
|
+
setHintsList(result);
|
|
1525
|
+
}
|
|
1526
|
+
}, []);
|
|
1527
|
+
const debouncedGetHintsList = useMemo(() => debounce(getHintsList, 300), [getHintsList]);
|
|
1528
|
+
useEffect(() => {
|
|
1529
|
+
if (!isOpen || !inputRef.current || currentInputValue.current === value) {
|
|
1530
|
+
close();
|
|
1531
|
+
return;
|
|
1532
|
+
}
|
|
1533
|
+
const inputElement = inputRef.current;
|
|
1534
|
+
const { top, left, width, height } = inputElement.getBoundingClientRect();
|
|
1535
|
+
if (value && prevInputValue.current !== value) {
|
|
1536
|
+
debouncedGetHintsList(value);
|
|
1537
|
+
prevInputValue.current = value;
|
|
1538
|
+
}
|
|
1539
|
+
popup.update(jsx(InputPopup, { options: hintsList, value: value, onChange: handleChange }), {
|
|
1540
|
+
top: top + globalThis.scrollY + height,
|
|
1541
|
+
left,
|
|
1542
|
+
width,
|
|
1543
|
+
});
|
|
1544
|
+
}, [isOpen, hintsList, value, handleChange]);
|
|
1545
|
+
return inputRef;
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
const InputControl = JSX(({ className, label, value = '', placeholder, error, errors, onChange = noop, onBlur, isTextarea, type, name = '', dadata = false, }) => {
|
|
1549
|
+
const [isOpen, { setFalse: close, setTrue: open }] = useBool();
|
|
1550
|
+
const popupRef = useOutsideClick(close);
|
|
1551
|
+
const inputRef = useInputPopup({
|
|
1552
|
+
isOpen: isOpen && dadata,
|
|
1553
|
+
name,
|
|
1554
|
+
value,
|
|
1555
|
+
onChange,
|
|
1556
|
+
});
|
|
1557
|
+
return (jsxs("div", { className: style('shrink-0 w-full', className), ref: popupRef, onBlur: close, onFocus: open, children: [jsx("div", { ref: inputRef, children: jsx(Input, { type: type || 'text', "aria-label": label, label: getLabel(errors, label), valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur, isTextarea: isTextarea, placeholder: getPlaceholder(placeholder, errors, label) }) }), renderErrorText(error)] }));
|
|
1558
|
+
});
|
|
1559
|
+
const getLabel = (errors, label) => (label && errors ? `${label}*` : label);
|
|
1560
|
+
const getPlaceholder = (placeholder, errors, label) => errors && !label ? `${placeholder}*` : placeholder;
|
|
1452
1561
|
|
|
1453
1562
|
const SelectControl = JSX(({ className = '', label, error, ...rest }) => (jsxs("div", { className: className, children: [jsx(Select, { ...rest, valid: !error, label: rest?.errors ? `${label}*` : label }), renderErrorText(error)] })));
|
|
1454
1563
|
|
|
@@ -1719,6 +1828,11 @@
|
|
|
1719
1828
|
|
|
1720
1829
|
const ConsentToReceiveMaterialsField = JSX(({ field }) => (jsx(CheckboxWithError, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0435\u043D \u043D\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0438 \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435", ...field('consentToReceiveMaterials') })));
|
|
1721
1830
|
|
|
1831
|
+
const EmailField = JSX(({ field, input }) => {
|
|
1832
|
+
const { required, ...rest } = input;
|
|
1833
|
+
return (jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...getValidation(field('email'), validatorObj.email, required), ...rest }));
|
|
1834
|
+
});
|
|
1835
|
+
|
|
1722
1836
|
const FeedbackMethodField = JSX(({ field }) => (jsx(SelectControl, { label: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043E\u0442\u0432\u0435\u0442\u0430", options: FEEDBACK_METHOD, ...withValidator(field('feedbackMethod'), validatorObj.feedbackMethod) })));
|
|
1723
1837
|
|
|
1724
1838
|
const FeedbackTypeField = JSX(({ field }) => {
|
|
@@ -1753,7 +1867,7 @@
|
|
|
1753
1867
|
return (jsx(SelectControl, { label: "\u041D\u0430\u0441\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u043F\u0443\u043D\u043A\u0442", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u043E\u0440\u043E\u0434, \u0433\u0434\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0441\u0435\u0440\u0432\u0438\u0441", options: localities, ...getValidation(field('localities'), validatorObj.localities, input?.required), isSearch: true }));
|
|
1754
1868
|
});
|
|
1755
1869
|
|
|
1756
|
-
const MiddleNameField = JSX(({ field }) => (jsx(InputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", ...field('middleName') })));
|
|
1870
|
+
const MiddleNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", ...field('middleName'), ...input })));
|
|
1757
1871
|
|
|
1758
1872
|
const NameField = JSX(({ field, input }) => {
|
|
1759
1873
|
const { required, ...rest } = input;
|
|
@@ -1825,7 +1939,7 @@
|
|
|
1825
1939
|
|
|
1826
1940
|
const ServiceDirectionField = JSX(({ field }) => (jsx(SelectControl, { label: "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435", options: SERVICE_DIRECTIONS, ...withValidator(field('serviceDirection'), validatorObj.serviceDirection) })));
|
|
1827
1941
|
|
|
1828
|
-
const SurnameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", ...getValidation(field('surname'), validatorObj.surname, input?.required) })));
|
|
1942
|
+
const SurnameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", ...getValidation(field('surname'), validatorObj.surname, input?.required), ...input })));
|
|
1829
1943
|
|
|
1830
1944
|
const MIN_CREDIT_TERM = 1;
|
|
1831
1945
|
const MAX_CREDIT_TERM = 180;
|
|
@@ -1870,9 +1984,9 @@
|
|
|
1870
1984
|
const InputsMap = {
|
|
1871
1985
|
surname: jsx(SurnameField, { field: field, input: input }),
|
|
1872
1986
|
name: jsx(NameField, { field: field, input: input }),
|
|
1873
|
-
middleName: jsx(MiddleNameField, { field: field }),
|
|
1987
|
+
middleName: jsx(MiddleNameField, { field: field, input: input }),
|
|
1874
1988
|
phone: jsx(PhoneField, { field: field, input: input }),
|
|
1875
|
-
email:
|
|
1989
|
+
email: jsx(EmailField, { field: field, input: input }),
|
|
1876
1990
|
fullName: (jsx(InputControl, { label: "\u0424\u0418\u041E", ...getValidation(field('fullName'), validatorObj.fullName, required), ...rest })),
|
|
1877
1991
|
inn: (jsx(InputControl, { label: "\u0418\u041D\u041D", type: "number", ...getValidation(field('inn'), validatorObj.inn, required) })),
|
|
1878
1992
|
comment: jsx(CommentField, { field: field, input: input }),
|
|
@@ -6731,11 +6845,10 @@
|
|
|
6731
6845
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
6732
6846
|
});
|
|
6733
6847
|
|
|
6734
|
-
const packageVersion = "0.14.
|
|
6848
|
+
const packageVersion = "0.14.575";
|
|
6735
6849
|
|
|
6736
6850
|
exports.Blocks = Blocks;
|
|
6737
6851
|
exports.ContentPage = ContentPage;
|
|
6738
|
-
exports.DaDataAPI = DaDataAPI;
|
|
6739
6852
|
exports.handlerDecorator = handlerDecorator;
|
|
6740
6853
|
exports.joinList = joinList;
|
|
6741
6854
|
exports.packageVersion = packageVersion;
|