@skbkontur/react-ui 4.1.0 → 4.1.1
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/CHANGELOG.md +15 -0
- package/README.md +1 -1
- package/cjs/components/Autocomplete/Autocomplete.js +8 -4
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +1 -5
- package/cjs/components/Button/Button.js +4 -12
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js +4 -7
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
- package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +15 -7
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
- package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +8 -2
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
- package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +3 -1
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/Gapped/Gapped.js +2 -2
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.js +3 -5
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Group/Group.js +74 -31
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +2 -13
- package/cjs/components/Kebab/Kebab.js +5 -29
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Modal/Modal.js +2 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +1 -1
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +1 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +1 -1
- package/cjs/components/Paging/Paging.js +3 -3
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +2 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.styles.js +4 -7
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +3 -4
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/Select/Select.js +30 -12
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +2 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +0 -1
- package/cjs/components/Spinner/Spinner.js +1 -5
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
- package/cjs/components/Textarea/TextareaCounter.js +5 -4
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +1 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.js +14 -2
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/Token/Token.styles.js +13 -6
- package/cjs/components/Token/Token.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.js +13 -10
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +5 -2
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js +2 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/hooks/useDrop.js +3 -1
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/internal/Calendar/Calendar.js +3 -3
- package/cjs/internal/Calendar/Calendar.js.map +1 -1
- package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
- package/cjs/internal/Calendar/MonthViewModel.js +36 -17
- package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js +3 -3
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +6 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +3 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +22 -11
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +4 -7
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
- package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
- package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
- package/cjs/internal/MaskedInput/MaskedInput.js +7 -2
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +12 -13
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +1 -0
- package/cjs/internal/Popup/Popup.js +8 -9
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +13 -0
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/PopupMenu/validatePositions.js +6 -6
- package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.js +6 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
- package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/icons/16px/index.d.ts +19 -19
- package/cjs/internal/icons/16px/index.js +37 -38
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/lib/animation/index.d.ts +1 -1
- package/cjs/lib/animation/index.js +3 -3
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/date/InternalDate.js +23 -9
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/date/InternalDateCalculator.js +16 -2
- package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
- package/cjs/lib/date/InternalDateGetter.js +23 -6
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/date/InternalDateTransformer.js +11 -2
- package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +31 -6
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/events/keyboard/extractCode.js +7 -5
- package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.d.ts +9 -0
- package/cjs/lib/rootNode/getRootNode.js +34 -6
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js +9 -1
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/stringUtils.js +3 -1
- package/cjs/lib/stringUtils.js.map +1 -1
- package/cjs/lib/styles/ColorFactory.js +9 -9
- package/cjs/lib/styles/ColorFactory.js.map +1 -1
- package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
- package/cjs/lib/styles/ColorHelpers.js +33 -10
- package/cjs/lib/styles/ColorHelpers.js.map +1 -1
- package/cjs/lib/styles/ColorObject.js +3 -2
- package/cjs/lib/styles/ColorObject.js.map +1 -1
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
- package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +5 -2
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.js +5 -1
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.js +7 -2
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/utils.d.ts +15 -0
- package/cjs/lib/utils.js +45 -9
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +6 -5
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Button/Button/Button.js +4 -10
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -5
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -7
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
- package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
- package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
- package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +7 -7
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
- package/components/FileUploader/FileUploader/FileUploader.js +4 -1
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/Gapped/Gapped/Gapped.js +2 -2
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -7
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/Group/Group/Group.js +62 -30
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js +3 -13
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +2 -13
- package/components/Modal/Modal/Modal.js +2 -1
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Paging/Paging/Paging.js +6 -5
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio.styles/Radio.styles.js +2 -1
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +2 -2
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/Select/Select/Select.js +26 -12
- package/components/Select/Select/Select.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +2 -1
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/Spinner/Spinner/Spinner.js +6 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +0 -1
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +1 -2
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +1 -1
- package/components/Token/Token/Token.js +12 -1
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.styles/Token.styles.js +11 -4
- package/components/Token/Token.styles/Token.styles.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +19 -14
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +5 -2
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +2 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/hooks/useDrop/useDrop.js +5 -1
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/internal/Calendar/Calendar/Calendar.js +6 -4
- package/internal/Calendar/Calendar/Calendar.js.map +1 -1
- package/internal/Calendar/CalendarDateShape.d.ts +1 -1
- package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
- package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -3
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +23 -15
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -17
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
- package/internal/DateSelect/DateSelect/DateSelect.js +21 -15
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +13 -16
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
- package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
- package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
- package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +8 -3
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +9 -14
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +8 -7
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +1 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +8 -0
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +4 -0
- package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
- package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +5 -2
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
- package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
- package/internal/icons/16px/index/index.js +21 -20
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/16px/index.d.ts +19 -19
- package/lib/animation/index/index.js +1 -1
- package/lib/animation/index/index.js.map +1 -1
- package/lib/animation/index.d.ts +1 -1
- package/lib/date/InternalDate/InternalDate.js +16 -1
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js +20 -6
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js +31 -4
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/events/keyboard/extractCode/extractCode.js +5 -5
- package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +35 -8
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/getRootNode.d.ts +9 -0
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +1 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +9 -1
- package/lib/stringUtils/stringUtils.js +4 -1
- package/lib/stringUtils/stringUtils.js.map +1 -1
- package/lib/styles/ColorFactory/ColorFactory.js +9 -9
- package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
- package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
- package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
- package/lib/styles/ColorHelpers.d.ts +1 -0
- package/lib/styles/ColorObject/ColorObject.js +2 -2
- package/lib/styles/ColorObject/ColorObject.js.map +1 -1
- package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
- package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +5 -2
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/utils/utils.js +42 -6
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +15 -0
- package/package.json +4 -3
- package/cjs/components/Button/Corners.d.ts +0 -6
- package/cjs/components/Button/Corners.js +0 -5
- package/cjs/components/Button/Corners.js.map +0 -1
- package/components/Button/Corners/Corners.js +0 -6
- package/components/Button/Corners/Corners.js.map +0 -1
- package/components/Button/Corners/package.json +0 -6
- package/components/Button/Corners.d.ts +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InternalDate.ts"],"names":["InternalDate","order","separator","langCode","defaultLangCode","value","components","emptyDateComponents","start","end","internalDateLocale","undefined","parseInternalValue","getComponentsRaw","getComponentsLikeNumber","InternalDateTransformer","dateComponentsStringToNumber","getSeparator","getOrder","getYear","year","getMonth","month","getDate","date","getRangeStart","getRangeEnd","setOrder","defaultDateComponentsOrder","setSeparator","defaultDateComponentsSeparator","setComponents","isNativeMonth","clone","shiftMonth","validate","checks","InternalDateValidateCheck","Native","setYear","setMonth","setDate","shiftYear","step","isLoop","isRange","isCutFeb","min","getMinValue","InternalDateComponentType","Year","max","getMaxValue","InternalDateCalculator","calcShiftValueDateComponent","Month","shiftDate","Date","setRangeStart","internalDate","setRangeEnd","get","type","InternalDateGetter","getValueDateComponent","set","InternalDateSetter","setValueDateComponent","shift","settings","shiftValueDateComponent","parseValue","parseValueToDate","InternalDateOrder","DMY","nextValue","Object","values","filter","isInternalDateValidateCheck","self","includes","NotNull","InternalDateValidator","checkForNull","Number","every","testParseToNumber","Limits","checkLimits","compareWithNativeDate","Range","checkRangePiecemeal","checkRangeFully","toNumber","toFragments","dateToFragments","YMD","withPad","map","valueWithPad","join","toString","withSeparator","Separator","toInternalString","dateToInternalString","toNativeFormat","duplicateOf","pattern","restore","prev","today","getTodayComponents","restoreYear","All","cutOffExcess","isIncomplete","isEmpty","some","component","isEqualComponentDate","compared","isEqual","isEqualDateValues","isEqualDateFormats","calcRangeStartDateComponent","getDefaultMin","calcRangeEndDateComponent","getDefaultMax"],"mappings":"4OAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;;;;;;;;AAeaA,Y;;;;;;;;AAQX,+BAA+G,+BAAJ,EAAI,SAA1FC,KAA0F,QAA1FA,KAA0F,CAAnFC,SAAmF,QAAnFA,SAAmF,sBAAxEC,QAAwE,CAAxEA,QAAwE,8BAA7DC,0BAA6D,iBAA5CC,KAA4C,QAA5CA,KAA4C,MALvGC,UAKuG,8BAL1DC,+BAK0D,OAHvGC,KAGuG,GAH1E,IAG0E,MAFvGC,GAEuG,GAF5E,IAE4E;AAC7G,SAAKR,KAAL,GAAaA,KAAb,WAAaA,KAAb,GAAsBS,+BAAmBP,QAAnB,EAA6BF,KAAnD;AACA,SAAKC,SAAL,GAAiBA,SAAjB,WAAiBA,SAAjB,GAA8BQ,+BAAmBP,QAAnB,EAA6BD,SAA3D;AACA,QAAIG,KAAK,KAAKM,SAAd,EAAyB;AACvB,WAAKC,kBAAL,CAAwBP,KAAxB;AACD;AACF,G;;AAEMQ,EAAAA,gB,GAAP,4BAAqD;AACnD,sCAAY,KAAKP,UAAjB;AACD,G;;AAEMQ,EAAAA,uB,GAAP,mCAA+D;AAC7D,WAAOC,iDAAwBC,4BAAxB,CAAqD,KAAKH,gBAAL,EAArD,CAAP;AACD,G;;AAEMI,EAAAA,Y,GAAP,wBAA6C;AAC3C,WAAO,KAAKf,SAAZ;AACD,G;;AAEMgB,EAAAA,Q,GAAP,oBAAqC;AACnC,WAAO,KAAKjB,KAAZ;AACD,G;;AAEMkB,EAAAA,O,GAAP,mBAA2C;AACzC,WAAO,KAAKb,UAAL,CAAgBc,IAAvB;AACD,G;;AAEMC,EAAAA,Q,GAAP,oBAA4C;AAC1C,WAAO,KAAKf,UAAL,CAAgBgB,KAAvB;AACD,G;;AAEMC,EAAAA,O,GAAP,mBAA2C;AACzC,WAAO,KAAKjB,UAAL,CAAgBkB,IAAvB;AACD,G;;AAEMC,EAAAA,a,GAAP,yBAA4C;AAC1C,WAAO,KAAKjB,KAAZ;AACD,G;;AAEMkB,EAAAA,W,GAAP,uBAA0C;AACxC,WAAO,KAAKjB,GAAZ;AACD,G;;AAEMkB,EAAAA,Q,GAAP,kBAAgB1B,KAAhB,EAAqF,KAArEA,KAAqE,cAArEA,KAAqE,GAA1C2B,sCAA0C;AACnF,SAAK3B,KAAL,GAAaA,KAAb;AACA,WAAO,IAAP;AACD,G;;AAEM4B,EAAAA,Y,GAAP,sBAAoB3B,SAApB,EAAqG,KAAjFA,SAAiF,cAAjFA,SAAiF,GAA9C4B,0CAA8C;AACnG,SAAK5B,SAAL,GAAiBA,SAAjB;AACA,WAAO,IAAP;AACD,G;;AAEM6B,EAAAA,a,GAAP,uBAAqBzB,UAArB,EAAmE0B,aAAnE,EAAwG,KAArCA,aAAqC,cAArCA,aAAqC,GAArB,KAAqB;AACtG,QAAI1B,UAAU,IAAI0B,aAAlB,EAAiC;AAC/B,UAAMC,KAAK,GAAG,KAAKA,KAAL,GAAaF,aAAb,CAA2BzB,UAA3B,EAAuC4B,UAAvC,CAAkD,CAAlD,CAAd;AACA,UAAID,KAAK,CAACE,QAAN,CAAe,EAAEC,MAAM,EAAE,CAACC,iCAA0BC,MAA3B,CAAV,EAAf,CAAJ,EAAoE;AAClE,aAAKhC,UAAL,8BAAuB2B,KAAK,CAACnB,uBAAN,EAAvB;AACD;AACD,aAAO,IAAP;AACD;AACD,SAAKR,UAAL,GAAkBA,UAAU,+BAASC,+BAAT,CAA5B;AACA,WAAO,IAAP;AACD,G;;AAEMgC,EAAAA,O,GAAP,iBAAenB,IAAf,EAA6D;AAC3D,SAAKd,UAAL,CAAgBc,IAAhB,GAAuBA,IAAvB;AACA,WAAO,IAAP;AACD,G;;AAEMoB,EAAAA,Q,GAAP,kBAAgBlB,KAAhB,EAA+D;AAC7D,SAAKhB,UAAL,CAAgBgB,KAAhB,GAAwBA,KAAxB;AACA,WAAO,IAAP;AACD,G;;AAEMmB,EAAAA,O,GAAP,iBAAejB,IAAf,EAA6D;AAC3D,SAAKlB,UAAL,CAAgBkB,IAAhB,GAAuBA,IAAvB;AACA,WAAO,IAAP;AACD,G;;AAEMkB,EAAAA,S,GAAP,mBAAiBC,IAAjB,UAA6G,iCAAlB,EAAkB,UAA5EC,MAA4E,SAA5EA,MAA4E,CAApEC,OAAoE,SAApEA,OAAoE,CAA3DC,QAA2D,SAA3DA,QAA2D;AAC3G,QAAMC,GAAG,GAAG,KAAKC,WAAL,CAAiBC,iCAA0BC,IAA3C,EAAiDL,OAAjD,CAAZ;AACA,QAAMM,GAAG,GAAG,KAAKC,WAAL,CAAiBH,iCAA0BC,IAA3C,EAAiD,EAAEL,OAAO,EAAPA,OAAF,EAAWC,QAAQ,EAARA,QAAX,EAAjD,CAAZ;AACA,gCAAiB,KAAKhC,uBAAL,EAAjB,CAAQM,IAAR,yBAAQA,IAAR;AACA,SAAKd,UAAL,CAAgBc,IAAhB,GAAuBiC,+CAAuBC,2BAAvB,CAAmDX,IAAnD,EAAyDvB,IAAzD,EAA+D2B,GAA/D,EAAoEI,GAApE,EAAyEP,MAAzE,CAAvB;AACA,WAAO,IAAP;AACD,G;;AAEMV,EAAAA,U,GAAP,oBAAkBS,IAAlB,UAA8G,iCAAlB,EAAkB,UAA5EC,MAA4E,SAA5EA,MAA4E,CAApEC,OAAoE,SAApEA,OAAoE,CAA3DC,QAA2D,SAA3DA,QAA2D;AAC5G,QAAMC,GAAG,GAAG,KAAKC,WAAL,CAAiBC,iCAA0BM,KAA3C,EAAkDV,OAAlD,CAAZ;AACA,QAAMM,GAAG,GAAG,KAAKC,WAAL,CAAiBH,iCAA0BM,KAA3C,EAAkD,EAAEV,OAAO,EAAPA,OAAF,EAAWC,QAAQ,EAARA,QAAX,EAAlD,CAAZ;AACA,iCAAkB,KAAKhC,uBAAL,EAAlB,CAAQQ,KAAR,0BAAQA,KAAR;AACA,SAAKhB,UAAL,CAAgBgB,KAAhB,GAAwB+B,+CAAuBC,2BAAvB,CAAmDX,IAAnD,EAAyDrB,KAAzD,EAAgEyB,GAAhE,EAAqEI,GAArE,EAA0EP,MAA1E,CAAxB;AACA,WAAO,IAAP;AACD,G;;AAEMY,EAAAA,S,GAAP,mBAAiBb,IAAjB,UAA6G,iCAAlB,EAAkB,UAA5EC,MAA4E,SAA5EA,MAA4E,CAApEC,OAAoE,SAApEA,OAAoE,CAA3DC,QAA2D,SAA3DA,QAA2D;AAC3G,QAAMC,GAAG,GAAG,KAAKC,WAAL,CAAiBC,iCAA0BQ,IAA3C,EAAiDZ,OAAjD,CAAZ;AACA,QAAMM,GAAG,GAAG,KAAKC,WAAL,CAAiBH,iCAA0BQ,IAA3C,EAAiD,EAAEZ,OAAO,EAAPA,OAAF,EAAWC,QAAQ,EAARA,QAAX,EAAjD,CAAZ;AACA,iCAAiB,KAAKhC,uBAAL,EAAjB,CAAQU,IAAR,0BAAQA,IAAR;AACA,SAAKlB,UAAL,CAAgBkB,IAAhB,GAAuB6B,+CAAuBC,2BAAvB,CAAmDX,IAAnD,EAAyDnB,IAAzD,EAA+DuB,GAA/D,EAAoEI,GAApE,EAAyEP,MAAzE,CAAvB;AACA,WAAO,IAAP;AACD,G;;AAEMc,EAAAA,a,GAAP,uBAAqBC,YAArB,EAAsE;AACpE,SAAKnD,KAAL,GAAamD,YAAb;AACA,WAAO,IAAP;AACD,G;;AAEMC,EAAAA,W,GAAP,qBAAmBD,YAAnB,EAAoE;AAClE,SAAKlD,GAAL,GAAWkD,YAAX;AACA,WAAO,IAAP;AACD,G;;AAEME,EAAAA,G,GAAP,aAAWC,IAAX,EAA6E;AAC3E,WAAOA,IAAI,KAAK,IAAT,GAAgBC,uCAAmBC,qBAAnB,CAAyCF,IAAzC,EAA+C,KAAKjD,gBAAL,EAA/C,CAAhB,GAA0F,IAAjG;AACD,G;;AAEMoD,EAAAA,G,GAAP,aAAWH,IAAX,EAAmDzD,KAAnD,EAAkG;AAChG,WAAOyD,IAAI,KAAK,IAAT,GAAgBI,uCAAmBC,qBAAnB,CAAyC,IAAzC,EAA+CL,IAA/C,EAAqDzD,KAArD,CAAhB,GAA8E,IAArF;AACD,G;;AAEM+D,EAAAA,K,GAAP;AACEN,EAAAA,IADF;AAEEnB,EAAAA,IAFF;AAGE0B,EAAAA,QAHF;AAIgB;AACd,WAAOP,IAAI,KAAK,IAAT,GAAgBI,uCAAmBI,uBAAnB,CAA2C,IAA3C,EAAiDR,IAAjD,EAAuDnB,IAAvD,EAA6D0B,QAA7D,CAAhB,GAAyF,IAAhG;AACD,G;;AAEME,EAAAA,U,GAAP,oBAAkBlE,KAAlB,EAA2D,KAAzCA,KAAyC,cAAzCA,KAAyC,GAAlB,EAAkB;AACzD,QAAMC,UAAU,GAAGS,iDAAwByD,gBAAxB,CAAyCnE,KAAzC,EAAgD,KAAKJ,KAArD,gCAAoEM,+BAApE,CAAnB;AACA,SAAKwB,aAAL,CAAmBzB,UAAnB;AACA,WAAO,IAAP;AACD,G;;AAEMM,EAAAA,kB,GAAP,4BAA0BP,KAA1B,EAAmE,KAAzCA,KAAyC,cAAzCA,KAAyC,GAAlB,EAAkB;AACjE,QAAMC,UAAU,GAAGS,iDAAwByD,gBAAxB,CAAyCnE,KAAzC,EAAgDoE,yBAAkBC,GAAlE;AACdnE,mCADc,CAAnB;;AAGA,SAAKwB,aAAL,CAAmBzB,UAAnB;AACA,WAAO,IAAP;AACD,G;;AAEM6B,EAAAA,Q,GAAP;;;;;;;;AAQiB,mCAAb,EAAa,UAPf2B,IAOe,SAPfA,IAOe,CANfa,SAMe,SANfA,SAMe,sBALfvC,MAKe,CALfA,MAKe,6BALNwC,MAAM,CAACC,MAAP,CAAcxC,gCAAd,EAAyCyC,MAAzC,CAA2EC,kCAA3E,CAKM;AACf;AACA,QAAIC,IAAkB,GAAG,IAAzB;AACA,QAAIlB,IAAI,KAAKnD,SAAb,EAAwB;AACtB,UAAMsB,KAAK,GAAG,KAAKA,KAAL,EAAd;AACA,UAAI0C,SAAS,KAAKhE,SAAlB,EAA6B;AAC3BsB,QAAAA,KAAK,CAACgC,GAAN,CAAUH,IAAV,EAAgBa,SAAhB;AACD;AACDK,MAAAA,IAAI,GAAG/C,KAAP;AACD;AACD;AACEG,IAAAA,MAAM,CAAC6C,QAAP,CAAgB5C,iCAA0B6C,OAA1C;AACA,KAACC,6CAAsBC,YAAtB,CAAmCJ,IAAI,CAACnE,gBAAL,EAAnC,EAA4DiD,IAA5D,CAFH;AAGE;AACA,aAAO,KAAP;AACD;AACD;AACE1B,IAAAA,MAAM,CAAC6C,QAAP,CAAgB5C,iCAA0BgD,MAA1C;AACA,KAACT,MAAM,CAACC,MAAP,CAAcG,IAAI,CAACnE,gBAAL,EAAd,EAAuCyE,KAAvC,CAA6CH,6CAAsBI,iBAAnE,CAFH;AAGE;AACA,aAAO,KAAP;AACD;AACD;AACEnD,IAAAA,MAAM,CAAC6C,QAAP,CAAgB5C,iCAA0BmD,MAA1C;AACA,KAACL,6CAAsBM,WAAtB,CAAkCT,IAAI,CAAClE,uBAAL,EAAlC,EAAkEgD,IAAlE,CAFH;AAGE;AACA,aAAO,KAAP;AACD;AACD;AACE1B,IAAAA,MAAM,CAAC6C,QAAP,CAAgB5C,iCAA0BC,MAA1C;AACA,KAAC6C,6CAAsBO,qBAAtB,CAA4CV,IAAI,CAAClE,uBAAL,EAA5C,CAFH;AAGE;AACA,aAAO,KAAP;AACD;AACD,QAAIsB,MAAM,CAAC6C,QAAP,CAAgB5C,iCAA0BsD,KAA1C,CAAJ,EAAsD;AACpD,aAAO7B,IAAI,KAAKnD,SAAT;AACHwE,mDAAsBS,mBAAtB;AACE9B,MAAAA,IADF;AAEEkB,MAAAA,IAAI,CAAClE,uBAAL,EAFF;AAGEkE,MAAAA,IAAI,CAACxE,KAAL,IAAcwE,IAAI,CAACxE,KAAL,CAAWM,uBAAX,EAHhB;AAIEkE,MAAAA,IAAI,CAACvE,GAAL,IAAYuE,IAAI,CAACvE,GAAL,CAASK,uBAAT,EAJd,CADG;;AAOHqE,mDAAsBU,eAAtB;AACEb,MAAAA,IAAI,CAACc,QAAL,EADF;AAEEd,MAAAA,IAAI,CAACxE,KAAL,IAAcwE,IAAI,CAACxE,KAAL,CAAWsF,QAAX,EAFhB;AAGEd,MAAAA,IAAI,CAACvE,GAAL,IAAYuE,IAAI,CAACvE,GAAL,CAASqF,QAAT,EAHd,CAPJ;;AAYD;AACD,WAAO,IAAP;AACD,G;;AAEMC,EAAAA,W,GAAP;AACE1B,EAAAA,QADF;AAEE/D,EAAAA,UAFF;AAG0B,OAFxB+D,QAEwB,cAFxBA,QAEwB,GAFoB,EAEpB,MADxB/D,UACwB,cADxBA,UACwB,GADgB,KAAKO,gBAAL,EAChB;AACxB,WAAOE,iDAAwBiF,eAAxB,CAAwC1F,UAAxC;AACLL,MAAAA,KAAK,EAAE,KAAKA,KADP;AAELC,MAAAA,SAAS,EAAE,KAAKA,SAFX;AAGFmE,IAAAA,QAHE,EAAP;;AAKD;;AAED;AACF;AACA;AACA,K;AACSyB,EAAAA,Q,GAAP,oBAA0B;AACxB,WAAOT,MAAM;AACX,SAAKU,WAAL,CAAiB,EAAE9F,KAAK,EAAEwE,yBAAkBwB,GAA3B,EAAgCC,OAAO,EAAE,IAAzC,EAAjB;AACGC,IAAAA,GADH,CACO,sBAAGC,YAAH,SAAGA,YAAH,QAAsBA,YAAtB,EADP;AAEGC,IAAAA,IAFH,CAEQ,EAFR,CADW,CAAb;;AAKD,G;;AAEMC,EAAAA,Q,GAAP,kBAAgBjC,QAAhB,EAAwE,KAAxDA,QAAwD,cAAxDA,QAAwD,GAAZ,EAAY;AACtE,WAAO,KAAK0B,WAAL,0BAAmBG,OAAO,EAAE,IAA5B,EAAkCK,aAAa,EAAE,IAAjD,IAA0DlC,QAA1D;AACJS,IAAAA,MADI,CACG,sBAAGzE,KAAH,SAAGA,KAAH,QAAeA,KAAK,KAAK,IAAzB,EADH;AAEJ8F,IAAAA,GAFI,CAEA,sBAAGrC,IAAH,SAAGA,IAAH,CAASsC,YAAT,SAASA,YAAT,CAAuB/F,KAAvB,SAAuBA,KAAvB;AACHgE,QAAAA,QAAQ,CAAC6B,OAAT,IAAoBpC,IAAI,KAAKb,iCAA0BuD,SAAvD,GAAmEJ,YAAnE,GAAkF/F,KAD/E,GAFA;;AAKJgG,IAAAA,IALI,CAKC,EALD,CAAP;AAMD,G;;AAEMI,EAAAA,gB,GAAP,4BAAkC;AAChC,WAAO1F,iDAAwB2F,oBAAxB,CAA6C,KAAK7F,gBAAL,EAA7C,CAAP;AACD,G;;AAEM8F,EAAAA,c,GAAP,0BAA6D;AAC3D,QAAMrG,UAAU,GAAG,KAAKQ,uBAAL,EAAnB;AACA,QAAIqE,6CAAsBO,qBAAtB,CAA4CpF,UAA5C,CAAJ,EAA6D;AAC3D,wCAAYA,UAAZ,IAAwBgB,KAAK,EAAEhB,UAAU,CAACgB,KAAX,GAAmB,CAAlD;AACD;AACD,WAAO,IAAP;AACD,G;;AAEMW,EAAAA,K,GAAP,iBAA6B;AAC3B,WAAO,IAAIjC,YAAJ,CAAiB,EAAEC,KAAK,EAAE,KAAKA,KAAd,EAAqBC,SAAS,EAAE,KAAKA,SAArC,EAAjB;AACJ6B,IAAAA,aADI,4BACe,KAAKzB,UADpB;AAEJoD,IAAAA,aAFI,CAEU,KAAKlD,KAAL,IAAc,KAAKA,KAAL,CAAWyB,KAAX,EAFxB;AAGJ2B,IAAAA,WAHI,CAGQ,KAAKnD,GAAL,IAAY,KAAKA,GAAL,CAASwB,KAAT,EAHpB,CAAP;AAID,G;;AAEM2E,EAAAA,W,GAAP,qBAAmBC,OAAnB,EAAwD;AACtD,WAAO,KAAK9E,aAAL,CAAmB8E,OAAO,CAAChG,gBAAR,EAAnB,CAAP;AACD,G;;AAEMiG,EAAAA,O,GAAP,iBAAehD,IAAf,EAA4E,KAA7DA,IAA6D,cAA7DA,IAA6D,GAApB,IAAoB;AAC1E,QAAMiD,IAAI,GAAG,KAAKlG,gBAAL,EAAb;AACA,QAAMmG,KAAK,GAAGjD,uCAAmBkD,kBAAnB,EAAd;;AAEA,QAAIF,IAAI,CAAC3F,IAAL,KAAc,IAAd,IAAsB2F,IAAI,CAACzF,KAAL,KAAe,IAArC,IAA6CyF,IAAI,CAACvF,IAAL,KAAc,IAA/D,EAAqE;AACnE,aAAO,IAAP;AACD;;AAED,QAAM0F,WAAW;AACfH,IAAAA,IAAI,CAAC3F,IAAL,KAAc,IAAd,IAAsB+D,6CAAsBI,iBAAtB,CAAwCwB,IAAI,CAAC3F,IAA7C,CAAtB;AACI2F,IAAAA,IAAI,CAAC3F,IAAL,GAAY,EAAZ,IAAkB2F,IAAI,CAAC3F,IAAL,GAAY,GAA9B;AACEiE,IAAAA,MAAM,CAAC0B,IAAI,CAAC3F,IAAN,CAAN,GAAoB,IADtB;AAEE2F,IAAAA,IAAI,CAAC3F,IAAL,GAAY,CAAZ,IAAiB2F,IAAI,CAAC3F,IAAL,GAAY,EAA7B;AACAiE,IAAAA,MAAM,CAAC0B,IAAI,CAAC3F,IAAN,CAAN,GAAoB,IADpB;AAEA2F,IAAAA,IAAI,CAAC3F,IALX;AAMI4F,IAAAA,KAAK,CAAC5F,IAPZ;AAQA;AACG0C,IAAAA,IAAI,KAAK,IAAT,IAAiBoD,WAAW,KAAKH,IAAI,CAAC3F,IAAvC;AACA0C,IAAAA,IAAI,KAAKb,iCAA0BC,IADnC;AAEAY,IAAAA,IAAI,KAAKb,iCAA0BkE,GAHrC;AAIE;AACA,WAAK5E,OAAL,CAAa2E,WAAb;AACD;AACD;AACGpD,IAAAA,IAAI,KAAK,IAAT,IAAiBiD,IAAI,CAACzF,KAAL,KAAe,IAAjC;AACAwC,IAAAA,IAAI,KAAKb,iCAA0BM,KADnC;AAEAO,IAAAA,IAAI,KAAKb,iCAA0BkE,GAHrC;AAIE;AACA,WAAK3E,QAAL,CAAcwE,KAAK,CAAC1F,KAApB;AACD;AACD;AACGwC,IAAAA,IAAI,KAAK,IAAT,IAAiBiD,IAAI,CAACvF,IAAL,KAAc,IAAhC;AACAsC,IAAAA,IAAI,KAAKb,iCAA0BQ,IADnC;AAEAK,IAAAA,IAAI,KAAKb,iCAA0BkE,GAHrC;AAIE;AACA,WAAK1E,OAAL,CAAauE,KAAK,CAACxF,IAAnB;AACD;AACD,WAAO,IAAP;AACD,G;;AAEM4F,EAAAA,Y,GAAP;AACEtD,EAAAA,IADF;;AAGgB,OAFdA,IAEc,cAFdA,IAEc,GAF2B,IAE3B,kCAD8D,EAC9D,+BADZlB,MACY,CADZA,MACY,6BADH,KACG,gBADIC,OACJ,SADIA,OACJ,wBADaC,QACb,CADaA,QACb,+BADwB,KACxB;AACd,2BAA8B,KAAKxC,UAAnC,CAAQc,IAAR,oBAAQA,IAAR,CAAcE,KAAd,oBAAcA,KAAd,CAAqBE,IAArB,oBAAqBA,IAArB;AACA,QAAI,CAACsC,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAKb,iCAA0BC,IAArD,KAA8DiC,6CAAsBI,iBAAtB,CAAwCnE,IAAxC,CAAlE,EAAiH;AAC/G,WAAKsB,SAAL,CAAe,CAAf,EAAkB,EAAEE,MAAM,EAANA,MAAF,EAAUC,OAAO,EAAPA,OAAV,EAAmBC,QAAQ,EAARA,QAAnB,EAAlB;AACD;AACD,QAAI,CAACgB,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAKb,iCAA0BM,KAArD,KAA+D4B,6CAAsBI,iBAAtB,CAAwCjE,KAAxC,CAAnE,EAAmH;AACjH,WAAKY,UAAL,CAAgB,CAAhB,EAAmB,EAAEU,MAAM,EAANA,MAAF,EAAUC,OAAO,EAAPA,OAAV,EAAmBC,QAAQ,EAARA,QAAnB,EAAnB;AACD;AACD,QAAI,CAACgB,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAKb,iCAA0BQ,IAArD,KAA8D0B,6CAAsBI,iBAAtB,CAAwC/D,IAAxC,CAAlE,EAAiH;AAC/G,WAAKgC,SAAL,CAAe,CAAf,EAAkB,EAAEZ,MAAM,EAANA,MAAF,EAAUC,OAAO,EAAPA,OAAV,EAAmBC,QAAQ,EAARA,QAAnB,EAAlB;AACD;AACD,WAAO,IAAP;AACD,G;;AAEMuE,EAAAA,Y,GAAP,wBAA+B;AAC7B,WAAO,CAAC,KAAKC,OAAL,EAAD,IAAmB1C,MAAM,CAACC,MAAP,CAAc,KAAKvE,UAAnB,EAA+BiH,IAA/B,CAAoC,UAACC,SAAD,UAAeA,SAAS,KAAK,IAA7B,EAApC,CAA1B;AACD,G;;AAEMF,EAAAA,O,GAAP,mBAA0B;AACxB,WAAO1C,MAAM,CAACC,MAAP,CAAc,KAAKvE,UAAnB,EAA+BgF,KAA/B,CAAqC,UAACkC,SAAD,UAAeA,SAAS,KAAK,IAA7B,EAArC,CAAP;AACD,G;;AAEMC,EAAAA,oB,GAAP,8BAA4B3D,IAA5B,EAAoE4D,QAApE,EAAqG;AACnG,WAAO,KAAK7D,GAAL,CAASC,IAAT,MAAmB4D,QAAQ,CAAC7D,GAAT,CAAaC,IAAb,CAA1B;AACD,G;;AAEM6D,EAAAA,O,GAAP,iBAAeD,QAAf,EAAgD;AAC9C;AACEvC,mDAAsByC,iBAAtB,CAAwC,IAAxC,EAA8CF,QAA9C;AACAvC,mDAAsB0C,kBAAtB,CAAyC,IAAzC,EAA+CH,QAA/C,CAFF;;AAID,G;;AAEO1E,EAAAA,W,GAAR,qBAAoBc,IAApB,EAAqDjB,OAArD,EAAgF;AAC9E,QAAIA,OAAO,KAAK,IAAZ,IAAoB,KAAKrC,KAAL,KAAe,IAAvC,EAA6C;AAC3C,aAAO6E,MAAM;AACXhC,qDAAuByE,2BAAvB;AACEhE,MAAAA,IADF;AAEE,WAAKhD,uBAAL,EAFF;AAGE,WAAKN,KAAL,CAAWM,uBAAX,EAHF,CADW,CAAb;;;AAOD;AACD,WAAOiD,uCAAmBgE,aAAnB,CAAiCjE,IAAjC,CAAP;AACD,G;;AAEOV,EAAAA,W,GAAR;AACEU,EAAAA,IADF;;AAGU,oCAD2D,EAC3D,UADNjB,OACM,UADNA,OACM,CADGC,QACH,UADGA,QACH;AACR,QAAID,OAAO,IAAI,KAAKpC,GAAL,KAAa,IAA5B,EAAkC;AAChC,aAAO4E,MAAM;AACXhC,qDAAuB2E,yBAAvB;AACElE,MAAAA,IADF;AAEE,WAAKhD,uBAAL,EAFF;AAGE,WAAKL,GAAL,CAASK,uBAAT,EAHF,CADW,CAAb;;;AAOD;AACD,QAAI,CAACgC,QAAL,EAAe;AACb,aAAOiB,uCAAmBkE,aAAnB,CAAiCnE,IAAjC,CAAP;AACD;AACD,WAAOC,uCAAmBkE,aAAnB,CAAiCnE,IAAjC,EAAuC,KAAKhD,uBAAL,EAAvC,CAAP;AACD,G","sourcesContent":["import { defaultLangCode } from '../locale/constants';\n\nimport { defaultDateComponentsOrder, defaultDateComponentsSeparator, emptyDateComponents } from './constants';\nimport { InternalDateCalculator } from './InternalDateCalculator';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport { InternalDateSetter } from './InternalDateSetter';\nimport { InternalDateTransformer } from './InternalDateTransformer';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport { internalDateLocale } from './localeSets';\nimport {\n InternalDateChangeSettings,\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateConstructorProps,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n InternalDateValidateCheck,\n isInternalDateValidateCheck,\n} from './types';\n\nexport class InternalDate {\n private order: InternalDateOrder;\n private separator: InternalDateSeparator;\n private components: InternalDateComponentsRaw = { ...emptyDateComponents };\n\n private start: InternalDate | null = null;\n private end: InternalDate | null = null;\n\n public constructor({ order, separator, langCode = defaultLangCode, value }: InternalDateConstructorProps = {}) {\n this.order = order ?? internalDateLocale[langCode].order;\n this.separator = separator ?? internalDateLocale[langCode].separator;\n if (value !== undefined) {\n this.parseInternalValue(value);\n }\n }\n\n public getComponentsRaw(): InternalDateComponentsRaw {\n return { ...this.components };\n }\n\n public getComponentsLikeNumber(): InternalDateComponentsNumber {\n return InternalDateTransformer.dateComponentsStringToNumber(this.getComponentsRaw());\n }\n\n public getSeparator(): InternalDateSeparator {\n return this.separator;\n }\n\n public getOrder(): InternalDateOrder {\n return this.order;\n }\n\n public getYear(): InternalDateComponentRaw {\n return this.components.year;\n }\n\n public getMonth(): InternalDateComponentRaw {\n return this.components.month;\n }\n\n public getDate(): InternalDateComponentRaw {\n return this.components.date;\n }\n\n public getRangeStart(): InternalDate | null {\n return this.start;\n }\n\n public getRangeEnd(): InternalDate | null {\n return this.end;\n }\n\n public setOrder(order: InternalDateOrder = defaultDateComponentsOrder): InternalDate {\n this.order = order;\n return this;\n }\n\n public setSeparator(separator: InternalDateSeparator = defaultDateComponentsSeparator): InternalDate {\n this.separator = separator;\n return this;\n }\n\n public setComponents(components: InternalDateComponentsRaw | null, isNativeMonth = false): InternalDate {\n if (components && isNativeMonth) {\n const clone = this.clone().setComponents(components).shiftMonth(1);\n if (clone.validate({ checks: [InternalDateValidateCheck.Native] })) {\n this.components = { ...clone.getComponentsLikeNumber() };\n }\n return this;\n }\n this.components = components || { ...emptyDateComponents };\n return this;\n }\n\n public setYear(year: InternalDateComponentRaw): InternalDate {\n this.components.year = year;\n return this;\n }\n\n public setMonth(month: InternalDateComponentRaw): InternalDate {\n this.components.month = month;\n return this;\n }\n\n public setDate(date: InternalDateComponentRaw): InternalDate {\n this.components.date = date;\n return this;\n }\n\n public shiftYear(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Year, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Year, { isRange, isCutFeb });\n const { year } = this.getComponentsLikeNumber();\n this.components.year = InternalDateCalculator.calcShiftValueDateComponent(step, year, min, max, isLoop);\n return this;\n }\n\n public shiftMonth(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Month, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Month, { isRange, isCutFeb });\n const { month } = this.getComponentsLikeNumber();\n this.components.month = InternalDateCalculator.calcShiftValueDateComponent(step, month, min, max, isLoop);\n return this;\n }\n\n public shiftDate(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Date, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Date, { isRange, isCutFeb });\n const { date } = this.getComponentsLikeNumber();\n this.components.date = InternalDateCalculator.calcShiftValueDateComponent(step, date, min, max, isLoop);\n return this;\n }\n\n public setRangeStart(internalDate: InternalDate | null): InternalDate {\n this.start = internalDate;\n return this;\n }\n\n public setRangeEnd(internalDate: InternalDate | null): InternalDate {\n this.end = internalDate;\n return this;\n }\n\n public get(type: InternalDateComponentType | null): InternalDateComponentRaw {\n return type !== null ? InternalDateGetter.getValueDateComponent(type, this.getComponentsRaw()) : null;\n }\n\n public set(type: InternalDateComponentType | null, value: InternalDateComponentRaw): InternalDate {\n return type !== null ? InternalDateSetter.setValueDateComponent(this, type, value) : this;\n }\n\n public shift(\n type: InternalDateComponentType | null,\n step: number,\n settings?: InternalDateChangeSettings,\n ): InternalDate {\n return type !== null ? InternalDateSetter.shiftValueDateComponent(this, type, step, settings) : this;\n }\n\n public parseValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, this.order) || { ...emptyDateComponents };\n this.setComponents(components);\n return this;\n }\n\n public parseInternalValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, InternalDateOrder.DMY) || {\n ...emptyDateComponents,\n };\n this.setComponents(components);\n return this;\n }\n\n public validate({\n type,\n nextValue,\n checks = Object.values(InternalDateValidateCheck).filter<InternalDateValidateCheck>(isInternalDateValidateCheck),\n }: {\n type?: InternalDateComponentType;\n nextValue?: InternalDateComponentRaw;\n checks?: InternalDateValidateCheck[];\n } = {}): boolean {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let self: InternalDate = this;\n if (type !== undefined) {\n const clone = this.clone();\n if (nextValue !== undefined) {\n clone.set(type, nextValue);\n }\n self = clone;\n }\n if (\n checks.includes(InternalDateValidateCheck.NotNull) &&\n !InternalDateValidator.checkForNull(self.getComponentsRaw(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Number) &&\n !Object.values(self.getComponentsRaw()).every(InternalDateValidator.testParseToNumber)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Limits) &&\n !InternalDateValidator.checkLimits(self.getComponentsLikeNumber(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Native) &&\n !InternalDateValidator.compareWithNativeDate(self.getComponentsLikeNumber())\n ) {\n return false;\n }\n if (checks.includes(InternalDateValidateCheck.Range)) {\n return type !== undefined\n ? InternalDateValidator.checkRangePiecemeal(\n type,\n self.getComponentsLikeNumber(),\n self.start && self.start.getComponentsLikeNumber(),\n self.end && self.end.getComponentsLikeNumber(),\n )\n : InternalDateValidator.checkRangeFully(\n self.toNumber(),\n self.start && self.start.toNumber(),\n self.end && self.end.toNumber(),\n );\n }\n return true;\n }\n\n public toFragments(\n settings: InternalDateToFragmentsSettings = {},\n components: InternalDateComponentsRaw = this.getComponentsRaw(),\n ): InternalDateFragment[] {\n return InternalDateTransformer.dateToFragments(components, {\n order: this.order,\n separator: this.separator,\n ...settings,\n });\n }\n\n /**\n * Перевод даты в числовое представление (**НЕ** аналог `timestamp`)\n * Предназначено для быстрого сравнивания дат `<=>`\n */\n public toNumber(): number {\n return Number(\n this.toFragments({ order: InternalDateOrder.YMD, withPad: true })\n .map(({ valueWithPad }) => valueWithPad)\n .join(''),\n );\n }\n\n public toString(settings: InternalDateToFragmentsSettings = {}): string {\n return this.toFragments({ withPad: true, withSeparator: true, ...settings })\n .filter(({ value }) => value !== null)\n .map(({ type, valueWithPad, value }) =>\n settings.withPad && type !== InternalDateComponentType.Separator ? valueWithPad : value,\n )\n .join('');\n }\n\n public toInternalString(): string {\n return InternalDateTransformer.dateToInternalString(this.getComponentsRaw());\n }\n\n public toNativeFormat(): InternalDateComponentsNumber | null {\n const components = this.getComponentsLikeNumber();\n if (InternalDateValidator.compareWithNativeDate(components)) {\n return { ...components, month: components.month - 1 };\n }\n return null;\n }\n\n public clone(): InternalDate {\n return new InternalDate({ order: this.order, separator: this.separator })\n .setComponents({ ...this.components })\n .setRangeStart(this.start && this.start.clone())\n .setRangeEnd(this.end && this.end.clone());\n }\n\n public duplicateOf(pattern: InternalDate): InternalDate {\n return this.setComponents(pattern.getComponentsRaw());\n }\n\n public restore(type: InternalDateComponentType | null = null): InternalDate {\n const prev = this.getComponentsRaw();\n const today = InternalDateGetter.getTodayComponents();\n\n if (prev.year === null && prev.month === null && prev.date === null) {\n return this;\n }\n\n const restoreYear =\n prev.year !== null && InternalDateValidator.testParseToNumber(prev.year)\n ? prev.year > 50 && prev.year < 100\n ? Number(prev.year) + 1900\n : prev.year > 0 && prev.year < 51\n ? Number(prev.year) + 2000\n : prev.year\n : today.year;\n if (\n (type === null && restoreYear !== prev.year) ||\n type === InternalDateComponentType.Year ||\n type === InternalDateComponentType.All\n ) {\n this.setYear(restoreYear);\n }\n if (\n (type === null && prev.month === null) ||\n type === InternalDateComponentType.Month ||\n type === InternalDateComponentType.All\n ) {\n this.setMonth(today.month);\n }\n if (\n (type === null && prev.date === null) ||\n type === InternalDateComponentType.Date ||\n type === InternalDateComponentType.All\n ) {\n this.setDate(today.date);\n }\n return this;\n }\n\n public cutOffExcess(\n type: InternalDateComponentType | null = null,\n { isLoop = false, isRange, isCutFeb = false }: InternalDateChangeSettings = {},\n ): InternalDate {\n const { year, month, date } = this.components;\n if ((type === null || type === InternalDateComponentType.Year) && InternalDateValidator.testParseToNumber(year)) {\n this.shiftYear(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Month) && InternalDateValidator.testParseToNumber(month)) {\n this.shiftMonth(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Date) && InternalDateValidator.testParseToNumber(date)) {\n this.shiftDate(0, { isLoop, isRange, isCutFeb });\n }\n return this;\n }\n\n public isIncomplete(): boolean {\n return !this.isEmpty() && Object.values(this.components).some((component) => component === null);\n }\n\n public isEmpty(): boolean {\n return Object.values(this.components).every((component) => component === null);\n }\n\n public isEqualComponentDate(type: InternalDateComponentType | null, compared: InternalDate): boolean {\n return this.get(type) === compared.get(type);\n }\n\n public isEqual(compared: InternalDate): boolean {\n return (\n InternalDateValidator.isEqualDateValues(this, compared) &&\n InternalDateValidator.isEqualDateFormats(this, compared)\n );\n }\n\n private getMinValue(type: InternalDateComponentType, isRange?: boolean): number {\n if (isRange === true && this.start !== null) {\n return Number(\n InternalDateCalculator.calcRangeStartDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.start.getComponentsLikeNumber(),\n ),\n );\n }\n return InternalDateGetter.getDefaultMin(type);\n }\n\n private getMaxValue(\n type: InternalDateComponentType,\n { isRange, isCutFeb }: { isRange?: boolean; isCutFeb?: boolean } = {},\n ): number {\n if (isRange && this.end !== null) {\n return Number(\n InternalDateCalculator.calcRangeEndDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.end.getComponentsLikeNumber(),\n ),\n );\n }\n if (!isCutFeb) {\n return InternalDateGetter.getDefaultMax(type);\n }\n return InternalDateGetter.getDefaultMax(type, this.getComponentsLikeNumber());\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["InternalDate.ts"],"names":["getRestoreYear","prev","today","year","InternalDateValidator","testParseToNumber","Number","InternalDate","order","separator","langCode","defaultLangCode","value","components","emptyDateComponents","start","end","internalDateLocale","undefined","parseInternalValue","getComponentsRaw","getComponentsLikeNumber","InternalDateTransformer","dateComponentsStringToNumber","getSeparator","getOrder","getYear","getMonth","month","getDate","date","getRangeStart","getRangeEnd","setOrder","defaultDateComponentsOrder","setSeparator","defaultDateComponentsSeparator","setComponents","isNativeMonth","clone","shiftMonth","validate","checks","InternalDateValidateCheck","Native","setYear","setMonth","setDate","shiftYear","step","isLoop","isRange","isCutFeb","min","getMinValue","InternalDateComponentType","Year","max","getMaxValue","InternalDateCalculator","calcShiftValueDateComponent","Month","shiftDate","Date","setRangeStart","internalDate","setRangeEnd","get","type","InternalDateGetter","getValueDateComponent","set","InternalDateSetter","setValueDateComponent","shift","settings","shiftValueDateComponent","parseValue","parseValueToDate","InternalDateOrder","DMY","nextValue","Object","values","filter","isInternalDateValidateCheck","self","includes","NotNull","checkForNull","every","Limits","checkLimits","compareWithNativeDate","Range","checkRangePiecemeal","checkRangeFully","toNumber","toFragments","dateToFragments","YMD","withPad","map","valueWithPad","join","toString","withSeparator","Separator","toInternalString","dateToInternalString","toNativeFormat","duplicateOf","pattern","restore","getTodayComponents","restoreYear","All","cutOffExcess","isIncomplete","isEmpty","some","component","isEqualComponentDate","compared","isEqual","isEqualDateValues","isEqualDateFormats","calcRangeStartDateComponent","getDefaultMin","calcRangeEndDateComponent","getDefaultMax"],"mappings":"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","sourcesContent":["import { defaultLangCode } from '../locale/constants';\n\nimport { defaultDateComponentsOrder, defaultDateComponentsSeparator, emptyDateComponents } from './constants';\nimport { InternalDateCalculator } from './InternalDateCalculator';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport { InternalDateSetter } from './InternalDateSetter';\nimport { InternalDateTransformer } from './InternalDateTransformer';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport { internalDateLocale } from './localeSets';\nimport {\n InternalDateChangeSettings,\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateConstructorProps,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n InternalDateValidateCheck,\n isInternalDateValidateCheck,\n} from './types';\n\nconst getRestoreYear = (\n prev: InternalDateComponentsRaw,\n today: ReturnType<typeof InternalDateGetter.getTodayComponents>,\n) => {\n if (prev.year !== null && InternalDateValidator.testParseToNumber(prev.year)) {\n if (prev.year > 50 && prev.year < 100) {\n return Number(prev.year) + 1900;\n } else if (prev.year > 0 && prev.year < 51) {\n return Number(prev.year) + 2000;\n }\n\n return prev.year;\n }\n\n return today.year;\n};\n\nexport class InternalDate {\n private order: InternalDateOrder;\n private separator: InternalDateSeparator;\n private components: InternalDateComponentsRaw = { ...emptyDateComponents };\n\n private start: InternalDate | null = null;\n private end: InternalDate | null = null;\n\n public constructor({ order, separator, langCode = defaultLangCode, value }: InternalDateConstructorProps = {}) {\n this.order = order ?? internalDateLocale[langCode].order;\n this.separator = separator ?? internalDateLocale[langCode].separator;\n if (value !== undefined) {\n this.parseInternalValue(value);\n }\n }\n\n public getComponentsRaw(): InternalDateComponentsRaw {\n return { ...this.components };\n }\n\n public getComponentsLikeNumber(): InternalDateComponentsNumber {\n return InternalDateTransformer.dateComponentsStringToNumber(this.getComponentsRaw());\n }\n\n public getSeparator(): InternalDateSeparator {\n return this.separator;\n }\n\n public getOrder(): InternalDateOrder {\n return this.order;\n }\n\n public getYear(): InternalDateComponentRaw {\n return this.components.year;\n }\n\n public getMonth(): InternalDateComponentRaw {\n return this.components.month;\n }\n\n public getDate(): InternalDateComponentRaw {\n return this.components.date;\n }\n\n public getRangeStart(): InternalDate | null {\n return this.start;\n }\n\n public getRangeEnd(): InternalDate | null {\n return this.end;\n }\n\n public setOrder(order: InternalDateOrder = defaultDateComponentsOrder): InternalDate {\n this.order = order;\n return this;\n }\n\n public setSeparator(separator: InternalDateSeparator = defaultDateComponentsSeparator): InternalDate {\n this.separator = separator;\n return this;\n }\n\n public setComponents(components: InternalDateComponentsRaw | null, isNativeMonth = false): InternalDate {\n if (components && isNativeMonth) {\n const clone = this.clone().setComponents(components).shiftMonth(1);\n if (clone.validate({ checks: [InternalDateValidateCheck.Native] })) {\n this.components = { ...clone.getComponentsLikeNumber() };\n }\n return this;\n }\n this.components = components || { ...emptyDateComponents };\n return this;\n }\n\n public setYear(year: InternalDateComponentRaw): InternalDate {\n this.components.year = year;\n return this;\n }\n\n public setMonth(month: InternalDateComponentRaw): InternalDate {\n this.components.month = month;\n return this;\n }\n\n public setDate(date: InternalDateComponentRaw): InternalDate {\n this.components.date = date;\n return this;\n }\n\n public shiftYear(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Year, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Year, { isRange, isCutFeb });\n const { year } = this.getComponentsLikeNumber();\n this.components.year = InternalDateCalculator.calcShiftValueDateComponent(step, year, min, max, isLoop);\n return this;\n }\n\n public shiftMonth(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Month, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Month, { isRange, isCutFeb });\n const { month } = this.getComponentsLikeNumber();\n this.components.month = InternalDateCalculator.calcShiftValueDateComponent(step, month, min, max, isLoop);\n return this;\n }\n\n public shiftDate(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Date, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Date, { isRange, isCutFeb });\n const { date } = this.getComponentsLikeNumber();\n this.components.date = InternalDateCalculator.calcShiftValueDateComponent(step, date, min, max, isLoop);\n return this;\n }\n\n public setRangeStart(internalDate: InternalDate | null): InternalDate {\n this.start = internalDate;\n return this;\n }\n\n public setRangeEnd(internalDate: InternalDate | null): InternalDate {\n this.end = internalDate;\n return this;\n }\n\n public get(type: InternalDateComponentType | null): InternalDateComponentRaw {\n return type !== null ? InternalDateGetter.getValueDateComponent(type, this.getComponentsRaw()) : null;\n }\n\n public set(type: InternalDateComponentType | null, value: InternalDateComponentRaw): InternalDate {\n return type !== null ? InternalDateSetter.setValueDateComponent(this, type, value) : this;\n }\n\n public shift(\n type: InternalDateComponentType | null,\n step: number,\n settings?: InternalDateChangeSettings,\n ): InternalDate {\n return type !== null ? InternalDateSetter.shiftValueDateComponent(this, type, step, settings) : this;\n }\n\n public parseValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, this.order) || { ...emptyDateComponents };\n this.setComponents(components);\n return this;\n }\n\n public parseInternalValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, InternalDateOrder.DMY) || {\n ...emptyDateComponents,\n };\n this.setComponents(components);\n return this;\n }\n\n public validate({\n type,\n nextValue,\n checks = Object.values(InternalDateValidateCheck).filter<InternalDateValidateCheck>(isInternalDateValidateCheck),\n }: {\n type?: InternalDateComponentType;\n nextValue?: InternalDateComponentRaw;\n checks?: InternalDateValidateCheck[];\n } = {}): boolean {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let self: InternalDate = this;\n if (type !== undefined) {\n const clone = this.clone();\n if (nextValue !== undefined) {\n clone.set(type, nextValue);\n }\n self = clone;\n }\n if (\n checks.includes(InternalDateValidateCheck.NotNull) &&\n !InternalDateValidator.checkForNull(self.getComponentsRaw(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Number) &&\n !Object.values(self.getComponentsRaw()).every(InternalDateValidator.testParseToNumber)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Limits) &&\n !InternalDateValidator.checkLimits(self.getComponentsLikeNumber(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Native) &&\n !InternalDateValidator.compareWithNativeDate(self.getComponentsLikeNumber())\n ) {\n return false;\n }\n if (checks.includes(InternalDateValidateCheck.Range)) {\n return type !== undefined\n ? InternalDateValidator.checkRangePiecemeal(\n type,\n self.getComponentsLikeNumber(),\n self.start && self.start.getComponentsLikeNumber(),\n self.end && self.end.getComponentsLikeNumber(),\n )\n : InternalDateValidator.checkRangeFully(\n self.toNumber(),\n self.start && self.start.toNumber(),\n self.end && self.end.toNumber(),\n );\n }\n return true;\n }\n\n public toFragments(\n settings: InternalDateToFragmentsSettings = {},\n components: InternalDateComponentsRaw = this.getComponentsRaw(),\n ): InternalDateFragment[] {\n return InternalDateTransformer.dateToFragments(components, {\n order: this.order,\n separator: this.separator,\n ...settings,\n });\n }\n\n /**\n * Перевод даты в числовое представление (**НЕ** аналог `timestamp`)\n * Предназначено для быстрого сравнивания дат `<=>`\n */\n public toNumber(): number {\n return Number(\n this.toFragments({ order: InternalDateOrder.YMD, withPad: true })\n .map(({ valueWithPad }) => valueWithPad)\n .join(''),\n );\n }\n\n public toString(settings: InternalDateToFragmentsSettings = {}): string {\n return this.toFragments({ withPad: true, withSeparator: true, ...settings })\n .filter(({ value }) => value !== null)\n .map(({ type, valueWithPad, value }) =>\n settings.withPad && type !== InternalDateComponentType.Separator ? valueWithPad : value,\n )\n .join('');\n }\n\n public toInternalString(): string {\n return InternalDateTransformer.dateToInternalString(this.getComponentsRaw());\n }\n\n public toNativeFormat(): InternalDateComponentsNumber | null {\n const components = this.getComponentsLikeNumber();\n if (InternalDateValidator.compareWithNativeDate(components)) {\n return { ...components, month: components.month - 1 };\n }\n return null;\n }\n\n public clone(): InternalDate {\n return new InternalDate({ order: this.order, separator: this.separator })\n .setComponents({ ...this.components })\n .setRangeStart(this.start && this.start.clone())\n .setRangeEnd(this.end && this.end.clone());\n }\n\n public duplicateOf(pattern: InternalDate): InternalDate {\n return this.setComponents(pattern.getComponentsRaw());\n }\n\n public restore(type: InternalDateComponentType | null = null): InternalDate {\n const prev = this.getComponentsRaw();\n const today = InternalDateGetter.getTodayComponents();\n\n if (prev.year === null && prev.month === null && prev.date === null) {\n return this;\n }\n\n const restoreYear = getRestoreYear(prev, today);\n\n if (\n (type === null && restoreYear !== prev.year) ||\n type === InternalDateComponentType.Year ||\n type === InternalDateComponentType.All\n ) {\n this.setYear(restoreYear);\n }\n\n if (\n (type === null && prev.month === null) ||\n type === InternalDateComponentType.Month ||\n type === InternalDateComponentType.All\n ) {\n this.setMonth(today.month);\n }\n\n if (\n (type === null && prev.date === null) ||\n type === InternalDateComponentType.Date ||\n type === InternalDateComponentType.All\n ) {\n this.setDate(today.date);\n }\n\n return this;\n }\n\n public cutOffExcess(\n type: InternalDateComponentType | null = null,\n { isLoop = false, isRange, isCutFeb = false }: InternalDateChangeSettings = {},\n ): InternalDate {\n const { year, month, date } = this.components;\n if ((type === null || type === InternalDateComponentType.Year) && InternalDateValidator.testParseToNumber(year)) {\n this.shiftYear(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Month) && InternalDateValidator.testParseToNumber(month)) {\n this.shiftMonth(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Date) && InternalDateValidator.testParseToNumber(date)) {\n this.shiftDate(0, { isLoop, isRange, isCutFeb });\n }\n return this;\n }\n\n public isIncomplete(): boolean {\n return !this.isEmpty() && Object.values(this.components).some((component) => component === null);\n }\n\n public isEmpty(): boolean {\n return Object.values(this.components).every((component) => component === null);\n }\n\n public isEqualComponentDate(type: InternalDateComponentType | null, compared: InternalDate): boolean {\n return this.get(type) === compared.get(type);\n }\n\n public isEqual(compared: InternalDate): boolean {\n return (\n InternalDateValidator.isEqualDateValues(this, compared) &&\n InternalDateValidator.isEqualDateFormats(this, compared)\n );\n }\n\n private getMinValue(type: InternalDateComponentType, isRange?: boolean): number {\n if (isRange === true && this.start !== null) {\n return Number(\n InternalDateCalculator.calcRangeStartDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.start.getComponentsLikeNumber(),\n ),\n );\n }\n return InternalDateGetter.getDefaultMin(type);\n }\n\n private getMaxValue(\n type: InternalDateComponentType,\n { isRange, isCutFeb }: { isRange?: boolean; isCutFeb?: boolean } = {},\n ): number {\n if (isRange && this.end !== null) {\n return Number(\n InternalDateCalculator.calcRangeEndDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.end.getComponentsLikeNumber(),\n ),\n );\n }\n if (!isCutFeb) {\n return InternalDateGetter.getDefaultMax(type);\n }\n return InternalDateGetter.getDefaultMax(type, this.getComponentsLikeNumber());\n }\n}\n"]}
|
|
@@ -46,8 +46,22 @@ InternalDateCalculator = /*#__PURE__*/function () {function InternalDateCalculat
|
|
|
46
46
|
if (step !== 0 && (start - value > Math.abs(step) || value - end > Math.abs(step))) {
|
|
47
47
|
return step < 0 ? end : start;
|
|
48
48
|
}
|
|
49
|
+
|
|
49
50
|
if (isLoop) {
|
|
50
|
-
|
|
51
|
+
if (value < start) {
|
|
52
|
+
return end;
|
|
53
|
+
} else if (value > end) {
|
|
54
|
+
return start;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return value;
|
|
51
58
|
}
|
|
52
|
-
|
|
59
|
+
|
|
60
|
+
if (value < start) {
|
|
61
|
+
return start;
|
|
62
|
+
} else if (value > end) {
|
|
63
|
+
return end;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return value;
|
|
53
67
|
};return InternalDateCalculator;}();exports.InternalDateCalculator = InternalDateCalculator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InternalDateCalculator.ts"],"names":["InternalDateCalculator","calcRangeStartDateComponent","type","year","month","date","startYear","startMonth","startDate","InternalDateComponentType","Year","Month","InternalDateGetter","getDefaultMin","calcRangeEndDateComponent","endYear","endMonth","endDate","getDefaultMax","calcShiftValueDateComponent","step","prevValue","start","end","isLoop","value","Number","Math","abs"],"mappings":"+EAAA;AACA,gC;;;;;;;AAOaA,sB;AACGC,EAAAA,2B,GAAd;AACEC,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,QAFrBA,IAEqB,CAFfC,KAEe,QAFfA,KAEe,CAFRC,IAEQ,QAFRA,IAEQ,KADfC,SACe,SADrBH,IACqB,CADGI,UACH,SADJH,KACI,CADqBI,SACrB,SADeH,IACf;AACvB,QAAIH,IAAI,KAAKO,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAOJ,SAAP;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKO,iCAA0BE,KAAvC,EAA8C;AACnD,aAAOR,IAAI,KAAKG,SAAT,GAAqBC,UAArB,GAAkCK,uCAAmBC,aAAnB,CAAiCX,IAAjC,CAAzC;AACD;AACD,WAAOC,IAAI,KAAKG,SAAT,IAAsBF,KAAK,KAAKG,UAAhC,GAA6CC,SAA7C,GAAyDI,uCAAmBC,aAAnB,CAAiCX,IAAjC,CAAhE;AACD,G;;AAEaY,EAAAA,yB,GAAd;AACEZ,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,SAFrBA,IAEqB,CAFfC,KAEe,SAFfA,KAEe,CAFRC,IAEQ,SAFRA,IAEQ,KADfU,OACe,SADrBZ,IACqB,CADCa,QACD,SADNZ,KACM,CADiBa,OACjB,SADWZ,IACX;AACvB,QAAIH,IAAI,KAAKO,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAOK,OAAP;AACD,KAFD,MAEO,IAAIb,IAAI,KAAKO,iCAA0BE,KAAvC,EAA8C;AACnD,aAAOR,IAAI,KAAKY,OAAT,GAAmBC,QAAnB,GAA8BJ,uCAAmBM,aAAnB,CAAiChB,IAAjC,CAArC;AACD;AACD,WAAOC,IAAI,KAAKY,OAAT,IAAoBX,KAAK,KAAKY,QAA9B;AACHC,IAAAA,OADG;AAEHL,2CAAmBM,aAAnB,CAAiChB,IAAjC,EAAuC,EAAEC,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAAeC,IAAI,EAAJA,IAAf,EAAvC,CAFJ;AAGD,G;;AAEac,EAAAA,2B,GAAd;AACEC,EAAAA,IADF;AAEEC,EAAAA,SAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,GAJF;AAKEC,EAAAA,MALF;AAMyB,OADvBA,MACuB,cADvBA,MACuB,GADd,IACc;AACvB,QAAMC,KAAK,GAAGL,IAAI,GAAGM,MAAM,CAACL,SAAD,CAA3B;AACA,QAAID,IAAI,KAAK,CAAT,KAAeE,KAAK,GAAGG,KAAR,GAAgBE,IAAI,CAACC,GAAL,CAASR,IAAT,CAAhB,IAAkCK,KAAK,GAAGF,GAAR,GAAcI,IAAI,CAACC,GAAL,CAASR,IAAT,CAA/D,CAAJ,EAAoF;AAClF,aAAOA,IAAI,GAAG,CAAP,GAAWG,GAAX,GAAiBD,KAAxB;AACD
|
|
1
|
+
{"version":3,"sources":["InternalDateCalculator.ts"],"names":["InternalDateCalculator","calcRangeStartDateComponent","type","year","month","date","startYear","startMonth","startDate","InternalDateComponentType","Year","Month","InternalDateGetter","getDefaultMin","calcRangeEndDateComponent","endYear","endMonth","endDate","getDefaultMax","calcShiftValueDateComponent","step","prevValue","start","end","isLoop","value","Number","Math","abs"],"mappings":"+EAAA;AACA,gC;;;;;;;AAOaA,sB;AACGC,EAAAA,2B,GAAd;AACEC,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,QAFrBA,IAEqB,CAFfC,KAEe,QAFfA,KAEe,CAFRC,IAEQ,QAFRA,IAEQ,KADfC,SACe,SADrBH,IACqB,CADGI,UACH,SADJH,KACI,CADqBI,SACrB,SADeH,IACf;AACvB,QAAIH,IAAI,KAAKO,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAOJ,SAAP;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKO,iCAA0BE,KAAvC,EAA8C;AACnD,aAAOR,IAAI,KAAKG,SAAT,GAAqBC,UAArB,GAAkCK,uCAAmBC,aAAnB,CAAiCX,IAAjC,CAAzC;AACD;AACD,WAAOC,IAAI,KAAKG,SAAT,IAAsBF,KAAK,KAAKG,UAAhC,GAA6CC,SAA7C,GAAyDI,uCAAmBC,aAAnB,CAAiCX,IAAjC,CAAhE;AACD,G;;AAEaY,EAAAA,yB,GAAd;AACEZ,EAAAA,IADF;;;AAIyB,OAFrBC,IAEqB,SAFrBA,IAEqB,CAFfC,KAEe,SAFfA,KAEe,CAFRC,IAEQ,SAFRA,IAEQ,KADfU,OACe,SADrBZ,IACqB,CADCa,QACD,SADNZ,KACM,CADiBa,OACjB,SADWZ,IACX;AACvB,QAAIH,IAAI,KAAKO,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAOK,OAAP;AACD,KAFD,MAEO,IAAIb,IAAI,KAAKO,iCAA0BE,KAAvC,EAA8C;AACnD,aAAOR,IAAI,KAAKY,OAAT,GAAmBC,QAAnB,GAA8BJ,uCAAmBM,aAAnB,CAAiChB,IAAjC,CAArC;AACD;AACD,WAAOC,IAAI,KAAKY,OAAT,IAAoBX,KAAK,KAAKY,QAA9B;AACHC,IAAAA,OADG;AAEHL,2CAAmBM,aAAnB,CAAiChB,IAAjC,EAAuC,EAAEC,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAAeC,IAAI,EAAJA,IAAf,EAAvC,CAFJ;AAGD,G;;AAEac,EAAAA,2B,GAAd;AACEC,EAAAA,IADF;AAEEC,EAAAA,SAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,GAJF;AAKEC,EAAAA,MALF;AAMyB,OADvBA,MACuB,cADvBA,MACuB,GADd,IACc;AACvB,QAAMC,KAAK,GAAGL,IAAI,GAAGM,MAAM,CAACL,SAAD,CAA3B;AACA,QAAID,IAAI,KAAK,CAAT,KAAeE,KAAK,GAAGG,KAAR,GAAgBE,IAAI,CAACC,GAAL,CAASR,IAAT,CAAhB,IAAkCK,KAAK,GAAGF,GAAR,GAAcI,IAAI,CAACC,GAAL,CAASR,IAAT,CAA/D,CAAJ,EAAoF;AAClF,aAAOA,IAAI,GAAG,CAAP,GAAWG,GAAX,GAAiBD,KAAxB;AACD;;AAED,QAAIE,MAAJ,EAAY;AACV,UAAIC,KAAK,GAAGH,KAAZ,EAAmB;AACjB,eAAOC,GAAP;AACD,OAFD,MAEO,IAAIE,KAAK,GAAGF,GAAZ,EAAiB;AACtB,eAAOD,KAAP;AACD;;AAED,aAAOG,KAAP;AACD;;AAED,QAAIA,KAAK,GAAGH,KAAZ,EAAmB;AACjB,aAAOA,KAAP;AACD,KAFD,MAEO,IAAIG,KAAK,GAAGF,GAAZ,EAAiB;AACtB,aAAOA,GAAP;AACD;;AAED,WAAOE,KAAP;AACD,G","sourcesContent":["import { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponent,\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentType,\n} from './types';\n\nexport class InternalDateCalculator {\n public static calcRangeStartDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: startYear, month: startMonth, date: startDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return startYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === startYear ? startMonth : InternalDateGetter.getDefaultMin(type);\n }\n return year === startYear && month === startMonth ? startDate : InternalDateGetter.getDefaultMin(type);\n }\n\n public static calcRangeEndDateComponent(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponents,\n { year: endYear, month: endMonth, date: endDate }: InternalDateComponents,\n ): InternalDateComponent {\n if (type === InternalDateComponentType.Year) {\n return endYear;\n } else if (type === InternalDateComponentType.Month) {\n return year === endYear ? endMonth : InternalDateGetter.getDefaultMax(type);\n }\n return year === endYear && month === endMonth\n ? endDate\n : InternalDateGetter.getDefaultMax(type, { year, month, date });\n }\n\n public static calcShiftValueDateComponent(\n step: number,\n prevValue: InternalDateComponentRaw,\n start: number,\n end: number,\n isLoop = true,\n ): InternalDateComponent {\n const value = step + Number(prevValue);\n if (step !== 0 && (start - value > Math.abs(step) || value - end > Math.abs(step))) {\n return step < 0 ? end : start;\n }\n\n if (isLoop) {\n if (value < start) {\n return end;\n } else if (value > end) {\n return start;\n }\n\n return value;\n }\n\n if (value < start) {\n return start;\n } else if (value > end) {\n return end;\n }\n\n return value;\n }\n}\n"]}
|
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
"use strict";exports.__esModule = true;exports.InternalDateGetter = void 0;var _constants = require("./constants");
|
|
2
2
|
|
|
3
|
-
var _types = require("./types");
|
|
3
|
+
var _types = require("./types");
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
var calculateMonth = function calculateMonth(month) {
|
|
11
|
+
if (month <= 7) {
|
|
12
|
+
return month + 1;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return month;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var getIsLeapYear = function getIsLeapYear(year) {
|
|
19
|
+
// The year is considered leap if it's either dividable by 4, 100 or 400.
|
|
20
|
+
var isDividableByFour = year % 4 === 0;
|
|
21
|
+
var isDividableByOneHundred = year % 100 === 0;
|
|
22
|
+
var isDividableByFourHundred = year % 400 === 0;
|
|
23
|
+
|
|
24
|
+
return isDividableByFour || isDividableByOneHundred || isDividableByFourHundred;
|
|
25
|
+
};var
|
|
26
|
+
|
|
10
27
|
InternalDateGetter = /*#__PURE__*/function () {function InternalDateGetter() {}InternalDateGetter.
|
|
11
28
|
|
|
12
29
|
|
|
@@ -16,13 +33,13 @@ InternalDateGetter = /*#__PURE__*/function () {function InternalDateGetter() {}I
|
|
|
16
33
|
|
|
17
34
|
getMaxDaysInMonth = function getMaxDaysInMonth(month, year) {
|
|
18
35
|
if (month === 2) {
|
|
19
|
-
var isLeapYear = year
|
|
36
|
+
var isLeapYear = year ? getIsLeapYear(year) : false;
|
|
37
|
+
|
|
20
38
|
return isLeapYear ? 29 : 28;
|
|
21
39
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return month % 2 === 0 ? 31 : 30;
|
|
40
|
+
|
|
41
|
+
var calculatedMonth = calculateMonth(month);
|
|
42
|
+
return calculatedMonth % 2 === 0 ? 31 : 30;
|
|
26
43
|
};InternalDateGetter.
|
|
27
44
|
|
|
28
45
|
getValueDateComponent = function getValueDateComponent(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InternalDateGetter.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["InternalDateGetter.ts"],"names":["calculateMonth","month","getIsLeapYear","year","isDividableByFour","isDividableByOneHundred","isDividableByFourHundred","InternalDateGetter","getMaxDaysInMonth","isLeapYear","calculatedMonth","getValueDateComponent","type","components","InternalDateComponentType","Year","Month","date","getDefaultMin","MIN_YEAR","MIN_MONTH","Date","MIN_DATE","getDefaultMax","MAX_YEAR","MAX_MONTH","undefined","MAX_DATE","getTodayComponents","getDate","getMonth","getFullYear","max","datesCustom","sort","a","b","toNumber","min"],"mappings":"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","sourcesContent":["import { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from './constants';\nimport { InternalDate } from './InternalDate';\nimport {\n InternalDateComponentType,\n InternalDateComponentsRaw,\n InternalDateComponentRaw,\n InternalDateComponents,\n} from './types';\n\nconst calculateMonth = (month: number) => {\n if (month <= 7) {\n return month + 1;\n }\n\n return month;\n};\n\nconst getIsLeapYear = (year: number) => {\n // The year is considered leap if it's either dividable by 4, 100 or 400.\n const isDividableByFour = year % 4 === 0;\n const isDividableByOneHundred = year % 100 === 0;\n const isDividableByFourHundred = year % 400 === 0;\n\n return isDividableByFour || isDividableByOneHundred || isDividableByFourHundred;\n};\n\nexport class InternalDateGetter {\n public static max = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => b.toNumber() - a.toNumber())[0];\n\n public static min = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => a.toNumber() - b.toNumber())[0];\n\n public static getMaxDaysInMonth(month: number, year?: number): number {\n if (month === 2) {\n const isLeapYear = year ? getIsLeapYear(year) : false;\n\n return isLeapYear ? 29 : 28;\n }\n\n const calculatedMonth = calculateMonth(month);\n return calculatedMonth % 2 === 0 ? 31 : 30;\n }\n\n public static getValueDateComponent(\n type: InternalDateComponentType | null,\n components: InternalDateComponentsRaw,\n ): InternalDateComponentRaw {\n if (type === InternalDateComponentType.Year) {\n return components.year;\n } else if (type === InternalDateComponentType.Month) {\n return components.month;\n }\n return components.date;\n }\n\n public static getDefaultMin(type: InternalDateComponentType): number {\n if (type === InternalDateComponentType.Year) {\n return MIN_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MIN_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n return MIN_DATE;\n }\n return MIN_DATE;\n }\n\n public static getDefaultMax(type: InternalDateComponentType, components?: InternalDateComponents): number {\n if (type === InternalDateComponentType.Year) {\n return MAX_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MAX_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n if (components === undefined) {\n return MAX_DATE;\n }\n const { year, month } = components;\n return year && month ? InternalDateGetter.getMaxDaysInMonth(month, year) : MAX_DATE;\n }\n return MAX_DATE;\n }\n\n public static getTodayComponents() {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth() + 1,\n year: date.getFullYear(),\n };\n }\n}\n"]}
|
|
@@ -117,8 +117,17 @@ InternalDateTransformer = /*#__PURE__*/function () {function InternalDateTransfo
|
|
|
117
117
|
return null;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
var
|
|
121
|
-
|
|
120
|
+
var getRe = function getRe() {
|
|
121
|
+
if (order === _types.InternalDateOrder.MDY) {
|
|
122
|
+
return _constants.RE_ORDER_MDY;
|
|
123
|
+
} else if (order === _types.InternalDateOrder.DMY) {
|
|
124
|
+
return _constants.RE_ORDER_DMY;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return _constants.RE_ORDER_YMD;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
var re = getRe();
|
|
122
131
|
if (!re.test(value)) {
|
|
123
132
|
return null;
|
|
124
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InternalDateTransformer.ts"],"names":["InternalDateTransformer","dateToFragments","components","settings","order","defaultDateComponentsOrder","separator","defaultDateComponentsSeparator","withSeparator","withPad","pad","year","type","InternalDateComponentType","Year","value","length","LENGTH_YEAR","month","Month","LENGTH_MONTH","date","Date","LENGTH_DATE","fragments","InternalDateOrder","YMD","push","MDY","DMY","valueWithPad","padYear","padMonth","padDate","isValid","InternalDateValidator","testParseToNumber","separatorFragment","Separator","LENGTH_SEPARATOR","splice","parseValueToDate","re","RE_ORDER_MDY","RE_ORDER_DMY","RE_ORDER_YMD","test","match","exec","dateComponents","emptyDateComponents","matchFinished","slice","map","item","Number","dateComponentsStringToNumber","componentsRaw","dateToInternalString","filter","join","InternalDateSeparator","Dot","padStart","CHAR_PAD","String","padDateComponent"],"mappings":"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","sourcesContent":["import {\n CHAR_PAD,\n defaultDateComponentsOrder,\n defaultDateComponentsSeparator,\n emptyDateComponents,\n LENGTH_DATE,\n LENGTH_MONTH,\n LENGTH_SEPARATOR,\n LENGTH_YEAR,\n RE_ORDER_DMY,\n RE_ORDER_MDY,\n RE_ORDER_YMD,\n} from './constants';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport {\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n} from './types';\n\nexport class InternalDateTransformer {\n public static padStart = (value: InternalDateComponentRaw, length: number, pad: string = CHAR_PAD): string =>\n String(value || '').padStart(length, pad);\n\n public static padYear = (year: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(year, LENGTH_YEAR, pad);\n public static padMonth = (month: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(month, LENGTH_MONTH, pad);\n public static padDate = (date: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(date, LENGTH_DATE, pad);\n\n public static padDateComponent = (\n type: InternalDateComponentType | null,\n value: InternalDateComponentRaw,\n pad?: string,\n ): string => {\n if (type === InternalDateComponentType.Year) {\n return InternalDateTransformer.padYear(value, pad);\n } else if (type === InternalDateComponentType.Month) {\n return InternalDateTransformer.padMonth(value, pad);\n } else if (type === InternalDateComponentType.Date) {\n return InternalDateTransformer.padDate(value, pad);\n }\n return '';\n };\n\n public static dateToFragments(\n components: InternalDateComponentsRaw,\n settings: InternalDateToFragmentsSettings = {},\n ): InternalDateFragment[] {\n const {\n order = defaultDateComponentsOrder,\n separator = defaultDateComponentsSeparator,\n withSeparator = false,\n withPad = false,\n pad,\n } = settings;\n const year: InternalDateFragment = {\n type: InternalDateComponentType.Year,\n value: components.year,\n length: LENGTH_YEAR,\n };\n const month: InternalDateFragment = {\n type: InternalDateComponentType.Month,\n value: components.month,\n length: LENGTH_MONTH,\n };\n const date: InternalDateFragment = {\n type: InternalDateComponentType.Date,\n value: components.date,\n length: LENGTH_DATE,\n };\n\n const fragments: InternalDateFragment[] = [];\n if (order === InternalDateOrder.YMD) {\n fragments.push(year, month, date);\n } else if (order === InternalDateOrder.MDY) {\n fragments.push(month, date, year);\n } else if (order === InternalDateOrder.DMY) {\n fragments.push(date, month, year);\n }\n\n if (withPad) {\n year.valueWithPad = InternalDateTransformer.padYear(year.value, pad);\n month.valueWithPad = InternalDateTransformer.padMonth(month.value, pad);\n date.valueWithPad = InternalDateTransformer.padDate(date.value, pad);\n }\n\n year.isValid = InternalDateValidator.testParseToNumber(year.value);\n month.isValid = InternalDateValidator.testParseToNumber(month.value);\n date.isValid = InternalDateValidator.testParseToNumber(date.value);\n\n if (withSeparator) {\n const separatorFragment: InternalDateFragment = {\n type: InternalDateComponentType.Separator,\n value: separator,\n length: LENGTH_SEPARATOR,\n };\n fragments.splice(1, 0, separatorFragment);\n fragments.splice(3, 0, separatorFragment);\n }\n\n return fragments;\n }\n\n public static parseValueToDate(\n value: string | null,\n order: InternalDateOrder = defaultDateComponentsOrder,\n ): InternalDateComponents | null {\n if (!value) {\n return null;\n }\n\n const re =\n order === InternalDateOrder.MDY ? RE_ORDER_MDY : order === InternalDateOrder.DMY ? RE_ORDER_DMY : RE_ORDER_YMD;\n if (!re.test(value)) {\n return null;\n }\n const match = re.exec(value);\n const dateComponents: InternalDateComponents = { ...emptyDateComponents };\n\n if (match) {\n const matchFinished = match\n .slice(1)\n .map((item) => (InternalDateValidator.testParseToNumber(item) ? Number(item) : null));\n if (order === InternalDateOrder.YMD) {\n ({ 0: dateComponents.year, 1: dateComponents.month, 2: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.MDY) {\n ({ 2: dateComponents.year, 0: dateComponents.month, 1: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.DMY) {\n ({ 2: dateComponents.year, 1: dateComponents.month, 0: dateComponents.date } = matchFinished);\n }\n }\n return dateComponents;\n }\n\n public static dateComponentsStringToNumber(\n componentsRaw: InternalDateComponentsRaw | null,\n ): InternalDateComponentsNumber {\n if (componentsRaw === null) {\n return { year: 0, month: 0, date: 0 };\n }\n const { year, month, date } = componentsRaw;\n return { year: Number(year), month: Number(month), date: Number(date) };\n }\n\n public static dateToInternalString(components: InternalDateComponentsRaw): string {\n return InternalDateTransformer.dateToFragments(components, {\n withPad: true,\n withSeparator: false,\n order: InternalDateOrder.DMY,\n })\n .filter(({ value }) => value !== null)\n .map(({ valueWithPad }) => valueWithPad)\n .join(InternalDateSeparator.Dot);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["InternalDateTransformer.ts"],"names":["InternalDateTransformer","dateToFragments","components","settings","order","defaultDateComponentsOrder","separator","defaultDateComponentsSeparator","withSeparator","withPad","pad","year","type","InternalDateComponentType","Year","value","length","LENGTH_YEAR","month","Month","LENGTH_MONTH","date","Date","LENGTH_DATE","fragments","InternalDateOrder","YMD","push","MDY","DMY","valueWithPad","padYear","padMonth","padDate","isValid","InternalDateValidator","testParseToNumber","separatorFragment","Separator","LENGTH_SEPARATOR","splice","parseValueToDate","getRe","RE_ORDER_MDY","RE_ORDER_DMY","RE_ORDER_YMD","re","test","match","exec","dateComponents","emptyDateComponents","matchFinished","slice","map","item","Number","dateComponentsStringToNumber","componentsRaw","dateToInternalString","filter","join","InternalDateSeparator","Dot","padStart","CHAR_PAD","String","padDateComponent"],"mappings":"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","sourcesContent":["import {\n CHAR_PAD,\n defaultDateComponentsOrder,\n defaultDateComponentsSeparator,\n emptyDateComponents,\n LENGTH_DATE,\n LENGTH_MONTH,\n LENGTH_SEPARATOR,\n LENGTH_YEAR,\n RE_ORDER_DMY,\n RE_ORDER_MDY,\n RE_ORDER_YMD,\n} from './constants';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport {\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n} from './types';\n\nexport class InternalDateTransformer {\n public static padStart = (value: InternalDateComponentRaw, length: number, pad: string = CHAR_PAD): string =>\n String(value || '').padStart(length, pad);\n\n public static padYear = (year: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(year, LENGTH_YEAR, pad);\n public static padMonth = (month: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(month, LENGTH_MONTH, pad);\n public static padDate = (date: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(date, LENGTH_DATE, pad);\n\n public static padDateComponent = (\n type: InternalDateComponentType | null,\n value: InternalDateComponentRaw,\n pad?: string,\n ): string => {\n if (type === InternalDateComponentType.Year) {\n return InternalDateTransformer.padYear(value, pad);\n } else if (type === InternalDateComponentType.Month) {\n return InternalDateTransformer.padMonth(value, pad);\n } else if (type === InternalDateComponentType.Date) {\n return InternalDateTransformer.padDate(value, pad);\n }\n return '';\n };\n\n public static dateToFragments(\n components: InternalDateComponentsRaw,\n settings: InternalDateToFragmentsSettings = {},\n ): InternalDateFragment[] {\n const {\n order = defaultDateComponentsOrder,\n separator = defaultDateComponentsSeparator,\n withSeparator = false,\n withPad = false,\n pad,\n } = settings;\n const year: InternalDateFragment = {\n type: InternalDateComponentType.Year,\n value: components.year,\n length: LENGTH_YEAR,\n };\n const month: InternalDateFragment = {\n type: InternalDateComponentType.Month,\n value: components.month,\n length: LENGTH_MONTH,\n };\n const date: InternalDateFragment = {\n type: InternalDateComponentType.Date,\n value: components.date,\n length: LENGTH_DATE,\n };\n\n const fragments: InternalDateFragment[] = [];\n if (order === InternalDateOrder.YMD) {\n fragments.push(year, month, date);\n } else if (order === InternalDateOrder.MDY) {\n fragments.push(month, date, year);\n } else if (order === InternalDateOrder.DMY) {\n fragments.push(date, month, year);\n }\n\n if (withPad) {\n year.valueWithPad = InternalDateTransformer.padYear(year.value, pad);\n month.valueWithPad = InternalDateTransformer.padMonth(month.value, pad);\n date.valueWithPad = InternalDateTransformer.padDate(date.value, pad);\n }\n\n year.isValid = InternalDateValidator.testParseToNumber(year.value);\n month.isValid = InternalDateValidator.testParseToNumber(month.value);\n date.isValid = InternalDateValidator.testParseToNumber(date.value);\n\n if (withSeparator) {\n const separatorFragment: InternalDateFragment = {\n type: InternalDateComponentType.Separator,\n value: separator,\n length: LENGTH_SEPARATOR,\n };\n fragments.splice(1, 0, separatorFragment);\n fragments.splice(3, 0, separatorFragment);\n }\n\n return fragments;\n }\n\n public static parseValueToDate(\n value: string | null,\n order: InternalDateOrder = defaultDateComponentsOrder,\n ): InternalDateComponents | null {\n if (!value) {\n return null;\n }\n\n const getRe = () => {\n if (order === InternalDateOrder.MDY) {\n return RE_ORDER_MDY;\n } else if (order === InternalDateOrder.DMY) {\n return RE_ORDER_DMY;\n }\n\n return RE_ORDER_YMD;\n };\n\n const re = getRe();\n if (!re.test(value)) {\n return null;\n }\n const match = re.exec(value);\n const dateComponents: InternalDateComponents = { ...emptyDateComponents };\n\n if (match) {\n const matchFinished = match\n .slice(1)\n .map((item) => (InternalDateValidator.testParseToNumber(item) ? Number(item) : null));\n if (order === InternalDateOrder.YMD) {\n ({ 0: dateComponents.year, 1: dateComponents.month, 2: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.MDY) {\n ({ 2: dateComponents.year, 0: dateComponents.month, 1: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.DMY) {\n ({ 2: dateComponents.year, 1: dateComponents.month, 0: dateComponents.date } = matchFinished);\n }\n }\n return dateComponents;\n }\n\n public static dateComponentsStringToNumber(\n componentsRaw: InternalDateComponentsRaw | null,\n ): InternalDateComponentsNumber {\n if (componentsRaw === null) {\n return { year: 0, month: 0, date: 0 };\n }\n const { year, month, date } = componentsRaw;\n return { year: Number(year), month: Number(month), date: Number(date) };\n }\n\n public static dateToInternalString(components: InternalDateComponentsRaw): string {\n return InternalDateTransformer.dateToFragments(components, {\n withPad: true,\n withSeparator: false,\n order: InternalDateOrder.DMY,\n })\n .filter(({ value }) => value !== null)\n .map(({ valueWithPad }) => valueWithPad)\n .join(InternalDateSeparator.Dot);\n }\n}\n"]}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
"use strict";exports.__esModule = true;exports.InternalDateValidator = void 0;
|
|
2
2
|
var _InternalDateGetter = require("./InternalDateGetter");
|
|
3
|
-
var _types = require("./types");
|
|
3
|
+
var _types = require("./types");
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
var calculateStartDate = function calculateStartDate(startDate) {
|
|
11
|
+
if (startDate) {
|
|
12
|
+
return startDate;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return -Infinity;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var calculateEndDate = function calculateEndDate(endDate) {
|
|
19
|
+
if (endDate) {
|
|
20
|
+
return endDate;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return Infinity;
|
|
24
|
+
};var
|
|
10
25
|
InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator() {}InternalDateValidator.
|
|
11
26
|
checkForNull = function checkForNull(_ref, type) {var year = _ref.year,month = _ref.month,date = _ref.date;
|
|
12
27
|
if (type !== undefined) {
|
|
@@ -27,8 +42,17 @@ InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator
|
|
|
27
42
|
type)
|
|
28
43
|
{var year = _ref2.year,month = _ref2.month,date = _ref2.date;
|
|
29
44
|
if (type !== undefined) {
|
|
30
|
-
var
|
|
31
|
-
|
|
45
|
+
var getValue = function getValue() {
|
|
46
|
+
if (type === _types.InternalDateComponentType.Year) {
|
|
47
|
+
return year;
|
|
48
|
+
} else if (type === _types.InternalDateComponentType.Month) {
|
|
49
|
+
return month;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return date;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
var value = getValue();
|
|
32
56
|
|
|
33
57
|
return value >= _InternalDateGetter.InternalDateGetter.getDefaultMin(type) && value <= _InternalDateGetter.InternalDateGetter.getDefaultMax(type);
|
|
34
58
|
}
|
|
@@ -53,9 +77,10 @@ InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator
|
|
|
53
77
|
if (startDate === null && endDate === null) {
|
|
54
78
|
return true;
|
|
55
79
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
80
|
+
|
|
81
|
+
var calculatedEndDate = calculateEndDate(endDate);
|
|
82
|
+
var calculatedStartDate = calculateStartDate(startDate);
|
|
83
|
+
return date >= calculatedStartDate && date <= calculatedEndDate;
|
|
59
84
|
};InternalDateValidator.
|
|
60
85
|
|
|
61
86
|
checkRangePiecemeal = function checkRangePiecemeal(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InternalDateValidator.ts"],"names":["InternalDateValidator","checkForNull","type","year","month","date","undefined","InternalDateComponentType","Year","Month","All","checkLimits","value","InternalDateGetter","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","
|
|
1
|
+
{"version":3,"sources":["InternalDateValidator.ts"],"names":["calculateStartDate","startDate","Infinity","calculateEndDate","endDate","InternalDateValidator","checkForNull","type","year","month","date","undefined","InternalDateComponentType","Year","Month","All","checkLimits","getValue","value","InternalDateGetter","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","getOrder","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n } else if (type === InternalDateComponentType.Month) {\n return month !== null;\n } else if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n return date !== null;\n }\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const getValue = () => {\n if (type === InternalDateComponentType.Year) {\n return year;\n } else if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n };\n\n const value = getValue();\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): boolean {\n return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();\n }\n}\n"]}
|
|
@@ -4,14 +4,16 @@ var _KeyboardEventCodes = require("./KeyboardEventCodes");
|
|
|
4
4
|
var _KeyboardMapKeys = require("./KeyboardMapKeys");
|
|
5
5
|
|
|
6
6
|
function extractCode(e) {
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
return
|
|
7
|
+
var event = e.nativeEvent || e;
|
|
8
|
+
if (event.code) {
|
|
9
|
+
return event.code;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
var
|
|
11
|
+
|
|
12
|
+
var keyCode = event.keyCode || event.which;
|
|
13
|
+
var location = event.location;
|
|
13
14
|
var mapped = Object.entries(_KeyboardMapKeys.KeyboardMapKeys).find(function (_ref) {var set = _ref[1];return (
|
|
14
15
|
set.some(function (_ref2) {var _keyCode = _ref2[0],_location = _ref2[1];return _keyCode === keyCode && _location === location;}));});
|
|
15
16
|
|
|
17
|
+
|
|
16
18
|
return mapped ? mapped[0] : _KeyboardEventCodes.KeyboardEventCodes.Unidentified;
|
|
17
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["extractCode.ts"],"names":["extractCode","e","nativeEvent","code","keyCode","which","location","mapped","Object","entries","KeyboardMapKeys","find","set","some","_keyCode","_location","Codes","Unidentified"],"mappings":";;AAEA;AACA;;AAEO,SAASA,WAAT,CAAqBC,CAArB,EAAiF;
|
|
1
|
+
{"version":3,"sources":["extractCode.ts"],"names":["extractCode","e","event","nativeEvent","code","keyCode","which","location","mapped","Object","entries","KeyboardMapKeys","find","set","some","_keyCode","_location","Codes","Unidentified"],"mappings":";;AAEA;AACA;;AAEO,SAASA,WAAT,CAAqBC,CAArB,EAAiF;AACtF,MAAMC,KAAK,GAAID,CAAD,CAAwCE,WAAxC,IAAuDF,CAArE;AACA,MAAIC,KAAK,CAACE,IAAV,EAAgB;AACd,WAAOF,KAAK,CAACE,IAAb;AACD;;AAED,MAAMC,OAAO,GAAGH,KAAK,CAACG,OAAN,IAAiBH,KAAK,CAACI,KAAvC;AACA,MAAMC,QAAQ,GAAGL,KAAK,CAACK,QAAvB;AACA,MAAMC,MAAM,GAAIC,MAAM,CAACC,OAAR,CAAkDC,gCAAlD,EAAmEC,IAAnE,CAAwE,qBAAIC,GAAJ;AACrFA,MAAAA,GAAG,CAACC,IAAJ,CAAS,sBAAEC,QAAF,YAAYC,SAAZ,mBAA2BD,QAAQ,KAAKV,OAAb,IAAwBW,SAAS,KAAKT,QAAjE,EAAT,CADqF,GAAxE,CAAf;;;AAIA,SAAOC,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAT,GAAeS,uCAAMC,YAAlC;AACD","sourcesContent":["import { Entries } from '../../../typings/utility-types';\n\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\nimport { KeyboardKey, KeyboardMapKeys } from './KeyboardMapKeys';\n\nexport function extractCode(e: React.KeyboardEvent<HTMLElement> | KeyboardEvent): Codes {\n const event = (e as React.KeyboardEvent<HTMLElement>).nativeEvent || e;\n if (event.code) {\n return event.code as Codes;\n }\n\n const keyCode = event.keyCode || event.which;\n const location = event.location;\n const mapped = (Object.entries as Entries<Codes, KeyboardKey[]>)(KeyboardMapKeys).find(([, set]) =>\n set.some(([_keyCode, _location]) => _keyCode === keyCode && _location === location),\n );\n\n return mapped ? mapped[0] : Codes.Unidentified;\n}\n"]}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Nullable } from '../../typings/utility-types';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts component's root HTMLElement out of it's instance
|
|
5
|
+
* following the "StrictMode support convention" (@see README.md#strictmode, #2518).
|
|
6
|
+
*
|
|
7
|
+
* Replaces findDOMNode but falls back to it if "convention" is not respected.
|
|
8
|
+
*
|
|
9
|
+
* @param instance Component's instance provided by React.Ref or `this` inside class-components.
|
|
10
|
+
* @returns Component's root HTMLElement or null
|
|
11
|
+
*/
|
|
3
12
|
export declare const getRootNode: (instance: Nullable<React.ReactInstance>) => Nullable<HTMLElement>;
|
|
@@ -8,24 +8,52 @@ var _client = require("../client");
|
|
|
8
8
|
|
|
9
9
|
var _rootNodeDecorator = require("./rootNodeDecorator"); /* eslint-disable react/no-find-dom-node */
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Extracts component's root HTMLElement out of it's instance
|
|
13
|
+
* following the "StrictMode support convention" (@see README.md#strictmode, #2518).
|
|
14
|
+
*
|
|
15
|
+
* Replaces findDOMNode but falls back to it if "convention" is not respected.
|
|
16
|
+
*
|
|
17
|
+
* @param instance Component's instance provided by React.Ref or `this` inside class-components.
|
|
18
|
+
* @returns Component's root HTMLElement or null
|
|
19
|
+
*/
|
|
20
|
+
|
|
11
21
|
var getRootNode = function getRootNode(instance) {
|
|
12
|
-
if (!_client.canUseDOM)
|
|
13
|
-
|
|
22
|
+
if (!_client.canUseDOM || !instance) {
|
|
23
|
+
// instance can be `null` if component was unmounted
|
|
24
|
+
// also checking undefined for convinient usage
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if ((0, _SSRSafe.isHTMLElement)(instance)) {
|
|
29
|
+
// instance can be a HTMLElement already if comming
|
|
30
|
+
// from Refs of intrinsic elements (<div />, <button />, etc.)
|
|
14
31
|
return instance;
|
|
15
32
|
}
|
|
16
33
|
|
|
17
34
|
var rootNode;
|
|
18
35
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
36
|
+
if ((0, _rootNodeDecorator.isInstanceWithRootNode)(instance)) {
|
|
37
|
+
// it happened to be that native Node interface also has
|
|
38
|
+
// the "getRootNode" method, but we can ignore it here
|
|
39
|
+
// because we'd already checked the instance on being an HTMLElement
|
|
40
|
+
// which is a subclass of Node, so, just fixing types here
|
|
41
|
+
if (!(0, _SSRSafe.isNode)(instance)) {
|
|
42
|
+
rootNode = instance.getRootNode();
|
|
43
|
+
}
|
|
23
44
|
}
|
|
24
45
|
|
|
25
46
|
if (rootNode !== undefined) {
|
|
47
|
+
// at this point, it is rather HTMLElement (what we are looking for)
|
|
48
|
+
// or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it
|
|
26
49
|
return rootNode;
|
|
27
50
|
}
|
|
28
51
|
|
|
52
|
+
// node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined
|
|
53
|
+
// anyway, it tell us that the convention is not respected (by the component itself or its children),
|
|
54
|
+
// so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode
|
|
29
55
|
rootNode = (0, _reactDom.findDOMNode)(instance);
|
|
56
|
+
|
|
57
|
+
// the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it
|
|
30
58
|
return (0, _SSRSafe.isHTMLElement)(rootNode) ? rootNode : null;
|
|
31
59
|
};exports.getRootNode = getRootNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","rootNode","undefined"],"mappings":";AACA;;;;AAIA;AACA;;AAEA,wD,CARA;;
|
|
1
|
+
{"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","rootNode","undefined"],"mappings":";AACA;;;;AAIA;AACA;;AAEA,wD,CARA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACC,iBAAD,IAAc,CAACD,QAAnB,EAA6B;AAC3B;AACA;AACA,WAAO,IAAP;AACD;;AAED,MAAI,4BAAcA,QAAd,CAAJ,EAA6B;AAC3B;AACA;AACA,WAAOA,QAAP;AACD;;AAED,MAAIE,QAAJ;;AAEA,MAAI,+CAAuBF,QAAvB,CAAJ,EAAsC;AACpC;AACA;AACA;AACA;AACA,QAAI,CAAC,qBAAOA,QAAP,CAAL,EAAuB;AACrBE,MAAAA,QAAQ,GAAGF,QAAQ,CAACD,WAAT,EAAX;AACD;AACF;;AAED,MAAIG,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B;AACA;AACA,WAAOD,QAAP;AACD;;AAED;AACA;AACA;AACAA,EAAAA,QAAQ,GAAG,2BAAYF,QAAZ,CAAX;;AAEA;AACA,SAAO,4BAAcE,QAAd,IAA0BA,QAA1B,GAAqC,IAA5C;AACD,CAtCM,C","sourcesContent":["/* eslint-disable react/no-find-dom-node */\nimport { findDOMNode } from 'react-dom';\nimport React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isHTMLElement, isNode } from '../SSRSafe';\nimport { canUseDOM } from '../client';\n\nimport { isInstanceWithRootNode } from './rootNodeDecorator';\n\n/**\n * Extracts component's root HTMLElement out of it's instance\n * following the \"StrictMode support convention\" (@see README.md#strictmode, #2518).\n *\n * Replaces findDOMNode but falls back to it if \"convention\" is not respected.\n *\n * @param instance Component's instance provided by React.Ref or `this` inside class-components.\n * @returns Component's root HTMLElement or null\n */\n\nexport const getRootNode = (instance: Nullable<React.ReactInstance>): Nullable<HTMLElement> => {\n if (!canUseDOM || !instance) {\n // instance can be `null` if component was unmounted\n // also checking undefined for convinient usage\n return null;\n }\n\n if (isHTMLElement(instance)) {\n // instance can be a HTMLElement already if comming\n // from Refs of intrinsic elements (<div />, <button />, etc.)\n return instance;\n }\n\n let rootNode;\n\n if (isInstanceWithRootNode(instance)) {\n // it happened to be that native Node interface also has\n // the \"getRootNode\" method, but we can ignore it here\n // because we'd already checked the instance on being an HTMLElement\n // which is a subclass of Node, so, just fixing types here\n if (!isNode(instance)) {\n rootNode = instance.getRootNode();\n }\n }\n\n if (rootNode !== undefined) {\n // at this point, it is rather HTMLElement (what we are looking for)\n // or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it\n return rootNode;\n }\n\n // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined\n // anyway, it tell us that the convention is not respected (by the component itself or its children),\n // so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode\n rootNode = findDOMNode(instance);\n\n // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it\n return isHTMLElement(rootNode) ? rootNode : null;\n};\n"]}
|