@skbkontur/react-ui 0.0.0-b4292e4d5b → 0.0.0-b821a2f064
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 +130 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +2 -1
- package/cjs/components/Autocomplete/Autocomplete.js +1 -0
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +7 -2
- package/cjs/components/Button/Button.js +21 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +68 -0
- package/cjs/components/Button/Button.mixins.js +1 -1
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +2 -1
- package/cjs/components/Button/Button.styles.js +11 -3
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/ButtonArrow.js +1 -1
- package/cjs/components/Button/ButtonArrow.js.map +1 -1
- package/cjs/components/Button/ButtonIcon.d.ts +3 -2
- package/cjs/components/Button/ButtonIcon.js +2 -4
- package/cjs/components/Button/ButtonIcon.js.map +1 -1
- package/cjs/components/Button/getInnerLinkTheme.js +1 -0
- package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
- package/cjs/components/Calendar/Calendar.js +7 -6
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +6 -2
- package/cjs/components/Checkbox/Checkbox.js +12 -7
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +2 -1
- package/cjs/components/ComboBox/ComboBox.js +1 -0
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +2 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +2 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +2 -1
- package/cjs/components/DateInput/DateInput.js +15 -6
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
- package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
- package/cjs/components/DatePicker/DatePicker.js +1 -0
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +3 -2
- package/cjs/components/Dropdown/Dropdown.js +1 -0
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
- package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
- package/cjs/components/FileUploader/FileUploader.js +9 -5
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/FxInput/FxInput.js +1 -0
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInputRestoreBtn.js +1 -0
- package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js +10 -15
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Hint/Hint.js +5 -4
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +6 -2
- package/cjs/components/Input/Input.js +16 -10
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
- package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
- package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -0
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
- package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +2 -1
- package/cjs/components/Kebab/Kebab.js +2 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +6 -1
- package/cjs/components/Link/Link.js +19 -8
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.md +69 -0
- package/cjs/components/Link/Link.styles.d.ts +1 -0
- package/cjs/components/Link/Link.styles.js +30 -22
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.js +8 -7
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -2
- package/cjs/components/MenuFooter/MenuFooter.js +4 -0
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -2
- package/cjs/components/MenuHeader/MenuHeader.js +4 -0
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +6 -2
- package/cjs/components/MenuItem/MenuItem.js +6 -1
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
- package/cjs/components/MiniModal/MiniModal.js +47 -0
- package/cjs/components/MiniModal/MiniModal.js.map +1 -0
- package/cjs/components/MiniModal/MiniModal.md +233 -0
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
- package/cjs/components/MiniModal/MiniModalBody.js +24 -0
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
- package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
- package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
- package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
- package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
- package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
- package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
- package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
- package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
- package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
- package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
- package/cjs/components/MiniModal/index.d.ts +5 -0
- package/cjs/components/MiniModal/index.js +5 -0
- package/cjs/components/MiniModal/index.js.map +1 -0
- package/cjs/components/Modal/Modal.d.ts +6 -0
- package/cjs/components/Modal/Modal.js +15 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +5 -0
- package/cjs/components/Modal/Modal.styles.js +56 -39
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +2 -1
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +1 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
- package/cjs/components/Modal/ModalSeparator.js +5 -0
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Modal/getModalTheme.d.ts +2 -2
- package/cjs/components/Modal/getModalTheme.js +6 -2
- package/cjs/components/Modal/getModalTheme.js.map +1 -1
- package/cjs/components/Paging/NavigationHelper.js +2 -1
- package/cjs/components/Paging/NavigationHelper.js.map +1 -1
- package/cjs/components/Paging/Paging.js +16 -15
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.d.ts +0 -1
- package/cjs/components/Paging/Paging.styles.js +5 -10
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +4 -2
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +6 -2
- package/cjs/components/Radio/Radio.js +6 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/cjs/components/ScrollContainer/ScrollBar.js +14 -45
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +19 -3
- package/cjs/components/ScrollContainer/ScrollContainer.js +94 -20
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +5 -3
- package/cjs/components/Select/Select.js +10 -7
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +12 -3
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
- package/cjs/components/SidePage/SidePageHeader.js +8 -6
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
- package/cjs/components/SingleToast/SingleToast.js +20 -0
- package/cjs/components/SingleToast/SingleToast.js.map +1 -0
- package/cjs/components/SingleToast/SingleToast.md +35 -0
- package/cjs/components/SingleToast/index.d.ts +1 -0
- package/cjs/components/SingleToast/index.js +1 -0
- package/cjs/components/SingleToast/index.js.map +1 -0
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
- package/cjs/components/Sticky/Sticky.js +7 -7
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +7 -3
- package/cjs/components/Switcher/Switcher.js +4 -0
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +2 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +16 -32
- package/cjs/components/Tabs/Tab.js +8 -25
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.md +71 -0
- package/cjs/components/Tabs/Tab.styles.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +13 -18
- package/cjs/components/Tabs/Tabs.js +4 -9
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +7 -22
- package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/components/Tabs/TabsContext.d.ts +3 -2
- package/cjs/components/Tabs/TabsContext.js +1 -0
- package/cjs/components/Tabs/TabsContext.js.map +1 -1
- package/cjs/components/Tabs/helpers.d.ts +5 -5
- package/cjs/components/Tabs/helpers.js +3 -2
- package/cjs/components/Tabs/helpers.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +6 -2
- package/cjs/components/Textarea/Textarea.js +23 -9
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.d.ts +4 -3
- package/cjs/components/Textarea/TextareaCounter.js +3 -1
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
- package/cjs/components/Textarea/TextareaHelpers.js +7 -2
- package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +10 -3
- package/cjs/components/Toast/Toast.js +26 -8
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +0 -105
- package/cjs/components/Toast/ToastStatic.js +4 -3
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +6 -2
- package/cjs/components/Toggle/Toggle.js +4 -0
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
- package/cjs/components/TokenInput/TokenInput.js +42 -9
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +5 -5
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/hooks/useDrop.js +3 -2
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +4 -0
- package/cjs/index.js +4 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
- package/cjs/internal/CustomComboBox/ComboBoxView.js +16 -34
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -8
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +6 -2
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +19 -16
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js +13 -13
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
- package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -3
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
- package/cjs/internal/FocusTrap/FocusTrap.js +6 -5
- package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +16 -16
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +7 -7
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +6 -6
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MenuMessage/MenuMessage.d.ts +3 -3
- package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
- package/cjs/internal/Popup/Popup.js +11 -8
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.js +9 -7
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +12 -12
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +3 -2
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js +1 -0
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndex.js +2 -2
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/icons/16px/index.d.ts +19 -19
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
- package/cjs/internal/icons2022/BaseIcon.js +3 -7
- package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
- package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
- package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
- package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
- package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
- package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
- package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +46 -2
- package/cjs/internal/themes/DefaultTheme.js +102 -6
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +4 -3
- package/cjs/internal/themes/Theme2022.js +14 -6
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/internal/themes/Theme2022Dark.d.ts +5 -4
- package/cjs/internal/themes/Theme2022Dark.js +10 -5
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
- package/cjs/lib/LayoutEvents.js +5 -4
- package/cjs/lib/LayoutEvents.js.map +1 -1
- package/cjs/lib/ModalStack.js +2 -3
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.d.ts +1 -6
- package/cjs/lib/SSRSafe.js +4 -48
- package/cjs/lib/SSRSafe.js.map +1 -1
- package/cjs/lib/Upgrades.d.ts +1 -0
- package/cjs/lib/Upgrades.js +3 -1
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/animation/index.js +6 -4
- package/cjs/lib/animation/index.js.map +1 -1
- package/cjs/lib/chars.d.ts +1 -1
- package/cjs/lib/chars.js +2 -2
- package/cjs/lib/chars.js.map +1 -1
- package/cjs/lib/client.d.ts +1 -7
- package/cjs/lib/client.js +6 -6
- package/cjs/lib/client.js.map +1 -1
- package/cjs/lib/dom/getScrollWidth.js +4 -4
- package/cjs/lib/dom/getScrollWidth.js.map +1 -1
- package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
- package/cjs/lib/dom/tabbableHelpers.js +7 -2
- package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +11 -11
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/fixClickFocusIE.js +5 -3
- package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
- package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/cjs/lib/events/keyListener.js +9 -11
- package/cjs/lib/events/keyListener.js.map +1 -1
- package/cjs/lib/events/keyboard/identifiers.js +4 -2
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +50 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +12 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
- package/cjs/lib/featureFlagsContext/index.js +3 -0
- package/cjs/lib/featureFlagsContext/index.js.map +1 -0
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +4 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +14 -15
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
- package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
- package/cjs/lib/net/fetch.js +24 -18
- package/cjs/lib/net/fetch.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.js +5 -6
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +4 -2
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/types/props.d.ts +1 -0
- package/cjs/lib/types/props.js +1 -0
- package/cjs/lib/types/props.js.map +1 -0
- package/cjs/lib/utils.js +4 -5
- package/cjs/lib/utils.js.map +1 -1
- package/cjs/typings/global.d.ts +3 -4
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +2 -1
- package/components/Button/Button/Button.js +11 -3
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +7 -2
- package/components/Button/Button.md +68 -0
- package/components/Button/Button.mixins/Button.mixins.js +1 -1
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.styles/Button.styles.js +6 -2
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +2 -1
- package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
- package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
- package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
- package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
- package/components/Button/ButtonIcon.d.ts +3 -2
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
- package/components/Calendar/Calendar/Calendar.js +7 -6
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +14 -5
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +6 -2
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +2 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +2 -1
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +23 -9
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +2 -1
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
- package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +2 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +3 -2
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +9 -5
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +6 -2
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/FileUploader/FileUploader.styles.d.ts +1 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +25 -29
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
- package/components/Hint/Hint/Hint.js +5 -5
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Input/Input/Input.js +18 -11
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +6 -2
- package/components/Input/InputLayout/InputLayout.d.ts +1 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
- package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
- package/components/Kebab/Kebab/Kebab.js +2 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +2 -1
- package/components/Link/Link/Link.js +8 -6
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +6 -1
- package/components/Link/Link.md +69 -0
- package/components/Link/Link.styles/Link.styles.js +25 -22
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +1 -0
- package/components/Loader/Loader/Loader.js +9 -6
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/MenuFooter/MenuFooter/MenuFooter.js +4 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +6 -2
- package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +6 -2
- package/components/MenuItem/MenuItem/MenuItem.js +7 -2
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +6 -2
- package/components/MiniModal/MiniModal/MiniModal.js +38 -0
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
- package/components/MiniModal/MiniModal/package.json +6 -0
- package/components/MiniModal/MiniModal.d.ts +18 -0
- package/components/MiniModal/MiniModal.md +233 -0
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
- package/components/MiniModal/MiniModal.styles/package.json +6 -0
- package/components/MiniModal/MiniModal.styles.d.ts +14 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
- package/components/MiniModal/MiniModalBody/package.json +6 -0
- package/components/MiniModal/MiniModalBody.d.ts +7 -0
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
- package/components/MiniModal/MiniModalFooter/package.json +6 -0
- package/components/MiniModal/MiniModalFooter.d.ts +18 -0
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
- package/components/MiniModal/MiniModalHeader/package.json +6 -0
- package/components/MiniModal/MiniModalHeader.d.ts +17 -0
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
- package/components/MiniModal/MiniModalIndent/package.json +6 -0
- package/components/MiniModal/MiniModalIndent.d.ts +6 -0
- package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
- package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
- package/components/MiniModal/getMiniModalTheme/package.json +6 -0
- package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
- package/components/MiniModal/index/index.js +5 -0
- package/components/MiniModal/index/index.js.map +1 -0
- package/components/MiniModal/index/package.json +6 -0
- package/components/MiniModal/index.d.ts +5 -0
- package/components/MiniModal/package.json +6 -0
- package/components/Modal/Modal/Modal.js +18 -14
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +6 -0
- package/components/Modal/Modal.styles/Modal.styles.js +44 -37
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +5 -0
- package/components/Modal/ModalClose/ModalClose.js +2 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Modal/ModalSeparator.d.ts +5 -0
- package/components/Modal/getModalTheme/getModalTheme.js +8 -3
- package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
- package/components/Modal/getModalTheme.d.ts +2 -2
- package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
- package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
- package/components/Paging/Paging/Paging.js +16 -11
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js +3 -6
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +6 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +6 -2
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +16 -50
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +4 -7
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +98 -22
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +19 -3
- package/components/ScrollContainer/ScrollContainer.md +29 -2
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
- package/components/Select/Select/Select.js +9 -8
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +5 -3
- package/components/SidePage/SidePage/SidePage.js +8 -7
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +1 -0
- package/components/SingleToast/SingleToast/SingleToast.js +53 -0
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
- package/components/SingleToast/SingleToast/package.json +6 -0
- package/components/SingleToast/SingleToast.d.ts +11 -0
- package/components/SingleToast/SingleToast.md +35 -0
- package/components/SingleToast/index/index.js +1 -0
- package/components/SingleToast/index/index.js.map +1 -0
- package/components/SingleToast/index/package.json +6 -0
- package/components/SingleToast/index.d.ts +1 -0
- package/components/SingleToast/package.json +6 -0
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +10 -6
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js +4 -0
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +7 -3
- package/components/Tabs/Indicator/Indicator.js +2 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +7 -14
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +16 -32
- package/components/Tabs/Tab.md +71 -0
- package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +3 -4
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +13 -18
- package/components/Tabs/Tabs.md +7 -22
- package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
- package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/components/Tabs/TabsContext.d.ts +3 -2
- package/components/Tabs/helpers/helpers.js +3 -0
- package/components/Tabs/helpers/helpers.js.map +1 -1
- package/components/Tabs/helpers.d.ts +5 -5
- package/components/Textarea/Textarea/Textarea.js +25 -13
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +6 -2
- package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaCounter.d.ts +4 -3
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
- package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
- package/components/Textarea/TextareaHelpers.d.ts +1 -1
- package/components/Toast/Toast/Toast.js +16 -7
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +10 -3
- package/components/Toast/Toast.md +0 -105
- package/components/Toast/ToastStatic/ToastStatic.js +4 -4
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +4 -0
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +6 -2
- package/components/TokenInput/TokenInput/TokenInput.js +51 -11
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -0
- package/components/Tooltip/Tooltip/Tooltip.js +5 -5
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/hooks/useDrop/useDrop.js +3 -2
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/index.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
- package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -32
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +6 -9
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +11 -6
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +7 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +19 -20
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +18 -17
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
- package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
- package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -3
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
- package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
- package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
- package/internal/FocusTrap/FocusTrap/FocusTrap.js +8 -3
- package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +28 -19
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +9 -9
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +8 -8
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.d.ts +3 -3
- package/internal/Popup/Popup/Popup.js +11 -13
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +17 -10
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +10 -5
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +3 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/icons/16px/index.d.ts +19 -19
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
- package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
- package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
- package/internal/icons2022/BaseIcon.d.ts +1 -1
- package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
- package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
- package/internal/icons2022/BaseIcon.styles/package.json +6 -0
- package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
- package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
- package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
- package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
- package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
- package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
- package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +146 -6
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +46 -2
- package/internal/themes/Theme2022/Theme2022.js +18 -4
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +4 -3
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +14 -4
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
- package/internal/themes/Theme2022Dark.d.ts +5 -4
- package/lib/LayoutEvents/LayoutEvents.js +5 -4
- package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
- package/lib/ModalStack/ModalStack.js +2 -2
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/SSRSafe/SSRSafe.js +3 -35
- package/lib/SSRSafe/SSRSafe.js.map +1 -1
- package/lib/SSRSafe.d.ts +1 -6
- package/lib/Upgrades/Upgrades.js +3 -1
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/Upgrades.d.ts +1 -0
- package/lib/animation/index/index.js +6 -3
- package/lib/animation/index/index.js.map +1 -1
- package/lib/chars/chars.js +1 -1
- package/lib/chars/chars.js.map +1 -1
- package/lib/chars.d.ts +1 -1
- package/lib/client/client.js +7 -6
- package/lib/client/client.js.map +1 -1
- package/lib/client.d.ts +1 -7
- package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
- package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
- package/lib/dom/tabbableHelpers/tabbableHelpers.js +3 -2
- package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
- package/lib/dom/tabbableHelpers.d.ts +2 -1
- package/lib/events/MouseDrag/MouseDrag.js +15 -11
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js +3 -2
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
- package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/lib/events/keyListener/keyListener.js +9 -12
- package/lib/events/keyListener/keyListener.js.map +1 -1
- package/lib/events/keyboard/identifiers/identifiers.js +2 -1
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +50 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +4 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
- package/lib/featureFlagsContext/index/index.js +2 -0
- package/lib/featureFlagsContext/index/index.js.map +1 -0
- package/lib/featureFlagsContext/index/package.json +6 -0
- package/lib/featureFlagsContext/index.d.ts +2 -0
- package/lib/featureFlagsContext/package.json +6 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/listenFocusOutside/listenFocusOutside.js +18 -10
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
- package/lib/net/fetch/fetch.js +29 -21
- package/lib/net/fetch/fetch.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +5 -6
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +6 -1
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/types/props/package.json +6 -0
- package/lib/types/props/props.js +1 -0
- package/lib/types/props/props.js.map +1 -0
- package/lib/types/props.d.ts +1 -0
- package/lib/utils/utils.js +4 -5
- package/lib/utils/utils.js.map +1 -1
- package/package.json +4 -4
- package/typings/global.d.ts +3 -4
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
var _normalizeWheel2 = _interopRequireDefault(require("normalize-wheel"));
|
|
3
3
|
var _lodash = _interopRequireDefault(require("lodash.throttle"));
|
|
4
4
|
var _shallowequal = _interopRequireDefault(require("shallowequal"));
|
|
5
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
5
6
|
|
|
6
7
|
var _InternalDate = require("../../lib/date/InternalDate");
|
|
7
8
|
var _InternalDateTransformer = require("../../lib/date/InternalDateTransformer");
|
|
@@ -174,7 +175,7 @@ Calendar = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
174
175
|
_this.animation.inProgress()) {_context.next = 4;break;}
|
|
175
176
|
_this.animation.finish();
|
|
176
177
|
// FIXME: Dirty hack to await batched updates
|
|
177
|
-
_context.next = 4;return new Promise(function (r) {return setTimeout(r);});case 4:
|
|
178
|
+
_context.next = 4;return new Promise(function (r) {return _globalObject.globalObject.setTimeout(r, 0);});case 4:
|
|
178
179
|
|
|
179
180
|
|
|
180
181
|
minDate = _this.getDateInNativeFormat(_this.getProps().minDate);
|
|
@@ -395,7 +396,7 @@ Calendar = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
395
396
|
};_this.
|
|
396
397
|
|
|
397
398
|
handleTouchStart = function (event) {
|
|
398
|
-
if (!(event
|
|
399
|
+
if (!(0, _globalObject.isInstanceOf)(event, _globalObject.globalObject.TouchEvent)) {
|
|
399
400
|
return;
|
|
400
401
|
}
|
|
401
402
|
|
|
@@ -404,7 +405,7 @@ Calendar = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
404
405
|
};_this.
|
|
405
406
|
|
|
406
407
|
handleTouchMove = function (event) {
|
|
407
|
-
if (!(event
|
|
408
|
+
if (!(0, _globalObject.isInstanceOf)(event, _globalObject.globalObject.TouchEvent)) {
|
|
408
409
|
return;
|
|
409
410
|
}
|
|
410
411
|
|
|
@@ -419,7 +420,7 @@ Calendar = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
419
420
|
throttledHandleTouchMove = (0, _lodash.default)(_this.handleTouchMove, 10);_this.
|
|
420
421
|
|
|
421
422
|
handleWheel = function (event) {
|
|
422
|
-
if (!(event
|
|
423
|
+
if (!(0, _globalObject.isInstanceOf)(event, _globalObject.globalObject.WheelEvent)) {
|
|
423
424
|
return;
|
|
424
425
|
}
|
|
425
426
|
event.preventDefault();
|
|
@@ -430,9 +431,9 @@ Calendar = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
430
431
|
|
|
431
432
|
handleWheelEnd = function () {
|
|
432
433
|
if (_this.wheelEndTimeout) {
|
|
433
|
-
clearTimeout(_this.wheelEndTimeout);
|
|
434
|
+
_globalObject.globalObject.clearTimeout(_this.wheelEndTimeout);
|
|
434
435
|
}
|
|
435
|
-
_this.wheelEndTimeout =
|
|
436
|
+
_this.wheelEndTimeout = _globalObject.globalObject.setTimeout(_this.scrollToNearestWeek, 300);
|
|
436
437
|
};_this.
|
|
437
438
|
scrollToNearestWeek = function () {
|
|
438
439
|
var _this$state = _this.state,scrollTarget = _this$state.scrollTarget,scrollDirection = _this$state.scrollDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Calendar.tsx"],"names":["CalendarDataTids","root","month","dayCell","headerMonth","headerYear","Calendar","rootNode","formatDate","date","year","InternalDate","setComponents","toString","withPad","props","getProps","defaultProps","animation","touchStartY","scrollToMonth","inProgress","finish","Promise","r","setTimeout","minDate","getDateInNativeFormat","maxDate","currentMonth","state","months","diffInMonths","scrollTo","maxMonthsToAdd","theme","MAX_MONTHS_TO_APPEND_ON_SCROLL","onEnd","setState","CalendarUtils","getMonths","scrollPosition","isYearChanges","Math","abs","monthsToPrependCount","min","monthsToPrepend","Array","from","length","_","index","MonthViewModel","create","yearChanges","isFirstInYear","isLastInYear","concat","getMonthsHeight","targetPosition","getHeight","monthsToAppendCount","monthsToAppend","slice","renderMain","positions","getMonthPositions","wrapperStyle","height","WRAPPER_HEIGHT","setRootNode","refRoot","styles","wrapper","map","x","i","filter","top","isMonthVisible","renderMonth","separator","element","isMobile","addEventListener","handleTouchStart","throttledHandleTouchMove","handleWheel","passive","removeEventListener","isHoliday","isWeekend","dateString","InternalDateTransformer","dateToInternalString","handleDateChange","dateShape","value","onValueChange","handleMonthYearChange","executeAnimations","pixelY","calculateScrollPosition","scrollTarget","handleWheelEnd","animate","deltaY","applyDelta","CalendarScrollEvents","emit","event","TouchEvent","clientY","targetTouches","handleTouchMove","changedTouches","WheelEvent","preventDefault","wheelEndTimeout","clearTimeout","window","scrollToNearestWeek","scrollDirection","trasholdHeight","MONTH_TITLE_OFFSET_HEIGHT","DAY_SIZE","amount","pos","scrollAmmount","scrollAmount","minDateShape","maxDateShape","today","getTodayDate","initialDate","getInitialDate","initialMonth","getMonthInNativeFormat","initialYear","componentDidUpdate","prevProps","parseValue","getComponentsLikeNumber","componentWillUnmount","cancel","render","toNativeFormat","position","push","React","Component","__KONTUR_REACT_UI__","MIN_DATE","MIN_MONTH","MIN_YEAR","MAX_DATE","MAX_MONTH","MAX_YEAR","_day"],"mappings":"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","sourcesContent":["import React from 'react';\nimport normalizeWheel from 'normalize-wheel';\nimport throttle from 'lodash.throttle';\nimport shallowEqual from 'shallowequal';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { cx } from '../../lib/theming/Emotion';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants';\nimport { Nullable, Range } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { animation } from '../../lib/animation';\nimport { isMobile } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { themeConfig } from './config';\nimport { MonthViewModel } from './MonthViewModel';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { Month } from './Month';\nimport { styles } from './Calendar.styles';\nimport { CalendarDateShape, create, isGreater, isLess } from './CalendarDateShape';\nimport * as CalendarUtils from './CalendarUtils';\n\nexport interface CalendarProps extends CommonProps {\n /**\n * Вызывается при изменении `value`\n *\n * В аргументе хранится дата в формате `dd.mm.yyyy`\n */\n onValueChange?: (date: string) => void;\n /**\n * Задаёт текущую дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n value: Nullable<string>;\n /**\n * Задаёт максимальную возможную дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n maxDate?: string;\n /**\n * Задаёт минимальную возможную дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n minDate?: string;\n /**\n * Функция для определения праздничных дней\n * @default (_day, isWeekend) => isWeekend\n * @param {string} day - строка в формате `dd.mm.yyyy`\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)\n *\n * @returns {boolean} `true` для выходного или `false` для рабочего дня\n */\n isHoliday?: (day: string, isWeekend: boolean) => boolean;\n /**\n * Позволяет задать начальный месяц\n */\n initialMonth?: Range<1, 13>;\n /**\n * Позволяет задать начальный год\n */\n initialYear?: number;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n today: CalendarDateShape;\n scrollDirection: number;\n scrollTarget: number;\n}\n\nexport const CalendarDataTids = {\n root: 'Calendar__root',\n month: 'MonthView__month',\n dayCell: 'DayCellView__root',\n headerMonth: 'MonthView__headerMonth',\n headerYear: 'MonthView__headerYear',\n} as const;\n\ntype DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n/**\n * Компонент календаря из [DatePicker](https://tech.skbkontur.ru/react-ui/#/Components/DatePicker)'а\n */\n@rootNode\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n\n private static formatDate(date: number, month: number, year: number) {\n return new InternalDate().setComponents({ date, month, year }).toString({ withPad: true });\n }\n\n public static defaultProps: DefaultProps = {\n minDate: Calendar.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),\n maxDate: Calendar.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),\n isHoliday: (_day: string, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(Calendar.defaultProps);\n\n private theme!: Theme;\n private wheelEndTimeout: Nullable<number>;\n private root: Nullable<HTMLElement>;\n private animation = animation();\n private touchStartY: Nullable<number> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const { minDate, maxDate, value } = this.getProps();\n\n const minDateShape = this.getDateInNativeFormat(minDate);\n const maxDateShape = this.getDateInNativeFormat(maxDate);\n const dateShape = this.getDateInNativeFormat(value);\n\n const today = CalendarUtils.getTodayDate();\n const initialDate = CalendarUtils.getInitialDate({\n today,\n date: dateShape,\n minDate: minDateShape,\n maxDate: maxDateShape,\n });\n\n const initialMonth = CalendarUtils.getMonthInNativeFormat(this.props.initialMonth) ?? initialDate.month;\n const initialYear = this.props.initialYear ?? initialDate.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n today,\n scrollDirection: 1,\n scrollTarget: 0,\n };\n }\n\n public componentDidUpdate(prevProps: Readonly<CalendarProps>): void {\n const { value } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n const date = new InternalDate().parseValue(value).getComponentsLikeNumber();\n this.scrollToMonth(date.month - 1, date.year);\n }\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\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 /**\n * Прокручивает календарь до переданной даты\n * @public\n */\n public scrollToMonth = async (month: number, year: number) => {\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r));\n }\n\n const minDate = this.getDateInNativeFormat(this.getProps().minDate);\n const maxDate = this.getDateInNativeFormat(this.getProps().maxDate);\n\n if (minDate && isGreater(minDate, create(32, month, year))) {\n this.scrollToMonth(minDate.month, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, month, year))) {\n this.scrollToMonth(maxDate.month, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - month - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () => {\n this.setState({\n months: CalendarUtils.getMonths(month, year),\n scrollPosition: 0,\n });\n };\n\n const isYearChanges = (state: CalendarState) => {\n return (\n state.months[1].year !== year &&\n // if diff in months is 2 or less,\n // either year is not changing either months already\n // have right isFirstInYear/isLastInYear flags\n Math.abs(diffInMonths) > 2\n );\n };\n\n // If scrolling upwards, prepend maximum maxMonthsToAdd months\n // and scroll to the first month\n if (diffInMonths > 0) {\n const monthsToPrependCount = Math.min(Math.abs(diffInMonths) - 1, maxMonthsToAdd);\n const monthsToPrepend = Array.from({ length: monthsToPrependCount }, (_, index) => {\n return MonthViewModel.create(month + index, year);\n });\n this.setState(\n (state) => {\n const yearChanges = isYearChanges(state);\n if (yearChanges) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[0].isFirstInYear = true;\n if (monthsToPrepend.length) {\n // Mutating item here is safe as it was just created\n monthsToPrepend[monthsToPrepend.length - 1].isLastInYear = true;\n }\n }\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) => {\n return MonthViewModel.create(month + index - monthsToAppendCount + 2, year);\n });\n this.setState(\n (state) => {\n if (isYearChanges(state)) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[state.months.length - 1].isLastInYear = true;\n // Mutating item here is safe as it was just created\n if (monthsToAppend[0]) {\n monthsToAppend[0].isFirstInYear = true;\n }\n }\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private renderMain = () => {\n const positions = this.getMonthPositions();\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n\n const props = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...props}>\n <div ref={this.refRoot} data-tid={CalendarDataTids.root} className={cx(styles.root(this.theme))}>\n <div style={wrapperStyle} className={styles.wrapper()}>\n {this.state.months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme))\n .map(this.renderMonth, this)}\n </div>\n <div className={styles.separator(this.theme)} />\n </div>\n </CommonWrapper>\n );\n };\n\n private refRoot = (element: HTMLElement | null) => {\n if (!this.root && element) {\n if (isMobile) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n }\n if (this.root && !element) {\n if (isMobile) {\n this.root.removeEventListener('touchstart', this.handleTouchStart);\n this.root.removeEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n this.root.removeEventListener('wheel', this.handleWheel);\n }\n }\n this.root = element;\n };\n\n private renderMonth([top, month]: [number, MonthViewModel]) {\n const date = this.getDateInNativeFormat(this.props.value);\n const minDate = this.getDateInNativeFormat(this.props.minDate);\n const maxDate = this.getDateInNativeFormat(this.props.maxDate);\n\n return (\n <Month\n key={month.month + '-' + month.year}\n top={top}\n month={month}\n maxDate={maxDate}\n minDate={minDate}\n today={this.state.today}\n value={date}\n onDateClick={this.handleDateChange}\n onMonthYearChange={this.handleMonthYearChange}\n isHoliday={this.isHoliday}\n />\n );\n }\n\n private isHoliday = ({ date, month, year, isWeekend }: CalendarDateShape & { isWeekend: boolean }) => {\n const dateString = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n\n return this.getProps().isHoliday(dateString, isWeekend);\n };\n\n private handleDateChange = (dateShape: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToInternalString({\n date: dateShape.date,\n month: dateShape.month + 1,\n year: dateShape.year,\n });\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private getDateInNativeFormat(date: Nullable<string>) {\n return new InternalDate().parseValue(date).toNativeFormat();\n }\n\n private getMonthPositions() {\n const { scrollPosition, months } = this.state;\n\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private handleMonthYearChange = (month: number, year: number) => {\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = window.setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const trasholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_SIZE;\n\n if (scrollTarget < trasholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = trasholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) => {\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n }));\n },\n onEnd,\n );\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Calendar.tsx"],"names":["CalendarDataTids","root","month","dayCell","headerMonth","headerYear","Calendar","rootNode","formatDate","date","year","InternalDate","setComponents","toString","withPad","props","getProps","defaultProps","animation","touchStartY","scrollToMonth","inProgress","finish","Promise","r","globalObject","setTimeout","minDate","getDateInNativeFormat","maxDate","currentMonth","state","months","diffInMonths","scrollTo","maxMonthsToAdd","theme","MAX_MONTHS_TO_APPEND_ON_SCROLL","onEnd","setState","CalendarUtils","getMonths","scrollPosition","isYearChanges","Math","abs","monthsToPrependCount","min","monthsToPrepend","Array","from","length","_","index","MonthViewModel","create","yearChanges","isFirstInYear","isLastInYear","concat","getMonthsHeight","targetPosition","getHeight","monthsToAppendCount","monthsToAppend","slice","renderMain","positions","getMonthPositions","wrapperStyle","height","WRAPPER_HEIGHT","setRootNode","refRoot","styles","wrapper","map","x","i","filter","top","isMonthVisible","renderMonth","separator","element","isMobile","addEventListener","handleTouchStart","throttledHandleTouchMove","handleWheel","passive","removeEventListener","isHoliday","isWeekend","dateString","InternalDateTransformer","dateToInternalString","handleDateChange","dateShape","value","onValueChange","handleMonthYearChange","executeAnimations","pixelY","calculateScrollPosition","scrollTarget","handleWheelEnd","animate","deltaY","applyDelta","CalendarScrollEvents","emit","event","TouchEvent","clientY","targetTouches","handleTouchMove","changedTouches","WheelEvent","preventDefault","wheelEndTimeout","clearTimeout","scrollToNearestWeek","scrollDirection","trasholdHeight","MONTH_TITLE_OFFSET_HEIGHT","DAY_SIZE","amount","pos","scrollAmmount","scrollAmount","minDateShape","maxDateShape","today","getTodayDate","initialDate","getInitialDate","initialMonth","getMonthInNativeFormat","initialYear","componentDidUpdate","prevProps","parseValue","getComponentsLikeNumber","componentWillUnmount","cancel","render","toNativeFormat","position","push","React","Component","__KONTUR_REACT_UI__","MIN_DATE","MIN_MONTH","MIN_YEAR","MAX_DATE","MAX_MONTH","MAX_YEAR","_day"],"mappings":"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","sourcesContent":["import React from 'react';\nimport normalizeWheel from 'normalize-wheel';\nimport throttle from 'lodash.throttle';\nimport shallowEqual from 'shallowequal';\nimport { globalObject, isInstanceOf, SafeTimer } from '@skbkontur/global-object';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { cx } from '../../lib/theming/Emotion';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants';\nimport { Nullable, Range } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { animation } from '../../lib/animation';\nimport { isMobile } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { themeConfig } from './config';\nimport { MonthViewModel } from './MonthViewModel';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { Month } from './Month';\nimport { styles } from './Calendar.styles';\nimport { CalendarDateShape, create, isGreater, isLess } from './CalendarDateShape';\nimport * as CalendarUtils from './CalendarUtils';\n\nexport interface CalendarProps extends CommonProps {\n /**\n * Вызывается при изменении `value`\n *\n * В аргументе хранится дата в формате `dd.mm.yyyy`\n */\n onValueChange?: (date: string) => void;\n /**\n * Задаёт текущую дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n value: Nullable<string>;\n /**\n * Задаёт максимальную возможную дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n maxDate?: string;\n /**\n * Задаёт минимальную возможную дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n minDate?: string;\n /**\n * Функция для определения праздничных дней\n * @default (_day, isWeekend) => isWeekend\n * @param {string} day - строка в формате `dd.mm.yyyy`\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)\n *\n * @returns {boolean} `true` для выходного или `false` для рабочего дня\n */\n isHoliday?: (day: string, isWeekend: boolean) => boolean;\n /**\n * Позволяет задать начальный месяц\n */\n initialMonth?: Range<1, 13>;\n /**\n * Позволяет задать начальный год\n */\n initialYear?: number;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n today: CalendarDateShape;\n scrollDirection: number;\n scrollTarget: number;\n}\n\nexport const CalendarDataTids = {\n root: 'Calendar__root',\n month: 'MonthView__month',\n dayCell: 'DayCellView__root',\n headerMonth: 'MonthView__headerMonth',\n headerYear: 'MonthView__headerYear',\n} as const;\n\ntype DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n/**\n * Компонент календаря из [DatePicker](https://tech.skbkontur.ru/react-ui/#/Components/DatePicker)'а\n */\n@rootNode\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n\n private static formatDate(date: number, month: number, year: number) {\n return new InternalDate().setComponents({ date, month, year }).toString({ withPad: true });\n }\n\n public static defaultProps: DefaultProps = {\n minDate: Calendar.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),\n maxDate: Calendar.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),\n isHoliday: (_day: string, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(Calendar.defaultProps);\n\n private theme!: Theme;\n private wheelEndTimeout: SafeTimer;\n private root: Nullable<HTMLElement>;\n private animation = animation();\n private touchStartY: Nullable<number> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const { minDate, maxDate, value } = this.getProps();\n\n const minDateShape = this.getDateInNativeFormat(minDate);\n const maxDateShape = this.getDateInNativeFormat(maxDate);\n const dateShape = this.getDateInNativeFormat(value);\n\n const today = CalendarUtils.getTodayDate();\n const initialDate = CalendarUtils.getInitialDate({\n today,\n date: dateShape,\n minDate: minDateShape,\n maxDate: maxDateShape,\n });\n\n const initialMonth = CalendarUtils.getMonthInNativeFormat(this.props.initialMonth) ?? initialDate.month;\n const initialYear = this.props.initialYear ?? initialDate.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n today,\n scrollDirection: 1,\n scrollTarget: 0,\n };\n }\n\n public componentDidUpdate(prevProps: Readonly<CalendarProps>): void {\n const { value } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n const date = new InternalDate().parseValue(value).getComponentsLikeNumber();\n this.scrollToMonth(date.month - 1, date.year);\n }\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\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 /**\n * Прокручивает календарь до переданной даты\n * @public\n */\n public scrollToMonth = async (month: number, year: number) => {\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => globalObject.setTimeout(r, 0));\n }\n\n const minDate = this.getDateInNativeFormat(this.getProps().minDate);\n const maxDate = this.getDateInNativeFormat(this.getProps().maxDate);\n\n if (minDate && isGreater(minDate, create(32, month, year))) {\n this.scrollToMonth(minDate.month, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, month, year))) {\n this.scrollToMonth(maxDate.month, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - month - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () => {\n this.setState({\n months: CalendarUtils.getMonths(month, year),\n scrollPosition: 0,\n });\n };\n\n const isYearChanges = (state: CalendarState) => {\n return (\n state.months[1].year !== year &&\n // if diff in months is 2 or less,\n // either year is not changing either months already\n // have right isFirstInYear/isLastInYear flags\n Math.abs(diffInMonths) > 2\n );\n };\n\n // If scrolling upwards, prepend maximum maxMonthsToAdd months\n // and scroll to the first month\n if (diffInMonths > 0) {\n const monthsToPrependCount = Math.min(Math.abs(diffInMonths) - 1, maxMonthsToAdd);\n const monthsToPrepend = Array.from({ length: monthsToPrependCount }, (_, index) => {\n return MonthViewModel.create(month + index, year);\n });\n this.setState(\n (state) => {\n const yearChanges = isYearChanges(state);\n if (yearChanges) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[0].isFirstInYear = true;\n if (monthsToPrepend.length) {\n // Mutating item here is safe as it was just created\n monthsToPrepend[monthsToPrepend.length - 1].isLastInYear = true;\n }\n }\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) => {\n return MonthViewModel.create(month + index - monthsToAppendCount + 2, year);\n });\n this.setState(\n (state) => {\n if (isYearChanges(state)) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[state.months.length - 1].isLastInYear = true;\n // Mutating item here is safe as it was just created\n if (monthsToAppend[0]) {\n monthsToAppend[0].isFirstInYear = true;\n }\n }\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private renderMain = () => {\n const positions = this.getMonthPositions();\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n\n const props = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...props}>\n <div ref={this.refRoot} data-tid={CalendarDataTids.root} className={cx(styles.root(this.theme))}>\n <div style={wrapperStyle} className={styles.wrapper()}>\n {this.state.months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme))\n .map(this.renderMonth, this)}\n </div>\n <div className={styles.separator(this.theme)} />\n </div>\n </CommonWrapper>\n );\n };\n\n private refRoot = (element: HTMLElement | null) => {\n if (!this.root && element) {\n if (isMobile) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n }\n if (this.root && !element) {\n if (isMobile) {\n this.root.removeEventListener('touchstart', this.handleTouchStart);\n this.root.removeEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n this.root.removeEventListener('wheel', this.handleWheel);\n }\n }\n this.root = element;\n };\n\n private renderMonth([top, month]: [number, MonthViewModel]) {\n const date = this.getDateInNativeFormat(this.props.value);\n const minDate = this.getDateInNativeFormat(this.props.minDate);\n const maxDate = this.getDateInNativeFormat(this.props.maxDate);\n\n return (\n <Month\n key={month.month + '-' + month.year}\n top={top}\n month={month}\n maxDate={maxDate}\n minDate={minDate}\n today={this.state.today}\n value={date}\n onDateClick={this.handleDateChange}\n onMonthYearChange={this.handleMonthYearChange}\n isHoliday={this.isHoliday}\n />\n );\n }\n\n private isHoliday = ({ date, month, year, isWeekend }: CalendarDateShape & { isWeekend: boolean }) => {\n const dateString = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n\n return this.getProps().isHoliday(dateString, isWeekend);\n };\n\n private handleDateChange = (dateShape: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToInternalString({\n date: dateShape.date,\n month: dateShape.month + 1,\n year: dateShape.year,\n });\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private getDateInNativeFormat(date: Nullable<string>) {\n return new InternalDate().parseValue(date).toNativeFormat();\n }\n\n private getMonthPositions() {\n const { scrollPosition, months } = this.state;\n\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private handleMonthYearChange = (month: number, year: number) => {\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n globalObject.clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = globalObject.setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const trasholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_SIZE;\n\n if (scrollTarget < trasholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = trasholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) => {\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n }));\n },\n onEnd,\n );\n };\n}\n"]}
|
|
@@ -2,7 +2,11 @@ import React, { AriaAttributes } from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { Override } from '../../typings/utility-types';
|
|
4
4
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
5
|
-
|
|
5
|
+
import { SizeProp } from '../../lib/types/props';
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated use SizeProp
|
|
8
|
+
*/
|
|
9
|
+
export declare type CheckboxSize = SizeProp;
|
|
6
10
|
export interface CheckboxProps extends CommonProps, Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Override<React.InputHTMLAttributes<HTMLInputElement>, {
|
|
7
11
|
/**
|
|
8
12
|
* Контент `label`
|
|
@@ -17,7 +21,7 @@ export interface CheckboxProps extends CommonProps, Pick<AriaAttributes, 'aria-d
|
|
|
17
21
|
*/
|
|
18
22
|
warning?: boolean;
|
|
19
23
|
/** Размер */
|
|
20
|
-
size?:
|
|
24
|
+
size?: SizeProp;
|
|
21
25
|
/**
|
|
22
26
|
* HTML-событие `mouseenter`.
|
|
23
27
|
*/
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
4
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
5
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
var _keyListener = require("../../lib/events/keyListener");
|
|
@@ -16,6 +17,7 @@ var _fixFirefoxModifiedClickOnLabel = require("../../lib/events/fixFirefoxModifi
|
|
|
16
17
|
var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
|
|
17
18
|
var _createPropsGetter = require("../../lib/createPropsGetter");
|
|
18
19
|
|
|
20
|
+
|
|
19
21
|
var _Checkbox = require("./Checkbox.styles");
|
|
20
22
|
var _CheckedIcon = require("./CheckedIcon");
|
|
21
23
|
var _IndeterminateIcon = require("./IndeterminateIcon");var _excluded = ["error", "warning", "size", "onMouseEnter", "onMouseLeave", "onMouseOver", "onValueChange", "type", "initialIndeterminate", "aria-describedby", "aria-label"];var _class, _class2, _temp;
|
|
@@ -71,6 +73,9 @@ var _IndeterminateIcon = require("./IndeterminateIcon");var _excluded = ["error"
|
|
|
71
73
|
|
|
72
74
|
|
|
73
75
|
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
74
79
|
|
|
75
80
|
|
|
76
81
|
|
|
@@ -164,18 +169,18 @@ Checkbox = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
164
169
|
}
|
|
165
170
|
};_this.
|
|
166
171
|
|
|
167
|
-
componentDidMount = function () {
|
|
172
|
+
componentDidMount = function () {var _globalObject$documen, _globalObject$documen2;
|
|
168
173
|
if (_this.state.indeterminate && _this.input.current) {
|
|
169
174
|
_this.input.current.indeterminate = true;
|
|
170
175
|
}
|
|
171
176
|
|
|
172
|
-
document.addEventListener('keydown', _this.handleShiftPress);
|
|
173
|
-
document.addEventListener('keyup', _this.handleShiftRelease);
|
|
177
|
+
(_globalObject$documen = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen.addEventListener('keydown', _this.handleShiftPress);
|
|
178
|
+
(_globalObject$documen2 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen2.addEventListener('keyup', _this.handleShiftRelease);
|
|
174
179
|
};_this.
|
|
175
180
|
|
|
176
|
-
componentWillUnmount = function () {
|
|
177
|
-
document.removeEventListener('keydown', _this.handleShiftPress);
|
|
178
|
-
document.removeEventListener('keyup', _this.handleShiftRelease);
|
|
181
|
+
componentWillUnmount = function () {var _globalObject$documen3, _globalObject$documen4;
|
|
182
|
+
(_globalObject$documen3 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen3.removeEventListener('keydown', _this.handleShiftPress);
|
|
183
|
+
(_globalObject$documen4 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen4.removeEventListener('keyup', _this.handleShiftRelease);
|
|
179
184
|
};_this.
|
|
180
185
|
|
|
181
186
|
|
|
@@ -354,7 +359,7 @@ Checkbox = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/func
|
|
|
354
359
|
if (!_this.props.disabled) {
|
|
355
360
|
// focus event fires before keyDown eventlistener
|
|
356
361
|
// so we should check tabPressed in async way
|
|
357
|
-
requestAnimationFrame(function () {
|
|
362
|
+
_globalObject.globalObject.requestAnimationFrame == null ? void 0 : _globalObject.globalObject.requestAnimationFrame(function () {
|
|
358
363
|
if (_keyListener.keyListener.isTabPressed) {
|
|
359
364
|
_this.setState({ focusedByTab: true });
|
|
360
365
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Checkbox.tsx"],"names":["CheckboxDataTids","root","Checkbox","rootNode","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","React","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","isIndeterminate","_isTheme2022","theme","iconClass","styles","icon","iconFixPosition","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","IconSquare","rootClass","getRootSizeClassName","rootFallback","isIE11","isEdge","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","globalClasses","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","requestAnimationFrame","keyListener","isTabPressed","event","currentTarget","undefined","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","func"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\nexport type CheckboxSize = 'small' | 'medium' | 'large';\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Размер */\n size?: CheckboxSize;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n document.addEventListener('keydown', this.handleShiftPress);\n document.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n document.removeEventListener('keydown', this.handleShiftPress);\n document.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const _isTheme2022 = isTheme2022(this.theme);\n\n const iconClass = cx(\n styles.icon(),\n !_isTheme2022 && styles.iconFixPosition(),\n !props.checked && !isIndeterminate && styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = _isTheme2022 ? (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n ) : (\n <OkIcon className={iconClass} />\n );\n const IconSquare = _isTheme2022 ? (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n ) : (\n <SquareIcon className={iconClass} />\n );\n\n const rootClass = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Checkbox.tsx"],"names":["CheckboxDataTids","root","Checkbox","rootNode","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","React","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","isIndeterminate","_isTheme2022","theme","iconClass","styles","icon","iconFixPosition","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","IconSquare","rootClass","getRootSizeClassName","rootFallback","isIE11","isEdge","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","globalClasses","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","globalObject","requestAnimationFrame","keyListener","isTabPressed","event","currentTarget","undefined","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","func"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\n/**\n * @deprecated use SizeProp\n */\nexport type CheckboxSize = SizeProp;\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const _isTheme2022 = isTheme2022(this.theme);\n\n const iconClass = cx(\n styles.icon(),\n !_isTheme2022 && styles.iconFixPosition(),\n !props.checked && !isIndeterminate && styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = _isTheme2022 ? (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n ) : (\n <OkIcon className={iconClass} />\n );\n const IconSquare = _isTheme2022 ? (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n ) : (\n <SquareIcon className={iconClass} />\n );\n\n const rootClass = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
@@ -4,6 +4,7 @@ import { Nullable } from '../../typings/utility-types';
|
|
|
4
4
|
import { MenuItemState } from '../MenuItem';
|
|
5
5
|
import { InputIconType } from '../Input';
|
|
6
6
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
7
|
+
import { SizeProp } from '../../lib/types/props';
|
|
7
8
|
export interface ComboBoxProps<T> extends Pick<DropdownContainerProps, 'menuPos'>, Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, CommonProps {
|
|
8
9
|
align?: 'left' | 'center' | 'right';
|
|
9
10
|
/**
|
|
@@ -127,7 +128,7 @@ export interface ComboBoxProps<T> extends Pick<DropdownContainerProps, 'menuPos'
|
|
|
127
128
|
* @default item => item.label
|
|
128
129
|
*/
|
|
129
130
|
valueToString?: (item: T) => string;
|
|
130
|
-
size?:
|
|
131
|
+
size?: SizeProp;
|
|
131
132
|
/**
|
|
132
133
|
* Состояние валидации при предупреждении.
|
|
133
134
|
*/
|
|
@@ -195,6 +195,7 @@ var _createPropsGetter = require("../../lib/createPropsGetter");var _class, _cla
|
|
|
195
195
|
|
|
196
196
|
|
|
197
197
|
|
|
198
|
+
|
|
198
199
|
|
|
199
200
|
|
|
200
201
|
ComboBox = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ComboBox, _React$Component);function ComboBox() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ComboBox.tsx"],"names":["ComboBox","rootNode","getProps","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","focus","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","props","size","React","Component","__KONTUR_REACT_UI__","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow"],"mappings":"sUAAA;;;AAGA;;;;;AAKA;AACA,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8LaA,Q,OADZC,kB;;;;;;;;;;;;;AAcSC,IAAAA,Q,GAAW,0CAAkBF,QAAQ,CAACG,YAA3B,C;;AAEXC,IAAAA,e,GAA+C,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqF/CC,IAAAA,iB,GAAoB,UAACC,OAAD,EAA0C;AACpE,YAAKC,WAAL,CAAiBD,OAAjB;AACA,YAAKF,eAAL,GAAuBE,OAAvB;AACD,K,gDArFD;AACF;AACA,K,OACSE,K,GAAP,iBAAe,CACb,IAAI,KAAKJ,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBI,KAArB,GACD,CACF,C,CAED;AACF;AACA,K,QACSC,I,GAAP,gBAAc,CACZ,IAAI,KAAKL,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBK,IAArB,GACD,CACF,C,CAED;AACF;AACA;AACA;AACA;AACA;AACA,K,QACSC,M,GAAP,gBAAcC,KAAd,EAA8B,CAC5B,IAAI,KAAKP,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBM,MAArB,CAA4BC,KAA5B,EACD,CACF,C,CAED;AACF;AACA,K,QACSC,Y,GAAP,wBAAsB,CACpB,IAAI,KAAKR,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBQ,YAArB,GACD,CACF,C,CAED;AACF;AACA,K,QACSC,I,GAAP,gBAAc,CACZ,IAAI,KAAKT,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBS,IAArB,GACD,CACF,C,CAED;AACF;AACA,K,QACSC,K,GAAP,iBAAe,CACb,IAAI,KAAKV,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBU,KAArB,GACD,CACF,C,CAED;AACF;AACA;AACA,K,QACSC,e,GAAP,2BAAyB,CACvB,IAAI,KAAKX,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBW,eAArB,GACD,CACF,C,CAED;AACF;AACA;AACA,K,QACSC,K,GAAP,iBAAe,CACb,IAAI,KAAKZ,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBY,KAArB,GACD,CACF,C,QAEMC,M,GAAP,kBAAgB,CACd,oBAAO,6BAAC,8BAAD,6BAAoB,KAAKf,QAAL,EAApB,IAAqC,IAAI,EAAE,KAAKgB,KAAL,CAAWC,IAAtD,EAA4D,GAAG,EAAE,KAAKd,iBAAtE,IAAP,CACD,C,mBAlG6Ce,eAAMC,S,WACtCC,mB,GAAsB,U,UAEtBnB,Y,GAAkC,EAC9CoB,WAAW,EAAE,qBAACC,IAAD,UAAwBA,IAAI,CAACC,KAA7B,EADiC,EAE9CC,aAAa,EAAE,uBAACF,IAAD,UAAwBA,IAAI,CAACG,KAA7B,EAF+B,EAG9CC,WAAW,EAAE,qBAACJ,IAAD,UAAwBA,IAAI,CAACG,KAA7B,EAHiC,EAI9CE,UAAU,EAAE,oBAACL,IAAD,UAAwBA,IAAI,CAACG,KAA7B,EAJkC,EAK9CG,SAAS,EAAE,MALmC,EAM9CC,aAAa,EAAE,IAN+B,EAO9CC,SAAS,EAAE,IAPmC,E","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { DropdownContainerProps } from '../../internal/DropdownContainer';\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuItemState } from '../MenuItem';\nimport { InputIconType } from '../Input';\nimport { CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface ComboBoxProps<T>\n extends Pick<DropdownContainerProps, 'menuPos'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n /**\n * Вызывает функцию поиска `getItems` при фокусе и очистке поля ввода\n * @default true\n */\n searchOnFocus?: boolean;\n /**\n * Рисует справа иконку в виде стрелки\n * @default true\n */\n drawArrow?: boolean;\n\n autoFocus?: boolean;\n\n borderless?: boolean;\n\n /**\n * Не использовать Portal для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15\n * @default false\n */\n disablePortal?: boolean;\n\n disabled?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n leftIcon?: InputIconType;\n\n rightIcon?: InputIconType;\n\n /**\n * Функция поиска элементов, должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n *\n * Элементы могут быть любого типа. В этом случае необходимо определить\n * свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`\n */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /**\n * Необходим для сравнения полученных результатов с `value`\n * @default item => item.label\n */\n itemToValue?: (item: T) => string | number;\n\n maxLength?: number;\n\n menuAlign?: 'left' | 'right';\n\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n onFocus?: () => void;\n\n /**\n * Вызывается при изменении текста в поле ввода,\n * если результатом функции будет строка,\n * то она станет следующим состоянием полем ввода\n */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /**\n * Функция для обработки ситуации, когда была введена\n * строка в инпут и был потерян фокус с элемента.\n *\n * Если при потере фокуса в выпадающем списке будет только один\n * элемент и результат `renderValue` с этим элементом будет\n * совпадать со значение в текстовом поле, то\n * сработает onValueChange со значением данного элемента\n *\n * Сама функция также может вернуть значение,\n * неравное `undefined`,\n * с которым будет вызван onValueChange.\n */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n placeholder?: string;\n\n /**\n * Функция отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /**\n * Компонент, заменяющий собой обёртку элементов результата поиска.\n *\n * По умолчанию все элементы результата поиска оборачиваются в тег `<button />`.\n *\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n\n /**\n * Функция для отрисовки сообщения о пустом результате поиска\n * Если есть renderAddButton - не работает\n */\n renderNotFound?: () => React.ReactNode;\n\n /**\n * Функция отображающая сообщение об общем количестве элементов.\n * `found` учитывает только компонент `MenuItem`. Им \"оборачиваются\" элементы, возвращаемые `getItems()`.\n */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /**\n * Функция отрисовки выбранного значения\n * @default item => item.label\n */\n renderValue?: (item: T) => React.ReactNode;\n\n /**\n * Функция отрисовки кнопки добавления в выпадающем списке\n */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /**\n * Общее количество элементов.\n * Необходим для работы `renderTotalCount`\n */\n totalCount?: number;\n\n /**\n * Выбранное значение\n * Ожидается, что `value` того же типа что и элементы в массиве,\n * возвращаемом в `getItems`\n */\n value?: Nullable<T>;\n\n /**\n * Необходим для преобразования `value` в строку при фокусировке\n * @default item => item.label\n */\n valueToString?: (item: T) => string;\n\n size?: 'small' | 'medium' | 'large';\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n width?: string | number;\n\n maxMenuHeight?: number | string;\n\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n onMouseOver?: (e: React.MouseEvent) => void;\n\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n 'itemToValue' | 'valueToString' | 'renderValue' | 'renderItem' | 'menuAlign' | 'searchOnFocus' | 'drawArrow'\n >\n>;\n\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.comboboxElement) {\n this.comboboxElement.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render() {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["ComboBox.tsx"],"names":["ComboBox","rootNode","getProps","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","focus","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","props","size","React","Component","__KONTUR_REACT_UI__","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow"],"mappings":"sUAAA;;;AAGA;;;;;AAKA;AACA,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+LaA,Q,OADZC,kB;;;;;;;;;;;;;AAcSC,IAAAA,Q,GAAW,0CAAkBF,QAAQ,CAACG,YAA3B,C;;AAEXC,IAAAA,e,GAA+C,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqF/CC,IAAAA,iB,GAAoB,UAACC,OAAD,EAA0C;AACpE,YAAKC,WAAL,CAAiBD,OAAjB;AACA,YAAKF,eAAL,GAAuBE,OAAvB;AACD,K,gDArFD;AACF;AACA,K,OACSE,K,GAAP,iBAAe,CACb,IAAI,KAAKJ,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBI,KAArB,GACD,CACF,C,CAED;AACF;AACA,K,QACSC,I,GAAP,gBAAc,CACZ,IAAI,KAAKL,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBK,IAArB,GACD,CACF,C,CAED;AACF;AACA;AACA;AACA;AACA;AACA,K,QACSC,M,GAAP,gBAAcC,KAAd,EAA8B,CAC5B,IAAI,KAAKP,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBM,MAArB,CAA4BC,KAA5B,EACD,CACF,C,CAED;AACF;AACA,K,QACSC,Y,GAAP,wBAAsB,CACpB,IAAI,KAAKR,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBQ,YAArB,GACD,CACF,C,CAED;AACF;AACA,K,QACSC,I,GAAP,gBAAc,CACZ,IAAI,KAAKT,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBS,IAArB,GACD,CACF,C,CAED;AACF;AACA,K,QACSC,K,GAAP,iBAAe,CACb,IAAI,KAAKV,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBU,KAArB,GACD,CACF,C,CAED;AACF;AACA;AACA,K,QACSC,e,GAAP,2BAAyB,CACvB,IAAI,KAAKX,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBW,eAArB,GACD,CACF,C,CAED;AACF;AACA;AACA,K,QACSC,K,GAAP,iBAAe,CACb,IAAI,KAAKZ,eAAT,EAA0B,CACxB,KAAKA,eAAL,CAAqBY,KAArB,GACD,CACF,C,QAEMC,M,GAAP,kBAAgB,CACd,oBAAO,6BAAC,8BAAD,6BAAoB,KAAKf,QAAL,EAApB,IAAqC,IAAI,EAAE,KAAKgB,KAAL,CAAWC,IAAtD,EAA4D,GAAG,EAAE,KAAKd,iBAAtE,IAAP,CACD,C,mBAlG6Ce,eAAMC,S,WACtCC,mB,GAAsB,U,UAEtBnB,Y,GAAkC,EAC9CoB,WAAW,EAAE,qBAACC,IAAD,UAAwBA,IAAI,CAACC,KAA7B,EADiC,EAE9CC,aAAa,EAAE,uBAACF,IAAD,UAAwBA,IAAI,CAACG,KAA7B,EAF+B,EAG9CC,WAAW,EAAE,qBAACJ,IAAD,UAAwBA,IAAI,CAACG,KAA7B,EAHiC,EAI9CE,UAAU,EAAE,oBAACL,IAAD,UAAwBA,IAAI,CAACG,KAA7B,EAJkC,EAK9CG,SAAS,EAAE,MALmC,EAM9CC,aAAa,EAAE,IAN+B,EAO9CC,SAAS,EAAE,IAPmC,E","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { DropdownContainerProps } from '../../internal/DropdownContainer';\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuItemState } from '../MenuItem';\nimport { InputIconType } from '../Input';\nimport { CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\n\nexport interface ComboBoxProps<T>\n extends Pick<DropdownContainerProps, 'menuPos'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n /**\n * Вызывает функцию поиска `getItems` при фокусе и очистке поля ввода\n * @default true\n */\n searchOnFocus?: boolean;\n /**\n * Рисует справа иконку в виде стрелки\n * @default true\n */\n drawArrow?: boolean;\n\n autoFocus?: boolean;\n\n borderless?: boolean;\n\n /**\n * Не использовать Portal для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15\n * @default false\n */\n disablePortal?: boolean;\n\n disabled?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n leftIcon?: InputIconType;\n\n rightIcon?: InputIconType;\n\n /**\n * Функция поиска элементов, должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n *\n * Элементы могут быть любого типа. В этом случае необходимо определить\n * свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`\n */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /**\n * Необходим для сравнения полученных результатов с `value`\n * @default item => item.label\n */\n itemToValue?: (item: T) => string | number;\n\n maxLength?: number;\n\n menuAlign?: 'left' | 'right';\n\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n onFocus?: () => void;\n\n /**\n * Вызывается при изменении текста в поле ввода,\n * если результатом функции будет строка,\n * то она станет следующим состоянием полем ввода\n */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /**\n * Функция для обработки ситуации, когда была введена\n * строка в инпут и был потерян фокус с элемента.\n *\n * Если при потере фокуса в выпадающем списке будет только один\n * элемент и результат `renderValue` с этим элементом будет\n * совпадать со значение в текстовом поле, то\n * сработает onValueChange со значением данного элемента\n *\n * Сама функция также может вернуть значение,\n * неравное `undefined`,\n * с которым будет вызван onValueChange.\n */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n placeholder?: string;\n\n /**\n * Функция отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /**\n * Компонент, заменяющий собой обёртку элементов результата поиска.\n *\n * По умолчанию все элементы результата поиска оборачиваются в тег `<button />`.\n *\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType<unknown>;\n\n /**\n * Функция для отрисовки сообщения о пустом результате поиска\n * Если есть renderAddButton - не работает\n */\n renderNotFound?: () => React.ReactNode;\n\n /**\n * Функция отображающая сообщение об общем количестве элементов.\n * `found` учитывает только компонент `MenuItem`. Им \"оборачиваются\" элементы, возвращаемые `getItems()`.\n */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /**\n * Функция отрисовки выбранного значения\n * @default item => item.label\n */\n renderValue?: (item: T) => React.ReactNode;\n\n /**\n * Функция отрисовки кнопки добавления в выпадающем списке\n */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /**\n * Общее количество элементов.\n * Необходим для работы `renderTotalCount`\n */\n totalCount?: number;\n\n /**\n * Выбранное значение\n * Ожидается, что `value` того же типа что и элементы в массиве,\n * возвращаемом в `getItems`\n */\n value?: Nullable<T>;\n\n /**\n * Необходим для преобразования `value` в строку при фокусировке\n * @default item => item.label\n */\n valueToString?: (item: T) => string;\n\n size?: SizeProp;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n width?: string | number;\n\n maxMenuHeight?: number | string;\n\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n onMouseOver?: (e: React.MouseEvent) => void;\n\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n 'itemToValue' | 'valueToString' | 'renderValue' | 'renderItem' | 'menuAlign' | 'searchOnFocus' | 'drawArrow'\n >\n>;\n\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.comboboxElement) {\n this.comboboxElement.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render() {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"]}
|
|
@@ -4,6 +4,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
4
4
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
5
5
|
var _warning = _interopRequireDefault(require("warning"));
|
|
6
6
|
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
7
|
+
var _globalObject = require("@skbkontur/global-object");
|
|
7
8
|
|
|
8
9
|
var _utils = require("../../lib/utils");
|
|
9
10
|
var _client = require("../../lib/client");
|
|
@@ -470,7 +471,7 @@ CurrencyInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
|
|
|
470
471
|
;return CurrencyInput;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'CurrencyInput', _class2.propTypes = { align: _propTypes.default.oneOf(['left', 'center', 'right']), autoFocus: _propTypes.default.bool, borderless: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, fractionDigits: _propTypes.default.number, hideTrailingZeros: _propTypes.default.bool, leftIcon: _propTypes.default.element, placeholder: _propTypes.default.string, signed: _propTypes.default.bool, size: _propTypes.default.oneOf(['small', 'medium', 'large']), value: function value(props) {(0, _warning.default)(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');}, warning: _propTypes.default.bool, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onBlur: _propTypes.default.func, onValueChange: _propTypes.default.func.isRequired, onFocus: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, onSubmit: _propTypes.default.func }, _class2.defaultProps = { align: 'right', fractionDigits: 2, hideTrailingZeros: false, value: null, inputMode: 'decimal' }, _temp)) || _class;exports.CurrencyInput = CurrencyInput;
|
|
471
472
|
|
|
472
473
|
function getInputSelectionFromEvent(input) {var _input$selectionStart, _input$selectionEnd;
|
|
473
|
-
if (!(input
|
|
474
|
+
if (!(0, _globalObject.isInstanceOf)(input, _globalObject.globalObject.HTMLInputElement)) {
|
|
474
475
|
throw new Error('input is not HTMLInputElement');
|
|
475
476
|
}
|
|
476
477
|
|