@skbkontur/react-ui 0.0.0-66a28a30fb → 0.0.0-68e286f9fe
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 +98 -0
- package/README.md +1 -1
- package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -22
- package/cjs/components/Autocomplete/Autocomplete.js +2 -40
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +2 -1
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.js +18 -2
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.js +7 -15
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +0 -12
- package/cjs/components/Checkbox/Checkbox.js +1 -14
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +7 -1
- package/cjs/components/ComboBox/ComboBox.js +8 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +2 -2
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -24
- package/cjs/components/CurrencyInput/CurrencyInput.js +2 -29
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -27
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -0
- package/cjs/components/DateInput/DateInput.js +37 -14
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -33
- package/cjs/components/DatePicker/DatePicker.js +5 -60
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
- package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
- package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +0 -47
- package/cjs/components/Dropdown/Dropdown.js +2 -83
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
- package/cjs/components/FileUploader/FileUploader.js +14 -2
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +1 -6
- package/cjs/components/FxInput/FxInput.js +1 -7
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Gapped/Gapped.d.ts +0 -15
- package/cjs/components/Gapped/Gapped.js +1 -25
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Group/Group.d.ts +3 -4
- package/cjs/components/Group/Group.js +90 -40
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +4 -4
- package/cjs/components/Group/Group.styles.d.ts +1 -0
- package/cjs/components/Group/Group.styles.js +12 -6
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Input/Input.md +4 -5
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +0 -1
- package/cjs/components/Kebab/Kebab.js +1 -26
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +32 -32
- package/cjs/components/Link/Link.js +5 -0
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.js +1 -2
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.js +3 -2
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +4 -36
- package/cjs/components/Loader/Loader.js +3 -58
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.d.ts +0 -12
- package/cjs/components/MenuItem/MenuItem.js +1 -22
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +6 -6
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalBody.js +17 -2
- package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +1 -1
- package/cjs/components/Modal/Modal.styles.js +6 -6
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.js +1 -1
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +0 -1
- package/cjs/components/Paging/Paging.js +2 -28
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +0 -7
- package/cjs/components/PasswordInput/PasswordInput.js +1 -11
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.js +18 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
- package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +0 -9
- package/cjs/components/ScrollContainer/ScrollContainer.js +1 -11
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +3 -0
- package/cjs/components/Select/Select.js +4 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +3 -3
- package/cjs/components/SidePage/SidePage.js +1 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.js +4 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/Spinner/Spinner.d.ts +0 -18
- package/cjs/components/Spinner/Spinner.js +1 -32
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +3 -13
- package/cjs/components/Sticky/Sticky.js +12 -19
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +4 -21
- package/cjs/components/Switcher/Switcher.js +11 -21
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +17 -9
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +6 -45
- package/cjs/components/Textarea/Textarea.js +16 -58
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.js +2 -1
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +2 -13
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/Toast.d.ts +8 -6
- package/cjs/components/Toast/Toast.js +18 -4
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.d.ts +3 -2
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +1 -15
- package/cjs/components/Toast/ToastView.js +3 -23
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +0 -10
- package/cjs/components/Toggle/Toggle.js +1 -12
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.md +0 -83
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
- package/cjs/components/TokenInput/TokenInput.js +2 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +2 -33
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +2 -3
- package/cjs/components/Tooltip/Tooltip.js +7 -9
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +8 -8
- package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
- package/cjs/internal/ComponentTable.js +2 -3
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js +37 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
- package/cjs/internal/DateSelect/DateSelect.js +12 -18
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +233 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
- package/cjs/internal/Popup/Popup.d.ts +41 -60
- package/cjs/internal/Popup/Popup.js +27 -78
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.d.ts +23 -33
- package/cjs/internal/Popup/PopupPin.js +2 -35
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.d.ts +0 -3
- package/cjs/internal/RenderLayer/RenderLayer.js +2 -12
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +16 -16
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
- package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +1 -3
- package/cjs/internal/ZIndex/ZIndex.js +5 -2
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +4 -0
- package/cjs/internal/themes/BasicTheme.js +6 -2
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js +1 -1
- package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_3.js +13 -0
- package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_3.js +13 -0
- package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +8 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +1 -1
- package/cjs/lib/forwardRefAndName.js +0 -1
- package/cjs/lib/forwardRefAndName.js.map +1 -1
- package/cjs/lib/getMenuPositions.d.ts +21 -1
- package/cjs/lib/getMenuPositions.js +45 -8
- package/cjs/lib/getMenuPositions.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/DarkTheme.js +4 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/LightTheme.js +4 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/utils.d.ts +4 -0
- package/cjs/lib/utils.js +5 -1
- package/cjs/lib/utils.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -23
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +0 -22
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Calendar/DayCellView/DayCellView.js +6 -10
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +0 -11
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +0 -12
- package/components/ComboBox/ComboBox/ComboBox.js +2 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +7 -1
- package/components/ComboBox/ComboBox.md +2 -2
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +9 -36
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +1 -24
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +25 -16
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -0
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +1 -32
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -33
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
- package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
- package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
- package/components/Dropdown/Dropdown/Dropdown.js +1 -47
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +0 -47
- package/components/DropdownMenu/DropdownMenu.md +8 -8
- package/components/FileUploader/FileUploader/FileUploader.js +7 -2
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FxInput/FxInput/FxInput.js +1 -5
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -6
- package/components/Gapped/Gapped/Gapped.js +1 -15
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +0 -15
- package/components/Group/Group/Group.js +64 -28
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +3 -4
- package/components/Group/Group.md +4 -4
- package/components/Group/Group.styles/Group.styles.js +9 -6
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +1 -0
- package/components/Input/Input.md +4 -5
- package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +2 -20
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +0 -1
- package/components/Kebab/Kebab.md +32 -32
- package/components/Link/Link/Link.js +4 -0
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins/Link.mixins.js +1 -1
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.styles/Link.styles.js +1 -1
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Loader/Loader/Loader.js +0 -33
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +4 -36
- package/components/MenuItem/MenuItem/MenuItem.js +1 -12
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +0 -12
- package/components/MenuItem/MenuItem.md +6 -6
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +1 -0
- package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
- package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +3 -3
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Paging/Paging/Paging.js +1 -22
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +0 -7
- package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +1 -0
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
- package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +0 -9
- package/components/Select/Select/Select.js +3 -2
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +3 -0
- package/components/Select/Select.md +3 -3
- package/components/SidePage/SidePage/SidePage.js +1 -1
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +3 -3
- package/components/Spinner/Spinner/Spinner.js +1 -18
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +0 -18
- package/components/Sticky/Sticky/Sticky.js +10 -14
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +3 -13
- package/components/Switcher/Switcher/Switcher.js +19 -16
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +4 -21
- package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Textarea/Textarea/Textarea.js +12 -46
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +6 -45
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/Toast/Toast.js +8 -10
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +8 -6
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +3 -2
- package/components/Toast/ToastView/ToastView.js +3 -17
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +1 -15
- package/components/Toggle/Toggle/Toggle.js +1 -10
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +0 -10
- package/components/Token/Token.md +0 -83
- package/components/TokenInput/TokenInput/TokenInput.js +2 -1
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -2
- package/components/TokenInput/TokenInput.md +2 -33
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +12 -3
- package/components/Tooltip/Tooltip/Tooltip.js +8 -7
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +2 -3
- package/components/Tooltip/Tooltip.md +8 -8
- package/components/TooltipMenu/TooltipMenu.md +12 -12
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/internal/ComponentTable/ComponentTable.js +0 -2
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +59 -27
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +2 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
- package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +0 -10
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +244 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/internal/Popup/Popup/Popup.js +13 -66
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +41 -60
- package/internal/Popup/PopupPin/PopupPin.js +1 -34
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.d.ts +23 -33
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.d.ts +0 -3
- package/internal/ThemePlayground/Playground/Playground.js +13 -13
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
- package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +1 -3
- package/internal/themes/BasicTheme/BasicTheme.js +4 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +4 -0
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
- package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
- package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
- package/internal/themes/DarkTheme5_3/package.json +6 -0
- package/internal/themes/DarkTheme5_3.d.ts +1 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
- package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
- package/internal/themes/LightTheme5_3/package.json +6 -0
- package/internal/themes/LightTheme5_3.d.ts +1 -0
- package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
- package/lib/forwardRefAndName.d.ts +1 -1
- package/lib/getMenuPositions/getMenuPositions.js +33 -4
- package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
- package/lib/getMenuPositions.d.ts +21 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +1 -0
- package/lib/utils/utils.js +2 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +4 -0
- package/package.json +7 -11
- package/cjs/lib/SSRSafe.d.ts +0 -2
- package/cjs/lib/SSRSafe.js +0 -5
- package/cjs/lib/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/SSRSafe.js +0 -4
- package/lib/SSRSafe/SSRSafe.js.map +0 -1
- package/lib/SSRSafe/package.json +0 -6
- package/lib/SSRSafe.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_globalObject","_ThemeFactory","_ThemeContext","_RenderContainer","_CommonWrapper","_currentEnvironment","_rootNode","_Toast2","_ToastView","_ToastStatic","_class","_Toast","ToastDataTids","exports","toastStatic","toastView","action","close","Toast","rootNode","_React$Component","props","_this","call","rootRef","React","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","globalObject","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose2","default","push","ToastStatic","_proto","prototype","componentWillUnmount","render","_this2","createElement","ThemeContext","Consumer","theme","ThemeFactory","create","Provider","value","RenderContainer","TransitionGroup","_renderToast","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","CSSTransition","key","classNames","enter","styles","enterActive","exit","exitActive","timeout","isTestEnv","nodeRef","CommonWrapper","_extends2","rootNodeRef","ToastView","ref","Component","__KONTUR_REACT_UI__","displayName","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<string>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n }\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close() {\n ToastStatic.close();\n }\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {string} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: string, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: string, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_globalObject","_ThemeFactory","_ThemeContext","_RenderContainer","_CommonWrapper","_currentEnvironment","_rootNode","_Toast2","_ToastView","_ToastStatic","_class","_Toast","ToastDataTids","exports","toastStatic","toastView","action","close","Toast","rootNode","_React$Component","props","_this","call","rootRef","React","createRef","safelyCall","onClose","state","notification","setState","setRootRef","element","setRootNode","current","_clearTimer","_timeout","globalObject","clearTimeout","_setTimer","_this$state$showTime","showTime","setTimeout","_refToast","_toast","id","showCloseIcon","_inheritsLoose2","default","_proto","prototype","componentWillUnmount","render","_this2","createElement","ThemeContext","Consumer","theme","ThemeFactory","create","Provider","value","RenderContainer","TransitionGroup","_renderToast","push","onPush","_ref","_this$state","toastProps","onMouseEnter","onMouseLeave","children","CSSTransition","key","classNames","enter","styles","enterActive","exit","exitActive","timeout","isTestEnv","nodeRef","CommonWrapper","_extends2","rootNodeRef","ToastView","ref","Component","__KONTUR_REACT_UI__","displayName","ToastStatic","fn","_len","arguments","length","args","Array","_key","apply"],"sources":["Toast.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport type { SafeTimer } from '@skbkontur/global-object';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { styles } from './Toast.styles';\nimport type { ToastViewProps } from './ToastView';\nimport { ToastView } from './ToastView';\nimport { ToastStatic } from './ToastStatic';\n\nexport interface Action {\n label: string;\n handler: () => void;\n 'aria-label'?: string;\n}\n\nexport interface ToastState {\n notification: Nullable<React.ReactNode>;\n action: Nullable<Action>;\n id: number;\n showTime: Nullable<number>;\n showCloseIcon?: boolean;\n}\n\nexport interface ToastProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает функцию, которая вызывается при возникновении тоста. */\n onPush?: (notification: string, action?: Action) => void;\n\n /** Задает функцию, которая вызывается при закрытии тоста. */\n onClose?: (notification: string, action?: Action) => void;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n}\n\nexport type ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n) => void;\n\nexport type ToastClose = () => void;\n\nexport const ToastDataTids = {\n toastStatic: 'StaticToast',\n toastView: 'ToastView__root',\n action: 'ToastView__action',\n close: 'ToastView__close',\n} as const;\n\n/**\n * `Toast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Доступен статический метод: `Toast.push(notification, action?, showTime?)`.\n * Однако, при его использовании не работает кастомизация, они не поддерживаются в `React@18`, а также могут быть проблемы с перекрытием уведомления другими элементами страницы.\n *\n * Для статических тостов рекомендуется использовать компонент SingleToast - в нём исправлены эти проблемы.\n */\n@rootNode\nexport class Toast extends React.Component<ToastProps, ToastState> {\n public static __KONTUR_REACT_UI__ = 'Toast';\n public static displayName = 'Toast';\n\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n /** @deprecated use `push` method in ref or `SingleToast.push` */\n public static push: ToastPush = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n ToastStatic.push(notification, action, showTime, showCloseIcon);\n };\n\n /** @deprecated use `close` method in ref or `SingleToast.close` */\n public static close: ToastClose = () => {\n ToastStatic.close();\n };\n\n public _toast: Nullable<ToastView>;\n private _timeout: SafeTimer;\n private rootRef = React.createRef<HTMLElement>();\n\n constructor(props: ToastProps) {\n super(props);\n this.state = {\n notification: null,\n action: null,\n id: 0,\n showTime: null,\n showCloseIcon: false,\n };\n }\n\n public componentWillUnmount() {\n this._clearTimer();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <ThemeContext.Provider value={this.theme}>\n <RenderContainer>\n <TransitionGroup>{this._renderToast()}</TransitionGroup>\n </RenderContainer>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Показывает тост с `notification` в качестве сообщения.\n * Тост автоматически скрывается через 3 или 7 секунд,\n * в зависимости от наличия у него кнопки `action`.\n * Время показа можно задать вручную, передав `showTime`.\n *\n * @public\n * @param {React.ReactNode} notification\n * @param {Action} action `action` опциональный параметр формата `{ label: React.ReactNode, handler: function }`\n * добавляет кнопку в виде ссылки при клике на которую вызывается переданный handler\n * @param {number} showTime Время существования Toast в миллисекундах\n * @param {boolean} showCloseIcon Добавляет крестик для закрытия тоста. При указывании action в onPush крестик отображается всегда.\n */\n public push(notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) {\n if (this.state.notification) {\n this.close();\n }\n\n safelyCall(this.props.onPush, notification, action);\n\n this.setState(({ id }) => ({ notification, action, id: id + 1, showTime, showCloseIcon }), this._setTimer);\n }\n\n /**\n * @public\n */\n public close = () => {\n safelyCall(this.props.onClose, this.state.notification, this.state.action);\n this.setState({ notification: null, action: null });\n };\n\n private _renderToast() {\n const { notification, action, id, showCloseIcon } = this.state;\n\n if (!notification) {\n return null;\n }\n\n const toastProps: ToastViewProps = {\n onMouseEnter: this._clearTimer,\n onMouseLeave: this._setTimer,\n onClose: this.close,\n children: notification,\n 'aria-label': this.props['aria-label'],\n action,\n showCloseIcon,\n };\n\n return (\n <CSSTransition\n key={id}\n classNames={{\n enter: styles.enter(),\n enterActive: styles.enterActive(),\n exit: styles.exit(),\n exitActive: styles.exitActive(),\n }}\n timeout={{\n enter: 200,\n exit: 150,\n }}\n enter={!isTestEnv}\n exit={!isTestEnv}\n nodeRef={this.rootRef}\n >\n <CommonWrapper rootNodeRef={this.setRootRef} {...this.props}>\n <ToastView ref={this._refToast} {...toastProps} />\n </CommonWrapper>\n </CSSTransition>\n );\n }\n\n private setRootRef = (element: Nullable<Element>) => {\n this.setRootNode(element);\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n this.rootRef.current = element;\n };\n\n private _clearTimer = () => {\n if (this._timeout) {\n globalObject.clearTimeout(this._timeout);\n this._timeout = null;\n }\n };\n\n private _setTimer = () => {\n this._clearTimer();\n\n let showTime = this.state.action ? 7000 : 3000;\n showTime = this.state.showTime ?? showTime;\n this._timeout = globalObject.setTimeout(this.close, showTime);\n };\n\n private _refToast = (element: ToastView) => {\n this._toast = element;\n };\n}\n\nfunction safelyCall(fn: Nullable<(a?: any) => any>, ...args: any[]) {\n if (fn) {\n fn(...args);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { Nullable } from '../../typings/utility-types';
|
|
2
3
|
import type { Action } from './Toast';
|
|
3
4
|
export declare class ToastStatic {
|
|
4
|
-
static push: (notification:
|
|
5
|
-
static _push: (notification:
|
|
5
|
+
static push: (notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
|
|
6
|
+
static _push: (notification: React.ReactNode, action?: Nullable<Action>, showTime?: number, showCloseIcon?: boolean) => void;
|
|
6
7
|
static close: () => void;
|
|
7
8
|
private static node;
|
|
8
9
|
private static instance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_Toast","_ToastStatic","ToastStatic","exports","push","notification","action","showTime","showCloseIcon","node","globalObject","document","createElement","body","Error","appendChild","ReactDOM","render","default","Toast","ToastDataTids","toastStatic","ref","el","instance","_push","close"],"sources":["ToastStatic.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\n\nimport type { Action } from './Toast';\nimport { Toast, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (\n notification:
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_Toast","_ToastStatic","ToastStatic","exports","push","notification","action","showTime","showCloseIcon","node","globalObject","document","createElement","body","Error","appendChild","ReactDOM","render","default","Toast","ToastDataTids","toastStatic","ref","el","instance","_push","close"],"sources":["ToastStatic.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\n\nimport type { Action } from './Toast';\nimport { Toast, ToastDataTids } from './Toast';\n\nexport class ToastStatic {\n public static push = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n if (!ToastStatic.node && globalObject.document) {\n ToastStatic.node = globalObject.document.createElement('div');\n const { body } = globalObject.document;\n if (!body) {\n throw Error('There is no \"body\" element in \"document\"');\n }\n body.appendChild(ToastStatic.node);\n\n ReactDOM.render(\n <Toast data-tid={ToastDataTids.toastStatic} ref={(el) => (ToastStatic.instance = el)} />,\n ToastStatic.node,\n () => ToastStatic._push(notification, action, showTime, showCloseIcon),\n );\n } else {\n ToastStatic._push(notification, action, showTime, showCloseIcon);\n }\n };\n\n public static _push = (\n notification: React.ReactNode,\n action?: Nullable<Action>,\n showTime?: number,\n showCloseIcon?: boolean,\n ) => {\n if (ToastStatic.instance) {\n ToastStatic.instance.push(notification, action, showTime, showCloseIcon);\n }\n };\n\n public static close = () => {\n if (ToastStatic.instance) {\n ToastStatic.instance.close();\n }\n };\n\n private static node: HTMLDivElement;\n private static instance: Nullable<Toast> = null;\n}\n"],"mappings":"iKAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;;;;AAKA,IAAAG,MAAA,GAAAH,OAAA,YAA+C,IAAAI,YAAA;;AAElCC,WAAW,GAAAC,OAAA,CAAAD,WAAA,YAAAA,YAAA,KAAAD,YAAA,GAAXC,WAAW,CAAXA,WAAW;AACRE,IAAI,GAAG;AACnBC,YAA6B;AAC7BC,MAAyB;AACzBC,QAAiB;AACjBC,aAAuB;AACpB;EACH,IAAI,CAACN,YAAW,CAACO,IAAI,IAAIC,0BAAY,CAACC,QAAQ,EAAE;IAC9CT,YAAW,CAACO,IAAI,GAAGC,0BAAY,CAACC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;IAC7D,IAAQC,IAAI,GAAKH,0BAAY,CAACC,QAAQ,CAA9BE,IAAI;IACZ,IAAI,CAACA,IAAI,EAAE;MACT,MAAMC,KAAK,CAAC,0CAA0C,CAAC;IACzD;IACAD,IAAI,CAACE,WAAW,CAACb,YAAW,CAACO,IAAI,CAAC;;IAElCO,iBAAQ,CAACC,MAAM;MACbtB,MAAA,CAAAuB,OAAA,CAAAN,aAAA,CAACZ,MAAA,CAAAmB,KAAK,IAAC,YAAUC,oBAAa,CAACC,WAAY,EAACC,GAAG,EAAE,SAAAA,IAACC,EAAE,UAAMrB,YAAW,CAACsB,QAAQ,GAAGD,EAAE,EAAE,EAAE,CAAC;MACxFrB,YAAW,CAACO,IAAI;MAChB,oBAAMP,YAAW,CAACuB,KAAK,CAACpB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;IACxE,CAAC;EACH,CAAC,MAAM;IACLN,YAAW,CAACuB,KAAK,CAACpB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;EAClE;AACF,CAAC,CAvBUN,WAAW;;AAyBRuB,KAAK,GAAG;AACpBpB,YAA6B;AAC7BC,MAAyB;AACzBC,QAAiB;AACjBC,aAAuB;AACpB;EACH,IAAIN,YAAW,CAACsB,QAAQ,EAAE;IACxBtB,YAAW,CAACsB,QAAQ,CAACpB,IAAI,CAACC,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,aAAa,CAAC;EAC1E;AACF,CAAC,CAlCUN,WAAW;;AAoCRwB,KAAK,GAAG,YAAM;EAC1B,IAAIxB,YAAW,CAACsB,QAAQ,EAAE;IACxBtB,YAAW,CAACsB,QAAQ,CAACE,KAAK,CAAC,CAAC;EAC9B;AACF,CAAC,CAxCUxB,WAAW;;;AA2CPsB,QAAQ,GAAoB,IAAI","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import type { CommonProps } from '../../internal/CommonWrapper';
|
|
|
5
5
|
import type { Action } from './Toast';
|
|
6
6
|
export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {
|
|
7
7
|
/** Задает контент тоста. */
|
|
8
|
-
children?:
|
|
8
|
+
children?: React.ReactNode;
|
|
9
9
|
/** Добавляет возможность действия и кнопку закрытия у тоста. */
|
|
10
10
|
action?: Nullable<Action>;
|
|
11
11
|
showCloseIcon?: boolean;
|
|
@@ -14,20 +14,6 @@ export interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, Comm
|
|
|
14
14
|
onMouseLeave?: () => void;
|
|
15
15
|
}
|
|
16
16
|
export declare class ToastView extends React.Component<ToastViewProps> {
|
|
17
|
-
static propTypes: {
|
|
18
|
-
/**
|
|
19
|
-
* Adds action handling and close icon for toast
|
|
20
|
-
*/
|
|
21
|
-
action: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
22
|
-
label: import("prop-types").Validator<string>;
|
|
23
|
-
handler: import("prop-types").Validator<(...args: any[]) => any>;
|
|
24
|
-
}>>;
|
|
25
|
-
/**
|
|
26
|
-
* Toast content
|
|
27
|
-
*/
|
|
28
|
-
children: import("prop-types").Validator<string>;
|
|
29
|
-
onClose: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
30
|
-
};
|
|
31
17
|
private theme;
|
|
32
18
|
private setRootNode;
|
|
33
19
|
private readonly locale;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.ToastView = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
2
2
|
var _react = _interopRequireDefault(require("react"));
|
|
3
|
-
var _propTypes = require("prop-types");
|
|
4
3
|
|
|
5
4
|
var _decorators = require("../../lib/locale/decorators");
|
|
6
5
|
|
|
@@ -17,23 +16,7 @@ var _ToastView2 = require("./ToastView.styles");
|
|
|
17
16
|
|
|
18
17
|
var _Toast = require("./Toast");
|
|
19
18
|
|
|
20
|
-
var _locale = require("./locale");var _dec, _class
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
ToastView = exports.ToastView = (_dec = (0, _decorators.locale)('Toast', _locale.ToastLocaleHelper), (0, _rootNode.rootNode)(_class = _dec(_class = (_ToastView = /*#__PURE__*/function (_React$Component) {function ToastView() {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.
|
|
36
|
-
|
|
19
|
+
var _locale = require("./locale");var _dec, _class;var
|
|
37
20
|
|
|
38
21
|
|
|
39
22
|
|
|
@@ -48,6 +31,7 @@ ToastView = exports.ToastView = (_dec = (0, _decorators.locale)('Toast', _locale
|
|
|
48
31
|
|
|
49
32
|
|
|
50
33
|
|
|
34
|
+
ToastView = exports.ToastView = (_dec = (0, _decorators.locale)('Toast', _locale.ToastLocaleHelper), (0, _rootNode.rootNode)(_class = _dec(_class = /*#__PURE__*/function (_React$Component) {function ToastView() {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.
|
|
51
35
|
|
|
52
36
|
|
|
53
37
|
|
|
@@ -110,8 +94,4 @@ ToastView = exports.ToastView = (_dec = (0, _decorators.locale)('Toast', _locale
|
|
|
110
94
|
)
|
|
111
95
|
));
|
|
112
96
|
|
|
113
|
-
};return _this;}(0, _inheritsLoose2.default)(ToastView, _React$Component);var _proto = ToastView.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};return ToastView;}(_react.default.Component)
|
|
114
|
-
* Adds action handling and close icon for toast
|
|
115
|
-
*/action: (0, _propTypes.shape)({ label: _propTypes.string.isRequired, handler: _propTypes.func.isRequired }), /**
|
|
116
|
-
* Toast content
|
|
117
|
-
*/children: _propTypes.string.isRequired, onClose: _propTypes.func }, _ToastView)) || _class) || _class);
|
|
97
|
+
};return _this;}(0, _inheritsLoose2.default)(ToastView, _React$Component);var _proto = ToastView.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};return ToastView;}(_react.default.Component)) || _class) || _class);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_decorators","_ZIndex","_ThemeContext","_CommonWrapper","_rootNode","_CloseButtonIcon","_ToastView2","_Toast","_locale","_dec","_class","ToastView","exports","locale","ToastLocaleHelper","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","action","showCloseIcon","onClose","onMouseEnter","onMouseLeave","link","default","createElement","ToastDataTids","className","styles","theme","onClick","handler","label","close","closeWrapper","CloseButtonIcon","closeButtonAriaLabel","size","parseInt","toastCloseSize","side","color","toastCloseColor","colorHover","toastCloseHoverColor","tabbable","CommonWrapper","ZIndex","priority","wrapper","toastView","root","ref","setRootNode","children","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","React","Component"],"sources":["ToastView.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { CloseButtonIcon } from '../../internal/CloseButtonIcon/CloseButtonIcon';\n\nimport { styles } from './ToastView.styles';\nimport type { Action } from './Toast';\nimport { ToastDataTids } from './Toast';\nimport type { ToastLocale } from './locale';\nimport { ToastLocaleHelper } from './locale';\n\nexport interface ToastViewProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps {\n /** Задает контент тоста. */\n children?: React.ReactNode;\n /** Добавляет возможность действия и кнопку закрытия у тоста. */\n action?: Nullable<Action>;\n showCloseIcon?: boolean;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\n@locale('Toast', ToastLocaleHelper)\nexport class ToastView extends React.Component<ToastViewProps> {\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private readonly locale!: ToastLocale;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = () => {\n const { action, showCloseIcon, onClose, onMouseEnter, onMouseLeave } = this.props;\n\n const link = action ? (\n <button\n aria-label={action['aria-label']}\n data-tid={ToastDataTids.action}\n className={styles.link(this.theme)}\n onClick={action.handler}\n >\n {action.label}\n </button>\n ) : null;\n\n const close =\n action || showCloseIcon ? (\n <span className={styles.closeWrapper(this.theme)}>\n <CloseButtonIcon\n aria-label={this.locale.closeButtonAriaLabel}\n data-tid={ToastDataTids.close}\n onClick={onClose}\n size={parseInt(this.theme.toastCloseSize)}\n side={40}\n color={this.theme.toastCloseColor}\n colorHover={this.theme.toastCloseHoverColor}\n tabbable={false}\n />\n </span>\n ) : null;\n\n return (\n <CommonWrapper {...this.props}>\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div\n data-tid={ToastDataTids.toastView}\n className={styles.root(this.theme)}\n ref={this.setRootNode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n </CommonWrapper>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { AriaAttributes, InputHTMLAttributes } from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
5
4
|
import type { SizeProp } from '../../lib/types/props';
|
|
6
5
|
export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>, CommonProps {
|
|
@@ -57,15 +56,6 @@ type DefaultProps = Required<Pick<ToggleProps, 'disabled' | 'loading' | 'caption
|
|
|
57
56
|
export declare class Toggle extends React.Component<ToggleProps, ToggleState> {
|
|
58
57
|
static __KONTUR_REACT_UI__: string;
|
|
59
58
|
static displayName: string;
|
|
60
|
-
static propTypes: {
|
|
61
|
-
checked: PropTypes.Requireable<boolean>;
|
|
62
|
-
defaultChecked: PropTypes.Requireable<boolean>;
|
|
63
|
-
disabled: PropTypes.Requireable<boolean>;
|
|
64
|
-
error: PropTypes.Requireable<boolean>;
|
|
65
|
-
loading: PropTypes.Requireable<boolean>;
|
|
66
|
-
warning: PropTypes.Requireable<boolean>;
|
|
67
|
-
onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
68
|
-
};
|
|
69
59
|
static defaultProps: DefaultProps;
|
|
70
60
|
private getProps;
|
|
71
61
|
private theme;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.ToggleDataTids = exports.Toggle = 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
|
|
|
3
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
4
3
|
|
|
5
4
|
var _keyListener = require("../../lib/events/keyListener");
|
|
6
5
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
@@ -99,16 +98,6 @@ Toggle = exports.Toggle = (0, _rootNode.rootNode)(_class = (_Toggle = /*#__PURE_
|
|
|
99
98
|
|
|
100
99
|
|
|
101
100
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
101
|
|
|
113
102
|
|
|
114
103
|
|
|
@@ -351,4 +340,4 @@ Toggle = exports.Toggle = (0, _rootNode.rootNode)(_class = (_Toggle = /*#__PURE_
|
|
|
351
340
|
|
|
352
341
|
isUncontrolled = function isUncontrolled() {
|
|
353
342
|
return this.props.checked === undefined;
|
|
354
|
-
};return Toggle;}(_react.default.Component), _Toggle.__KONTUR_REACT_UI__ = 'Toggle', _Toggle.displayName = 'Toggle', _Toggle.
|
|
343
|
+
};return Toggle;}(_react.default.Component), _Toggle.__KONTUR_REACT_UI__ = 'Toggle', _Toggle.displayName = 'Toggle', _Toggle.defaultProps = { disabled: false, loading: false, captionPosition: 'right', disableAnimations: _currentEnvironment.isTestEnv, size: 'small' }, _Toggle)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_keyListener","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_currentEnvironment","_FocusControlWrapper","_Toggle2","_class","_Toggle","ToggleDataTids","exports","root","Toggle","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","input","focus","keyListener","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","resetFocus","handleBlur","onBlur","state","defaultChecked","_inheritsLoose2","default","_proto","prototype","componentDidMount","autoFocus","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","getContainerSizeClassName","size","styles","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","_cx","_cx2","_cx4","_cx5","_this$props","children","warning","error","id","name","ariaDescribedby","ariaLabel","_this$getProps","loading","captionPosition","disableAnimations","disabled","containerClassNames","cx","container","containerDisabled","globalClasses","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","_cx3","captionClass","captionLeft","disabledCaption","className","CommonWrapper","_extends2","rootNodeRef","setRootNode","button","buttonRight","isWarning","isError","focused","FocusControlWrapper","onBlurWhenDisabled","type","ref","role","handle","handleDisabled","undefined","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","func","isTestEnv"],"sources":["Toggle.tsx"],"sourcesContent":["import React from 'react';\nimport type { AriaAttributes, InputHTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport interface ToggleProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>,\n CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает положение `children` относительно переключателя.\n * @default 'right' */\n captionPosition?: 'left' | 'right';\n\n /** Включает тогл.\n * @default false */\n checked?: boolean;\n\n /** Делает `тогл` включенным по умолчанию. Не работает при заданном пропе `checked`. */\n defaultChecked?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает функцию, вызывающуюся при изменении значения. */\n onValueChange?: (value: boolean) => void;\n\n /** Задает функцию, которая вызывается при клике на `тогл`. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n\n /** Переводит контрол в состояние валидации \"предупреждение\".\n * @default false */\n warning?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\".\n * @default false */\n error?: boolean;\n\n /** Переводит тогл в состояние загрузки: добавляет стили для состояния `loading` и отключает `тогл`.*/\n loading?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\".\n * @default false */\n autoFocus?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается, когда `тогл` получает фокус.*/\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Задает функцию, которая вызывается, когда `тогл` теряет фокус. */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * `Toggle` переключает состояния. Например, включает или отключает уведомления в настройках.\n * `Toggle` представляет из себя надпись + переключатель.\n *\n * `Toggle` нельзя использовать для выбора элементов в списке. Например, выбрать несколько писем.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n id,\n name,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), styles.input(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n name={name}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </FocusControlWrapper>\n <div className={containerClassNames} />\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private resetFocus = () => this.setState({ focusByTab: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_keyListener","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_currentEnvironment","_FocusControlWrapper","_Toggle2","_class","_Toggle","ToggleDataTids","exports","root","Toggle","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","input","focus","keyListener","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","resetFocus","handleBlur","onBlur","state","defaultChecked","_inheritsLoose2","default","_proto","prototype","componentDidMount","autoFocus","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","getContainerSizeClassName","size","styles","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","_cx","_cx2","_cx4","_cx5","_this$props","children","warning","error","id","name","ariaDescribedby","ariaLabel","_this$getProps","loading","captionPosition","disableAnimations","disabled","containerClassNames","cx","container","containerDisabled","globalClasses","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","_cx3","captionClass","captionLeft","disabledCaption","className","CommonWrapper","_extends2","rootNodeRef","setRootNode","button","buttonRight","isWarning","isError","focused","FocusControlWrapper","onBlurWhenDisabled","type","ref","role","handle","handleDisabled","undefined","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Toggle.tsx"],"sourcesContent":["import React from 'react';\nimport type { AriaAttributes, InputHTMLAttributes } from 'react';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport interface ToggleProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>,\n CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает положение `children` относительно переключателя.\n * @default 'right' */\n captionPosition?: 'left' | 'right';\n\n /** Включает тогл.\n * @default false */\n checked?: boolean;\n\n /** Делает `тогл` включенным по умолчанию. Не работает при заданном пропе `checked`. */\n defaultChecked?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает функцию, вызывающуюся при изменении значения. */\n onValueChange?: (value: boolean) => void;\n\n /** Задает функцию, которая вызывается при клике на `тогл`. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n\n /** Переводит контрол в состояние валидации \"предупреждение\".\n * @default false */\n warning?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\".\n * @default false */\n error?: boolean;\n\n /** Переводит тогл в состояние загрузки: добавляет стили для состояния `loading` и отключает `тогл`.*/\n loading?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\".\n * @default false */\n autoFocus?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается, когда `тогл` получает фокус.*/\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Задает функцию, которая вызывается, когда `тогл` теряет фокус. */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * `Toggle` переключает состояния. Например, включает или отключает уведомления в настройках.\n * `Toggle` представляет из себя надпись + переключатель.\n *\n * `Toggle` нельзя использовать для выбора элементов в списке. Например, выбрать несколько писем.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n id,\n name,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), styles.input(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n name={name}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </FocusControlWrapper>\n <div className={containerClassNames} />\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private resetFocus = () => this.setState({ focusByTab: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,89 +6,6 @@ import { Token } from '@skbkontur/react-ui';
|
|
|
6
6
|
<Token>Example</Token>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
### Цвет токена
|
|
10
|
-
У разных токенов может быть разный цвет.
|
|
11
|
-
|
|
12
|
-
```jsx harmony
|
|
13
|
-
import { Gapped, Token } from '@skbkontur/react-ui';
|
|
14
|
-
|
|
15
|
-
const colors = {
|
|
16
|
-
default: {
|
|
17
|
-
idle: 'defaultIdle',
|
|
18
|
-
active: 'defaultActive',
|
|
19
|
-
},
|
|
20
|
-
gray: {
|
|
21
|
-
idle: 'grayIdle',
|
|
22
|
-
active: 'grayActive',
|
|
23
|
-
},
|
|
24
|
-
blue: {
|
|
25
|
-
idle: 'blueIdle',
|
|
26
|
-
active: 'blueActive',
|
|
27
|
-
},
|
|
28
|
-
green: {
|
|
29
|
-
idle: 'greenIdle',
|
|
30
|
-
active: 'greenActive',
|
|
31
|
-
},
|
|
32
|
-
yellow: {
|
|
33
|
-
idle: 'yellowIdle',
|
|
34
|
-
active: 'yellowActive',
|
|
35
|
-
},
|
|
36
|
-
red: {
|
|
37
|
-
idle: 'redIdle',
|
|
38
|
-
active: 'redActive',
|
|
39
|
-
},
|
|
40
|
-
mono: {
|
|
41
|
-
idle: 'white',
|
|
42
|
-
active: 'black',
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
<Gapped gap={20} vertical>
|
|
47
|
-
<Gapped gap={10}>
|
|
48
|
-
<Token colors={colors.default}>Default</Token>
|
|
49
|
-
<Token isActive colors={colors.default}>
|
|
50
|
-
Default
|
|
51
|
-
</Token>
|
|
52
|
-
</Gapped>
|
|
53
|
-
<Gapped gap={10}>
|
|
54
|
-
<Token colors={colors.gray}>Gray</Token>
|
|
55
|
-
<Token isActive colors={colors.gray}>
|
|
56
|
-
Gray
|
|
57
|
-
</Token>
|
|
58
|
-
</Gapped>
|
|
59
|
-
<Gapped gap={10}>
|
|
60
|
-
<Token colors={colors.blue}>Blue</Token>
|
|
61
|
-
<Token isActive colors={colors.blue}>
|
|
62
|
-
Blue
|
|
63
|
-
</Token>
|
|
64
|
-
</Gapped>
|
|
65
|
-
<Gapped gap={10}>
|
|
66
|
-
<Token colors={colors.green}>Green</Token>
|
|
67
|
-
<Token isActive colors={colors.green}>
|
|
68
|
-
Green
|
|
69
|
-
</Token>
|
|
70
|
-
</Gapped>
|
|
71
|
-
<Gapped gap={10}>
|
|
72
|
-
<Token colors={colors.yellow}>Yellow</Token>
|
|
73
|
-
<Token isActive colors={colors.yellow}>
|
|
74
|
-
Yellow
|
|
75
|
-
</Token>
|
|
76
|
-
</Gapped>
|
|
77
|
-
<Gapped gap={10}>
|
|
78
|
-
<Token colors={colors.red}>Red</Token>
|
|
79
|
-
<Token isActive colors={colors.red}>
|
|
80
|
-
Red
|
|
81
|
-
</Token>
|
|
82
|
-
</Gapped>
|
|
83
|
-
<Gapped gap={10}>
|
|
84
|
-
<Token colors={colors.mono}>Monochrome</Token>
|
|
85
|
-
<Token isActive colors={colors.mono}>
|
|
86
|
-
Monochrome
|
|
87
|
-
</Token>
|
|
88
|
-
</Gapped>
|
|
89
|
-
</Gapped>;
|
|
90
|
-
```
|
|
91
|
-
|
|
92
9
|
### Состояние валидации
|
|
93
10
|
|
|
94
11
|
```jsx harmony
|
|
@@ -87,8 +87,8 @@ export interface TokenInputProps<T> extends CommonProps, Pick<AriaAttributes, 'a
|
|
|
87
87
|
/** Задает функцию для обработки ввода строки в инпут и последующую потерю фокуса компонентом.
|
|
88
88
|
* Функция срабатывает с аргументом инпута строки
|
|
89
89
|
*
|
|
90
|
-
* Если при потере фокуса в выпадающем списке будет только один элемент и
|
|
91
|
-
* совпадать со
|
|
90
|
+
* Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет
|
|
91
|
+
* совпадать со значением в текстовом поле, то сработает `onValueChange` со значением данного элемента
|
|
92
92
|
*
|
|
93
93
|
* Сама функция также может вернуть значение, неравное `undefined`, с которым будет вызван `onValueChange`.
|
|
94
94
|
* При возвращаемом значении `null` будет выполнена очистка текущего значения инпута, а в режиме редактирования токен будет удален. */
|
|
@@ -555,6 +555,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
555
555
|
|
|
556
556
|
|
|
557
557
|
|
|
558
|
+
|
|
558
559
|
|
|
559
560
|
|
|
560
561
|
hasValueInItems = function (items, value) {
|
|
@@ -1218,7 +1219,7 @@ TokenInput = exports.TokenInput = (_dec = (0, _decorators.locale)('TokenInput',
|
|
|
1218
1219
|
* @public
|
|
1219
1220
|
*/;_proto.blur = function blur() {var _this$input9;(_this$input9 = this.input) == null || _this$input9.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getLabelSizeClassName = function getLabelSizeClassName() {switch (this.getProps().size) {case 'large':return _TokenInput2.styles.labelLarge(this.theme);case 'medium':return _TokenInput2.styles.labelMedium(this.theme);case 'small':default:return _TokenInput2.styles.labelSmall(this.theme);}};_proto.getInputSizeClassName = function getInputSizeClassName() {switch (this.getProps().size) {case 'large':return _TokenInput2.styles.inputLarge(this.theme);case 'medium':return _TokenInput2.styles.inputMedium(this.theme);case 'small':default:return _TokenInput2.styles.inputSmall(this.theme);}};_proto.renderMain = function renderMain() {var _cx, _cx2, _cx3;if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {throw Error('Missed getItems for type ' + this.type);}var _this$props2 = this.props,maxMenuHeight = _this$props2.maxMenuHeight,error = _this$props2.error,warning = _this$props2.warning,disabled = _this$props2.disabled,renderNotFound = _this$props2.renderNotFound,hideMenuIfEmptyInputValue = _this$props2.hideMenuIfEmptyInputValue,inputMode = _this$props2.inputMode,renderTotalCount = _this$props2.renderTotalCount,totalCount = _this$props2.totalCount,ariaDescribedby = _this$props2['aria-describedby'],ariaLabel = _this$props2['aria-label'];var _this$getProps8 = this.getProps(),selectedItems = _this$getProps8.selectedItems,width = _this$getProps8.width,onMouseEnter = _this$getProps8.onMouseEnter,onMouseLeave = _this$getProps8.onMouseLeave,menuWidth = _this$getProps8.menuWidth,menuAlign = _this$getProps8.menuAlign,renderItem = _this$getProps8.renderItem;var _this$state3 = this.state,activeTokens = _this$state3.activeTokens,inFocus = _this$state3.inFocus,inputValueWidth = _this$state3.inputValueWidth,inputValueHeight = _this$state3.inputValueHeight,inputValue = _this$state3.inputValue,reservedInputValue = _this$state3.reservedInputValue,autocompleteItems = _this$state3.autocompleteItems,loading = _this$state3.loading;var showMenu = this.type !== TokenInputType.WithoutReference && this.isCursorVisible && activeTokens.length === 0 && (inputValue !== '' || !hideMenuIfEmptyInputValue);var theme = this.theme;var inputInlineStyles = { // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости
|
|
1220
1221
|
width: inputValueWidth, height: inputValueHeight, // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее
|
|
1221
|
-
caretColor: this.isCursorVisible ? undefined : 'transparent' };var labelClassName = (0, _Emotion.cx)(_TokenInput2.styles.label(theme), this.getLabelSizeClassName(), (_cx = {}, _cx[_TokenInput2.styles.hovering(this.theme)] = !inFocus && !disabled && !warning && !error, _cx[_TokenInput2.styles.labelDisabled(theme)] = !!disabled, _cx[_TokenInput2.styles.labelFocused(theme)] = !!inFocus, _cx[_TokenInput2.styles.error(theme)] = !!error, _cx[_TokenInput2.styles.warning(theme)] = !!warning, _cx));var inputClassName = (0, _Emotion.cx)(_TokenInput2.styles.input(theme), this.getInputSizeClassName(), (_cx2 = {}, _cx2[_TokenInput2.styles.inputDisabled(theme)] = !!disabled, _cx2));var placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';var inputNode = /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.getProps().size, className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_TokenInput2.styles.inputPlaceholderWrapper()] = Boolean(placeholder), _cx3)), hideCloseButton: Boolean(placeholder) }, /*#__PURE__*/_react.default.createElement("textarea", { id: this.textareaId, ref: this.inputRef, value: inputValue, style: inputInlineStyles, spellCheck: false, disabled: disabled, className: inputClassName, placeholder: placeholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onChange: this.handleChangeInputValue, onKeyDown: this.handleKeyDown, onPaste: this.handleInputPaste, inputMode: inputMode, "aria-label": ariaLabel, "aria-describedby": ariaDescribedby }));return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": TokenInputDataTids.root, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, /*#__PURE__*/_react.default.createElement("label", { ref: this.wrapperRef, style: { width: width }, className: labelClassName, onMouseDown: this.handleWrapperMouseDown, onMouseUp: this.handleWrapperMouseUp, htmlFor: this.textareaId, "aria-controls": this.rootId, "data-tid": TokenInputDataTids.label }, /*#__PURE__*/_react.default.createElement(_TextWidthHelper.TextWidthHelper, { ref: this.textHelperRef, text: inputValue, theme: this.theme, size: this.getProps().size }), this.renderTokensStart(), inputNode, showMenu && /*#__PURE__*/_react.default.createElement(_TokenInputMenu.TokenInputMenu, { popupMenuId: this.rootId, ref: this.tokensInputMenuRef, items: autocompleteItems, loading: loading, opened: showMenu, maxMenuHeight: maxMenuHeight,
|
|
1222
|
+
caretColor: this.isCursorVisible ? undefined : 'transparent' };var labelClassName = (0, _Emotion.cx)(_TokenInput2.styles.label(theme), this.getLabelSizeClassName(), (_cx = {}, _cx[_TokenInput2.styles.hovering(this.theme)] = !inFocus && !disabled && !warning && !error, _cx[_TokenInput2.styles.labelDisabled(theme)] = !!disabled, _cx[_TokenInput2.styles.labelFocused(theme)] = !!inFocus, _cx[_TokenInput2.styles.error(theme)] = !!error, _cx[_TokenInput2.styles.warning(theme)] = !!warning, _cx));var inputClassName = (0, _Emotion.cx)(_TokenInput2.styles.input(theme), this.getInputSizeClassName(), (_cx2 = {}, _cx2[_TokenInput2.styles.inputDisabled(theme)] = !!disabled, _cx2));var placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';var inputNode = /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.getProps().size, className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_TokenInput2.styles.inputPlaceholderWrapper()] = Boolean(placeholder), _cx3)), hideCloseButton: Boolean(placeholder) }, /*#__PURE__*/_react.default.createElement("textarea", { id: this.textareaId, ref: this.inputRef, value: inputValue, style: inputInlineStyles, spellCheck: false, disabled: disabled, className: inputClassName, placeholder: placeholder, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onChange: this.handleChangeInputValue, onKeyDown: this.handleKeyDown, onPaste: this.handleInputPaste, inputMode: inputMode, "aria-label": ariaLabel, "aria-describedby": ariaDescribedby }));return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": TokenInputDataTids.root, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, /*#__PURE__*/_react.default.createElement("label", { ref: this.wrapperRef, style: { width: width }, className: labelClassName, onMouseDown: this.handleWrapperMouseDown, onMouseUp: this.handleWrapperMouseUp, htmlFor: this.textareaId, "aria-controls": this.rootId, "data-tid": TokenInputDataTids.label }, /*#__PURE__*/_react.default.createElement(_TextWidthHelper.TextWidthHelper, { ref: this.textHelperRef, text: inputValue, theme: this.theme, size: this.getProps().size }), this.renderTokensStart(), inputNode, showMenu && /*#__PURE__*/_react.default.createElement(_TokenInputMenu.TokenInputMenu, { popupMenuId: this.rootId, ref: this.tokensInputMenuRef, items: autocompleteItems, loading: loading, opened: showMenu, maxMenuHeight: maxMenuHeight, anchorElementForCursor: this.input, anchorElementRoot: this.wrapper, renderNotFound: renderNotFound, renderItem: renderItem, onValueChange: this.selectItem, renderAddButton: this.renderAddButton, menuWidth: menuWidth, menuAlign: menuAlign, renderTotalCount: renderTotalCount, totalCount: totalCount, size: this.getProps().size }), this.renderTokensEnd(), this.isEditingMode ? /*#__PURE__*/_react.default.createElement(_TokenView.TokenView, { size: this.props.size }, /*#__PURE__*/_react.default.createElement("span", { className: _TokenInput2.styles.reservedInput(theme) }, reservedInputValue)) : null)));} /**
|
|
1222
1223
|
* Сбрасывает введенное пользователем значение
|
|
1223
1224
|
* @public
|
|
1224
1225
|
*/;_proto.reset = function reset() {this.dispatch({ type: 'RESET' });};_proto.isCursorVisibleForState = function isCursorVisibleForState(state) {return state.inFocus && (state.inputValue !== '' || state.activeTokens.length === 0);};_proto.updateInputTextWidth = function updateInputTextWidth() {if (this.textHelper) {// в IE текст иногда не помещается в input
|