@skbkontur/react-ui 4.1.2 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -0
- package/cjs/components/Autocomplete/Autocomplete.js +12 -3
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +3 -0
- package/cjs/components/Button/Button.js +8 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +1 -1
- package/cjs/components/Button/Button.styles.js +6 -6
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Center/Center.d.ts +3 -0
- package/cjs/components/Center/Center.js +8 -3
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +3 -0
- package/cjs/components/Checkbox/Checkbox.js +8 -2
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +23 -5
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +5 -0
- package/cjs/components/DatePicker/DatePicker.js +14 -3
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/Picker.js +7 -2
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +3 -0
- package/cjs/components/Dropdown/Dropdown.js +7 -2
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +5 -0
- package/cjs/components/FileUploader/FileUploader.js +10 -4
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +3 -0
- package/cjs/components/FxInput/FxInput.js +7 -3
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +4 -0
- package/cjs/components/Gapped/Gapped.js +9 -4
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -0
- package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +3 -0
- package/cjs/components/Group/Group.js +7 -3
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +3 -0
- package/cjs/components/Input/Input.js +7 -3
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Link/Link.d.ts +4 -1
- package/cjs/components/Link/Link.js +8 -4
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +4 -0
- package/cjs/components/Loader/Loader.js +8 -3
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
- package/cjs/components/MenuHeader/MenuHeader.js +7 -2
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +5 -1
- package/cjs/components/MenuItem/MenuItem.js +11 -5
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
- package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
- package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +5 -0
- package/cjs/components/Modal/Modal.js +9 -3
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +3 -2
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.d.ts +3 -0
- package/cjs/components/Modal/ModalFooter.js +7 -2
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +3 -0
- package/cjs/components/Modal/ModalHeader.js +8 -2
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +8 -1
- package/cjs/components/Paging/Paging.js +15 -7
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -0
- package/cjs/components/PasswordInput/PasswordInput.js +13 -5
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +3 -0
- package/cjs/components/Radio/Radio.js +7 -3
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +9 -0
- package/cjs/components/RadioGroup/RadioGroup.js +21 -4
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +14 -4
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +3 -0
- package/cjs/components/Select/Select.js +11 -3
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +4 -0
- package/cjs/components/SidePage/SidePage.js +7 -2
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
- package/cjs/components/SidePage/SidePageBody.js +10 -3
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
- package/cjs/components/SidePage/SidePageContainer.js +7 -2
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +3 -0
- package/cjs/components/SidePage/SidePageFooter.js +11 -3
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +4 -0
- package/cjs/components/SidePage/SidePageHeader.js +9 -4
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +3 -0
- package/cjs/components/Spinner/Spinner.js +7 -3
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +3 -0
- package/cjs/components/Sticky/Sticky.js +7 -3
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +3 -0
- package/cjs/components/Switcher/Switcher.js +7 -3
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +4 -2
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +3 -0
- package/cjs/components/Tabs/Tab.js +7 -2
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +4 -0
- package/cjs/components/Tabs/Tabs.js +12 -3
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +4 -0
- package/cjs/components/Textarea/Textarea.js +8 -3
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +10 -9
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +6 -0
- package/cjs/components/Toast/Toast.js +9 -2
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.js +1 -1
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.js +5 -4
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +3 -0
- package/cjs/components/Toggle/Toggle.js +7 -3
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +3 -0
- package/cjs/components/Token/Token.js +8 -3
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +4 -0
- package/cjs/components/TokenInput/TokenInput.js +7 -2
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +3 -0
- package/cjs/components/Tooltip/Tooltip.js +7 -2
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -0
- package/cjs/components/TooltipMenu/TooltipMenu.js +7 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/internal/Calendar/Calendar.d.ts +6 -0
- package/cjs/internal/Calendar/Calendar.js +9 -2
- package/cjs/internal/Calendar/Calendar.js.map +1 -1
- package/cjs/internal/Calendar/MonthView.js +5 -4
- package/cjs/internal/Calendar/MonthView.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js +4 -2
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +23 -5
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js +6 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DataTids/DATATIDS.md +12 -0
- package/cjs/internal/DataTids/DataTids.d.ts +12 -0
- package/cjs/internal/DataTids/DataTids.js +46 -0
- package/cjs/internal/DataTids/DataTids.js.map +1 -0
- package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
- package/cjs/internal/DataTids/DataTids.styles.js +41 -0
- package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
- package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
- package/cjs/internal/DataTids/componentsDataTids.js +16 -0
- package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
- package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
- package/cjs/internal/DateSelect/DateSelect.js +8 -3
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +14 -6
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +6 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
- package/cjs/internal/InternalMenu/InternalMenu.js +8 -3
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
- package/cjs/internal/MaskedInput/MaskedInput.js +7 -3
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.d.ts +3 -0
- package/cjs/internal/Menu/Menu.js +8 -3
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +5 -0
- package/cjs/internal/Popup/Popup.js +10 -4
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.js +2 -1
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +9 -4
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/icons/16px/index.js +1 -1
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +1 -1
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +10 -6
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +3 -0
- package/components/Button/Button/Button.js +5 -1
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +3 -0
- package/components/Button/Button.styles/Button.styles.js +6 -6
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +1 -1
- package/components/Center/Center/Center.js +10 -5
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +3 -0
- package/components/Checkbox/Checkbox/Checkbox.js +4 -0
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +3 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +27 -12
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +4 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
- package/components/DatePicker/DatePicker/DatePicker.js +6 -0
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +5 -0
- package/components/DatePicker/Picker/Picker.js +3 -1
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +9 -5
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +3 -0
- package/components/FileUploader/FileUploader/FileUploader.js +9 -2
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +5 -0
- package/components/FxInput/FxInput/FxInput.js +6 -2
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +3 -0
- package/components/Gapped/Gapped/Gapped.js +12 -5
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +4 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +4 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +3 -0
- package/components/Group/Group/Group.js +4 -0
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +3 -0
- package/components/Input/Input/Input.js +11 -6
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +3 -0
- package/components/Link/Link/Link.js +11 -6
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +4 -1
- package/components/Loader/Loader/Loader.js +10 -6
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +4 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +3 -0
- package/components/MenuItem/MenuItem/MenuItem.js +16 -10
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +5 -1
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
- package/components/Modal/Modal/Modal.js +7 -2
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +5 -0
- package/components/Modal/ModalClose/ModalClose.js +2 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js +4 -0
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalFooter.d.ts +3 -0
- package/components/Modal/ModalHeader/ModalHeader.js +4 -0
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +3 -0
- package/components/Paging/Paging/Paging.js +12 -5
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +8 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +12 -6
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +5 -0
- package/components/Radio/Radio/Radio.js +10 -5
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +3 -0
- package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -11
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +9 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
- package/components/Select/Select/Select.js +4 -0
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +3 -0
- package/components/SidePage/SidePage/SidePage.js +6 -2
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +4 -0
- package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +3 -0
- package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContainer.d.ts +3 -0
- package/components/SidePage/SidePageFooter/SidePageFooter.js +10 -6
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +3 -0
- package/components/SidePage/SidePageHeader/SidePageHeader.js +12 -7
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +4 -0
- package/components/Spinner/Spinner/Spinner.js +8 -4
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +3 -0
- package/components/Sticky/Sticky/Sticky.js +4 -0
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +3 -0
- package/components/Switcher/Switcher/Switcher.js +4 -0
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +3 -0
- package/components/Tabs/Indicator/Indicator.js +2 -0
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +4 -0
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +3 -0
- package/components/Tabs/Tabs/Tabs.js +11 -6
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +4 -0
- package/components/Textarea/Textarea/Textarea.js +15 -9
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +4 -0
- package/components/Textarea/TextareaCounter/TextareaCounter.js +8 -3
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js +16 -10
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +6 -0
- package/components/Toast/ToastStatic/ToastStatic.js +2 -2
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastView/ToastView.js +4 -3
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +8 -4
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +3 -0
- package/components/Token/Token/Token.js +4 -0
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +3 -0
- package/components/TokenInput/TokenInput/TokenInput.js +5 -0
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +4 -0
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +4 -0
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +3 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +16 -12
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +3 -0
- package/internal/Calendar/Calendar/Calendar.js +7 -1
- package/internal/Calendar/Calendar/Calendar.js.map +1 -1
- package/internal/Calendar/Calendar.d.ts +6 -0
- package/internal/Calendar/MonthView/MonthView.js +4 -3
- package/internal/Calendar/MonthView/MonthView.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +4 -5
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +12 -5
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -0
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
- package/internal/DataTids/DATATIDS.md +12 -0
- package/internal/DataTids/DataTids/DataTids.js +69 -0
- package/internal/DataTids/DataTids/DataTids.js.map +1 -0
- package/internal/DataTids/DataTids/package.json +6 -0
- package/internal/DataTids/DataTids.d.ts +12 -0
- package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
- package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
- package/internal/DataTids/DataTids.styles/package.json +6 -0
- package/internal/DataTids/DataTids.styles.d.ts +7 -0
- package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
- package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
- package/internal/DataTids/componentsDataTids/package.json +6 -0
- package/internal/DataTids/componentsDataTids.d.ts +5 -0
- package/internal/DateSelect/DateSelect/DateSelect.js +6 -2
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +4 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +12 -5
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +4 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +4 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +3 -0
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -0
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/MaskedInput/MaskedInput.d.ts +3 -0
- package/internal/Menu/Menu/Menu.js +4 -0
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +3 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/internal/Popup/Popup/Popup.js +7 -2
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +5 -0
- package/internal/Popup/PopupPin/PopupPin.js +2 -0
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +7 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +4 -0
- package/internal/icons/16px/index/index.js +1 -1
- package/internal/icons/16px/index/index.js.map +1 -1
- package/lib/listenFocusOutside/listenFocusOutside.js +1 -1
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FileUploader.tsx"],"names":["stopPropagation","e","defaultRenderFile","file","fileNode","_FileUploader","React","forwardRef","props","ref","theme","ThemeContext","disabled","error","warning","multiple","width","fileUploaderWidth","hideFiles","onBlur","onFocus","onChange","request","validateBeforeUpload","onRequestSuccess","onRequestError","renderFile","inputProps","FileUploaderControlContext","files","setFiles","removeFile","reset","setFileValidationResult","locale","inputRef","isAsync","isSingleMode","upload","tryValidateAndUpload","forEach","validationMessage","id","FileUploaderFileValidationResult","handleChange","newFiles","filesArray","Array","from","attachedFiles","map","getAttachedFile","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","isBrowser","current","window","document","focus","keyListener","isTabPressed","blur","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","hovered","setHovered","uploadButtonClassNames","jsStyles","uploadButton","uploadButtonFocus","dragOver","uploadButtonWrapperClassNames","windowDragOver","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","linkClassNames","link","linkHovered","linkDisabled","root","content","choosedFile","chooseFile","afterLinkText","singleFile","orDragHere","fileInput","FileUploader","memo","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { UploadIcon } from '../../internal/icons/16px';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { isBrowser } from '../../lib/client';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\n\nimport { jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\ninterface _FileUploaderProps extends CommonProps, React.InputHTMLAttributes<HTMLInputElement> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n /** Свойство, скрывающее отображение файлов. */\n hideFiles?: boolean;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /**\n * Функция валидации каждого файла.\n * Срабатывает после выбора файлов и перед попыткой отправить в request.\n * Чтобы вывести валидацию ошибки, промис должен вернуть строку.\n * */\n validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n\n /**\n * Функция, позволяющая кастомизировать файлы.\n * Через нее можно вешать кастомные валидации на каждый файл.\n * */\n renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n}\n\nexport interface FileUploaderRef {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nconst defaultRenderFile = (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => fileNode;\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n\n const {\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n hideFiles = false,\n onBlur,\n onFocus,\n onChange,\n request,\n validateBeforeUpload,\n onRequestSuccess,\n onRequestError,\n renderFile = defaultRenderFile,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, reset, setFileValidationResult } = useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = validateBeforeUpload && (await validateBeforeUpload(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [upload, validateBeforeUpload, isAsync],\n );\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles) {\n return;\n }\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n const { files } = dataTransfer;\n\n if (files?.length > 0) {\n handleChange(files);\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser) {\n windowRef.current = window.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset }), [ref]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const [hovered, setHovered] = useState(false);\n\n const uploadButtonClassNames = cx(jsStyles.uploadButton(theme), {\n [jsStyles.uploadButtonFocus(theme)]: focusedByTab,\n [jsStyles.disabled(theme)]: disabled,\n [jsStyles.hovered(theme)]: !disabled && hovered,\n [jsStyles.warning(theme)]: !!warning,\n [jsStyles.error(theme)]: !!error,\n [jsStyles.dragOver(theme)]: isDraggable && !disabled,\n });\n\n const uploadButtonWrapperClassNames = cx({\n [jsStyles.windowDragOver(theme)]: isWindowDraggable && !disabled,\n });\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), {\n [jsStyles.iconDisabled(theme)]: disabled,\n });\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;\n\n const linkClassNames = cx(jsStyles.link(theme), {\n [jsStyles.linkHovered(theme)]: !disabled && hovered,\n [jsStyles.linkDisabled(theme)]: disabled,\n });\n\n return (\n <CommonWrapper {...props}>\n <div className={jsStyles.root(theme)} style={useMemoObject({ width })}>\n {!hideFiles && !isSingleMode && !!files.length && <FileUploaderFileList renderFile={renderFile} />}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div data-tid={'FileUploader__content'} className={jsStyles.content()}>\n <span data-tid={'FileUploader__link'} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n \n <div className={jsStyles.afterLinkText()}>\n {hasOneFileForSingle ? (\n <div className={jsStyles.singleFile()}>\n {renderFile(files[0], <FileUploaderFile file={files[0]} />)}\n </div>\n ) : (\n <>\n {locale.orDragHere} \n <div className={uploadButtonIconClassNames}>\n <UploadIcon />\n </div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.fileInput()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд\n value={''}\n />\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"]}
|
|
1
|
+
{"version":3,"sources":["FileUploader.tsx"],"names":["stopPropagation","e","FileUploaderDataTids","root","content","link","defaultRenderFile","file","fileNode","_FileUploader","React","forwardRef","props","ref","theme","ThemeContext","disabled","error","warning","multiple","width","fileUploaderWidth","hideFiles","onBlur","onFocus","onChange","request","validateBeforeUpload","onRequestSuccess","onRequestError","renderFile","inputProps","FileUploaderControlContext","files","setFiles","removeFile","reset","setFileValidationResult","locale","inputRef","isAsync","isSingleMode","upload","tryValidateAndUpload","forEach","validationMessage","id","FileUploaderFileValidationResult","handleChange","newFiles","filesArray","Array","from","attachedFiles","map","getAttachedFile","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","isBrowser","current","window","document","focus","keyListener","isTabPressed","blur","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","hovered","setHovered","uploadButtonClassNames","jsStyles","uploadButton","uploadButtonFocus","dragOver","uploadButtonWrapperClassNames","windowDragOver","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","linkClassNames","linkHovered","linkDisabled","choosedFile","chooseFile","afterLinkText","singleFile","orDragHere","fileInput","FileUploader","memo","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { UploadIcon } from '../../internal/icons/16px';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { isBrowser } from '../../lib/client';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\n\nimport { jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\ninterface _FileUploaderProps extends CommonProps, React.InputHTMLAttributes<HTMLInputElement> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n /** Свойство, скрывающее отображение файлов. */\n hideFiles?: boolean;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /**\n * Функция валидации каждого файла.\n * Срабатывает после выбора файлов и перед попыткой отправить в request.\n * Чтобы вывести валидацию ошибки, промис должен вернуть строку.\n * */\n validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n\n /**\n * Функция, позволяющая кастомизировать файлы.\n * Через нее можно вешать кастомные валидации на каждый файл.\n * */\n renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n}\n\nexport interface FileUploaderRef {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nexport const FileUploaderDataTids = {\n root: 'FileUploader__root',\n content: 'FileUploader__content',\n link: 'FileUploader__link',\n} as const;\n\nconst defaultRenderFile = (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => fileNode;\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n\n const {\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n hideFiles = false,\n onBlur,\n onFocus,\n onChange,\n request,\n validateBeforeUpload,\n onRequestSuccess,\n onRequestError,\n renderFile = defaultRenderFile,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, reset, setFileValidationResult } = useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = validateBeforeUpload && (await validateBeforeUpload(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [upload, validateBeforeUpload, isAsync],\n );\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles) {\n return;\n }\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n const { files } = dataTransfer;\n\n if (files?.length > 0) {\n handleChange(files);\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser) {\n windowRef.current = window.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset }), [ref]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const [hovered, setHovered] = useState(false);\n\n const uploadButtonClassNames = cx(jsStyles.uploadButton(theme), {\n [jsStyles.uploadButtonFocus(theme)]: focusedByTab,\n [jsStyles.disabled(theme)]: disabled,\n [jsStyles.hovered(theme)]: !disabled && hovered,\n [jsStyles.warning(theme)]: !!warning,\n [jsStyles.error(theme)]: !!error,\n [jsStyles.dragOver(theme)]: isDraggable && !disabled,\n });\n\n const uploadButtonWrapperClassNames = cx({\n [jsStyles.windowDragOver(theme)]: isWindowDraggable && !disabled,\n });\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), {\n [jsStyles.iconDisabled(theme)]: disabled,\n });\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;\n\n const linkClassNames = cx(jsStyles.link(theme), {\n [jsStyles.linkHovered(theme)]: !disabled && hovered,\n [jsStyles.linkDisabled(theme)]: disabled,\n });\n\n return (\n <CommonWrapper {...props}>\n <div data-tid={FileUploaderDataTids.root} className={jsStyles.root(theme)} style={useMemoObject({ width })}>\n {!hideFiles && !isSingleMode && !!files.length && <FileUploaderFileList renderFile={renderFile} />}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div data-tid={FileUploaderDataTids.content} className={jsStyles.content()}>\n <span data-tid={FileUploaderDataTids.link} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n \n <div className={jsStyles.afterLinkText()}>\n {hasOneFileForSingle ? (\n <div className={jsStyles.singleFile()}>\n {renderFile(files[0], <FileUploaderFile file={files[0]} />)}\n </div>\n ) : (\n <>\n {locale.orDragHere} \n <div className={uploadButtonIconClassNames}>\n <UploadIcon />\n </div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.fileInput()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд\n value={''}\n />\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"]}
|
|
@@ -21,6 +21,9 @@ export interface FxInputProps extends CommonProps, Override<CurrencyInputProps,
|
|
|
21
21
|
hideTrailingZeros?: boolean;
|
|
22
22
|
}> {
|
|
23
23
|
}
|
|
24
|
+
export declare const FxInputDataTids: {
|
|
25
|
+
readonly root: "FxInput__root";
|
|
26
|
+
};
|
|
24
27
|
/** Принимает все свойства `Input`'a */
|
|
25
28
|
export declare class FxInput extends React.Component<FxInputProps> {
|
|
26
29
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.FxInput = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.FxInputDataTids = exports.FxInput = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
2
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
3
|
|
|
4
4
|
var _Button = require("../Button");
|
|
@@ -33,7 +33,11 @@ var _rootNode = require("../../lib/rootNode");var _excluded = ["type", "onRestor
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
var FxInputDataTids = {
|
|
37
|
+
root: 'FxInput__root' };
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/** Принимает все свойства `Input`'a */exports.FxInputDataTids = FxInputDataTids;var
|
|
37
41
|
|
|
38
42
|
FxInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(FxInput, _React$Component);function FxInput() {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.
|
|
39
43
|
|
|
@@ -87,7 +91,7 @@ FxInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
|
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
return /*#__PURE__*/(
|
|
90
|
-
_react.default.createElement(_Group.Group, { width: _this.props.width },
|
|
94
|
+
_react.default.createElement(_Group.Group, { "data-tid": FxInputDataTids.root, width: _this.props.width },
|
|
91
95
|
button,
|
|
92
96
|
_this.getProps().type === 'currency' ? /*#__PURE__*/
|
|
93
97
|
_react.default.createElement(_CurrencyInput.CurrencyInput, (0, _extends2.default)({},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FxInput.tsx"],"names":["FxInput","rootNode","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","rest","inputProps","align","button","leftIcon","size","borderless","disabled","width","value","onValueChange","focus","blur","element","render","setRootNode","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["FxInput.tsx"],"names":["FxInputDataTids","root","FxInput","rootNode","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","rest","inputProps","align","button","leftIcon","size","borderless","disabled","width","value","onValueChange","focus","blur","element","render","setRootNode","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '../Button';\nimport { Group } from '../Group';\nimport { Input, InputProps, InputType } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { FunctionIcon, UndoIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface FxInputProps\n extends CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Авто-режим */\n auto?: boolean;\n /** Тип инпута */\n type?: 'currency' | InputProps['type'];\n /** onRestore */\n onRestore?: () => void;\n /** onValueChange */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n /** Значение */\n value?: React.ReactText;\n /** ref Input'а */\n refInput?: (element: CurrencyInput | Input | null) => void;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\n/** Принимает все свойства `Input`'a */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<FxInputProps>) => {\n const { type, onRestore, auto, refInput, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n\n if (auto) {\n inputProps.leftIcon = <FunctionIcon />;\n } else {\n button = (\n <Button\n size={this.props.size}\n narrow\n onClick={this.props.onRestore}\n borderless={this.props.borderless}\n disabled={this.props.disabled}\n >\n <UndoIcon />\n </Button>\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={this.props.width}>\n {button}\n {this.getProps().type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n value={this.props.value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n type={this.props.type as InputType}\n value={this.props.value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"]}
|
|
@@ -24,6 +24,10 @@ export interface GappedProps extends CommonProps {
|
|
|
24
24
|
wrap: boolean;
|
|
25
25
|
children: React.ReactNode;
|
|
26
26
|
}
|
|
27
|
+
export declare const GappedDataTids: {
|
|
28
|
+
readonly vertical: "Gapped__vertical";
|
|
29
|
+
readonly horizontal: "Gapped__horizontal";
|
|
30
|
+
};
|
|
27
31
|
/**
|
|
28
32
|
* Контейнер, расстояние между элементами в котором равно `gap`.
|
|
29
33
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Gapped = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.GappedDataTids = exports.Gapped = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
2
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
3
|
|
|
4
4
|
var _utils = require("../../lib/utils");
|
|
@@ -27,11 +27,16 @@ var _rootNode = require("../../lib/rootNode");var _class, _class2, _temp;
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
var GappedDataTids = {
|
|
33
|
+
vertical: 'Gapped__vertical',
|
|
34
|
+
horizontal: 'Gapped__horizontal' };
|
|
30
35
|
|
|
31
36
|
|
|
32
37
|
/**
|
|
33
38
|
* Контейнер, расстояние между элементами в котором равно `gap`.
|
|
34
|
-
*/var
|
|
39
|
+
*/exports.GappedDataTids = GappedDataTids;var
|
|
35
40
|
|
|
36
41
|
Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Gapped, _React$Component);function Gapped() {return _React$Component.apply(this, arguments) || this;}var _proto = Gapped.prototype;_proto.
|
|
37
42
|
|
|
@@ -94,7 +99,7 @@ Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
|
|
|
94
99
|
|
|
95
100
|
});
|
|
96
101
|
|
|
97
|
-
return /*#__PURE__*/_react.default.createElement("div",
|
|
102
|
+
return /*#__PURE__*/_react.default.createElement("div", { "data-tid": GappedDataTids.vertical }, children);
|
|
98
103
|
};_proto.
|
|
99
104
|
|
|
100
105
|
renderHorizontal = function renderHorizontal() {
|
|
@@ -109,7 +114,7 @@ Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
|
|
|
109
114
|
var contStyle = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };
|
|
110
115
|
|
|
111
116
|
return /*#__PURE__*/(
|
|
112
|
-
_react.default.createElement("div", { style: rootStyle }, /*#__PURE__*/
|
|
117
|
+
_react.default.createElement("div", { "data-tid": GappedDataTids.horizontal, style: rootStyle }, /*#__PURE__*/
|
|
113
118
|
_react.default.createElement("div", { style: contStyle },
|
|
114
119
|
_react.default.Children.toArray(children).
|
|
115
120
|
filter(this.filterChildren).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Gapped.tsx"],"names":["Gapped","rootNode","render","setRootNode","props","
|
|
1
|
+
{"version":3,"sources":["Gapped.tsx"],"names":["GappedDataTids","vertical","horizontal","Gapped","rootNode","render","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","React","Children","toArray","filter","filterChildren","map","child","index","style","undefined","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","number","bool","oneOf","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface GappedProps extends CommonProps {\n /**\n * Расстояние между элементами в пикселях\n * @default 8\n */\n gap?: number;\n /**\n * Вертикальное выравнивание\n * @default \"baseline\"\n */\n verticalAlign: 'top' | 'middle' | 'baseline' | 'bottom';\n /**\n * Расположение элементов по вертикали\n * @default false\n */\n vertical: boolean;\n /**\n * Перенос элементов на новую строку при горизонтальном расположении\n * @default false\n */\n wrap: boolean;\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\n/**\n * Контейнер, расстояние между элементами в котором равно `gap`.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n\n public static propTypes = {\n /**\n * Расстояние между элементами.\n */\n gap: PropTypes.number,\n\n /**\n * Располагать элементы вертикально.\n */\n vertical: PropTypes.bool,\n\n /**\n * Вертикальное выравнивание элементов.\n */\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'baseline', 'bottom']),\n };\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.props.vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign, wrap } = this.props;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
|
|
@@ -62,6 +62,9 @@ interface DefaultProps {
|
|
|
62
62
|
disableAnimations: boolean;
|
|
63
63
|
}
|
|
64
64
|
export declare type GlobalLoaderComponentProps = GlobalLoaderProps & DefaultProps;
|
|
65
|
+
export declare const GlobalLoaderDataTids: {
|
|
66
|
+
readonly root: "GlobalLoader";
|
|
67
|
+
};
|
|
65
68
|
export declare class GlobalLoader extends React.Component<GlobalLoaderComponentProps, GlobalLoaderState> {
|
|
66
69
|
private successAnimationInProgressTimeout;
|
|
67
70
|
private setRootNode;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.GlobalLoader = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.GlobalLoaderDataTids = exports.GlobalLoader = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
2
|
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
3
3
|
|
|
4
4
|
|
|
@@ -70,6 +70,10 @@ var _GlobalLoaderView = require("./GlobalLoaderView");var _class, _class2, _temp
|
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
var GlobalLoaderDataTids = {
|
|
76
|
+
root: 'GlobalLoader' };exports.GlobalLoaderDataTids = GlobalLoaderDataTids;
|
|
73
77
|
|
|
74
78
|
|
|
75
79
|
var currentGlobalLoader;var
|
|
@@ -259,7 +263,7 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
|
|
|
259
263
|
_this.setState({
|
|
260
264
|
dead: true });
|
|
261
265
|
|
|
262
|
-
};_this.state = { started: false, visible: false, done: false, rejected: false, accept: false, dead: false, successAnimationInProgress: false, expectedResponseTime: _this.props.expectedResponseTime };_this.successAnimationInProgressTimeout = null;(_currentGlobalLoader = currentGlobalLoader) == null ? void 0 : _currentGlobalLoader.kill();currentGlobalLoader = (0, _assertThisInitialized2.default)(_this);return _this;}var _proto = GlobalLoader.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.active) {this.setActive();}if (this.props.rejected) {this.setReject(true);}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.expectedResponseTime !== prevProps.expectedResponseTime) {this.setState({ expectedResponseTime: this.props.expectedResponseTime });}if (this.props.rejected !== prevProps.rejected) {this.setReject(!!this.props.rejected);}if (this.props.active !== prevProps.active) {if (this.props.active) {this.setActive();} else {this.setDone();}}};_proto.componentWillUnmount = function componentWillUnmount() {this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);};_proto.render = function render() {var status = 'standard';if (this.state.done) {status = 'success';} else if (this.state.rejected) {status = 'error';} else if (this.state.accept) {status = 'accept';}return !this.state.dead && this.state.visible && /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_GlobalLoaderView.GlobalLoaderView, { expectedResponseTime: this.state.expectedResponseTime, delayBeforeHide: this.props.delayBeforeHide, status: status, "data-tid":
|
|
266
|
+
};_this.state = { started: false, visible: false, done: false, rejected: false, accept: false, dead: false, successAnimationInProgress: false, expectedResponseTime: _this.props.expectedResponseTime };_this.successAnimationInProgressTimeout = null;(_currentGlobalLoader = currentGlobalLoader) == null ? void 0 : _currentGlobalLoader.kill();currentGlobalLoader = (0, _assertThisInitialized2.default)(_this);return _this;}var _proto = GlobalLoader.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.active) {this.setActive();}if (this.props.rejected) {this.setReject(true);}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.expectedResponseTime !== prevProps.expectedResponseTime) {this.setState({ expectedResponseTime: this.props.expectedResponseTime });}if (this.props.rejected !== prevProps.rejected) {this.setReject(!!this.props.rejected);}if (this.props.active !== prevProps.active) {if (this.props.active) {this.setActive();} else {this.setDone();}}};_proto.componentWillUnmount = function componentWillUnmount() {this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);};_proto.render = function render() {var status = 'standard';if (this.state.done) {status = 'success';} else if (this.state.rejected) {status = 'error';} else if (this.state.accept) {status = 'accept';}return !this.state.dead && this.state.visible && /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_GlobalLoaderView.GlobalLoaderView, { expectedResponseTime: this.state.expectedResponseTime, delayBeforeHide: this.props.delayBeforeHide, status: status, "data-tid": GlobalLoaderDataTids.root, disableAnimations: this.props.disableAnimations }));} /**
|
|
263
267
|
* Запускает анимацию лоадера <br />
|
|
264
268
|
* Равносильно установке пропа `active = true`
|
|
265
269
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["GlobalLoader.tsx"],"names":["currentGlobalLoader","GlobalLoader","rootNode","props","startTask","setState","visible","onStart","delayBeforeShow","stopTask","successAnimationInProgress","started","onDone","delayBeforeHide","setActive","cancel","state","successAnimationInProgressTimeout","setTimeout","done","rejected","accept","setReject","setDone","reject","active","onReject","onAccept","kill","dead","expectedResponseTime","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","clearTimeout","render","status","setRootNode","disableAnimations","updateExpectedResponseTime","React","Component","defaultProps","isTestEnv","start"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { GlobalLoaderView, GlobalLoaderViewProps } from './GlobalLoaderView';\n\nexport interface GlobalLoaderProps extends Partial<DefaultProps> {\n /**\n * Время(ms) до появления лоадера\n */\n delayBeforeShow?: number;\n /**\n * Время(ms) до исчезновения лоадера\n */\n delayBeforeHide?: number;\n /**\n * Ожидаемое время(ms) ответа сервера\n */\n expectedResponseTime: number;\n /**\n * Анимация лоадера в виде спиннера\n */\n rejected?: boolean;\n /**\n * Показывать лоадер\n */\n active?: boolean;\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n /**\n * Коллбек, вызывающийся после появления лоадера\n */\n onStart?(): void;\n /**\n * Коллбек, вызывающийся после исчезновения лоадера\n */\n onDone?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.reject()`.\n * Или после установки пропа `rejected = true`\n */\n onReject?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.accept()`.\n * Или после установки пропа `rejected = false`\n */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\ninterface DefaultProps {\n expectedResponseTime: number;\n delayBeforeShow: number;\n delayBeforeHide: number;\n rejected: boolean;\n active: boolean;\n disableAnimations: boolean;\n}\nexport type GlobalLoaderComponentProps = GlobalLoaderProps & DefaultProps;\n\nlet currentGlobalLoader: GlobalLoader;\n\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderComponentProps, GlobalLoaderState> {\n private successAnimationInProgressTimeout: Nullable<NodeJS.Timeout>;\n private setRootNode!: TSetRootNode;\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.props.delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.props.delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderComponentProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.props.expectedResponseTime,\n };\n this.successAnimationInProgressTimeout = null;\n currentGlobalLoader?.kill();\n currentGlobalLoader = this;\n }\n componentDidMount() {\n if (this.props.active) {\n this.setActive();\n }\n if (this.props.rejected) {\n this.setReject(true);\n }\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n if (this.props.expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime: this.props.expectedResponseTime });\n }\n if (this.props.rejected !== prevProps.rejected) {\n this.setReject(!!this.props.rejected);\n }\n if (this.props.active !== prevProps.active) {\n if (this.props.active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n componentWillUnmount() {\n this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);\n }\n\n public render() {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={this.props.delayBeforeHide}\n status={status}\n data-tid=\"GlobalLoader\"\n disableAnimations={this.props.disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера <br />\n * Равносильно установке пропа `active = true`\n *\n * @public\n */\n public static start = (expectedResponseTime?: number) => {\n currentGlobalLoader.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки <br />\n * Равносильно установке пропа `active = false`\n *\n * @public\n */\n public static done = () => {\n currentGlobalLoader.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние спиннера <br />\n * Равносильно установке пропа `rejected = true`\n *\n * @public\n */\n public static reject = () => {\n currentGlobalLoader.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния спиннера в обычное и продолжает анимацию с того места, на котором она была прерван <br />\n * Равносильно установке пропа `rejected = false`\n *\n * @public\n */\n public static accept = () => {\n currentGlobalLoader.setReject(false);\n };\n\n public setActive = () => {\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.successAnimationInProgressTimeout = setTimeout(() => {\n this.setActive();\n }, this.props.delayBeforeHide);\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (this.props.rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = () => {\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean) => {\n if (!this.state.visible && (this.state.started || this.props.active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number) {\n this.setState({ expectedResponseTime });\n }\n\n public kill = () => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["GlobalLoader.tsx"],"names":["GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","rootNode","props","startTask","setState","visible","onStart","delayBeforeShow","stopTask","successAnimationInProgress","started","onDone","delayBeforeHide","setActive","cancel","state","successAnimationInProgressTimeout","setTimeout","done","rejected","accept","setReject","setDone","reject","active","onReject","onAccept","kill","dead","expectedResponseTime","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","clearTimeout","render","status","setRootNode","disableAnimations","updateExpectedResponseTime","React","Component","defaultProps","isTestEnv","start"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { GlobalLoaderView, GlobalLoaderViewProps } from './GlobalLoaderView';\n\nexport interface GlobalLoaderProps extends Partial<DefaultProps> {\n /**\n * Время(ms) до появления лоадера\n */\n delayBeforeShow?: number;\n /**\n * Время(ms) до исчезновения лоадера\n */\n delayBeforeHide?: number;\n /**\n * Ожидаемое время(ms) ответа сервера\n */\n expectedResponseTime: number;\n /**\n * Анимация лоадера в виде спиннера\n */\n rejected?: boolean;\n /**\n * Показывать лоадер\n */\n active?: boolean;\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n /**\n * Коллбек, вызывающийся после появления лоадера\n */\n onStart?(): void;\n /**\n * Коллбек, вызывающийся после исчезновения лоадера\n */\n onDone?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.reject()`.\n * Или после установки пропа `rejected = true`\n */\n onReject?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.accept()`.\n * Или после установки пропа `rejected = false`\n */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\ninterface DefaultProps {\n expectedResponseTime: number;\n delayBeforeShow: number;\n delayBeforeHide: number;\n rejected: boolean;\n active: boolean;\n disableAnimations: boolean;\n}\nexport type GlobalLoaderComponentProps = GlobalLoaderProps & DefaultProps;\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\nlet currentGlobalLoader: GlobalLoader;\n\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderComponentProps, GlobalLoaderState> {\n private successAnimationInProgressTimeout: Nullable<NodeJS.Timeout>;\n private setRootNode!: TSetRootNode;\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.props.delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.props.delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderComponentProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.props.expectedResponseTime,\n };\n this.successAnimationInProgressTimeout = null;\n currentGlobalLoader?.kill();\n currentGlobalLoader = this;\n }\n componentDidMount() {\n if (this.props.active) {\n this.setActive();\n }\n if (this.props.rejected) {\n this.setReject(true);\n }\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n if (this.props.expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime: this.props.expectedResponseTime });\n }\n if (this.props.rejected !== prevProps.rejected) {\n this.setReject(!!this.props.rejected);\n }\n if (this.props.active !== prevProps.active) {\n if (this.props.active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n componentWillUnmount() {\n this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);\n }\n\n public render() {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={this.props.delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={this.props.disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера <br />\n * Равносильно установке пропа `active = true`\n *\n * @public\n */\n public static start = (expectedResponseTime?: number) => {\n currentGlobalLoader.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки <br />\n * Равносильно установке пропа `active = false`\n *\n * @public\n */\n public static done = () => {\n currentGlobalLoader.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние спиннера <br />\n * Равносильно установке пропа `rejected = true`\n *\n * @public\n */\n public static reject = () => {\n currentGlobalLoader.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния спиннера в обычное и продолжает анимацию с того места, на котором она была прерван <br />\n * Равносильно установке пропа `rejected = false`\n *\n * @public\n */\n public static accept = () => {\n currentGlobalLoader.setReject(false);\n };\n\n public setActive = () => {\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.successAnimationInProgressTimeout = setTimeout(() => {\n this.setActive();\n }, this.props.delayBeforeHide);\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (this.props.rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = () => {\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean) => {\n if (!this.state.visible && (this.state.started || this.props.active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number) {\n this.setState({ expectedResponseTime });\n }\n\n public kill = () => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"]}
|
|
@@ -4,6 +4,9 @@ import { CommonProps } from '../../internal/CommonWrapper';
|
|
|
4
4
|
export interface GroupProps extends CommonProps {
|
|
5
5
|
width?: React.CSSProperties['width'];
|
|
6
6
|
}
|
|
7
|
+
export declare const GroupDataTids: {
|
|
8
|
+
readonly root: "Group__root";
|
|
9
|
+
};
|
|
7
10
|
export declare class Group extends React.Component<GroupProps> {
|
|
8
11
|
static __KONTUR_REACT_UI__: string;
|
|
9
12
|
private setRootNode;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Group = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.GroupDataTids = exports.Group = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
|
|
2
2
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
3
|
|
|
4
4
|
var _client = require("../../lib/client");
|
|
@@ -72,7 +72,11 @@ var passCornersIfButton = function passCornersIfButton(child, firstChild, lastCh
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
return child;
|
|
75
|
-
};
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var GroupDataTids = {
|
|
78
|
+
root: 'Group__root' };exports.GroupDataTids = GroupDataTids;var
|
|
79
|
+
|
|
76
80
|
|
|
77
81
|
|
|
78
82
|
Group = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Group, _React$Component);function Group() {return _React$Component.apply(this, arguments) || this;}var _proto = Group.prototype;_proto.
|
|
@@ -94,7 +98,7 @@ Group = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
|
|
|
94
98
|
|
|
95
99
|
return /*#__PURE__*/(
|
|
96
100
|
_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/
|
|
97
|
-
_react.default.createElement("span", { className: _Group.styles.root(), style: style },
|
|
101
|
+
_react.default.createElement("span", { "data-tid": GroupDataTids.root, className: _Group.styles.root(), style: style },
|
|
98
102
|
_react.default.Children.map(childrenArray, function (child) {var _cx, _cx2;
|
|
99
103
|
if (!child || ! /*#__PURE__*/_react.default.isValidElement(child)) {
|
|
100
104
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Group.tsx"],"names":["getFirstChild","children","Array","isArray","getLastChild","numberOfChildren","React","Children","count","getButtonCorners","child","firstChild","lastChild","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","passCornersIfButton","corners","cloneElement","Group","rootNode","render","style","width","props","childrenArray","toArray","setRootNode","styles","
|
|
1
|
+
{"version":3,"sources":["Group.tsx"],"names":["getFirstChild","children","Array","isArray","getLastChild","numberOfChildren","React","Children","count","getButtonCorners","child","firstChild","lastChild","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","borderRadius","passCornersIfButton","corners","cloneElement","GroupDataTids","root","Group","rootNode","render","style","width","props","childrenArray","toArray","setRootNode","styles","map","isValidElement","isWidthInPercent","Boolean","toString","includes","modifiedChild","isFirstChild","fixed","stretch","stretchFallback","isIE11","isEdge","item","itemFirst","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","number","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport { isButton } from '../Button';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Group.styles';\n\nexport interface GroupProps extends CommonProps {\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\nconst getFirstChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children?.[0] as React.ReactNode;\n};\n\nconst getLastChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n const numberOfChildren = React.Children.count(children);\n\n return children?.[numberOfChildren - 1] as React.ReactNode;\n};\n\nconst getButtonCorners = (\n child: React.ReactNode,\n firstChild: React.ReactNode,\n lastChild: React.ReactNode,\n): React.CSSProperties => {\n if (firstChild === lastChild) {\n return {};\n }\n\n if (child === firstChild) {\n return {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n };\n }\n\n if (child === lastChild) {\n return {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n };\n }\n\n return {\n borderRadius: 0,\n };\n};\n\nconst passCornersIfButton = (child: React.ReactNode, firstChild: React.ReactNode, lastChild: React.ReactNode) => {\n if (isButton(child)) {\n const corners = getButtonCorners(child, firstChild, lastChild);\n\n return React.cloneElement(child, { corners });\n }\n\n return child;\n};\n\nexport const GroupDataTids = {\n root: 'Group__root',\n} as const;\n\n@rootNode\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n private setRootNode!: TSetRootNode;\n\n public static propTypes = {\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n };\n\n public render() {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n const childrenArray = React.Children.toArray(this.props.children);\n const firstChild = getFirstChild(childrenArray);\n const lastChild = getLastChild(childrenArray);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span data-tid={GroupDataTids.root} className={styles.root()} style={style}>\n {React.Children.map(childrenArray, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isWidthInPercent = Boolean(child.props.width && child.props.width.toString().includes('%'));\n\n const modifiedChild = passCornersIfButton(child, firstChild, lastChild);\n\n const isFirstChild = child === firstChild;\n\n return (\n <div\n className={cx({\n [styles.fixed()]: !isWidthInPercent,\n [styles.stretch()]: isWidthInPercent,\n [styles.stretchFallback()]: Boolean(isWidthInPercent && this.props.width && (isIE11 || isEdge)),\n })}\n >\n <div\n className={cx({\n [styles.item()]: true,\n [styles.itemFirst()]: isFirstChild,\n })}\n >\n {modifiedChild}\n </div>\n </div>\n );\n })}\n </span>\n </CommonWrapper>\n );\n }\n}\n"]}
|
|
@@ -85,6 +85,9 @@ export interface InputState {
|
|
|
85
85
|
focused: boolean;
|
|
86
86
|
needsPolyfillPlaceholder: boolean;
|
|
87
87
|
}
|
|
88
|
+
export declare const InputDataTids: {
|
|
89
|
+
readonly root: "Input__root";
|
|
90
|
+
};
|
|
88
91
|
/**
|
|
89
92
|
* Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.
|
|
90
93
|
* Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Input = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _invariant = _interopRequireDefault(require("invariant"));
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.InputDataTids = exports.Input = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _invariant = _interopRequireDefault(require("invariant"));
|
|
2
2
|
var _react = _interopRequireDefault(require("react"));
|
|
3
3
|
var _raf = _interopRequireDefault(require("raf"));
|
|
4
4
|
|
|
@@ -105,12 +105,16 @@ var _Input = require("./Input.styles");var _excluded = ["onMouseEnter", "onMouse
|
|
|
105
105
|
|
|
106
106
|
|
|
107
107
|
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
var InputDataTids = {
|
|
111
|
+
root: 'Input__root' };
|
|
108
112
|
|
|
109
113
|
|
|
110
114
|
/**
|
|
111
115
|
* Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.
|
|
112
116
|
* Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`
|
|
113
|
-
*/var
|
|
117
|
+
*/exports.InputDataTids = InputDataTids;var
|
|
114
118
|
|
|
115
119
|
Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Input, _React$Component);function Input() {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.
|
|
116
120
|
|
|
@@ -328,7 +332,7 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
|
|
|
328
332
|
var input = mask ? _this.renderMaskedInput(inputProps, mask) : /*#__PURE__*/_react.default.createElement('input', inputProps);
|
|
329
333
|
|
|
330
334
|
return /*#__PURE__*/(
|
|
331
|
-
_react.default.createElement("label", labelProps, /*#__PURE__*/
|
|
335
|
+
_react.default.createElement("label", (0, _extends2.default)({ "data-tid": InputDataTids.root }, labelProps), /*#__PURE__*/
|
|
332
336
|
_react.default.createElement("span", { className: _Input.styles.sideContainer() },
|
|
333
337
|
_this.renderLeftIcon(),
|
|
334
338
|
_this.renderPrefix()), /*#__PURE__*/
|