intelicoreact 2.0.17 → 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 +3 -1
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
import Button from "../../../UI/Button/Button.js";
|
|
2
|
+
import Dropdown from "../../Dropdown/Dropdown.js";
|
|
3
|
+
import Switcher from "../../Switcher/Switcher.js";
|
|
4
|
+
import DateInput from "./DateInput.js";
|
|
5
|
+
import RangeCalendar from "../../RangeCalendar/RangeCalendar.js";
|
|
6
|
+
import { MAIN_FORMAT, MAIN_TIME_FORMAT, getActualDateRange, getIsDateValid } from "../dependencies.js";
|
|
7
|
+
import cn from "classnames";
|
|
8
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
9
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import moment from "moment-timezone";
|
|
11
|
+
//#region src/Atomic/FormElements/InputDateRange/components/Datepicker.tsx
|
|
12
|
+
var DATE_INPUT_FORMAT = "MM/DD/YYYY";
|
|
13
|
+
function padTime(time) {
|
|
14
|
+
return `${time.toString().padStart(2, "0")}:00`;
|
|
15
|
+
}
|
|
16
|
+
var Datepicker = (props) => {
|
|
17
|
+
const { txt, className, buttonsTypes = {}, values = {}, onChange, onChangeMobile, onChangeCompare, onCancel, getSelectedMode, onChangeInterval, isCompareHidden, limitRange, setActiveInterval, isShortWeekNames, minDate, maxDate, momentMinDate, momentMaxDate, isDontLimitFuture, testId, mainId, withMobileLogic, isDoNotPullOutListOfMainContainer } = props;
|
|
18
|
+
const { start = null, end = null, compare = false } = values;
|
|
19
|
+
const startDateInputRef = useRef(null);
|
|
20
|
+
const endDateInputRef = useRef(null);
|
|
21
|
+
const [startDate, setStartDate] = useState(getIsDateValid(start) ? moment(start) : "");
|
|
22
|
+
const [endDate, setEndDate] = useState(getIsDateValid(end) ? moment(end) : "");
|
|
23
|
+
const dateInterval = getSelectedMode({
|
|
24
|
+
start: startDate,
|
|
25
|
+
end: endDate
|
|
26
|
+
});
|
|
27
|
+
const [startDateInput, setStartDateInput] = useState(null);
|
|
28
|
+
const [endDateInput, setEndDateInput] = useState(null);
|
|
29
|
+
const [isStartFocused, setIsStartFocused] = useState(false);
|
|
30
|
+
const [isEndFocused, setIsEndFocused] = useState(false);
|
|
31
|
+
const [startHour, setStartHour] = useState(start ? moment(start).hour() : 0);
|
|
32
|
+
const [endHour, setEndHour] = useState(end ? moment(end).hour() : 0);
|
|
33
|
+
const [isCompare, setIsCompare] = useState(compare);
|
|
34
|
+
const [date1, setDate1] = useState(start ? moment(start) : moment().subtract(1, "month"));
|
|
35
|
+
const [date2, setDate2] = useState(end ? moment(end) : moment());
|
|
36
|
+
const isNearby = useMemo(() => moment(date2).subtract(1, "month").isSame(moment(date1), "month"), [date1, date2]);
|
|
37
|
+
const isPreviousPeriodShowed = useMemo(() => isCompare && !isCompareHidden && startDate && endDate, [
|
|
38
|
+
startDate,
|
|
39
|
+
endDate,
|
|
40
|
+
isCompare
|
|
41
|
+
]);
|
|
42
|
+
const prevEndHour = useRef(endHour);
|
|
43
|
+
const startPrevDate = useMemo(() => {
|
|
44
|
+
if (isPreviousPeriodShowed) {
|
|
45
|
+
const intervalHoursCount = moment(endDate).diff(startDate, "hours");
|
|
46
|
+
return moment(startDate).subtract(intervalHoursCount, "hours").toDate();
|
|
47
|
+
} else return null;
|
|
48
|
+
}, [
|
|
49
|
+
startDate,
|
|
50
|
+
endDate,
|
|
51
|
+
isCompare
|
|
52
|
+
]);
|
|
53
|
+
const endPrevDate = useMemo(() => {
|
|
54
|
+
if (isPreviousPeriodShowed) return startDate;
|
|
55
|
+
else return null;
|
|
56
|
+
}, [
|
|
57
|
+
startDate,
|
|
58
|
+
endDate,
|
|
59
|
+
isCompare
|
|
60
|
+
]);
|
|
61
|
+
const title = useMemo(() => {
|
|
62
|
+
if (isCompare && !isCompareHidden && startDate && endDate) return `${moment(startPrevDate).format("ll")} (${moment(startPrevDate).format(MAIN_TIME_FORMAT)}) - ${moment(endPrevDate).format("ll")} (${moment(endPrevDate).format(MAIN_TIME_FORMAT)})`;
|
|
63
|
+
else return "";
|
|
64
|
+
}, [
|
|
65
|
+
startDate,
|
|
66
|
+
endDate,
|
|
67
|
+
isCompare
|
|
68
|
+
]);
|
|
69
|
+
const subtractDay = (date) => endHour === 0 ? moment(date).subtract(1, "days") : moment(date);
|
|
70
|
+
const addDay = (date) => endHour === 0 ? moment(date).add(1, "days") : moment(date);
|
|
71
|
+
const getCorrectedDateForDateInput = (key, date) => {
|
|
72
|
+
if (key === "startDateInput") return moment(date);
|
|
73
|
+
return subtractDay(moment(date));
|
|
74
|
+
};
|
|
75
|
+
const setInterval = () => {
|
|
76
|
+
setActiveInterval?.(getActualDateRange({
|
|
77
|
+
start: startDate,
|
|
78
|
+
end: endDate
|
|
79
|
+
}).intervalKey);
|
|
80
|
+
};
|
|
81
|
+
const handleClick = (date) => {
|
|
82
|
+
prevEndHour.current = 0;
|
|
83
|
+
if (!startDate || startDate && endDate && !(moment(startDate).add(1, "d").isSame(endDate, "day") && endHour === 0)) {
|
|
84
|
+
setStartDate(moment(date).startOf("day"));
|
|
85
|
+
setEndDate(moment(date).add(1, "d").startOf("day"));
|
|
86
|
+
setStartHour(0);
|
|
87
|
+
setEndHour(0);
|
|
88
|
+
} else if (moment(date).isBefore(moment(startDate), "day")) {
|
|
89
|
+
setEndDate(moment(startDate).add(1, "d").startOf("day"));
|
|
90
|
+
setStartDate(moment(date).set("hour", Number.parseInt(startHour.toString(), 10)));
|
|
91
|
+
} else if (moment(date).isAfter(moment(startDate), "day")) setEndDate(moment(date).add(1, "d").startOf("day"));
|
|
92
|
+
};
|
|
93
|
+
const handleChangeStartHour = (val) => {
|
|
94
|
+
setStartHour(Number(val));
|
|
95
|
+
setStartDate(moment(startDate || moment()).set("hour", Number(val)));
|
|
96
|
+
};
|
|
97
|
+
const handleChangeEndHour = (val) => {
|
|
98
|
+
const newHour = Number(val);
|
|
99
|
+
setEndHour(newHour);
|
|
100
|
+
let newEndDate = moment();
|
|
101
|
+
if (endDate) {
|
|
102
|
+
if (prevEndHour.current === 0 && newHour !== 0) newEndDate = moment(endDate).subtract(1, "days");
|
|
103
|
+
else if (prevEndHour.current !== 0 && newHour === 0) newEndDate = moment(endDate).add(1, "days");
|
|
104
|
+
}
|
|
105
|
+
prevEndHour.current = newHour;
|
|
106
|
+
setEndDate(moment(newEndDate).set("hour", newHour));
|
|
107
|
+
};
|
|
108
|
+
const handleDateInputFocus = (key, e) => {
|
|
109
|
+
const changeFlag = key === "startDateInput" ? setIsStartFocused : setIsEndFocused;
|
|
110
|
+
const set = key === "startDateInput" ? setStartDateInput : setEndDateInput;
|
|
111
|
+
const date = key === "startDateInput" ? startDate : endDate;
|
|
112
|
+
changeFlag(true);
|
|
113
|
+
set(date ? getCorrectedDateForDateInput(key, date).format("L") : "");
|
|
114
|
+
setTimeout(() => {
|
|
115
|
+
const defaultTarget = key === "startDateInput" ? startDateInputRef.current : endDateInputRef.current;
|
|
116
|
+
(e?.target ?? defaultTarget).select?.();
|
|
117
|
+
}, 0);
|
|
118
|
+
};
|
|
119
|
+
const doBlur = (type, e) => {
|
|
120
|
+
const executor = type === "startDateInput" ? setIsStartFocused : setIsEndFocused;
|
|
121
|
+
e.target.blur();
|
|
122
|
+
executor(false);
|
|
123
|
+
};
|
|
124
|
+
const processOverflow = (newDateAsString, valueForRollback, key) => {
|
|
125
|
+
const newDateAsMomentObj = moment(newDateAsString, DATE_INPUT_FORMAT);
|
|
126
|
+
if (!newDateAsMomentObj.isValid()) return valueForRollback;
|
|
127
|
+
else {
|
|
128
|
+
const beforeOfFuture = moment().endOf("day");
|
|
129
|
+
const hour = key === "startDateInput" ? startHour : endHour;
|
|
130
|
+
let output;
|
|
131
|
+
if (minDate && newDateAsMomentObj.isBefore(momentMinDate)) output = momentMinDate;
|
|
132
|
+
else if (maxDate && newDateAsMomentObj.isAfter(momentMaxDate)) output = momentMaxDate;
|
|
133
|
+
else if (!isDontLimitFuture && newDateAsMomentObj.isAfter(beforeOfFuture)) output = beforeOfFuture.startOf("day");
|
|
134
|
+
else output = newDateAsMomentObj;
|
|
135
|
+
if (key === "endDateInput") output = addDay(output);
|
|
136
|
+
return output.set("hour", Number.parseInt(hour.toString(), 10));
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
const handleDateInputBlur = (key, e) => {
|
|
140
|
+
const reserveValue = key === "startDateInput" ? startDateInput : endDateInput;
|
|
141
|
+
const valueForRollback = key === "startDateInput" ? startDate : endDate;
|
|
142
|
+
const execute = key === "startDateInput" ? setStartDate : setEndDate;
|
|
143
|
+
const executeForCalendar = key === "startDateInput" ? setDate1 : setDate2;
|
|
144
|
+
const prepareValueForCalendar = (newDate) => {
|
|
145
|
+
if (key === "endDateInput") return newDate;
|
|
146
|
+
return moment(newDate).isSameOrAfter(moment(date2), "month") ? moment(date2).subtract(1, "month") : moment(newDate);
|
|
147
|
+
};
|
|
148
|
+
const newDateValue = (e?.target)?.value ?? reserveValue;
|
|
149
|
+
const processedNewDate = processOverflow(newDateValue, valueForRollback, key);
|
|
150
|
+
execute(processedNewDate);
|
|
151
|
+
executeForCalendar(prepareValueForCalendar(processedNewDate));
|
|
152
|
+
doBlur(key, e);
|
|
153
|
+
};
|
|
154
|
+
const handleKeyPressed = (code, e, type) => {
|
|
155
|
+
if (code === 13) {
|
|
156
|
+
const syntheticEvent = {
|
|
157
|
+
target: e.target,
|
|
158
|
+
relatedTarget: null
|
|
159
|
+
};
|
|
160
|
+
handleDateInputBlur(type, syntheticEvent);
|
|
161
|
+
}
|
|
162
|
+
if (code === 27) doBlur(type, e);
|
|
163
|
+
};
|
|
164
|
+
const getStartHourItems = () => [...Array.from({ length: 24 }).keys()].map((hour) => ({
|
|
165
|
+
label: padTime(hour),
|
|
166
|
+
value: hour,
|
|
167
|
+
disabled: moment(startDate).isSame(endDate, "day") && endHour <= hour
|
|
168
|
+
}));
|
|
169
|
+
const getEndHourItems = () => [...Array.from({ length: 24 }).keys()].map((hour) => ({
|
|
170
|
+
label: padTime(hour + 1),
|
|
171
|
+
value: hour === 23 ? 0 : hour + 1,
|
|
172
|
+
disabled: (moment(startDate).isSame(endDate, "day") || moment(startDate).isSame(moment(endDate).subtract(1, "days"), "day") && endHour === 0) && hour < startHour
|
|
173
|
+
}));
|
|
174
|
+
const renderButtons = () => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Button, {
|
|
175
|
+
className: "date-picker__button",
|
|
176
|
+
onClick: () => onCancel?.(),
|
|
177
|
+
variant: buttonsTypes?.cancel,
|
|
178
|
+
children: txt?.buttons?.cancel || "Cancel"
|
|
179
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
180
|
+
className: "date-picker__button",
|
|
181
|
+
variant: buttonsTypes?.apply,
|
|
182
|
+
disabled: !startDate || !endDate,
|
|
183
|
+
onClick: () => onChange?.({
|
|
184
|
+
start: moment(startDate).format(MAIN_FORMAT),
|
|
185
|
+
end: moment(endDate).format(MAIN_FORMAT),
|
|
186
|
+
startPrevDate: moment(startPrevDate).format(MAIN_FORMAT),
|
|
187
|
+
endPrevDate: moment(endPrevDate).format(MAIN_FORMAT),
|
|
188
|
+
compare: isCompare
|
|
189
|
+
}),
|
|
190
|
+
children: txt?.buttons?.apply || "apply"
|
|
191
|
+
})] });
|
|
192
|
+
const renderPreviousPeriod = () => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
193
|
+
txt?.labels?.previousPeriod || "",
|
|
194
|
+
":",
|
|
195
|
+
" ",
|
|
196
|
+
/* @__PURE__ */ jsx("span", {
|
|
197
|
+
className: "date-picker__previous-period-interval",
|
|
198
|
+
children: title
|
|
199
|
+
})
|
|
200
|
+
] });
|
|
201
|
+
useEffect(() => {
|
|
202
|
+
if (moment(startDate).isSameOrAfter(endDate)) {
|
|
203
|
+
setStartDate(moment(endDate).subtract(1, "d"));
|
|
204
|
+
setDate1(moment(endDate).subtract(1, "d"));
|
|
205
|
+
}
|
|
206
|
+
}, [startDate]);
|
|
207
|
+
useEffect(() => {
|
|
208
|
+
if (moment(endDate).isSameOrBefore(startDate)) {
|
|
209
|
+
setEndDate(moment(startDate).add(1, "d"));
|
|
210
|
+
setDate2(moment(startDate).add(1, "d"));
|
|
211
|
+
}
|
|
212
|
+
}, [endDate]);
|
|
213
|
+
useEffect(() => {
|
|
214
|
+
if (moment(startDate).isBefore(moment(endDate), "month")) {
|
|
215
|
+
setDate1(moment(startDate));
|
|
216
|
+
setDate2(moment(endDate));
|
|
217
|
+
}
|
|
218
|
+
setInterval();
|
|
219
|
+
}, [startDate, endDate]);
|
|
220
|
+
useEffect(() => {
|
|
221
|
+
if (moment(date1).isSameOrAfter(moment(date2), "month") && !withMobileLogic) setDate1(moment(date2).subtract(1, "month"));
|
|
222
|
+
}, [date1, date2]);
|
|
223
|
+
useEffect(() => {
|
|
224
|
+
onChangeInterval(dateInterval);
|
|
225
|
+
}, [dateInterval]);
|
|
226
|
+
useEffect(() => {
|
|
227
|
+
if (typeof onChangeMobile === "function") onChangeMobile({
|
|
228
|
+
start: moment(startDate).format(MAIN_FORMAT),
|
|
229
|
+
end: moment(endDate).format(MAIN_FORMAT),
|
|
230
|
+
startPrevDate: moment(startPrevDate).format(MAIN_FORMAT),
|
|
231
|
+
endPrevDate: moment(endPrevDate).format(MAIN_FORMAT),
|
|
232
|
+
compare: isCompare
|
|
233
|
+
});
|
|
234
|
+
}, [
|
|
235
|
+
startDate,
|
|
236
|
+
endDate,
|
|
237
|
+
startPrevDate,
|
|
238
|
+
endPrevDate,
|
|
239
|
+
isCompare
|
|
240
|
+
]);
|
|
241
|
+
const renderRowStart = () => {
|
|
242
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
243
|
+
className: "date-picker__date-row",
|
|
244
|
+
children: [/* @__PURE__ */ jsx(DateInput, {
|
|
245
|
+
ref: startDateInputRef,
|
|
246
|
+
testId: `datepicker-${testId}_start-date-input`,
|
|
247
|
+
RC: "date-picker__date-input",
|
|
248
|
+
className: cn("date-picker__date-input"),
|
|
249
|
+
isFocused: isStartFocused,
|
|
250
|
+
value: startDateInput,
|
|
251
|
+
date: getCorrectedDateForDateInput("startDateInput", startDate),
|
|
252
|
+
disabled: !startDate,
|
|
253
|
+
onChange: setStartDateInput,
|
|
254
|
+
onFocus: (e) => handleDateInputFocus("startDateInput", e),
|
|
255
|
+
onBlur: (e) => handleDateInputBlur("startDateInput", e),
|
|
256
|
+
onKeyUp: (code, e) => handleKeyPressed(+code, e, "startDateInput")
|
|
257
|
+
}), /* @__PURE__ */ jsx(Dropdown, {
|
|
258
|
+
testId,
|
|
259
|
+
id: `datepicker-id-${mainId}_start-hour-select-input`,
|
|
260
|
+
className: cn("date-picker__hour-select-input"),
|
|
261
|
+
onChange: (value) => handleChangeStartHour(value),
|
|
262
|
+
value: startHour,
|
|
263
|
+
options: getStartHourItems(),
|
|
264
|
+
disabled: !startDate,
|
|
265
|
+
isDoNotPullOutListOfMainContainer,
|
|
266
|
+
withMobileLogic
|
|
267
|
+
})]
|
|
268
|
+
});
|
|
269
|
+
};
|
|
270
|
+
const renderRowEnd = () => {
|
|
271
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
272
|
+
className: "date-picker__date-row",
|
|
273
|
+
children: [/* @__PURE__ */ jsx(DateInput, {
|
|
274
|
+
ref: endDateInputRef,
|
|
275
|
+
testId: `datepicker-${testId}_start-date-input`,
|
|
276
|
+
RC: "date-picker__date-input",
|
|
277
|
+
className: cn("date-picker__date-input"),
|
|
278
|
+
isFocused: isEndFocused,
|
|
279
|
+
value: endDateInput,
|
|
280
|
+
date: getCorrectedDateForDateInput("endDateInput", endDate),
|
|
281
|
+
disabled: !endDate,
|
|
282
|
+
onChange: setEndDateInput,
|
|
283
|
+
onFocus: (e) => handleDateInputFocus("endDateInput", e),
|
|
284
|
+
onBlur: (e) => handleDateInputBlur("endDateInput", e),
|
|
285
|
+
onKeyUp: (code, e) => handleKeyPressed(+code, e, "endDateInput")
|
|
286
|
+
}), /* @__PURE__ */ jsx(Dropdown, {
|
|
287
|
+
testId,
|
|
288
|
+
id: `datepicker-id-${mainId}_end-hour-select-input`,
|
|
289
|
+
className: cn("date-picker__hour-select-input"),
|
|
290
|
+
onChange: (value) => handleChangeEndHour(value),
|
|
291
|
+
value: endHour,
|
|
292
|
+
options: getEndHourItems(),
|
|
293
|
+
disabled: !endDate,
|
|
294
|
+
isDoNotPullOutListOfMainContainer,
|
|
295
|
+
withMobileLogic
|
|
296
|
+
})]
|
|
297
|
+
});
|
|
298
|
+
};
|
|
299
|
+
const renderCalendarStart = () => {
|
|
300
|
+
return /* @__PURE__ */ jsx(RangeCalendar, {
|
|
301
|
+
testId,
|
|
302
|
+
className: "date-picker__calendar",
|
|
303
|
+
date: date1,
|
|
304
|
+
setDate: setDate1,
|
|
305
|
+
allowNext: withMobileLogic ? !moment(date1).startOf("month").isSameOrAfter(moment().startOf("day"), "months") : !isNearby,
|
|
306
|
+
startDate,
|
|
307
|
+
endDate,
|
|
308
|
+
startPrevDate,
|
|
309
|
+
endPrevDate,
|
|
310
|
+
onClick: handleClick,
|
|
311
|
+
limitRange,
|
|
312
|
+
isShortWeekNames,
|
|
313
|
+
minDate,
|
|
314
|
+
maxDate,
|
|
315
|
+
momentMinDate,
|
|
316
|
+
momentMaxDate
|
|
317
|
+
});
|
|
318
|
+
};
|
|
319
|
+
const renderCalendarEnd = () => {
|
|
320
|
+
return /* @__PURE__ */ jsx(RangeCalendar, {
|
|
321
|
+
className: "date-picker__calendar",
|
|
322
|
+
date: date2,
|
|
323
|
+
setDate: setDate2,
|
|
324
|
+
allowPrev: !isNearby,
|
|
325
|
+
startDate,
|
|
326
|
+
endDate,
|
|
327
|
+
startPrevDate,
|
|
328
|
+
endPrevDate,
|
|
329
|
+
onClick: handleClick,
|
|
330
|
+
isShortWeekNames,
|
|
331
|
+
minDate,
|
|
332
|
+
maxDate,
|
|
333
|
+
momentMinDate,
|
|
334
|
+
momentMaxDate,
|
|
335
|
+
isDontLimitFuture
|
|
336
|
+
});
|
|
337
|
+
};
|
|
338
|
+
const render = () => {
|
|
339
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
340
|
+
className: cn("date-picker", className),
|
|
341
|
+
children: [
|
|
342
|
+
/* @__PURE__ */ jsxs("div", {
|
|
343
|
+
className: "date-picker__header",
|
|
344
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
345
|
+
className: "date-picker__inputs-block",
|
|
346
|
+
children: [
|
|
347
|
+
renderRowStart(),
|
|
348
|
+
/* @__PURE__ */ jsx("div", {
|
|
349
|
+
className: "date-picker__inputs-separator date-picker__header--gray",
|
|
350
|
+
children: "—"
|
|
351
|
+
}),
|
|
352
|
+
renderRowEnd()
|
|
353
|
+
]
|
|
354
|
+
}), isCompare && !isCompareHidden && startDate && endDate && /* @__PURE__ */ jsx("div", {
|
|
355
|
+
className: "date-picker__previous-period",
|
|
356
|
+
children: renderPreviousPeriod()
|
|
357
|
+
})]
|
|
358
|
+
}),
|
|
359
|
+
/* @__PURE__ */ jsx("div", {
|
|
360
|
+
className: "date-picker__calendars",
|
|
361
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
362
|
+
className: "date-picker__calendars-wrapper",
|
|
363
|
+
children: [renderCalendarStart(), renderCalendarEnd()]
|
|
364
|
+
})
|
|
365
|
+
}),
|
|
366
|
+
/* @__PURE__ */ jsxs("div", {
|
|
367
|
+
className: cn("date-picker__footer", { "date-picker__footer_once-element": isCompareHidden }),
|
|
368
|
+
children: [!isCompareHidden ? /* @__PURE__ */ jsx("div", {
|
|
369
|
+
className: "date-picker__compare-block",
|
|
370
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
371
|
+
className: "mr5",
|
|
372
|
+
children: /* @__PURE__ */ jsx(Switcher, {
|
|
373
|
+
label: txt?.labels?.compare || "Compare",
|
|
374
|
+
isActive: isCompare,
|
|
375
|
+
onChange: () => {
|
|
376
|
+
onChangeCompare?.(!isCompare);
|
|
377
|
+
setIsCompare((state) => !state);
|
|
378
|
+
}
|
|
379
|
+
})
|
|
380
|
+
})
|
|
381
|
+
}) : /* @__PURE__ */ jsx("div", {}), /* @__PURE__ */ jsx("div", {
|
|
382
|
+
className: "date-picker__buttons-block",
|
|
383
|
+
children: renderButtons()
|
|
384
|
+
})]
|
|
385
|
+
})
|
|
386
|
+
]
|
|
387
|
+
});
|
|
388
|
+
};
|
|
389
|
+
const renderMobile = () => {
|
|
390
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
391
|
+
className: cn("date-picker", className),
|
|
392
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
393
|
+
className: "date-picker__header",
|
|
394
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
395
|
+
className: "date-picker__inputs-block",
|
|
396
|
+
children: [
|
|
397
|
+
renderRowStart(),
|
|
398
|
+
/* @__PURE__ */ jsx("div", {
|
|
399
|
+
className: "date-picker__inputs-separator date-picker__header--gray",
|
|
400
|
+
children: "—"
|
|
401
|
+
}),
|
|
402
|
+
renderRowEnd()
|
|
403
|
+
]
|
|
404
|
+
}), isCompare && !isCompareHidden && startDate && endDate && /* @__PURE__ */ jsx("div", {
|
|
405
|
+
className: "date-picker__previous-period",
|
|
406
|
+
children: renderPreviousPeriod()
|
|
407
|
+
})]
|
|
408
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
409
|
+
className: "date-picker__calendars",
|
|
410
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
411
|
+
className: "date-picker__calendars-wrapper",
|
|
412
|
+
children: renderCalendarStart()
|
|
413
|
+
})
|
|
414
|
+
})]
|
|
415
|
+
});
|
|
416
|
+
};
|
|
417
|
+
return withMobileLogic ? renderMobile() : render();
|
|
418
|
+
};
|
|
419
|
+
//#endregion
|
|
420
|
+
export { Datepicker as default };
|
|
421
|
+
|
|
422
|
+
//# sourceMappingURL=Datepicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Datepicker.js","names":[],"sources":["../../../../../../src/Atomic/FormElements/InputDateRange/components/Datepicker.tsx"],"sourcesContent":["import type { Moment } from 'moment-timezone';\n\nimport type { FocusEvent, KeyboardEvent, ReactElement, ReactNode, RefObject } from 'react';\n\nimport type { IDatepickerProps } from '../InputDateRange.interface';\nimport cn from 'classnames';\nimport moment from 'moment-timezone';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport Btn from '../../../UI/Button/Button';\n\nimport SelectInput from '../../Dropdown/Dropdown';\nimport Calendar from '../../RangeCalendar/RangeCalendar';\nimport Switcher from '../../Switcher/Switcher';\nimport {\n getActualDateRange,\n getIsDateValid,\n MAIN_FORMAT,\n MAIN_TIME_FORMAT,\n} from '../dependencies';\nimport DateInput from './DateInput';\n\nconst DATE_INPUT_FORMAT = 'MM/DD/YYYY';\n\nfunction padTime(time: number | string): string {\n return `${time.toString().padStart(2, '0')}:00`;\n}\n\nconst Datepicker: React.FC<IDatepickerProps> = (props): ReactElement => {\n const {\n txt,\n className,\n buttonsTypes = {},\n values = {},\n onChange,\n onChangeMobile,\n onChangeCompare,\n onCancel,\n getSelectedMode,\n onChangeInterval,\n isCompareHidden,\n limitRange,\n setActiveInterval,\n isShortWeekNames,\n minDate,\n maxDate,\n momentMinDate,\n momentMaxDate,\n isDontLimitFuture,\n testId,\n mainId,\n withMobileLogic,\n isDoNotPullOutListOfMainContainer,\n } = props;\n const { start = null, end = null, compare = false } = values;\n\n const startDateInputRef = useRef<Omit<HTMLInputElement, 'value'> | null>(null);\n const endDateInputRef = useRef<Omit<HTMLInputElement, 'value'> | null>(null);\n\n const [startDate, setStartDate] = useState<Moment | string>(\n getIsDateValid(start) ? moment(start) : '',\n );\n const [endDate, setEndDate] = useState<Moment | string>(\n getIsDateValid(end) ? moment(end) : '',\n );\n const dateInterval = getSelectedMode({ start: startDate, end: endDate });\n\n const [startDateInput, setStartDateInput] = useState<string | null>(null);\n const [endDateInput, setEndDateInput] = useState<string | null>(null);\n const [isStartFocused, setIsStartFocused] = useState<boolean>(false);\n const [isEndFocused, setIsEndFocused] = useState<boolean>(false);\n\n const [startHour, setStartHour] = useState<number>(start ? moment(start).hour() : 0);\n const [endHour, setEndHour] = useState<number>(end ? moment(end).hour() : 0);\n\n const [isCompare, setIsCompare] = useState<boolean>(compare);\n\n const [date1, setDate1] = useState<Moment>(\n start ? moment(start) : moment().subtract(1, 'month'),\n );\n const [date2, setDate2] = useState<Moment>(end ? moment(end) : moment());\n\n // ********************\n // Constants\n // ********************\n\n const isNearby = useMemo<boolean>(\n () => moment(date2).subtract(1, 'month').isSame(moment(date1), 'month'),\n [date1, date2],\n );\n\n const isPreviousPeriodShowed = useMemo<string | false | moment.Moment>(\n () => isCompare && !isCompareHidden && startDate && endDate,\n [startDate, endDate, isCompare],\n );\n\n const prevEndHour = useRef<number>(endHour);\n\n const startPrevDate = useMemo<Date | Moment | null>(() => {\n if (isPreviousPeriodShowed) {\n const intervalHoursCount = moment(endDate).diff(startDate, 'hours');\n return moment(startDate).subtract(intervalHoursCount, 'hours').toDate();\n }\n else {\n return null;\n }\n }, [startDate, endDate, isCompare]);\n\n const endPrevDate = useMemo<Date | Moment | string | null>(() => {\n if (isPreviousPeriodShowed) {\n return startDate;\n }\n else {\n return null;\n }\n }, [startDate, endDate, isCompare]);\n\n const title = useMemo<string>(() => {\n if (isCompare && !isCompareHidden && startDate && endDate) {\n return `${moment(startPrevDate).format('ll')} (${moment(startPrevDate).format(MAIN_TIME_FORMAT)}) - ${moment(\n endPrevDate,\n ).format('ll')} (${moment(endPrevDate).format(MAIN_TIME_FORMAT)})`;\n }\n else {\n return '';\n }\n }, [startDate, endDate, isCompare]);\n\n // ********************\n // Methods\n // ********************\n\n const subtractDay = (date: Date | Moment | string): Moment =>\n endHour === 0 ? moment(date).subtract(1, 'days') : moment(date);\n const addDay = (date: Date | Moment | string): Moment =>\n endHour === 0 ? moment(date).add(1, 'days') : moment(date);\n\n const getCorrectedDateForDateInput = (key: string, date: Date | Moment | string): Moment => {\n if (key === 'startDateInput') return moment(date);\n return subtractDay(moment(date));\n };\n\n const setInterval = (): void => {\n setActiveInterval?.(\n getActualDateRange({ start: startDate, end: endDate }).intervalKey as string,\n );\n };\n\n // ********************\n // Handlers\n // ********************\n\n const handleClick = (date: Date | Moment | string): void => {\n prevEndHour.current = 0;\n if (\n !startDate\n || (startDate\n && endDate\n && !(\n moment(startDate).add(1, 'd').isSame(endDate, 'day') && endHour === 0\n ))\n ) {\n setStartDate(moment(date).startOf('day'));\n setEndDate(moment(date).add(1, 'd').startOf('day'));\n setStartHour(0);\n setEndHour(0);\n }\n else if (moment(date).isBefore(moment(startDate), 'day')) {\n setEndDate(moment(startDate).add(1, 'd').startOf('day'));\n setStartDate(moment(date).set('hour', Number.parseInt(startHour.toString(), 10)));\n }\n else if (moment(date).isAfter(moment(startDate), 'day')) {\n setEndDate(moment(date).add(1, 'd').startOf('day'));\n }\n };\n\n const handleChangeStartHour = (val: string | number): void => {\n setStartHour(Number(val));\n setStartDate(moment(startDate || moment()).set('hour', Number(val)));\n };\n\n const handleChangeEndHour = (val: string | number): void => {\n const newHour = Number(val);\n setEndHour(newHour);\n let newEndDate = moment();\n\n if (endDate) {\n if (prevEndHour.current === 0 && newHour !== 0) {\n newEndDate = moment(endDate).subtract(1, 'days');\n }\n else if (prevEndHour.current !== 0 && newHour === 0) {\n newEndDate = moment(endDate).add(1, 'days');\n }\n }\n\n prevEndHour.current = newHour;\n setEndDate(moment(newEndDate).set('hour', newHour));\n };\n\n const handleDateInputFocus = (key: string, e: React.MouseEvent<HTMLDivElement, MouseEvent>): void => {\n const changeFlag\n = key === 'startDateInput' ? setIsStartFocused : setIsEndFocused;\n const set = key === 'startDateInput' ? setStartDateInput : setEndDateInput;\n const date = key === 'startDateInput' ? startDate : endDate;\n\n changeFlag(true);\n set(date ? getCorrectedDateForDateInput(key, date).format('L') : '');\n setTimeout(() => {\n const defaultTarget\n = key === 'startDateInput'\n ? startDateInputRef.current\n : endDateInputRef.current;\n const target = e?.target ?? defaultTarget;\n (target as HTMLInputElement).select?.();\n }, 0);\n };\n\n const doBlur = (type: string, e: React.MouseEvent<HTMLDivElement, MouseEvent>): void => {\n const executor\n = type === 'startDateInput' ? setIsStartFocused : setIsEndFocused;\n\n (e.target as HTMLElement).blur();\n executor(false);\n };\n\n const processOverflow = (newDateAsString: string, valueForRollback: string | Moment, key: string): string | Moment => {\n const newDateAsMomentObj = moment(newDateAsString, DATE_INPUT_FORMAT);\n\n // ? Если значение не валидно...\n if (!newDateAsMomentObj.isValid()) {\n // ? ... то откатываем к дате до набора руками\n return valueForRollback;\n }\n else {\n const beforeOfFuture = moment().endOf('day');\n const hour = key === 'startDateInput' ? startHour : endHour;\n\n let output;\n\n // ? Если есть минимальная дата и введенная меньше минимальной, то ставим минимальную\n if (minDate && newDateAsMomentObj.isBefore(momentMinDate)) {\n output = momentMinDate;\n }\n // ? Если есть максимальная дата и введенная больше максимальной, то ставим максимальную\n else if (maxDate && newDateAsMomentObj.isAfter(momentMaxDate)) {\n output = momentMaxDate;\n }\n // ? Если нет установки не ограничивать дату по будущему...\n else if (\n !isDontLimitFuture\n && newDateAsMomentObj.isAfter(beforeOfFuture)\n ) {\n output = beforeOfFuture.startOf('day');\n }\n else {\n output = newDateAsMomentObj;\n }\n\n if (key === 'endDateInput') {\n output = addDay(output as Moment);\n }\n\n return (output as Moment).set('hour', Number.parseInt(hour.toString(), 10));\n }\n };\n\n const handleDateInputBlur = (key: string, e: FocusEvent<HTMLInputElement>): void => {\n const reserveValue\n = key === 'startDateInput' ? startDateInput : endDateInput;\n const valueForRollback = key === 'startDateInput' ? startDate : endDate;\n\n const execute = key === 'startDateInput' ? setStartDate : setEndDate;\n const executeForCalendar = key === 'startDateInput' ? setDate1 : setDate2;\n const prepareValueForCalendar = (newDate: Moment): Moment => {\n if (key === 'endDateInput') return newDate;\n return moment(newDate).isSameOrAfter(moment(date2), 'month')\n ? moment(date2).subtract(1, 'month')\n : moment(newDate);\n };\n\n const newDateValue = (e?.target as HTMLInputElement)?.value ?? reserveValue;\n const processedNewDate = processOverflow(\n newDateValue,\n valueForRollback,\n key,\n );\n execute(processedNewDate);\n executeForCalendar(prepareValueForCalendar(processedNewDate as Moment));\n doBlur(key, e as any);\n };\n\n const handleKeyPressed = (code: number, e: KeyboardEvent<HTMLInputElement>, type: string): void => {\n if (code === 13) {\n const syntheticEvent = {\n target: e.target,\n relatedTarget: null,\n } as unknown as FocusEvent<HTMLInputElement>;\n handleDateInputBlur(type, syntheticEvent);\n }\n if (code === 27) doBlur(type, e as any);\n };\n\n // ********************\n // Render Functions\n // ********************\n\n const getStartHourItems = (): { label: string; value: number; disabled: boolean }[] =>\n [...Array.from({ length: 24 }).keys()].map(hour => ({\n label: padTime(hour),\n value: hour,\n disabled: moment(startDate).isSame(endDate, 'day') && endHour <= hour,\n }));\n const getEndHourItems = (): { label: string; value: number; disabled: boolean }[] =>\n [...Array.from({ length: 24 }).keys()].map(hour => ({\n label: padTime(hour + 1),\n value: hour === 23 ? 0 : hour + 1,\n disabled:\n (moment(startDate).isSame(endDate, 'day')\n || (moment(startDate).isSame(\n moment(endDate).subtract(1, 'days'),\n 'day',\n )\n && endHour === 0))\n && hour < startHour,\n }));\n\n const renderButtons = (): ReactNode => (\n <>\n <Btn\n className=\"date-picker__button\"\n onClick={() => onCancel?.()}\n variant={buttonsTypes?.cancel}\n >\n {txt?.buttons?.cancel || 'Cancel'}\n </Btn>\n <Btn\n className=\"date-picker__button\"\n variant={buttonsTypes?.apply}\n disabled={!startDate || !endDate}\n onClick={() =>\n onChange?.({\n start: moment(startDate).format(MAIN_FORMAT),\n end: moment(endDate).format(MAIN_FORMAT),\n startPrevDate: moment(startPrevDate).format(MAIN_FORMAT),\n endPrevDate: moment(endPrevDate).format(MAIN_FORMAT),\n compare: isCompare,\n })}\n >\n {txt?.buttons?.apply || 'apply'}\n </Btn>\n </>\n );\n\n const renderPreviousPeriod = (): ReactNode => (\n <>\n {txt?.labels?.previousPeriod || ''}\n :\n {' '}\n <span className=\"date-picker__previous-period-interval\">{title}</span>\n </>\n );\n\n // ********************\n // useEffects\n // ********************\n\n useEffect(() => {\n if (moment(startDate).isSameOrAfter(endDate)) {\n setStartDate(moment(endDate).subtract(1, 'd'));\n setDate1(moment(endDate).subtract(1, 'd'));\n }\n }, [startDate]);\n\n useEffect(() => {\n if (moment(endDate).isSameOrBefore(startDate)) {\n setEndDate(moment(startDate).add(1, 'd'));\n setDate2(moment(startDate).add(1, 'd'));\n }\n }, [endDate]);\n\n useEffect(() => {\n if (moment(startDate).isBefore(moment(endDate), 'month')) {\n setDate1(moment(startDate));\n setDate2(moment(endDate));\n }\n setInterval();\n }, [startDate, endDate]);\n\n useEffect(() => {\n if (\n moment(date1).isSameOrAfter(moment(date2), 'month')\n && !withMobileLogic\n ) {\n setDate1(moment(date2).subtract(1, 'month'));\n }\n }, [date1, date2]);\n\n useEffect(() => {\n onChangeInterval(dateInterval);\n }, [dateInterval]);\n\n useEffect(() => {\n if (typeof onChangeMobile === 'function') {\n onChangeMobile({\n start: moment(startDate).format(MAIN_FORMAT),\n end: moment(endDate).format(MAIN_FORMAT),\n startPrevDate: moment(startPrevDate).format(MAIN_FORMAT),\n endPrevDate: moment(endPrevDate).format(MAIN_FORMAT),\n compare: isCompare,\n });\n }\n }, [startDate, endDate, startPrevDate, endPrevDate, isCompare]);\n\n const renderRowStart = (): ReactNode => {\n return (\n <div className=\"date-picker__date-row\">\n <DateInput\n ref={startDateInputRef as RefObject<Omit<HTMLInputElement, 'value'>>}\n testId={`datepicker-${testId}_start-date-input`}\n RC=\"date-picker__date-input\"\n className={cn('date-picker__date-input')}\n isFocused={isStartFocused}\n value={startDateInput as string}\n date={getCorrectedDateForDateInput('startDateInput', startDate)}\n disabled={!startDate}\n onChange={setStartDateInput}\n onFocus={e => handleDateInputFocus('startDateInput', e)}\n onBlur={e => handleDateInputBlur('startDateInput', e)}\n onKeyUp={(code, e) => handleKeyPressed(+code, e, 'startDateInput')}\n />\n <SelectInput\n testId={testId}\n id={`datepicker-id-${mainId}_start-hour-select-input`}\n className={cn('date-picker__hour-select-input')}\n onChange={value => handleChangeStartHour(value)}\n value={startHour}\n options={getStartHourItems()}\n disabled={!startDate}\n isDoNotPullOutListOfMainContainer={isDoNotPullOutListOfMainContainer}\n withMobileLogic={withMobileLogic}\n />\n </div>\n );\n };\n const renderRowEnd = (): ReactNode => {\n return (\n <div className=\"date-picker__date-row\">\n <DateInput\n ref={endDateInputRef as RefObject<Omit<HTMLInputElement, 'value'>>}\n testId={`datepicker-${testId}_start-date-input`}\n RC=\"date-picker__date-input\"\n className={cn('date-picker__date-input')}\n isFocused={isEndFocused}\n value={endDateInput as string}\n date={getCorrectedDateForDateInput('endDateInput', endDate)}\n disabled={!endDate}\n onChange={setEndDateInput}\n onFocus={e => handleDateInputFocus('endDateInput', e)}\n onBlur={e => handleDateInputBlur('endDateInput', e)}\n onKeyUp={(code, e) => handleKeyPressed(+code, e, 'endDateInput')}\n />\n <SelectInput\n testId={testId}\n id={`datepicker-id-${mainId}_end-hour-select-input`}\n className={cn('date-picker__hour-select-input')}\n onChange={value => handleChangeEndHour(value)}\n value={endHour}\n options={getEndHourItems()}\n disabled={!endDate}\n isDoNotPullOutListOfMainContainer={isDoNotPullOutListOfMainContainer}\n withMobileLogic={withMobileLogic}\n />\n </div>\n );\n };\n\n const renderCalendarStart = (): ReactNode => {\n return (\n <Calendar\n testId={testId}\n className=\"date-picker__calendar\"\n date={date1}\n setDate={setDate1}\n allowNext={\n withMobileLogic\n ? !moment(date1)\n .startOf('month')\n .isSameOrAfter(moment().startOf('day'), 'months')\n : !isNearby\n }\n startDate={startDate}\n endDate={endDate}\n startPrevDate={startPrevDate}\n endPrevDate={endPrevDate}\n onClick={handleClick}\n limitRange={limitRange}\n isShortWeekNames={isShortWeekNames}\n minDate={minDate}\n maxDate={maxDate}\n momentMinDate={momentMinDate}\n momentMaxDate={momentMaxDate}\n />\n );\n };\n const renderCalendarEnd = (): ReactNode => {\n return (\n <Calendar\n className=\"date-picker__calendar\"\n date={date2}\n setDate={setDate2}\n allowPrev={!isNearby}\n startDate={startDate}\n endDate={endDate}\n startPrevDate={startPrevDate}\n endPrevDate={endPrevDate}\n onClick={handleClick}\n isShortWeekNames={isShortWeekNames}\n minDate={minDate}\n maxDate={maxDate}\n momentMinDate={momentMinDate}\n momentMaxDate={momentMaxDate}\n isDontLimitFuture={isDontLimitFuture}\n />\n );\n };\n\n const render = (): ReactElement => {\n return (\n <div className={cn('date-picker', className)}>\n <div className=\"date-picker__header\">\n <div className=\"date-picker__inputs-block\">\n {renderRowStart()}\n <div className=\"date-picker__inputs-separator date-picker__header--gray\">\n —\n </div>\n {renderRowEnd()}\n </div>\n {isCompare && !isCompareHidden && startDate && endDate && (\n <div className=\"date-picker__previous-period\">\n {renderPreviousPeriod()}\n </div>\n )}\n </div>\n\n <div className=\"date-picker__calendars\">\n <div className=\"date-picker__calendars-wrapper\">\n {renderCalendarStart()}\n {renderCalendarEnd()}\n </div>\n </div>\n <div\n className={cn('date-picker__footer', {\n 'date-picker__footer_once-element': isCompareHidden,\n })}\n >\n {!isCompareHidden\n ? (\n <div className=\"date-picker__compare-block\">\n <div className=\"mr5\">\n <Switcher\n label={txt?.labels?.compare || 'Compare'}\n isActive={isCompare}\n onChange={() => {\n onChangeCompare?.(!isCompare);\n setIsCompare(state => !state);\n }}\n />\n </div>\n </div>\n )\n : (\n <div />\n )}\n <div className=\"date-picker__buttons-block\">{renderButtons()}</div>\n </div>\n </div>\n );\n };\n const renderMobile = (): ReactElement => {\n return (\n <div className={cn('date-picker', className)}>\n <div className=\"date-picker__header\">\n <div className=\"date-picker__inputs-block\">\n {renderRowStart()}\n <div className=\"date-picker__inputs-separator date-picker__header--gray\">\n —\n </div>\n {renderRowEnd()}\n </div>\n {isCompare && !isCompareHidden && startDate && endDate && (\n <div className=\"date-picker__previous-period\">\n {renderPreviousPeriod()}\n </div>\n )}\n </div>\n\n <div className=\"date-picker__calendars\">\n <div className=\"date-picker__calendars-wrapper\">\n {renderCalendarStart()}\n </div>\n </div>\n </div>\n );\n };\n return withMobileLogic ? renderMobile() : render();\n}\n\nexport default Datepicker;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { capitalized } from "../../../../Functions/utils.js";
|
|
2
|
+
import useIsMobile from "../../../../Functions/useIsMobile/useIsMobile.js";
|
|
3
|
+
import Dropdown from "../../Dropdown/Dropdown.js";
|
|
4
|
+
import { CUSTOM_INTERVAL_KEY, INTERVALS } from "../dependencies.js";
|
|
5
|
+
import Datepicker from "./Datepicker.js";
|
|
6
|
+
import { useResize } from "../../../../Functions/useResize.js";
|
|
7
|
+
import Modal from "../../../UI/Modal/Modal.js";
|
|
8
|
+
import SelectItem from "./SelectItem.js";
|
|
9
|
+
import cn from "classnames";
|
|
10
|
+
import { useRef, useState } from "react";
|
|
11
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { createPortal } from "react-dom";
|
|
13
|
+
import moment from "moment-timezone";
|
|
14
|
+
//#region src/Atomic/FormElements/InputDateRange/components/OpenedPart.tsx
|
|
15
|
+
var OpenedPart = (props) => {
|
|
16
|
+
const { dateRangeContainerId, txt, buttonsTypes, actualValues, onChange = () => {}, isCompact = false, isIntervalsHidden = false, isCompareHidden = false, limitRange, isOptionsRight, current, setCurrent, isCompare, setIsCompare, toggleOff, isShortWeekNames, minDate, maxDate, momentMinDate, momentMaxDate, isDontLimitFuture, isListTop, mainId, testId, withMobileLogic, isDoNotPullOutListOfMainContainer, renderIntervals = [
|
|
17
|
+
"today",
|
|
18
|
+
"yesterday",
|
|
19
|
+
"thisWeek",
|
|
20
|
+
"lastWeek",
|
|
21
|
+
"last7Days",
|
|
22
|
+
"last14Days",
|
|
23
|
+
"last30Days",
|
|
24
|
+
"thisMonth",
|
|
25
|
+
"lastMonth",
|
|
26
|
+
"last6Months",
|
|
27
|
+
"thisYear",
|
|
28
|
+
"lastYear",
|
|
29
|
+
"allTime"
|
|
30
|
+
] } = props;
|
|
31
|
+
const { isMobile } = useIsMobile();
|
|
32
|
+
const boxRef = useRef();
|
|
33
|
+
const { elemPosition } = useResize(boxRef);
|
|
34
|
+
const [mobileChange, setMobileChange] = useState({});
|
|
35
|
+
const openedPartClass = cn("date-range-input__opened-part", "opened-part", { [`opened-part--${elemPosition}`]: elemPosition }, { "opened-part--top": isListTop });
|
|
36
|
+
const openedPartWrapperClass = cn("opened-part__wrapper", { "opened-part__wrapper_right-position-once-element": isOptionsRight && (isCompact || isIntervalsHidden) });
|
|
37
|
+
const filteredIntervals = renderIntervals ? Object.keys(INTERVALS).filter((key) => renderIntervals.includes(key)).reduce((result, key) => {
|
|
38
|
+
return {
|
|
39
|
+
...result,
|
|
40
|
+
[key]: INTERVALS?.[key]
|
|
41
|
+
};
|
|
42
|
+
}, {}) : INTERVALS;
|
|
43
|
+
const items = isCompact ? [...Object.keys(filteredIntervals)] : [...Object.keys(filteredIntervals), CUSTOM_INTERVAL_KEY];
|
|
44
|
+
const [activeInterval, setActiveInterval] = useState(actualValues?.intervalKey ?? "");
|
|
45
|
+
const handleItemClick = (item) => {
|
|
46
|
+
if (item !== "customDate") {
|
|
47
|
+
onChange({
|
|
48
|
+
intervalKey: item,
|
|
49
|
+
compare: isCompare
|
|
50
|
+
});
|
|
51
|
+
setTimeout(() => toggleOff(), 0);
|
|
52
|
+
}
|
|
53
|
+
setCurrent(item);
|
|
54
|
+
};
|
|
55
|
+
const getSelectedMode = (newValues) => {
|
|
56
|
+
const { start, end } = newValues;
|
|
57
|
+
if (moment(start).get("hour") !== 0 || moment(end).get("hour") !== 0) return CUSTOM_INTERVAL_KEY;
|
|
58
|
+
for (const [key, interval] of Object.entries(filteredIntervals)) if (moment(start).isSame(interval.start()) && moment(end).isSame(interval.end())) return key;
|
|
59
|
+
return CUSTOM_INTERVAL_KEY;
|
|
60
|
+
};
|
|
61
|
+
const renderDatepicker = () => {
|
|
62
|
+
return /* @__PURE__ */ jsx(Datepicker, {
|
|
63
|
+
mainId,
|
|
64
|
+
testId,
|
|
65
|
+
className: cn("opened-part__date-picker"),
|
|
66
|
+
buttonsTypes,
|
|
67
|
+
values: actualValues,
|
|
68
|
+
onChangeMobile: setMobileChange,
|
|
69
|
+
onChange: (data) => {
|
|
70
|
+
onChange({
|
|
71
|
+
intervalKey: current,
|
|
72
|
+
...data
|
|
73
|
+
});
|
|
74
|
+
toggleOff();
|
|
75
|
+
},
|
|
76
|
+
getSelectedMode,
|
|
77
|
+
onChangeInterval: (val) => setCurrent(val),
|
|
78
|
+
onChangeCompare: (data) => setIsCompare?.(data),
|
|
79
|
+
onCancel: toggleOff,
|
|
80
|
+
isCompareHidden,
|
|
81
|
+
limitRange,
|
|
82
|
+
setActiveInterval,
|
|
83
|
+
isShortWeekNames,
|
|
84
|
+
minDate,
|
|
85
|
+
maxDate,
|
|
86
|
+
momentMinDate,
|
|
87
|
+
momentMaxDate,
|
|
88
|
+
isDontLimitFuture,
|
|
89
|
+
withMobileLogic: withMobileLogic && isMobile,
|
|
90
|
+
isDoNotPullOutListOfMainContainer
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
const renderOpenedPart = () => {
|
|
94
|
+
return /* @__PURE__ */ jsx("div", {
|
|
95
|
+
className: openedPartClass,
|
|
96
|
+
ref: boxRef,
|
|
97
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
98
|
+
className: openedPartWrapperClass,
|
|
99
|
+
children: [!isIntervalsHidden && /* @__PURE__ */ jsx("div", {
|
|
100
|
+
className: cn("opened-part__intervals-list"),
|
|
101
|
+
children: items.map((item, index) => {
|
|
102
|
+
if (filteredIntervals[item]?.isHidden) return null;
|
|
103
|
+
return /* @__PURE__ */ jsx(SelectItem, {
|
|
104
|
+
testId,
|
|
105
|
+
item,
|
|
106
|
+
label: txt?.labels && txt?.labels[item] || filteredIntervals[item]?.label || (item === "customDate" ? "Custom Date" : item),
|
|
107
|
+
isActive: activeInterval === item,
|
|
108
|
+
onItemClick: () => handleItemClick(item),
|
|
109
|
+
disabled: !!(item === "customDate" || minDate && filteredIntervals[item]?.start?.()?.isBefore?.(momentMinDate))
|
|
110
|
+
}, index);
|
|
111
|
+
})
|
|
112
|
+
}), !isCompact && renderDatepicker()]
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
const renderMobileOpenedPart = () => {
|
|
117
|
+
return /* @__PURE__ */ jsxs(Modal, {
|
|
118
|
+
zIndex: 101,
|
|
119
|
+
variant: "title",
|
|
120
|
+
className: "modal-fin date-picker-modal",
|
|
121
|
+
isOpen: true,
|
|
122
|
+
title: "Select Interval",
|
|
123
|
+
onlyTitle: true,
|
|
124
|
+
confirmBtnLabel: "Apply",
|
|
125
|
+
onConfirm: () => {
|
|
126
|
+
onChange({
|
|
127
|
+
intervalKey: current,
|
|
128
|
+
...mobileChange
|
|
129
|
+
});
|
|
130
|
+
setMobileChange({});
|
|
131
|
+
toggleOff();
|
|
132
|
+
},
|
|
133
|
+
closeModal: () => {
|
|
134
|
+
setMobileChange({});
|
|
135
|
+
toggleOff();
|
|
136
|
+
},
|
|
137
|
+
onDecline: () => {
|
|
138
|
+
setMobileChange({});
|
|
139
|
+
toggleOff();
|
|
140
|
+
},
|
|
141
|
+
withMobileLogic,
|
|
142
|
+
children: [/* @__PURE__ */ jsx(Dropdown, {
|
|
143
|
+
label: "Select Interval",
|
|
144
|
+
value: activeInterval,
|
|
145
|
+
className: "dropdown-fin",
|
|
146
|
+
onChange: (v) => handleItemClick(v.toString()),
|
|
147
|
+
options: items?.filter((item) => !filteredIntervals[item]?.isHidden)?.map((item) => {
|
|
148
|
+
return {
|
|
149
|
+
label: capitalized(txt?.labels && txt?.labels[item] || filteredIntervals[item]?.label || (item === "customDate" ? "Custom Date" : item)),
|
|
150
|
+
value: item
|
|
151
|
+
};
|
|
152
|
+
}),
|
|
153
|
+
withMobileLogic,
|
|
154
|
+
sortAlphabetical: false
|
|
155
|
+
}), renderDatepicker()]
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
const getDateRangeContainer = () => {
|
|
159
|
+
return document.getElementById(dateRangeContainerId);
|
|
160
|
+
};
|
|
161
|
+
const renderDateRangeMobileContainer = () => {
|
|
162
|
+
const dateRangeContainer = getDateRangeContainer();
|
|
163
|
+
if (!dateRangeContainer) return /* @__PURE__ */ jsx(Fragment, {});
|
|
164
|
+
return createPortal(renderMobileOpenedPart(), dateRangeContainer);
|
|
165
|
+
};
|
|
166
|
+
return withMobileLogic && isMobile ? renderDateRangeMobileContainer() : renderOpenedPart();
|
|
167
|
+
};
|
|
168
|
+
//#endregion
|
|
169
|
+
export { OpenedPart as default };
|
|
170
|
+
|
|
171
|
+
//# sourceMappingURL=OpenedPart.js.map
|