intelicoreact 1.5.26 → 1.5.28
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/Atomic/FormElements/ActionAlert/ActionAlert.js +10 -1
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
- package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +144 -51
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +90 -24
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +36 -16
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +38 -18
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +31 -18
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +38 -9
- package/dist/Atomic/FormElements/Input/Input.js +63 -26
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
- package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
- package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
- package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
- package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +140 -49
- package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
- package/dist/Atomic/FormElements/Label/Label.js +9 -1
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
- package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +85 -14
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
- package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +23 -6
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +223 -105
- package/dist/Atomic/FormElements/Text/Text.js +16 -10
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
- package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -5
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +15 -3
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
- package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
- package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
- package/dist/Atomic/UI/AccordionText/AccordionText.js +17 -3
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
- package/dist/Atomic/UI/Alert/Alert.js +19 -3
- package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
- package/dist/Atomic/UI/Box/Box.js +9 -3
- package/dist/Atomic/UI/Button/Button.js +11 -2
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
- package/dist/Atomic/UI/Chart/Chart.js +29 -4
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
- package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
- package/dist/Atomic/UI/DoubleString/DoubleString.js +18 -5
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
- package/dist/Atomic/UI/Hint/Hint.js +43 -11
- package/dist/Atomic/UI/Hint/partials/_utils.js +19 -4
- package/dist/Atomic/UI/Modal/Modal.js +28 -6
- package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
- package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
- package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
- package/dist/Atomic/UI/NavLine/NavLine.js +71 -42
- package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
- package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
- package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
- package/dist/Atomic/UI/Price/Price.js +7 -1
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
- package/dist/Atomic/UI/Status/Status.js +8 -1
- package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
- package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
- package/dist/Atomic/UI/Table/Table.js +12 -1
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
- package/dist/Atomic/UI/Tag/Tag.js +26 -11
- package/dist/Atomic/UI/TagList/TagList.js +47 -21
- package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
- package/dist/Atomic/UI/WizardStepper/constructor.js +11 -3
- package/dist/Atomic/UI/WizardStepper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +10 -0
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +4 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +17 -2
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +15 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +9 -2
- package/dist/Atomic/UI/WizardStepper/ui/index.js +5 -1
- package/dist/Classes/AbortableFetch.js +93 -36
- package/dist/Classes/AnimatedHandler.js +7 -3
- package/dist/Classes/RESTAPI/index.js +43 -39
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
- package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +46 -21
- package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
- package/dist/Classes/RESTAPI/partials/_utils.js +43 -19
- package/dist/Constants/index.constants.js +15 -8
- package/dist/Functions/Portal.js +16 -5
- package/dist/Functions/customEventListener.js +17 -4
- package/dist/Functions/dateTime.js +15 -5
- package/dist/Functions/fieldValueFormatters.js +90 -58
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
- package/dist/Functions/locale/createTranslator.js +9 -4
- package/dist/Functions/operations.js +22 -12
- package/dist/Functions/presets/inputMaskPresets.js +11 -9
- package/dist/Functions/presets/inputPresets.js +11 -8
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
- package/dist/Functions/schemas.js +13 -6
- package/dist/Functions/useBodyScrollLock.js +6 -1
- package/dist/Functions/useClickOutside.js +4 -0
- package/dist/Functions/useDebounce.js +7 -2
- package/dist/Functions/useFieldFocus.js +18 -6
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
- package/dist/Functions/useFormTools/functions/General.js +28 -18
- package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
- package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
- package/dist/Functions/useFormTools/index.js +144 -85
- package/dist/Functions/useInputHighlightError.js +12 -3
- package/dist/Functions/useIsMobile.js +13 -7
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
- package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
- package/dist/Functions/useLocalStorage.js +9 -1
- package/dist/Functions/useLocationParams.js +5 -4
- package/dist/Functions/useMediaQuery.js +6 -1
- package/dist/Functions/useMetaInfo.js +10 -3
- package/dist/Functions/useMouseUpOutside.js +3 -0
- package/dist/Functions/useOnlineStatus.js +9 -1
- package/dist/Functions/usePasswordChecker.js +20 -4
- package/dist/Functions/usePrevious.js +5 -1
- package/dist/Functions/useResize.js +10 -2
- package/dist/Functions/useScrollTo.js +7 -2
- package/dist/Functions/useToggle.js +5 -1
- package/dist/Functions/utils.js +151 -76
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
- package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
- package/dist/Molecular/CustomIcons/components/Button.js +9 -2
- package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/Close.js +9 -2
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
- package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
- package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
- package/dist/Molecular/CustomIcons/components/Email.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
- package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Key.js +9 -2
- package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
- package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
- package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
- package/dist/Molecular/CustomIcons/components/Play.js +9 -2
- package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
- package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
- package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
- package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
- package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
- package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
- package/dist/Molecular/CustomIcons/components/User.js +9 -2
- package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
- package/dist/Molecular/CustomIcons/components/X.js +9 -2
- package/dist/Molecular/CustomIcons/index.js +122 -0
- package/dist/Molecular/FormElement/FormElement.js +12 -1
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +33 -33
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +13 -11
- package/dist/Molecular/InputAddress/InputAddress.js +114 -65
- package/dist/Molecular/InputPassword/InputPassword.js +19 -5
- package/dist/index.js +2 -0
- package/package.json +1 -1
- package/dist/Atomic/UI/Hint/partial/_utils.js +0 -52
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
10
14
|
var _utils = require("../../../Functions/utils");
|
|
15
|
+
|
|
11
16
|
var _AccordionText = _interopRequireDefault(require("../../UI/AccordionText/AccordionText"));
|
|
17
|
+
|
|
12
18
|
var _FileLoaderLocal = _interopRequireDefault(require("../FileLoaderLocal/FileLoaderLocal"));
|
|
19
|
+
|
|
13
20
|
require("./FileLoaderDescription.scss");
|
|
14
|
-
|
|
15
|
-
function
|
|
21
|
+
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
|
|
25
|
+
|
|
16
26
|
const RC = "file-loader-description";
|
|
17
27
|
const UPLOAD_TRIGGER_KEY = "uploadTrigger";
|
|
18
28
|
const MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
@@ -26,6 +36,7 @@ const uploadTriggerStucture = {
|
|
|
26
36
|
error: "",
|
|
27
37
|
accept: ACCEPT_EXTENSIONS_DEFAULT
|
|
28
38
|
};
|
|
39
|
+
|
|
29
40
|
const getStructure = data => ({
|
|
30
41
|
//? Расчет на то, что data донесет свой id и перетрёт пустые велью
|
|
31
42
|
value: "",
|
|
@@ -36,6 +47,7 @@ const getStructure = data => ({
|
|
|
36
47
|
accept: ACCEPT_EXTENSIONS_DEFAULT,
|
|
37
48
|
...data
|
|
38
49
|
});
|
|
50
|
+
|
|
39
51
|
const accordionData = (accordionTitle, accordionListContent) => {
|
|
40
52
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
41
53
|
"data-testid": "accordion"
|
|
@@ -56,25 +68,29 @@ const accordionData = (accordionTitle, accordionListContent) => {
|
|
|
56
68
|
}, item.description)));
|
|
57
69
|
})));
|
|
58
70
|
};
|
|
71
|
+
|
|
59
72
|
const getSafelyInitFiles = (initFiles, maxFilesCount) => {
|
|
60
73
|
if (!Array.isArray(initFiles)) return [];
|
|
61
74
|
let output = (0, _utils.clone)(initFiles);
|
|
75
|
+
|
|
62
76
|
if (typeof maxFilesCount === 'number' && output.length > maxFilesCount) {
|
|
63
77
|
output = output.slice(0, maxFilesCount);
|
|
64
78
|
}
|
|
79
|
+
|
|
65
80
|
return output.map(getStructure);
|
|
66
81
|
};
|
|
82
|
+
|
|
67
83
|
const checkOverflow = (files, maxFilesCount, additional) => {
|
|
68
84
|
const {
|
|
69
85
|
error = "",
|
|
70
86
|
outerError = ""
|
|
71
87
|
} = additional || {};
|
|
72
|
-
return typeof maxFilesCount === "number" && files.length < maxFilesCount ? [...files, {
|
|
73
|
-
...(0, _utils.clone)(uploadTriggerStucture),
|
|
88
|
+
return typeof maxFilesCount === "number" && files.length < maxFilesCount ? [...files, { ...(0, _utils.clone)(uploadTriggerStucture),
|
|
74
89
|
error,
|
|
75
90
|
outerError
|
|
76
91
|
}] : files;
|
|
77
92
|
};
|
|
93
|
+
|
|
78
94
|
const FileLoaderDescription = _ref => {
|
|
79
95
|
let {
|
|
80
96
|
//? Для корректности работы стоит пробрасывать какой-то из id
|
|
@@ -99,16 +115,20 @@ const FileLoaderDescription = _ref => {
|
|
|
99
115
|
if (!safelyInitFiles.length) return [(0, _utils.clone)(uploadTriggerStucture)];
|
|
100
116
|
return checkOverflow(safelyInitFiles, maxFilesCount);
|
|
101
117
|
})());
|
|
118
|
+
|
|
102
119
|
const generateUniqueFileName = (files, name) => {
|
|
103
120
|
let fileName = name;
|
|
104
121
|
const [nameWithoutExtension, extension] = name.split(/(?=\.[^.]+$)/);
|
|
105
122
|
let count = 1;
|
|
123
|
+
|
|
106
124
|
while (files.some(file => file.value === fileName)) {
|
|
107
125
|
fileName = "".concat(nameWithoutExtension, "(").concat(count, ")").concat(extension);
|
|
108
126
|
count += 1;
|
|
109
127
|
}
|
|
128
|
+
|
|
110
129
|
return fileName;
|
|
111
130
|
};
|
|
131
|
+
|
|
112
132
|
const handle = {
|
|
113
133
|
applyFields: newFields => {
|
|
114
134
|
setFiles(checkOverflow(newFields, maxFilesCount));
|
|
@@ -122,21 +142,20 @@ const FileLoaderDescription = _ref => {
|
|
|
122
142
|
file
|
|
123
143
|
} = _ref2;
|
|
124
144
|
//? Работаем с филдами БЕЗ плашки добавления
|
|
125
|
-
let output = (0, _utils.clone)(files).filter(item => item.value && item.base64).map(item => ({
|
|
126
|
-
...item,
|
|
145
|
+
let output = (0, _utils.clone)(files).filter(item => item.value && item.base64).map(item => ({ ...item,
|
|
127
146
|
error: ""
|
|
128
147
|
}));
|
|
129
148
|
const changedField = output.find(item => id === item.id);
|
|
149
|
+
|
|
130
150
|
if (!file) {
|
|
131
151
|
//? Нет файла - значит это экшн удаления
|
|
132
152
|
handle.applyFields(output.filter(item => item.id !== (changedField === null || changedField === void 0 ? void 0 : changedField.id)));
|
|
133
153
|
} else if (error) {
|
|
134
154
|
//? Есть ошибка - не должны менять содержание, только назначить ошибку
|
|
135
|
-
if (changedField) output = output.map(item => id.includes(item.id) ? {
|
|
136
|
-
...item,
|
|
155
|
+
if (changedField) output = output.map(item => id.includes(item.id) ? { ...item,
|
|
137
156
|
error
|
|
138
|
-
} : item);
|
|
139
|
-
|
|
157
|
+
} : item); //? Установка в локальный стейт БЕЗ верхнего onChange (файл по итогу НЕ загрузили, НЕ мутируем верхнее велью)
|
|
158
|
+
|
|
140
159
|
setFiles(checkOverflow(output, maxFilesCount, {
|
|
141
160
|
error: !changedField ? error : null
|
|
142
161
|
}));
|
|
@@ -150,8 +169,8 @@ const FileLoaderDescription = _ref => {
|
|
|
150
169
|
value: uniqueFileName,
|
|
151
170
|
base64: result,
|
|
152
171
|
error: ""
|
|
153
|
-
});
|
|
154
|
-
|
|
172
|
+
}); //? Либо меняем, либо добавляем
|
|
173
|
+
|
|
155
174
|
output = changedField ? output.map(item => item.id === changedField.id ? newItem : item) : [...output, newItem];
|
|
156
175
|
handle.applyFields(output);
|
|
157
176
|
});
|
|
@@ -162,10 +181,9 @@ const FileLoaderDescription = _ref => {
|
|
|
162
181
|
setFiles(checkOverflow(files.filter(item => item.id !== UPLOAD_TRIGGER_KEY), maxFilesCount, {
|
|
163
182
|
outerError
|
|
164
183
|
}));
|
|
165
|
-
}, [outerError]);
|
|
166
|
-
|
|
167
|
-
//? Обеспечивает чтобы верхний стейт был доминирующим
|
|
184
|
+
}, [outerError]); //? Обеспечивает чтобы верхний стейт был доминирующим
|
|
168
185
|
//? Осознанно и намерянно в зависимости стоит initFiles, но расчеты идут от safelyInitFiles
|
|
186
|
+
|
|
169
187
|
(0, _react.useEffect)(() => {
|
|
170
188
|
//? Если изменились верхние филды и они отличаются от локальных (без триггера) - перезаписать
|
|
171
189
|
if (!(0, _utils.compare)(safelyInitFiles, (0, _utils.clone)(files).filter(item => item.id !== UPLOAD_TRIGGER_KEY))) {
|
|
@@ -207,4 +225,6 @@ const FileLoaderDescription = _ref => {
|
|
|
207
225
|
});
|
|
208
226
|
}));
|
|
209
227
|
};
|
|
210
|
-
|
|
228
|
+
|
|
229
|
+
var _default = FileLoaderDescription;
|
|
230
|
+
exports.default = _default;
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
9
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
10
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
11
16
|
var _reactFeather = require("react-feather");
|
|
17
|
+
|
|
12
18
|
var _utils = require("../../../Functions/utils");
|
|
19
|
+
|
|
13
20
|
require("./FileLoaderLocal.scss");
|
|
21
|
+
|
|
14
22
|
const MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
23
|
+
|
|
15
24
|
const FileLoaderLocal = _ref => {
|
|
16
25
|
let {
|
|
17
26
|
groupId,
|
|
@@ -31,10 +40,12 @@ const FileLoaderLocal = _ref => {
|
|
|
31
40
|
testId = "file-loader-local",
|
|
32
41
|
attributesOfNativeInput = {}
|
|
33
42
|
} = _ref;
|
|
43
|
+
|
|
34
44
|
const getFileName = value => {
|
|
35
45
|
const result = value.match(/[^\\]+$/);
|
|
36
46
|
return result === null || result === void 0 ? void 0 : result[0];
|
|
37
47
|
};
|
|
48
|
+
|
|
38
49
|
const renderRequiredLabel = () => {
|
|
39
50
|
if (!value) {
|
|
40
51
|
if (isRequired) return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -44,22 +55,28 @@ const FileLoaderLocal = _ref => {
|
|
|
44
55
|
}, "Optional");
|
|
45
56
|
}
|
|
46
57
|
};
|
|
58
|
+
|
|
47
59
|
const isFileSizeOutOfLimit = file => {
|
|
48
60
|
var _ref2;
|
|
61
|
+
|
|
49
62
|
return (_ref2 = file.size > maxItemSizeBytes) !== null && _ref2 !== void 0 ? _ref2 : MAX_FILE_SIZE;
|
|
50
63
|
};
|
|
64
|
+
|
|
51
65
|
const checkExtension = valueExtension => {
|
|
52
66
|
return accept.includes(valueExtension);
|
|
53
67
|
};
|
|
68
|
+
|
|
54
69
|
const handle = {
|
|
55
70
|
change: e => {
|
|
56
|
-
var _name$match, _name$split, _e$target, _e$target2;
|
|
71
|
+
var _name$match, _name$split, _e$target, _e$target$files, _e$target2, _e$target2$files;
|
|
72
|
+
|
|
57
73
|
const name = getFileName(e.target.value);
|
|
58
|
-
const valueExtension = name === null || name === void 0
|
|
74
|
+
const valueExtension = name === null || name === void 0 ? void 0 : (_name$match = name.match(/[^\.]+$/)) === null || _name$match === void 0 ? void 0 : _name$match[0];
|
|
59
75
|
const fileName = (_name$split = name.split(".")) === null || _name$split === void 0 ? void 0 : _name$split[0];
|
|
60
76
|
const latinRegex = /^[A-Za-z\u00C0-\u00FF0-9!@#\$%\^\&*\)\(+=._-\s]+$/;
|
|
61
|
-
const file = (_e$target = e.target) === null || _e$target === void 0
|
|
62
|
-
|
|
77
|
+
const file = (_e$target = e.target) === null || _e$target === void 0 ? void 0 : (_e$target$files = _e$target.files) === null || _e$target$files === void 0 ? void 0 : _e$target$files[0];
|
|
78
|
+
|
|
79
|
+
if (isFileSizeOutOfLimit((_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : (_e$target2$files = _e$target2.files) === null || _e$target2$files === void 0 ? void 0 : _e$target2$files[0])) {
|
|
63
80
|
onChange({
|
|
64
81
|
id,
|
|
65
82
|
name,
|
|
@@ -71,7 +88,8 @@ const FileLoaderLocal = _ref => {
|
|
|
71
88
|
});
|
|
72
89
|
} else if (!checkExtension(valueExtension)) {
|
|
73
90
|
var _accept$replace;
|
|
74
|
-
|
|
91
|
+
|
|
92
|
+
const allowedExtensions = (accept === null || accept === void 0 ? void 0 : (_accept$replace = accept.replace(/\./g, "")) === null || _accept$replace === void 0 ? void 0 : _accept$replace.toUpperCase()) || "JPG, PNG, PDF";
|
|
75
93
|
const uniqExts = (0, _utils.getUniqueFileExtensions)(allowedExtensions);
|
|
76
94
|
onChange({
|
|
77
95
|
id,
|
|
@@ -146,4 +164,6 @@ const FileLoaderLocal = _ref => {
|
|
|
146
164
|
})
|
|
147
165
|
}), renderRequiredLabel()));
|
|
148
166
|
};
|
|
149
|
-
|
|
167
|
+
|
|
168
|
+
var _default = FileLoaderLocal;
|
|
169
|
+
exports.default = _default;
|
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
10
14
|
var _reactFeather = require("react-feather");
|
|
15
|
+
|
|
11
16
|
var _utils = require("../../../Functions/utils");
|
|
17
|
+
|
|
12
18
|
var _Alert = _interopRequireDefault(require("../../UI/Alert/Alert"));
|
|
19
|
+
|
|
13
20
|
var _FileLoaderLocal = _interopRequireDefault(require("../FileLoaderLocal/FileLoaderLocal"));
|
|
21
|
+
|
|
14
22
|
require("./FileLoaderLocalGroup.scss");
|
|
15
|
-
|
|
16
|
-
function
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
|
|
27
|
+
|
|
17
28
|
const DEFAULT_LABEL_PREFIX = "Please attach";
|
|
18
29
|
const MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
30
|
+
|
|
19
31
|
const FileLoaderLocalGroup = _ref => {
|
|
20
32
|
let {
|
|
21
33
|
className,
|
|
@@ -27,8 +39,10 @@ const FileLoaderLocalGroup = _ref => {
|
|
|
27
39
|
alertText
|
|
28
40
|
} = _ref;
|
|
29
41
|
const [groups, setGroups] = (0, _react.useState)((0, _utils.clone)(groupsArray));
|
|
42
|
+
|
|
30
43
|
const getNewFile = group => {
|
|
31
44
|
var _group$files, _group$files2, _group$maxItemSizeByt, _group$files3, _group$files4;
|
|
45
|
+
|
|
32
46
|
return {
|
|
33
47
|
id: isNaN(((_group$files = group.files) === null || _group$files === void 0 ? void 0 : _group$files.at(-1).id) + 1) ? 1 : ((_group$files2 = group.files) === null || _group$files2 === void 0 ? void 0 : _group$files2.at(-1).id) + 1,
|
|
34
48
|
value: "",
|
|
@@ -40,20 +54,23 @@ const FileLoaderLocalGroup = _ref => {
|
|
|
40
54
|
fieldKey: isNaN(((_group$files3 = group.files) === null || _group$files3 === void 0 ? void 0 : _group$files3.at(-1).id) + 1) ? 1 : ((_group$files4 = group.files) === null || _group$files4 === void 0 ? void 0 : _group$files4.at(-1).id) + 1
|
|
41
55
|
};
|
|
42
56
|
};
|
|
57
|
+
|
|
43
58
|
const generateUniqueFileName = (files, name) => {
|
|
44
59
|
let fileName = name;
|
|
45
60
|
const [nameWithoutExtension, extension] = name.split(/(?=\.[^.]+$)/);
|
|
46
61
|
let count = 1;
|
|
62
|
+
|
|
47
63
|
while (files.some(file => file.value === fileName)) {
|
|
48
64
|
fileName = "".concat(nameWithoutExtension, "(").concat(count, ")").concat(extension);
|
|
49
65
|
count += 1;
|
|
50
66
|
}
|
|
67
|
+
|
|
51
68
|
return fileName;
|
|
52
69
|
};
|
|
70
|
+
|
|
53
71
|
(0, _react.useEffect)(() => {
|
|
54
72
|
const mergedGroups = groupsArray === null || groupsArray === void 0 ? void 0 : groupsArray.map(group => {
|
|
55
|
-
return {
|
|
56
|
-
...group,
|
|
73
|
+
return { ...group,
|
|
57
74
|
files: [getNewFile(group)]
|
|
58
75
|
};
|
|
59
76
|
});
|
|
@@ -73,6 +90,7 @@ const FileLoaderLocalGroup = _ref => {
|
|
|
73
90
|
const currentGroup = groups === null || groups === void 0 ? void 0 : groups.find(group => group.groupId === groupId.toString());
|
|
74
91
|
const files = currentGroup === null || currentGroup === void 0 ? void 0 : currentGroup.files;
|
|
75
92
|
const changedField = files.find(item => Number(item.id) === Number(id));
|
|
93
|
+
|
|
76
94
|
if (error) {
|
|
77
95
|
changedField.value = name;
|
|
78
96
|
changedField.error = error;
|
|
@@ -86,19 +104,17 @@ const FileLoaderLocalGroup = _ref => {
|
|
|
86
104
|
changedField.error = "";
|
|
87
105
|
const oldDataWithNewFile = groups === null || groups === void 0 ? void 0 : groups.map(group => {
|
|
88
106
|
if ((group === null || group === void 0 ? void 0 : group.groupId) === groupId.toString() && isSingleGroup) {
|
|
89
|
-
return {
|
|
90
|
-
...group,
|
|
107
|
+
return { ...group,
|
|
91
108
|
files: [...group.files]
|
|
92
109
|
};
|
|
93
110
|
} else if ((group === null || group === void 0 ? void 0 : group.groupId) === groupId.toString() && group.files.length < 10 && !isSingleGroup) {
|
|
94
|
-
return {
|
|
95
|
-
...group,
|
|
96
|
-
files: [...group.files, {
|
|
97
|
-
...getNewFile(group),
|
|
111
|
+
return { ...group,
|
|
112
|
+
files: [...group.files, { ...getNewFile(group),
|
|
98
113
|
isRequired: group.files.length > 1
|
|
99
114
|
}]
|
|
100
115
|
};
|
|
101
116
|
}
|
|
117
|
+
|
|
102
118
|
return group;
|
|
103
119
|
});
|
|
104
120
|
setGroups([...oldDataWithNewFile]);
|
|
@@ -107,20 +123,18 @@ const FileLoaderLocalGroup = _ref => {
|
|
|
107
123
|
} else {
|
|
108
124
|
const oldDataWithRemovedFile = groups === null || groups === void 0 ? void 0 : groups.map(group => {
|
|
109
125
|
if (isSingleGroup && (group === null || group === void 0 ? void 0 : group.groupId) === groupId.toString()) {
|
|
110
|
-
return {
|
|
111
|
-
...group,
|
|
112
|
-
files: [{
|
|
113
|
-
...getNewFile(group),
|
|
126
|
+
return { ...group,
|
|
127
|
+
files: [{ ...getNewFile(group),
|
|
114
128
|
value: "",
|
|
115
129
|
base64: ""
|
|
116
130
|
}]
|
|
117
131
|
};
|
|
118
132
|
} else if ((group === null || group === void 0 ? void 0 : group.groupId) === groupId.toString() && !isSingleGroup) {
|
|
119
|
-
return {
|
|
120
|
-
...group,
|
|
133
|
+
return { ...group,
|
|
121
134
|
files: group.files.filter(item => item.id !== id)
|
|
122
135
|
};
|
|
123
136
|
}
|
|
137
|
+
|
|
124
138
|
return group;
|
|
125
139
|
});
|
|
126
140
|
setGroups([...oldDataWithRemovedFile]);
|
|
@@ -128,9 +142,12 @@ const FileLoaderLocalGroup = _ref => {
|
|
|
128
142
|
}
|
|
129
143
|
}
|
|
130
144
|
};
|
|
145
|
+
|
|
131
146
|
const getUniqueExts = acceptExts => (0, _utils.getUniqueFileExtensions)(acceptExts === null || acceptExts === void 0 ? void 0 : acceptExts.replace(/\./g, ""));
|
|
147
|
+
|
|
132
148
|
return groups === null || groups === void 0 ? void 0 : groups.map(group => {
|
|
133
149
|
var _group$files5;
|
|
150
|
+
|
|
134
151
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
135
152
|
"data-testid": testId,
|
|
136
153
|
key: group.groupId,
|
|
@@ -148,8 +165,9 @@ const FileLoaderLocalGroup = _ref => {
|
|
|
148
165
|
message: group === null || group === void 0 ? void 0 : group.alertText
|
|
149
166
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
150
167
|
className: "file-loader-local-groups__item"
|
|
151
|
-
}, group === null || group === void 0
|
|
168
|
+
}, group === null || group === void 0 ? void 0 : (_group$files5 = group.files) === null || _group$files5 === void 0 ? void 0 : _group$files5.map((file, index) => {
|
|
152
169
|
var _group$files6, _group$files7;
|
|
170
|
+
|
|
153
171
|
return /*#__PURE__*/_react.default.createElement(_FileLoaderLocal.default, {
|
|
154
172
|
groupId: group === null || group === void 0 ? void 0 : group.groupId,
|
|
155
173
|
fieldKey: file !== null && file !== void 0 && file.fieldKey ? "".concat(file.fieldKey, ":").concat(group === null || group === void 0 ? void 0 : group.groupId, ":").concat(Math.random().toString().slice(-4)) : file === null || file === void 0 ? void 0 : file.id,
|
|
@@ -167,4 +185,6 @@ const FileLoaderLocalGroup = _ref => {
|
|
|
167
185
|
})));
|
|
168
186
|
});
|
|
169
187
|
};
|
|
170
|
-
|
|
188
|
+
|
|
189
|
+
var _default = FileLoaderLocalGroup;
|
|
190
|
+
exports.default = _default;
|
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
9
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
10
14
|
var _reactFeather = require("react-feather");
|
|
15
|
+
|
|
11
16
|
var _utils = require("../../../Functions/utils");
|
|
17
|
+
|
|
12
18
|
var _InputMask = _interopRequireDefault(require("../InputMask3/InputMask3"));
|
|
19
|
+
|
|
13
20
|
require("./FormattedRawSSN.scss");
|
|
14
|
-
|
|
15
|
-
function
|
|
21
|
+
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
|
|
25
|
+
|
|
16
26
|
const DEFAULT_SSN_MASK = "DDD-DD-DDDD";
|
|
17
27
|
const SIGNIFICANT_CHARACTERS = ["D"];
|
|
28
|
+
|
|
18
29
|
const FormattedRawSSN = _ref => {
|
|
19
30
|
let {
|
|
20
31
|
value = "",
|
|
@@ -46,45 +57,44 @@ const FormattedRawSSN = _ref => {
|
|
|
46
57
|
// ? Это потребует отрисовки триггера "поверх" InputMask3.
|
|
47
58
|
const [isHidden, setIsHidden] = (0, _react.useState)(isHiddenDefault);
|
|
48
59
|
const wrapperRef = (0, _react.useRef)(null);
|
|
60
|
+
|
|
49
61
|
const onChange = value => {
|
|
50
62
|
const newValue = !value && value !== "" ? "" : value === null || value === void 0 ? void 0 : value.toString();
|
|
51
63
|
onChangeProp(newValue);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
// ? Пересчитываем маску с учетом переданного maxLen.
|
|
64
|
+
}; // ? Пересчитываем маску с учетом переданного maxLen.
|
|
55
65
|
// ? Если maxLen меньше количества значащих символов в fullSnnMask, то маска корректно обрежется.
|
|
56
66
|
// ? Передаем опцию isOnlyMask: false, чтобы получить НЕ только новую маску, а еще и статистику.
|
|
57
67
|
// ? В этом случае приходит объект формата: { mask, countOfSignificantChars, countOfNotSignificantChars }
|
|
68
|
+
|
|
69
|
+
|
|
58
70
|
const infoAboutMask = (0, _utils.getLimitedMask)({
|
|
59
71
|
mask: fullSnnMask,
|
|
60
72
|
significantChars: significantChars,
|
|
61
73
|
limit: maxLen,
|
|
62
74
|
isOnlyMask: false
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
// ? Расчитываем ИНДЕКС крайнего символа части маски, которая подлежит скрытию,
|
|
75
|
+
}); // ? Расчитываем ИНДЕКС крайнего символа части маски, которая подлежит скрытию,
|
|
66
76
|
// ? исходя из countOfFirstDigitsToHide
|
|
77
|
+
|
|
67
78
|
const maxHiddenIndex = (() => {
|
|
68
79
|
// если не приводится к числу или ноль (передавать ноль лишено смысла)
|
|
69
|
-
if (isNaN(Number(countOfFirstDigitsToHide)) || !Number(countOfFirstDigitsToHide)) return -1;
|
|
70
|
-
// если больше чем значимых символов
|
|
71
|
-
if (countOfFirstDigitsToHide > infoAboutMask.countOfSignificantChars) return infoAboutMask.mask.length;
|
|
80
|
+
if (isNaN(Number(countOfFirstDigitsToHide)) || !Number(countOfFirstDigitsToHide)) return -1; // если больше чем значимых символов
|
|
72
81
|
|
|
73
|
-
// ? Для расчетов получаем дополнительно корректно "обрезанную" маску (до уровня скрываемой части)
|
|
82
|
+
if (countOfFirstDigitsToHide > infoAboutMask.countOfSignificantChars) return infoAboutMask.mask.length; // ? Для расчетов получаем дополнительно корректно "обрезанную" маску (до уровня скрываемой части)
|
|
74
83
|
// ? на основе ранее полученной "обрезанной" по maxLen. Нам нужна НЕ сама маска, а статистика по ней.
|
|
75
84
|
// ? В частности - количество "незначащих" символов содержащихся в скрываемой части
|
|
85
|
+
|
|
76
86
|
const infoAboutMaskOfHidden = (0, _utils.getLimitedMask)({
|
|
77
87
|
mask: infoAboutMask.mask,
|
|
78
88
|
significantChars: significantChars,
|
|
79
89
|
limit: countOfFirstDigitsToHide,
|
|
80
90
|
isOnlyMask: false
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
// ? Для InputMask3 maxHiddenIndex должен быть передан относительно длины ВСЕЙ применяемой маски (наша "обрезанная" по maxLen).
|
|
91
|
+
}); // ? Для InputMask3 maxHiddenIndex должен быть передан относительно длины ВСЕЙ применяемой маски (наша "обрезанная" по maxLen).
|
|
84
92
|
// ? Поэтому к количеству "скрываемых" символов добавляем количество "незначащих", входящих в скрываемую часть маски.
|
|
85
93
|
// ? Т.к. расчитываем НЕ длинну, а индекс - отнимаем 1
|
|
94
|
+
|
|
86
95
|
return countOfFirstDigitsToHide + infoAboutMaskOfHidden.countOfNotSignificantChars - 1;
|
|
87
96
|
})();
|
|
97
|
+
|
|
88
98
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
89
99
|
"data-testid": testId,
|
|
90
100
|
className: "formatted-raw-ssn",
|
|
@@ -107,8 +117,9 @@ const FormattedRawSSN = _ref => {
|
|
|
107
117
|
})), postfix && /*#__PURE__*/_react.default.createElement("span", {
|
|
108
118
|
className: "formatted-raw-ssn-postfix",
|
|
109
119
|
onClick: () => {
|
|
110
|
-
var _wrapperRef$current;
|
|
111
|
-
|
|
120
|
+
var _wrapperRef$current, _wrapperRef$current$q;
|
|
121
|
+
|
|
122
|
+
return wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : (_wrapperRef$current$q = _wrapperRef$current.querySelector("input")) === null || _wrapperRef$current$q === void 0 ? void 0 : _wrapperRef$current$q.focus();
|
|
112
123
|
}
|
|
113
124
|
}, postfix), /*#__PURE__*/_react.default.createElement("span", {
|
|
114
125
|
className: "formatted-raw-ssn-eye-holder",
|
|
@@ -121,4 +132,6 @@ const FormattedRawSSN = _ref => {
|
|
|
121
132
|
className: "password-icon"
|
|
122
133
|
})));
|
|
123
134
|
};
|
|
124
|
-
|
|
135
|
+
|
|
136
|
+
var _default = FormattedRawSSN;
|
|
137
|
+
exports.default = _default;
|
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
9
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
10
14
|
var _reactFeather = require("react-feather");
|
|
15
|
+
|
|
11
16
|
var _utils = require("../../../Functions/utils");
|
|
17
|
+
|
|
12
18
|
var _Input = _interopRequireDefault(require("../Input/Input"));
|
|
19
|
+
|
|
13
20
|
require("./FormattedRawSSN.scss");
|
|
14
|
-
|
|
15
|
-
function
|
|
21
|
+
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
|
|
25
|
+
|
|
16
26
|
const FormattedRawSSN = _ref => {
|
|
17
27
|
var _value$substring;
|
|
28
|
+
|
|
18
29
|
let {
|
|
19
30
|
value = "",
|
|
20
31
|
postfix = "",
|
|
@@ -30,17 +41,22 @@ const FormattedRawSSN = _ref => {
|
|
|
30
41
|
const wrapperRef = (0, _react.useRef)(null);
|
|
31
42
|
(0, _react.useEffect)(() => {
|
|
32
43
|
var _value$toString$subst, _value$toString;
|
|
33
|
-
|
|
44
|
+
|
|
45
|
+
setSSN((_value$toString$subst = value === null || value === void 0 ? void 0 : (_value$toString = value.toString()) === null || _value$toString === void 0 ? void 0 : _value$toString.substring(0, maxLen)) !== null && _value$toString$subst !== void 0 ? _value$toString$subst : "");
|
|
34
46
|
}, [value]);
|
|
47
|
+
|
|
35
48
|
const onChange = value => {
|
|
36
49
|
if (!value && value !== "") return "";
|
|
50
|
+
|
|
37
51
|
if (value.replace(/-/g, "").length < SSN.length) {
|
|
38
52
|
const last = SSN.length - 1;
|
|
39
53
|
setSSN(SSN.slice(0, last));
|
|
40
54
|
return;
|
|
41
55
|
}
|
|
56
|
+
|
|
42
57
|
const numValue = value.replace(/\D/g, "");
|
|
43
58
|
let newSSN = "";
|
|
59
|
+
|
|
44
60
|
if (isHidden) {
|
|
45
61
|
if (SSN.length > 5) {
|
|
46
62
|
newSSN = SSN.slice(0, 5) + numValue;
|
|
@@ -50,36 +66,46 @@ const FormattedRawSSN = _ref => {
|
|
|
50
66
|
} else {
|
|
51
67
|
newSSN = numValue;
|
|
52
68
|
}
|
|
69
|
+
|
|
53
70
|
if (newSSN.length > maxLen) {
|
|
54
71
|
return;
|
|
55
72
|
}
|
|
73
|
+
|
|
56
74
|
setSSN(newSSN);
|
|
57
75
|
};
|
|
76
|
+
|
|
58
77
|
const switchView = () => {
|
|
59
78
|
var _wrapperRef$current;
|
|
60
|
-
|
|
61
|
-
input === null ||
|
|
79
|
+
|
|
80
|
+
const input = wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.querySelector("input");
|
|
81
|
+
input === null || input === void 0 ? void 0 : input.focus();
|
|
62
82
|
(0, _utils.setCarretToEnd)(input);
|
|
63
83
|
setIsHidden(!isHidden);
|
|
64
84
|
};
|
|
85
|
+
|
|
65
86
|
const getFormatedValue = v => {
|
|
66
87
|
if (!v) return "";
|
|
67
88
|
v = v.slice(0, 11).replace(/-/g, "");
|
|
89
|
+
|
|
68
90
|
if (v.length <= 3) {
|
|
69
91
|
return v;
|
|
70
92
|
}
|
|
93
|
+
|
|
71
94
|
if (v.length > 3 && v.length <= 5) {
|
|
72
95
|
return "".concat(v.slice(0, 3), "-").concat(v.slice(3));
|
|
73
96
|
}
|
|
97
|
+
|
|
74
98
|
if (v.length > 5) {
|
|
75
99
|
return "".concat(v.slice(0, 3), "-").concat(v.slice(3, 5), "-").concat(v.slice(5));
|
|
76
100
|
}
|
|
77
101
|
};
|
|
102
|
+
|
|
78
103
|
const getMaskedValue = v => {
|
|
79
104
|
return isHidden ? v.slice(0, 7).replace(/[0-9]/g, maskChar).concat(v.slice(7)) : v;
|
|
80
105
|
};
|
|
106
|
+
|
|
81
107
|
(0, _react.useEffect)(() => {
|
|
82
|
-
if (SSN) onChangeProp === null || onChangeProp === void 0
|
|
108
|
+
if (SSN) onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(SSN.concat(SSN.length === maxLen ? postfix : "").replace(/-/g, ""));
|
|
83
109
|
}, [SSN]);
|
|
84
110
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
85
111
|
"data-testid": testId,
|
|
@@ -91,8 +117,9 @@ const FormattedRawSSN = _ref => {
|
|
|
91
117
|
})), postfix && /*#__PURE__*/_react.default.createElement("span", {
|
|
92
118
|
className: "formatted-raw-ssn-postfix",
|
|
93
119
|
onClick: () => {
|
|
94
|
-
var _wrapperRef$current2
|
|
95
|
-
|
|
120
|
+
var _wrapperRef$current2, _wrapperRef$current2$;
|
|
121
|
+
|
|
122
|
+
return wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current2 = wrapperRef.current) === null || _wrapperRef$current2 === void 0 ? void 0 : (_wrapperRef$current2$ = _wrapperRef$current2.querySelector("input")) === null || _wrapperRef$current2$ === void 0 ? void 0 : _wrapperRef$current2$.focus();
|
|
96
123
|
}
|
|
97
124
|
}, postfix), /*#__PURE__*/_react.default.createElement("span", {
|
|
98
125
|
className: "formatted-raw-ssn-eye-holder",
|
|
@@ -105,4 +132,6 @@ const FormattedRawSSN = _ref => {
|
|
|
105
132
|
className: "password-icon"
|
|
106
133
|
})));
|
|
107
134
|
};
|
|
108
|
-
|
|
135
|
+
|
|
136
|
+
var _default = FormattedRawSSN;
|
|
137
|
+
exports.default = _default;
|