@skbkontur/react-ui 4.3.0 → 4.5.0
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 +43 -0
- package/cjs/components/Autocomplete/Autocomplete.js +3 -1
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +4 -2
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +10 -4
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
- package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js +14 -2
- package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +10 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -1
- package/cjs/components/DateInput/DateInput.js +1 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -2
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
- package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
- package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/components/DatePicker/DatePicker.js +11 -3
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/Picker.js +5 -1
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +2 -1
- package/cjs/components/FileUploader/FileUploader.js +16 -3
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +8 -1
- package/cjs/components/FxInput/FxInput.js +3 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +1 -1
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Hint/Hint.md +14 -0
- package/cjs/components/Input/Input.js +5 -2
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.md +5 -1
- package/cjs/components/Input/Input.styles.d.ts +1 -0
- package/cjs/components/Input/Input.styles.js +17 -10
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +1 -4
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +1 -3
- package/cjs/components/Link/Link.js +1 -1
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +2 -1
- package/cjs/components/Loader/Loader.js +1 -0
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Loader/__stories__/LoaderAndButton.js +6 -0
- package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.js +3 -1
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Modal/Modal.js +2 -2
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +2 -2
- package/cjs/components/Modal/Modal.styles.js +2 -2
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +2 -2
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +1 -1
- package/cjs/components/Paging/Paging.js +1 -1
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -2
- package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +7 -5
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.js +3 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +6 -5
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +5 -9
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +31 -0
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +2 -2
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/ResponsiveLayout/decorator.d.ts +1 -1
- package/cjs/components/ResponsiveLayout/types.d.ts +9 -1
- package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
- package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +31 -15
- package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +4 -4
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Item.d.ts +4 -2
- package/cjs/components/Select/Item.js +3 -0
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.js +2 -0
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +6 -4
- package/cjs/components/SidePage/SidePageFooter.js +4 -0
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +1 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.styles.d.ts +1 -1
- package/cjs/components/Spinner/Spinner.styles.js +7 -7
- package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
- package/cjs/components/Tabs/Indicator.d.ts +1 -1
- package/cjs/components/Tabs/Indicator.js +1 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +3 -1
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +2 -2
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.js +1 -1
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Token/Token.styles.js +2 -1
- package/cjs/components/Token/Token.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +3 -0
- package/cjs/components/TokenInput/TokenInput.js +57 -15
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +26 -0
- package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
- package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +2 -1
- package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +2 -2
- package/cjs/components/Tooltip/Tooltip.js +2 -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.map +1 -1
- package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
- package/cjs/hooks/useEffectWithoutInitCall.js +2 -2
- package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -1
- package/cjs/hooks/useMemoObject.d.ts +2 -1
- package/cjs/hooks/useMemoObject.js +2 -0
- package/cjs/hooks/useMemoObject.js.map +1 -1
- package/cjs/internal/BGRuler.d.ts +1 -1
- package/cjs/internal/BGRuler.js.map +1 -1
- package/cjs/internal/Calendar/MonthViewModel.d.ts +1 -1
- package/cjs/internal/Calendar/config.d.ts +1 -8
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js +5 -4
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/ComponentTable.d.ts +2 -2
- package/cjs/internal/ComponentTable.js +3 -1
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +8 -8
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -5
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DataTids/DataTids.d.ts +5 -5
- package/cjs/internal/DataTids/DataTids.js +4 -0
- package/cjs/internal/DataTids/DataTids.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +1 -1
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +4 -2
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +21 -9
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.d.ts +1 -0
- package/cjs/internal/MaskedInput/MaskedInput.js +13 -5
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +7 -3
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +1 -1
- package/cjs/internal/Popup/Popup.js +20 -15
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.d.ts +1 -1
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +1 -1
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +7 -0
- package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +2 -3
- package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
- package/cjs/internal/ThemePlayground/FxInputPlayground.js +5 -5
- package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/HintPlayground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
- package/cjs/internal/ThemePlayground/PagingPlayground.js +5 -2
- package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.d.ts +1 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
- package/cjs/internal/ThemePlayground/SelectPlayground.js +6 -0
- package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -2
- package/cjs/internal/ThemePlayground/SizesGroup.js +2 -0
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
- package/cjs/internal/ThemePlayground/SwitcherPlayground.js +6 -1
- package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -4
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
- package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
- package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
- package/cjs/internal/ThemePlayground/TogglePlayground.js +4 -10
- package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
- package/cjs/internal/ThemePlayground/TokenInputPlayground.js +3 -0
- package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.d.ts +1 -4
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
- package/cjs/internal/ThemePlayground/helpers.js +4 -2
- package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.js +2 -9
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +2 -0
- package/cjs/internal/themes/DefaultTheme.js +8 -2
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/ConditionalHandler.js.map +1 -1
- package/cjs/lib/InstanceWithAnchorElement.d.ts +1 -1
- package/cjs/lib/InstanceWithAnchorElement.js.map +1 -1
- package/cjs/lib/ModalStack.js +2 -2
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.d.ts +2 -1
- package/cjs/lib/SSRSafe.js +9 -1
- package/cjs/lib/SSRSafe.js.map +1 -1
- package/cjs/lib/animation/index.js +1 -0
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/callChildRef/callChildRef.js +1 -1
- package/cjs/lib/callChildRef/callChildRef.js.map +1 -1
- package/cjs/lib/createPropsGetter.d.ts +1 -1
- package/cjs/lib/createPropsGetter.js +1 -0
- package/cjs/lib/createPropsGetter.js.map +1 -1
- package/cjs/lib/date/InternalDateCalculator.d.ts +1 -1
- package/cjs/lib/date/InternalDateCalculator.js +1 -1
- package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.d.ts +1 -1
- package/cjs/lib/date/InternalDateValidator.js +9 -2
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/extractKeyboardAction.d.ts +1 -1
- package/cjs/lib/extractKeyboardAction.js.map +1 -1
- package/cjs/lib/filterProps.js +0 -1
- package/cjs/lib/filterProps.js.map +1 -1
- package/cjs/lib/listenFocusOutside.d.ts +1 -1
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/locale/useLocaleForControl.d.ts +1 -1
- package/cjs/lib/locale/useLocaleForControl.js.map +1 -1
- package/cjs/lib/memo.d.ts +3 -1
- package/cjs/lib/memo.js +3 -3
- package/cjs/lib/memo.js.map +1 -1
- package/cjs/lib/net/fetch.js +2 -2
- package/cjs/lib/net/fetch.js.map +1 -1
- package/cjs/lib/reactGetTextContent.js +0 -1
- package/cjs/lib/reactGetTextContent.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
- package/cjs/lib/rootNode/getRootNode.js +7 -7
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -9
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/styles/ColorFactory.js +2 -2
- package/cjs/lib/styles/ColorFactory.js.map +1 -1
- package/cjs/lib/styles/ColorFunctions.js.map +1 -1
- package/cjs/lib/theming/AnimationKeyframes.d.ts +3 -5
- package/cjs/lib/theming/AnimationKeyframes.js +8 -22
- package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +1 -0
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
- package/cjs/lib/theming/ThemeFactory.js +3 -1
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.d.ts +2 -2
- package/cjs/lib/theming/ThemeHelpers.js +1 -1
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/utils.d.ts +3 -1
- package/cjs/lib/utils.js +5 -2
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/lib/withClassWrapper.js +1 -4
- package/cjs/lib/withClassWrapper.js.map +1 -1
- package/cjs/typings/event-types.d.ts +2 -2
- package/components/Autocomplete/Autocomplete/Autocomplete.js +4 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +5 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +1 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -3
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js +4 -2
- package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +11 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateFragmentsView.d.ts +1 -1
- package/components/DateInput/DateInput/DateInput.js +1 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -1
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +0 -1
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +2 -2
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +13 -12
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +1 -1
- package/components/DatePicker/Picker/Picker.js +5 -1
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +9 -4
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +2 -1
- package/components/FileUploader/FileUploader.md +8 -1
- package/components/FxInput/FxInput/FxInput.js +4 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +1 -1
- package/components/Hint/Hint.md +14 -0
- package/components/Input/Input/Input.js +5 -2
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.md +5 -1
- package/components/Input/Input.styles/Input.styles.js +13 -10
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +1 -4
- package/components/Link/Link/Link.js +1 -1
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +1 -3
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +2 -1
- package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +4 -1
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/Modal/Modal/Modal.js +2 -2
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +2 -2
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +2 -2
- package/components/Modal/ModalBody/ModalBody.js +2 -2
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Paging/Paging/Paging.js +1 -1
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +1 -1
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
- package/components/Paging/PagingDefaultComponent.d.ts +2 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js +7 -8
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +4 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -8
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +6 -5
- package/components/ResponsiveLayout/ResponsiveLayout.md +31 -0
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ResponsiveLayout/decorator.d.ts +1 -1
- package/components/ResponsiveLayout/types.d.ts +9 -1
- package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js +42 -17
- package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
- package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +4 -4
- package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -1
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +4 -2
- package/components/Select/Select/Select.js.map +1 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +6 -4
- package/components/Spinner/Spinner/Spinner.js +1 -1
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.styles/Spinner.styles.js +3 -3
- package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
- package/components/Spinner/Spinner.styles.d.ts +1 -1
- package/components/Tabs/Indicator/Indicator.js +1 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.d.ts +1 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +4 -1
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +2 -2
- package/components/Toast/Toast/Toast.js +1 -1
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Token/Token.styles/Token.styles.js +1 -1
- package/components/Token/Token.styles/Token.styles.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +82 -19
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +3 -0
- package/components/TokenInput/TokenInput.md +26 -0
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +2 -1
- package/components/Tooltip/Tooltip/Tooltip.js +2 -2
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +2 -2
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +2 -2
- package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -1
- package/hooks/useEffectWithoutInitCall.d.ts +2 -2
- package/hooks/useMemoObject/useMemoObject.js.map +1 -1
- package/hooks/useMemoObject.d.ts +2 -1
- package/internal/BGRuler/BGRuler.js.map +1 -1
- package/internal/BGRuler.d.ts +1 -1
- package/internal/Calendar/MonthViewModel.d.ts +1 -1
- package/internal/Calendar/config.d.ts +1 -8
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/ComponentTable.d.ts +2 -2
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +14 -17
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -5
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/DataTids/DataTids/DataTids.js.map +1 -1
- package/internal/DataTids/DataTids.d.ts +5 -5
- package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +5 -2
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +17 -7
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +13 -6
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/MaskedInput/MaskedInput.d.ts +1 -0
- package/internal/Menu/Menu/Menu.js +6 -1
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +20 -12
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +1 -1
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/Popup/PopupHelper.d.ts +1 -1
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +1 -1
- package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
- package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
- package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
- package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +10 -6
- package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
- package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
- package/internal/ThemePlayground/HintPlayground.d.ts +1 -1
- package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +2 -2
- package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
- package/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.d.ts +1 -1
- package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
- package/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup.d.ts +2 -2
- package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
- package/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +13 -3
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
- package/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
- package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +5 -17
- package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
- package/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
- package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
- package/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/VariableValue.d.ts +1 -4
- package/internal/ThemePlayground/helpers/helpers.js +0 -1
- package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
- package/internal/ThemePlayground/helpers.d.ts +1 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +6 -3
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +16 -6
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +2 -0
- package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
- package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -1
- package/lib/InstanceWithAnchorElement.d.ts +1 -1
- package/lib/ModalStack/ModalStack.js +2 -2
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/SSRSafe/SSRSafe.js +7 -0
- package/lib/SSRSafe/SSRSafe.js.map +1 -1
- package/lib/SSRSafe.d.ts +2 -1
- package/lib/animation/index/index.js +1 -1
- package/lib/animation/index/index.js.map +1 -1
- package/lib/callChildRef/callChildRef/callChildRef.js +1 -1
- package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -1
- package/lib/createPropsGetter/createPropsGetter.js +1 -0
- package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
- package/lib/createPropsGetter.d.ts +1 -1
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js +1 -2
- package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
- package/lib/date/InternalDateCalculator.d.ts +1 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js +8 -2
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/InternalDateValidator.d.ts +1 -1
- package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
- package/lib/extractKeyboardAction.d.ts +1 -1
- package/lib/filterProps/filterProps.js +0 -1
- package/lib/filterProps/filterProps.js.map +1 -1
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/listenFocusOutside.d.ts +1 -1
- package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -1
- package/lib/locale/useLocaleForControl.d.ts +1 -1
- package/lib/memo/memo.js +2 -4
- package/lib/memo/memo.js.map +1 -1
- package/lib/memo.d.ts +3 -1
- package/lib/net/fetch/fetch.js +2 -2
- package/lib/net/fetch/fetch.js.map +1 -1
- package/lib/reactGetTextContent/reactGetTextContent.js +0 -1
- package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +8 -8
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/getRootNode.d.ts +3 -3
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +9 -9
- package/lib/styles/ColorFactory/ColorFactory.js +3 -1
- package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
- package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +8 -14
- package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
- package/lib/theming/AnimationKeyframes.d.ts +3 -5
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js +4 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeFactory.d.ts +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +2 -2
- package/lib/utils/utils.js +2 -2
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +3 -1
- package/lib/withClassWrapper/withClassWrapper.js +1 -4
- package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
- package/package.json +3 -20
- package/typings/event-types.d.ts +2 -2
|
@@ -83,7 +83,16 @@ export var DateFragmentsView = /*#__PURE__*/function (_React$Component) {
|
|
|
83
83
|
value = fragment.value,
|
|
84
84
|
length = fragment.length,
|
|
85
85
|
valueWithPad = fragment.valueWithPad;
|
|
86
|
-
|
|
86
|
+
|
|
87
|
+
var getValueMask = function getValueMask() {
|
|
88
|
+
if (value === null || selected === type && inputMode) {
|
|
89
|
+
return value;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return valueWithPad || value;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var valueMask = getValueMask();
|
|
87
96
|
var lengthMask = InternalDateValidator.testParseToNumber(valueMask) ? Math.max(length - valueMask.toString().length, 0) : length;
|
|
88
97
|
|
|
89
98
|
var handleMouseUp = function handleMouseUp(e) {
|
|
@@ -97,6 +106,7 @@ export var DateFragmentsView = /*#__PURE__*/function (_React$Component) {
|
|
|
97
106
|
"data-fragment": "",
|
|
98
107
|
onMouseUp: handleMouseUp
|
|
99
108
|
}, valueMask, /*#__PURE__*/React.createElement("span", {
|
|
109
|
+
"data-tid": "DateFragmentsView__placeholder",
|
|
100
110
|
className: styles.mask(this.theme)
|
|
101
111
|
}, Array(lengthMask).fill('').map(function (_, i) {
|
|
102
112
|
return /*#__PURE__*/React.createElement(MaskCharLowLine, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateFragmentsView.tsx"],"names":["React","MaskCharLowLine","InternalDateValidator","InternalDateComponentType","ThemeContext","cx","styles","DateFragmentsView","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","theme","renderMain","root","props","map","index","type","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","selected","length","valueWithPad","valueMask","lengthMask","testParseToNumber","Math","max","toString","handleMouseUp","e","document","activeElement","currentTarget","fill","_","i","Component"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,qBAAT,QAAsC,sCAAtC;AACA,SAASC,yBAAT,QAAgE,sBAAhE;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,EAAT,QAAmB,2BAAnB;;AAEA,SAASC,MAAT,QAAuB,4BAAvB;;;;;;;;;AASA,WAAaC,iBAAb;;AAEUC,IAAAA,QAFV,GAE6C,IAF7C;;AAISC,IAAAA,UAJT,GAIsB,UAACC,EAAD,EAA4C;AAC9D,UAAI,MAAKF,QAAT,EAAmB;AACjB;AACA,YAAMG,SAA4B,GAAGC,KAAK,CAACC,IAAN,CAAW,MAAKL,QAAL,CAAcM,gBAAd,CAA+B,iBAA/B,CAAX,CAArC;AACA,eAAOH,SAAS,CAACI,IAAV,CAAe,UAACC,QAAD,UAAcA,QAAQ,KAAKN,EAAb,IAAmBM,QAAQ,CAACC,QAAT,CAAkBP,EAAlB,CAAjC,EAAf,CAAP;AACD;AACD,aAAO,KAAP;AACD,KAXH;;AAaSQ,IAAAA,WAbT,GAauB,oBAAM,MAAKV,QAAX,EAbvB
|
|
1
|
+
{"version":3,"sources":["DateFragmentsView.tsx"],"names":["React","MaskCharLowLine","InternalDateValidator","InternalDateComponentType","ThemeContext","cx","styles","DateFragmentsView","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","theme","renderMain","root","props","map","index","type","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","selected","length","valueWithPad","getValueMask","valueMask","lengthMask","testParseToNumber","Math","max","toString","handleMouseUp","e","document","activeElement","currentTarget","fill","_","i","Component"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator';\nimport { InternalDateComponentType, InternalDateFragment } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './DateFragmentsView.styles';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private theme!: Theme;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = () => this.rootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n return (\n <span ref={this.rootRef} className={styles.root(this.theme)}>\n {this.props.fragments.map((fragment, index) =>\n fragment.type === InternalDateComponentType.Separator\n ? this.renderSeparator(fragment, index)\n : this.renderDateComponent(fragment, index),\n )}\n </span>\n );\n }\n\n private renderSeparator(fragment: InternalDateFragment, index: number): JSX.Element {\n const separatorClassName = cx({\n [styles.mask(this.theme)]: true,\n [styles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (document.activeElement && document.activeElement.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span data-tid=\"DateFragmentsView__placeholder\" className={styles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
|
|
@@ -6,7 +6,7 @@ interface DateFragmentViewProps {
|
|
|
6
6
|
inputMode: boolean;
|
|
7
7
|
onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;
|
|
8
8
|
}
|
|
9
|
-
export declare class DateFragmentsView extends React.Component<DateFragmentViewProps
|
|
9
|
+
export declare class DateFragmentsView extends React.Component<DateFragmentViewProps> {
|
|
10
10
|
private theme;
|
|
11
11
|
private rootNode;
|
|
12
12
|
isFragment: (el: HTMLElement | EventTarget) => boolean;
|
|
@@ -377,7 +377,7 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
|
|
|
377
377
|
|
|
378
378
|
var _proto = DateInput.prototype;
|
|
379
379
|
|
|
380
|
-
_proto.componentDidUpdate = function componentDidUpdate(prevProps
|
|
380
|
+
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
|
|
381
381
|
var _this$getProps = this.getProps(),
|
|
382
382
|
value = _this$getProps.value,
|
|
383
383
|
minDate = _this$getProps.minDate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateInput.tsx"],"names":["React","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CalendarIcon","CommonWrapper","cx","rootNode","createPropsGetter","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInput","props","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","withIcon","disabled","size","theme","iconStyles","icon","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","handleBlur","restored","restore","updateValue","inputMode","onBlur","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","valueFormatted","getString","emitChange","updateFromProps","update","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","width","setRootNode","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport interface DateInputProps extends CommonProps {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: 'small' | 'large' | 'medium';\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps, prevState: DateInputState) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps();\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps();\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <InputLikeText\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles}>\n <CalendarIcon />\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const restored = this.iDateMediator.restore();\n this.updateValue({ focused: false, selected: null, inputMode: false });\n\n if (this.props.onBlur) {\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = getSelection();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n };\n\n private updateFromProps = (): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue();\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["DateInput.tsx"],"names":["React","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CalendarIcon","CommonWrapper","cx","rootNode","createPropsGetter","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInput","props","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","withIcon","disabled","size","theme","iconStyles","icon","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","handleBlur","restored","restore","updateValue","inputMode","onBlur","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","valueFormatted","getString","emitChange","updateFromProps","update","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","width","setRootNode","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport interface DateInputProps extends CommonProps {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: 'small' | 'large' | 'medium';\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps();\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps();\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <InputLikeText\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles}>\n <CalendarIcon />\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const restored = this.iDateMediator.restore();\n this.updateValue({ focused: false, selected: null, inputMode: false });\n\n if (this.props.onBlur) {\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = getSelection();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n };\n\n private updateFromProps = (): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue();\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
|
|
@@ -69,7 +69,7 @@ export declare class DateInput extends React.Component<DateInputProps, DateInput
|
|
|
69
69
|
private setRootNode;
|
|
70
70
|
private conditionalHandler;
|
|
71
71
|
constructor(props: DateInputProps);
|
|
72
|
-
componentDidUpdate(prevProps: DateInputProps
|
|
72
|
+
componentDidUpdate(prevProps: DateInputProps): void;
|
|
73
73
|
selectNode: () => void;
|
|
74
74
|
componentDidMount(): void;
|
|
75
75
|
blur(): void;
|
package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateInputKeyboardActions.tsx"],"names":["SEPARATOR","Keyboard","KeyboardActionExctracterBuilder","delimiters","e","RegExp","test","key","isKeySpace","isCodeMinus","isCodeComma","isCodePeriod","isCodeSlash","isCodeBackslash","isCodeIntlBackslash","isCodeNumpadDecimal","isCodeNumpadDivide","isCodeNumpadSubtract","Actions","extractAction","add","PasteValue","isShortcutPaste","CopyValue","isShortcutCopy","FullSelection","isShortcutSelectAll","Ignore","someKeys","isModified","isKeyFs","isKeyTab","MoveSelectionLeft","isKeyArrowLeft","MoveSelectionRight","isKeyArrowRight","MoveSelectionFirst","isKeyHome","MoveSelectionLast","isKeyEnd","Separator","Increment","isKeyArrowUp","Decrement","isKeyArrowDown","ClearSelection","isKeyDelete","ClearOneChar","isKeyBackspace","Digit","isKeyNumber","WrongInput","build","Unknown"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["DateInputKeyboardActions.tsx"],"names":["SEPARATOR","Keyboard","KeyboardActionExctracterBuilder","delimiters","e","RegExp","test","key","isKeySpace","isCodeMinus","isCodeComma","isCodePeriod","isCodeSlash","isCodeBackslash","isCodeIntlBackslash","isCodeNumpadDecimal","isCodeNumpadDivide","isCodeNumpadSubtract","Actions","extractAction","add","PasteValue","isShortcutPaste","CopyValue","isShortcutCopy","FullSelection","isShortcutSelectAll","Ignore","someKeys","isModified","isKeyFs","isKeyTab","MoveSelectionLeft","isKeyArrowLeft","MoveSelectionRight","isKeyArrowRight","MoveSelectionFirst","isKeyHome","MoveSelectionLast","isKeyEnd","Separator","Increment","isKeyArrowUp","Decrement","isKeyArrowDown","ClearSelection","isKeyDelete","ClearOneChar","isKeyBackspace","Digit","isKeyNumber","WrongInput","build","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { SEPARATOR } from '../../../lib/date/constants';\nimport * as Keyboard from '../../../lib/events/keyboard/identifiers';\nimport { KeyboardActionExctracterBuilder } from '../../../lib/extractKeyboardAction';\n\nconst delimiters = [\n (e: React.KeyboardEvent<HTMLElement> | KeyboardEvent) => new RegExp(SEPARATOR).test(e.key),\n Keyboard.isKeySpace,\n Keyboard.isCodeMinus,\n Keyboard.isCodeComma,\n Keyboard.isCodePeriod,\n Keyboard.isCodeSlash,\n Keyboard.isCodeBackslash,\n Keyboard.isCodeIntlBackslash,\n Keyboard.isCodeNumpadDecimal,\n Keyboard.isCodeNumpadDivide,\n Keyboard.isCodeNumpadSubtract,\n];\n\nexport enum Actions {\n Unknown,\n Ignore,\n MoveSelectionLeft,\n MoveSelectionRight,\n MoveSelectionFirst,\n MoveSelectionLast,\n Decrement,\n Increment,\n FullSelection,\n ClearSelection,\n ClearOneChar,\n Digit,\n Separator,\n WrongInput,\n PasteValue,\n CopyValue,\n}\n\nconst extractAction = new KeyboardActionExctracterBuilder<Actions>()\n .add(Actions.PasteValue, Keyboard.isShortcutPaste)\n .add(Actions.CopyValue, Keyboard.isShortcutCopy)\n .add(Actions.FullSelection, Keyboard.isShortcutSelectAll)\n .add(Actions.Ignore, Keyboard.someKeys(Keyboard.isModified(), Keyboard.isKeyFs, Keyboard.isKeyTab))\n .add(Actions.MoveSelectionLeft, Keyboard.isKeyArrowLeft)\n .add(Actions.MoveSelectionRight, Keyboard.isKeyArrowRight)\n .add(Actions.MoveSelectionFirst, Keyboard.isKeyHome)\n .add(Actions.MoveSelectionLast, Keyboard.isKeyEnd)\n .add(Actions.Separator, Keyboard.someKeys(...delimiters))\n .add(Actions.Increment, Keyboard.isKeyArrowUp)\n .add(Actions.Decrement, Keyboard.isKeyArrowDown)\n .add(Actions.ClearSelection, (e) => Keyboard.isKeyDelete(e))\n .add(Actions.ClearOneChar, Keyboard.isKeyBackspace)\n .add(Actions.Digit, Keyboard.isKeyNumber)\n .add(Actions.WrongInput, (e) => !Keyboard.isKeyNumber(e))\n .build(Actions.Unknown);\n\nexport { extractAction };\n"]}
|
|
@@ -23,11 +23,11 @@ export var selectNodeContents = function selectNodeContents(node, start, end) {
|
|
|
23
23
|
}
|
|
24
24
|
} catch (e) {// empty block
|
|
25
25
|
}
|
|
26
|
-
} // @ts-
|
|
26
|
+
} // @ts-expect-error: IE-specific API.
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
if (typeof document.body.createTextRange === 'function') {
|
|
30
|
-
// @ts-
|
|
30
|
+
// @ts-expect-error: Read the comment above.
|
|
31
31
|
var _range = document.body.createTextRange();
|
|
32
32
|
|
|
33
33
|
_range.moveToElementText(node);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["SelectionHelpers.tsx"],"names":["selectNodeContents","node","start","end","document","selection","window","getSelection","range","createRange","undefined","setStart","setEnd","removeAllRanges","addRange","e","body","createTextRange","moveToElementText","select","removeAllSelections"],"mappings":"AAAA,OAAO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAA2BC,KAA3B,EAA2CC,GAA3C,EAA4D;AAC5F,MAAI,CAACF,IAAL,EAAW;AACT;AACD;AACD,MAAI,iBAAiBG,QAArB,EAA+B;AAC7B,QAAI;AACF,UAAMC,SAAS,GAAGC,MAAM,CAACC,YAAP,EAAlB;AACA,UAAMC,KAAK,GAAGF,MAAM,CAACF,QAAP,CAAgBK,WAAhB,EAAd;AACA,UAAIP,KAAK,KAAKQ,SAAV,IAAuBP,GAAG,KAAKO,SAAnC,EAA8C;AAC5CF,QAAAA,KAAK,CAACG,QAAN,CAAeV,IAAf,EAAqBC,KAArB;AACAM,QAAAA,KAAK,CAACI,MAAN,CAAaX,IAAb,EAAmBE,GAAnB;AACD,OAHD,MAGO;AACLK,QAAAA,KAAK,CAACR,kBAAN,CAAyBC,IAAzB;AACD;AACD,UAAII,SAAS,KAAK,IAAlB,EAAwB;AACtB;AACAA,QAAAA,SAAS,CAACQ,eAAV;AACAR,QAAAA,SAAS,CAACS,QAAV,CAAmBN,KAAnB;AACA;AACD;AACF,KAfD,CAeE,OAAOO,CAAP,EAAU;AACV;AACD;AACF;;AAED;AACA,MAAI,OAAOX,QAAQ,CAACY,IAAT,CAAcC,eAArB,KAAyC,UAA7C,EAAyD;AACvD;AACA,QAAMT,MAAK,GAAGJ,QAAQ,CAACY,IAAT,CAAcC,eAAd,EAAd;AACAT,IAAAA,MAAK,CAACU,iBAAN,CAAwBjB,IAAxB;AACA,QAAI,OAAOO,MAAK,CAACW,MAAb,KAAwB,UAA5B,EAAwC;AACtCX,MAAAA,MAAK,CAACW,MAAN;AACD;AACD;AACD;AACF,CAnCM;;AAqCP,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AACvC,MAAMf,SAAS,GAAGC,MAAM,CAACC,YAAP,EAAlB;AACA,MAAIF,SAAS,KAAK,IAAlB,EAAwB;AACtB,QAAI;AACF;AACAA,MAAAA,SAAS,CAACQ,eAAV;AACD,KAHD,CAGE,OAAOE,CAAP,EAAU;AACV;AACD;AACF;AACF,CAVM","sourcesContent":["export const selectNodeContents = (node: HTMLElement | null, start?: number, end?: number) => {\n if (!node) {\n return;\n }\n if ('createRange' in document) {\n try {\n const selection = window.getSelection();\n const range = window.document.createRange();\n if (start !== undefined && end !== undefined) {\n range.setStart(node, start);\n range.setEnd(node, end);\n } else {\n range.selectNodeContents(node);\n }\n if (selection !== null) {\n // Fix IE from issue not working (https://github.com/skbkontur/retail-ui/issues/1205)\n selection.removeAllRanges();\n selection.addRange(range);\n return;\n }\n } catch (e) {\n // empty block\n }\n }\n\n // @ts-
|
|
1
|
+
{"version":3,"sources":["SelectionHelpers.tsx"],"names":["selectNodeContents","node","start","end","document","selection","window","getSelection","range","createRange","undefined","setStart","setEnd","removeAllRanges","addRange","e","body","createTextRange","moveToElementText","select","removeAllSelections"],"mappings":"AAAA,OAAO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAA2BC,KAA3B,EAA2CC,GAA3C,EAA4D;AAC5F,MAAI,CAACF,IAAL,EAAW;AACT;AACD;AACD,MAAI,iBAAiBG,QAArB,EAA+B;AAC7B,QAAI;AACF,UAAMC,SAAS,GAAGC,MAAM,CAACC,YAAP,EAAlB;AACA,UAAMC,KAAK,GAAGF,MAAM,CAACF,QAAP,CAAgBK,WAAhB,EAAd;AACA,UAAIP,KAAK,KAAKQ,SAAV,IAAuBP,GAAG,KAAKO,SAAnC,EAA8C;AAC5CF,QAAAA,KAAK,CAACG,QAAN,CAAeV,IAAf,EAAqBC,KAArB;AACAM,QAAAA,KAAK,CAACI,MAAN,CAAaX,IAAb,EAAmBE,GAAnB;AACD,OAHD,MAGO;AACLK,QAAAA,KAAK,CAACR,kBAAN,CAAyBC,IAAzB;AACD;AACD,UAAII,SAAS,KAAK,IAAlB,EAAwB;AACtB;AACAA,QAAAA,SAAS,CAACQ,eAAV;AACAR,QAAAA,SAAS,CAACS,QAAV,CAAmBN,KAAnB;AACA;AACD;AACF,KAfD,CAeE,OAAOO,CAAP,EAAU;AACV;AACD;AACF;;AAED;AACA,MAAI,OAAOX,QAAQ,CAACY,IAAT,CAAcC,eAArB,KAAyC,UAA7C,EAAyD;AACvD;AACA,QAAMT,MAAK,GAAGJ,QAAQ,CAACY,IAAT,CAAcC,eAAd,EAAd;AACAT,IAAAA,MAAK,CAACU,iBAAN,CAAwBjB,IAAxB;AACA,QAAI,OAAOO,MAAK,CAACW,MAAb,KAAwB,UAA5B,EAAwC;AACtCX,MAAAA,MAAK,CAACW,MAAN;AACD;AACD;AACD;AACF,CAnCM;;AAqCP,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AACvC,MAAMf,SAAS,GAAGC,MAAM,CAACC,YAAP,EAAlB;AACA,MAAIF,SAAS,KAAK,IAAlB,EAAwB;AACtB,QAAI;AACF;AACAA,MAAAA,SAAS,CAACQ,eAAV;AACD,KAHD,CAGE,OAAOE,CAAP,EAAU;AACV;AACD;AACF;AACF,CAVM","sourcesContent":["export const selectNodeContents = (node: HTMLElement | null, start?: number, end?: number) => {\n if (!node) {\n return;\n }\n if ('createRange' in document) {\n try {\n const selection = window.getSelection();\n const range = window.document.createRange();\n if (start !== undefined && end !== undefined) {\n range.setStart(node, start);\n range.setEnd(node, end);\n } else {\n range.selectNodeContents(node);\n }\n if (selection !== null) {\n // Fix IE from issue not working (https://github.com/skbkontur/retail-ui/issues/1205)\n selection.removeAllRanges();\n selection.addRange(range);\n return;\n }\n } catch (e) {\n // empty block\n }\n }\n\n // @ts-expect-error: IE-specific API.\n if (typeof document.body.createTextRange === 'function') {\n // @ts-expect-error: Read the comment above.\n const range = document.body.createTextRange();\n range.moveToElementText(node);\n if (typeof range.select === 'function') {\n range.select();\n }\n return;\n }\n};\n\nexport const removeAllSelections = () => {\n const selection = window.getSelection();\n if (selection !== null) {\n try {\n // Fix IE from issue not working (https://github.com/skbkontur/retail-ui/issues/1205)\n selection.removeAllRanges();\n } catch (e) {\n // empty block\n }\n }\n};\n"]}
|
|
@@ -169,14 +169,15 @@ export var DatePicker = rootNode(_class = (_temp = _class2 = /*#__PURE__*/functi
|
|
|
169
169
|
_this.blur();
|
|
170
170
|
};
|
|
171
171
|
|
|
172
|
-
_this.handleSelect = function (
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
172
|
+
_this.handleSelect = function (dateShape) {
|
|
173
|
+
if (!dateShape) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
|
|
176
177
|
var value = InternalDateTransformer.dateToInternalString({
|
|
177
|
-
date: date,
|
|
178
|
-
month: month + 1,
|
|
179
|
-
year: year
|
|
178
|
+
date: dateShape.date,
|
|
179
|
+
month: dateShape.month + 1,
|
|
180
|
+
year: dateShape.year
|
|
180
181
|
});
|
|
181
182
|
|
|
182
183
|
if (_this.props.onValueChange) {
|
|
@@ -184,11 +185,11 @@ export var DatePicker = rootNode(_class = (_temp = _class2 = /*#__PURE__*/functi
|
|
|
184
185
|
}
|
|
185
186
|
};
|
|
186
187
|
|
|
187
|
-
_this.isHoliday = function (
|
|
188
|
-
var date =
|
|
189
|
-
month =
|
|
190
|
-
year =
|
|
191
|
-
isWeekend =
|
|
188
|
+
_this.isHoliday = function (_ref) {
|
|
189
|
+
var date = _ref.date,
|
|
190
|
+
month = _ref.month,
|
|
191
|
+
year = _ref.year,
|
|
192
|
+
isWeekend = _ref.isWeekend;
|
|
192
193
|
var dateString = InternalDateTransformer.dateToInternalString({
|
|
193
194
|
date: date,
|
|
194
195
|
month: month + 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DatePicker.tsx"],"names":["PropTypes","React","InternalDate","InternalDateTransformer","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","DropdownContainer","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Picker","styles","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","pickerRoot","pickerTodayWrapper","DatePicker","getProps","defaultProps","state","opened","canUseMobileNativeDatePicker","input","focused","renderMain","props","picker","value","minDate","maxDate","internalDate","parseValueToDate","date","toNativeFormat","parsedMinDate","formattedMinDate","undefined","parsedMaxDate","formattedMaxDate","getParent","menuAlign","handlePick","handleSelect","enableTodayLink","isHoliday","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","getInputRef","handleBlur","handleFocus","onValueChange","width","minWidth","ref","setState","onFocus","close","onBlur","dateShape","blur","month","year","dateToInternalString","isWeekend","dateString","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","setRootNode","validate","checks","NotNull","Native","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","_day","range","order","DMY","separator","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"mappings":"iPAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,SAASC,YAAT,QAA6B,6BAA7B;AACA,SAASC,uBAAT,QAAwC,wCAAxC;AACA,SAASC,YAAT,EAAuBC,YAAvB,QAA2C,0BAA3C;AACA,SAASC,iBAAT,EAA4BC,qBAA5B,EAAmDC,yBAAnD,QAAoF,sBAApF;;;AAGA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,iBAAT,QAAkC,kCAAlC;AACA,SAASC,WAAT,QAA4B,uBAA5B;AACA,SAASC,aAAT,QAAmE,8BAAnE;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,WAAT,EAAsBC,QAAtB,QAAoD,oBAApD;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA,SAASC,MAAT,QAAuB,UAAvB;AACA,SAASC,MAAT,QAAuB,qBAAvB;;AAEA,IAAMC,gBAAgB,GAAG;AACvBC,EAAAA,SAAS,EAAE,IADY;AAEvBC,EAAAA,QAAQ,EAAE,IAFa;AAGvBC,EAAAA,OAAO,EAAE,IAHc;AAIvBC,EAAAA,KAAK,EAAE,IAJgB;AAKvBC,EAAAA,IAAI,EAAE,IALiB;AAMvBC,EAAAA,SAAS,EAAE,IANY,EAAzB;;;AASA,OAAO,IAAMC,SAAS,GAAG,GAAlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDP,OAAO,IAAMC,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAE,kBAD0B;AAEhCC,EAAAA,UAAU,EAAE,cAFoB;AAGhCC,EAAAA,kBAAkB,EAAE,sBAHY,EAA3B;;;;;;AASP,WAAaC,UAAb,GADCjB,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DUkB,IAAAA,QA3DV,GA2DqBhB,iBAAiB,CAACe,UAAU,CAACE,YAAZ,CA3DtC;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFSC,IAAAA,KAtFT,GAsFkC,EAAEC,MAAM,EAAE,KAAV,EAAiBC,4BAA4B,EAAE,KAA/C,EAtFlC;;AAwFUC,IAAAA,KAxFV,GAwFoC,IAxFpC;AAyFUC,IAAAA,OAzFV,GAyFoB,KAzFpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsJSC,IAAAA,UAtJT,GAsJsB,UAACC,KAAD,EAAqE;AACvF,UAAIC,MAAM,GAAG,IAAb;;AAEA,UAAQC,KAAR,GAAkB,MAAKF,KAAvB,CAAQE,KAAR;AACA,2BAA6B,MAAKV,QAAL,EAA7B,CAAQW,OAAR,kBAAQA,OAAR,CAAiBC,OAAjB,kBAAiBA,OAAjB;;AAEA,UAAMC,YAAY,GAAG,MAAKC,gBAAL,CAAsBJ,KAAtB,CAArB;AACA,UAAMK,IAAI,GAAGF,YAAY,GAAGA,YAAY,CAACG,cAAb,EAAH,GAAmC,IAA5D;;AAEA,UAAMC,aAAa,GAAG,MAAKH,gBAAL,CAAsBH,OAAtB,CAAtB;AACA,UAAMO,gBAAgB,GAAID,aAAa,IAAIA,aAAa,CAACD,cAAd,EAAlB,IAAqDG,SAA9E;;AAEA,UAAMC,aAAa,GAAG,MAAKN,gBAAL,CAAsBF,OAAtB,CAAtB;AACA,UAAMS,gBAAgB,GAAID,aAAa,IAAIA,aAAa,CAACJ,cAAd,EAAlB,IAAqDG,SAA9E;;AAEA,UAAI,MAAKjB,KAAL,CAAWC,MAAf,EAAuB;AACrBM,QAAAA,MAAM;AACJ,4BAAC,iBAAD;AACE,sBAAUd,kBAAkB,CAACC,IAD/B;AAEE,UAAA,SAAS,EAAE,MAAK0B,SAFlB;AAGE,UAAA,OAAO,EAAE,CAHX;AAIE,UAAA,KAAK,EAAE,MAAKd,KAAL,CAAWe,SAJpB;;AAME,4BAAC,MAAD;AACE,UAAA,KAAK,EAAER,IADT;AAEE,UAAA,OAAO,EAAEG,gBAFX;AAGE,UAAA,OAAO,EAAEG,gBAHX;AAIE,UAAA,MAAM,EAAE,MAAKG,UAJf;AAKE,UAAA,QAAQ,EAAE,MAAKC,YALjB;AAME,UAAA,eAAe,EAAE,MAAKjB,KAAL,CAAWkB,eAN9B;AAOE,UAAA,SAAS,EAAE,MAAKC,SAPlB,GANF,CADF;;;;AAkBD;;AAED;AACE;AACE,UAAA,SAAS,EAAEzC,MAAM,CAACU,IAAP,EADb;AAEE,UAAA,KAAK,EAAE,MAAKgC,YAAL,EAFT;AAGE,UAAA,YAAY,EAAE,MAAKpB,KAAL,CAAWqB,YAH3B;AAIE,UAAA,YAAY,EAAE,MAAKrB,KAAL,CAAWsB,YAJ3B;AAKE,UAAA,WAAW,EAAE,MAAKtB,KAAL,CAAWuB,WAL1B;;AAOE,4BAAC,SAAD;AACMtD,QAAAA,WAAW,CAAC+B,KAAD,EAAQrB,gBAAR,CADjB;AAEE,UAAA,GAAG,EAAE,MAAK6C,WAFZ;AAGE,UAAA,KAAK,EAAE,MAAKxB,KAAL,CAAWE,KAAX,IAAoB,EAH7B;AAIE,UAAA,KAAK,EAAC,MAJR;AAKE,UAAA,QAAQ,MALV;AAME,UAAA,OAAO,EAAEC,OANX;AAOE,UAAA,OAAO,EAAEC,OAPX;AAQE,UAAA,MAAM,EAAE,MAAKqB,UARf;AASE,UAAA,OAAO,EAAE,MAAKC,WAThB;AAUE,UAAA,aAAa,EAAE,MAAK1B,KAAL,CAAW2B,aAV5B,IAPF;;AAmBG,cAAKjC,KAAL,CAAWE,4BAAX;AACC,4BAAC,eAAD;AACE,UAAA,aAAa,EAAE,MAAKI,KAAL,CAAW2B,aAD5B;AAEE,UAAA,KAAK,EAAE,MAAK3B,KAAL,CAAWE,KAAX,IAAoB,EAF7B;AAGE,UAAA,OAAO,EAAEC,OAHX;AAIE,UAAA,OAAO,EAAEC,OAJX;AAKE,UAAA,QAAQ,EAAE,MAAKJ,KAAL,CAAWnB,QALvB,GApBJ;;;AA4BG,SAAC,MAAKa,KAAL,CAAWE,4BAAZ,IAA4CK,MA5B/C,CADF;;;AAgCD,KA1NH;;AA4NSa,IAAAA,SA5NT,GA4NqB,YAAM;AACvB,aAAOzC,WAAW,+BAAlB;AACD,KA9NH;;AAgOU+C,IAAAA,YAhOV,GAgOyB,YAAM;AAC3B,UAAQQ,KAAR,GAAkB,MAAK5B,KAAvB,CAAQ4B,KAAR;AACA,aAAOrD,aAAa,CAACqD,KAAD,CAAb,GAAuB,EAAEA,KAAK,EAALA,KAAF,EAAvB,GAAmC,EAAEC,QAAQ,EAAE3C,SAAZ,EAA1C;AACD,KAnOH;;AAqOUsC,IAAAA,WArOV,GAqOwB,UAACM,GAAD,EAA2B;AAC/C,YAAKjC,KAAL,GAAaiC,GAAb;AACD,KAvOH;;;;;;;;;;;;;AAoPUJ,IAAAA,WApPV,GAoPwB,YAAM;AAC1B,UAAI,MAAK5B,OAAT,EAAkB;AAChB;AACD;;AAED,YAAKA,OAAL,GAAe,IAAf;;AAEA,YAAKiC,QAAL,CAAc,EAAEpC,MAAM,EAAE,IAAV,EAAd;;AAEA,UAAI,MAAKK,KAAL,CAAWgC,OAAf,EAAwB;AACtB,cAAKhC,KAAL,CAAWgC,OAAX;AACD;AACF,KAhQH;;AAkQUP,IAAAA,UAlQV,GAkQuB,YAAM;AACzB,UAAI,CAAC,MAAK3B,OAAV,EAAmB;AACjB;AACD;;AAED,YAAKA,OAAL,GAAe,KAAf;AACA,YAAKmC,KAAL;;AAEA,UAAI,MAAKjC,KAAL,CAAWkC,MAAf,EAAuB;AACrB,cAAKlC,KAAL,CAAWkC,MAAX;AACD;AACF,KA7QH;;AA+QUlB,IAAAA,UA/QV,GA+QuB,UAACmB,SAAD,EAAkC;AACrD,YAAKlB,YAAL,CAAkBkB,SAAlB;AACA,YAAKC,IAAL;AACD,KAlRH;;AAoRUnB,IAAAA,YApRV,GAoRyB,gBAA8C,KAA3CV,IAA2C,QAA3CA,IAA2C,CAArC8B,KAAqC,QAArCA,KAAqC,CAA9BC,IAA8B,QAA9BA,IAA8B;AACnE,UAAMpC,KAAK,GAAGzC,uBAAuB,CAAC8E,oBAAxB,CAA6C,EAAEhC,IAAI,EAAJA,IAAF,EAAQ8B,KAAK,EAAEA,KAAK,GAAG,CAAvB,EAA0BC,IAAI,EAAJA,IAA1B,EAA7C,CAAd;AACA,UAAI,MAAKtC,KAAL,CAAW2B,aAAf,EAA8B;AAC5B,cAAK3B,KAAL,CAAW2B,aAAX,CAAyBzB,KAAzB;AACD;AACF,KAzRH;;AA2RUiB,IAAAA,SA3RV,GA2RsB,iBAAkF,KAA/EZ,IAA+E,SAA/EA,IAA+E,CAAzE8B,KAAyE,SAAzEA,KAAyE,CAAlEC,IAAkE,SAAlEA,IAAkE,CAA5DE,SAA4D,SAA5DA,SAA4D;AACpG,UAAMC,UAAU,GAAGhF,uBAAuB,CAAC8E,oBAAxB,CAA6C,EAAEhC,IAAI,EAAJA,IAAF,EAAQ8B,KAAK,EAAEA,KAAK,GAAG,CAAvB,EAA0BC,IAAI,EAAJA,IAA1B,EAA7C,CAAnB;AACA,aAAO,MAAK9C,QAAL,GAAgB2B,SAAhB,CAA0BsB,UAA1B,EAAsCD,SAAtC,CAAP;AACD,KA9RH,wDA4FSE,iBA5FT,GA4FE,6BAA2B,CACzB,IAAI,KAAK1C,KAAL,CAAW2C,yBAAX,IAAwCxE,QAA5C,EAAsD,CACpD,KAAK4D,QAAL,CAAc,EACZnC,4BAA4B,EAAE,IADlB,EAAd,EAGD,CACD,IAAI,KAAKI,KAAL,CAAWpB,SAAf,EAA0B,CACxB,KAAKgE,KAAL,GACD,CACF,CArGH,QAuGSC,kBAvGT,GAuGE,8BAA4B,CAC1B,IAAQhE,QAAR,GAAqB,KAAKmB,KAA1B,CAAQnB,QAAR,CACA,IAAQc,MAAR,GAAmB,KAAKD,KAAxB,CAAQC,MAAR,CACA,IAAId,QAAQ,IAAIc,MAAhB,EAAwB,CACtB,KAAKsC,KAAL,GACD,CACF,CA7GH,CA+GE;AACF;AACA,KAjHA,QAkHSG,IAlHT,GAkHE,gBAAc,CACZ,IAAI,KAAKvC,KAAT,EAAgB,CACd,KAAKA,KAAL,CAAWuC,IAAX,GACD,CACD,KAAKX,UAAL,GACD,CAvHH,CAyHE;AACF;AACA,KA3HA,QA4HSmB,KA5HT,GA4HE,iBAAe,CACb,IAAI,KAAK5C,KAAL,CAAWnB,QAAf,EAAyB,CACvB,OACD,CACD,IAAI,KAAKgB,KAAT,EAAgB,CACd,KAAKA,KAAL,CAAW+C,KAAX,GACD,CACD,KAAKlB,WAAL,GACD,CApIH,CAsIE;AACF;AACA;AACA,KAzIA,QA0ISO,KA1IT,GA0IE,iBAAe,CACb,KAAKF,QAAL,CAAc,EAAEpC,MAAM,EAAE,KAAV,EAAd,EACD,CA5IH,QA8ISmD,MA9IT,GA8IE,kBAAgB,CACd,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAK/C,KAAvD,GACG,KAAKD,UADR,CADF,CAKD,CApJH,QAyOUO,gBAzOV,GAyOE,0BAAyBJ,KAAzB,EAA6E,CAC3E,IAAIA,KAAK,KAAKS,SAAV,IAAuBT,KAAK,KAAK,IAArC,EAA2C,CACzC,OAAOS,SAAP,CACD,CACD,IAAMJ,IAAI,GAAG,IAAI/C,YAAJ,CAAiB,EAAE0C,KAAK,EAALA,KAAF,EAAjB,CAAb,CACA,IAAIK,IAAI,CAACyC,QAAL,CAAc,EAAEC,MAAM,EAAE,CAACnF,yBAAyB,CAACoF,OAA3B,EAAoCpF,yBAAyB,CAACqF,MAA9D,CAAV,EAAd,CAAJ,EAAsG,CACpG,OAAO5C,IAAP,CACD,CACD,OAAOI,SAAP,CACD,CAlPH,qBAAgCpD,KAAK,CAAC6F,aAAtC,WACgBC,mBADhB,GACsC,YADtC,UAGgBC,SAHhB,GAG4B,EACxB1E,SAAS,EAAEtB,SAAS,CAACiG,IADG,EAGxB1E,QAAQ,EAAEvB,SAAS,CAACiG,IAHI,EAKxB;AACJ;AACA,KACIrC,eAAe,EAAE5D,SAAS,CAACiG,IARH,EAUxBxE,KAAK,EAAEzB,SAAS,CAACiG,IAVO,EAYxB;AACJ;AACA,KACInD,OAAO,EAAE9C,SAAS,CAACkG,MAAV,CAAiBC,UAfF,EAiBxB1C,SAAS,EAAEzD,SAAS,CAACoG,KAAV,CAAgB,CAAC,MAAD,EAAS,OAAT,CAAhB,CAjBa,EAmBxB;AACJ;AACA,KACIvD,OAAO,EAAE7C,SAAS,CAACkG,MAAV,CAAiBC,UAtBF,EAwBxB;AACJ;AACA,KACIvD,KAAK,EAAE5C,SAAS,CAACkG,MA3BO,EA6BxB1E,OAAO,EAAExB,SAAS,CAACiG,IA7BK,EA+BxB3B,KAAK,EAAEtE,SAAS,CAACqG,SAAV,CAAoB,CAACrG,SAAS,CAACsG,MAAX,EAAmBtG,SAAS,CAACkG,MAA7B,CAApB,EAA0DC,UA/BzC,EAiCxBvB,MAAM,EAAE5E,SAAS,CAACuG,IAjCM,EAmCxBlC,aAAa,EAAErE,SAAS,CAACuG,IAAV,CAAeJ,UAnCN,EAqCxBzB,OAAO,EAAE1E,SAAS,CAACuG,IArCK,EAuCxB5E,SAAS,EAAE3B,SAAS,CAACuG,IAvCG,EAyCxBxC,YAAY,EAAE/D,SAAS,CAACuG,IAzCA,EA2CxBvC,YAAY,EAAEhE,SAAS,CAACuG,IA3CA,EA6CxBtC,WAAW,EAAEjE,SAAS,CAACuG,IA7CC,EA+CxB1C,SAAS,EAAE7D,SAAS,CAACuG,IAAV,CAAeJ,UA/CF,EAH5B,UAqDgBhE,YArDhB,GAqDqD,EACjDU,OAAO,EAAExC,YADwC,EAEjDyC,OAAO,EAAE1C,YAFwC,EAGjDyD,SAAS,EAAE,mBAAC2C,IAAD,EAAwBtB,SAAxB,UAA+CA,SAA/C,EAHsC,EArDrD,UA6DgBQ,QA7DhB,GA6D2B,UAAC9C,KAAD,EAA0B6D,KAA1B,EAAiF,KAAvDA,KAAuD,cAAvDA,KAAuD,GAAP,EAAO,EACxG,IAAI,CAAC7D,KAAL,EAAY,CACV,OAAO,KAAP,CACD,CAED,aAA2D6D,KAA3D,yBAAQ5D,OAAR,CAAQA,OAAR,+BAAkBxC,YAAlB,0CAAgCyC,OAAhC,CAAgCA,OAAhC,+BAA0C1C,YAA1C,kBACA,IAAM2C,YAAY,GAAG,IAAI7C,YAAJ,CAAiB,EACpCwG,KAAK,EAAEpG,iBAAiB,CAACqG,GADW,EAEpCC,SAAS,EAAErG,qBAAqB,CAACsG,GAFG,EAAjB,EAIlBC,aAJkB,CAIJ,IAAI5G,YAAJ,CAAiB,EAAE0C,KAAK,EAAEC,OAAT,EAAjB,CAJI,EAKlBkE,WALkB,CAKN,IAAI7G,YAAJ,CAAiB,EAAE0C,KAAK,EAAEE,OAAT,EAAjB,CALM,EAMlBkE,UANkB,CAMPpE,KANO,CAArB,CAQA,OAAOG,YAAY,CAAC2C,QAAb,CAAsB,EAC3BC,MAAM,EAAE,CACNnF,yBAAyB,CAACoF,OADpB,EAENpF,yBAAyB,CAACyG,MAFpB,EAGNzG,yBAAyB,CAACqF,MAHpB,EAINrF,yBAAyB,CAAC0G,MAJpB,EAKN1G,yBAAyB,CAAC2G,KALpB,CADmB,EAAtB,CAAP,CASD,CApFH","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { CalendarDateShape } from '../../internal/Calendar';\nimport { DateInput } from '../DateInput';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { Picker } from './Picker';\nimport { styles } from './DatePicker.styles';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps<T> extends CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n minDate?: T;\n maxDate?: T;\n menuAlign?: 'left' | 'right';\n size?: 'small' | 'medium' | 'large';\n value?: T | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: T) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n\n /**\n * Функция для определения праздничных дней\n * @default (_day, isWeekend) => isWeekend\n * @param {T} day - строка в формате `dd.mm.yyyy`\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)\n *\n * @returns {boolean} `true` для выходного или `false` для рабочего дня\n */\n isHoliday?: (day: T, isWeekend: boolean) => boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n}\n\ntype DatePickerValue = string;\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps<T> = Required<Pick<DatePickerProps<T>, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n@rootNode\nexport class DatePicker extends React.PureComponent<DatePickerProps<DatePickerValue>, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func.isRequired,\n };\n\n public static defaultProps: DefaultProps<string> = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n isHoliday: (_day: DatePickerValue, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps<DatePickerValue>>) => {\n let picker = null;\n\n const { value } = this.props;\n const { minDate, maxDate } = this.getProps();\n\n const internalDate = this.parseValueToDate(value);\n const date = internalDate ? internalDate.toNativeFormat() : null;\n\n const parsedMinDate = this.parseValueToDate(minDate);\n const formattedMinDate = (parsedMinDate && parsedMinDate.toNativeFormat()) || undefined;\n\n const parsedMaxDate = this.parseValueToDate(maxDate);\n const formattedMaxDate = (parsedMaxDate && parsedMaxDate.toNativeFormat()) || undefined;\n\n if (this.state.opened) {\n picker = (\n <DropdownContainer\n data-tid={DatePickerDataTids.root}\n getParent={this.getParent}\n offsetY={2}\n align={this.props.menuAlign}\n >\n <Picker\n value={date}\n minDate={formattedMinDate}\n maxDate={formattedMaxDate}\n onPick={this.handlePick}\n onSelect={this.handleSelect}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.isHoliday}\n />\n </DropdownContainer>\n );\n }\n\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n >\n <DateInput\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n />\n {this.state.canUseMobileNativeDatePicker && (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n )}\n {!this.state.canUseMobileNativeDatePicker && picker}\n </label>\n );\n };\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private parseValueToDate(value?: Nullable<string>): InternalDate | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date;\n }\n return undefined;\n }\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handlePick = (dateShape: CalendarDateShape) => {\n this.handleSelect(dateShape);\n this.blur();\n };\n\n private handleSelect = ({ date, month, year }: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private isHoliday = ({ date, month, year, isWeekend }: CalendarDateShape & { isWeekend: boolean }) => {\n const dateString = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n return this.getProps().isHoliday(dateString, isWeekend);\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["DatePicker.tsx"],"names":["PropTypes","React","InternalDate","InternalDateTransformer","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","DropdownContainer","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Picker","styles","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","pickerRoot","pickerTodayWrapper","DatePicker","getProps","defaultProps","state","opened","canUseMobileNativeDatePicker","input","focused","renderMain","props","picker","value","minDate","maxDate","internalDate","parseValueToDate","date","toNativeFormat","parsedMinDate","formattedMinDate","undefined","parsedMaxDate","formattedMaxDate","getParent","menuAlign","handlePick","handleSelect","enableTodayLink","isHoliday","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","getInputRef","handleBlur","handleFocus","onValueChange","width","minWidth","ref","setState","onFocus","close","onBlur","dateShape","blur","dateToInternalString","month","year","isWeekend","dateString","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","setRootNode","validate","checks","NotNull","Native","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","_day","range","order","DMY","separator","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { CalendarDateShape } from '../../internal/Calendar';\nimport { DateInput } from '../DateInput';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { Picker } from './Picker';\nimport { styles } from './DatePicker.styles';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps<T> extends CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n minDate?: T;\n maxDate?: T;\n menuAlign?: 'left' | 'right';\n size?: 'small' | 'medium' | 'large';\n value?: T | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: T) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n\n /**\n * Функция для определения праздничных дней\n * @default (_day, isWeekend) => isWeekend\n * @param {T} day - строка в формате `dd.mm.yyyy`\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)\n *\n * @returns {boolean} `true` для выходного или `false` для рабочего дня\n */\n isHoliday?: (day: T, isWeekend: boolean) => boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n}\n\ntype DatePickerValue = string;\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps<T> = Required<Pick<DatePickerProps<T>, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n@rootNode\nexport class DatePicker extends React.PureComponent<DatePickerProps<DatePickerValue>, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func.isRequired,\n };\n\n public static defaultProps: DefaultProps<string> = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n isHoliday: (_day: DatePickerValue, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps<DatePickerValue>>) => {\n let picker = null;\n\n const { value } = this.props;\n const { minDate, maxDate } = this.getProps();\n\n const internalDate = this.parseValueToDate(value);\n const date = internalDate ? internalDate.toNativeFormat() : null;\n\n const parsedMinDate = this.parseValueToDate(minDate);\n const formattedMinDate = (parsedMinDate && parsedMinDate.toNativeFormat()) || undefined;\n\n const parsedMaxDate = this.parseValueToDate(maxDate);\n const formattedMaxDate = (parsedMaxDate && parsedMaxDate.toNativeFormat()) || undefined;\n\n if (this.state.opened) {\n picker = (\n <DropdownContainer\n data-tid={DatePickerDataTids.root}\n getParent={this.getParent}\n offsetY={2}\n align={this.props.menuAlign}\n >\n <Picker\n value={date}\n minDate={formattedMinDate}\n maxDate={formattedMaxDate}\n onPick={this.handlePick}\n onSelect={this.handleSelect}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.isHoliday}\n />\n </DropdownContainer>\n );\n }\n\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n >\n <DateInput\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n />\n {this.state.canUseMobileNativeDatePicker && (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n )}\n {!this.state.canUseMobileNativeDatePicker && picker}\n </label>\n );\n };\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private parseValueToDate(value?: Nullable<string>): InternalDate | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date;\n }\n return undefined;\n }\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handlePick = (dateShape: CalendarDateShape) => {\n this.handleSelect(dateShape);\n this.blur();\n };\n\n private handleSelect = (dateShape: CalendarDateShape | null) => {\n if (!dateShape) {\n return null;\n }\n\n const value = InternalDateTransformer.dateToInternalString({\n date: dateShape.date,\n month: dateShape.month + 1,\n year: dateShape.year,\n });\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private isHoliday = ({ date, month, year, isWeekend }: CalendarDateShape & { isWeekend: boolean }) => {\n const dateString = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n return this.getProps().isHoliday(dateString, isWeekend);\n };\n}\n"]}
|
|
@@ -121,7 +121,7 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps<Date
|
|
|
121
121
|
close(): void;
|
|
122
122
|
render(): JSX.Element;
|
|
123
123
|
renderMain: (props: CommonWrapperRestProps<DatePickerProps<DatePickerValue>>) => JSX.Element;
|
|
124
|
-
getParent: () => Nullable<
|
|
124
|
+
getParent: () => Nullable<Element>;
|
|
125
125
|
private getRootStyle;
|
|
126
126
|
private getInputRef;
|
|
127
127
|
private parseValueToDate;
|
|
@@ -40,7 +40,11 @@ export var Picker = (_dec = locale('DatePicker', DatePickerLocaleHelper), _dec(_
|
|
|
40
40
|
_this.handleSelectToday = function (today) {
|
|
41
41
|
return function () {
|
|
42
42
|
if (_this.props.onSelect) {
|
|
43
|
-
|
|
43
|
+
var todayInNativeFormat = today.toNativeFormat();
|
|
44
|
+
|
|
45
|
+
if (todayInNativeFormat) {
|
|
46
|
+
_this.props.onSelect(todayInNativeFormat);
|
|
47
|
+
}
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
if (_this.calendar) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Picker.tsx"],"names":["React","shallowEqual","InternalDate","InternalDateGetter","Calendar","isGreater","isLess","locale","ThemeContext","styles","DatePickerLocaleHelper","DatePickerDataTids","getTodayCalendarDate","d","Date","date","getDate","month","getMonth","year","getFullYear","Picker","props","calendar","scrollToMonth","handleSelectToday","today","onSelect","toNativeFormat","state","getInitialDate","value","minDate","maxDate","componentDidUpdate","prevProps","render","theme","renderMain","pickerRoot","root","e","preventDefault","c","onPick","isHoliday","enableTodayLink","renderTodayLink","order","separator","setComponents","getTodayComponents","pickerTodayWrapper","todayWrapper","toString","withPad","withSeparator","Component","__KONTUR_REACT_UI__"],"mappings":"uGAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,YAAP,MAAyB,cAAzB;;AAEA,SAASC,YAAT,QAA6B,6BAA7B;AACA,SAASC,kBAAT,QAAmC,mCAAnC;AACA,SAASC,QAAT,EAAsCC,SAAtC,EAAiDC,MAAjD,QAA+D,yBAA/D;AACA,SAASC,MAAT,QAAuB,6BAAvB;;;AAGA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAA2BC,sBAA3B,QAAyD,UAAzD;AACA,SAASC,kBAAT,QAAmC,cAAnC;;;;;;;;;;;;;;;;;AAiBA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjC,MAAMC,CAAC,GAAG,IAAIC,IAAJ,EAAV;AACA,SAAO;AACLC,IAAAA,IAAI,EAAEF,CAAC,CAACG,OAAF,EADD;AAELC,IAAAA,KAAK,EAAEJ,CAAC,CAACK,QAAF,EAFF;AAGLC,IAAAA,IAAI,EAAEN,CAAC,CAACO,WAAF,EAHD,EAAP;;AAKD,CAPD;;;AAUA,WAAaC,MAAb,WADCd,MAAM,CAAC,YAAD,EAAeG,sBAAf,CACP;;;;;;;AAOE,kBAAYY,KAAZ,EAA0B;AACxB,wCAAMA,KAAN,UADwB,MAHlBC,QAGkB,GAHU,IAGV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDlBC,IAAAA,aAnDkB,GAmDF,UAACP,KAAD,EAAgBE,IAAhB,EAAiC;AACvD,UAAI,MAAKI,QAAT,EAAmB;AACjB,cAAKA,QAAL,CAAcC,aAAd,CAA4BP,KAA5B,EAAmCE,IAAnC;AACD;AACF,KAvDyB;;;;;;;;;;;;;;;;;AAwElBM,IAAAA,iBAxEkB,GAwEE,UAACC,KAAD,UAAyB,YAAM;AACzD,YAAI,MAAKJ,KAAL,CAAWK,QAAf,EAAyB;AACvB,
|
|
1
|
+
{"version":3,"sources":["Picker.tsx"],"names":["React","shallowEqual","InternalDate","InternalDateGetter","Calendar","isGreater","isLess","locale","ThemeContext","styles","DatePickerLocaleHelper","DatePickerDataTids","getTodayCalendarDate","d","Date","date","getDate","month","getMonth","year","getFullYear","Picker","props","calendar","scrollToMonth","handleSelectToday","today","onSelect","todayInNativeFormat","toNativeFormat","state","getInitialDate","value","minDate","maxDate","componentDidUpdate","prevProps","render","theme","renderMain","pickerRoot","root","e","preventDefault","c","onPick","isHoliday","enableTodayLink","renderTodayLink","order","separator","setComponents","getTodayComponents","pickerTodayWrapper","todayWrapper","toString","withPad","withSeparator","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport shallowEqual from 'shallowequal';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { Calendar, CalendarDateShape, isGreater, isLess } from '../../internal/Calendar';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { styles } from './Picker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\nimport { DatePickerDataTids } from './DatePicker';\n\ninterface Props {\n maxDate?: CalendarDateShape;\n minDate?: CalendarDateShape;\n value: Nullable<CalendarDateShape>;\n onPick: (date: CalendarDateShape) => void;\n onSelect?: (date: CalendarDateShape) => void;\n enableTodayLink?: boolean;\n isHoliday?: (day: CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\ninterface State {\n date: CalendarDateShape;\n today: CalendarDateShape;\n}\n\nconst getTodayCalendarDate = () => {\n const d = new Date();\n return {\n date: d.getDate(),\n month: d.getMonth(),\n year: d.getFullYear(),\n };\n};\n\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class Picker extends React.Component<Props, State> {\n public static __KONTUR_REACT_UI__ = 'Picker';\n\n private theme!: Theme;\n private calendar: Calendar | null = null;\n private readonly locale!: DatePickerLocale;\n\n constructor(props: Props) {\n super(props);\n const today = getTodayCalendarDate();\n this.state = {\n date: this.getInitialDate(today),\n today,\n };\n }\n\n public componentDidUpdate(prevProps: Props) {\n const { value } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n this.scrollToMonth(value.month, value.year);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { date } = this.state;\n\n return (\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.root(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n ref={(c) => (this.calendar = c)}\n value={this.props.value}\n initialMonth={date.month}\n initialYear={date.year}\n onSelect={this.props.onPick}\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n isHoliday={this.props.isHoliday}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n );\n }\n\n private scrollToMonth = (month: number, year: number) => {\n if (this.calendar) {\n this.calendar.scrollToMonth(month, year);\n }\n };\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator }).setComponents(InternalDateGetter.getTodayComponents());\n return (\n <button\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n className={styles.todayWrapper(this.theme)}\n onClick={this.handleSelectToday(today)}\n tabIndex={-1}\n >\n {`${this.locale.today} ${today.toString({ withPad: true, withSeparator: true })}`}\n </button>\n );\n }\n\n private handleSelectToday = (today: InternalDate) => () => {\n if (this.props.onSelect) {\n const todayInNativeFormat = today.toNativeFormat();\n if (todayInNativeFormat) {\n this.props.onSelect(todayInNativeFormat);\n }\n }\n\n if (this.calendar) {\n const { month, year } = this.state.today;\n this.calendar.scrollToMonth(month, year);\n }\n };\n\n private getInitialDate = (today: CalendarDateShape) => {\n if (this.props.value) {\n return this.props.value;\n }\n\n if (this.props.minDate && isLess(today, this.props.minDate)) {\n return this.props.minDate;\n }\n\n if (this.props.maxDate && isGreater(today, this.props.maxDate)) {\n return this.props.maxDate;\n }\n\n return today;\n };\n}\n"]}
|
|
@@ -115,7 +115,7 @@ var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
115
115
|
return _ref.apply(this, arguments);
|
|
116
116
|
};
|
|
117
117
|
}());
|
|
118
|
-
}, [
|
|
118
|
+
}, [validateBeforeUpload, isAsync, upload, setFileValidationResult]);
|
|
119
119
|
/** common part **/
|
|
120
120
|
|
|
121
121
|
var handleChange = useCallback(function (newFiles) {
|
|
@@ -183,9 +183,12 @@ var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
183
183
|
return {
|
|
184
184
|
focus: focus,
|
|
185
185
|
blur: blur,
|
|
186
|
-
reset: reset
|
|
186
|
+
reset: reset,
|
|
187
|
+
getRootNode: function getRootNode() {
|
|
188
|
+
return rootNodeRef.current;
|
|
189
|
+
}
|
|
187
190
|
};
|
|
188
|
-
}, [ref]);
|
|
191
|
+
}, [ref, blur, focus, reset]);
|
|
189
192
|
|
|
190
193
|
var _useState = useState(false),
|
|
191
194
|
focusedByTab = _useState[0],
|
|
@@ -227,12 +230,14 @@ var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
227
230
|
var hasOneFile = files.length === 1;
|
|
228
231
|
var hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;
|
|
229
232
|
var linkClassNames = cx(jsStyles.link(theme), (_cx4 = {}, _cx4[jsStyles.linkHovered(theme)] = !disabled && hovered, _cx4[jsStyles.linkDisabled(theme)] = disabled, _cx4));
|
|
233
|
+
var rootNodeRef = useRef(null);
|
|
230
234
|
return /*#__PURE__*/React.createElement(CommonWrapper, props, /*#__PURE__*/React.createElement("div", {
|
|
231
235
|
"data-tid": FileUploaderDataTids.root,
|
|
232
236
|
className: jsStyles.root(theme),
|
|
233
237
|
style: useMemoObject({
|
|
234
238
|
width: width
|
|
235
|
-
})
|
|
239
|
+
}),
|
|
240
|
+
ref: rootNodeRef
|
|
236
241
|
}, !hideFiles && !isSingleMode && !!files.length && /*#__PURE__*/React.createElement(FileUploaderFileList, {
|
|
237
242
|
renderFile: renderFile
|
|
238
243
|
}), /*#__PURE__*/React.createElement("div", {
|