intelicoreact 2.0.18 → 2.0.19
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/es/Atomic/FormElements/ActionAlert/ActionAlert.js +44 -0
- package/dist/es/Atomic/FormElements/ActionAlert/ActionAlert.js.map +1 -0
- package/dist/es/Atomic/FormElements/ActionAlert/ActionAlert.styles.css +39 -0
- package/dist/es/Atomic/FormElements/ActionAlert/index.js +7 -0
- package/dist/es/Atomic/FormElements/ActionAlert/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +35 -0
- package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js.map +1 -0
- package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.styles.css +84 -0
- package/dist/es/Atomic/FormElements/AdvancedStatus/index.js +7 -0
- package/dist/es/Atomic/FormElements/AdvancedStatus/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/Calendar/Calendar.js +154 -0
- package/dist/es/Atomic/FormElements/Calendar/Calendar.js.map +1 -0
- package/dist/es/Atomic/FormElements/Calendar/Calendar.styles.css +142 -0
- package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.js +45 -0
- package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.js.map +1 -0
- package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.styles.css +105 -0
- package/dist/es/Atomic/FormElements/CheckboxInput/index.js +7 -0
- package/dist/es/Atomic/FormElements/CheckboxInput/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +32 -0
- package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js.map +1 -0
- package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.styles.css +26 -0
- package/dist/es/Atomic/FormElements/CheckboxesLine/index.js +7 -0
- package/dist/es/Atomic/FormElements/CheckboxesLine/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/Datepicker/Datepicker.js +307 -0
- package/dist/es/Atomic/FormElements/Datepicker/Datepicker.js.map +1 -0
- package/dist/es/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +95 -0
- package/dist/es/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js.map +1 -0
- package/dist/es/Atomic/FormElements/Dropdown/Dropdown.js +472 -0
- package/dist/es/Atomic/FormElements/Dropdown/Dropdown.js.map +1 -0
- package/dist/es/Atomic/FormElements/Dropdown/Dropdown.styles.css +529 -0
- package/dist/es/Atomic/FormElements/Dropdown/_utils.js +68 -0
- package/dist/es/Atomic/FormElements/Dropdown/_utils.js.map +1 -0
- package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.js +23 -0
- package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.js.map +1 -0
- package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.styles.css +61 -0
- package/dist/es/Atomic/FormElements/Dropdown/index.js +7 -0
- package/dist/es/Atomic/FormElements/Dropdown/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/Dropdown/useDropdown.js +118 -0
- package/dist/es/Atomic/FormElements/Dropdown/useDropdown.js.map +1 -0
- package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +373 -0
- package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js.map +1 -0
- package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.styles.css +411 -0
- package/dist/es/Atomic/FormElements/FileLoader/FileLoader.js +55 -0
- package/dist/es/Atomic/FormElements/FileLoader/FileLoader.js.map +1 -0
- package/dist/es/Atomic/FormElements/FileLoader/FileLoader.styles.css +127 -0
- package/dist/es/Atomic/FormElements/FileLoader/partial/LoadZone.js +86 -0
- package/dist/es/Atomic/FormElements/FileLoader/partial/LoadZone.js.map +1 -0
- package/dist/es/Atomic/FormElements/FileLoader/partial/LoadedContent.js +52 -0
- package/dist/es/Atomic/FormElements/FileLoader/partial/LoadedContent.js.map +1 -0
- package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +174 -0
- package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js.map +1 -0
- package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.styles.css +88 -0
- package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +137 -0
- package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js.map +1 -0
- package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.styles.css +101 -0
- package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +150 -0
- package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js.map +1 -0
- package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.styles.css +14 -0
- package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +75 -0
- package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js.map +1 -0
- package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.styles.css +54 -0
- package/dist/es/Atomic/FormElements/FormattedRawSSN/index.js +7 -0
- package/dist/es/Atomic/FormElements/FormattedRawSSN/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/Input/Input.js +119 -0
- package/dist/es/Atomic/FormElements/Input/Input.js.map +1 -0
- package/dist/es/Atomic/FormElements/Input/Input.styles.css +125 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useErrorBlink.js +57 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useErrorBlink.js.map +1 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useInputFocus.js +34 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useInputFocus.js.map +1 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useInputHover.js +16 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useInputHover.js.map +1 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useInputValueProcessing.js +126 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useInputValueProcessing.js.map +1 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useKeyboardHandling.js +32 -0
- package/dist/es/Atomic/FormElements/Input/hooks/useKeyboardHandling.js.map +1 -0
- package/dist/es/Atomic/FormElements/Input/index.js +7 -0
- package/dist/es/Atomic/FormElements/Input/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
- package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.styles.css +20 -0
- package/dist/es/Atomic/FormElements/InputColor/InputColor.js +52 -0
- package/dist/es/Atomic/FormElements/InputColor/InputColor.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputColor/InputColor.styles.css +17 -0
- package/dist/es/Atomic/FormElements/InputColor/index.js +7 -0
- package/dist/es/Atomic/FormElements/InputColor/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.js +133 -0
- package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.styles.css +13 -0
- package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.js +215 -0
- package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.styles.css +594 -0
- package/dist/es/Atomic/FormElements/InputDateRange/components/DateInput.js +45 -0
- package/dist/es/Atomic/FormElements/InputDateRange/components/DateInput.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputDateRange/components/Datepicker.js +422 -0
- package/dist/es/Atomic/FormElements/InputDateRange/components/Datepicker.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputDateRange/components/OpenedPart.js +171 -0
- package/dist/es/Atomic/FormElements/InputDateRange/components/OpenedPart.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputDateRange/components/SelectItem.js +22 -0
- package/dist/es/Atomic/FormElements/InputDateRange/components/SelectItem.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputDateRange/dependencies.js +166 -0
- package/dist/es/Atomic/FormElements/InputDateRange/dependencies.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputLink/InputLink.js +64 -0
- package/dist/es/Atomic/FormElements/InputLink/InputLink.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputLink/InputLink.styles.css +46 -0
- package/dist/es/Atomic/FormElements/InputLink/index.js +7 -0
- package/dist/es/Atomic/FormElements/InputLink/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputMask/InputMask.js +7 -0
- package/dist/es/Atomic/FormElements/InputMask/InputMask.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputMask3/InputMask3.js +486 -0
- package/dist/es/Atomic/FormElements/InputMask3/InputMask3.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputMask3/InputMask3.styles.css +133 -0
- package/dist/es/Atomic/FormElements/InputMask3/config.js +18 -0
- package/dist/es/Atomic/FormElements/InputMask3/config.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputMask3/functions.js +43 -0
- package/dist/es/Atomic/FormElements/InputMask3/functions.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.js +74 -0
- package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.styles.css +88 -0
- package/dist/es/Atomic/FormElements/InputWithAction/index.js +7 -0
- package/dist/es/Atomic/FormElements/InputWithAction/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputsRow/InputsRow.js +118 -0
- package/dist/es/Atomic/FormElements/InputsRow/InputsRow.js.map +1 -0
- package/dist/es/Atomic/FormElements/InputsRow/InputsRow.styles.css +32 -0
- package/dist/es/Atomic/FormElements/InputsRow/index.js +7 -0
- package/dist/es/Atomic/FormElements/InputsRow/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/Label/Label.js +73 -0
- package/dist/es/Atomic/FormElements/Label/Label.js.map +1 -0
- package/dist/es/Atomic/FormElements/Label/Label.styles.css +30 -0
- package/dist/es/Atomic/FormElements/Label/index.js +7 -0
- package/dist/es/Atomic/FormElements/Label/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.js +339 -0
- package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.js.map +1 -0
- package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.styles.css +74 -0
- package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.js +40 -0
- package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.styles.css +14 -0
- package/dist/es/Atomic/FormElements/NumericInput/NumericInput.js +204 -0
- package/dist/es/Atomic/FormElements/NumericInput/NumericInput.js.map +1 -0
- package/dist/es/Atomic/FormElements/NumericInput/NumericInput.styles.css +129 -0
- package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.js +44 -0
- package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.styles.css +20 -0
- package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +57 -0
- package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js.map +1 -0
- package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.styles.css +23 -0
- package/dist/es/Atomic/FormElements/RadioInput/RadioInput.js +35 -0
- package/dist/es/Atomic/FormElements/RadioInput/RadioInput.js.map +1 -0
- package/dist/es/Atomic/FormElements/RadioInput/RadioInput.styles.css +70 -0
- package/dist/es/Atomic/FormElements/RadioInput/index.js +7 -0
- package/dist/es/Atomic/FormElements/RadioInput/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +42 -0
- package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js.map +1 -0
- package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.styles.css +123 -0
- package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.js +98 -0
- package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.styles.css +103 -0
- package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.js +128 -0
- package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.styles.css +50 -0
- package/dist/es/Atomic/FormElements/RangeInputs/index.js +7 -0
- package/dist/es/Atomic/FormElements/RangeInputs/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeList/RangeList.js +147 -0
- package/dist/es/Atomic/FormElements/RangeList/RangeList.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeList/RangeList.styles.css +143 -0
- package/dist/es/Atomic/FormElements/RangeList/index.js +7 -0
- package/dist/es/Atomic/FormElements/RangeList/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeList/partial/RangeListRow.js +40 -0
- package/dist/es/Atomic/FormElements/RangeList/partial/RangeListRow.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.js +342 -0
- package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.styles.css +134 -0
- package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.interface.js +23 -0
- package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.interface.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.js +590 -0
- package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.js.map +1 -0
- package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.styles.css +360 -0
- package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.js +29 -0
- package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.styles.css +14 -0
- package/dist/es/Atomic/FormElements/Switcher/Switcher.js +36 -0
- package/dist/es/Atomic/FormElements/Switcher/Switcher.js.map +1 -0
- package/dist/es/Atomic/FormElements/Switcher/Switcher.styles.css +83 -0
- package/dist/es/Atomic/FormElements/Switcher/index.js +7 -0
- package/dist/es/Atomic/FormElements/Switcher/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +36 -0
- package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.styles.css +21 -0
- package/dist/es/Atomic/FormElements/SwitcherHide/SwitcherHide.js +31 -0
- package/dist/es/Atomic/FormElements/SwitcherHide/SwitcherHide.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherHide/index.js +7 -0
- package/dist/es/Atomic/FormElements/SwitcherHide/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +43 -0
- package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.styles.css +22 -0
- package/dist/es/Atomic/FormElements/SwitcherRadio/index.js +7 -0
- package/dist/es/Atomic/FormElements/SwitcherRadio/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherRange/SwitcherRange.js +33 -0
- package/dist/es/Atomic/FormElements/SwitcherRange/SwitcherRange.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherRange/index.js +7 -0
- package/dist/es/Atomic/FormElements/SwitcherRange/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +56 -0
- package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.styles.css +0 -0
- package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +99 -0
- package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.styles.css +55 -0
- package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +49 -0
- package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js.map +1 -0
- package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.styles.css +38 -0
- package/dist/es/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +82 -0
- package/dist/es/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js.map +1 -0
- package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.js +800 -0
- package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.js.map +1 -0
- package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.styles.css +707 -0
- package/dist/es/Atomic/FormElements/Text/Text.js +67 -0
- package/dist/es/Atomic/FormElements/Text/Text.js.map +1 -0
- package/dist/es/Atomic/FormElements/Text/Text.styles.css +12 -0
- package/dist/es/Atomic/FormElements/Text/index.js +7 -0
- package/dist/es/Atomic/FormElements/Text/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.js +35 -0
- package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.js.map +1 -0
- package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.styles.css +84 -0
- package/dist/es/Atomic/FormElements/Textarea/Textarea.js +73 -0
- package/dist/es/Atomic/FormElements/Textarea/Textarea.js.map +1 -0
- package/dist/es/Atomic/FormElements/Textarea/Textarea.styles.css +102 -0
- package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +124 -0
- package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js.map +1 -0
- package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.styles.css +46 -0
- package/dist/es/Atomic/FormElements/TieredCheckboxes/index.js +7 -0
- package/dist/es/Atomic/FormElements/TieredCheckboxes/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +36 -0
- package/dist/es/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js.map +1 -0
- package/dist/es/Atomic/FormElements/TimeRange/TimeRange.js +55 -0
- package/dist/es/Atomic/FormElements/TimeRange/TimeRange.js.map +1 -0
- package/dist/es/Atomic/FormElements/TimeRange/TimeRange.styles.css +18 -0
- package/dist/es/Atomic/FormElements/TimeRange/index.js +7 -0
- package/dist/es/Atomic/FormElements/TimeRange/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/UserContacts/UserContacts.js +115 -0
- package/dist/es/Atomic/FormElements/UserContacts/UserContacts.js.map +1 -0
- package/dist/es/Atomic/FormElements/UserContacts/UserContacts.styles.css +15 -0
- package/dist/es/Atomic/FormElements/UserContacts/index.js +7 -0
- package/dist/es/Atomic/FormElements/UserContacts/index.js.map +1 -0
- package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +52 -0
- package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js.map +1 -0
- package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.styles.css +213 -0
- package/dist/es/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +61 -0
- package/dist/es/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js.map +1 -0
- package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +62 -0
- package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js.map +1 -0
- package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.styles.css +70 -0
- package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +82 -0
- package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js.map +1 -0
- package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.styles.css +70 -0
- package/dist/es/Atomic/Layout/Header/Header.js +87 -0
- package/dist/es/Atomic/Layout/Header/Header.js.map +1 -0
- package/dist/es/Atomic/Layout/Header/Header.styles.css +82 -0
- package/dist/es/Atomic/Layout/MainMenu/MainMenu.js +134 -0
- package/dist/es/Atomic/Layout/MainMenu/MainMenu.js.map +1 -0
- package/dist/es/Atomic/Layout/MainMenu/MainMenu.styles.css +205 -0
- package/dist/es/Atomic/Layout/Spinner/Spinner.js +32 -0
- package/dist/es/Atomic/Layout/Spinner/Spinner.js.map +1 -0
- package/dist/es/Atomic/Layout/Spinner/Spinner.styles.css +82 -0
- package/dist/es/Atomic/Layout/Spinner/index.js +7 -0
- package/dist/es/Atomic/Layout/Spinner/index.js.map +1 -0
- package/dist/es/Atomic/UI/Accordion/Accordion.js +48 -0
- package/dist/es/Atomic/UI/Accordion/Accordion.js.map +1 -0
- package/dist/es/Atomic/UI/Accordion/Accordion.styles.css +133 -0
- package/dist/es/Atomic/UI/Accordion/AccordionItem.js +110 -0
- package/dist/es/Atomic/UI/Accordion/AccordionItem.js.map +1 -0
- package/dist/es/Atomic/UI/Accordion/index.js +7 -0
- package/dist/es/Atomic/UI/Accordion/index.js.map +1 -0
- package/dist/es/Atomic/UI/AccordionTable/AccordionTable.js +167 -0
- package/dist/es/Atomic/UI/AccordionTable/AccordionTable.js.map +1 -0
- package/dist/es/Atomic/UI/AccordionTable/AccordionTable.styles.css +228 -0
- package/dist/es/Atomic/UI/AccordionText/AccordionText.js +47 -0
- package/dist/es/Atomic/UI/AccordionText/AccordionText.js.map +1 -0
- package/dist/es/Atomic/UI/AccordionText/AccordionText.styles.css +48 -0
- package/dist/es/Atomic/UI/AdvancedTag/AdvTag.js +148 -0
- package/dist/es/Atomic/UI/AdvancedTag/AdvTag.js.map +1 -0
- package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.js +40 -0
- package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.js.map +1 -0
- package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.styles.css +106 -0
- package/dist/es/Atomic/UI/AdvancedTag/index.js +8 -0
- package/dist/es/Atomic/UI/AdvancedTag/index.js.map +1 -0
- package/dist/es/Atomic/UI/Alert/Alert.js +54 -0
- package/dist/es/Atomic/UI/Alert/Alert.js.map +1 -0
- package/dist/es/Atomic/UI/Alert/Alert.styles.css +65 -0
- package/dist/es/Atomic/UI/Alert/index.js +7 -0
- package/dist/es/Atomic/UI/Alert/index.js.map +1 -0
- package/dist/es/Atomic/UI/Arrow/Arrow.js +107 -0
- package/dist/es/Atomic/UI/Arrow/Arrow.js.map +1 -0
- package/dist/es/Atomic/UI/Arrow/Arrow.styles.css +14 -0
- package/dist/es/Atomic/UI/Box/Box.js +33 -0
- package/dist/es/Atomic/UI/Box/Box.js.map +1 -0
- package/dist/es/Atomic/UI/Box/Box.styles.css +62 -0
- package/dist/es/Atomic/UI/Button/Button.js +35 -0
- package/dist/es/Atomic/UI/Button/Button.js.map +1 -0
- package/dist/es/Atomic/UI/Button/Button.styles.css +124 -0
- package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.js +49 -0
- package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.js.map +1 -0
- package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.styles.css +7 -0
- package/dist/es/Atomic/UI/ButtonsBar/index.js +7 -0
- package/dist/es/Atomic/UI/ButtonsBar/index.js.map +1 -0
- package/dist/es/Atomic/UI/Chart/Chart.js +96 -0
- package/dist/es/Atomic/UI/Chart/Chart.js.map +1 -0
- package/dist/es/Atomic/UI/Chart/Chart.styles.css +45 -0
- package/dist/es/Atomic/UI/Chart/index.js +7 -0
- package/dist/es/Atomic/UI/Chart/index.js.map +1 -0
- package/dist/es/Atomic/UI/Chart/partial/Chart.constants.js +89 -0
- package/dist/es/Atomic/UI/Chart/partial/Chart.constants.js.map +1 -0
- package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +80 -0
- package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js.map +1 -0
- package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.styles.css +16 -0
- package/dist/es/Atomic/UI/Chart/partial/datasetSetters.js +78 -0
- package/dist/es/Atomic/UI/Chart/partial/datasetSetters.js.map +1 -0
- package/dist/es/Atomic/UI/Chart/partial/optionsConstructor.js +259 -0
- package/dist/es/Atomic/UI/Chart/partial/optionsConstructor.js.map +1 -0
- package/dist/es/Atomic/UI/Chart/partial/optionsSetters.js +35 -0
- package/dist/es/Atomic/UI/Chart/partial/optionsSetters.js.map +1 -0
- package/dist/es/Atomic/UI/Chart/partial/utils.js +37 -0
- package/dist/es/Atomic/UI/Chart/partial/utils.js.map +1 -0
- package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.js +85 -0
- package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.js.map +1 -0
- package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.styles.css +31 -0
- package/dist/es/Atomic/UI/DateTime/DateTime.js +45 -0
- package/dist/es/Atomic/UI/DateTime/DateTime.js.map +1 -0
- package/dist/es/Atomic/UI/DateTime/DateTime.styles.css +33 -0
- package/dist/es/Atomic/UI/DebugContainer/DebugContainer.js +45 -0
- package/dist/es/Atomic/UI/DebugContainer/DebugContainer.js.map +1 -0
- package/dist/es/Atomic/UI/DebugContainer/DebugContainer.styles.css +32 -0
- package/dist/es/Atomic/UI/DebugContainer/useDebugContainer.js +16 -0
- package/dist/es/Atomic/UI/DebugContainer/useDebugContainer.js.map +1 -0
- package/dist/es/Atomic/UI/DoubleString/DoubleString.js +77 -0
- package/dist/es/Atomic/UI/DoubleString/DoubleString.js.map +1 -0
- package/dist/es/Atomic/UI/DoubleString/DoubleString.styles.css +42 -0
- package/dist/es/Atomic/UI/DoubleString/index.js +7 -0
- package/dist/es/Atomic/UI/DoubleString/index.js.map +1 -0
- package/dist/es/Atomic/UI/Hint/Hint.js +218 -0
- package/dist/es/Atomic/UI/Hint/Hint.js.map +1 -0
- package/dist/es/Atomic/UI/Hint/Hint.styles.css +107 -0
- package/dist/es/Atomic/UI/Hint/index.js +7 -0
- package/dist/es/Atomic/UI/Hint/index.js.map +1 -0
- package/dist/es/Atomic/UI/Hint/partials/_constants.js +11 -0
- package/dist/es/Atomic/UI/Hint/partials/_constants.js.map +1 -0
- package/dist/es/Atomic/UI/Hint/partials/_utils.js +35 -0
- package/dist/es/Atomic/UI/Hint/partials/_utils.js.map +1 -0
- package/dist/es/Atomic/UI/Modal/Modal.js +178 -0
- package/dist/es/Atomic/UI/Modal/Modal.js.map +1 -0
- package/dist/es/Atomic/UI/Modal/Modal.styles.css +337 -0
- package/dist/es/Atomic/UI/Modal/ModalHOC.js +64 -0
- package/dist/es/Atomic/UI/Modal/ModalHOC.js.map +1 -0
- package/dist/es/Atomic/UI/Modal/ModalMobile.styles.css +60 -0
- package/dist/es/Atomic/UI/Modal/index.js +13 -0
- package/dist/es/Atomic/UI/Modal/index.js.map +1 -0
- package/dist/es/Atomic/UI/Modal/partials/ModalFooter.js +19 -0
- package/dist/es/Atomic/UI/Modal/partials/ModalFooter.js.map +1 -0
- package/dist/es/Atomic/UI/Modal/partials/ModalTitle.js +43 -0
- package/dist/es/Atomic/UI/Modal/partials/ModalTitle.js.map +1 -0
- package/dist/es/Atomic/UI/Modal/partials/_constants.js +26 -0
- package/dist/es/Atomic/UI/Modal/partials/_constants.js.map +1 -0
- package/dist/es/Atomic/UI/Modal/partials/_utils.js +45 -0
- package/dist/es/Atomic/UI/Modal/partials/_utils.js.map +1 -0
- package/dist/es/Atomic/UI/Modal/partials/useMobileModal.js +141 -0
- package/dist/es/Atomic/UI/Modal/partials/useMobileModal.js.map +1 -0
- package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.js +59 -0
- package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.js.map +1 -0
- package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.styles.css +110 -0
- package/dist/es/Atomic/UI/MonoAccordion/index.js +7 -0
- package/dist/es/Atomic/UI/MonoAccordion/index.js.map +1 -0
- package/dist/es/Atomic/UI/NavLine/NavLine.js +209 -0
- package/dist/es/Atomic/UI/NavLine/NavLine.js.map +1 -0
- package/dist/es/Atomic/UI/NavLine/NavLine.styles.css +187 -0
- package/dist/es/Atomic/UI/NavLine/index.js +7 -0
- package/dist/es/Atomic/UI/NavLine/index.js.map +1 -0
- package/dist/es/Atomic/UI/PageTitle/PageTitle.js +49 -0
- package/dist/es/Atomic/UI/PageTitle/PageTitle.js.map +1 -0
- package/dist/es/Atomic/UI/PageTitle/PageTitle.styles.css +89 -0
- package/dist/es/Atomic/UI/PageTitle/index.js +7 -0
- package/dist/es/Atomic/UI/PageTitle/index.js.map +1 -0
- package/dist/es/Atomic/UI/PieChart/PieChart.js +41 -0
- package/dist/es/Atomic/UI/PieChart/PieChart.js.map +1 -0
- package/dist/es/Atomic/UI/PieChart/PieChart.styles.css +44 -0
- package/dist/es/Atomic/UI/Price/Price.js +20 -0
- package/dist/es/Atomic/UI/Price/Price.js.map +1 -0
- package/dist/es/Atomic/UI/Price/index.js +7 -0
- package/dist/es/Atomic/UI/Price/index.js.map +1 -0
- package/dist/es/Atomic/UI/PriceRange/PriceRange.js +33 -0
- package/dist/es/Atomic/UI/PriceRange/PriceRange.js.map +1 -0
- package/dist/es/Atomic/UI/PriceRange/index.js +7 -0
- package/dist/es/Atomic/UI/PriceRange/index.js.map +1 -0
- package/dist/es/Atomic/UI/ProgressLine/ProgressLine.js +74 -0
- package/dist/es/Atomic/UI/ProgressLine/ProgressLine.js.map +1 -0
- package/dist/es/Atomic/UI/ProgressLine/ProgressLine.styles.css +243 -0
- package/dist/es/Atomic/UI/ProgressLine/index.js +7 -0
- package/dist/es/Atomic/UI/ProgressLine/index.js.map +1 -0
- package/dist/es/Atomic/UI/Status/Status.js +48 -0
- package/dist/es/Atomic/UI/Status/Status.js.map +1 -0
- package/dist/es/Atomic/UI/Status/Status.styles.css +98 -0
- package/dist/es/Atomic/UI/Status/index.js +7 -0
- package/dist/es/Atomic/UI/Status/index.js.map +1 -0
- package/dist/es/Atomic/UI/Table/Partials/TdCell.js +67 -0
- package/dist/es/Atomic/UI/Table/Partials/TdCell.js.map +1 -0
- package/dist/es/Atomic/UI/Table/Partials/TdHeader.js +43 -0
- package/dist/es/Atomic/UI/Table/Partials/TdHeader.js.map +1 -0
- package/dist/es/Atomic/UI/Table/Partials/TdRow.js +56 -0
- package/dist/es/Atomic/UI/Table/Partials/TdRow.js.map +1 -0
- package/dist/es/Atomic/UI/Table/Table.js +36 -0
- package/dist/es/Atomic/UI/Table/Table.js.map +1 -0
- package/dist/es/Atomic/UI/Table/Table.styles.css +63 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdActions.js +56 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdActions.js.map +1 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdPriority.js +29 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdPriority.js.map +1 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdRange.js +14 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdRange.js.map +1 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdTypes.styles.css +29 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdWeight.js +43 -0
- package/dist/es/Atomic/UI/Table/TdTypes/TdWeight.js.map +1 -0
- package/dist/es/Atomic/UI/Tag/Tag.js +110 -0
- package/dist/es/Atomic/UI/Tag/Tag.js.map +1 -0
- package/dist/es/Atomic/UI/Tag/Tag.styles.css +148 -0
- package/dist/es/Atomic/UI/Tag/index.js +7 -0
- package/dist/es/Atomic/UI/Tag/index.js.map +1 -0
- package/dist/es/Atomic/UI/TagList/TagList.js +152 -0
- package/dist/es/Atomic/UI/TagList/TagList.js.map +1 -0
- package/dist/es/Atomic/UI/TagList/TagList.styles.css +59 -0
- package/dist/es/Atomic/UI/UserBox/UserBox.js +49 -0
- package/dist/es/Atomic/UI/UserBox/UserBox.js.map +1 -0
- package/dist/es/Atomic/UI/UserBox/UserBox.styles.css +64 -0
- package/dist/es/Atomic/UI/UserBox/index.js +7 -0
- package/dist/es/Atomic/UI/UserBox/index.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/constructor.js +12 -0
- package/dist/es/Atomic/UI/WizardStepper/constructor.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/index.js +7 -0
- package/dist/es/Atomic/UI/WizardStepper/index.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +52 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.styles.css +23 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/index.js +7 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/index.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.styles.css +60 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +43 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.styles.css +64 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +7 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/index.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/icons.js +124 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/icons.js.map +1 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/index.js +7 -0
- package/dist/es/Atomic/UI/WizardStepper/ui/index.js.map +1 -0
- package/dist/es/Classes/AbortableFetch.js +271 -0
- package/dist/es/Classes/AbortableFetch.js.map +1 -0
- package/dist/es/Classes/AnimatedHandler.js +27 -0
- package/dist/es/Classes/AnimatedHandler.js.map +1 -0
- package/dist/es/Classes/RESTAPI/index.js +112 -0
- package/dist/es/Classes/RESTAPI/index.js.map +1 -0
- package/dist/es/Classes/RESTAPI/partials/AbortableFetch.js +323 -0
- package/dist/es/Classes/RESTAPI/partials/AbortableFetch.js.map +1 -0
- package/dist/es/Classes/RESTAPI/partials/ApiBase.js +38 -0
- package/dist/es/Classes/RESTAPI/partials/ApiBase.js.map +1 -0
- package/dist/es/Classes/RESTAPI/partials/ApiRequestCreators.js +151 -0
- package/dist/es/Classes/RESTAPI/partials/ApiRequestCreators.js.map +1 -0
- package/dist/es/Classes/RESTAPI/partials/ApiUtils.js +142 -0
- package/dist/es/Classes/RESTAPI/partials/ApiUtils.js.map +1 -0
- package/dist/es/Classes/RESTAPI/partials/CredentialsProcessing.js +212 -0
- package/dist/es/Classes/RESTAPI/partials/CredentialsProcessing.js.map +1 -0
- package/dist/es/Classes/RESTAPI/partials/Utils.js +70 -0
- package/dist/es/Classes/RESTAPI/partials/Utils.js.map +1 -0
- package/dist/es/Classes/RESTAPI/partials/_utils.js +144 -0
- package/dist/es/Classes/RESTAPI/partials/_utils.js.map +1 -0
- package/dist/es/Classes/RESTAPI/partials/sse.js +127 -0
- package/dist/es/Classes/RESTAPI/partials/sse.js.map +1 -0
- package/dist/es/Constants/index.constants.js +78 -0
- package/dist/es/Constants/index.constants.js.map +1 -0
- package/dist/es/Functions/Portal.js +21 -0
- package/dist/es/Functions/Portal.js.map +1 -0
- package/dist/es/Functions/customEventListener.js +67 -0
- package/dist/es/Functions/customEventListener.js.map +1 -0
- package/dist/es/Functions/dateTime.js +113 -0
- package/dist/es/Functions/dateTime.js.map +1 -0
- package/dist/es/Functions/fieldValueFormatters.js +193 -0
- package/dist/es/Functions/fieldValueFormatters.js.map +1 -0
- package/dist/es/Functions/guards/assertions.js +265 -0
- package/dist/es/Functions/guards/assertions.js.map +1 -0
- package/dist/es/Functions/guards/safeValue.js +66 -0
- package/dist/es/Functions/guards/safeValue.js.map +1 -0
- package/dist/es/Functions/guards/typeGuards.js +397 -0
- package/dist/es/Functions/guards/typeGuards.js.map +1 -0
- package/dist/es/Functions/hooks/useFormFieldsChangesManager.js +84 -0
- package/dist/es/Functions/hooks/useFormFieldsChangesManager.js.map +1 -0
- package/dist/es/Functions/locale/createTranslator.js +23 -0
- package/dist/es/Functions/locale/createTranslator.js.map +1 -0
- package/dist/es/Functions/operations.js +88 -0
- package/dist/es/Functions/operations.js.map +1 -0
- package/dist/es/Functions/presets/inputMaskPresets.js +82 -0
- package/dist/es/Functions/presets/inputMaskPresets.js.map +1 -0
- package/dist/es/Functions/presets/inputPresets.js +50 -0
- package/dist/es/Functions/presets/inputPresets.js.map +1 -0
- package/dist/es/Functions/presets/mobileKeyboardTypesPresets.js +11 -0
- package/dist/es/Functions/presets/mobileKeyboardTypesPresets.js.map +1 -0
- package/dist/es/Functions/sdk/runtime-sdk/client.js +161 -0
- package/dist/es/Functions/sdk/runtime-sdk/client.js.map +1 -0
- package/dist/es/Functions/sdk/runtime-sdk/config.js +77 -0
- package/dist/es/Functions/sdk/runtime-sdk/config.js.map +1 -0
- package/dist/es/Functions/sdk/runtime-sdk/queue.js +131 -0
- package/dist/es/Functions/sdk/runtime-sdk/queue.js.map +1 -0
- package/dist/es/Functions/sdk/runtime-sdk/transport.js +114 -0
- package/dist/es/Functions/sdk/runtime-sdk/transport.js.map +1 -0
- package/dist/es/Functions/useBodyScrollLock.js +15 -0
- package/dist/es/Functions/useBodyScrollLock.js.map +1 -0
- package/dist/es/Functions/useClickOutside.js +17 -0
- package/dist/es/Functions/useClickOutside.js.map +1 -0
- package/dist/es/Functions/useDebounce.js +18 -0
- package/dist/es/Functions/useDebounce.js.map +1 -0
- package/dist/es/Functions/useFieldFocus.js +62 -0
- package/dist/es/Functions/useFieldFocus.js.map +1 -0
- package/dist/es/Functions/useFormTools/form-drivers/ArrayWithObjects.js +29 -0
- package/dist/es/Functions/useFormTools/form-drivers/ArrayWithObjects.js.map +1 -0
- package/dist/es/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +95 -0
- package/dist/es/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js.map +1 -0
- package/dist/es/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +49 -0
- package/dist/es/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js.map +1 -0
- package/dist/es/Functions/useFormTools/functions/General.js +87 -0
- package/dist/es/Functions/useFormTools/functions/General.js.map +1 -0
- package/dist/es/Functions/useFormTools/functions/RenderFields.js +70 -0
- package/dist/es/Functions/useFormTools/functions/RenderFields.js.map +1 -0
- package/dist/es/Functions/useFormTools/index.js +464 -0
- package/dist/es/Functions/useFormTools/index.js.map +1 -0
- package/dist/es/Functions/useInputHighlightError.js +50 -0
- package/dist/es/Functions/useInputHighlightError.js.map +1 -0
- package/dist/es/Functions/useIsMobile/index.js +7 -0
- package/dist/es/Functions/useIsMobile/index.js.map +1 -0
- package/dist/es/Functions/useIsMobile/useIsMobile.js +32 -0
- package/dist/es/Functions/useIsMobile/useIsMobile.js.map +1 -0
- package/dist/es/Functions/useKeyPress/useHandleKeyPress.js +38 -0
- package/dist/es/Functions/useKeyPress/useHandleKeyPress.js.map +1 -0
- package/dist/es/Functions/useKeyPress/useKeyPress.js +54 -0
- package/dist/es/Functions/useKeyPress/useKeyPress.js.map +1 -0
- package/dist/es/Functions/useLocalStorage.js +28 -0
- package/dist/es/Functions/useLocalStorage.js.map +1 -0
- package/dist/es/Functions/useLocationParams.js +27 -0
- package/dist/es/Functions/useLocationParams.js.map +1 -0
- package/dist/es/Functions/useMediaQuery.js +14 -0
- package/dist/es/Functions/useMediaQuery.js.map +1 -0
- package/dist/es/Functions/useMetaInfo.js +33 -0
- package/dist/es/Functions/useMetaInfo.js.map +1 -0
- package/dist/es/Functions/useMouseUpOutside.js +17 -0
- package/dist/es/Functions/useMouseUpOutside.js.map +1 -0
- package/dist/es/Functions/useOnlineStatus.js +23 -0
- package/dist/es/Functions/useOnlineStatus.js.map +1 -0
- package/dist/es/Functions/usePasswordChecker.js +116 -0
- package/dist/es/Functions/usePasswordChecker.js.map +1 -0
- package/dist/es/Functions/usePrevious.js +13 -0
- package/dist/es/Functions/usePrevious.js.map +1 -0
- package/dist/es/Functions/useResize.js +24 -0
- package/dist/es/Functions/useResize.js.map +1 -0
- package/dist/es/Functions/useScrollTo.js +17 -0
- package/dist/es/Functions/useScrollTo.js.map +1 -0
- package/dist/es/Functions/useToggle.js +15 -0
- package/dist/es/Functions/useToggle.js.map +1 -0
- package/dist/es/Functions/utils/disableDefaultBehavior/disableDefaultBehavior.js +9 -0
- package/dist/es/Functions/utils/disableDefaultBehavior/disableDefaultBehavior.js.map +1 -0
- package/dist/es/Functions/utils/getLimitedMask/getLimitedMask.js +39 -0
- package/dist/es/Functions/utils/getLimitedMask/getLimitedMask.js.map +1 -0
- package/dist/es/Functions/utils.js +288 -0
- package/dist/es/Functions/utils.js.map +1 -0
- package/dist/es/Langs.js +166 -0
- package/dist/es/Langs.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/AffiliateNetworks.js +33 -0
- package/dist/es/Molecular/CustomIcons/components/AffiliateNetworks.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/AlertCircle.js +30 -0
- package/dist/es/Molecular/CustomIcons/components/AlertCircle.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/AppStore.js +34 -0
- package/dist/es/Molecular/CustomIcons/components/AppStore.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Arrow.js +43 -0
- package/dist/es/Molecular/CustomIcons/components/Arrow.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ArrowDown.js +21 -0
- package/dist/es/Molecular/CustomIcons/components/ArrowDown.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ArrowLeft.js +21 -0
- package/dist/es/Molecular/CustomIcons/components/ArrowLeft.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ArrowRight.js +21 -0
- package/dist/es/Molecular/CustomIcons/components/ArrowRight.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ArrowUp.js +21 -0
- package/dist/es/Molecular/CustomIcons/components/ArrowUp.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Bell.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Bell.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Button.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Button.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Campaigns.js +20 -0
- package/dist/es/Molecular/CustomIcons/components/Campaigns.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Check.js +15 -0
- package/dist/es/Molecular/CustomIcons/components/Check.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Check2.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Check2.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronDown.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronDown.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronDownDisabled.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronDownDisabled.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronLeft.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronLeft.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronRight.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronRight.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronUp.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronUp.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronUpDown.js +33 -0
- package/dist/es/Molecular/CustomIcons/components/ChevronUpDown.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Close.js +20 -0
- package/dist/es/Molecular/CustomIcons/components/Close.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/ColumnsOrder.js +53 -0
- package/dist/es/Molecular/CustomIcons/components/ColumnsOrder.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Delete.js +20 -0
- package/dist/es/Molecular/CustomIcons/components/Delete.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Edit.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Edit.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Email.js +36 -0
- package/dist/es/Molecular/CustomIcons/components/Email.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/FinturfLogo.js +33 -0
- package/dist/es/Molecular/CustomIcons/components/FinturfLogo.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/FinturfLogo2.js +41 -0
- package/dist/es/Molecular/CustomIcons/components/FinturfLogo2.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Flows.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Flows.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Gift.js +21 -0
- package/dist/es/Molecular/CustomIcons/components/Gift.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/GoogleAuth.js +34 -0
- package/dist/es/Molecular/CustomIcons/components/GoogleAuth.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/GooglePlay.js +34 -0
- package/dist/es/Molecular/CustomIcons/components/GooglePlay.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/HelpCircle.js +22 -0
- package/dist/es/Molecular/CustomIcons/components/HelpCircle.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/HelpCircle2.js +23 -0
- package/dist/es/Molecular/CustomIcons/components/HelpCircle2.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/HelpCircleFilled.js +22 -0
- package/dist/es/Molecular/CustomIcons/components/HelpCircleFilled.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Home.js +22 -0
- package/dist/es/Molecular/CustomIcons/components/Home.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Home2.js +25 -0
- package/dist/es/Molecular/CustomIcons/components/Home2.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Key.js +24 -0
- package/dist/es/Molecular/CustomIcons/components/Key.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Landers.js +23 -0
- package/dist/es/Molecular/CustomIcons/components/Landers.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Lock.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Lock.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Mail.js +28 -0
- package/dist/es/Molecular/CustomIcons/components/Mail.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Mastercard.js +81 -0
- package/dist/es/Molecular/CustomIcons/components/Mastercard.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Minus.js +34 -0
- package/dist/es/Molecular/CustomIcons/components/Minus.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Offers.js +20 -0
- package/dist/es/Molecular/CustomIcons/components/Offers.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Pause.js +34 -0
- package/dist/es/Molecular/CustomIcons/components/Pause.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/PayPal.js +54 -0
- package/dist/es/Molecular/CustomIcons/components/PayPal.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/PayPalLightLarge.js +39 -0
- package/dist/es/Molecular/CustomIcons/components/PayPalLightLarge.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Phone.js +33 -0
- package/dist/es/Molecular/CustomIcons/components/Phone.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Play.js +34 -0
- package/dist/es/Molecular/CustomIcons/components/Play.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Plus.js +34 -0
- package/dist/es/Molecular/CustomIcons/components/Plus.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Profile.js +24 -0
- package/dist/es/Molecular/CustomIcons/components/Profile.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/QRCode.js +35 -0
- package/dist/es/Molecular/CustomIcons/components/QRCode.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Rectangle.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Rectangle.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Revert.js +22 -0
- package/dist/es/Molecular/CustomIcons/components/Revert.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Star.js +18 -0
- package/dist/es/Molecular/CustomIcons/components/Star.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Star2.js +20 -0
- package/dist/es/Molecular/CustomIcons/components/Star2.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/TrafficSources.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/TrafficSources.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Trash.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Trash.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/TrashRed.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/TrashRed.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Triggers.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/Triggers.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/User.js +21 -0
- package/dist/es/Molecular/CustomIcons/components/User.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/Visa.js +41 -0
- package/dist/es/Molecular/CustomIcons/components/Visa.js.map +1 -0
- package/dist/es/Molecular/CustomIcons/components/X.js +19 -0
- package/dist/es/Molecular/CustomIcons/components/X.js.map +1 -0
- package/dist/es/Molecular/FormElement/FormElement.js +37 -0
- package/dist/es/Molecular/FormElement/FormElement.js.map +1 -0
- package/dist/es/Molecular/FormElement/FormElement.styles.css +21 -0
- package/dist/es/Molecular/FormWithDependOn/FormWithDependOn.js +111 -0
- package/dist/es/Molecular/FormWithDependOn/FormWithDependOn.js.map +1 -0
- package/dist/es/Molecular/FormWithDependOn/partials/_utils.js +33 -0
- package/dist/es/Molecular/FormWithDependOn/partials/_utils.js.map +1 -0
- package/dist/es/Molecular/InputAddress/InputAddress.js +352 -0
- package/dist/es/Molecular/InputAddress/InputAddress.js.map +1 -0
- package/dist/es/Molecular/InputAddress/InputAddress.styles.css +353 -0
- package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.js +355 -0
- package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.js.map +1 -0
- package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.styles.css +358 -0
- package/dist/es/Molecular/InputCustomFetch/lib/hooks/useDebouncedCallback.js +27 -0
- package/dist/es/Molecular/InputCustomFetch/lib/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/es/Molecular/InputCustomFetch/lib/hooks/useFetchWithAbort.js +50 -0
- package/dist/es/Molecular/InputCustomFetch/lib/hooks/useFetchWithAbort.js.map +1 -0
- package/dist/es/Molecular/InputCustomFetch/lib/utils.js +24 -0
- package/dist/es/Molecular/InputCustomFetch/lib/utils.js.map +1 -0
- package/dist/es/Molecular/InputPassword/InputPassword.js +47 -0
- package/dist/es/Molecular/InputPassword/InputPassword.js.map +1 -0
- package/dist/es/Molecular/InputPassword/InputPassword.styles.css +23 -0
- package/dist/es/_virtual/_rolldown/runtime.js +1 -15
- package/dist/es/charts.js +2 -3
- package/dist/es/classes.js +1 -1
- package/dist/es/form.js +68 -93
- package/dist/es/hooks.js +12 -17
- package/dist/es/icons.js +126 -6
- package/dist/es/index.js +145 -70
- package/dist/es/layout.js +3 -3
- package/dist/es/presets.js +6 -6
- package/dist/es/router-ui.js +5 -8
- package/dist/es/sdk.js +3 -1
- package/dist/es/types/index.js +0 -2
- package/dist/es/ui.js +30 -39
- package/dist/es/utils.js +5 -6
- package/package.json +2 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import '../../../styles/base.css';
|
|
2
|
+
import { clone, getBase64, getUniqueFileExtensions } from "../../../Functions/utils.js";
|
|
3
|
+
import FileLoaderLocal from "../FileLoaderLocal/FileLoaderLocal.js";
|
|
4
|
+
import Alert from "../../UI/Alert/Alert.js";
|
|
5
|
+
import './FileLoaderLocalGroup.styles.css';/* empty css */
|
|
6
|
+
import cn from "classnames";
|
|
7
|
+
import { useEffect, useState } from "react";
|
|
8
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { Info } from "react-feather";
|
|
10
|
+
//#region src/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.tsx
|
|
11
|
+
var DEFAULT_LABEL_PREFIX = "Please attach";
|
|
12
|
+
var MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
13
|
+
var FileLoaderLocalGroup = ({ className, groupsArray = [], isSingleGroup, onChange, labelPrefix = DEFAULT_LABEL_PREFIX, testId = "file-loader-local-group" }) => {
|
|
14
|
+
const [groups, setGroups] = useState(clone(groupsArray));
|
|
15
|
+
const getNewFile = (group) => {
|
|
16
|
+
const newId = group.files.at(-1)?.id ?? 1;
|
|
17
|
+
return {
|
|
18
|
+
id: newId,
|
|
19
|
+
value: "",
|
|
20
|
+
base64: "",
|
|
21
|
+
error: "",
|
|
22
|
+
accept: group.accept || ".jpg, .jpeg, .png, .pdf",
|
|
23
|
+
maxItemSizeBytes: group.maxItemSizeBytes ?? MAX_FILE_SIZE,
|
|
24
|
+
isRequired: group?.isRequired || false,
|
|
25
|
+
fieldKey: newId?.toString()
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const generateUniqueFileName = (files, name) => {
|
|
29
|
+
let fileName = name;
|
|
30
|
+
const [nameWithoutExtension, extension] = name.split(/(?=\.[^.]+$)/);
|
|
31
|
+
let count = 1;
|
|
32
|
+
while (files.some((file) => file.value === fileName)) {
|
|
33
|
+
fileName = `${nameWithoutExtension}(${count})${extension}`;
|
|
34
|
+
count += 1;
|
|
35
|
+
}
|
|
36
|
+
return fileName;
|
|
37
|
+
};
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
const mergedGroups = groupsArray?.map((group) => ({
|
|
40
|
+
...group,
|
|
41
|
+
files: [getNewFile(group)]
|
|
42
|
+
}));
|
|
43
|
+
setGroups(mergedGroups);
|
|
44
|
+
}, []);
|
|
45
|
+
const handle = { change: ({ groupId, name, id, error, file }, fileId) => {
|
|
46
|
+
const currentGroup = groups.find((group) => group.groupId === groupId.toString());
|
|
47
|
+
if (!currentGroup) return;
|
|
48
|
+
const files = currentGroup.files;
|
|
49
|
+
const changedField = files.find((item) => Number(item.id) === Number(fileId));
|
|
50
|
+
if (!changedField) return;
|
|
51
|
+
if (error) {
|
|
52
|
+
changedField.value = name;
|
|
53
|
+
changedField.error = error;
|
|
54
|
+
setGroups([...groups]);
|
|
55
|
+
onChange(groups);
|
|
56
|
+
} else if (name && !error) {
|
|
57
|
+
const uniqueFileName = generateUniqueFileName(files, name);
|
|
58
|
+
getBase64(file)?.then((result) => {
|
|
59
|
+
changedField.value = uniqueFileName;
|
|
60
|
+
changedField.base64 = result;
|
|
61
|
+
changedField.error = "";
|
|
62
|
+
const updatedGroups = groups.map((group) => {
|
|
63
|
+
if (group.groupId === groupId.toString()) {
|
|
64
|
+
const newFiles = isSingleGroup ? [...group.files] : group.files.length < 10 ? [...group.files, {
|
|
65
|
+
...getNewFile(group),
|
|
66
|
+
isRequired: group.files.length > 1
|
|
67
|
+
}] : [...group.files];
|
|
68
|
+
return {
|
|
69
|
+
...group,
|
|
70
|
+
files: newFiles
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return group;
|
|
74
|
+
});
|
|
75
|
+
setGroups(updatedGroups);
|
|
76
|
+
onChange(updatedGroups);
|
|
77
|
+
}).catch((e) => console.error(e));
|
|
78
|
+
} else {
|
|
79
|
+
const updatedGroups = groups.map((group) => {
|
|
80
|
+
if (group.groupId === groupId.toString()) {
|
|
81
|
+
const newFiles = isSingleGroup ? [{
|
|
82
|
+
...getNewFile(group),
|
|
83
|
+
value: "",
|
|
84
|
+
base64: ""
|
|
85
|
+
}] : group.files.filter((item) => item.id !== id);
|
|
86
|
+
return {
|
|
87
|
+
...group,
|
|
88
|
+
files: newFiles
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return group;
|
|
92
|
+
});
|
|
93
|
+
setGroups(updatedGroups);
|
|
94
|
+
onChange(updatedGroups);
|
|
95
|
+
}
|
|
96
|
+
} };
|
|
97
|
+
const getUniqueExts = (acceptExts) => getUniqueFileExtensions(acceptExts?.replace(/\./g, ""));
|
|
98
|
+
return /* @__PURE__ */ jsx(Fragment, { children: groups?.map((group) => /* @__PURE__ */ jsxs("div", {
|
|
99
|
+
"data-testid": testId,
|
|
100
|
+
className: cn("file-loader-local-groups", className),
|
|
101
|
+
children: [
|
|
102
|
+
/* @__PURE__ */ jsx("span", {
|
|
103
|
+
className: "file-loader-local-groups__label",
|
|
104
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
105
|
+
className: "file-loader-local-groups__label-text",
|
|
106
|
+
children: [
|
|
107
|
+
labelPrefix,
|
|
108
|
+
" ",
|
|
109
|
+
group?.groupTitleDescription,
|
|
110
|
+
" ",
|
|
111
|
+
/* @__PURE__ */ jsxs("span", {
|
|
112
|
+
className: "file-loader-local-groups__label-extension",
|
|
113
|
+
children: [
|
|
114
|
+
"(",
|
|
115
|
+
getUniqueExts(group?.accept),
|
|
116
|
+
"):"
|
|
117
|
+
]
|
|
118
|
+
})
|
|
119
|
+
]
|
|
120
|
+
})
|
|
121
|
+
}),
|
|
122
|
+
group?.alertText && /* @__PURE__ */ jsx(Alert, {
|
|
123
|
+
className: "file-loader-local-groups__alert",
|
|
124
|
+
noDismiss: true,
|
|
125
|
+
icon: /* @__PURE__ */ jsx(Info, {}),
|
|
126
|
+
message: group?.alertText
|
|
127
|
+
}),
|
|
128
|
+
/* @__PURE__ */ jsx("div", {
|
|
129
|
+
className: "file-loader-local-groups__item",
|
|
130
|
+
children: group?.files?.map((file, index) => /* @__PURE__ */ jsx(FileLoaderLocal, {
|
|
131
|
+
groupId: group?.groupId,
|
|
132
|
+
fieldKey: `${file.fieldKey}:${group?.groupId}:${index}`,
|
|
133
|
+
id: file?.id || index,
|
|
134
|
+
error: file?.error,
|
|
135
|
+
label: "Upload document",
|
|
136
|
+
accept: file?.accept,
|
|
137
|
+
value: file?.value,
|
|
138
|
+
maxItemSizeBytes: file?.maxItemSizeBytes,
|
|
139
|
+
onChange: (value) => handle.change(value, file?.id),
|
|
140
|
+
isRequired: group.files?.length <= 1 || false,
|
|
141
|
+
isNoTrashIcon: group.files?.length <= 1 && !isSingleGroup
|
|
142
|
+
}, file?.id || index))
|
|
143
|
+
})
|
|
144
|
+
]
|
|
145
|
+
}, group.groupId)) });
|
|
146
|
+
};
|
|
147
|
+
//#endregion
|
|
148
|
+
export { FileLoaderLocalGroup as default };
|
|
149
|
+
|
|
150
|
+
//# sourceMappingURL=FileLoaderLocalGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileLoaderLocalGroup.js","names":[],"sources":["../../../../../src/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.tsx"],"sourcesContent":["import type { FileGroup, FileItem, FileLoaderLocalGroupProps } from './FileLoaderLocalGroup.interface';\nimport cn from 'classnames';\nimport React, { useEffect, useState } from 'react';\n\nimport { Info } from 'react-feather';\nimport {\n clone,\n getBase64,\n getUniqueFileExtensions,\n} from '../../../Functions/utils';\nimport Alert from '../../UI/Alert/Alert';\n\nimport FileLoaderLocal from '../FileLoaderLocal/FileLoaderLocal';\n\nimport './FileLoaderLocalGroup.scss';\n\nconst DEFAULT_LABEL_PREFIX = 'Please attach';\nconst MAX_FILE_SIZE = 10 * 1024 * 1024;\n\nconst FileLoaderLocalGroup: React.FC<FileLoaderLocalGroupProps> = ({\n className,\n groupsArray = [],\n isSingleGroup,\n onChange,\n labelPrefix = DEFAULT_LABEL_PREFIX,\n testId = 'file-loader-local-group',\n}) => {\n const [groups, setGroups] = useState<FileGroup[]>(clone(groupsArray));\n\n const getNewFile = (group: FileGroup): FileItem => {\n const newId = group.files.at(-1)?.id ?? 0 + 1;\n return {\n id: newId,\n value: '',\n base64: '',\n error: '',\n accept: group.accept || '.jpg, .jpeg, .png, .pdf',\n maxItemSizeBytes: group.maxItemSizeBytes ?? MAX_FILE_SIZE,\n isRequired: group?.isRequired || false,\n fieldKey: newId?.toString(),\n };\n };\n\n const generateUniqueFileName = (files: FileItem[], name: string): string => {\n let fileName = name;\n const [nameWithoutExtension, extension] = name.split(/(?=\\.[^.]+$)/);\n let count = 1;\n\n while (files.some(file => file.value === fileName)) {\n fileName = `${nameWithoutExtension}(${count})${extension}`;\n count += 1;\n }\n\n return fileName;\n };\n\n useEffect(() => {\n const mergedGroups = groupsArray?.map(group => ({\n ...group,\n files: [getNewFile(group)],\n }));\n setGroups(mergedGroups);\n }, []);\n\n const handle = {\n change: ({ groupId, name, id, error, file }: any, fileId: number | string) => {\n const currentGroup = groups.find(group => group.groupId === groupId.toString());\n if (!currentGroup) return;\n\n const files = currentGroup.files;\n const changedField = files.find(item => Number(item.id) === Number(fileId));\n if (!changedField) return;\n\n if (error) {\n changedField.value = name;\n changedField.error = error;\n setGroups([...groups]);\n onChange(groups);\n }\n else if (name && !error) {\n const uniqueFileName = generateUniqueFileName(files, name);\n getBase64(file)\n ?.then((result) => {\n changedField.value = uniqueFileName;\n changedField.base64 = result;\n changedField.error = '';\n\n const updatedGroups = groups.map((group) => {\n if (group.groupId === groupId.toString()) {\n const newFiles = isSingleGroup\n ? [...group.files]\n : group.files.length < 10\n ? [\n ...group.files,\n {\n ...getNewFile(group),\n isRequired: group.files.length > 1,\n },\n ]\n : [...group.files];\n\n return {\n ...group,\n files: newFiles,\n };\n }\n return group;\n });\n\n setGroups(updatedGroups);\n onChange(updatedGroups);\n })\n .catch(e => console.error(e));\n }\n else {\n const updatedGroups = groups.map((group) => {\n if (group.groupId === groupId.toString()) {\n const newFiles = isSingleGroup\n ? [{ ...getNewFile(group), value: '', base64: '' }]\n : group.files.filter(item => item.id !== id);\n return {\n ...group,\n files: newFiles,\n };\n }\n return group;\n });\n setGroups(updatedGroups);\n onChange(updatedGroups);\n }\n },\n };\n\n const getUniqueExts = (acceptExts: string): string =>\n getUniqueFileExtensions(acceptExts?.replace(/\\./g, ''));\n\n return (\n <>\n {groups?.map(group => (\n <div\n data-testid={testId}\n key={group.groupId}\n className={cn('file-loader-local-groups', className)}\n >\n <span className=\"file-loader-local-groups__label\">\n <div className=\"file-loader-local-groups__label-text\">\n {labelPrefix}\n {' '}\n {group?.groupTitleDescription}\n {' '}\n <span className=\"file-loader-local-groups__label-extension\">\n (\n {getUniqueExts(group?.accept)}\n ):\n </span>\n </div>\n </span>\n\n {group?.alertText && (\n // @ts-ignore\n <Alert\n className=\"file-loader-local-groups__alert\"\n noDismiss\n icon={<Info />}\n message={group?.alertText}\n />\n )}\n\n <div className=\"file-loader-local-groups__item\">\n {group?.files?.map((file, index) => (\n <FileLoaderLocal\n groupId={group?.groupId}\n fieldKey={`${file.fieldKey}:${group?.groupId}:${index}`}\n key={file?.id || index}\n id={file?.id || index}\n error={file?.error}\n label=\"Upload document\"\n accept={file?.accept}\n value={file?.value}\n maxItemSizeBytes={file?.maxItemSizeBytes}\n onChange={value => handle.change(value, file?.id)}\n isRequired={group.files?.length <= 1 || false}\n isNoTrashIcon={group.files?.length <= 1 && !isSingleGroup}\n />\n ))}\n </div>\n </div>\n ))}\n </>\n );\n};\n\nexport default FileLoaderLocalGroup;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import '../../../styles/base.css';
|
|
2
|
+
import { getLimitedMask } from "../../../Functions/utils/getLimitedMask/getLimitedMask.js";
|
|
3
|
+
import InputMask3 from "../InputMask3/InputMask3.js";
|
|
4
|
+
import './FormattedRawSSN.styles.css';/* empty css */
|
|
5
|
+
import { useRef, useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { Eye, EyeOff } from "react-feather";
|
|
8
|
+
//#region src/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.tsx
|
|
9
|
+
var DEFAULT_SSN_MASK = "DDD-DD-DDDD";
|
|
10
|
+
var SIGNIFICANT_CHARACTERS = ["D"];
|
|
11
|
+
var FormattedRawSSN = ({ value = "", onChange: onChangeProp = () => {}, testId = "formatted-raw-ssn", fullSnnMask = DEFAULT_SSN_MASK, significantChars = SIGNIFICANT_CHARACTERS, maskChar = "*", isHiddenDefault = true, maxLen = 9, countOfFirstDigitsToHide = 5, postfix = "", ...args }) => {
|
|
12
|
+
const [isHidden, setIsHidden] = useState(isHiddenDefault);
|
|
13
|
+
const wrapperRef = useRef(null);
|
|
14
|
+
const onChange = (value) => {
|
|
15
|
+
onChangeProp(value == null ? "" : value.toString());
|
|
16
|
+
};
|
|
17
|
+
const infoAboutMask = getLimitedMask({
|
|
18
|
+
mask: fullSnnMask,
|
|
19
|
+
significantChars,
|
|
20
|
+
limit: maxLen,
|
|
21
|
+
isOnlyMask: false
|
|
22
|
+
});
|
|
23
|
+
const maxHiddenIndex = (() => {
|
|
24
|
+
if (Number.isNaN(Number(countOfFirstDigitsToHide)) || !Number(countOfFirstDigitsToHide)) return -1;
|
|
25
|
+
if (countOfFirstDigitsToHide > infoAboutMask.countOfSignificantChars) return infoAboutMask.mask.length;
|
|
26
|
+
return countOfFirstDigitsToHide + getLimitedMask({
|
|
27
|
+
mask: infoAboutMask.mask,
|
|
28
|
+
significantChars,
|
|
29
|
+
limit: countOfFirstDigitsToHide,
|
|
30
|
+
isOnlyMask: false
|
|
31
|
+
}).countOfNotSignificantChars - 1;
|
|
32
|
+
})();
|
|
33
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
34
|
+
"data-testid": testId,
|
|
35
|
+
className: "formatted-raw-ssn",
|
|
36
|
+
ref: wrapperRef,
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsx(InputMask3, {
|
|
39
|
+
...args,
|
|
40
|
+
value,
|
|
41
|
+
onChange,
|
|
42
|
+
testId: `formattedRawSNN--input--key-${testId}`,
|
|
43
|
+
maskPattern: infoAboutMask.mask,
|
|
44
|
+
maskPlaceholder: "X",
|
|
45
|
+
blinkErrors: true,
|
|
46
|
+
showErrors: false,
|
|
47
|
+
withHiddenMode: true,
|
|
48
|
+
isValueHiddenDefault: isHiddenDefault,
|
|
49
|
+
hiddenChar: maskChar,
|
|
50
|
+
maxHiddenIndex,
|
|
51
|
+
isHide: isHidden
|
|
52
|
+
}),
|
|
53
|
+
postfix && /* @__PURE__ */ jsx("span", {
|
|
54
|
+
className: "formatted-raw-ssn-postfix",
|
|
55
|
+
onClick: () => wrapperRef?.current?.querySelector("input")?.focus(),
|
|
56
|
+
children: postfix
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ jsx("span", {
|
|
59
|
+
className: "formatted-raw-ssn-eye-holder",
|
|
60
|
+
onClick: () => setIsHidden(!isHidden),
|
|
61
|
+
children: isHidden ? /* @__PURE__ */ jsx(Eye, {
|
|
62
|
+
strokeWidth: 1,
|
|
63
|
+
className: "password-icon"
|
|
64
|
+
}) : /* @__PURE__ */ jsx(EyeOff, {
|
|
65
|
+
strokeWidth: 1,
|
|
66
|
+
className: "password-icon"
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
]
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
//#endregion
|
|
73
|
+
export { FormattedRawSSN as default };
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=FormattedRawSSN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormattedRawSSN.js","names":[],"sources":["../../../../../src/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.tsx"],"sourcesContent":["import type { IFormattedRawSSNProps } from './FormattedRawSSN.interface';\n\nimport React, { useRef, useState } from 'react';\n\nimport { Eye, EyeOff } from 'react-feather';\n\nimport { getLimitedMask } from '../../../Functions/utils/getLimitedMask';\nimport InputMask3 from '../InputMask3/InputMask3';\nimport './FormattedRawSSN.scss';\n\nconst DEFAULT_SSN_MASK = 'DDD-DD-DDDD';\nconst SIGNIFICANT_CHARACTERS = ['D'];\n\nconst FormattedRawSSN: React.FC<IFormattedRawSSNProps> = ({\n value = '',\n onChange: onChangeProp = () => {},\n testId = 'formatted-raw-ssn',\n\n // ! ВСЕ \"пляшет\" от fullSnnMask и significantChars\n // Маска для полного snn (технически ограничений нет, НО нужно передавать то, что понимает InputMask3)\n fullSnnMask = DEFAULT_SSN_MASK,\n // Значащие символы в fullSnnMask\n // Технически ограничений нет, НО нужно передавать\n // - массив ОДИНОЧНЫХ символов\n // - массив тех символов, которые правильно трактуются в InputMask3 (смотри InputMask3/config)\n significantChars = SIGNIFICANT_CHARACTERS,\n // Символ для маскировки\n maskChar = '*',\n // Инициализационное значение (сразу скрывать или нет)\n isHiddenDefault = true,\n // Максимальное значение ВВОДИМЫХ цифр\n maxLen = 9, // ? Речь о значащих символах\n // Сколько из ПЕРВЫХ вводимых нужно прятать при включении мода маскировки\n countOfFirstDigitsToHide = 5, // ? Речь о значащих символах\n // Статическая часть\n postfix = '',\n\n ...args\n}) => {\n // ? Будем пользоваться своим (верхним относительно InputMask3) стейтом\n // ? Это потребует отрисовки триггера \"поверх\" InputMask3.\n const [isHidden, setIsHidden] = useState<boolean>(isHiddenDefault);\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n\n const onChange = (value: string | number | undefined | null): void => {\n const newValue = value == null ? '' : value.toString();\n onChangeProp(newValue);\n };\n\n // ? Пересчитываем маску с учетом переданного maxLen.\n // ? Если maxLen меньше количества значащих символов в fullSnnMask, то маска корректно обрежется.\n // ? Передаем опцию isOnlyMask: false, чтобы получить НЕ только новую маску, а еще и статистику.\n // ? В этом случае приходит объект формата: { mask, countOfSignificantChars, countOfNotSignificantChars }\n const infoAboutMask = getLimitedMask({\n mask: fullSnnMask,\n significantChars,\n limit: maxLen,\n isOnlyMask: false,\n });\n\n // ? Расчитываем ИНДЕКС крайнего символа части маски, которая подлежит скрытию,\n // ? исходя из countOfFirstDigitsToHide\n const maxHiddenIndex = (() => {\n // если не приводится к числу или ноль (передавать ноль лишено смысла)\n if (\n Number.isNaN(Number(countOfFirstDigitsToHide))\n || !Number(countOfFirstDigitsToHide)\n ) {\n return -1;\n }\n // если больше чем значимых символов\n if (countOfFirstDigitsToHide > infoAboutMask.countOfSignificantChars)\n return infoAboutMask.mask.length;\n\n // ? Для расчетов получаем дополнительно корректно \"обрезанную\" маску (до уровня скрываемой части)\n // ? на основе ранее полученной \"обрезанной\" по maxLen. Нам нужна НЕ сама маска, а статистика по ней.\n // ? В частности - количество \"незначащих\" символов содержащихся в скрываемой части маски.\n const infoAboutMaskOfHidden = getLimitedMask({\n mask: infoAboutMask.mask,\n significantChars,\n limit: countOfFirstDigitsToHide,\n isOnlyMask: false,\n });\n\n // ? Для InputMask3 maxHiddenIndex должен быть передан относительно длины ВСЕЙ применяемой маски (наша \"обрезанная\" по maxLen).\n // ? Поэтому к количеству \"скрываемых\" символов добавляем количество \"незначащих\", входящих в скрываемую часть маски.\n // ? Т.к. расчитываем НЕ длинну, а индекс - отнимаем 1\n return (\n countOfFirstDigitsToHide\n + infoAboutMaskOfHidden.countOfNotSignificantChars\n - 1\n );\n })();\n\n return (\n <div data-testid={testId} className=\"formatted-raw-ssn\" ref={wrapperRef}>\n <InputMask3\n {...args}\n value={value}\n // @ts-ignore\n onChange={onChange}\n testId={`formattedRawSNN--input--key-${testId}`}\n maskPattern={infoAboutMask.mask}\n maskPlaceholder=\"X\"\n blinkErrors={true}\n showErrors={false}\n withHiddenMode={true}\n isValueHiddenDefault={isHiddenDefault}\n hiddenChar={maskChar}\n maxHiddenIndex={maxHiddenIndex}\n isHide={isHidden}\n />\n {postfix && (\n <span\n className=\"formatted-raw-ssn-postfix\"\n onClick={() => wrapperRef?.current?.querySelector('input')?.focus()}\n >\n {postfix}\n </span>\n )}\n <span\n className=\"formatted-raw-ssn-eye-holder\"\n onClick={() => setIsHidden(!isHidden)}\n >\n {isHidden\n ? (\n <Eye strokeWidth={1} className=\"password-icon\" />\n )\n : (\n <EyeOff strokeWidth={1} className=\"password-icon\" />\n )}\n </span>\n </div>\n );\n};\n\nexport default FormattedRawSSN;\n"],"mappings":";;;;;;;AAUA,IAAM,mBAAmB;AACzB,IAAM,yBAAyB,CAAC,GAAG;AAEnC,IAAM,mBAAoD,EACxD,QAAQ,IACR,UAAU,qBAAqB,CAAC,GAChC,SAAS,qBAIT,cAAc,kBAKd,mBAAmB,wBAEnB,WAAW,KAEX,kBAAkB,MAElB,SAAS,GAET,2BAA2B,GAE3B,UAAU,IAEV,GAAG,WACC;CAGJ,MAAM,CAAC,UAAU,eAAe,SAAkB,eAAe;CACjE,MAAM,aAAa,OAA8B,IAAI;CAErD,MAAM,YAAY,UAAoD;EAEpE,aADiB,SAAS,OAAO,KAAK,MAAM,SAAS,CAChC;CACvB;CAMA,MAAM,gBAAgB,eAAe;EACnC,MAAM;EACN;EACA,OAAO;EACP,YAAY;CACd,CAAC;CAID,MAAM,wBAAwB;EAE5B,IACE,OAAO,MAAM,OAAO,wBAAwB,CAAC,KAC1C,CAAC,OAAO,wBAAwB,GAEnC,OAAO;EAGT,IAAI,2BAA2B,cAAc,yBAC3C,OAAO,cAAc,KAAK;EAe5B,OACE,2BAX4B,eAAe;GAC3C,MAAM,cAAc;GACpB;GACA,OAAO;GACP,YAAY;EACd,CAOI,CAAA,CAAsB,6BACtB;CAEN,EAAA,CAAG;CAEH,OACE,qBAAC,OAAD;EAAK,eAAa;EAAQ,WAAU;EAAoB,KAAK;YAA7D;GACE,oBAAC,YAAD;IACE,GAAI;IACG;IAEG;IACV,QAAQ,+BAA+B;IACvC,aAAa,cAAc;IAC3B,iBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,sBAAsB;IACtB,YAAY;IACI;IAChB,QAAQ;GACT,CAAA;GACA,WACC,oBAAC,QAAD;IACE,WAAU;IACV,eAAe,YAAY,SAAS,cAAc,OAAO,CAAC,EAAE,MAAM;cAEjE;GACG,CAAA;GAER,oBAAC,QAAD;IACE,WAAU;IACV,eAAe,YAAY,CAAC,QAAQ;cAEnC,WAEK,oBAAC,KAAD;KAAK,aAAa;KAAG,WAAU;IAAiB,CAAA,IAGhD,oBAAC,QAAD;KAAQ,aAAa;KAAG,WAAU;IAAiB,CAAA;GAErD,CAAA;EACH;;AAET"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
.formatted-raw-ssn {
|
|
2
|
+
position: relative;
|
|
3
|
+
}
|
|
4
|
+
.formatted-raw-ssn .input-classic__wrap input,
|
|
5
|
+
.formatted-raw-ssn .input__wrap input {
|
|
6
|
+
padding: 0 38px 0 10px;
|
|
7
|
+
/* LG/Regular 16 (24 px, 0.2 px) */
|
|
8
|
+
font-family: Sarabun;
|
|
9
|
+
font-size: 16px;
|
|
10
|
+
font-weight: 400;
|
|
11
|
+
font-style: normal;
|
|
12
|
+
line-height: 24px; /* 150% */
|
|
13
|
+
letter-spacing: 0.2px;
|
|
14
|
+
color: var(--color-text-body, #171d33);
|
|
15
|
+
}
|
|
16
|
+
.formatted-raw-ssn-postfix {
|
|
17
|
+
position: absolute;
|
|
18
|
+
top: 1px;
|
|
19
|
+
right: 1px;
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
width: 80%;
|
|
24
|
+
height: calc(100% - 2px);
|
|
25
|
+
padding: 7px;
|
|
26
|
+
/* LG/Regular 16 (24 px, 0.2 px) */
|
|
27
|
+
font-family: Sarabun;
|
|
28
|
+
font-size: 16px;
|
|
29
|
+
font-weight: 400;
|
|
30
|
+
font-style: normal;
|
|
31
|
+
line-height: 24px; /* 150% */
|
|
32
|
+
cursor: text;
|
|
33
|
+
letter-spacing: 0.2px;
|
|
34
|
+
color: var(--color-text-body, #171d33);
|
|
35
|
+
border-left: 1px solid var(--color-border-input, #e1e8f1);
|
|
36
|
+
border-radius: 0px 5px 5px 0px;
|
|
37
|
+
background: var(--color-background-form, #f7f8fa);
|
|
38
|
+
}
|
|
39
|
+
.formatted-raw-ssn-eye-holder {
|
|
40
|
+
position: absolute;
|
|
41
|
+
top: 25%;
|
|
42
|
+
right: 10px;
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: row;
|
|
45
|
+
justify-content: center;
|
|
46
|
+
align-items: center;
|
|
47
|
+
height: 100%;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
transform: translateY(-25%);
|
|
50
|
+
}
|
|
51
|
+
.formatted-raw-ssn-icon {
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
color: #a6aab4;
|
|
54
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/Atomic/FormElements/FormattedRawSSN/index.ts"],"sourcesContent":["import type { IFormattedRawSSNProps } from './FormattedRawSSN.interface';\nimport FormattedRawSSN from './FormattedRawSSN';\n\nexport type { IFormattedRawSSNProps };\nexport default FormattedRawSSN;\n"],"mappings":";;AAIA,IAAA,0BAAe"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import '../../../styles/base.css';
|
|
2
|
+
import { getSafelyValue } from "../../../Functions/fieldValueFormatters.js";
|
|
3
|
+
import Spinner from "../../Layout/Spinner/Spinner.js";
|
|
4
|
+
import { useErrorBlink } from "./hooks/useErrorBlink.js";
|
|
5
|
+
import { useInputFocus } from "./hooks/useInputFocus.js";
|
|
6
|
+
import { useInputHover } from "./hooks/useInputHover.js";
|
|
7
|
+
import { useInputValueProcessing } from "./hooks/useInputValueProcessing.js";
|
|
8
|
+
import { useKeyboardHandling } from "./hooks/useKeyboardHandling.js";
|
|
9
|
+
import './Input.styles.css';/* empty css */
|
|
10
|
+
import cn from "classnames";
|
|
11
|
+
import { useEffect, useMemo, useRef } from "react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
//#region src/Atomic/FormElements/Input/Input.tsx
|
|
14
|
+
function defaultCallback() {}
|
|
15
|
+
function Input({ ref, blurTrim, autocomplete = "off", isSelect, onChange = defaultCallback, onBlur = defaultCallback, onFocus = defaultCallback, onKeyUp = defaultCallback, onKeyDown = defaultCallback, isNotBlinkErrors, isPriceInput, onlyNumbers, disabled, withDelete, value, placeholder, className, type = "text", mask, maskChar, formatChars, error, icon, symbolsLimit, blinkTime, isFocusDefault = false, isNotValidateASCII = false, isNumericMobileKeyboard = false, isCropFirstNool = false, testId = "input", action, isUseAutoSelect = true, isReadOnly = false, isLoading = false, name, fieldKey, id, attributesOfNativeInput = {} }) {
|
|
16
|
+
const inputInnerRef = useRef(null);
|
|
17
|
+
const inputRef = useMemo(() => ref || inputInnerRef, [ref]);
|
|
18
|
+
const isUseErrorsBlink = !isNotBlinkErrors && !mask;
|
|
19
|
+
const inputName = name || fieldKey || id;
|
|
20
|
+
const { isFocused, isEditing, setIsFocused, setEditing, handleFocus, handleToggleEdit } = useInputFocus({
|
|
21
|
+
isSelect,
|
|
22
|
+
isFocusDefault,
|
|
23
|
+
onFocus
|
|
24
|
+
});
|
|
25
|
+
const { isToHighlightError, setPreviousValue, checkValueChange } = useErrorBlink({
|
|
26
|
+
isUseErrorsBlink,
|
|
27
|
+
blinkTime
|
|
28
|
+
});
|
|
29
|
+
const { keyDownData, handleKeyDown, handleKeyUp } = useKeyboardHandling({
|
|
30
|
+
onKeyDown,
|
|
31
|
+
onKeyUp,
|
|
32
|
+
checkValueChange,
|
|
33
|
+
setPreviousValue,
|
|
34
|
+
value
|
|
35
|
+
});
|
|
36
|
+
const { formatedValue, handleChange, handleBlur, correctMinMax: _correctMinMax } = useInputValueProcessing({
|
|
37
|
+
onlyNumbers,
|
|
38
|
+
isPriceInput,
|
|
39
|
+
value,
|
|
40
|
+
isNotValidateASCII,
|
|
41
|
+
symbolsLimit,
|
|
42
|
+
isCropFirstNool,
|
|
43
|
+
type,
|
|
44
|
+
keyDownData,
|
|
45
|
+
onChange,
|
|
46
|
+
blurTrim
|
|
47
|
+
});
|
|
48
|
+
const { onInputHover, handleMouseEnter, handleMouseLeave } = useInputHover();
|
|
49
|
+
const handleToggleWithClear = () => {
|
|
50
|
+
handleToggleEdit();
|
|
51
|
+
onChange("");
|
|
52
|
+
};
|
|
53
|
+
const handleBlurWithEffects = (e) => {
|
|
54
|
+
handleBlur(e, onBlur);
|
|
55
|
+
setIsFocused(false);
|
|
56
|
+
setEditing(false);
|
|
57
|
+
};
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (isEditing) inputRef?.current?.focus?.();
|
|
60
|
+
}, [isEditing, isFocused]);
|
|
61
|
+
const getInputType = () => {
|
|
62
|
+
if (isPriceInput || type === "pseudoPassword") return "text";
|
|
63
|
+
return type;
|
|
64
|
+
};
|
|
65
|
+
const uniProps = {
|
|
66
|
+
name: inputName,
|
|
67
|
+
className: cn("input", className, {
|
|
68
|
+
"input--with-icon": icon,
|
|
69
|
+
"input--with-delete": withDelete
|
|
70
|
+
}),
|
|
71
|
+
placeholder,
|
|
72
|
+
value: formatedValue,
|
|
73
|
+
inputMode: isNumericMobileKeyboard ? "decimal" : "text",
|
|
74
|
+
disabled,
|
|
75
|
+
onChange: handleChange,
|
|
76
|
+
onFocus: handleFocus,
|
|
77
|
+
onBlur: handleBlurWithEffects,
|
|
78
|
+
onKeyUp: handleKeyUp,
|
|
79
|
+
onKeyDown: handleKeyDown,
|
|
80
|
+
...maskChar ? { maskChar } : {},
|
|
81
|
+
...formatChars ? { formatChars } : {}
|
|
82
|
+
};
|
|
83
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
84
|
+
"data-testid": testId,
|
|
85
|
+
className: cn(`input__wrap`, { [`input__wrap_focus`]: isFocused }, { [`input__wrap_error`]: error || isToHighlightError }, { [`input__wrap--disabled`]: disabled || isLoading }),
|
|
86
|
+
onMouseEnter: handleMouseEnter,
|
|
87
|
+
onMouseLeave: handleMouseLeave,
|
|
88
|
+
children: [
|
|
89
|
+
/* @__PURE__ */ jsx("input", {
|
|
90
|
+
readOnly: isReadOnly,
|
|
91
|
+
...uniProps,
|
|
92
|
+
ref: inputRef,
|
|
93
|
+
type: getInputType(),
|
|
94
|
+
autoComplete: type === "pseudoPassword" ? "off" : autocomplete,
|
|
95
|
+
...attributesOfNativeInput,
|
|
96
|
+
onFocus: (...params) => {
|
|
97
|
+
attributesOfNativeInput?.onFocus?.(...params);
|
|
98
|
+
if (isUseAutoSelect) inputRef.current?.select();
|
|
99
|
+
if (uniProps.onFocus) uniProps.onFocus(...params);
|
|
100
|
+
},
|
|
101
|
+
onBlur: (...params) => {
|
|
102
|
+
attributesOfNativeInput?.onBlur?.(...params);
|
|
103
|
+
if (uniProps.onBlur) uniProps.onBlur(...params);
|
|
104
|
+
}
|
|
105
|
+
}),
|
|
106
|
+
icon,
|
|
107
|
+
action,
|
|
108
|
+
withDelete && onInputHover && /* @__PURE__ */ jsx("span", {
|
|
109
|
+
className: cn(`input__close`, { hidden: !getSafelyValue(value) }),
|
|
110
|
+
onClick: handleToggleWithClear
|
|
111
|
+
}),
|
|
112
|
+
isLoading && /* @__PURE__ */ jsx(Spinner, { size: "small" })
|
|
113
|
+
]
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
export { Input as default };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","names":[],"sources":["../../../../../src/Atomic/FormElements/Input/Input.tsx"],"sourcesContent":["import type { HTMLInputTypeAttribute, ReactElement } from 'react';\nimport type { InputProps } from './types';\nimport cn from 'classnames';\nimport React, { useEffect, useMemo, useRef } from 'react';\nimport { getSafelyValue } from '../../../Functions/fieldValueFormatters';\nimport Spinner from '../../Layout/Spinner/Spinner';\n\nimport { useErrorBlink, useInputFocus, useInputHover, useInputValueProcessing, useKeyboardHandling } from './hooks';\nimport './Input.scss';\n\nfunction defaultCallback(): void {}\n\nfunction Input({ ref, blurTrim, autocomplete = 'off', isSelect, onChange = defaultCallback, onBlur = defaultCallback, onFocus = defaultCallback, onKeyUp = defaultCallback, onKeyDown = defaultCallback, isNotBlinkErrors, isPriceInput, onlyNumbers, disabled, withDelete, value, placeholder, className, type = 'text', mask, maskChar, formatChars, error, icon, symbolsLimit, blinkTime, isFocusDefault = false, isNotValidateASCII = false, isNumericMobileKeyboard = false, isCropFirstNool = false, testId = 'input', action, isUseAutoSelect = true, isReadOnly = false, isLoading = false, name, fieldKey, id, attributesOfNativeInput = {} }: InputProps & { ref?: React.RefObject<Omit<HTMLInputElement, 'value'> | null> }): ReactElement {\n const inputInnerRef = useRef(null);\n const inputRef = useMemo((): React.RefObject<HTMLInputElement> => (ref || inputInnerRef) as React.RefObject<HTMLInputElement>, [ref]);\n\n const isUseErrorsBlink = !isNotBlinkErrors && !mask;\n const inputName = name || fieldKey || id;\n\n const {\n isFocused,\n isEditing,\n setIsFocused,\n setEditing,\n handleFocus,\n handleToggleEdit,\n } = useInputFocus({\n isSelect,\n isFocusDefault,\n onFocus,\n });\n\n const {\n isToHighlightError,\n setPreviousValue,\n checkValueChange,\n } = useErrorBlink({\n isUseErrorsBlink,\n blinkTime,\n });\n\n const {\n keyDownData,\n handleKeyDown,\n handleKeyUp,\n } = useKeyboardHandling({\n onKeyDown,\n onKeyUp,\n checkValueChange,\n setPreviousValue,\n value,\n });\n\n const {\n formatedValue,\n handleChange,\n handleBlur,\n correctMinMax: _correctMinMax,\n } = useInputValueProcessing({\n onlyNumbers,\n isPriceInput,\n value,\n isNotValidateASCII,\n symbolsLimit,\n isCropFirstNool,\n type,\n keyDownData,\n onChange,\n blurTrim,\n });\n\n const {\n onInputHover,\n handleMouseEnter,\n handleMouseLeave,\n } = useInputHover();\n\n // Handlers with side effects\n const handleToggleWithClear = (): void => {\n handleToggleEdit();\n onChange('');\n };\n\n const handleBlurWithEffects = (e: React.FocusEvent<HTMLInputElement, Element>): void => {\n handleBlur(e, onBlur);\n setIsFocused(false);\n setEditing(false);\n };\n\n // Component effects\n useEffect(() => {\n if (isEditing) inputRef?.current?.focus?.();\n }, [isEditing, isFocused]);\n\n const getInputType = (): HTMLInputTypeAttribute => {\n if (isPriceInput || type === 'pseudoPassword') return 'text';\n return type;\n };\n\n const uniProps = {\n name: inputName,\n className: cn('input', className, {\n 'input--with-icon': icon,\n 'input--with-delete': withDelete,\n }),\n placeholder,\n value: formatedValue,\n inputMode: isNumericMobileKeyboard ? 'decimal' as const : 'text' as const,\n disabled,\n onChange: handleChange,\n onFocus: handleFocus,\n onBlur: handleBlurWithEffects,\n onKeyUp: handleKeyUp,\n onKeyDown: handleKeyDown,\n ...(maskChar ? { maskChar } : {}),\n ...(formatChars ? { formatChars } : {}),\n };\n\n return (\n <div\n data-testid={testId}\n className={cn(\n `input__wrap`,\n { [`input__wrap_focus`]: isFocused },\n { [`input__wrap_error`]: error || isToHighlightError },\n { [`input__wrap--disabled`]: disabled || isLoading },\n )}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <input\n readOnly={isReadOnly}\n {...uniProps}\n ref={inputRef}\n type={getInputType()}\n autoComplete={type === 'pseudoPassword' ? 'off' : autocomplete}\n {...attributesOfNativeInput}\n onFocus={(...params) => {\n attributesOfNativeInput?.onFocus?.(...params);\n if (isUseAutoSelect) inputRef.current?.select();\n if (uniProps.onFocus) uniProps.onFocus(...params);\n }}\n onBlur={(...params) => {\n attributesOfNativeInput?.onBlur?.(...params);\n if (uniProps.onBlur) uniProps.onBlur(...params);\n }}\n />\n {icon}\n {action}\n {withDelete && onInputHover && (\n <span\n className={cn(`input__close`, { hidden: !getSafelyValue(value) })}\n onClick={handleToggleWithClear}\n />\n )}\n {isLoading && <Spinner size=\"small\" />}\n </div>\n );\n}\n\nexport default Input;\n"],"mappings":";;;;;;;;;;;;AAUA,SAAS,kBAAwB,CAAC;AAElC,SAAS,MAAM,EAAE,KAAK,UAAU,eAAe,OAAO,UAAU,WAAW,iBAAiB,SAAS,iBAAiB,UAAU,iBAAiB,UAAU,iBAAiB,YAAY,iBAAiB,kBAAkB,cAAc,aAAa,UAAU,YAAY,OAAO,aAAa,WAAW,OAAO,QAAQ,MAAM,UAAU,aAAa,OAAO,MAAM,cAAc,WAAW,iBAAiB,OAAO,qBAAqB,OAAO,0BAA0B,OAAO,kBAAkB,OAAO,SAAS,SAAS,QAAQ,kBAAkB,MAAM,aAAa,OAAO,YAAY,OAAO,MAAM,UAAU,IAAI,0BAA0B,CAAC,KAAmG;CACptB,MAAM,gBAAgB,OAAO,IAAI;CACjC,MAAM,WAAW,cAAkD,OAAO,eAAqD,CAAC,GAAG,CAAC;CAEpI,MAAM,mBAAmB,CAAC,oBAAoB,CAAC;CAC/C,MAAM,YAAY,QAAQ,YAAY;CAEtC,MAAM,EACJ,WACA,WACA,cACA,YACA,aACA,qBACE,cAAc;EAChB;EACA;EACA;CACF,CAAC;CAED,MAAM,EACJ,oBACA,kBACA,qBACE,cAAc;EAChB;EACA;CACF,CAAC;CAED,MAAM,EACJ,aACA,eACA,gBACE,oBAAoB;EACtB;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EACJ,eACA,cACA,YACA,eAAe,mBACb,wBAAwB;EAC1B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EACJ,cACA,kBACA,qBACE,cAAc;CAGlB,MAAM,8BAAoC;EACxC,iBAAiB;EACjB,SAAS,EAAE;CACb;CAEA,MAAM,yBAAyB,MAAyD;EACtF,WAAW,GAAG,MAAM;EACpB,aAAa,KAAK;EAClB,WAAW,KAAK;CAClB;CAGA,gBAAgB;EACd,IAAI,WAAW,UAAU,SAAS,QAAQ;CAC5C,GAAG,CAAC,WAAW,SAAS,CAAC;CAEzB,MAAM,qBAA6C;EACjD,IAAI,gBAAgB,SAAS,kBAAkB,OAAO;EACtD,OAAO;CACT;CAEA,MAAM,WAAW;EACf,MAAM;EACN,WAAW,GAAG,SAAS,WAAW;GAChC,oBAAoB;GACpB,sBAAsB;EACxB,CAAC;EACD;EACA,OAAO;EACP,WAAW,0BAA0B,YAAqB;EAC1D;EACA,UAAU;EACV,SAAS;EACT,QAAQ;EACR,SAAS;EACT,WAAW;EACX,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC;EAC/B,GAAI,cAAc,EAAE,YAAY,IAAI,CAAC;CACvC;CAEA,OACE,qBAAC,OAAD;EACE,eAAa;EACb,WAAW,GACT,eACA,GAAG,sBAAsB,UAAU,GACnC,GAAG,sBAAsB,SAAS,mBAAmB,GACrD,GAAG,0BAA0B,YAAY,UAAU,CACrD;EACA,cAAc;EACd,cAAc;YAThB;GAWE,oBAAC,SAAD;IACE,UAAU;IACV,GAAI;IACJ,KAAK;IACL,MAAM,aAAa;IACnB,cAAc,SAAS,mBAAmB,QAAQ;IAClD,GAAI;IACJ,UAAU,GAAG,WAAW;KACtB,yBAAyB,UAAU,GAAG,MAAM;KAC5C,IAAI,iBAAiB,SAAS,SAAS,OAAO;KAC9C,IAAI,SAAS,SAAS,SAAS,QAAQ,GAAG,MAAM;IAClD;IACA,SAAS,GAAG,WAAW;KACrB,yBAAyB,SAAS,GAAG,MAAM;KAC3C,IAAI,SAAS,QAAQ,SAAS,OAAO,GAAG,MAAM;IAChD;GACD,CAAA;GACA;GACA;GACA,cAAc,gBACb,oBAAC,QAAD;IACE,WAAW,GAAG,gBAAgB,EAAE,QAAQ,CAAC,eAAe,KAAK,EAAE,CAAC;IAChE,SAAS;GACV,CAAA;GAEF,aAAa,oBAAC,SAAD,EAAS,MAAK,QAAS,CAAA;EAClC;;AAET"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
.input {
|
|
2
|
+
position: relative;
|
|
3
|
+
width: 100%;
|
|
4
|
+
padding: 0 10px;
|
|
5
|
+
word-break: break-all;
|
|
6
|
+
border: none;
|
|
7
|
+
background: none;
|
|
8
|
+
}
|
|
9
|
+
.input::-webkit-outer-spin-button, .input::-webkit-inner-spin-button {
|
|
10
|
+
appearance: none;
|
|
11
|
+
}
|
|
12
|
+
.input__wrap {
|
|
13
|
+
position: relative;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
height: 28px;
|
|
18
|
+
border: 1px solid #e2e5ec;
|
|
19
|
+
border-radius: 4px;
|
|
20
|
+
background-color: #fff;
|
|
21
|
+
}
|
|
22
|
+
.input__wrap_focus {
|
|
23
|
+
border-color: #6b81dd;
|
|
24
|
+
filter: drop-shadow(0 0 4px rgba(93, 120, 255, 0.5));
|
|
25
|
+
}
|
|
26
|
+
.input__wrap--disabled {
|
|
27
|
+
pointer-events: none;
|
|
28
|
+
opacity: 0.5;
|
|
29
|
+
border-color: #a6acb1;
|
|
30
|
+
background: #f7f8fa;
|
|
31
|
+
}
|
|
32
|
+
.input__wrap_error {
|
|
33
|
+
border-color: #f06d8d !important;
|
|
34
|
+
}
|
|
35
|
+
.input__wrap .lds-ring.lds-ring_small {
|
|
36
|
+
top: calc(50% - 18px);
|
|
37
|
+
}
|
|
38
|
+
.input_disabled {
|
|
39
|
+
pointer-events: none;
|
|
40
|
+
opacity: 0.5;
|
|
41
|
+
border-color: #a6acb1;
|
|
42
|
+
background: #f7f8fa;
|
|
43
|
+
}
|
|
44
|
+
.input_error {
|
|
45
|
+
border-color: #f06d8d;
|
|
46
|
+
}
|
|
47
|
+
.input svg {
|
|
48
|
+
margin-right: 4px;
|
|
49
|
+
}
|
|
50
|
+
.input__input {
|
|
51
|
+
box-sizing: border-box;
|
|
52
|
+
width: 100%;
|
|
53
|
+
height: 100%;
|
|
54
|
+
padding: 0 5px;
|
|
55
|
+
font-size: 13px;
|
|
56
|
+
font-weight: 400;
|
|
57
|
+
color: #1e1e2d;
|
|
58
|
+
border: none;
|
|
59
|
+
border-radius: 4px;
|
|
60
|
+
}
|
|
61
|
+
.input__close {
|
|
62
|
+
position: relative;
|
|
63
|
+
visibility: hidden;
|
|
64
|
+
width: 14px;
|
|
65
|
+
height: 14px;
|
|
66
|
+
margin-right: 4px;
|
|
67
|
+
cursor: pointer;
|
|
68
|
+
pointer-events: none;
|
|
69
|
+
opacity: 0.6;
|
|
70
|
+
background: none;
|
|
71
|
+
}
|
|
72
|
+
.input__close:hover {
|
|
73
|
+
opacity: 1;
|
|
74
|
+
}
|
|
75
|
+
.input__close::before, .input__close::after {
|
|
76
|
+
position: absolute;
|
|
77
|
+
top: 0;
|
|
78
|
+
right: 0;
|
|
79
|
+
left: 0;
|
|
80
|
+
width: 2px;
|
|
81
|
+
height: 14px;
|
|
82
|
+
margin: auto;
|
|
83
|
+
content: "";
|
|
84
|
+
background-color: #9aa0b9;
|
|
85
|
+
}
|
|
86
|
+
.input__close::before {
|
|
87
|
+
transform: rotate(45deg);
|
|
88
|
+
}
|
|
89
|
+
.input__close::after {
|
|
90
|
+
transform: rotate(-45deg);
|
|
91
|
+
}
|
|
92
|
+
.input__nums {
|
|
93
|
+
display: flex;
|
|
94
|
+
align-items: center;
|
|
95
|
+
height: 100%;
|
|
96
|
+
}
|
|
97
|
+
.input__num-btn {
|
|
98
|
+
display: flex;
|
|
99
|
+
justify-content: center;
|
|
100
|
+
align-items: center;
|
|
101
|
+
width: 24px;
|
|
102
|
+
height: 100%;
|
|
103
|
+
font-size: 20px;
|
|
104
|
+
cursor: pointer;
|
|
105
|
+
user-select: none;
|
|
106
|
+
border-left: 1px solid #e2e5ec;
|
|
107
|
+
background: none;
|
|
108
|
+
}
|
|
109
|
+
.input__num-btn.disabled {
|
|
110
|
+
opacity: 0.3;
|
|
111
|
+
}
|
|
112
|
+
.input__num-btn svg {
|
|
113
|
+
margin-right: 0;
|
|
114
|
+
}
|
|
115
|
+
.input-label {
|
|
116
|
+
margin-bottom: 5px;
|
|
117
|
+
}
|
|
118
|
+
.input--with-icon {
|
|
119
|
+
padding: 0 40px 0 10px;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.input__wrap:hover .input__close {
|
|
123
|
+
visibility: visible;
|
|
124
|
+
pointer-events: all;
|
|
125
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { KEYBOARD_SERVICE_KEYS } from "../../../../Constants/index.constants.js";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
//#region src/Atomic/FormElements/Input/hooks/useErrorBlink.ts
|
|
4
|
+
var DEFAULT_BLINK_TIME = 100;
|
|
5
|
+
function useErrorBlink({ isUseErrorsBlink, blinkTime = DEFAULT_BLINK_TIME }) {
|
|
6
|
+
const [isAttemptToChange, setIsAttemptToChange] = useState(false);
|
|
7
|
+
const [isToHighlightError, setIsToHighlightError] = useState(false);
|
|
8
|
+
const [prevValue, setPreviousValue] = useState("");
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (!isAttemptToChange) return;
|
|
11
|
+
let timerId = null;
|
|
12
|
+
setIsToHighlightError(true);
|
|
13
|
+
timerId = setTimeout(() => {
|
|
14
|
+
setIsToHighlightError(false);
|
|
15
|
+
setIsAttemptToChange(false);
|
|
16
|
+
}, blinkTime);
|
|
17
|
+
return () => {
|
|
18
|
+
if (timerId) clearTimeout(timerId);
|
|
19
|
+
};
|
|
20
|
+
}, [isAttemptToChange, blinkTime]);
|
|
21
|
+
const checkValueChange = (e, value) => {
|
|
22
|
+
if (isUseErrorsBlink) {
|
|
23
|
+
const changedValue = `${value ?? ""}`;
|
|
24
|
+
const previousValue = `${prevValue}`;
|
|
25
|
+
const short = previousValue.length <= changedValue.length ? previousValue : changedValue;
|
|
26
|
+
const long = previousValue.length > changedValue.length ? previousValue : changedValue;
|
|
27
|
+
const infoAboutDifferencesSameness = short.split("").reduce((acc, symbol, idx) => {
|
|
28
|
+
if (acc.countOn && symbol === long[idx]) acc.same.push(symbol);
|
|
29
|
+
else {
|
|
30
|
+
acc.countOn = false;
|
|
31
|
+
acc.differences.push([idx, symbol]);
|
|
32
|
+
}
|
|
33
|
+
return acc;
|
|
34
|
+
}, {
|
|
35
|
+
same: [],
|
|
36
|
+
countOn: true,
|
|
37
|
+
differences: []
|
|
38
|
+
});
|
|
39
|
+
const samePart = infoAboutDifferencesSameness.same.join("");
|
|
40
|
+
const differencesLength = infoAboutDifferencesSameness.differences.length;
|
|
41
|
+
const currentSet = changedValue?.replace(samePart, "");
|
|
42
|
+
if (!KEYBOARD_SERVICE_KEYS.includes(e.key) && changedValue === previousValue) {
|
|
43
|
+
const newAttemptToChange = !(!differencesLength && e.key === currentSet);
|
|
44
|
+
setIsAttemptToChange(newAttemptToChange);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
return {
|
|
49
|
+
isToHighlightError,
|
|
50
|
+
setPreviousValue,
|
|
51
|
+
checkValueChange
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { useErrorBlink };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=useErrorBlink.js.map
|